--- /dev/null
+Damon Chaplin <damon@gnome.org>
+Owen Taylor <otaylor@redhat.com>
+
--- /dev/null
+ GNU GENERAL PUBLIC LICENSE
+ Version 3, 29 June 2007
+
+ Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+ Preamble
+
+ The GNU General Public License is a free, copyleft license for
+software and other kinds of works.
+
+ The licenses for most software and other practical works are designed
+to take away your freedom to share and change the works. By contrast,
+the GNU General Public License is intended to guarantee your freedom to
+share and change all versions of a program--to make sure it remains free
+software for all its users. We, the Free Software Foundation, use the
+GNU General Public License for most of our software; it applies also to
+any other work released this way by its authors. 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
+them 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 prevent others from denying you
+these rights or asking you to surrender the rights. Therefore, you have
+certain responsibilities if you distribute copies of the software, or if
+you modify it: responsibilities to respect the freedom of others.
+
+ For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must pass on to the recipients the same
+freedoms that you received. 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.
+
+ Developers that use the GNU GPL protect your rights with two steps:
+(1) assert copyright on the software, and (2) offer you this License
+giving you legal permission to copy, distribute and/or modify it.
+
+ For the developers' and authors' protection, the GPL clearly explains
+that there is no warranty for this free software. For both users' and
+authors' sake, the GPL requires that modified versions be marked as
+changed, so that their problems will not be attributed erroneously to
+authors of previous versions.
+
+ Some devices are designed to deny users access to install or run
+modified versions of the software inside them, although the manufacturer
+can do so. This is fundamentally incompatible with the aim of
+protecting users' freedom to change the software. The systematic
+pattern of such abuse occurs in the area of products for individuals to
+use, which is precisely where it is most unacceptable. Therefore, we
+have designed this version of the GPL to prohibit the practice for those
+products. If such problems arise substantially in other domains, we
+stand ready to extend this provision to those domains in future versions
+of the GPL, as needed to protect the freedom of users.
+
+ Finally, every program is threatened constantly by software patents.
+States should not allow patents to restrict development and use of
+software on general-purpose computers, but in those that do, we wish to
+avoid the special danger that patents applied to a free program could
+make it effectively proprietary. To prevent this, the GPL assures that
+patents cannot be used to render the program non-free.
+
+ The precise terms and conditions for copying, distribution and
+modification follow.
+
+ TERMS AND CONDITIONS
+
+ 0. Definitions.
+
+ "This License" refers to version 3 of the GNU General Public License.
+
+ "Copyright" also means copyright-like laws that apply to other kinds of
+works, such as semiconductor masks.
+
+ "The Program" refers to any copyrightable work licensed under this
+License. Each licensee is addressed as "you". "Licensees" and
+"recipients" may be individuals or organizations.
+
+ To "modify" a work means to copy from or adapt all or part of the work
+in a fashion requiring copyright permission, other than the making of an
+exact copy. The resulting work is called a "modified version" of the
+earlier work or a work "based on" the earlier work.
+
+ A "covered work" means either the unmodified Program or a work based
+on the Program.
+
+ To "propagate" a work means to do anything with it that, without
+permission, would make you directly or secondarily liable for
+infringement under applicable copyright law, except executing it on a
+computer or modifying a private copy. Propagation includes copying,
+distribution (with or without modification), making available to the
+public, and in some countries other activities as well.
+
+ To "convey" a work means any kind of propagation that enables other
+parties to make or receive copies. Mere interaction with a user through
+a computer network, with no transfer of a copy, is not conveying.
+
+ An interactive user interface displays "Appropriate Legal Notices"
+to the extent that it includes a convenient and prominently visible
+feature that (1) displays an appropriate copyright notice, and (2)
+tells the user that there is no warranty for the work (except to the
+extent that warranties are provided), that licensees may convey the
+work under this License, and how to view a copy of this License. If
+the interface presents a list of user commands or options, such as a
+menu, a prominent item in the list meets this criterion.
+
+ 1. Source Code.
+
+ The "source code" for a work means the preferred form of the work
+for making modifications to it. "Object code" means any non-source
+form of a work.
+
+ A "Standard Interface" means an interface that either is an official
+standard defined by a recognized standards body, or, in the case of
+interfaces specified for a particular programming language, one that
+is widely used among developers working in that language.
+
+ The "System Libraries" of an executable work include anything, other
+than the work as a whole, that (a) is included in the normal form of
+packaging a Major Component, but which is not part of that Major
+Component, and (b) serves only to enable use of the work with that
+Major Component, or to implement a Standard Interface for which an
+implementation is available to the public in source code form. A
+"Major Component", in this context, means a major essential component
+(kernel, window system, and so on) of the specific operating system
+(if any) on which the executable work runs, or a compiler used to
+produce the work, or an object code interpreter used to run it.
+
+ The "Corresponding Source" for a work in object code form means all
+the source code needed to generate, install, and (for an executable
+work) run the object code and to modify the work, including scripts to
+control those activities. However, it does not include the work's
+System Libraries, or general-purpose tools or generally available free
+programs which are used unmodified in performing those activities but
+which are not part of the work. For example, Corresponding Source
+includes interface definition files associated with source files for
+the work, and the source code for shared libraries and dynamically
+linked subprograms that the work is specifically designed to require,
+such as by intimate data communication or control flow between those
+subprograms and other parts of the work.
+
+ The Corresponding Source need not include anything that users
+can regenerate automatically from other parts of the Corresponding
+Source.
+
+ The Corresponding Source for a work in source code form is that
+same work.
+
+ 2. Basic Permissions.
+
+ All rights granted under this License are granted for the term of
+copyright on the Program, and are irrevocable provided the stated
+conditions are met. This License explicitly affirms your unlimited
+permission to run the unmodified Program. The output from running a
+covered work is covered by this License only if the output, given its
+content, constitutes a covered work. This License acknowledges your
+rights of fair use or other equivalent, as provided by copyright law.
+
+ You may make, run and propagate covered works that you do not
+convey, without conditions so long as your license otherwise remains
+in force. You may convey covered works to others for the sole purpose
+of having them make modifications exclusively for you, or provide you
+with facilities for running those works, provided that you comply with
+the terms of this License in conveying all material for which you do
+not control copyright. Those thus making or running the covered works
+for you must do so exclusively on your behalf, under your direction
+and control, on terms that prohibit them from making any copies of
+your copyrighted material outside their relationship with you.
+
+ Conveying under any other circumstances is permitted solely under
+the conditions stated below. Sublicensing is not allowed; section 10
+makes it unnecessary.
+
+ 3. Protecting Users' Legal Rights From Anti-Circumvention Law.
+
+ No covered work shall be deemed part of an effective technological
+measure under any applicable law fulfilling obligations under article
+11 of the WIPO copyright treaty adopted on 20 December 1996, or
+similar laws prohibiting or restricting circumvention of such
+measures.
+
+ When you convey a covered work, you waive any legal power to forbid
+circumvention of technological measures to the extent such circumvention
+is effected by exercising rights under this License with respect to
+the covered work, and you disclaim any intention to limit operation or
+modification of the work as a means of enforcing, against the work's
+users, your or third parties' legal rights to forbid circumvention of
+technological measures.
+
+ 4. Conveying Verbatim Copies.
+
+ You may convey 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;
+keep intact all notices stating that this License and any
+non-permissive terms added in accord with section 7 apply to the code;
+keep intact all notices of the absence of any warranty; and give all
+recipients a copy of this License along with the Program.
+
+ You may charge any price or no price for each copy that you convey,
+and you may offer support or warranty protection for a fee.
+
+ 5. Conveying Modified Source Versions.
+
+ You may convey a work based on the Program, or the modifications to
+produce it from the Program, in the form of source code under the
+terms of section 4, provided that you also meet all of these conditions:
+
+ a) The work must carry prominent notices stating that you modified
+ it, and giving a relevant date.
+
+ b) The work must carry prominent notices stating that it is
+ released under this License and any conditions added under section
+ 7. This requirement modifies the requirement in section 4 to
+ "keep intact all notices".
+
+ c) You must license the entire work, as a whole, under this
+ License to anyone who comes into possession of a copy. This
+ License will therefore apply, along with any applicable section 7
+ additional terms, to the whole of the work, and all its parts,
+ regardless of how they are packaged. This License gives no
+ permission to license the work in any other way, but it does not
+ invalidate such permission if you have separately received it.
+
+ d) If the work has interactive user interfaces, each must display
+ Appropriate Legal Notices; however, if the Program has interactive
+ interfaces that do not display Appropriate Legal Notices, your
+ work need not make them do so.
+
+ A compilation of a covered work with other separate and independent
+works, which are not by their nature extensions of the covered work,
+and which are not combined with it such as to form a larger program,
+in or on a volume of a storage or distribution medium, is called an
+"aggregate" if the compilation and its resulting copyright are not
+used to limit the access or legal rights of the compilation's users
+beyond what the individual works permit. Inclusion of a covered work
+in an aggregate does not cause this License to apply to the other
+parts of the aggregate.
+
+ 6. Conveying Non-Source Forms.
+
+ You may convey a covered work in object code form under the terms
+of sections 4 and 5, provided that you also convey the
+machine-readable Corresponding Source under the terms of this License,
+in one of these ways:
+
+ a) Convey the object code in, or embodied in, a physical product
+ (including a physical distribution medium), accompanied by the
+ Corresponding Source fixed on a durable physical medium
+ customarily used for software interchange.
+
+ b) Convey the object code in, or embodied in, a physical product
+ (including a physical distribution medium), accompanied by a
+ written offer, valid for at least three years and valid for as
+ long as you offer spare parts or customer support for that product
+ model, to give anyone who possesses the object code either (1) a
+ copy of the Corresponding Source for all the software in the
+ product that is covered by this License, on a durable physical
+ medium customarily used for software interchange, for a price no
+ more than your reasonable cost of physically performing this
+ conveying of source, or (2) access to copy the
+ Corresponding Source from a network server at no charge.
+
+ c) Convey individual copies of the object code with a copy of the
+ written offer to provide the Corresponding Source. This
+ alternative is allowed only occasionally and noncommercially, and
+ only if you received the object code with such an offer, in accord
+ with subsection 6b.
+
+ d) Convey the object code by offering access from a designated
+ place (gratis or for a charge), and offer equivalent access to the
+ Corresponding Source in the same way through the same place at no
+ further charge. You need not require recipients to copy the
+ Corresponding Source along with the object code. If the place to
+ copy the object code is a network server, the Corresponding Source
+ may be on a different server (operated by you or a third party)
+ that supports equivalent copying facilities, provided you maintain
+ clear directions next to the object code saying where to find the
+ Corresponding Source. Regardless of what server hosts the
+ Corresponding Source, you remain obligated to ensure that it is
+ available for as long as needed to satisfy these requirements.
+
+ e) Convey the object code using peer-to-peer transmission, provided
+ you inform other peers where the object code and Corresponding
+ Source of the work are being offered to the general public at no
+ charge under subsection 6d.
+
+ A separable portion of the object code, whose source code is excluded
+from the Corresponding Source as a System Library, need not be
+included in conveying the object code work.
+
+ A "User Product" is either (1) a "consumer product", which means any
+tangible personal property which is normally used for personal, family,
+or household purposes, or (2) anything designed or sold for incorporation
+into a dwelling. In determining whether a product is a consumer product,
+doubtful cases shall be resolved in favor of coverage. For a particular
+product received by a particular user, "normally used" refers to a
+typical or common use of that class of product, regardless of the status
+of the particular user or of the way in which the particular user
+actually uses, or expects or is expected to use, the product. A product
+is a consumer product regardless of whether the product has substantial
+commercial, industrial or non-consumer uses, unless such uses represent
+the only significant mode of use of the product.
+
+ "Installation Information" for a User Product means any methods,
+procedures, authorization keys, or other information required to install
+and execute modified versions of a covered work in that User Product from
+a modified version of its Corresponding Source. The information must
+suffice to ensure that the continued functioning of the modified object
+code is in no case prevented or interfered with solely because
+modification has been made.
+
+ If you convey an object code work under this section in, or with, or
+specifically for use in, a User Product, and the conveying occurs as
+part of a transaction in which the right of possession and use of the
+User Product is transferred to the recipient in perpetuity or for a
+fixed term (regardless of how the transaction is characterized), the
+Corresponding Source conveyed under this section must be accompanied
+by the Installation Information. But this requirement does not apply
+if neither you nor any third party retains the ability to install
+modified object code on the User Product (for example, the work has
+been installed in ROM).
+
+ The requirement to provide Installation Information does not include a
+requirement to continue to provide support service, warranty, or updates
+for a work that has been modified or installed by the recipient, or for
+the User Product in which it has been modified or installed. Access to a
+network may be denied when the modification itself materially and
+adversely affects the operation of the network or violates the rules and
+protocols for communication across the network.
+
+ Corresponding Source conveyed, and Installation Information provided,
+in accord with this section must be in a format that is publicly
+documented (and with an implementation available to the public in
+source code form), and must require no special password or key for
+unpacking, reading or copying.
+
+ 7. Additional Terms.
+
+ "Additional permissions" are terms that supplement the terms of this
+License by making exceptions from one or more of its conditions.
+Additional permissions that are applicable to the entire Program shall
+be treated as though they were included in this License, to the extent
+that they are valid under applicable law. If additional permissions
+apply only to part of the Program, that part may be used separately
+under those permissions, but the entire Program remains governed by
+this License without regard to the additional permissions.
+
+ When you convey a copy of a covered work, you may at your option
+remove any additional permissions from that copy, or from any part of
+it. (Additional permissions may be written to require their own
+removal in certain cases when you modify the work.) You may place
+additional permissions on material, added by you to a covered work,
+for which you have or can give appropriate copyright permission.
+
+ Notwithstanding any other provision of this License, for material you
+add to a covered work, you may (if authorized by the copyright holders of
+that material) supplement the terms of this License with terms:
+
+ a) Disclaiming warranty or limiting liability differently from the
+ terms of sections 15 and 16 of this License; or
+
+ b) Requiring preservation of specified reasonable legal notices or
+ author attributions in that material or in the Appropriate Legal
+ Notices displayed by works containing it; or
+
+ c) Prohibiting misrepresentation of the origin of that material, or
+ requiring that modified versions of such material be marked in
+ reasonable ways as different from the original version; or
+
+ d) Limiting the use for publicity purposes of names of licensors or
+ authors of the material; or
+
+ e) Declining to grant rights under trademark law for use of some
+ trade names, trademarks, or service marks; or
+
+ f) Requiring indemnification of licensors and authors of that
+ material by anyone who conveys the material (or modified versions of
+ it) with contractual assumptions of liability to the recipient, for
+ any liability that these contractual assumptions directly impose on
+ those licensors and authors.
+
+ All other non-permissive additional terms are considered "further
+restrictions" within the meaning of section 10. If the Program as you
+received it, or any part of it, contains a notice stating that it is
+governed by this License along with a term that is a further
+restriction, you may remove that term. If a license document contains
+a further restriction but permits relicensing or conveying under this
+License, you may add to a covered work material governed by the terms
+of that license document, provided that the further restriction does
+not survive such relicensing or conveying.
+
+ If you add terms to a covered work in accord with this section, you
+must place, in the relevant source files, a statement of the
+additional terms that apply to those files, or a notice indicating
+where to find the applicable terms.
+
+ Additional terms, permissive or non-permissive, may be stated in the
+form of a separately written license, or stated as exceptions;
+the above requirements apply either way.
+
+ 8. Termination.
+
+ You may not propagate or modify a covered work except as expressly
+provided under this License. Any attempt otherwise to propagate or
+modify it is void, and will automatically terminate your rights under
+this License (including any patent licenses granted under the third
+paragraph of section 11).
+
+ However, if you cease all violation of this License, then your
+license from a particular copyright holder is reinstated (a)
+provisionally, unless and until the copyright holder explicitly and
+finally terminates your license, and (b) permanently, if the copyright
+holder fails to notify you of the violation by some reasonable means
+prior to 60 days after the cessation.
+
+ Moreover, your license from a particular copyright holder is
+reinstated permanently if the copyright holder notifies you of the
+violation by some reasonable means, this is the first time you have
+received notice of violation of this License (for any work) from that
+copyright holder, and you cure the violation prior to 30 days after
+your receipt of the notice.
+
+ Termination of your rights under this section does not terminate the
+licenses of parties who have received copies or rights from you under
+this License. If your rights have been terminated and not permanently
+reinstated, you do not qualify to receive new licenses for the same
+material under section 10.
+
+ 9. Acceptance Not Required for Having Copies.
+
+ You are not required to accept this License in order to receive or
+run a copy of the Program. Ancillary propagation of a covered work
+occurring solely as a consequence of using peer-to-peer transmission
+to receive a copy likewise does not require acceptance. However,
+nothing other than this License grants you permission to propagate or
+modify any covered work. These actions infringe copyright if you do
+not accept this License. Therefore, by modifying or propagating a
+covered work, you indicate your acceptance of this License to do so.
+
+ 10. Automatic Licensing of Downstream Recipients.
+
+ Each time you convey a covered work, the recipient automatically
+receives a license from the original licensors, to run, modify and
+propagate that work, subject to this License. You are not responsible
+for enforcing compliance by third parties with this License.
+
+ An "entity transaction" is a transaction transferring control of an
+organization, or substantially all assets of one, or subdividing an
+organization, or merging organizations. If propagation of a covered
+work results from an entity transaction, each party to that
+transaction who receives a copy of the work also receives whatever
+licenses to the work the party's predecessor in interest had or could
+give under the previous paragraph, plus a right to possession of the
+Corresponding Source of the work from the predecessor in interest, if
+the predecessor has it or can get it with reasonable efforts.
+
+ You may not impose any further restrictions on the exercise of the
+rights granted or affirmed under this License. For example, you may
+not impose a license fee, royalty, or other charge for exercise of
+rights granted under this License, and you may not initiate litigation
+(including a cross-claim or counterclaim in a lawsuit) alleging that
+any patent claim is infringed by making, using, selling, offering for
+sale, or importing the Program or any portion of it.
+
+ 11. Patents.
+
+ A "contributor" is a copyright holder who authorizes use under this
+License of the Program or a work on which the Program is based. The
+work thus licensed is called the contributor's "contributor version".
+
+ A contributor's "essential patent claims" are all patent claims
+owned or controlled by the contributor, whether already acquired or
+hereafter acquired, that would be infringed by some manner, permitted
+by this License, of making, using, or selling its contributor version,
+but do not include claims that would be infringed only as a
+consequence of further modification of the contributor version. For
+purposes of this definition, "control" includes the right to grant
+patent sublicenses in a manner consistent with the requirements of
+this License.
+
+ Each contributor grants you a non-exclusive, worldwide, royalty-free
+patent license under the contributor's essential patent claims, to
+make, use, sell, offer for sale, import and otherwise run, modify and
+propagate the contents of its contributor version.
+
+ In the following three paragraphs, a "patent license" is any express
+agreement or commitment, however denominated, not to enforce a patent
+(such as an express permission to practice a patent or covenant not to
+sue for patent infringement). To "grant" such a patent license to a
+party means to make such an agreement or commitment not to enforce a
+patent against the party.
+
+ If you convey a covered work, knowingly relying on a patent license,
+and the Corresponding Source of the work is not available for anyone
+to copy, free of charge and under the terms of this License, through a
+publicly available network server or other readily accessible means,
+then you must either (1) cause the Corresponding Source to be so
+available, or (2) arrange to deprive yourself of the benefit of the
+patent license for this particular work, or (3) arrange, in a manner
+consistent with the requirements of this License, to extend the patent
+license to downstream recipients. "Knowingly relying" means you have
+actual knowledge that, but for the patent license, your conveying the
+covered work in a country, or your recipient's use of the covered work
+in a country, would infringe one or more identifiable patents in that
+country that you have reason to believe are valid.
+
+ If, pursuant to or in connection with a single transaction or
+arrangement, you convey, or propagate by procuring conveyance of, a
+covered work, and grant a patent license to some of the parties
+receiving the covered work authorizing them to use, propagate, modify
+or convey a specific copy of the covered work, then the patent license
+you grant is automatically extended to all recipients of the covered
+work and works based on it.
+
+ A patent license is "discriminatory" if it does not include within
+the scope of its coverage, prohibits the exercise of, or is
+conditioned on the non-exercise of one or more of the rights that are
+specifically granted under this License. You may not convey a covered
+work if you are a party to an arrangement with a third party that is
+in the business of distributing software, under which you make payment
+to the third party based on the extent of your activity of conveying
+the work, and under which the third party grants, to any of the
+parties who would receive the covered work from you, a discriminatory
+patent license (a) in connection with copies of the covered work
+conveyed by you (or copies made from those copies), or (b) primarily
+for and in connection with specific products or compilations that
+contain the covered work, unless you entered into that arrangement,
+or that patent license was granted, prior to 28 March 2007.
+
+ Nothing in this License shall be construed as excluding or limiting
+any implied license or other defenses to infringement that may
+otherwise be available to you under applicable patent law.
+
+ 12. No Surrender of Others' Freedom.
+
+ If 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 convey a
+covered work so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you may
+not convey it at all. For example, if you agree to terms that obligate you
+to collect a royalty for further conveying from those to whom you convey
+the Program, the only way you could satisfy both those terms and this
+License would be to refrain entirely from conveying the Program.
+
+ 13. Use with the GNU Affero General Public License.
+
+ Notwithstanding any other provision of this License, you have
+permission to link or combine any covered work with a work licensed
+under version 3 of the GNU Affero General Public License into a single
+combined work, and to convey the resulting work. The terms of this
+License will continue to apply to the part which is the covered work,
+but the special requirements of the GNU Affero General Public License,
+section 13, concerning interaction through a network will apply to the
+combination as such.
+
+ 14. Revised Versions of this License.
+
+ The Free Software Foundation may publish revised and/or new versions of
+the GNU 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 that a certain numbered version of the GNU General
+Public License "or any later version" applies to it, you have the
+option of following the terms and conditions either of that numbered
+version or of any later version published by the Free Software
+Foundation. If the Program does not specify a version number of the
+GNU General Public License, you may choose any version ever published
+by the Free Software Foundation.
+
+ If the Program specifies that a proxy can decide which future
+versions of the GNU General Public License can be used, that proxy's
+public statement of acceptance of a version permanently authorizes you
+to choose that version for the Program.
+
+ Later license versions may give you additional or different
+permissions. However, no additional obligations are imposed on any
+author or copyright holder as a result of your choosing to follow a
+later version.
+
+ 15. Disclaimer of Warranty.
+
+ 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.
+
+ 16. Limitation of Liability.
+
+ IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
+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.
+
+ 17. Interpretation of Sections 15 and 16.
+
+ If the disclaimer of warranty and limitation of liability provided
+above cannot be given local legal effect according to their terms,
+reviewing courts shall apply local law that most closely approximates
+an absolute waiver of all civil liability in connection with the
+Program, unless a warranty or assumption of liability accompanies a
+copy of the Program in return for a fee.
+
+ END OF TERMS AND CONDITIONS
+
+ How to Apply These Terms to Your New Programs
+
+ If you develop a new program, and you want it to be of the greatest
+possible use to the public, the best way to achieve this is to make it
+free software which everyone can redistribute and change under these terms.
+
+ To do so, attach the following notices to the program. It is safest
+to attach them to the start of each source file to most effectively
+state 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 3 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, see <http://www.gnu.org/licenses/>.
+
+Also add information on how to contact you by electronic and paper mail.
+
+ If the program does terminal interaction, make it output a short
+notice like this when it starts in an interactive mode:
+
+ <program> Copyright (C) <year> <name of author>
+ This program 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, your program's commands
+might be different; for a GUI interface, you would use an "about box".
+
+ You should also get your employer (if you work as a programmer) or school,
+if any, to sign a "copyright disclaimer" for the program, if necessary.
+For more information on this, and how to apply and follow the GNU GPL, see
+<http://www.gnu.org/licenses/>.
+
+ The GNU 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 Lesser General
+Public License instead of this License. But first, please read
+<http://www.gnu.org/philosophy/why-not-lgpl.html>.
--- /dev/null
+ GNU Free Documentation License
+ Version 1.1, March 2000
+
+ Copyright (C) 2000 Free Software Foundation, Inc.
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+
+0. PREAMBLE
+
+The purpose of this License is to make a manual, textbook, or other
+written document "free" in the sense of freedom: to assure everyone
+the effective freedom to copy and redistribute it, with or without
+modifying it, either commercially or noncommercially. Secondarily,
+this License preserves for the author and publisher a way to get
+credit for their work, while not being considered responsible for
+modifications made by others.
+
+This License is a kind of "copyleft", which means that derivative
+works of the document must themselves be free in the same sense. It
+complements the GNU General Public License, which is a copyleft
+license designed for free software.
+
+We have designed this License in order to use it for manuals for free
+software, because free software needs free documentation: a free
+program should come with manuals providing the same freedoms that the
+software does. But this License is not limited to software manuals;
+it can be used for any textual work, regardless of subject matter or
+whether it is published as a printed book. We recommend this License
+principally for works whose purpose is instruction or reference.
+
+
+1. APPLICABILITY AND DEFINITIONS
+
+This License applies to any manual or other work that contains a
+notice placed by the copyright holder saying it can be distributed
+under the terms of this License. The "Document", below, refers to any
+such manual or work. Any member of the public is a licensee, and is
+addressed as "you".
+
+A "Modified Version" of the Document means any work containing the
+Document or a portion of it, either copied verbatim, or with
+modifications and/or translated into another language.
+
+A "Secondary Section" is a named appendix or a front-matter section of
+the Document that deals exclusively with the relationship of the
+publishers or authors of the Document to the Document's overall subject
+(or to related matters) and contains nothing that could fall directly
+within that overall subject. (For example, if the Document is in part a
+textbook of mathematics, a Secondary Section may not explain any
+mathematics.) The relationship could be a matter of historical
+connection with the subject or with related matters, or of legal,
+commercial, philosophical, ethical or political position regarding
+them.
+
+The "Invariant Sections" are certain Secondary Sections whose titles
+are designated, as being those of Invariant Sections, in the notice
+that says that the Document is released under this License.
+
+The "Cover Texts" are certain short passages of text that are listed,
+as Front-Cover Texts or Back-Cover Texts, in the notice that says that
+the Document is released under this License.
+
+A "Transparent" copy of the Document means a machine-readable copy,
+represented in a format whose specification is available to the
+general public, whose contents can be viewed and edited directly and
+straightforwardly with generic text editors or (for images composed of
+pixels) generic paint programs or (for drawings) some widely available
+drawing editor, and that is suitable for input to text formatters or
+for automatic translation to a variety of formats suitable for input
+to text formatters. A copy made in an otherwise Transparent file
+format whose markup has been designed to thwart or discourage
+subsequent modification by readers is not Transparent. A copy that is
+not "Transparent" is called "Opaque".
+
+Examples of suitable formats for Transparent copies include plain
+ASCII without markup, Texinfo input format, LaTeX input format, SGML
+or XML using a publicly available DTD, and standard-conforming simple
+HTML designed for human modification. Opaque formats include
+PostScript, PDF, proprietary formats that can be read and edited only
+by proprietary word processors, SGML or XML for which the DTD and/or
+processing tools are not generally available, and the
+machine-generated HTML produced by some word processors for output
+purposes only.
+
+The "Title Page" means, for a printed book, the title page itself,
+plus such following pages as are needed to hold, legibly, the material
+this License requires to appear in the title page. For works in
+formats which do not have any title page as such, "Title Page" means
+the text near the most prominent appearance of the work's title,
+preceding the beginning of the body of the text.
+
+
+2. VERBATIM COPYING
+
+You may copy and distribute the Document in any medium, either
+commercially or noncommercially, provided that this License, the
+copyright notices, and the license notice saying this License applies
+to the Document are reproduced in all copies, and that you add no other
+conditions whatsoever to those of this License. You may not use
+technical measures to obstruct or control the reading or further
+copying of the copies you make or distribute. However, you may accept
+compensation in exchange for copies. If you distribute a large enough
+number of copies you must also follow the conditions in section 3.
+
+You may also lend copies, under the same conditions stated above, and
+you may publicly display copies.
+
+
+3. COPYING IN QUANTITY
+
+If you publish printed copies of the Document numbering more than 100,
+and the Document's license notice requires Cover Texts, you must enclose
+the copies in covers that carry, clearly and legibly, all these Cover
+Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on
+the back cover. Both covers must also clearly and legibly identify
+you as the publisher of these copies. The front cover must present
+the full title with all words of the title equally prominent and
+visible. You may add other material on the covers in addition.
+Copying with changes limited to the covers, as long as they preserve
+the title of the Document and satisfy these conditions, can be treated
+as verbatim copying in other respects.
+
+If the required texts for either cover are too voluminous to fit
+legibly, you should put the first ones listed (as many as fit
+reasonably) on the actual cover, and continue the rest onto adjacent
+pages.
+
+If you publish or distribute Opaque copies of the Document numbering
+more than 100, you must either include a machine-readable Transparent
+copy along with each Opaque copy, or state in or with each Opaque copy
+a publicly-accessible computer-network location containing a complete
+Transparent copy of the Document, free of added material, which the
+general network-using public has access to download anonymously at no
+charge using public-standard network protocols. If you use the latter
+option, you must take reasonably prudent steps, when you begin
+distribution of Opaque copies in quantity, to ensure that this
+Transparent copy will remain thus accessible at the stated location
+until at least one year after the last time you distribute an Opaque
+copy (directly or through your agents or retailers) of that edition to
+the public.
+
+It is requested, but not required, that you contact the authors of the
+Document well before redistributing any large number of copies, to give
+them a chance to provide you with an updated version of the Document.
+
+
+4. MODIFICATIONS
+
+You may copy and distribute a Modified Version of the Document under
+the conditions of sections 2 and 3 above, provided that you release
+the Modified Version under precisely this License, with the Modified
+Version filling the role of the Document, thus licensing distribution
+and modification of the Modified Version to whoever possesses a copy
+of it. In addition, you must do these things in the Modified Version:
+
+A. Use in the Title Page (and on the covers, if any) a title distinct
+ from that of the Document, and from those of previous versions
+ (which should, if there were any, be listed in the History section
+ of the Document). You may use the same title as a previous version
+ if the original publisher of that version gives permission.
+B. List on the Title Page, as authors, one or more persons or entities
+ responsible for authorship of the modifications in the Modified
+ Version, together with at least five of the principal authors of the
+ Document (all of its principal authors, if it has less than five).
+C. State on the Title page the name of the publisher of the
+ Modified Version, as the publisher.
+D. Preserve all the copyright notices of the Document.
+E. Add an appropriate copyright notice for your modifications
+ adjacent to the other copyright notices.
+F. Include, immediately after the copyright notices, a license notice
+ giving the public permission to use the Modified Version under the
+ terms of this License, in the form shown in the Addendum below.
+G. Preserve in that license notice the full lists of Invariant Sections
+ and required Cover Texts given in the Document's license notice.
+H. Include an unaltered copy of this License.
+I. Preserve the section entitled "History", and its title, and add to
+ it an item stating at least the title, year, new authors, and
+ publisher of the Modified Version as given on the Title Page. If
+ there is no section entitled "History" in the Document, create one
+ stating the title, year, authors, and publisher of the Document as
+ given on its Title Page, then add an item describing the Modified
+ Version as stated in the previous sentence.
+J. Preserve the network location, if any, given in the Document for
+ public access to a Transparent copy of the Document, and likewise
+ the network locations given in the Document for previous versions
+ it was based on. These may be placed in the "History" section.
+ You may omit a network location for a work that was published at
+ least four years before the Document itself, or if the original
+ publisher of the version it refers to gives permission.
+K. In any section entitled "Acknowledgements" or "Dedications",
+ preserve the section's title, and preserve in the section all the
+ substance and tone of each of the contributor acknowledgements
+ and/or dedications given therein.
+L. Preserve all the Invariant Sections of the Document,
+ unaltered in their text and in their titles. Section numbers
+ or the equivalent are not considered part of the section titles.
+M. Delete any section entitled "Endorsements". Such a section
+ may not be included in the Modified Version.
+N. Do not retitle any existing section as "Endorsements"
+ or to conflict in title with any Invariant Section.
+
+If the Modified Version includes new front-matter sections or
+appendices that qualify as Secondary Sections and contain no material
+copied from the Document, you may at your option designate some or all
+of these sections as invariant. To do this, add their titles to the
+list of Invariant Sections in the Modified Version's license notice.
+These titles must be distinct from any other section titles.
+
+You may add a section entitled "Endorsements", provided it contains
+nothing but endorsements of your Modified Version by various
+parties--for example, statements of peer review or that the text has
+been approved by an organization as the authoritative definition of a
+standard.
+
+You may add a passage of up to five words as a Front-Cover Text, and a
+passage of up to 25 words as a Back-Cover Text, to the end of the list
+of Cover Texts in the Modified Version. Only one passage of
+Front-Cover Text and one of Back-Cover Text may be added by (or
+through arrangements made by) any one entity. If the Document already
+includes a cover text for the same cover, previously added by you or
+by arrangement made by the same entity you are acting on behalf of,
+you may not add another; but you may replace the old one, on explicit
+permission from the previous publisher that added the old one.
+
+The author(s) and publisher(s) of the Document do not by this License
+give permission to use their names for publicity for or to assert or
+imply endorsement of any Modified Version.
+
+
+5. COMBINING DOCUMENTS
+
+You may combine the Document with other documents released under this
+License, under the terms defined in section 4 above for modified
+versions, provided that you include in the combination all of the
+Invariant Sections of all of the original documents, unmodified, and
+list them all as Invariant Sections of your combined work in its
+license notice.
+
+The combined work need only contain one copy of this License, and
+multiple identical Invariant Sections may be replaced with a single
+copy. If there are multiple Invariant Sections with the same name but
+different contents, make the title of each such section unique by
+adding at the end of it, in parentheses, the name of the original
+author or publisher of that section if known, or else a unique number.
+Make the same adjustment to the section titles in the list of
+Invariant Sections in the license notice of the combined work.
+
+In the combination, you must combine any sections entitled "History"
+in the various original documents, forming one section entitled
+"History"; likewise combine any sections entitled "Acknowledgements",
+and any sections entitled "Dedications". You must delete all sections
+entitled "Endorsements."
+
+
+6. COLLECTIONS OF DOCUMENTS
+
+You may make a collection consisting of the Document and other documents
+released under this License, and replace the individual copies of this
+License in the various documents with a single copy that is included in
+the collection, provided that you follow the rules of this License for
+verbatim copying of each of the documents in all other respects.
+
+You may extract a single document from such a collection, and distribute
+it individually under this License, provided you insert a copy of this
+License into the extracted document, and follow this License in all
+other respects regarding verbatim copying of that document.
+
+
+7. AGGREGATION WITH INDEPENDENT WORKS
+
+A compilation of the Document or its derivatives with other separate
+and independent documents or works, in or on a volume of a storage or
+distribution medium, does not as a whole count as a Modified Version
+of the Document, provided no compilation copyright is claimed for the
+compilation. Such a compilation is called an "aggregate", and this
+License does not apply to the other self-contained works thus compiled
+with the Document, on account of their being thus compiled, if they
+are not themselves derivative works of the Document.
+
+If the Cover Text requirement of section 3 is applicable to these
+copies of the Document, then if the Document is less than one quarter
+of the entire aggregate, the Document's Cover Texts may be placed on
+covers that surround only the Document within the aggregate.
+Otherwise they must appear on covers around the whole aggregate.
+
+
+8. TRANSLATION
+
+Translation is considered a kind of modification, so you may
+distribute translations of the Document under the terms of section 4.
+Replacing Invariant Sections with translations requires special
+permission from their copyright holders, but you may include
+translations of some or all Invariant Sections in addition to the
+original versions of these Invariant Sections. You may include a
+translation of this License provided that you also include the
+original English version of this License. In case of a disagreement
+between the translation and the original English version of this
+License, the original English version will prevail.
+
+
+9. TERMINATION
+
+You may not copy, modify, sublicense, or distribute the Document except
+as expressly provided for under this License. Any other attempt to
+copy, modify, sublicense or distribute the Document is void, and will
+automatically terminate your rights under this License. However,
+parties who have received copies, or rights, from you under this
+License will not have their licenses terminated so long as such
+parties remain in full compliance.
+
+
+10. FUTURE REVISIONS OF THIS LICENSE
+
+The Free Software Foundation may publish new, revised versions
+of the GNU Free Documentation License from time to time. Such new
+versions will be similar in spirit to the present version, but may
+differ in detail to address new problems or concerns. See
+http://www.gnu.org/copyleft/.
+
+Each version of the License is given a distinguishing version number.
+If the Document specifies that a particular numbered version of this
+License "or any later version" applies to it, you have the option of
+following the terms and conditions either of that specified version or
+of any later version that has been published (not as a draft) by the
+Free Software Foundation. If the Document does not specify a version
+number of this License, you may choose any version ever published (not
+as a draft) by the Free Software Foundation.
+
+
+ADDENDUM: How to use this License for your documents
+
+To use this License in a document you have written, include a copy of
+the License in the document and put the following copyright and
+license notices just after the title page:
+
+ Copyright (c) YEAR YOUR NAME.
+ Permission is granted to copy, distribute and/or modify this document
+ under the terms of the GNU Free Documentation License, Version 1.1
+ or any later version published by the Free Software Foundation;
+ with the Invariant Sections being LIST THEIR TITLES, with the
+ Front-Cover Texts being LIST, and with the Back-Cover Texts being LIST.
+ A copy of the license is included in the section entitled "GNU
+ Free Documentation License".
+
+If you have no Invariant Sections, write "with no Invariant Sections"
+instead of saying which ones are invariant. If you have no
+Front-Cover Texts, write "no Front-Cover Texts" instead of
+"Front-Cover Texts being LIST"; likewise for Back-Cover Texts.
+
+If your document contains nontrivial examples of program code, we
+recommend releasing these examples in parallel under your choice of
+free software license, such as the GNU General Public License,
+to permit their use in free software.
--- /dev/null
+# Generated by Makefile. Do not edit.
+
+commit e24930b7017980f6a65aa97d0375a8da8c7b809a
+Author: Stefan Sauer <ensonic@users.sf.net>
+Date: Wed Sep 14 15:50:22 2011 +0200
+
+ release: update news and date in manual
+
+ NEWS | 48 ++++++++++++++++++++++++++++++++++++-
+ configure.ac | 2 +-
+ help/manual/C/gtk-doc-manual.xml | 22 ++++++++++++----
+ 3 files changed, 63 insertions(+), 9 deletions(-)
+
+commit 0d03479a4963ba731711cd5e324379472ea1c9f0
+Author: Stefan Sauer <ensonic@users.sf.net>
+Date: Wed Sep 14 15:50:32 2011 +0200
+
+ mkdb: fix undefined var
+
+ gtkdoc-mkdb.in | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+commit ef141ae885e1e9948960ead815edeb757411a5e3
+Author: Stefan Sauer <ensonic@users.sf.net>
+Date: Wed Sep 14 15:37:13 2011 +0200
+
+ TODO: add some thoughts about including inherited docs
+
+ TODO | 8 ++++++--
+ 1 files changed, 6 insertions(+), 2 deletions(-)
+
+commit 61a247a870ae07f5ae02537450bbc483b4a439cd
+Author: Stefan Sauer <ensonic@users.sf.net>
+Date: Thu Sep 8 19:13:38 2011 +0200
+
+ mkdb: also pretty print/filter enum declarations
+
+ Strip private enums from the declaration in the docs. Fixes #617121.
+
+ gtkdoc-common.pl.in | 2 ++
+ gtkdoc-mkdb.in | 38 +++++++++++++++++++++++++++++++++++++-
+ 2 files changed, 39 insertions(+), 1 deletions(-)
+
+commit d20056e4e6a458efd927c49486cef571929b4ae7
+Author: Stefan Sauer <ensonic@users.sf.net>
+Date: Thu Sep 8 18:49:07 2011 +0200
+
+ example: update example Makefile.am
+
+ examples/Makefile.am | 4 ++--
+ 1 files changed, 2 insertions(+), 2 deletions(-)
+
+commit db374e766d85cc15c084542d0aae6c9df73c8737
+Author: Stefan Sauer <ensonic@users.sf.net>
+Date: Thu Sep 8 18:32:35 2011 +0200
+
+ gtk-doc.m4: only get glib_deps if we're not building glib and make it nonfatal
+
+ If we're builing glib, we want uninstalled glib. If we're building docs for a
+ non glib library we won't run scanobj.
+
+ gtk-doc.m4 | 6 +++++-
+ 1 files changed, 5 insertions(+), 1 deletions(-)
+
+commit 0822f0d42faf1b6d9d73e12a9bb7c4158471f531
+Author: Stefan Sauer <ensonic@users.sf.net>
+Date: Thu Sep 8 18:04:29 2011 +0200
+
+ tests: make the timestamps work with -jn
+
+ tests/gtk-doc.make | 8 +++++---
+ tests/gtk-doc.notmpl.make | 8 +++++---
+ 2 files changed, 10 insertions(+), 6 deletions(-)
+
+commit b36b9644a5f33448885c7a9d8255ec0ded2e0fb4
+Author: David Necas <yeti@physics.muni.cz>
+Date: Mon Jun 20 10:13:59 2011 +0200
+
+ Do not treat enums, flags and structs as objects even if they have a GType.
+
+ gtkdoc-mkdb.in | 26 ++++++++++++---------
+ tests/gobject/docs-tmpl/tester-sections.txt | 4 +++
+ tests/gobject/docs/tester-sections.txt | 4 +++
+ tests/gobject/src/gtypes.c | 19 ++++++++++++++++
+ tests/gobject/src/gtypes.h | 32 +++++++++++++++++++++++++++
+ 5 files changed, 74 insertions(+), 11 deletions(-)
+
+commit b007da0c17049753621ab724abb6df6bb69b005c
+Author: Stefan Sauer <ensonic@users.sf.net>
+Date: Wed Sep 7 15:34:35 2011 +0200
+
+ scan: better matching of types
+
+ gtkdoc-scan.in | 12 ++++++------
+ 1 files changed, 6 insertions(+), 6 deletions(-)
+
+commit accb09a97ef9379a19266dfceebd8bf0646ec53e
+Author: Stefan Sauer <ensonic@users.sf.net>
+Date: Mon Sep 5 16:51:23 2011 +0200
+
+ tests: demo the escaping for %, # and @ in the docs
+
+ tests/gobject/src/giface.c | 3 +++
+ 1 files changed, 3 insertions(+), 0 deletions(-)
+
+commit 5fb843d000a97fb1b640816b870fd4eb41a30bbd
+Author: Stefan Sauer <ensonic@users.sf.net>
+Date: Fri Aug 26 20:41:03 2011 +0200
+
+ scan: detect XxxYyyyPrivate structs and move to standard section
+
+ gtkdoc-scan.in | 23 +++++++++++++++--------
+ 1 files changed, 15 insertions(+), 8 deletions(-)
+
+commit 73aeebbd61912cafeb569208eb62d04c6ac062de
+Author: Stefan Sauer <ensonic@users.sf.net>
+Date: Fri Aug 26 19:04:37 2011 +0200
+
+ scan: improve gtype detection
+
+ Run code that detects a gtype and moves the standard symbols to the standard
+ section in a loop to e.g. handle enums defined in the same header.
+
+ gtkdoc-scan.in | 73 ++++++++++++++++++++++++++++++++-----------------------
+ 1 files changed, 42 insertions(+), 31 deletions(-)
+
+commit 8dd746b00ac0acd9fda196b2cfbec0534ff96298
+Author: Stefan Sauer <ensonic@users.sf.net>
+Date: Fri Aug 26 01:24:34 2011 +0200
+
+ scan: one blank line between the sections is enough
+
+ The last commit that added sorting also added an extran blank line.
+
+ gtkdoc-scan.in | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+commit bea7a41be032678d8d414d72622b98e6a82dff25
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Thu Aug 25 23:20:44 2011 +0200
+
+ make: fix distcheck for tmpl based projects
+
+ Make the tmpl dir we copied in setup writable (as during distcheck the source
+ is readonly).
+
+ gtk-doc.make | 3 ++-
+ tests/gtk-doc.make | 3 ++-
+ 2 files changed, 4 insertions(+), 2 deletions(-)
+
+commit aedc1d731a414be1e94893f050b47ee2934c60cd
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Thu Aug 25 22:44:04 2011 +0200
+
+ make: fix setup for tmpl based projects
+
+ The test for the directory was using -f which should have been -d.
+ Fixes #657377
+
+ gtk-doc.make | 2 +-
+ tests/gtk-doc.make | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+commit 84b58c06e1214c984f12af4067b6520d16707fe1
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Thu Aug 25 19:45:26 2011 +0200
+
+ scan: make the generated section file more deterministic
+
+ Sort the section and the symbols with the section.
+
+ gtkdoc-scan.in | 41 +++++++++++++++++++++++------------------
+ 1 files changed, 23 insertions(+), 18 deletions(-)
+
+commit 347b08b3e52aaa971e7ead20b15b164920f3cd0b
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Mon Aug 22 13:54:40 2011 +0200
+
+ scan,mkdb: handle short,long for (external) variables
+
+ Improve the parser to handle more type variants. Add a test. Fixes #656946
+
+ gtkdoc-mkdb.in | 4 ++--
+ gtkdoc-scan.in | 4 ++--
+ tests/bugs/docs/tester-sections.txt | 1 +
+ tests/bugs/src/tester.h | 6 ++++++
+ 4 files changed, 11 insertions(+), 4 deletions(-)
+
+commit db06e7360c02573595de01c3693b4f5a1b46902e
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Mon Aug 22 13:54:10 2011 +0200
+
+ tests: revert accidentially added symbol
+
+ tests/bugs/docs/tester-sections.txt | 1 -
+ 1 files changed, 0 insertions(+), 1 deletions(-)
+
+commit 9a501f713ec52e3f38484d817b1e0a1e0ee41660
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Mon Aug 22 13:46:05 2011 +0200
+
+ scan,mkdb: more improvements on extern and global variable parsing
+
+ Don't drop type details in gtkdoc-mkdb. Improve the layout and add more tests.
+
+ gtkdoc-mkdb.in | 15 ++++++++++++---
+ gtkdoc-scan.in | 18 +++++++++++++++---
+ tests/bugs/docs/tester-sections.txt | 5 ++++-
+ tests/bugs/src/tester.h | 19 +++++++++++++++++--
+ 4 files changed, 48 insertions(+), 9 deletions(-)
+
+commit 31942f424e4fba139ceac510bb1565d9413013bc
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Sat Aug 20 19:34:43 2011 +0200
+
+ tests: add an example of a vmthod link with '_' in the name
+
+ tests/gobject/src/gobject.c | 3 ++-
+ tests/gobject/src/gobject.h | 2 ++
+ 2 files changed, 4 insertions(+), 1 deletions(-)
+
+commit ffe1fc4cb727d708510eb76829878cd9b8f7f864
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Sat Aug 20 19:34:13 2011 +0200
+
+ fixxref: fix typo in comment
+
+ gtkdoc-fixxref.in | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+commit a0ac307ccd90c1afa890d7d4583f73dae30d23ad
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Thu Aug 18 13:56:41 2011 +0200
+
+ scan: improve parsing of externs
+
+ An extern of the form "extern const type const name" was not recognised. Add a
+ test for this as well. Fixes #656773
+
+ gtkdoc-scan.in | 6 +++---
+ tests/bugs/docs/tester-sections.txt | 1 +
+ tests/bugs/src/tester.h | 8 ++++++++
+ 3 files changed, 12 insertions(+), 3 deletions(-)
+
+commit 770dc1a60a42edaccbc42d930eb0e426908d183f
+Author: Michał Górny <mgorny@gentoo.org>
+Date: Tue Aug 16 16:41:58 2011 +0200
+
+ make: When doing 'make install', look for generated docs in builddir.
+
+ This fixes installing docs when build is done in a directory other than
+ $(srcdir), bug #656658.
+
+ gtk-doc.make | 4 ++--
+ gtk-doc.notmpl.make | 4 ++--
+ 2 files changed, 4 insertions(+), 4 deletions(-)
+
+commit 402b4973e847120aa5771dbeb613805f3b9663fb
+Author: Shaun McCance <shaunm@gnome.org>
+Date: Sat Aug 13 08:30:11 2011 -0400
+
+ Substantial performance improvements
+
+ Changes made to areas that xsltproc --profile indicated were eating
+ up the most time. Most changes are to use xsl:key to avoid frequent
+ descendant selectors. In one case there's a slightly hacking XPath
+ change that has a significant performance impact. Testing on the
+ GTK+ docs, I got about a 40% speed gain.
+
+ devhelp2.xsl | 2 ++
+ gtk-doc-single.xsl | 19 ++++++++++++++++---
+ gtk-doc.xsl | 40 ++++++++++++++++++++++++++++++----------
+ 3 files changed, 48 insertions(+), 13 deletions(-)
+
+commit b68ae7ef54b3887d91dbb854f98b26dea636ff77
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Tue Aug 16 11:58:19 2011 +0200
+
+ NEWS: allow to test make distcehck
+
+ NEWS | 6 ++++++
+ 1 files changed, 6 insertions(+), 0 deletions(-)
+
+commit 92cac51b33ed7a1c731ec83393e039e23db07746
+Author: David Nečas <yeti@physics.muni.cz>
+Date: Mon Aug 1 13:46:49 2011 +0200
+
+ Added --sumarize option to depscan
+
+ gtkdoc-depscan.in | 42 +++++++++++++++++++++++++++++++++++-------
+ 1 files changed, 35 insertions(+), 7 deletions(-)
+
+commit cb38668a29547292b7a269684cc5d45b70a7c4d5
+Author: Matthias Clasen <mclasen@redhat.com>
+Date: Tue Jun 28 17:13:00 2011 -0400
+
+ Fix up my earlier typo
+
+ gtk-doc.m4 | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+commit 6b92c8b61a25fb57448315691159d48dc83af382
+Author: Matthias Clasen <mclasen@redhat.com>
+Date: Tue Jun 28 11:45:04 2011 -0400
+
+ Add a prereq for pkg-config in gtk-doc.m4
+
+ Not having this was causing colord build failure, since
+ the colord configure.ac uses GTK_DOC_CHECK before any other
+ PKG_ macros.
+
+ gtk-doc.m4 | 1 +
+ 1 files changed, 1 insertions(+), 0 deletions(-)
+
+commit 30b092765d569736b86f354296fbcb13cc931213
+Author: David Nečas <yeti@physics.muni.cz>
+Date: Mon Jun 20 13:02:41 2011 +0200
+
+ scan: improve the brace counting
+
+ Eliminate groups of braces on the same line.
+
+ gtkdoc-scan.in | 3 +++
+ 1 files changed, 3 insertions(+), 0 deletions(-)
+
+commit ec9383be7dcf20e50c6d2e0ef45ffc48a9132977
+Author: Javier Jardón <jjardon@gnome.org>
+Date: Thu Jun 16 18:21:06 2011 +0100
+
+ configure.ac: Generate xz tarball with ustar format by default
+
+ configure.ac | 4 ++--
+ 1 files changed, 2 insertions(+), 2 deletions(-)
+
+commit 5314a46030a31c35e2a906c9576f973f105f77a5
+Author: Javier Jardón <jjardon@gnome.org>
+Date: Thu Jun 16 18:19:31 2011 +0100
+
+ Update autotools config a bit
+
+ Use new libtool syntax
+ Use aux directory to store generated files
+
+ autogen.sh | 2 ++
+ configure.ac | 11 +++++++----
+ help/manual/Makefile.am | 2 +-
+ 3 files changed, 10 insertions(+), 5 deletions(-)
+
+commit ca815451cdfac50b84a7ceef0a50f06088b96cc6
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Fri May 20 16:40:57 2011 +0300
+
+ common: allow G_GNUC_ attributes on function parameters
+
+ Improve parsing and add test.
+
+ gtkdoc-common.pl.in | 2 +-
+ tests/bugs/docs/tester-sections.txt | 2 ++
+ tests/bugs/src/tester.h | 13 +++++++++++++
+ 3 files changed, 16 insertions(+), 1 deletions(-)
+
+commit fced9892e97e71681bfb3753db5a9d6ce4259fe4
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Thu Apr 14 10:27:25 2011 +0300
+
+ mkdb: disambiguate enum gtypes from the c enum
+
+ Use a similar pattern like we use for structs when dealing with enum gtypes.
+
+ gtkdoc-mkdb.in | 8 +++++---
+ 1 files changed, 5 insertions(+), 3 deletions(-)
+
+commit 496f1ae8b5f06b6ed2fad6b6d3c3cb6118522069
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Wed May 18 15:28:50 2011 +0300
+
+ make: use $(V) instead of $(AM_DEFAULT_VERBOSITY)
+
+ gtk-doc.make | 2 +-
+ gtk-doc.notmpl.make | 4 ++--
+ 2 files changed, 3 insertions(+), 3 deletions(-)
+
+commit 0e91e9874859a4c5e92f9442e069dd9bdd9dbc3f
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Wed May 11 11:13:09 2011 +0300
+
+ devhelp: remove generation of old devhelp files
+
+ We're supporting devhelp2 files since 2005. Those are supported since
+ devhelp-0.11 (18.Dec.2005). Dropping them speeds up the
+ builds a bit and saves some bytes peoples hard-drives.
+
+ Makefile.am | 2 -
+ devhelp.xsl | 131 ---------------------------------------------------
+ gtk-doc.make | 2 -
+ gtk-doc.notmpl.make | 2 -
+ gtk-doc.xsl | 52 ++++++++++-----------
+ 5 files changed, 25 insertions(+), 164 deletions(-)
+
+commit baccd732fb2fd6316aedccfa08a6fc9f24f78714
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Wed May 11 12:25:33 2011 +0300
+
+ common: use a non-greedy match for single line comments
+
+ Fix commit 9e53b98affd26d8b87a9199b57e46c58766bcf43 where the single line
+ comments where eating the whole block.
+
+ gtkdoc-common.pl.in | 8 ++++----
+ 1 files changed, 4 insertions(+), 4 deletions(-)
+
+commit f7a53326d454403c56fc1a074f3f20f494a8f246
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Wed May 11 12:11:16 2011 +0300
+
+ tests: improve the sanity test
+
+ Print the file and check on failure. Check devhelp2 files too.
+
+ tests/sanity.sh | 34 ++++++++++++++++++++++++++++------
+ 1 files changed, 28 insertions(+), 6 deletions(-)
+
+commit 1a7469560dbad530068c14c920dba0170c09041e
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Tue May 10 16:28:47 2011 +0300
+
+ TOOD: add info about profiling perl
+
+ TODO | 6 ++++++
+ 1 files changed, 6 insertions(+), 0 deletions(-)
+
+commit a81a174617241a0afcbb858896d9218297ad07bc
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Tue May 10 16:26:52 2011 +0300
+
+ scanner: check for glib build flags in gtk-doc.m4
+
+ We need to add the CFLAGS/LDFLAGS for glib ourself when building the scanner.
+ Fixes #649269.
+
+ gtk-doc.m4 | 1 +
+ gtk-doc.make | 8 ++++----
+ gtk-doc.notmpl.make | 8 ++++----
+ tests/gtk-doc.make | 8 ++++----
+ tests/gtk-doc.notmpl.make | 8 ++++----
+ 5 files changed, 17 insertions(+), 16 deletions(-)
+
+commit b8d0ea54918049ac246b46a636cf199915d69725
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Tue May 3 14:25:26 2011 +0300
+
+ test: simplify per test Makefile.am and have test specific stuff in gtk-doc*.make
+
+ Add the log redirects to the makefiles. This way we don't have differnt option
+ placement in the rules anymore. We can now also echo the command we invoke to
+ the log. This comes handy if one need to run in manually.
+
+ tests/annotations/docs/Makefile.am | 13 ++++-----
+ tests/bugs/docs/Makefile.am | 15 +++++------
+ tests/empty/docs/Makefile.am | 17 ++++++-------
+ tests/fail/docs/Makefile.am | 14 ++++------
+ tests/gobject/docs-tmpl/Makefile.am | 12 ++++----
+ tests/gobject/docs/Makefile.am | 13 ++++-----
+ tests/gtk-doc.make | 45 ++++++++++++++++++++--------------
+ tests/gtk-doc.notmpl.make | 36 ++++++++++++++++-----------
+ 8 files changed, 86 insertions(+), 79 deletions(-)
+
+commit e7a012a732d37540471a7062dcc07e08e35bf305
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Tue May 3 14:19:47 2011 +0300
+
+ make: sync notmpl make more
+
+ gtk-doc.make | 1 -
+ gtk-doc.notmpl.make | 4 ++--
+ 2 files changed, 2 insertions(+), 3 deletions(-)
+
+commit 42351c9c0f0b26896baa0f72ea436ec1603716a4
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Mon May 2 14:59:50 2011 +0300
+
+ make: tune the setup rule
+
+ Add || true to avoid the target from prinitn (an ignored) failure, as skipping
+ a copy is okay.
+
+ gtk-doc.make | 20 ++++++++++----------
+ gtk-doc.notmpl.make | 16 ++++++++--------
+ 2 files changed, 18 insertions(+), 18 deletions(-)
+
+commit 2df9c2404f0a60e7b7a1a7303803ad8ca782d4e0
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Sun May 1 22:18:49 2011 +0300
+
+ mkpdf: dblatex in cvs just got a --quiet parameter
+
+ gtkdoc-mkpdf.in | 4 ++++
+ 1 files changed, 4 insertions(+), 0 deletions(-)
+
+commit e3d72165a44757961f7af7f2bf7370254ffd0a2d
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Sun May 1 22:10:23 2011 +0300
+
+ scan: only end structs/unions with '}' at the start of the line
+
+ Fix preliminary ending of structs/unions. Add a test.
+
+ gtkdoc-scan.in | 2 +-
+ tests/bugs/docs/tester-sections.txt | 1 +
+ tests/bugs/src/tester.h | 21 +++++++++++++++++++++
+ 3 files changed, 23 insertions(+), 1 deletions(-)
+
+commit bd0e388ba2aab35a32eb01dbfc63fb5aaa9d78a2
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Sun May 1 22:09:51 2011 +0300
+
+ mkdb: add more tracing
+
+ gtkdoc-mkdb.in | 6 ++++--
+ 1 files changed, 4 insertions(+), 2 deletions(-)
+
+commit 9e53b98affd26d8b87a9199b57e46c58766bcf43
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Sun May 1 21:40:23 2011 +0300
+
+ common: drop empty lines when stripping comments
+
+ When removing comments in structs/enums/unions drop the whole line if there
+ would only be whitespace left.
+
+ gtkdoc-common.pl.in | 8 ++++++--
+ 1 files changed, 6 insertions(+), 2 deletions(-)
+
+commit bb0e53e5f2c0dbde4c754bbcba783dd532d77117
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Wed Apr 27 01:47:51 2011 +0300
+
+ tests: small cleanups
+
+ Remve a leftover chmod and fix a mangled variable name.
+
+ tests/gtk-doc.make | 1 -
+ tests/gtk-doc.notmpl.make | 2 +-
+ 2 files changed, 1 insertions(+), 2 deletions(-)
+
+commit 5f1aa7ea0e0b04a5e477c6cbf5e0b6257c32f103
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Wed Apr 27 01:45:19 2011 +0300
+
+ tests: make timestamps relative
+
+ tests/gtk-doc.make | 30 ++++++++++++++++++++----------
+ tests/gtk-doc.notmpl.make | 30 +++++++++++++++++++-----------
+ 2 files changed, 39 insertions(+), 21 deletions(-)
+
+commit 5c82e0091e3281ef5c6a45f2ee1a8d6c6baf5c1c
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Fri Apr 22 16:48:41 2011 -0400
+
+ make: remove non-sense setup.stamp and use setup-build.stamp
+
+ Nothing would ever generate setup.stamp
+
+ gtk-doc.make | 8 ++------
+ gtk-doc.notmpl.make | 8 ++------
+ tests/gtk-doc.make | 9 ++-------
+ tests/gtk-doc.notmpl.make | 8 ++------
+ 4 files changed, 8 insertions(+), 25 deletions(-)
+
+commit cc577523f834483bceaa6a7b4f0ec44601f854c6
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Fri Apr 22 16:35:06 2011 -0400
+
+ fixxref: hide one more missing link warning
+
+ gtkdoc-fixxref.in | 2 ++
+ 1 files changed, 2 insertions(+), 0 deletions(-)
+
+commit 57725307763464b451354d8113b3faba38f851bd
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Fri Apr 22 16:05:17 2011 -0400
+
+ tracing: add traceline for reading tmpl files
+
+ gtkdoc-mkdb.in | 4 +++-
+ 1 files changed, 3 insertions(+), 1 deletions(-)
+
+commit 2fc158fc7f90c716b7b8d68d5e181e7ea7bdc5e2
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Fri Apr 22 15:42:19 2011 -0400
+
+ tests: add test for varargs functions and macros
+
+ tests/bugs/docs/tester-sections.txt | 3 +++
+ tests/bugs/src/tester.c | 12 ++++++++++++
+ tests/bugs/src/tester.h | 23 ++++++++++++++++++++++-
+ 3 files changed, 37 insertions(+), 1 deletions(-)
+
+commit 4c9d4db0e264d403b301dad9be1c290134846d03
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Fri Apr 22 15:41:07 2011 -0400
+
+ vargars: cleanup varargs handling
+
+ Just always call them "..." internaly to avoid converting them for doc output.
+ Handle more vararg variants.
+
+ gtkdoc-common.pl.in | 8 ++++++--
+ gtkdoc-mkdb.in | 26 ++++++++++----------------
+ 2 files changed, 16 insertions(+), 18 deletions(-)
+
+commit 5143371df274e48790f203869ffe5f133d2e1013
+Author: Claude Paroz <claude@2xlibre.net>
+Date: Sun Apr 24 21:25:44 2011 +0200
+
+ Updated French manual translation
+
+ help/manual/fr/fr.po | 681 +++++++++++++++++++++++++++++---------------------
+ 1 files changed, 398 insertions(+), 283 deletions(-)
+
+commit 525f3c41d98ba5d145dba18a72ed1920875fd8ef
+Author: Will Thompson <will.thompson@collabora.co.uk>
+Date: Wed Apr 20 18:56:57 2011 +0100
+
+ configure: use more compatible options for highlight more often
+
+ 24b3544 only changed one of the two locations where the options are
+ specified.
+
+ https://bugzilla.gnome.org/show_bug.cgi?id=648331
+
+ configure.ac | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+commit f6ea2b4158c62f7bdb90ae89773e6474ee1754ec
+Author: Will Thompson <will.thompson@collabora.co.uk>
+Date: Wed Apr 20 09:45:10 2011 -0400
+
+ mkdb: fix issues from wrong rebase conflic handling
+
+ Commit a099085 (“indent: convert tabs to spaces in perl files”) does not
+ in fact just convert tabs to spaces in Perl files: it actually includes
+ code changes and variable renamings. The renaming was not thorough
+ enough, which made gtkdoc-mkdb fail to compile.
+
+ https://bugzilla.gnome.org/show_bug.cgi?id=648289
+
+ gtkdoc-mkdb.in | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+commit 1535ff978030494866b12b5e06aab7358fbd60c4
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Mon Apr 18 22:09:34 2011 -0400
+
+ todo: clarify section.txt plans a bit
+
+ TODO | 4 ++--
+ 1 files changed, 2 insertions(+), 2 deletions(-)
+
+commit 7877aa51f701e4e4669fd9f6f5b725901ab1509b
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Mon Apr 18 22:08:34 2011 -0400
+
+ mkdb+common: use '...' for varargs more consistently
+
+ Fixes non-sense warnings about missing+unused parameters.
+
+ gtkdoc-common.pl.in | 2 +-
+ gtkdoc-mkdb.in | 6 +++---
+ 2 files changed, 4 insertions(+), 4 deletions(-)
+
+commit 912731940f0d2fc74ba710f8348cf130aba25284
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Sat Apr 16 16:38:55 2011 -0400
+
+ todo: planning for section.txt removal
+
+ TODO | 28 +++++++++++++++++++++++++---
+ 1 files changed, 25 insertions(+), 3 deletions(-)
+
+commit 6ce68741c166b88db8f6b0198366e093a68c8441
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Sat Apr 16 16:38:35 2011 -0400
+
+ mkdb: add todo: comment
+
+ gtkdoc-mkdb.in | 5 +++++
+ 1 files changed, 5 insertions(+), 0 deletions(-)
+
+commit 8c1e9f454426e1d4926c879e1ad96efbfdd7acba
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Sat Apr 16 16:38:15 2011 -0400
+
+ mkdb: indent function doc comment
+
+ gtkdoc-mkdb.in | 14 +++++++-------
+ 1 files changed, 7 insertions(+), 7 deletions(-)
+
+commit b5ed47be670b630fb1bad8109e29478154261349
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Sat Apr 16 16:37:17 2011 -0400
+
+ test: use some subsections for testing
+
+ tests/bugs/docs/tester-sections.txt | 6 +++---
+ 1 files changed, 3 insertions(+), 3 deletions(-)
+
+commit 00ec40a4734634c40d8bd42f8371f6deaf4783c5
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Fri Apr 15 06:43:18 2011 +0300
+
+ indent: reindent
+
+ gtkdoc-mkpdf.in | 8 ++++----
+ 1 files changed, 4 insertions(+), 4 deletions(-)
+
+commit a099085e64f71a424f370779a86c62e3a0e2948a
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Fri Apr 15 06:40:43 2011 +0300
+
+ indent: convert tabs to spaces in perl files
+
+ gtkdoc-check.in | 6 +-
+ gtkdoc-common.pl.in | 328 +++---
+ gtkdoc-fixxref.in | 84 +-
+ gtkdoc-mkdb.in | 3453 ++++++++++++++++++++++++++-------------------------
+ gtkdoc-mktmpl.in | 1246 ++++++++++----------
+ gtkdoc-scan.in | 820 ++++++------
+ gtkdoc-scangobj.in | 238 ++--
+ gtkdoc-scanobj.in | 64 +-
+ 8 files changed, 3127 insertions(+), 3112 deletions(-)
+
+commit ac3a10b4647b4d5e97cb2f31c78d2a56d7a4a918
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Thu Apr 14 21:46:45 2011 +0300
+
+ make: use "." instead of $(builddir)
+
+ $(builddir) was introduced in automake-1.10.
+
+ gtk-doc.make | 10 +++++-----
+ gtk-doc.notmpl.make | 8 ++++----
+ 2 files changed, 9 insertions(+), 9 deletions(-)
+
+commit d6a0109e11f862ca3c2d0d06afedf04b5e80bf3c
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Thu Apr 14 21:45:56 2011 +0300
+
+ make: fix leftover builddir and change to srcdir
+
+ gtk-doc.notmpl.make | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+commit 3939e9473aa5cc848ff6295e5e16e7f5203c39aa
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Thu Apr 14 21:35:06 2011 +0300
+
+ make: fix non-existing var-name
+
+ gtk-doc.make | 6 +++---
+ 1 files changed, 3 insertions(+), 3 deletions(-)
+
+commit 4575717b5ea36b95f74d0276dc3593ac2eed9690
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Thu Apr 14 17:25:47 2011 +0300
+
+ scangobj: add new option to template
+
+ gtkdoc-scangobj.in | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+commit ffe06c455be221a9b5f43d755b703ca80a20ccb5
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Thu Apr 14 11:46:59 2011 +0300
+
+ mkpdf: cleanup the dblatex invocation a bit
+
+ gtkdoc-mkpdf.in | 8 +++++---
+ 1 files changed, 5 insertions(+), 3 deletions(-)
+
+commit eafb51e6be288a292bfcca564747c83d892c3639
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Wed Apr 13 17:23:21 2011 +0300
+
+ xsltproc: be more quiet if we have to
+
+ gtkdoc-mkhtml.in | 1 +
+ gtkdoc-mkman.in | 1 +
+ gtkdoc-mkpdf.in | 1 +
+ 3 files changed, 3 insertions(+), 0 deletions(-)
+
+commit c77d80d8dc4ea1d86a3bb976fd4b7f7b71412f82
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Wed Apr 13 16:45:35 2011 +0300
+
+ scangobj,make: add --verbose switch here too and adjust the makefiles
+
+ Don't show compiling the scanner when V=0.
+
+ gtk-doc.make | 10 +++++++++-
+ gtk-doc.notmpl.make | 10 +++++++++-
+ gtkdoc-scangobj.in | 12 ++++++++++--
+ tests/gtk-doc.make | 7 ++++++-
+ tests/gtk-doc.notmpl.make | 7 ++++++-
+ 5 files changed, 40 insertions(+), 6 deletions(-)
+
+commit d965af706e8ce5cf183dc7e4cb7c3bc3d0036e32
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Wed Apr 13 15:19:32 2011 +0300
+
+ scanobj,scangobj: turn 3 prints into comments for saner output
+
+ gtkdoc-scangobj.in | 6 +++---
+ gtkdoc-scanobj.in | 12 ++++++------
+ 2 files changed, 9 insertions(+), 9 deletions(-)
+
+commit a1927b2f46bfd1e09a999f1d1351d48fe2a8cb5d
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Wed Apr 13 15:37:24 2011 +0300
+
+ make: pass --verbose switch to tools that have it according to AM silent rule status
+
+ Check the $(V) var to select wheter we want verbose output or not.
+
+ gtk-doc.make | 22 +++++++++++++++++-----
+ gtk-doc.notmpl.make | 22 +++++++++++++++++-----
+ tests/gtk-doc.make | 19 +++++++++++++------
+ tests/gtk-doc.notmpl.make | 19 +++++++++++++------
+ 4 files changed, 60 insertions(+), 22 deletions(-)
+
+commit ded4638b994c13665eaa53a7cf51c9b89627a764
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Wed Apr 13 15:36:11 2011 +0300
+
+ make: tune output of the buildsteps to latest automake fashion
+
+ gtk-doc.make | 15 ++++++++-------
+ gtk-doc.notmpl.make | 13 +++++++------
+ tests/gtk-doc.make | 20 ++++++++++----------
+ tests/gtk-doc.notmpl.make | 18 +++++++++---------
+ 4 files changed, 34 insertions(+), 32 deletions(-)
+
+commit fcd871037ee1ea7ad857614c938f4fbaf6744b1d
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Wed Apr 13 15:33:29 2011 +0300
+
+ make: tune install output
+
+ Echo errors to stderr and produce install output like other automake generated code.
+
+ gtk-doc.make | 4 ++--
+ gtk-doc.notmpl.make | 4 ++--
+ 2 files changed, 4 insertions(+), 4 deletions(-)
+
+commit 8a7db93c69a913395c2102528226b121186f2f45
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Wed Apr 13 15:09:15 2011 +0300
+
+ mkhtml,mkman,mkpdf: improved usage output, add --verbose switch
+
+ gtkdoc-mkhtml.in | 84 ++++++++++++++++++++++++++++++++---------------------
+ gtkdoc-mkman.in | 70 ++++++++++++++++++++++++++++----------------
+ gtkdoc-mkpdf.in | 80 ++++++++++++++++++++++++++++++++------------------
+ 3 files changed, 146 insertions(+), 88 deletions(-)
+
+commit 24b3544330758e07ee159a0e3217e05fe82382bf
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Wed Apr 13 15:05:01 2011 +0300
+
+ configure: use more compatible option for highlight
+
+ Hightlight change the version between 2.16 and 3.4. Both versions have
+ --out-format, so lets use that one.
+
+ configure.ac | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+commit 32fca472a6ee101004dcaa9ea58debe6ddadab90
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Wed Apr 13 11:53:14 2011 +0300
+
+ make: cleanup and sync makefiles
+
+ gtk-doc.make | 34 +++++++-------
+ gtk-doc.notmpl.make | 30 ++++++------
+ tests/gtk-doc.make | 112 +++++++++++++++++++++++++++++++--------------
+ tests/gtk-doc.notmpl.make | 101 +++++++++++++++++++++++++++-------------
+ 4 files changed, 179 insertions(+), 98 deletions(-)
+
+commit a938ba9ba1212fc490e351cfd7d6574a2bff29f2
+Author: Yaakov Selkowitz <yselkowitz@users.sourceforge.net>
+Date: Tue Apr 5 20:58:40 2011 -0500
+
+ Restore HTML_IMAGES to EXTRA_DIST
+
+ Commit 7d083dacd622d061d12fc60046135897fc2102fc removed HTML_IMAGES from
+ SETUP_FILES in order to handle the case where an image file is created
+ at build time in the builddir. However, this caused HTML_IMAGES to be
+ removed from EXTRA_DIST as well, resulting in HTML_IMAGES not being
+ shipped in tarballs built with gtk-doc 1.17, and if built with
+ --enable-gtk-doc, the build of such packages fails.
+
+ gtk-doc.make | 1 +
+ gtk-doc.notmpl.make | 1 +
+ 2 files changed, 2 insertions(+), 0 deletions(-)
+
+commit b77e98f1815a481c674ac7a4ff82c29447a2c8d4
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Thu Apr 7 22:03:08 2011 +0300
+
+ common: print -> @TRACE@
+
+ gtkdoc-common.pl.in | 22 +++++++++++-----------
+ 1 files changed, 11 insertions(+), 11 deletions(-)
+
+commit d019c24e2afe375dd8aa6ef181269c1c5e5842da
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Thu Apr 7 21:51:14 2011 +0300
+
+ mktmpl: trim trailing whitespace
+
+ gtkdoc-mktmpl.in | 6 +++---
+ 1 files changed, 3 insertions(+), 3 deletions(-)
+
+commit 47612ab9c5b5d61a54a2bf48028724c15ced0e0d
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Thu Apr 7 16:44:26 2011 +0300
+
+ mkdb: fix padding in generated docs
+
+ We need to strip trailing whitespace before checking how much we need to padding
+ up. Before sometimes lines where skipped from padding.
+
+ gtkdoc-mkdb.in | 16 +++++++++-------
+ 1 files changed, 9 insertions(+), 7 deletions(-)
+
+commit 69580a892f644b75492505333c7e7da15319d387
+Author: Daniel Mustieles <daniel.mustieles@gmail.com>
+Date: Wed Apr 6 19:51:43 2011 +0200
+
+ Updated Spanish translation
+
+ help/manual/es/es.po | 391 ++++++++++++++++++++++++++------------------------
+ 1 files changed, 200 insertions(+), 191 deletions(-)
+
+commit 4d06dd7010542a1f90e03c9b0ae1718da007defc
+Author: Mario Blättermann <mariobl@gnome.org>
+Date: Tue Apr 5 20:47:27 2011 +0200
+
+ [l10n] Updated German translation
+
+ help/manual/de/de.po | 693 +++++++++++++++++++++++++++++---------------------
+ 1 files changed, 407 insertions(+), 286 deletions(-)
+
+commit c3cb07dc6c457f72e8740cc9f692a0f138fd6576
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Tue Apr 5 17:11:35 2011 +0300
+
+ mkdb: improve the ignore files/dirs feature
+
+ People either specify local files or files with full path from doc-sourcedir.
+ Take source-dirs into account when checking for the files.
+
+ gtkdoc-mkdb.in | 27 +++++++++++++++++++++++----
+ 1 files changed, 23 insertions(+), 4 deletions(-)
+
+commit 6ad6c201e40a99ae94c8e10e829998bd8b4b909a
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Tue Apr 5 10:09:09 2011 +0300
+
+ help: indent
+
+ help/manual/C/gtk-doc-manual.xml | 14 +++++++-------
+ 1 files changed, 7 insertions(+), 7 deletions(-)
+
+commit 90e0dc2c536baa70649e3d49df5cd46f142927e9
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Tue Apr 5 10:08:35 2011 +0300
+
+ help: give better guidance on writing api-docs.
+
+ help/manual/C/gtk-doc-manual.xml | 20 ++++++++++++++++++++
+ 1 files changed, 20 insertions(+), 0 deletions(-)
+
+commit f07b3d5a068efaa574564cce6c7f6c41c1d2e465
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Tue Apr 5 09:58:51 2011 +0300
+
+ scan: add one more trace statement
+
+ gtkdoc-scan.in | 5 ++++-
+ 1 files changed, 4 insertions(+), 1 deletions(-)
+
+commit 22ecc8ce9d5a739360c03772081991c180c58196
+Author: Jorge González <jorgegonz@svn.gnome.org>
+Date: Sat Apr 2 20:54:39 2011 +0200
+
+ Updated Spanish translation
+
+ help/manual/es/es.po | 364 +++++++++++++++++++++++++-------------------------
+ 1 files changed, 184 insertions(+), 180 deletions(-)
+
+commit e8c2c565b3a8e41cfdce75cece4df74a06935b47
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Fri Apr 1 11:14:27 2011 +0300
+
+ docs: document the markdown support
+
+ help/manual/C/gtk-doc-manual.xml | 39 ++++++++++++++++++++++++++++++++-----
+ 1 files changed, 33 insertions(+), 6 deletions(-)
+
+commit fe178d04544804c8909fc035591f2252f3e67cac
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Fri Apr 1 11:11:37 2011 +0300
+
+ mkdb: extend the markdown parser to handle itemized lists.
+
+ List are done by starting lines with a - and having one item per line. Lists
+ cannot be nested (yet). Add an example for it.
+
+ gtkdoc-mkdb.in | 59 +++++++++++++++++++++++++++++--------------
+ tests/gobject/src/gobject.c | 17 ++++++------
+ 2 files changed, 48 insertions(+), 28 deletions(-)
+
+commit 5d0ca8c60b20a907040d1e69f128c687ce9f3b8b
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Tue Mar 29 22:23:04 2011 +0300
+
+ mkdb: start simple markdown parser
+
+ Turn ConvertBlankLines into a function that handles MarkDown. In addition to
+ paragraph markers we now handle simple subsections.
+
+ Fixes: #639145
+
+ gtkdoc-mkdb.in | 67 +++++++++++++++++++++++++++++++++++--------
+ tests/gobject/src/gobject.c | 21 +++++++++----
+ 2 files changed, 69 insertions(+), 19 deletions(-)
+
+commit 25e536de87f2f98b6482c42a8a452b101545a47d
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Tue Mar 29 21:28:46 2011 +0300
+
+ mkdb: format and extend function comment
+
+ gtkdoc-mkdb.in | 9 ++++++---
+ 1 files changed, 6 insertions(+), 3 deletions(-)
+
+commit e1030f9f3be5223169c085639119c3a02515f483
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Tue Mar 29 21:21:35 2011 +0300
+
+ tests: add a test case for bug #642998
+
+ tests/bugs/docs/tester-sections.txt | 1 +
+ tests/bugs/src/tester.h | 17 ++++++++++++++++-
+ 2 files changed, 17 insertions(+), 1 deletions(-)
+
+commit 22f5b79167c8eeb048b4b18a4b4a4b7f935d2c28
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Tue Mar 29 13:14:00 2011 +0300
+
+ common: when parsing enums, only supress () pairs on one line
+
+ Previously this was matching a "(.*)" sequence across lines and thus could
+ hide enums that contain brackets as character constant.
+
+ Fixes: #644291
+
+ gtkdoc-common.pl.in | 2 +-
+ tests/bugs/docs/tester-sections.txt | 1 +
+ tests/bugs/src/tester.h | 22 ++++++++++++++++++++++
+ 3 files changed, 24 insertions(+), 1 deletions(-)
+
+commit c38bd89bfbd2a98ec6b354f8aa97e3d82f800c3d
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Tue Mar 29 12:38:10 2011 +0300
+
+ scan: turn #print into new @TRACE@
+
+ gtkdoc-scan.in | 104 ++++++++++++++++++++++++++++----------------------------
+ 1 files changed, 52 insertions(+), 52 deletions(-)
+
+commit 615851b41bf3e7fd7724b05df7b278148525952e
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Tue Mar 29 12:35:16 2011 +0300
+
+ common: add a conditinal tracing system
+
+ We can now sprinkle the code with @TRACE@("info");. The tracing is by default
+ disabled. It can be enabled by passing --enable-debug to configure and setting
+ GTKDOC_TRACE=1 in the environment at run-time.
+
+ TODO | 10 +---------
+ configure.ac | 8 ++++++--
+ gtkdoc-common.pl.in | 11 +++++++++++
+ 3 files changed, 18 insertions(+), 11 deletions(-)
+
+commit 52fd2452628f94bb6daa93c4377017669ab57428
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Tue Mar 29 12:14:53 2011 +0300
+
+ scan: use LogWarning more
+
+ gtkdoc-scan.in | 4 ++--
+ 1 files changed, 2 insertions(+), 2 deletions(-)
+
+commit 426cc5176fc98fd91c11e6925aae8e8b57e70179
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Tue Mar 29 11:37:21 2011 +0300
+
+ mkdb: improve referencing object members localy
+
+ For class documentation one can write "implemnt @vmethod1() and @vmethod2()"
+ where the '@' would turn it into parameter markup, but should not be visible
+ in the resulting docs.
+
+ gtkdoc-mkdb.in | 87 ++++++++++++++++++++++--------------------
+ tests/gobject/src/gobject.h | 2 +
+ 2 files changed, 48 insertions(+), 41 deletions(-)
+
+commit 58bb2ddff0c5bf59a30663fd74eb8311c627c08d
+Author: Bakaoukas Nikolaos <nikolaos.x1@gmail.com>
+Date: Sun Mar 13 20:37:24 2011 +0200
+
+ l10n: Updated Greek translation
+
+ help/manual/el/el.po | 2555 ++++++++------------------------------------------
+ 1 files changed, 393 insertions(+), 2162 deletions(-)
+
+commit f8a642a371f3d42a4558a6ce522765fc4d870a2d
+Author: Jorge González <jorgegonz@svn.gnome.org>
+Date: Sun Mar 6 15:01:28 2011 +0100
+
+ Updated Spanish translation
+
+ help/manual/es/es.po | 496 ++++++++++++++++++++++++++++----------------------
+ 1 files changed, 275 insertions(+), 221 deletions(-)
+
+commit f6b27beff42cca6ed12206caf2da1fee3fe8c616
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Sun Feb 27 22:07:36 2011 +0200
+
+ HACKING: update steps
+
+ HACKING | 3 +++
+ 1 files changed, 3 insertions(+), 0 deletions(-)
+
+commit dc17092508585f0a125fae6fdacbd3035e2a2af5
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Sun Feb 27 22:07:18 2011 +0200
+
+ docs: indent
+
+ help/manual/C/gtk-doc-manual.xml | 4 ++--
+ 1 files changed, 2 insertions(+), 2 deletions(-)
+
+commit 3b088ad3d231ca2eb52d13f8538787c600d8ce41
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Sun Feb 27 22:06:54 2011 +0200
+
+ docs: add a section to explain the basic build order
+
+ help/manual/C/gtk-doc-manual.xml | 38 +++++++++++++++++++++++++++++++++++++-
+ 1 files changed, 37 insertions(+), 1 deletions(-)
+
+commit 246913323d9e6b9127337ed81fae637a5792f522
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Sun Feb 27 22:06:16 2011 +0200
+
+ docs: mention that the main file is .xml or can be .sgml
+
+ help/manual/C/gtk-doc-manual.xml | 10 +++++-----
+ 1 files changed, 5 insertions(+), 5 deletions(-)
+
+commit d7a400e6b7c9c6bb93290e06bdc6fd5403d2faa9
+Author: Jorge González <jorgegonz@svn.gnome.org>
+Date: Sun Feb 27 12:05:36 2011 +0100
+
+ Updated Spanish translation
+
+ help/manual/es/es.po | 599 ++++++++++++++++++++++++++------------------------
+ 1 files changed, 316 insertions(+), 283 deletions(-)
+
+commit 96c24c24c336fe3654ede0d568dbadcf118a412c
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Sat Feb 26 14:35:32 2011 +0200
+
+ release: bump versions and back to development
+
+ configure.ac | 2 +-
+ help/manual/C/gtk-doc-manual.xml | 6 ++++++
+ 2 files changed, 7 insertions(+), 1 deletions(-)
+
+commit 2ad157dd2197d592e110ba367838e67a6f182770
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Sat Feb 26 14:25:54 2011 +0200
+
+ release: update news and date in manual
+
+ NEWS | 14 ++++++++++++++
+ configure.ac | 2 +-
+ help/manual/C/gtk-doc-manual.xml | 6 +++---
+ 3 files changed, 18 insertions(+), 4 deletions(-)
+
+commit 145510fe584800d6e8582174d9579cba696e9458
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Tue Feb 22 16:00:26 2011 +0200
+
+ docs: add a section with gtk-doc related tools
+
+ help/manual/C/gtk-doc-manual.xml | 53 ++++++++++++++++++++++++-------------
+ 1 files changed, 34 insertions(+), 19 deletions(-)
+
+commit 57c841cfa6fd49b5e9f914a54fedb0dca10910f1
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Tue Feb 1 16:44:45 2011 +0200
+
+ TODO: more planning
+
+ TODO | 8 ++++++++
+ 1 files changed, 8 insertions(+), 0 deletions(-)
+
+commit 7d083dacd622d061d12fc60046135897fc2102fc
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Thu Feb 3 00:11:58 2011 +0200
+
+ make: fix handling of HTML_IMAGES
+
+ We don't copy them in setup. When copying them we need to handle that some file
+ have been created and thus are in builddir already. For extra joy people have
+ them eventually in subdirs too.
+
+ gtk-doc.make | 11 +++++++++--
+ gtk-doc.notmpl.make | 11 +++++++++--
+ 2 files changed, 18 insertions(+), 4 deletions(-)
+
+commit 2347c227868cd1d08cad681d9fc531db22ce2bd7
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Wed Feb 2 23:35:21 2011 +0200
+
+ make: fix leftover files in build-dir.
+
+ Especially in the tmpl build case we build in builddir, but we need to copy
+ the files back to allow them to be checked in.
+
+ gtk-doc.make | 15 ++++++++++++---
+ gtk-doc.notmpl.make | 5 +++--
+ 2 files changed, 15 insertions(+), 5 deletions(-)
+
+commit 362e534c1002de9413af4c9705b29a3cee09f37e
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Wed Feb 2 01:40:10 2011 +0200
+
+ make: use stamp-files to avoid rebuilding during make check
+
+ gtk-doc.make | 3 ++-
+ gtk-doc.notmpl.make | 3 ++-
+ 2 files changed, 4 insertions(+), 2 deletions(-)
+
+commit 514c524ffda9d316d054143d36bd559b3e417034
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Mon Jan 31 22:46:45 2011 +0200
+
+ make: stop using a wildcard for the setup files
+
+ Use an explicit list. With the wildcar we e.g. also copy gio-xxx.1 in glib
+ and breaking the build as the file would be already present. Properly clean
+ all copied files using the new list var.
+
+ gtk-doc.make | 14 ++++++++------
+ gtk-doc.notmpl.make | 14 ++++++++------
+ 2 files changed, 16 insertions(+), 12 deletions(-)
+
+commit 70096cab10079a4b6c6d0b6ee829ef1ec004f502
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Mon Jan 31 10:27:11 2011 +0200
+
+ TODO: planning
+
+ TODO | 59 ++++++++++++++++++++++++++++++++++-------------------------
+ 1 files changed, 34 insertions(+), 25 deletions(-)
+
+commit 2d4d03f8b93e3d0e01eb619da43106ea29e5b493
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Sat Jan 29 00:46:06 2011 +0200
+
+ make: fix dependency to setup stamp
+
+ gtk-doc.make | 4 ++--
+ gtk-doc.notmpl.make | 2 +-
+ 2 files changed, 3 insertions(+), 3 deletions(-)
+
+commit f56f32234d70b4df50073c0764ecf5bc79de4a81
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Fri Jan 28 22:29:25 2011 +0200
+
+ gtk-doc.mak: use cp -p instead of cp -a
+
+ Fixes issues on macosx
+
+ gtk-doc.make | 6 +++---
+ gtk-doc.notmpl.make | 8 ++++----
+ 2 files changed, 7 insertions(+), 7 deletions(-)
+
+commit b19bee782925023574df28db778e9411a6cc891b
+Author: Daniel Mustieles <daniel.mustieles@gmail.com>
+Date: Thu Jan 27 21:31:24 2011 +0100
+
+ Updated Spanish translation
+
+ help/manual/es/es.po | 531 ++++++++++++++++++++++++++------------------------
+ 1 files changed, 275 insertions(+), 256 deletions(-)
+
+commit 54ce2841cc2b1cdc4afd34c66ac1654b0f3ef1c4
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Thu Jan 27 17:18:18 2011 +0200
+
+ make: dist files form builddir
+
+ gtk-doc.make | 10 +++++-----
+ 1 files changed, 5 insertions(+), 5 deletions(-)
+
+commit b3debfa020f8d72dc3a6b3c10e970ebadfb4679d
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Thu Jan 27 17:08:54 2011 +0200
+
+ make: fix setup.stamp logic
+
+ We need to copy all files that exist. Also include expand_content_files.
+
+ gtk-doc.make | 6 +++---
+ gtk-doc.notmpl.make | 6 +++---
+ 2 files changed, 6 insertions(+), 6 deletions(-)
+
+commit 0c29fb4216bd0064845b9e46a5902d8913b496eb
+Author: Javier Jardón <jjardon@gnome.org>
+Date: Mon Jan 17 23:09:29 2011 +0200
+
+ configure.ac: Fix typo
+
+ configure.ac | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+commit 7bf28c2a73aa684d6dcea235f9f7e9ce7df84349
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Mon Jan 17 22:51:17 2011 +0200
+
+ release: bump versions and back to development
+
+ configure.ac | 2 +-
+ help/manual/C/gtk-doc-manual.xml | 6 ++++++
+ 2 files changed, 7 insertions(+), 1 deletions(-)
+
+commit 2b06d253a5b6445d733e6f68153b7376fd0481d0
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Fri Jan 14 23:48:05 2011 +0200
+
+ release: update news and date in manual
+
+ NEWS | 52 +++++++++++++++++++++++++++++++++++++-
+ configure.ac | 2 +-
+ help/manual/C/gtk-doc-manual.xml | 6 ++--
+ 3 files changed, 55 insertions(+), 5 deletions(-)
+
+commit 8f27127dfb393726895259a8d951288835b47606
+Author: Matthias Clasen <mclasen@redhat.com>
+Date: Thu Jan 6 09:29:07 2011 -0500
+
+ Support GTK+ 3 cell properties
+
+ This commit adds minimal support for the cell properties that
+ GTK+ 3 introduces on GtkCellArea subclasses, by treating them
+ the same as child properties.
+
+ gtkdoc-scangobj.in | 8 ++++++++
+ 1 files changed, 8 insertions(+), 0 deletions(-)
+
+commit af667b04c9fed8151b38afdbb1cc6b669f0a4ee9
+Author: Javier Jardón <jjardon@gnome.org>
+Date: Thu Jan 13 20:43:12 2011 +0000
+
+ autogen.sh: Use autoreconf
+
+ Makefile.am | 2 +-
+ autogen.sh | 100 +++++++---------------------------------------------------
+ configure.ac | 8 ++---
+ 3 files changed, 16 insertions(+), 94 deletions(-)
+
+commit dcf604f9b26397f9779e183f23dfd62b0a7ba645
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Thu Jan 13 17:53:13 2011 +0200
+
+ scnobj: fix spelling and trailing whitespaces
+
+ gtkdoc-scangobj.in | 14 +++++++-------
+ 1 files changed, 7 insertions(+), 7 deletions(-)
+
+commit 4cfc71cd836d73b15254f73f58d8fd5f85fcc1f6
+Author: Maarten Bosmans <mkbosmans@gmail.com>
+Date: Mon Jan 10 14:35:16 2011 +0200
+
+ parsing: improve parsing of arguments
+
+ The 'const' in a 'const unsigned char *xxx' parameter was dropped. Add test-case
+ as well. Fixes #638330.
+
+ gtkdoc-common.pl.in | 28 ++++++++++++++--------------
+ tests/bugs/docs/tester-sections.txt | 1 +
+ tests/bugs/src/tester.c | 26 +++++++++++++++++++-------
+ tests/bugs/src/tester.h | 10 +++++++---
+ 4 files changed, 41 insertions(+), 24 deletions(-)
+
+commit 7cbb5311fcbfcb2541e840cea459d637bff0d9ec
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Fri Jan 7 16:39:32 2011 +0200
+
+ pkg-config: add datadir as a pkg-config var
+
+ Allow other modules to query the gtk-doc datadir location with
+ pkg-config --variable=data_dir gtk-doc
+
+ gtk-doc.pc.in | 1 +
+ 1 files changed, 1 insertions(+), 0 deletions(-)
+
+commit af310ffef435c107427bdc980b339b965bfa438f
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Fri Dec 17 09:50:52 2010 +0200
+
+ gtkdoc.make: fix out of srcdir builds
+
+ Instead of making the srcdir writable, copy the needed files to builddir.
+
+ Fixes #127049
+
+ gtk-doc.make | 79 ++++++++++++++++++++++++++------------------
+ gtk-doc.notmpl.make | 90 ++++++++++++++++++++++++++++++---------------------
+ 2 files changed, 100 insertions(+), 69 deletions(-)
+
+commit 7b38b9de8f26e526967ee4a0ff08454a794508fb
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Wed Dec 15 10:09:54 2010 +0200
+
+ tests: disable pararrel make for bootstrap test
+
+ This should fix the signle test failure on build.gnome.org, as long as we have
+ no better idea how to handle make dependencies for generated files.
+
+ tests/empty/docs/Makefile.am | 6 ++++++
+ 1 files changed, 6 insertions(+), 0 deletions(-)
+
+commit 836f653025803ca8e26b2069f9b665debbd7c5eb
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Thu Oct 28 04:01:06 2010 +0300
+
+ scangobj: figure out additional root types
+
+ Discover root types besides GObject and GInterface.
+
+ gtkdoc-scangobj.in | 25 ++++++++++++++++++-------
+ 1 files changed, 18 insertions(+), 7 deletions(-)
+
+commit 2a9498decafe070c6512af36e9589b6c05442d23
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Fri Nov 26 12:02:28 2010 +0200
+
+ Makefile.am,scan: clarify --igrnore-headers
+
+ Aparently ignore-headers can be used to skip whole dirs as well.
+
+ examples/Makefile.am | 4 ++--
+ gtkdoc-scan.in | 3 ++-
+ 2 files changed, 4 insertions(+), 3 deletions(-)
+
+commit 763d0ab96678db8d83bb59155b0c246efdea3196
+Author: Mario Blättermann <mariobl@gnome.org>
+Date: Sat Nov 6 19:33:06 2010 +0100
+
+ [l10n] Updated German doc translation, fixed some XML errors
+
+ help/manual/de/de.po | 20 ++++++++++----------
+ 1 files changed, 10 insertions(+), 10 deletions(-)
+
+commit c704150ee7ea7f83bc601449673c6f4273829594
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Thu Nov 4 22:53:01 2010 +0200
+
+ docs: fix the configure.ac suggestion for gtk-doc less setups
+
+ We need to define the automake conditional regardless to avoid automake failure
+ during autogen phase.
+
+ help/manual/C/gtk-doc-manual.xml | 2 ++
+ 1 files changed, 2 insertions(+), 0 deletions(-)
+
+commit 0f823987820f1b15a07b2464149c9221b360033a
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Wed Oct 20 12:00:25 2010 +0300
+
+ mkdb: add support for "closure" annotation
+
+ Fixes #632587.
+
+ gtkdoc-mkdb.in | 1 +
+ 1 files changed, 1 insertions(+), 0 deletions(-)
+
+commit 23e5c3c5c7b80e27321925507e089fa9b3f7a364
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Wed Oct 20 11:51:43 2010 +0300
+
+ scan(g)obj: remove special case handling for GdkEvent
+
+ Remove get_gdk_event() as those things should be just properly documented in the
+ library. Fixes #631336
+
+ gtkdoc-scangobj.in | 64 +---------------------------------------------------
+ gtkdoc-scanobj.in | 64 +---------------------------------------------------
+ 2 files changed, 2 insertions(+), 126 deletions(-)
+
+commit 97302d742938145bb57d725f0cd119835bfb7333
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Wed Oct 20 11:50:54 2010 +0300
+
+ mkdb: purge more whitespaces from the generated xml/sgml
+
+ gtkdoc-mkdb.in | 21 ++++++++++++++++-----
+ 1 files changed, 16 insertions(+), 5 deletions(-)
+
+commit de48a13ee2d2e3855218596a68c699bbb42b9e2f
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Wed Oct 20 11:18:49 2010 +0300
+
+ mkdb: again purge empty para tags when merging tmpl docs
+
+ gtkdoc-mkdb.in | 7 +++++++
+ 1 files changed, 7 insertions(+), 0 deletions(-)
+
+commit aa153dd670d00ffcf98d985c8c06664125edbef0
+Author: Claude Paroz <claude@2xlibre.net>
+Date: Wed Oct 20 08:51:59 2010 +0200
+
+ [help] Fix XML validity of French translation
+
+ help/manual/fr/fr.po | 4 ++--
+ 1 files changed, 2 insertions(+), 2 deletions(-)
+
+commit 58f1ade7065fb90a0942a93f860db45b3cfc36a3
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Tue Oct 19 22:05:20 2010 +0300
+
+ tests: add an example for hiding an enum value
+
+ tests/gobject/src/gtypes.c | 1 +
+ tests/gobject/src/gtypes.h | 4 +++-
+ 2 files changed, 4 insertions(+), 1 deletions(-)
+
+commit 521767f0aded5c3beb75b3c11911e0df123069cb
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Tue Oct 19 10:34:12 2010 +0300
+
+ mkdb: do strip all tags when checking for empty docs, but don't reset tmpl docs
+
+ We were resetting the tmpl-docs, but we need if for the merge. If we don't strip
+ all tags we end up with more warnings.
+
+ gtkdoc-mkdb.in | 15 ++++++---------
+ 1 files changed, 6 insertions(+), 9 deletions(-)
+
+commit 6db2ce6b1e39e1d7f04a7b4a47e89c98625aa483
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Thu Sep 23 09:46:39 2010 +0300
+
+ design: add links to wikicreole for new syntax ideas
+
+ doc/design-2.x.txt | 7 +++++++
+ 1 files changed, 7 insertions(+), 0 deletions(-)
+
+commit f9a864f8bf403464a948fd8f56cd1dbe88b7fa37
+Author: Matej Urbančič <mateju@svn.gnome.org>
+Date: Sun Oct 17 21:04:51 2010 +0200
+
+ Added sl for Slovenian translation
+
+ help/manual/Makefile.am | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+commit 2a8dd4cc9f2a2c604e8164747629158427817584
+Author: Matej Urbančič <mateju@svn.gnome.org>
+Date: Sun Oct 17 21:04:32 2010 +0200
+
+ Updated Slovenian translation
+
+ help/manual/sl/sl.po | 1460 ++++++++++++++++++++++++++++++++++++++++++++++++++
+ 1 files changed, 1460 insertions(+), 0 deletions(-)
+
+commit c42c99bfb823d7c78bf4de5e925029232a171998
+Author: Rodrigo Aliste <raliste@googlemail.com>
+Date: Sat Oct 16 15:36:51 2010 -0300
+
+ css: Don't hide anchor links when navigating.
+
+ Fixes bug #618379.
+
+ style-classic.css | 3 ++-
+ style.css | 3 ++-
+ 2 files changed, 4 insertions(+), 2 deletions(-)
+
+commit 35bbf7adb7a7c0071a6c74ebff141c84a18962e7
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Mon Oct 4 21:10:59 2010 +0300
+
+ scanobj,scangobj: remove signal argument table.
+
+ This table is practically unmaintained and now even causes problems with
+ refactorings in gtk+-3.X. Gtk+ should document signals like any other library.
+
+ Fixes #631336.
+
+ gtkdoc-scangobj.in | 334 +++++++--------------------------------------------
+ gtkdoc-scanobj.in | 323 ++++++--------------------------------------------
+ 2 files changed, 86 insertions(+), 571 deletions(-)
+
+commit 8506e3b61dca2861b594c3cea2dc4e0470aad4fc
+Author: Gilles Dartiguelongue <eva@gentoo.org>
+Date: Sun Sep 26 18:48:04 2010 +0200
+
+ Allow selection of a specific syntax highlighter, bug #628611.
+
+ configure.ac | 53 +++++++++++++++++++++++++++++++++++++++++++----------
+ 1 files changed, 43 insertions(+), 10 deletions(-)
+
+commit 280c2d0654be3f39bd357c1dee9919ef1c34be21
+Author: Tim-Philipp Müller <tim.muller@collabora.co.uk>
+Date: Mon Oct 4 12:08:47 2010 +0300
+
+ gtkdoc-scangobj: serialise doubles and floats always with a decimal dot
+
+ Make sure floats and double property values are output with a decimal dot (and
+ not e.g. a comma) irrespective of the current locale. g_ascii_formatd() is used
+ here instead of g_ascii_dtostr() because we want nice human-readable numbers and
+ do not need the exact same bit representation when deserialising.
+
+ Other parts of gtk-doc may need fixing as well to make sure to always
+ deserialise floats and doubles in C locale.
+
+ gtkdoc-scangobj.in | 23 +++++++++++++++++++----
+ 1 files changed, 19 insertions(+), 4 deletions(-)
+
+commit 8688e1d689d498f541d0f64ca141b503c9620837
+Author: P. F. Chimento <philip.chimento@gmail.com>
+Date: Mon Oct 4 11:54:27 2010 +0300
+
+ Fix functions with function pointer arguments
+
+ This patch fixes bug #597937 and adds a test case.
+
+ gtkdoc-common.pl.in | 7 +++----
+ tests/bugs/docs/tester-sections.txt | 1 +
+ tests/bugs/src/tester.c | 7 +++++++
+ tests/bugs/src/tester.h | 1 +
+ 4 files changed, 12 insertions(+), 4 deletions(-)
+
+commit f24b78e8082e9bce65e988bd8004ecbace42a608
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Mon Oct 4 11:48:26 2010 +0300
+
+ NEWS: start collecting news
+
+ NEWS | 7 +++++++
+ 1 files changed, 7 insertions(+), 0 deletions(-)
+
+commit 4fbfeef8d01ebe10f2bb873a436a9874fd75da5b
+Author: Vasilis Tsivikis <undersec.tr3los@gmail.com>
+Date: Sat Oct 2 21:32:10 2010 +0300
+
+ l10n: Updated Greek translation for gtk-doc help
+
+ help/manual/el/el.po | 3097 ++++++++++++++++++++++++++++++++++++++++----------
+ 1 files changed, 2476 insertions(+), 621 deletions(-)
+
+commit a900d4a349bf29316bb72211005ec01217ac5669
+Author: Bruno Brouard <annoa.b@gmail.com>
+Date: Fri Sep 24 12:46:02 2010 +0200
+
+ Updated French doc translation
+
+ help/manual/fr/fr.po | 427 +++++++++++++++++++++++++++-----------------------
+ 1 files changed, 229 insertions(+), 198 deletions(-)
+
+commit 50636742ee71fabd6fc306c4da53d2c431497f44
+Author: Simón Pena <spenap@gmail.com>
+Date: Tue Sep 21 21:47:55 2010 +0200
+
+ Fix 'scope notified' annotation
+
+ https://bugzilla.gnome.org/show_bug.cgi?id=630288
+
+ gtkdoc-mkdb.in | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+commit eb70b07faab9b863cd70ee0d4e3b5566e214ec01
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Tue Sep 21 17:17:12 2010 +0300
+
+ check: fix check invocation with env-vars
+
+ We need to first cd and then set env-vars so that the vars are active for the
+ process. Also pick the chance and pass srcdir + builddir (needed for transition
+ of building in builddir).
+
+ examples/Makefile.am | 4 ++--
+ gtkdoc-check.in | 22 +++++++++++++++++-----
+ 2 files changed, 19 insertions(+), 7 deletions(-)
+
+commit a04d755fcc19f780623f3b1bc30cf9e9915bd5fa
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Tue Sep 21 10:12:27 2010 +0300
+
+ check: use the right comparision operator for strings
+
+ gtkdoc-check.in | 4 ++--
+ 1 files changed, 2 insertions(+), 2 deletions(-)
+
+commit 6689f85421d54949effafb1164f18257927234c1
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Mon Sep 20 12:05:13 2010 +0300
+
+ scan: track forward decls and thus allow skipping duplicate symbols
+
+ gtkdoc-scan.in | 31 ++++++++++++++++++++-----------
+ 1 files changed, 20 insertions(+), 11 deletions(-)
+
+commit 2761bb733487415e277fa18e4ea1d9cce6bdaeb0
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Mon Sep 20 12:03:42 2010 +0300
+
+ scan: use var for match to avoid invalidating it befroe later access
+
+ gtkdoc-scan.in | 5 +++--
+ 1 files changed, 3 insertions(+), 2 deletions(-)
+
+commit 460e72183338efad84b08e5069176920a92a3f1e
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Mon Sep 20 10:55:20 2010 +0300
+
+ scan: attempt to handle skipping redeclarations of symbols
+
+ This unfortunately does not work yet. If a header has multiple different
+ declarations of a symbol, we would like to only use the first.
+
+ gtkdoc-scan.in | 74 +++++++++++++++++++++++++++++++++----------------------
+ 1 files changed, 44 insertions(+), 30 deletions(-)
+
+commit 7810dcbf594a4debd8d414ff7dccc2399ea6b529
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Mon Sep 20 10:54:05 2010 +0300
+
+ mkdb,tests: fix the tests
+
+ mkdb should also output the deprecated xi:include on first run. Add a few of the
+ missing xi:inlcudes in the tests.
+
+ gtkdoc-mkdb.in | 4 ++++
+ tests/annotations/docs/tester-docs.xml | 9 ++++++---
+ tests/bugs/docs/tester-docs.xml | 4 ++++
+ 3 files changed, 14 insertions(+), 3 deletions(-)
+
+commit 618986836167d279992433f461678df5c47b8f88
+Author: Jorge González <jorgegonz@svn.gnome.org>
+Date: Thu Sep 16 18:50:26 2010 +0200
+
+ Updated Spanish translation
+
+ help/manual/es/es.po | 426 ++++++++++++++++++++++++++------------------------
+ 1 files changed, 220 insertions(+), 206 deletions(-)
+
+commit fb06cef480903fcfef7eb366de3b7dfd2fd9fd2d
+Author: Philip Withnall <philip@tecnocode.co.uk>
+Date: Wed Sep 8 22:36:53 2010 +0100
+
+ gtkdoc-check: Add a test checking if all XML files are included in main file
+
+ Add a test to gtkdoc-check which checks if all XML files in the xml directory
+ are included in $DOC_MAIN_SGML_FILE. Closes: bgo#627920
+
+ gtkdoc-check.in | 44 ++++++++++++++++++++++++++++++++++++++++++--
+ 1 files changed, 42 insertions(+), 2 deletions(-)
+
+commit 51b5397e622ad1ee3075101339de73f8979ee145
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Wed Sep 15 21:43:06 2010 +0300
+
+ tests: put some Makefile.am vars to test environment for gtkdoc-check
+
+ Put DOC_MODULE and DOC_MAIN_SGML_FILE to test environmet.
+
+ examples/Makefile.am | 7 +++++--
+ gtkdoc-check.in | 8 ++++++--
+ tests/annotations/docs/Makefile.am | 1 +
+ tests/bugs/docs/Makefile.am | 1 +
+ tests/empty/docs/Makefile.am | 1 +
+ tests/fail/docs/Makefile.am | 1 +
+ tests/gobject/docs-tmpl/Makefile.am | 1 +
+ tests/gobject/docs/Makefile.am | 1 +
+ 8 files changed, 17 insertions(+), 4 deletions(-)
+
+commit f57c90e125679a2bcadf739ca894e68c9f7af3f4
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Mon Sep 13 14:52:52 2010 +0300
+
+ docs: share a trick about gtk-doc dependecy
+
+ help/manual/C/gtk-doc-manual.xml | 17 +++++++++++++++++
+ 1 files changed, 17 insertions(+), 0 deletions(-)
+
+commit 2ae6867592017bb83b39c3be201e842cf77fc1f7
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Mon Sep 13 14:14:08 2010 +0300
+
+ scan: provide a way to skip unparsable code
+
+ Allow to use #ifndef __GTK_DOC_IGNORE__ to mark unparseable code.
+ Fixes #512565.
+
+ gtkdoc-scan.in | 16 ++++++++++++++++
+ help/manual/C/gtk-doc-manual.xml | 15 +++++++++++++++
+ tests/bugs/src/tester.h | 3 +++
+ 3 files changed, 34 insertions(+), 0 deletions(-)
+
+commit af40937eace98440e5f75b2ff9496111b6ef61e8
+Author: Claude Paroz <claude@2xlibre.net>
+Date: Fri Sep 10 09:04:23 2010 +0200
+
+ [help] Update French translation
+
+ Contributed by Claude Paroz and Bruno Brouard
+
+ help/manual/fr/fr.po | 758 +++++++++++++++++++++++++++++---------------------
+ 1 files changed, 444 insertions(+), 314 deletions(-)
+
+commit 1d5b2a2ebf39b78080b4b5700aee7ff90283162d
+Author: Jorge González <jorgegonz@svn.gnome.org>
+Date: Thu Sep 9 21:17:20 2010 +0200
+
+ Updated Spanish translation
+
+ help/manual/es/es.po | 522 +++++++++++++++++++++++---------------------------
+ 1 files changed, 243 insertions(+), 279 deletions(-)
+
+commit 6f7b75d23c3a8402095a07701a6fb750fcac23bc
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Thu Sep 9 00:21:37 2010 +0300
+
+ mkdb: xref signal flags
+
+ Xref signal flags to gobject docs. Fixes #627269.
+
+ gtkdoc-mkdb.in | 15 ++++++++-------
+ 1 files changed, 8 insertions(+), 7 deletions(-)
+
+commit 70abe37062ace247e8941afc73f2dba0da39a431
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Wed Sep 8 23:01:40 2010 +0300
+
+ docs: small doc update
+
+ Mention in more places that tmpl-files and sgml support is legacy.
+
+ README | 7 +++++--
+ help/manual/C/gtk-doc-manual.xml | 17 +++++++++--------
+ 2 files changed, 14 insertions(+), 10 deletions(-)
+
+commit 2190c4fd213dd5849f6ea04708ac3fb1bb6a5c1b
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Wed Sep 8 22:51:57 2010 +0300
+
+ mkdb: add a --xml-mode alias for --sgml-mode
+
+ Also mention xml-mode in the docs first and change it in examples/Makefile.am.
+ Switch it in the tests. One day we can kill sgml support.
+
+ examples/Makefile.am | 4 ++--
+ gtkdoc-mkdb.in | 17 +++++++++--------
+ help/manual/C/gtk-doc-manual.xml | 5 +++--
+ tests/annotations/docs/Makefile.am | 2 +-
+ tests/bugs/docs/Makefile.am | 2 +-
+ tests/empty/docs/Makefile.am | 2 +-
+ tests/fail/docs/Makefile.am | 2 +-
+ tests/gobject/docs-tmpl/Makefile.am | 2 +-
+ tests/gobject/docs/Makefile.am | 2 +-
+ 9 files changed, 20 insertions(+), 18 deletions(-)
+
+commit 0fb5c13ffc107811762554fc4aa067afdfbe11c9
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Wed Sep 8 21:30:22 2010 +0300
+
+ mkman: fix command invocation.
+
+ Add missing \ and space. Fixes #628794
+
+ gtkdoc-mkman.in | 4 ++--
+ 1 files changed, 2 insertions(+), 2 deletions(-)
+
+commit 8071b82a6d033f72e1ef0dacb8f9ab8e0b6c9ece
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Wed Sep 8 21:25:38 2010 +0300
+
+ mkdb: fix parsing of multiple annotations
+
+ Tweak the regexp to support multiple annotations per comment. Reset var to
+ prevent extra parts of aanotations to be repeated.
+
+ gtkdoc-mkdb.in | 8 ++++----
+ 1 files changed, 4 insertions(+), 4 deletions(-)
+
+commit 8269b0efd0d41f6f5f3ab9e70c50399da7444748
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Wed Sep 8 21:24:37 2010 +0300
+
+ tests: add a multi-annotation test
+
+ Add an example where multiple annotations are use for one parameter.
+
+ tests/annotations/docs/tester-sections.txt | 1 +
+ tests/annotations/src/tester.c | 14 ++++++++++++++
+ tests/annotations/src/tester.h | 1 +
+ 3 files changed, 16 insertions(+), 0 deletions(-)
+
+commit 2bffebcf9c125f5610b8fb660d42c3c5b9dfd4f0
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Thu Aug 19 17:45:54 2010 +0300
+
+ fixxref: tweak the vim invocation
+
+ Use specific output-filename to ensure we get what we'll late use. Use "-u NONE"
+ instead of -u /dev/null.
+ Fixes #627223
+
+ gtkdoc-fixxref.in | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+commit f493de05d4ae4b4ffea02e5c821488dcc971aacd
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Thu Aug 19 13:36:39 2010 +0300
+
+ todo: update
+
+ TODO | 10 ++++++++--
+ 1 files changed, 8 insertions(+), 2 deletions(-)
+
+commit bc311575bfe254af57e8de0c78614b0743f37d1a
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Thu Jul 15 10:07:15 2010 +0300
+
+ mkdb: add comment pointing to where annotations are defined
+
+ gtkdoc-mkdb.in | 2 ++
+ 1 files changed, 2 insertions(+), 0 deletions(-)
+
+commit 0c372123a5d23dfb1bca5f69afb5826dc162c3e4
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Thu Jul 15 10:05:59 2010 +0300
+
+ mkdb: add 'type' annotation (used in glib
+
+ gtkdoc-mkdb.in | 3 ++-
+ 1 files changed, 2 insertions(+), 1 deletions(-)
+
+commit 779009ed3a2f3cb276be93db5e7906f6ba673951
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Thu Jul 15 09:58:14 2010 +0300
+
+ mkdb: only look for annotations at the start of docs
+
+ Fixes gtk-doc picking up e.g. "bla (shadows ...) bla" in the middle of docs.
+
+ gtkdoc-mkdb.in | 5 +++--
+ 1 files changed, 3 insertions(+), 2 deletions(-)
+
+commit a5abcfe6d4a99fb313bf32fe12c718a286e3b489
+Author: Pablo Castellano <pablog@src.gnome.org>
+Date: Tue Aug 3 19:58:22 2010 +0200
+
+ Update git.mk from pango
+
+ git.mk | 15 +++++++++------
+ 1 files changed, 9 insertions(+), 6 deletions(-)
+
+commit fb48efce458f26c6860c7729c481abd545985f7f
+Author: Jorge González <jorgegonz@svn.gnome.org>
+Date: Sat Jul 31 15:23:15 2010 +0200
+
+ Updated Spanish translation
+
+ help/manual/es/es.po | 121 ++++++++++++--------------------------------------
+ 1 files changed, 29 insertions(+), 92 deletions(-)
+
+commit 88c17f85a34b02656c2567e946da8fa0944517d7
+Author: Mario Blättermann <mariobl@gnome.org>
+Date: Tue Jul 27 23:43:46 2010 +0200
+
+ [i18n] Updated German doc translation
+
+ help/manual/de/de.po | 501 ++++++++++++++++++++++++++++---------------------
+ 1 files changed, 286 insertions(+), 215 deletions(-)
+
+commit d6a4858f016266bfa87554e24986b03845195801
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Wed Jul 14 10:37:33 2010 +0300
+
+ scan: improve handling of internal symbols
+
+ We need to fully parse them, but omit them from the docs. We did that for
+ macros, but we also need to handle functions that way. Use an extra flag-var
+ instead of extra '-skip' states. Add tests.
+
+ gtkdoc-scan.in | 51 ++++++++++++++++++++++++++--------------------
+ tests/bugs/src/tester.c | 9 ++++++++
+ tests/bugs/src/tester.h | 6 +++++
+ 3 files changed, 44 insertions(+), 22 deletions(-)
+
+commit 604afb04bf6b450d1949f3f300bdc933f7f5fee8
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Tue Jul 13 18:44:38 2010 +0300
+
+ mkdb: actually commit the right file
+
+ gtkdoc-mkdb.in | 9 +++++----
+ 1 files changed, 5 insertions(+), 4 deletions(-)
+
+commit 6344e90d674ca4299e7858cddfa55546bc5938dc
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Tue Jul 13 18:42:51 2010 +0300
+
+ mkdb: revert the xml fixups
+
+ Those were to naiive. Add one more test. People have to take into account that
+ blank are turned into </para></para>.
+
+ gtkdoc-mkhtml.in | 4 ++++
+ tests/bugs/docs/tester-sections.txt | 1 +
+ tests/bugs/src/tester.c | 10 ++++++++++
+ tests/bugs/src/tester.h | 1 +
+ 4 files changed, 16 insertions(+), 0 deletions(-)
+
+commit 9569daae7fbf4f542050034191cc0798dc53dda5
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Tue Jul 13 16:44:18 2010 +0300
+
+ scan: allow static inline functions in headers. Fixes #481811
+
+ Also fix the test case - G_INLINE_FUNC != static inline
+
+ gtkdoc-scan.in | 17 ++++++++++++++---
+ tests/bugs/src/tester.c | 2 ++
+ tests/bugs/src/tester.h | 2 +-
+ 3 files changed, 17 insertions(+), 4 deletions(-)
+
+commit 5fdb82a4b7e71a4801bffc62fc3cb2937b7c7e79
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Tue Jul 13 16:31:41 2010 +0300
+
+ tests: add test case for Bug #481811
+
+ tests/bugs/docs/tester-sections.txt | 1 +
+ tests/bugs/src/tester.h | 14 ++++++++++++++
+ 2 files changed, 15 insertions(+), 0 deletions(-)
+
+commit 364ba12a0b147f8b0186c970efeb786e36c2879a
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Tue Jul 13 16:06:28 2010 +0300
+
+ scan: correctly skip internal macros. Fixes #624199
+
+ If we come across an internal macro (starting with a '_') we still need to read
+ over it to not confuse the macro body with new declarations. Add a test.
+
+ gtkdoc-scan.in | 12 ++++++++++--
+ tests/bugs/src/tester.h | 16 ++++++++++++++++
+ 2 files changed, 26 insertions(+), 2 deletions(-)
+
+commit 57a650d9d950315f79d9345a3a6149044b6badea
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Tue Jul 13 15:47:38 2010 +0300
+
+ scan: improve the inline function parsing further
+
+ Add the full prototype (args) before starting to skip. Reset skip mode when function got parsed.
+
+ gtkdoc-scan.in | 12 ++++++++++--
+ 1 files changed, 10 insertions(+), 2 deletions(-)
+
+commit b59ab07e93f7e66f5804cc68f1aebe882842403c
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Tue Jul 13 12:57:44 2010 +0300
+
+ scan: refine regexp and {} block skipping
+
+ This should help parsing inline functions and macros. It should also fix scanner
+ regression from previous commit.
+
+ gtkdoc-scan.in | 68 +++++++++++++++++++++++++++++++++-----------------------
+ 1 files changed, 40 insertions(+), 28 deletions(-)
+
+commit 745285f85a39e6fc2ef3fab741fc996e1ea5a829
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Tue Jul 13 11:34:02 2010 +0300
+
+ tests: add dummy docs for last two tests.
+
+ tests/bugs/src/tester.c | 4 ++++
+ 1 files changed, 4 insertions(+), 0 deletions(-)
+
+commit 62342d006e225c43a7cc1ec64c09c18487d7c392
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Tue Jul 13 11:17:47 2010 +0300
+
+ mkpdf: eat some of the dblatex warnings
+
+ There are plenty of warnings about markup in screen/programmlisting tags. Filter
+ them out until dblatex handles those tags.
+
+ gtkdoc-mkpdf.in | 3 ++-
+ 1 files changed, 2 insertions(+), 1 deletions(-)
+
+commit 2085444674726557e45b251a4768d08e72623598
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Tue Jul 13 11:13:51 2010 +0300
+
+ scan: improve reexps to handle more * const * variants. Fixes #624200
+
+ We were handling that correctly for the case of split line declarations. Take
+ the same route if all is one one line. Add tests.
+
+ gtkdoc-scan.in | 16 ++++++++--------
+ tests/bugs/docs/tester-sections.txt | 2 ++
+ tests/bugs/src/tester.c | 24 +++++++++++++++++++++++-
+ tests/bugs/src/tester.h | 4 ++++
+ 4 files changed, 37 insertions(+), 9 deletions(-)
+
+commit ec1f3cc6c43884409ab7850952270f86b3d5e363
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Tue Jul 13 10:40:53 2010 +0300
+
+ mkdb: tune last xml fixup change
+
+ Add anotehr variant to the tests. Don't check for a newline after <para>.
+
+ gtkdoc-mkdb.in | 2 +-
+ tests/bugs/docs/tester-sections.txt | 1 +
+ tests/bugs/src/tester.c | 23 +++++++++++++++++------
+ tests/bugs/src/tester.h | 1 +
+ 4 files changed, 20 insertions(+), 7 deletions(-)
+
+commit 32fe933cc767c7d1555a1873d6b2fcc2cbb5e1e5
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Mon Jul 12 23:42:49 2010 +0300
+
+ mkdb: fix perl warning from accesing undefined hash entries
+
+ We don't have type declarations for everything. Accessing the hash will cause
+ a warning in that case. Check if it is defined.
+
+ gtkdoc-mkdb.in | 5 ++++-
+ 1 files changed, 4 insertions(+), 1 deletions(-)
+
+commit d45a4e60e173c6c734f2ae6cbbe2c9f28e2c22cb
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Mon Jul 12 23:31:39 2010 +0300
+
+ mkdb: handle yet unknown annotations
+
+ For now just skip uknown annotations.
+
+ gtkdoc-mkdb.in | 38 +++++++++++++++++++++-----------------
+ 1 files changed, 21 insertions(+), 17 deletions(-)
+
+commit 235669e75846078b78580e90332f6d55296f8110
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Mon Jul 12 13:00:59 2010 +0300
+
+ mkdb: better xml fixup after blank line expansion
+
+ Our previous heuristics have been a bit too simple. Make it works for different
+ refsect level and also docs starting with a para.
+
+ Fixes #623968
+
+ gtkdoc-mkdb.in | 5 +++--
+ 1 files changed, 3 insertions(+), 2 deletions(-)
+
+commit af84db8455e3db55341ed0921d1083209a06c851
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Mon Jul 12 12:59:58 2010 +0300
+
+ tests: new test for bug #623968
+
+ tests/bugs/docs/tester-sections.txt | 1 +
+ tests/bugs/src/tester.c | 22 +++++++++++++++++++++-
+ tests/bugs/src/tester.h | 2 ++
+ 3 files changed, 24 insertions(+), 1 deletions(-)
+
+commit cbda8b721baf218e57c23062d153d6a684773d9a
+Author: Jorge González <jorgegonz@svn.gnome.org>
+Date: Sun Jul 11 10:10:37 2010 +0200
+
+ Updated Spanish translation
+
+ help/manual/es/es.po | 641 +++++++++++++++++++++++++++++++++-----------------
+ 1 files changed, 425 insertions(+), 216 deletions(-)
+
+commit 32aef97855bad03b8ca47e6dc396bd7d8dbad9e3
+Author: Christian Persch <chpe@gnome.org>
+Date: Wed Jul 7 21:54:12 2010 +0200
+
+ scan: Fix GStrv boxed types in signal handlers
+
+ Output "GStrv" as the argument type, not "GStrv*".
+ Fixes: #623777.
+
+ gtkdoc-scangobj.in | 4 +++-
+ tests/gobject/src/gobject.c | 30 ++++++++++++++++++++++++++++++
+ 2 files changed, 33 insertions(+), 1 deletions(-)
+
+commit 92ae5fc857f11611080205d27c8e26dce93d7e49
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Mon Jul 5 10:24:23 2010 +0300
+
+ manual: fix spelling and make small clarifications.
+
+ Correct typos and spelling as pointed out by Alexander Saprykin. Fixes #622971.
+
+ help/manual/C/gtk-doc-manual.xml | 64 +++++++++++++++++++------------------
+ 1 files changed, 33 insertions(+), 31 deletions(-)
+
+commit 3371616807bbaf35a8e1a81ac13d35f8a8fccc6d
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Fri Jun 25 22:49:24 2010 +0300
+
+ mkdb: add an idea for rewriting path of system entities in the doctype_header
+
+ Also do a small cleanup to only rewrite the doctype_heqader if we read it from the main file.
+
+ gtkdoc-mkdb.in | 7 +++++--
+ 1 files changed, 5 insertions(+), 2 deletions(-)
+
+commit d23206a494d7814c1605ae202290351b60065cef
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Tue Jun 22 13:22:52 2010 +0300
+
+ TODO: cleanup brain dump
+
+ TODO | 95 +++++++++++++++++++++++++++--------------------------------------
+ 1 files changed, 40 insertions(+), 55 deletions(-)
+
+commit ffcf37402aafb277ddd120192a4ef3f72991fd23
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Mon Jun 21 22:50:26 2010 +0300
+
+ planning: write down ideas and add FIXME: comments
+
+ TODO | 12 +++++++-----
+ gtkdoc-fixxref.in | 3 +++
+ gtkdoc-mkdb.in | 1 +
+ 3 files changed, 11 insertions(+), 5 deletions(-)
+
+commit ab8cde85947c60b8d58cc9514703ceb1194a861f
+Author: Christian Persch <chpe@gnome.org>
+Date: Thu Jun 17 22:54:36 2010 +0200
+
+ scan: Support GType and GVariant types. Fixes #621931.
+
+ Conditionaly handle new fundamental GTypes.
+
+ gtkdoc-scangobj.in | 39 ++++++++++++++++++++++++++++++++++++++-
+ 1 files changed, 38 insertions(+), 1 deletions(-)
+
+commit 33d908964619c9408cbce2e9d9794e45b6209d3f
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Tue Jun 15 12:20:13 2010 +0300
+
+ mkdb: just xml-tags in tmpl docs does not mean its empty.
+
+ We lost tmpl docs that e.g. consist of a x:include.
+
+ gtkdoc-mkdb.in | 5 ++---
+ 1 files changed, 2 insertions(+), 3 deletions(-)
+
+commit 728b77acb9b3e06238d570b0d0cce296918132c2
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Sun Jun 13 14:56:22 2010 +0300
+
+ help: tell how to build man-pages. Fixes #467488
+
+ Start a new section telling how to document other interfaces. Describe how to
+ build man-pages.
+
+ help/manual/C/gtk-doc-manual.xml | 89 ++++++++++++++++++++++++++++++++++++++
+ 1 files changed, 89 insertions(+), 0 deletions(-)
+
+commit 2905a797cd428545dcbbc2ccc45ff63830c695a6
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Fri Jun 11 12:01:01 2010 +0300
+
+ xsl: work-around for bug #617478
+
+ gtk-doc.xsl | 14 ++++++++------
+ 1 files changed, 8 insertions(+), 6 deletions(-)
+
+commit ccb5f52aedb3d5bf1dfb51e1701aef8c57b9cb83
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Fri Jun 11 11:43:45 2010 +0300
+
+ tests: fix gobject warnings
+
+ Need to override the iface property in GtkdocObject2.
+
+ tests/gobject/src/gobject.c | 30 ++++++++++++++++++++++--------
+ 1 files changed, 22 insertions(+), 8 deletions(-)
+
+commit 8716ce6972ce7444a28496c0782c8c0facb6aed3
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Thu Jun 10 14:21:02 2010 +0300
+
+ makefiles: add two flavours for flat makefiles. Fixes #501107
+
+ When using non recursive Makefile, we currently get warnings aboutr EXTRA_DIST
+ being overridden. Make variants of the makefiles that use EXTRA_DIST += instead.
+
+ Makefile.am | 18 ++++++++++++++----
+ gtkdocize.in | 6 +++---
+ 2 files changed, 17 insertions(+), 7 deletions(-)
+
+commit 73cded364959ffe54a5bb91f7578fa8c249a0ef9
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Wed Jun 9 18:10:17 2010 +0300
+
+ docs: document more what should be docuemnted and what not
+
+ Give better advice for GObject instance and class structs.
+
+ help/manual/C/gtk-doc-manual.xml | 13 +++++++++++++
+ 1 files changed, 13 insertions(+), 0 deletions(-)
+
+commit 1dd102dbf5adf1df5dcb756116fe49c89a0754db
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Thu Jun 3 10:03:52 2010 +0300
+
+ tests: use /bin/sh for the scripts
+
+ Run 'checkbashism' on the scripts and use /bin/sh as they seem to be clean.
+
+ tests/fail.sh | 2 +-
+ tests/sanity.sh | 2 +-
+ tests/tools.sh.in | 2 +-
+ 3 files changed, 3 insertions(+), 3 deletions(-)
+
+commit ee14f7999de7b987481f8db94dd1467ae0aaa0a9
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Thu Jun 3 09:50:28 2010 +0300
+
+ maintenance: remove generated file
+
+ tests/gobject/docs/tester.types | 4 ----
+ 1 files changed, 0 insertions(+), 4 deletions(-)
+
+commit 3c58f4a587220aa0f38b2163d208612aff11b498
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Wed Jun 2 12:52:15 2010 +0300
+
+ tests: test the generated sgml files too
+
+ tests/sanity.sh | 12 ++++++++++++
+ 1 files changed, 12 insertions(+), 0 deletions(-)
+
+commit 26901ca27fb053c2d9eda1dc80d5cb8eb9bee91b
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Wed Jun 2 23:43:47 2010 +0300
+
+ mkdb: fix object_index for n_object % 3, FIxes #620249
+
+ Don't output the closing row tag twice in this case. Add tests for it.
+
+ gtkdoc-mkdb.in | 4 ++-
+ tests/gobject/docs-tmpl/tester-docs.xml | 9 ++++++-
+ tests/gobject/docs-tmpl/tester-sections.txt | 17 +++++++++++++
+ tests/gobject/docs-tmpl/tester.types | 2 +
+ tests/gobject/docs/tester-docs.xml | 7 +++++
+ tests/gobject/docs/tester-sections.txt | 17 +++++++++++++
+ tests/gobject/src/giface.c | 29 ++++++++++++++++++++++
+ tests/gobject/src/giface.h | 10 +++++++
+ tests/gobject/src/gobject.c | 35 +++++++++++++++++++++++++++
+ tests/gobject/src/gobject.h | 26 ++++++++++++++++++++
+ 10 files changed, 154 insertions(+), 2 deletions(-)
+
+commit 3740512a5c13e4d7b86fa2202003e6fe3434d25f
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Wed Jun 2 22:32:58 2010 +0300
+
+ docs: improve release instructions
+
+ HACKING | 4 +++-
+ 1 files changed, 3 insertions(+), 1 deletions(-)
+
+commit f112b8d3abf8efe395e6cd0fc5ea7b3497153b1d
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Wed Jun 2 12:24:37 2010 +0300
+
+ tests: unity output and extend sanity checks
+
+ tests/sanity.sh | 15 +++++++++++++++
+ tests/tools.sh.in | 23 ++++++++---------------
+ 2 files changed, 23 insertions(+), 15 deletions(-)
+
+commit a73a4450d3eebef51e7a1b3a0c93bb7acae76e15
+Author: Mario Blättermann <mariobl@gnome.org>
+Date: Mon May 31 18:35:49 2010 +0200
+
+ Updated German doc translation
+
+ help/manual/de/de.po | 549 ++++++++++++++++++++++++++++----------------------
+ 1 files changed, 304 insertions(+), 245 deletions(-)
+
+commit b9fea1d921ea8a4dc7ad838e5e98b6c7ba42fa58
+Author: Jorge González <jorgegonz@svn.gnome.org>
+Date: Tue May 25 08:49:20 2010 +0200
+
+ Updated Spanish translation
+
+ help/manual/es/es.po | 502 ++++++++++++++++++++++++++------------------------
+ 1 files changed, 261 insertions(+), 241 deletions(-)
+
+commit f5ef9530f60b7f4bdd1da06c6ded2f838490ecee
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Mon May 24 14:43:23 2010 +0300
+
+ release: bump versions and back to development
+
+ configure.ac | 2 +-
+ help/manual/C/gtk-doc-manual.xml | 8 +++++++-
+ 2 files changed, 8 insertions(+), 2 deletions(-)
+
+commit 37aa15cfd3531dbc464dc4cfbfe95e219091e5ee
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Fri May 21 10:50:26 2010 +0300
+
+ release: update news and date in manual
+
+ HACKING | 14 ++++++++++++--
+ NEWS | 16 ++++++++++++++++
+ configure.ac | 2 +-
+ help/manual/C/gtk-doc-manual.xml | 6 +++---
+ 4 files changed, 32 insertions(+), 6 deletions(-)
+
+commit 50309cfbbb15a5dc1ae56577a5f71aa5fc0b5f6e
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Fri May 21 11:47:10 2010 +0300
+
+ distcheck: don't copy same file twice
+
+ We wanted to use an exiting image as an example. But make distcheck creates
+ files readonly and make distcehck failes when trying to overwrite the file.
+ Instead only use the image we use to the image-tag test.
+
+ tests/empty/docs/Makefile.am | 2 +-
+ tests/gobject/docs-tmpl/Makefile.am | 3 ++-
+ tests/gobject/docs-tmpl/images/object.png | Bin 0 -> 4101 bytes
+ tests/gobject/docs/Makefile.am | 1 -
+ 4 files changed, 3 insertions(+), 3 deletions(-)
+
+commit 89922f1fab12b83fadfc6de37b151e07c35f506c
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Fri May 21 11:52:04 2010 +0300
+
+ distcheck: pass and use ABS_TOP_SRCDIR to be able to find data files.
+
+ Relying on the dirname of gtkdoc-mkhtml is not working as it is generated and thus
+ in builddir, datafiles are in srcdir.
+
+ gtkdoc-mkhtml.in | 14 +++++++++-----
+ tests/gtk-doc.make | 6 +++---
+ tests/gtk-doc.notmpl.make | 6 +++---
+ 3 files changed, 15 insertions(+), 11 deletions(-)
+
+commit ade641d3512047fac47b9b95b37a90d36d8ff1ad
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Fri May 21 10:55:35 2010 +0300
+
+ tests: add new test to EXTRA_DIST
+
+ tests/Makefile.am | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+commit d8ea880a3d05219300f038ef280de45446f96eb2
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Wed May 12 15:13:00 2010 +0300
+
+ xsl: fixing a regression that was breaking the ONLINE tags in index.sgml
+
+ Adding a sanity check test, that verify some basics (certain files are generated
+ and non empty). Add a content check for index.sgml.
+
+ gtk-doc.xsl | 6 +++---
+ tests/Makefile.am | 2 +-
+ tests/sanity.sh | 36 ++++++++++++++++++++++++++++++++++++
+ 3 files changed, 40 insertions(+), 4 deletions(-)
+
+commit 038257110b31546ab7a0b03e314e56e494499b6f
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Sun May 9 23:11:27 2010 +0300
+
+ scanners: reorder again and add work-around for --as-needed brokeness
+
+ We want to have the objects first, then the libs and the target last. For
+ historic reasons ldflags and libs are merged :/. Ideally we'd like to turn
+ off as-needed in the docs (won't help here anyway), but I am not sure
+ wheter its a good idea to add "-Wl,--no-as-needed" to the linker command
+ (in regard to platform compat).
+
+ gtkdoc-scangobj.in | 4 +++-
+ gtkdoc-scanobj.in | 4 +++-
+ 2 files changed, 6 insertions(+), 2 deletions(-)
+
+commit 57620e655df0d325f88db12a8d6d51fc017844fd
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Sun May 9 22:24:57 2010 +0300
+
+ i18n: fix leftover placeholder in translation
+
+ help/manual/ta/ta.po | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+commit 340b385a82936fe220ab3c4fdafdddaeb48c32f0
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Sun May 9 22:11:38 2010 +0300
+
+ scanners: move LDFLAGS to up in commandline.
+
+ FIxes some issues when building using s --as-needed
+
+ gtkdoc-scangobj.in | 2 +-
+ gtkdoc-scanobj.in | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+commit 9768ce5d65640ecf4ea04004503053977880f340
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Wed Apr 28 23:44:32 2010 +0300
+
+ Revert "scope: make protected fields visible in the docs"
+
+ This reverts commit 8708b09401327af314d4f4af5656ef4ae6222ef7.
+
+ gtkdoc-common.pl.in | 6 +++---
+ gtkdoc-mkdb.in | 4 ++--
+ 2 files changed, 5 insertions(+), 5 deletions(-)
+
+commit 7c8d70231ae2b7db619ebe85c8748ddd39a1067b
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Wed Apr 28 23:42:31 2010 +0300
+
+ common: strip // comment properly before parsing
+
+ gtkdoc-common.pl.in | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+commit 22e002ce0dee8982e7c469bbbf1429cd07710557
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Mon Apr 26 16:00:11 2010 +0300
+
+ mkdb: avoid double '.' at the end of phrase.
+
+ gtkdoc-mkdb.in | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+commit 8708b09401327af314d4f4af5656ef4ae6222ef7
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Fri Apr 16 11:44:46 2010 +0300
+
+ scope: make protected fields visible in the docs
+
+ gtkdoc-common.pl.in | 6 +++---
+ gtkdoc-mkdb.in | 4 ++--
+ 2 files changed, 5 insertions(+), 5 deletions(-)
+
+commit 506fa23e75550fe3aa9a022fcc37e94346ea4aae
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Wed Apr 21 22:29:16 2010 +0300
+
+ annotation: allow to style annotations with css
+
+ Format the annotation using [] and style them using css. Hopefully
+ fixes #615860.
+
+ gtkdoc-mkdb.in | 9 ++++++---
+ style-classic.css | 8 ++++++++
+ style.css | 8 ++++++++
+ 3 files changed, 22 insertions(+), 3 deletions(-)
+
+commit 680fec7b34c3de0e9d36865db1b1136c9e836bc1
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Fri Apr 16 11:25:59 2010 +0300
+
+ tests: add examples that need and don't need escaping.
+
+ tests/bugs/src/tester.c | 3 +++
+ 1 files changed, 3 insertions(+), 0 deletions(-)
+
+commit 59fe16c234baa2c32707648088403871316a4d7f
+Author: Nicola Fontana <ntd@entidi.it>
+Date: Wed Mar 31 19:50:51 2010 +0200
+
+ Support for multiple DOC_SOURCE_DIR directories
+
+ gtkdoc-scan and gtkdoc-mkdb are yet able to accept more than one source
+ directory but gtk-doc.make and gtk-doc.notmpl.make do not support this
+ feature.
+
+ The implementation uses an helper shell variable ($_source_dir) that
+ prepends --source-dir to every item in DOC_SOURCE_DIR and passes it
+ to gtkdoc-scan and gtkdoc-mkdb. This also means if DOC_SOURCE_DIR
+ contains only one item, the makefiles behave as before.
+
+ examples/Makefile.am | 8 ++++----
+ gtk-doc.make | 14 ++++++++++----
+ gtk-doc.notmpl.make | 14 ++++++++++----
+ 3 files changed, 24 insertions(+), 12 deletions(-)
+
+commit 0a874b3a2d97476caf8100386ceed5070a2d065e
+Author: Andreas Rottmann <a.rottmann@gmx.at>
+Date: Tue Apr 13 11:31:03 2010 +0300
+
+ Add support for `scope' and `skip' annotations
+
+ See <http://bugzilla.gnome.org/show_bug.cgi?id=615550>.
+
+ gtkdoc-mkdb.in | 7 +++++--
+ tests/annotations/docs/tester-sections.txt | 2 ++
+ tests/annotations/src/tester.c | 22 ++++++++++++++++++++++
+ tests/annotations/src/tester.h | 4 ++++
+ 4 files changed, 33 insertions(+), 2 deletions(-)
+
+commit f099e17bc1047c504cb09f21786eb384ce546ef6
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Fri Apr 9 10:58:18 2010 +0300
+
+ gitignore: tune ignore files
+
+ Makefile.am | 4 ++++
+ git.mk | 2 ++
+ tests/empty/docs/Makefile.am | 4 ++++
+ tests/gobject/docs-tmpl/Makefile.am | 3 +++
+ 4 files changed, 13 insertions(+), 0 deletions(-)
+
+commit 456f361b20b859e36d7e74bf64c5ad319302f95b
+Author: Jorge González <jorgegonz@svn.gnome.org>
+Date: Tue Apr 6 14:51:14 2010 +0200
+
+ Updated Spanish translation
+
+ help/manual/es/es.po | 487 ++++++++++++++++++++++++++------------------------
+ 1 files changed, 249 insertions(+), 238 deletions(-)
+
+commit 13ff17ca5acb086a922aa912d7074d604591472a
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Tue Apr 6 09:48:42 2010 +0300
+
+ release: bump versions and back to development
+
+ configure.ac | 4 +++-
+ help/manual/C/gtk-doc-manual.xml | 6 ++++++
+ 2 files changed, 9 insertions(+), 1 deletions(-)
+
+commit 33b7245d3446f5c044126b951433bef94f47e213
+Author: Jorge González <jorgegonz@svn.gnome.org>
+Date: Mon Mar 29 20:53:29 2010 +0200
+
+ Updated Spanish translation
+
+ help/manual/es/es.po | 126 +++++--------------------------------------------
+ 1 files changed, 13 insertions(+), 113 deletions(-)
+
+commit 0a90bf47fdac21bf583bb595a5f2fb118872e43c
+Author: Nikos Bakaoukas <nikolaosx1@gmail.com>
+Date: Mon Mar 29 01:39:27 2010 +0300
+
+ Updated Greek translation for gtk-doc documentation
+
+ help/manual/el/el.po | 2543 ++++++++------------------------------------------
+ 1 files changed, 384 insertions(+), 2159 deletions(-)
+
+commit 42e0c5952ce5af7ced9171d6c5493ab025d0aa54
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Sun Mar 28 20:27:19 2010 +0300
+
+ release: update news and date in manual
+
+ NEWS | 57 +++++++++++++++++++++++++++++++++++++-
+ help/manual/C/gtk-doc-manual.xml | 4 +-
+ 2 files changed, 58 insertions(+), 3 deletions(-)
+
+commit 8b9bd189dc02a0194fd7c7523caaf9e03ab39313
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Sun Mar 28 20:25:41 2010 +0300
+
+ docs: fix release instructions
+
+ HACKING | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+commit 84a4a526a38fb6a710a373946a58aa9281948db4
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Sun Mar 28 20:12:53 2010 +0300
+
+ build: test xsl files in src dir
+
+ Fixes make distcheck.
+
+ tests/Makefile.am | 1 +
+ tests/tools.sh.in | 2 +-
+ 2 files changed, 2 insertions(+), 1 deletions(-)
+
+commit 181c3c6b09daa451192995ad8c9f56c085ce5263
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Sun Mar 28 18:47:56 2010 +0300
+
+ build: make distcheck fixes
+
+ Add script to EXTRA_DIST.
+
+ tests/Makefile.am | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+commit afc83dbd211e1ef999ecd9c4fa061c044691fc55
+Author: Marios Zindilis <m.zindilis@dmajor.org>
+Date: Fri Mar 26 23:21:00 2010 +0200
+
+ Updated Greek translation for gtk-doc documentation
+
+ help/manual/el/el.po | 1370 +++++++++++++++++++++++++++++++++++---------------
+ 1 files changed, 968 insertions(+), 402 deletions(-)
+
+commit 0f6e5c66bec23d5f675560c3791cb44fd85e6545
+Author: Simon McVittie <simon.mcvittie@collabora.co.uk>
+Date: Mon Mar 22 17:10:21 2010 +0000
+
+ Check that multi-line annotated Returns: descriptions work
+
+ Similar to #613611.
+
+ tests/annotations/src/tester.c | 3 ++-
+ 1 files changed, 2 insertions(+), 1 deletions(-)
+
+commit 7c6cf3d0931ef22c82d73fbfe0ca95c5cc4b1dc0
+Author: Simon McVittie <simon.mcvittie@collabora.co.uk>
+Date: Mon Mar 22 17:08:18 2010 +0000
+
+ Add a long annotated parameter description (regression test for #613611)
+
+ tests/annotations/src/tester.c | 3 ++-
+ 1 files changed, 2 insertions(+), 1 deletions(-)
+
+commit 41c7643d636fd26c049e7da990ea43ac32ba1d34
+Author: Simon McVittie <simon.mcvittie@collabora.co.uk>
+Date: Mon Mar 22 17:07:46 2010 +0000
+
+ Don't truncate annotated param descriptions at newline. Fixes #613611
+
+ Without the s modifier in m//s, (.*) can only capture non-newlines.
+
+ gtkdoc-mkdb.in | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+commit f52f7233e3cb04ab57e01345c95f682d1f626d12
+Author: Simon McVittie <simon.mcvittie@collabora.co.uk>
+Date: Mon Mar 22 17:11:35 2010 +0000
+
+ tests/gobject: check that long parameter descriptions work (they do)
+
+ tests/gobject/src/gobject.c | 3 ++-
+ 1 files changed, 2 insertions(+), 1 deletions(-)
+
+commit 111340c81068c51e2e66c41f97dab5b3f4b51077
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Tue Mar 23 13:00:33 2010 +0200
+
+ TODO: update perf figures
+
+ TODO | 6 ++++++
+ 1 files changed, 6 insertions(+), 0 deletions(-)
+
+commit 7298949e186890c341b73f884a180a4cbd7202e5
+Author: Bruno Brouard <annoa.b@gmail.com>
+Date: Sun Mar 21 13:18:36 2010 +0100
+
+ Added French doc translation
+
+ Contributed by Yannick Tailliez <ytdispatch-libre02@yahoo.com> and
+ Frédéric Péters <fpeters@0d.be> and
+ Bruno Brouard <annoa.b@gmail.com>
+
+ help/manual/Makefile.am | 2 +-
+ help/manual/fr/fr.po | 2950 +++++++++++++++++++++++++++++++++++++++++++++++
+ 2 files changed, 2951 insertions(+), 1 deletions(-)
+
+commit 0380bd33d611c37ace60b98df38489f7f1ceeac0
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Fri Mar 12 20:00:10 2010 -0800
+
+ xsl: override gentext templates to speedup more
+
+ Don't check for language (we're using 'en'). Do lazy evaluation of expressions.
+ Lessen the recursion in gentext.
+
+ gtk-doc.xsl | 154 ++++++++++++++++++++++++++++++++++++++++++++++++++++++----
+ 1 files changed, 143 insertions(+), 11 deletions(-)
+
+commit 366f2b6823bd8e4d4748fd5fed6d822d53d38f83
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Fri Mar 5 12:11:17 2010 +0200
+
+ mkdb: fix xml when using refsect2 in docblobs, Fixes #611848
+
+ Strip para tag wrapping the refsect2. Add example to tests.
+
+ gtkdoc-mkdb.in | 11 +++++++----
+ tests/bugs/src/tester.c | 6 ++++++
+ 2 files changed, 13 insertions(+), 4 deletions(-)
+
+commit 7f130e8a29a1e8fe9dbb55512f0b36b0a44e968e
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Fri Mar 5 10:47:49 2010 +0200
+
+ tests: commit the test that was added for the bug fixed with previous commit
+
+ tests/bugs/docs/tester-sections.txt | 1 +
+ tests/bugs/src/tester.c | 11 +++++++++++
+ tests/bugs/src/tester.h | 3 +++
+ 3 files changed, 15 insertions(+), 0 deletions(-)
+
+commit 30f95dd1913ff2517c196230d51ec813e735fbc3
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Fri Mar 5 00:20:39 2010 +0200
+
+ mktmpl: improve return type handling. Fixes #607445
+
+ Always remove the return tag before pushing it further and then try to parse it.
+
+ gtkdoc-mktmpl.in | 17 +++++++++++++----
+ 1 files changed, 13 insertions(+), 4 deletions(-)
+
+commit d5d866890030e37da3f0d2ac600aacd1f93509e7
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Thu Mar 4 23:54:56 2010 +0200
+
+ xsl: comment only change
+
+ gtk-doc.xsl | 2 ++
+ 1 files changed, 2 insertions(+), 0 deletions(-)
+
+commit 350f39a873c4b5318cf68d973980ae4a02f38d15
+Author: Mario Blättermann <mariobl@gnome.org>
+Date: Thu Feb 25 15:53:38 2010 +0100
+
+ Updated German doc translation
+
+ help/manual/de/de.po | 503 +++++++++++++++++++++++++++++++++-----------------
+ 1 files changed, 332 insertions(+), 171 deletions(-)
+
+commit a38d70b2c22ca1f48c25f288f472e90614ab93d1
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Wed Feb 17 15:43:10 2010 +0200
+
+ tests: followup for last commit
+
+ The header file was missing and the parameter docs.
+
+ gtkdoc-common.pl.in | 4 ++--
+ tests/bugs/src/tester.c | 4 +++-
+ tests/bugs/src/tester.h | 2 ++
+ 3 files changed, 7 insertions(+), 3 deletions(-)
+
+commit 9fb8c523e3ce0121117db857f04815ab307437e9
+Author: Simon Josefsson <simon@josefsson.org>
+Date: Wed Feb 17 13:30:47 2010 +0100
+
+ gtkdoc-mkdb/mktmpl/scan: Handle 'signed' keywords too. Fixes #610257.
+
+ Add signed keyword to regexps. Add a test.
+
+ Signed-off-by: Simon Josefsson <simon@josefsson.org>
+
+ gtkdoc-mkdb.in | 6 +++---
+ gtkdoc-mktmpl.in | 2 +-
+ gtkdoc-scan.in | 14 +++++++-------
+ tests/bugs/docs/tester-sections.txt | 1 +
+ tests/bugs/src/tester.c | 12 ++++++++++++
+ 5 files changed, 24 insertions(+), 11 deletions(-)
+
+commit e24769dd5d0b442b5807c277b6c4263197f68c45
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Wed Feb 17 15:09:00 2010 +0200
+
+ todo: notes about xslt compilers
+
+ TODO | 4 ++++
+ 1 files changed, 4 insertions(+), 0 deletions(-)
+
+commit 4d0755517cf93f941edc930d3aac2387416d6707
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Wed Feb 17 15:06:44 2010 +0200
+
+ tests: disable one declaration until we know how to handle that
+
+ We handle public structs and enums differently.
+
+ tests/gobject/src/gobject.h | 3 ++-
+ 1 files changed, 2 insertions(+), 1 deletions(-)
+
+commit 6d0a3f63255900c64e36231c156c92842678c3ec
+Author: ifelix <ifelix@redhat.com>
+Date: Wed Feb 10 15:01:57 2010 +0530
+
+ Linguas (ta) updated
+
+ help/manual/Makefile.am | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+commit ae37f02bca166d69af190c375ccac556daf9f87f
+Author: ifelix <ifelix@redhat.com>
+Date: Wed Feb 10 15:01:51 2010 +0530
+
+ Tamil Translation updated
+
+ help/manual/ta/ta.po | 1340 ++++++++++++++++++++++++++++++++++++++++++++++++++
+ 1 files changed, 1340 insertions(+), 0 deletions(-)
+
+commit c3c4b39319c0b2d33fd4140d9ee9fa0163617457
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Mon Feb 8 11:39:34 2010 +0200
+
+ mkdb: sort interface implementers and prerequisites alphabeticaly. Fixes 609194
+
+ Before the lists where ordered based on a perl hash key which is quite useless.
+ Fix is based on patch by David Nečas.
+
+ gtkdoc-mkdb.in | 2 ++
+ 1 files changed, 2 insertions(+), 0 deletions(-)
+
+commit 0ae897b9ea2c4876aa5e8d068702db5e3a93bc55
+Author: Francisco Javier F. Serrador <fserrador@gmail.com>
+Date: Sat Feb 6 20:12:28 2010 +0100
+
+ Updated Spanish translation
+
+ help/manual/es/es.po | 118 +++++++++++++++++++++++++++++++++----------------
+ 1 files changed, 79 insertions(+), 39 deletions(-)
+
+commit c5e03c161bdf3645c7b8a4e383cc934598d7c83a
+Author: Jorge González <jorgegonz@svn.gnome.org>
+Date: Sat Feb 6 12:14:18 2010 +0100
+
+ Updated Spanish translation
+
+ help/manual/es/es.po | 441 ++++++++++++++++++++++++++------------------------
+ 1 files changed, 226 insertions(+), 215 deletions(-)
+
+commit af24ed301b0b12fec3089d8d06cfef14c79c2fa5
+Author: Jorge González <jorgegonz@svn.gnome.org>
+Date: Sat Feb 6 12:07:29 2010 +0100
+
+ Updated Spanish translation
+
+ help/manual/es/es.po | 36 ++++++++++++++++++------------------
+ 1 files changed, 18 insertions(+), 18 deletions(-)
+
+commit b5df6d238135bbcc514c94475f9d2ce9fa3a8e7a
+Author: Jorge González <jorgegonz@svn.gnome.org>
+Date: Fri Feb 5 20:10:44 2010 +0100
+
+ Updated Spanish translation
+
+ help/manual/es/es.po | 1056 ++++++++++++++++++++++++++++++++++----------------
+ 1 files changed, 721 insertions(+), 335 deletions(-)
+
+commit 622049877eb6cac876ffaea830e180e59b74220f
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Fri Feb 5 15:50:44 2010 +0200
+
+ manual: add more locales
+
+ help/manual/Makefile.am | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+commit 5f4aab454fb5b1fc7b0c821d190c048394e8039d
+Author: krishnababu k <kkrothap@redhat.ocm>
+Date: Wed Feb 3 19:15:36 2010 +0530
+
+ Added te entry in Makefile.am
+
+ help/manual/Makefile.am | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+commit 656035a326bbc819bd27bbd8099536db008e555b
+Author: krishnababu k <kkrothap@redhat.ocm>
+Date: Wed Feb 3 19:07:34 2010 +0530
+
+ adding te entry
+
+ help/manual/te/te.po | 1502 ++++++++++++++++++++++++++++++++++++++++++++++++++
+ 1 files changed, 1502 insertions(+), 0 deletions(-)
+
+commit 4a996f4bf996d76ae98b03b7095e7200161f6f73
+Author: Sweta Kothari <swkothar@redhat.com>
+Date: Wed Feb 3 11:46:47 2010 +0530
+
+ Updated Gujarati Translations
+
+ help/manual/gu/gu.po | 40 +++++++++++++++++++++++++++-------------
+ 1 files changed, 27 insertions(+), 13 deletions(-)
+
+commit ad9b62208871017c8b4c8bb4968a904f40f9beed
+Author: Runa Bhattacharjee <runab@redhat.com>
+Date: Tue Feb 2 17:51:04 2010 +0530
+
+ Updated Bengali India Translation
+
+ help/manual/bn_IN/bn_IN.po | 112 ++++++++++++++++++++++----------------------
+ 1 files changed, 56 insertions(+), 56 deletions(-)
+
+commit 1ddda121b8c55637a67b0ed6e46c117308b5e6b7
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Sun Jan 31 22:51:55 2010 +0200
+
+ xsl: don't create extra <link rel> elements
+
+ Don't create all those link ref tags. It is slow, browsers like devhelp won't
+ use them anyway and it makes the docs bigger.
+
+ gtk-doc.xsl | 33 +++++----------------------------
+ 1 files changed, 5 insertions(+), 28 deletions(-)
+
+commit 043a36d22d1c6119b6c47f043fa04dc3707d9d45
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Fri Jan 29 12:20:39 2010 +0200
+
+ mkdb: ignore empty image sections
+
+ gtkdoc-mkdb.in | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+commit 0736cd5e48cb6f17e90c1fab031fb9949ead13a0
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Fri Jan 29 12:19:52 2010 +0200
+
+ mktmpl: fix the format of the image section
+
+ The version added in previous patch causes build warnings.
+
+ gtkdoc-mktmpl.in | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+commit 5bdf70baeb04c5c0843f7211339d7c069123e810
+Author: Sweta Kothari <swkothar@redhat.com>
+Date: Thu Jan 28 15:06:15 2010 +0530
+
+ Updated Gujarati Translations
+
+ help/manual/gu/gu.po | 64 ++++++++++++++++++++++++++++++++++++++++++++-----
+ 1 files changed, 57 insertions(+), 7 deletions(-)
+
+commit d23af4b29c9c59436bae364406b9fcc43bbaf55a
+Author: Runa Bhattacharjee <runab@redhat.com>
+Date: Wed Jan 27 18:09:12 2010 +0530
+
+ Added Bengali India Translations
+
+ help/manual/bn_IN/bn_IN.po | 1341 ++++++++++++++++++++++++++++++++++++++++++++
+ 1 files changed, 1341 insertions(+), 0 deletions(-)
+
+commit d9b6f75dd21fe45ad9fbdbae1ca166109a2ff808
+Author: Sweta Kothari <swkothar@redhat.com>
+Date: Wed Jan 27 15:55:49 2010 +0530
+
+ Removed incorrectly named folder
+
+ help/manual/gu_IN/gu.po | 1364 -----------------------------------------------
+ 1 files changed, 0 insertions(+), 1364 deletions(-)
+
+commit 67b041cafe116c39bd44a0ed848df37537d06a4f
+Author: Sweta Kothari <swkothar@redhat.com>
+Date: Wed Jan 27 14:28:07 2010 +0530
+
+ Updated Gujarati Translations
+
+ help/manual/gu/gu.po | 1406 ++++++++++++++++++++++++++++++++++++++++++++++++++
+ 1 files changed, 1406 insertions(+), 0 deletions(-)
+
+commit d04f14cb5c0fe3d0778abebe3ae5611235be7130
+Author: Sweta Kothari <swkothar@redhat.com>
+Date: Mon Jan 25 17:08:00 2010 +0530
+
+ Committed Changelog
+
+ help/manual/ChangeLog | 4 ++++
+ 1 files changed, 4 insertions(+), 0 deletions(-)
+
+commit 1b13e1d5a3029b28b6250560ef34577cbe6a6aae
+Author: Sweta Kothari <swkothar@redhat.com>
+Date: Mon Jan 25 17:03:50 2010 +0530
+
+ Updated Gujarati Translations
+
+ help/manual/gu_IN/gu.po | 1364 +++++++++++++++++++++++++++++++++++++++++++++++
+ 1 files changed, 1364 insertions(+), 0 deletions(-)
+
+commit 192921c6b5848c93e310f0f1cf7e21adcc2efa88
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Mon Jan 25 10:25:46 2010 +0200
+
+ scanobj/gobj: revert the part of prev commit that was removing the use of $RUN
+
+ Commit b37791867f938d9ab5ce5d3db63d7115981deb7a was removing the use of the RUN
+ env.
+
+ gtkdoc-scangobj.in | 3 ++-
+ gtkdoc-scanobj.in | 2 +-
+ 2 files changed, 3 insertions(+), 2 deletions(-)
+
+commit b37791867f938d9ab5ce5d3db63d7115981deb7a
+Author: Loïc Minier <lool@dooz.org>
+Date: Fri Jan 22 16:06:41 2010 +0200
+
+ scanobj/gobj: Execute system() calls in subshells, Fixes #607531
+
+ the tools already execute one command in a subshell so that if it fails,
+ we can still see the errors. It doesn't for other commands though (like the
+ compiler or the linker).
+
+ gtkdoc-scangobj.in | 7 +++----
+ gtkdoc-scanobj.in | 7 +++----
+ 2 files changed, 6 insertions(+), 8 deletions(-)
+
+commit b784c5fec02da0baa91e685e9c3adecdbe3f403b
+Author: Ryan Lortie <desrt@desrt.ca>
+Date: Sat Oct 24 16:07:55 2009 -0700
+
+ add '@Image' attribute to sections
+
+ - set to an image file to have that image placed in the top-right corner
+ of the section documentation
+ - fall back to looking in the 'gallery' file (as used by Gtk+)
+ - fixes Bug 599514 - sane support for per-page images
+
+ gtk-doc.xsl | 21 ++++++++++++++-------
+ gtkdoc-mkdb.in | 33 ++++++++++++++++++++++++++++++---
+ gtkdoc-mktmpl.in | 14 ++++++++++++--
+ help/manual/C/gtk-doc-manual.xml | 12 ++++++++++++
+ tests/gobject/docs/Makefile.am | 4 +++-
+ tests/gobject/docs/images/object.png | Bin 0 -> 4101 bytes
+ tests/gobject/src/gobject.c | 1 +
+ 7 files changed, 72 insertions(+), 13 deletions(-)
+
+commit 3c1f03f101cf01f7b273893bd5db0425cbcfd532
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Tue Jan 19 22:57:12 2010 +0200
+
+ xsl: update foldoc link
+
+ gtk-doc.xsl | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+commit e4199132f48cdaeaf25e48ead2e3977c94504805
+Author: Mario Blättermann <mariobl@gnome.org>
+Date: Sun Jan 17 15:57:54 2010 +0100
+
+ Updated German doc translation
+
+ help/manual/de/de.po | 2267 ++++++++++++++++++++++++++++++++++++++++----------
+ 1 files changed, 1828 insertions(+), 439 deletions(-)
+
+commit d1a042fbd75b7f8d44293fbee01e783be79d884c
+Author: Nicola Fontana <ntd@entidi.it>
+Date: Mon Aug 3 15:32:36 2009 +0200
+
+ gtkdoc-scan: touch MODULE-overrides.txt when missing. Fixes #590625
+
+ gtk-doc.make puts $(DOC_MODULE)-overrides.txt in EXTRA_DIST, so this
+ file must exist to be able to "make dist".
+
+ gtkdoc-scan.in | 12 ++++++------
+ 1 files changed, 6 insertions(+), 6 deletions(-)
+
+commit 47478f6805f139ba61d9b2ec36bb9bb39c8ff1dd
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Tue Jan 12 10:44:57 2010 +0200
+
+ build: add example to EXTRA_DIST, Fixes #606661
+
+ tests/gobject/Makefile.am | 1 +
+ 1 files changed, 1 insertions(+), 0 deletions(-)
+
+commit cb1f9ef3e2bafc0df64117bafd64b716575c0bd5
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Thu Jan 7 14:37:22 2010 +0200
+
+ xslt: cache some nodesets to be quicker
+
+ devhelp.xsl | 2 +-
+ devhelp2.xsl | 4 ++--
+ gtk-doc.xsl | 23 ++++++++++++++---------
+ 3 files changed, 17 insertions(+), 12 deletions(-)
+
+commit 5086b0938190905de84b466cbb4aa8c7c9982c20
+Author: Javier Jardón <jjardon@gnome.org>
+Date: Sun Jan 3 22:05:11 2010 +0100
+
+ Added more info to "Documenting symbols" section
+
+ Fixes https://bugzilla.gnome.org/show_bug.cgi?id=605452
+
+ help/manual/C/gtk-doc-manual.xml | 210 ++++++++++++++++++++++++++++----------
+ 1 files changed, 156 insertions(+), 54 deletions(-)
+
+commit 22efd158b7e98ed8f43445a74f8ce21bf468abbb
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Thu Jan 7 11:45:07 2010 +0200
+
+ common: also accept G_GNU_ later in args
+
+ This makes gtkdoc handle some more args in glib that where using G_GNUC_MAY_ALIAS.
+
+ gtkdoc-common.pl.in | 4 ++--
+ 1 files changed, 2 insertions(+), 2 deletions(-)
+
+commit 00d89a48e399065cb33dc8fdfe585c8e80c4c862
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Thu Jan 7 11:23:58 2010 +0200
+
+ common: parser improvements and warning fixes
+
+ Improve the regexps to take more G_GNUC_* defines. Also use warn instead of
+ LogWarning here for now, as we don't have the Location data in the modules :/.
+
+ gtkdoc-common.pl.in | 13 ++++++-------
+ 1 files changed, 6 insertions(+), 7 deletions(-)
+
+commit 4785ec844c09f3e74011804c2ba4d93602aa1501
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Wed Jan 6 23:09:04 2010 +0200
+
+ gtkdocize: fix the configure grepping even more
+
+ Using backticks in the if was nonsense and swallowed the grep result. We also
+ don't want to show anything on stdout.
+
+ gtkdocize.in | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+commit 9f036ba59450c2bb0a0d6d5471291cdd6c395373
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Tue Jan 5 15:28:08 2010 +0200
+
+ mkdb: fixed uninitialized variable access
+
+ gtkdoc-mkdb.in | 13 +++++++------
+ 1 files changed, 7 insertions(+), 6 deletions(-)
+
+commit 7dbf8bf4f73c0861bd373c6e7df289c92452de92
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Tue Jan 5 14:38:25 2010 +0200
+
+ xsl: also hardcode "en" in gentext.template to get another big speedup
+
+ Hardcoding "en" and knowing that we have no local translations, allows us to
+ simplify the template. Still the gentext.template is among the top in the
+ profile, but with these changes it is more that twice as fast.
+
+ gtk-doc.xsl | 88 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
+ 1 files changed, 86 insertions(+), 2 deletions(-)
+
+commit 01615f236e355160bbef636bc2c2b5f196f2957f
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Mon Jan 4 14:39:19 2010 +0200
+
+ gtkdocize: sed does not fail if ther eis no match
+
+ This fixes grabbing the options from the configure macro, when there is no 2nd
+ option used.
+
+ gtkdocize.in | 5 +++--
+ 1 files changed, 3 insertions(+), 2 deletions(-)
+
+commit e1aafbfcab57af90b4fe8fb548c65bd1168e0d92
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Sun Jan 3 15:23:13 2010 +0200
+
+ scan: remove types file if empty
+
+ gtkdoc-scan.in | 7 ++++++-
+ tests/bugs/docs/tester.types | 2 --
+ 2 files changed, 6 insertions(+), 3 deletions(-)
+
+commit ac45c1d41cdbb71e2e4801ec56d679319f258b2e
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Sun Jan 3 15:08:59 2010 +0200
+
+ tests: force rebuild of main doc
+
+ tests/empty/Makefile.am | 1 +
+ 1 files changed, 1 insertions(+), 0 deletions(-)
+
+commit 39c2c833deb9939dac12355e6258e7ad23c29500
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Sun Jan 3 14:58:09 2010 +0200
+
+ tests: add an empty project where we even regenerate the tester-docs.xml
+
+ configure.ac | 3 +
+ tests/Makefile.am | 4 +-
+ tests/empty.sh | 4 ++
+ tests/empty/Makefile.am | 12 ++++++
+ tests/empty/docs/Makefile.am | 85 ++++++++++++++++++++++++++++++++++++++++++
+ tests/empty/src/Makefile.am | 15 +++++++
+ tests/empty/src/tester.c | 23 +++++++++++
+ tests/empty/src/tester.h | 10 +++++
+ 8 files changed, 154 insertions(+), 2 deletions(-)
+
+commit cb50e6173199821f8a28f39ac2f2fe78f8c1f858
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Sun Jan 3 14:55:02 2010 +0200
+
+ mkdb: keep db-header also if ns decl is in doctype. Fixes #590602
+
+ Nowadays we add the xinclude namespace decl to the doctype. The code was
+ expecting it only in the top-level tag.
+
+ gtkdoc-mkdb.in | 52 +++++++++++++++++++++++++++++++++++++---------------
+ 1 files changed, 37 insertions(+), 15 deletions(-)
+
+commit 7a67a692fcdd16221ece54fbddc12392140c5fad
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Sun Jan 3 14:21:07 2010 +0200
+
+ scan: fix uninitialized var introduced by refactoring
+
+ Also realign two comments
+
+ gtkdoc-scan.in | 6 +++---
+ 1 files changed, 3 insertions(+), 3 deletions(-)
+
+commit d137077c4c644a0fe15a370ad45a5503d38f48c5
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Sun Jan 3 13:55:27 2010 +0200
+
+ todo: move one item to 2.x todo list
+
+ TODO | 3 ---
+ doc/design-2.x.txt | 3 +++
+ 2 files changed, 3 insertions(+), 3 deletions(-)
+
+commit 628f33ba894825e9d08a84ed0e8961406e6fc5b8
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Sun Jan 3 13:33:54 2010 +0200
+
+ common: also allow scope comments in enums
+
+ This allows to e.g. hide a last XXX_COUNT enum value that is used internaly only.
+ Update docs accordingly.
+
+ gtkdoc-common.pl.in | 4 ++++
+ help/manual/C/gtk-doc-manual.xml | 9 ++++++++-
+ 2 files changed, 12 insertions(+), 1 deletions(-)
+
+commit 31f4610758e64b442394a4756fea623cebc380ca
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Sun Jan 3 13:27:27 2010 +0200
+
+ common: also handle // comments in addition to /* */ ones.
+
+ Before we got error about parsing struct/union fields if they used // comments.
+
+ gtkdoc-common.pl.in | 5 ++++-
+ 1 files changed, 4 insertions(+), 1 deletions(-)
+
+commit 12693564a6dd1f01b7c95794f64c0385cef79566
+Author: David Nečas <yeti@physics.muni.cz>
+Date: Sun Jan 3 13:15:34 2010 +0200
+
+ scan: put class structs to the generated section file, FIxes #605052
+
+ To document virtual methods of classes and interfaces, they must be present in
+ the section file. gtkdoc-scan excluded them when generating the section file.
+ It is now the consensus that it is better to have a brief doc-blob instead of
+ hiding the symbol by default.
+
+ gtkdoc-scan.in | 11 -----------
+ 1 files changed, 0 insertions(+), 11 deletions(-)
+
+commit 7070dfd50806cb609f789ddf1484dbdfa8628ec9
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Sat Jan 2 23:29:32 2010 +0200
+
+ TODO: idea for performance
+
+ TODO | 4 +++-
+ 1 files changed, 3 insertions(+), 1 deletions(-)
+
+commit bccbe423d1a30a91b4e57f753eaac7eff7d9010e
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Sat Jan 2 23:25:20 2010 +0200
+
+ gtk-doc: refactor regexps and reparsing
+
+ Move Function and Macro declaration parsing to common and use from mkdb and
+ mktmpl. In mkdb use the parsed declarations to track unused parameters and
+ missing parameter docs.
+ Output unused docuemntation or partialy unused docs to -unused.txt from mkdb
+ too (this was only done in mktmpl so far)
+
+ gtkdoc-common.pl.in | 161 +++++++++++++++++++++++--
+ gtkdoc-mkdb.in | 341 ++++++++++++++++++++++++++++++---------------------
+ gtkdoc-mktmpl.in | 86 +++-----------
+ 3 files changed, 369 insertions(+), 219 deletions(-)
+
+commit 66b431f553bcc434897bc23b94919d0d4faccbf1
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Sat Jan 2 23:04:32 2010 +0200
+
+ docs: describe gtkdocize parameter passing and also unify GTK-Doc spelling
+
+ help/manual/C/gtk-doc-manual.xml | 87 +++++++++++++++++++++-----------------
+ 1 files changed, 48 insertions(+), 39 deletions(-)
+
+commit eb334bd4aa0d036ff8a54331178c08c1096ad07f
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Sat Jan 2 22:59:21 2010 +0200
+
+ gtkdocize: allow settings gtkdocize options in more ways, Fixes 605564
+
+ If one wants to e.g. use "--flavour no-tmpl" one needs to add that to
+ autogen.sh. Gnome projects usualy use autogen.sh from gnome-common and thus
+ can't do any customization. Now they can do it via envvar or via
+ GTK_DOC_CHECK macro.
+
+ gtkdocize.in | 40 +++++++++++++++++++++++++++++++---------
+ 1 files changed, 31 insertions(+), 9 deletions(-)
+
+commit 8d4e46323b6ea82ed966c4b65f1344b651e20255
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Sat Jan 2 01:00:03 2010 +0200
+
+ scan: improve the scanner, Fixes #512155
+
+ Handle multiline typedefs. Better debug logging. Handle function pointers better.
+
+ gtkdoc-scan.in | 49 ++++++++++++++++++++++++++++++++++++++++---------
+ 1 files changed, 40 insertions(+), 9 deletions(-)
+
+commit 1d761ad5a5c24695eab561704c691ff7af75e1c1
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Sat Jan 2 00:58:31 2010 +0200
+
+ tests: update the tests
+
+ tests/bugs/docs/tester-sections.txt | 3 ++-
+ tests/bugs/src/tester.c | 4 ++--
+ tests/bugs/src/tester.h | 27 ++++++++++++++++++++++++---
+ 3 files changed, 28 insertions(+), 6 deletions(-)
+
+commit ba128b7bf2622ea07461dc094c6846f7fc7140f0
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Fri Jan 1 23:59:08 2010 +0200
+
+ mkdb: update comments and use UpdateFileIfChanged
+
+ gtkdoc-mkdb.in | 12 +++++++++---
+ 1 files changed, 9 insertions(+), 3 deletions(-)
+
+commit cb20f9213d1fdf7beb2c5627b76bb4f7e712fed7
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Fri Jan 1 23:51:45 2010 +0200
+
+ mkdb: improve readability and use UpdateFileIfChanged
+
+ Using UpdateFileIfChanged is nice if someone wants to depend on report file
+ changes among other things.
+
+ gtkdoc-mkdb.in | 14 ++++++++++----
+ 1 files changed, 10 insertions(+), 4 deletions(-)
+
+commit 0c7e8da52489fd69341829e8bc9bff9213bbced6
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Thu Dec 31 13:40:21 2009 +0200
+
+ design: plans for less report files
+
+ doc/design-2.x.txt | 7 +++++++
+ 1 files changed, 7 insertions(+), 0 deletions(-)
+
+commit 6036e9acd76003dd4bf9f84b9b51c7da7bbd1186
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Thu Dec 31 00:24:22 2009 +0200
+
+ configure: add a comment of what we'd like to do if we could do it safely
+
+ configure.ac | 2 ++
+ 1 files changed, 2 insertions(+), 0 deletions(-)
+
+commit 056a26b21e3ac64bea1f2673228675f4cf0b982a
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Thu Dec 31 00:22:11 2009 +0200
+
+ tests: add more cases to the tests and fix some issues
+
+ Add missing docs here and there. Add cases to test handling of missing,
+ incomplete and unexisting docs.
+
+ tests/annotations/src/tester.c | 2 +-
+ tests/bugs/docs/tester-sections.txt | 4 +
+ tests/bugs/src/tester.c | 23 ++++++
+ tests/bugs/src/tester.h | 10 ++-
+ tests/fail.sh | 4 +-
+ tests/fail/docs/tester-docs.xml | 3 +
+ tests/fail/docs/tester-sections.txt | 27 +++++---
+ tests/fail/src/tester.c | 57 +++++++++++++++
+ tests/fail/src/tester.h | 100 +++++++++++++++++++++++++--
+ tests/gobject/docs-tmpl/tester-sections.txt | 1 +
+ tests/gobject/docs/tester-sections.txt | 1 +
+ tests/gobject/src/gobject.c | 16 ++++-
+ tests/gobject/src/gobject.h | 4 +-
+ 13 files changed, 230 insertions(+), 22 deletions(-)
+
+commit 14321b5d0b90dccab9b34ebf55f898ba52e8f159
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Tue Dec 29 11:17:41 2009 +0200
+
+ common: documented one parameter and whitespace cleanup
+
+ gtkdoc-common.pl.in | 4 +++-
+ 1 files changed, 3 insertions(+), 1 deletions(-)
+
+commit 6e8de2c1673124413ae44e65ed06b3ac0580fd80
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Tue Dec 29 11:15:34 2009 +0200
+
+ css: stronger selectors for programmlisting
+
+ The selctors could before also apply easily to e.g. function sysnopsis
+
+ style.css | 26 +++++++++++++-------------
+ 1 files changed, 13 insertions(+), 13 deletions(-)
+
+commit 7ed27239bd5718aba5f4702e251834f81deacf9a
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Tue Dec 29 11:14:27 2009 +0200
+
+ mkdb: reformat soem code parts
+
+ gtkdoc-mkdb.in | 15 ++++-----------
+ 1 files changed, 4 insertions(+), 11 deletions(-)
+
+commit b55428d7de138ee4e3af9d77f00a5e6f7a61e736
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Tue Dec 29 11:13:16 2009 +0200
+
+ mkdb: get rid of some leftover widget -> object
+
+ gtkdoc-mkdb.in | 16 ++++++++--------
+ 1 files changed, 8 insertions(+), 8 deletions(-)
+
+commit 08be8c069a717279f80357df2959a7195728b0b2
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Sun Dec 27 00:30:33 2009 +0200
+
+ mkdb: track incomplete docs in tmpl-free build too. Fixes 568711
+
+ We reparse the structs/unions/enums for doc output anyway. Use that info to
+ check if all fields/values have docs.
+
+ gtkdoc-common.pl.in | 14 ++--
+ gtkdoc-mkdb.in | 201 ++++++++++++++++++++++++++++++++++-----------------
+ 2 files changed, 140 insertions(+), 75 deletions(-)
+
+commit 6e331ee9d79e894ae401cee0285f71ef717e6fb7
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Sun Dec 27 00:29:27 2009 +0200
+
+ tests: fill some missing docs, add one more fail-test
+
+ The fail test will work with the next commit
+
+ tests/bugs/docs/tester-sections.txt | 2 +-
+ tests/bugs/src/tester.h | 13 ++++++++-----
+ tests/fail.sh | 5 +++++
+ 3 files changed, 14 insertions(+), 6 deletions(-)
+
+commit 6f949125d67ce8dd4f71bafb544b8dd304cdbe14
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Sat Dec 26 22:24:06 2009 +0200
+
+ scan: don't output empty sections
+
+ gtkdoc-scan.in | 8 ++++++--
+ 1 files changed, 6 insertions(+), 2 deletions(-)
+
+commit 30dc497fcd7cb1b2c4443bc24984707aa876b004
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Sat Dec 26 22:23:26 2009 +0200
+
+ scan: put TITLE after FILE and before any symbols.
+
+ gtkdoc-scan.in | 6 ++++--
+ 1 files changed, 4 insertions(+), 2 deletions(-)
+
+commit 13baa4ff9ae34e75c045de2d88079de9e10ca6a4
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Sat Dec 26 22:15:28 2009 +0200
+
+ tests: make similar to non tmpl docs
+
+ tests/gobject/docs-tmpl/tester-docs.xml | 92 +++++++++++++++++----------
+ tests/gobject/docs-tmpl/tester-sections.txt | 2 -
+ 2 files changed, 59 insertions(+), 35 deletions(-)
+
+commit fda9d9e7122c2d9228de3664ccc630c490266e4c
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Sat Dec 26 22:03:45 2009 +0200
+
+ design: make -sections.txt file unneeded
+
+ doc/design-2.x.txt | 3 ++-
+ 1 files changed, 2 insertions(+), 1 deletions(-)
+
+commit 7ee53c1c6b650b90fa6faa67ac690f9a8d1e30c9
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Sat Dec 26 00:51:49 2009 +0200
+
+ mkdb: GtkObject -> GObject in comments
+
+ gtkdoc-mkdb.in | 8 ++++----
+ 1 files changed, 4 insertions(+), 4 deletions(-)
+
+commit c92ee0a8d0e3702eff0a3abfd18ab3fb284c0489
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Sat Dec 26 00:38:37 2009 +0200
+
+ mkdb: also track section-id per symbol to fix the section links in indices
+
+ The previous code was only working for GObject based sections.
+
+ gtkdoc-mkdb.in | 64 +++++++++++++++++++++++++++++++++----------------------
+ 1 files changed, 38 insertions(+), 26 deletions(-)
+
+commit f2f9c083e83a1e0f6f471172a36f06e28e6e51f8
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Sat Dec 26 00:37:10 2009 +0200
+
+ fixxref: mark some more fundamental types as "not linkable"
+
+ gtkdoc-fixxref.in | 3 +++
+ 1 files changed, 3 insertions(+), 0 deletions(-)
+
+commit 06cea18d0b88e0ade6700bbe5e675deb2ad65db6
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Fri Dec 25 23:48:17 2009 +0200
+
+ tests: add examples for other gobject types
+
+ Add a boxed and a enum type to the gobject tests.
+
+ tests/gobject/docs-tmpl/tester-docs.xml | 1 +
+ tests/gobject/docs-tmpl/tester-sections.txt | 10 ++++++
+ tests/gobject/docs-tmpl/tester.types | 2 +
+ tests/gobject/docs/tester-docs.xml | 1 +
+ tests/gobject/docs/tester-sections.txt | 10 ++++++
+ tests/gobject/src/Makefile.am | 6 +++-
+ tests/gobject/src/giface.h | 4 ++-
+ tests/gobject/src/gobject.h | 4 ++-
+ tests/gobject/src/gtypes.c | 47 +++++++++++++++++++++++++++
+ tests/gobject/src/gtypes.h | 29 ++++++++++++++++
+ tests/gobject/src/tester.h | 1 +
+ 11 files changed, 112 insertions(+), 3 deletions(-)
+
+commit 315368cd466ec985a1f93cccefd2d04dd3ed38be
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Fri Dec 25 01:33:53 2009 +0200
+
+ design: update
+
+ doc/design-1.x.txt | 19 +++++++++++++++++++
+ doc/design-2.x.txt | 15 +++++++++++++++
+ 2 files changed, 34 insertions(+), 0 deletions(-)
+
+commit 43c15f2b4e0ba34292902292f28deca82def1a76
+Author: Philip Chimento <philip.chimento@gmail.com>
+Date: Fri Dec 25 00:02:01 2009 +0200
+
+ parsing: have simillar support for unions like we have for structs
+
+ Improve the scanner to handle unions and mkdb to output better docbook fragments.
+
+ gtkdoc-common.pl.in | 6 ++--
+ gtkdoc-mkdb.in | 71 ++++++++++++++++++++++++++++++++++++++++++-
+ gtkdoc-scan.in | 82 +++++++++++++++++++++++++--------------------------
+ 3 files changed, 112 insertions(+), 47 deletions(-)
+
+commit 1883055b9203061c30f902cbc51a74e8e5f149ab
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Fri Dec 25 00:00:02 2009 +0200
+
+ tests: add tests for union parsing (#165425)
+
+ tests/bugs/docs/tester-sections.txt | 2 ++
+ tests/bugs/src/tester.h | 32 +++++++++++++++++++++++++++++---
+ 2 files changed, 31 insertions(+), 3 deletions(-)
+
+commit 74c8ab484f6a08b9848bcd4fcf1be6e59e4a3920
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Thu Dec 24 22:30:03 2009 +0200
+
+ docs: update SGML usage, mention pdf generation
+
+ help/manual/C/gtk-doc-manual.xml | 20 ++++++++++++--------
+ 1 files changed, 12 insertions(+), 8 deletions(-)
+
+commit 05a0b560d4fc1e1ba2c900cfd4acb8c8d90c55b9
+Author: Javier Jardón <jjardon@gnome.org>
+Date: Wed Dec 23 08:07:33 2009 +0100
+
+ Add info about how to use '<' and '>'
+
+ help/manual/C/gtk-doc-manual.xml | 10 +++++-----
+ 1 files changed, 5 insertions(+), 5 deletions(-)
+
+commit 8e49176d1f5d19c16d6ef8ee5bca0777fd57f9f3
+Author: Javier Jardón <jjardon@gnome.org>
+Date: Wed Dec 23 07:09:50 2009 +0100
+
+ Add more info about the struct documentation options
+
+ Add info about /*< private >*/ and /*< public >*/ usage
+
+ help/manual/C/gtk-doc-manual.xml | 16 ++++++++++++----
+ 1 files changed, 12 insertions(+), 4 deletions(-)
+
+commit d78ead988e4730fde9975012ab70834981dd90d5
+Author: Javier Jardón <jjardon@gnome.org>
+Date: Wed Dec 23 07:03:32 2009 +0100
+
+ Add an example about documenting enums
+
+ help/manual/C/gtk-doc-manual.xml | 20 ++++++++++++++++++++
+ 1 files changed, 20 insertions(+), 0 deletions(-)
+
+commit 279a9e8c0b743ad3a18dce250607c1dd3f5c795d
+Author: Javier Jardón <jjardon@gnome.org>
+Date: Wed Dec 23 06:35:14 2009 +0100
+
+ Add <keycap> and <keycombo> example
+
+ Add info about these docbook tags
+
+ Fixes https://bugzilla.gnome.org/show_bug.cgi?id=605285
+
+ help/manual/C/gtk-doc-manual.xml | 13 ++++++++++++-
+ 1 files changed, 12 insertions(+), 1 deletions(-)
+
+commit fdf9b958fbd866d7c2652c6194cbef9fc6103a05
+Author: Javier Jardón <jjardon@gnome.org>
+Date: Wed Dec 23 06:05:00 2009 +0100
+
+ Added "Since" and "Deprecated" tag to function example
+
+ Fixes https://bugzilla.gnome.org/show_bug.cgi?id=605281
+
+ help/manual/C/gtk-doc-manual.xml | 3 +++
+ 1 files changed, 3 insertions(+), 0 deletions(-)
+
+commit f7231008ab7a50fb24aab5cefa6a095ed1abb156
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Thu Dec 24 14:52:35 2009 +0200
+
+ docs: FAQ and Controlling the results
+
+ Expand FIXMEs in FAQ and add more entries. Indent XML. Describe more generated
+ files. Tell about new env-var for running the scanner with.
+
+ help/manual/C/gtk-doc-manual.xml | 105 ++++++++++++++++++++++++++++++--------
+ 1 files changed, 84 insertions(+), 21 deletions(-)
+
+commit f4ae267b4727e55a9bdd4efb0302120f28b23275
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Thu Dec 24 14:51:13 2009 +0200
+
+ mkdb: attempt to log not shown types
+
+ This needs more work to show only internal types.
+
+ gtkdoc-mkdb.in | 3 +++
+ 1 files changed, 3 insertions(+), 0 deletions(-)
+
+commit 4158eafa5bf63d128781215d83f597e9b54b6f80
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Thu Dec 24 14:17:53 2009 +0200
+
+ scanner: setting GTK_DOC_KEEP_INTERMEDIATE=1 allows to keep scanner
+
+ This help debugging. Bother the binary and the sources are kept.
+
+ gtkdoc-scangobj.in | 4 +++-
+ gtkdoc-scanobj.in | 4 +++-
+ 2 files changed, 6 insertions(+), 2 deletions(-)
+
+commit 5ea903fe7eed24de99d88464933163b092ed1bd1
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Wed Dec 23 02:35:10 2009 +0200
+
+ xslt: performance improvements
+
+ API docs are english anyway. Hardcode the language to get a 20% speedup. Update
+ TODO.
+
+ TODO | 6 +++++-
+ gtk-doc.xsl | 26 ++++++++++++++++++++++----
+ 2 files changed, 27 insertions(+), 5 deletions(-)
+
+commit 1dd9e44d1786fa6cc44ab3243ff94af8c7d15668
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Wed Dec 23 02:33:56 2009 +0200
+
+ tests: also test xsl files for validity
+
+ Rework the test for less copy and past also
+
+ tests/Makefile.am | 6 +++
+ tests/tools.sh.in | 91 ++++++++++++++++------------------------------------
+ 2 files changed, 34 insertions(+), 63 deletions(-)
+
+commit 172468bb66d72075130ec201624c7cc08843ddfb
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Wed Dec 23 02:31:32 2009 +0200
+
+ mkdb: add section-link to index entries. Fixes #115531
+
+ gtkdoc-mkdb.in | 66 ++++++++++++++++++++++++++++++++++++++++---------------
+ 1 files changed, 48 insertions(+), 18 deletions(-)
+
+commit e52d95c284991c76f8772f70904fa7995f771684
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Wed Dec 23 01:22:17 2009 +0200
+
+ tests: make use of title tag to have a more minimal -sections.txt
+
+ tests/gobject/docs/tester-sections.txt | 2 --
+ tests/gobject/src/giface.c | 1 +
+ tests/gobject/src/gobject.c | 1 +
+ 3 files changed, 2 insertions(+), 2 deletions(-)
+
+commit e6f4e938df39521cc24a065156b8781930d22f52
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Wed Dec 23 00:37:33 2009 +0200
+
+ devhelp: add glossary and index to the toc
+
+ devhelp.xsl | 2 +-
+ devhelp2.xsl | 2 +-
+ gtk-doc.xsl | 2 ++
+ 3 files changed, 4 insertions(+), 2 deletions(-)
+
+commit 417c214708d89e81894e17d1d7531b3032de40aa
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Tue Dec 22 22:45:01 2009 +0200
+
+ docs: more xml-id research
+
+ doc/design-2.x.txt | 14 +++++++++++++-
+ 1 files changed, 13 insertions(+), 1 deletions(-)
+
+commit b39bb84dfb5f16c8b2977105bd5876b7b8d58a11
+Author: Vincent Untz <vuntz@gnome.org>
+Date: Tue Dec 22 12:54:31 2009 +0100
+
+ fixxref: make it work again without --module argument, Fixes #605211
+
+ This restores a compatible behavior with previous versions of gtk-doc,
+ which is required by many tarballs.
+
+ gtkdoc-fixxref.in | 56 +++++++++++++++++++++++++++-------------------------
+ 1 files changed, 29 insertions(+), 27 deletions(-)
+
+commit 95aceeabf2bf54b95c90b84e596fe1972a09508b
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Tue Dec 22 22:25:28 2009 +0200
+
+ tests: patch local makefiles to print timestamps for each step
+
+ tests/gtk-doc.make | 25 ++++++++++++++-----------
+ tests/gtk-doc.notmpl.make | 23 +++++++++++++----------
+ 2 files changed, 27 insertions(+), 21 deletions(-)
+
+commit 3edf9c9a388833d3151e0ea82e916a57f4fdecda
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Tue Dec 22 22:24:48 2009 +0200
+
+ mkdb: remove some unnneded vars from index enhancement patch
+
+ gtkdoc-mkdb.in | 10 ++++------
+ 1 files changed, 4 insertions(+), 6 deletions(-)
+
+commit d2bc4a59c331501336846569ad7cd7e9ff09054d
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Tue Dec 22 22:23:18 2009 +0200
+
+ docs: design docs and comments
+
+ Start to figure some design decission before my time and track ideas what should
+ be changed in the future design. Update some comemnts accordingly.
+
+ TODO | 61 +++++++++++++++++++++++++++++++++++++++++++++++++++
+ doc/design-1.x.txt | 9 +++++++
+ doc/design-2.x.txt | 28 +++++++++++++++++++++++
+ gtkdoc-common.pl.in | 6 +++-
+ gtkdoc-mkdb.in | 7 +-----
+ 5 files changed, 103 insertions(+), 8 deletions(-)
+
+commit 4f253d2e300e5e5a64ed4c5d99448f432062c879
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Sun Dec 20 00:10:25 2009 +0200
+
+ mkdb: generate a short desc for index entries. Partialy fixes #115531
+
+ gtkdoc-mkdb.in | 35 ++++++++++++++++++++++++++++++++---
+ 1 files changed, 32 insertions(+), 3 deletions(-)
+
+commit bf3485d864f1b3475f10c6e3d0b01815e3d5dc69
+Author: Nicola Fontana <ntd@entidi.it>
+Date: Sun Aug 16 15:48:47 2009 +0200
+
+ gtkdoc-mkdb: remove trailing blanks from Section_Id, Fixes #591975
+
+ $SourceSymbolDocs always embeds the trailing newline. Being an id, there
+ is no reasons to keep any blank at the end of a section id.
+
+ gtkdoc-mkdb.in | 3 ++-
+ 1 files changed, 2 insertions(+), 1 deletions(-)
+
+commit bdaf71b1373b7ac436830985301871c39942dda7
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Sat Dec 19 23:20:35 2009 +0200
+
+ docs: clarify TITLE in section.txt file
+
+ help/manual/C/gtk-doc-manual.xml | 5 +++--
+ 1 files changed, 3 insertions(+), 2 deletions(-)
+
+commit c2ea2bbeee9edeec7fe232c9ee1204152ce045a2
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Sat Dec 19 23:11:21 2009 +0200
+
+ docs: document remaining section docs fields
+
+ The docs where missing @title and @section_id description.
+
+ help/manual/C/gtk-doc-manual.xml | 28 ++++++++++++++++++++++------
+ 1 files changed, 22 insertions(+), 6 deletions(-)
+
+commit 3ea589b993279620937e828aa44724c7b1e87bc8
+Author: David Nečas <yeti@physics.muni.cz>
+Date: Sat Dec 19 22:18:58 2009 +0200
+
+ fixxref: check for "-" in link and not "_". FIxes #604992
+
+ The warning is not issued if the function name does not contain underscore.
+ But since the link target is checked, that contains underscores transofrmed to
+ dashes, the warning is never issued.
+
+ gtkdoc-fixxref.in | 9 +++++----
+ 1 files changed, 5 insertions(+), 4 deletions(-)
+
+commit fae445031a99417737c7efdede6967d87789b242
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Sat Dec 19 22:04:52 2009 +0200
+
+ TODO: planning for macros
+
+ TODO | 15 +++++++++++----
+ 1 files changed, 11 insertions(+), 4 deletions(-)
+
+commit 70ac3aa59aefa8d8332b56ba9ad4a8d9dc41af2d
+Author: Emilio Pozuelo Monfort <pochu27@gmail.com>
+Date: Sat Dec 19 13:53:05 2009 +0100
+
+ Bug 604995 - Fix syntax error in gtkdoc-mkman
+
+ gtkdoc-mkman.in | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+commit 4dd5ee1d32332236cc1b9a2f4bde86bdb94fa8e4
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Sat Dec 19 22:01:20 2009 +0200
+
+ tests: cover shell scripts by unit tests, fixes #604998
+
+ Use sh -n to test the validity of the shellscripts we ship.
+
+ tests/tools.sh.in | 40 +++++++++++++++++++++++++++++++++++++++-
+ 1 files changed, 39 insertions(+), 1 deletions(-)
+
+commit 1f5d323d9ecf6384980c8e51e9d5b30376ce3536
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Fri Dec 18 21:47:23 2009 +0200
+
+ tools: append to the perl path so that it stays overrideable. Fixes #604892
+
+ We were prepending datadir to the INC path for perl to find gtkdoc-common.pl.
+ This also caused the unit tests to run with the installed version, despite
+ that we had set an local path to INC from the Makefile.
+
+ gtkdoc-fixxref.in | 2 +-
+ gtkdoc-mkdb.in | 2 +-
+ gtkdoc-mktmpl.in | 2 +-
+ gtkdoc-scan.in | 2 +-
+ gtkdoc-scangobj.in | 2 +-
+ gtkdoc-scanobj.in | 2 +-
+ 6 files changed, 6 insertions(+), 6 deletions(-)
+
+commit b67686169b91900f48481f3be2e658a0fc7023f9
+Author: Javier Jardón <jjardon@gnome.org>
+Date: Fri Dec 18 21:25:15 2009 +0100
+
+ [docs] Correct the usage of gtkdocize --flavour option
+
+ Use '--flavour no-tmpl' instead '--flavour=no-tmpl' in the
+ documentation.
+
+ Fixes https://bugzilla.gnome.org/show_bug.cgi?id=604885
+
+ help/manual/C/gtk-doc-manual.xml | 6 ++++--
+ 1 files changed, 4 insertions(+), 2 deletions(-)
+
+commit 3975857fe56cc7ddc50d11712d8c6067afa3792e
+Author: David Nečas <yeti@physics.muni.cz>
+Date: Fri Dec 18 17:59:05 2009 +0200
+
+ gtkdocize: accept also --flavour=<flavour>. Partialy fixes #604885
+
+ gtkdocize.in | 30 +++++++++++++++++++-----------
+ 1 files changed, 19 insertions(+), 11 deletions(-)
+
+commit b67070266afebd8e6295e6c42a237cc2e4d1d2c5
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Fri Dec 18 17:47:07 2009 +0200
+
+ docs: add missing tags to rev-history
+
+ help/manual/C/gtk-doc-manual.xml | 8 +++++++-
+ 1 files changed, 7 insertions(+), 1 deletions(-)
+
+commit 189ab8a6f9f428e481379a9057d7f6d8e3679a84
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Fri Dec 18 15:20:15 2009 +0200
+
+ dist: bumped versions, back to development
+
+ NEWS | 4 ++++
+ configure.ac | 2 +-
+ help/manual/C/gtk-doc-manual.xml | 4 ++++
+ 3 files changed, 9 insertions(+), 1 deletions(-)
+
+commit 174ebd4305948a1aa2f594ccaa73892f50c4f44d
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Fri Dec 18 15:10:35 2009 +0200
+
+ dist: update NEWS and dump release dates
+
+ NEWS | 9 +++++++++
+ help/manual/C/gtk-doc-manual.xml | 2 +-
+ 2 files changed, 10 insertions(+), 1 deletions(-)
+
+commit 0e0993306b9eaa997e9d5e4f11ec33ea7ed3483c
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Fri Dec 18 11:21:51 2009 +0200
+
+ docs: same version in the how-tos
+
+ HACKING | 17 +++++++++--------
+ 1 files changed, 9 insertions(+), 8 deletions(-)
+
+commit 1c9c8c1f6e6d3edc913407f45658bfe71fef702f
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Fri Dec 18 11:21:32 2009 +0200
+
+ dist: bump versions
+
+ configure.ac | 2 +-
+ help/manual/C/gtk-doc-manual.xml | 4 ++++
+ 2 files changed, 5 insertions(+), 1 deletions(-)
+
+commit ca8f9b3a3ca244eb36d0806abe3a96d91bc34c53
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Fri Dec 18 10:51:05 2009 +0200
+
+ dist: add helper for making NEWS
+
+ bugzilla.py | 161 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ 1 files changed, 161 insertions(+), 0 deletions(-)
+
+commit 596abeb374224d1047b9fb42a68ce8742e0eb48f
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Fri Dec 18 10:38:55 2009 +0200
+
+ docs: bump release date
+
+ help/manual/C/gtk-doc-manual.xml | 12 ++++++++----
+ 1 files changed, 8 insertions(+), 4 deletions(-)
+
+commit 382eb107319f46cf3b5dfe5b6b7c72eec16b5d0c
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Fri Dec 18 10:38:21 2009 +0200
+
+ news: update release notes
+
+ NEWS | 68 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
+ 1 files changed, 67 insertions(+), 1 deletions(-)
+
+commit a78ea651dd996e6bac53a1364aeab31370a4e6c8
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Fri Dec 18 10:34:16 2009 +0200
+
+ dist: update HACKING for git and add CHangeLog rule
+
+ HACKING | 47 ++++++++++++++++++++++++++---------------------
+ Makefile.am | 14 ++++++++++++++
+ 2 files changed, 40 insertions(+), 21 deletions(-)
+
+commit 311aaabddfcae13df2b169df89e140a1b9b56cb7
+Author: Javier Jardón <jjardon@gnome.org>
+Date: Thu Dec 17 21:05:58 2009 +0100
+
+ Support silent build rules with automake 1.11
+
+ Support silent build rules, requires at least automake-1.11.
+ Disable by either passing --disable-silent-rules to configure or
+ passing V=1 to make.
+
+ configure.ac | 5 +++++
+ 1 files changed, 5 insertions(+), 0 deletions(-)
+
+commit 1b4b053f9cfe9f146d6d57ddc9f59376fd3dde33
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Thu Dec 17 22:20:18 2009 +0200
+
+ tests: use bash instead of sh as this uses $((expression). Fixes #604798
+
+ sh does not support that feature.
+
+ tests/fail.sh | 2 +-
+ tests/tools.sh.in | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+commit 36d333c4428a5a029dfdcade10677b5218551a0b
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Fri Nov 27 18:31:45 2009 +0200
+
+ mkdb: turn link targets into valid sgml ids, so that links actualy work
+
+ Thsi fixes links to struct members that contains '_'.
+
+ gtkdoc-mkdb.in | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+commit e112f156832259730b6740303304d03ec3d2c43c
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Fri Nov 27 18:08:52 2009 +0200
+
+ fixxref: don't leak GTKDOCLINKs to final html
+
+ If someone uses markup in sources, we expand the links and then escape the
+ markup. We have to revert the escaping for GTKDOCLINK tags.
+
+ gtkdoc-fixxref.in | 7 +++++++
+ 1 files changed, 7 insertions(+), 0 deletions(-)
+
+commit d5d86fbbde9c551074c7d8833193a8e8bb8b46a5
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Fri Nov 27 16:32:21 2009 +0200
+
+ xrefs: fix xrefs between modules for enums, calss members etc.
+
+ We did not produced the anchors in the index.sgml file for those yet.
+
+ gtk-doc.xsl | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+commit 6acf923ba2b29d4abe6645642f448c8121489888
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Fri Nov 27 16:10:13 2009 +0200
+
+ mkdb: recursively add items to annotation glossary
+
+ Some annotation docs, reference other annotations. Go over the annotations in
+ loops until the glossary is self contained.
+
+ gtkdoc-mkdb.in | 13 ++++++++++++-
+ 1 files changed, 12 insertions(+), 1 deletions(-)
+
+commit 7500cd2ed2ffa4e1909d327310eff753675152fb
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Fri Nov 27 15:16:12 2009 +0200
+
+ mkdb, fixxref: tag more data and filter warnings
+
+ We use more markup, as this allows us to supress the majority of false broken
+ link warnings.
+
+ gtkdoc-common.pl.in | 4 ++--
+ gtkdoc-fixxref.in | 16 +++++++++++++++-
+ gtkdoc-mkdb.in | 16 ++++++++--------
+ 3 files changed, 25 insertions(+), 11 deletions(-)
+
+commit c50ae1662714871cc36f4ebbeb97049be5725788
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Thu Nov 26 12:31:06 2009 +0200
+
+ tests: add testcases for bug 512155
+
+ tests/bugs/docs/tester-sections.txt | 3 +++
+ tests/bugs/src/tester.c | 1 +
+ tests/bugs/src/tester.h | 29 +++++++++++++++++++++++++++++
+ 3 files changed, 33 insertions(+), 0 deletions(-)
+
+commit 8a77cc455ae6d5fbafdc4984c83d4f379407766f
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Thu Nov 26 10:44:24 2009 +0200
+
+ mkdb: be more flexible on making () links.
+
+ We now don't create broken links for e.g. gtk_*_new() and we allow to link to
+ class methods like in #GObjectClass.dispose().
+
+ gtkdoc-mkdb.in | 6 +++++-
+ tests/gobject/src/gobject.c | 2 +-
+ 2 files changed, 6 insertions(+), 2 deletions(-)
+
+commit 14eec0968f7b9704b8ee13d3593d20019caf27fe
+Author: Nicola Fontana <ntd@entidi.it>
+Date: Thu Nov 26 00:26:03 2009 +0200
+
+ autogen.sh: handle generic automake version
+
+ Before checking for specific automake and aclocal versions, try the
+ default one.
+
+ autogen.sh | 5 ++++-
+ 1 files changed, 4 insertions(+), 1 deletions(-)
+
+commit ba8aae2cd365426be557e5a499dea936fdd7ec8b
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Thu Nov 26 00:19:51 2009 +0200
+
+ make: don't add m4 to EXTRA_DIST - Fixes #591450 and make distcheck
+
+ Makefile.am | 3 +--
+ 1 files changed, 1 insertions(+), 2 deletions(-)
+
+commit e46808f1012f4a8e23e775717b3b46c48fc5ca0a
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Wed Nov 25 22:28:27 2009 +0200
+
+ fixxref: smarter link resolving
+
+ Only try s/:/--/ if id contains a :. Also if we don't get a href try without a
+ trailing 's' if there is any (plural handling).
+
+ gtkdoc-fixxref.in | 8 +++++++-
+ 1 files changed, 7 insertions(+), 1 deletions(-)
+
+commit 850664d444e5bfd14bd64753b0bf3e16eefa7264
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Wed Nov 25 18:07:34 2009 +0200
+
+ fixxref: also read section file to not warn about private stuff
+
+ Some private stuff is auto-linked (e.g. in the case of types).
+
+ gtkdoc-fixxref.in | 32 ++++++++++++++++++++++++++++++++
+ 1 files changed, 32 insertions(+), 0 deletions(-)
+
+commit a47d0c50bb4d2b3c73a92d2571753cc1367c470f
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Wed Nov 25 17:04:12 2009 +0200
+
+ fixxref: less false reports for new xref warnings
+
+ Auto blacklist the implcitely created xrefs in source code examples.
+
+ gtkdoc-fixxref.in | 10 +++++++---
+ 1 files changed, 7 insertions(+), 3 deletions(-)
+
+commit ed008315e4529c83a9a9e8a14903c869d687534a
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Wed Nov 25 14:12:29 2009 +0200
+
+ scan: replace newlines with a blank when joining lines
+
+ This fixes "int\narg" becomming "intarg".
+
+ gtkdoc-scan.in | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+commit 7beef36ac6c28e2db6e85778f8c8a2dd489e1e9c
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Wed Nov 25 13:52:34 2009 +0200
+
+ fixxref: get line numbers and woraround some missing links
+
+ gtkdoc-fixxref.in | 17 ++++++++++++++---
+ 1 files changed, 14 insertions(+), 3 deletions(-)
+
+commit 2415121e8f5f7f6e3ce325c8bdad47287b206b9b
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Wed Nov 25 12:26:07 2009 +0200
+
+ fixxref: add warning about broken links. Fixes #602026
+
+ Produce less links (e.g. for symbols with spaces). Add a log warning for first
+ time use of non xrefable links (no line number :/).
+
+ gtkdoc-common.pl.in | 2 ++
+ gtkdoc-fixxref.in | 22 +++++++++++++++++++---
+ gtkdoc-mkdb.in | 10 +++++++++-
+ 3 files changed, 30 insertions(+), 4 deletions(-)
+
+commit f44066988964f964bba015db382a70d9d899bce1
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Wed Nov 25 11:03:17 2009 +0200
+
+ common: move CreateValidSGMLID to common
+
+ gtkdoc-common.pl.in | 35 +++++++++++++++++++++++++++++++++++
+ gtkdoc-fixxref.in | 29 +++--------------------------
+ gtkdoc-mkdb.in | 33 ---------------------------------
+ 3 files changed, 38 insertions(+), 59 deletions(-)
+
+commit 2c5cdf51ac727e189d9a7cc909db8b1f4551f39d
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Wed Nov 25 10:47:13 2009 +0200
+
+ parsing: support return value types like "long int". Fixes #602518
+
+ Fix the regexps to handle such constructs. Also add a few tests that cover the
+ reported case and similar ones.
+
+ gtkdoc-mkdb.in | 4 ++--
+ gtkdoc-scan.in | 9 +++++----
+ tests/bugs/docs/tester-sections.txt | 3 +++
+ tests/bugs/src/tester.c | 32 ++++++++++++++++++++++++++++++++
+ tests/bugs/src/tester.h | 5 +++++
+ 5 files changed, 47 insertions(+), 6 deletions(-)
+
+commit 24c09b265f51ade4ce0b9f322ae287df6f2d8fbe
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Tue Oct 20 17:43:08 2009 +0300
+
+ tests: add a test for annotations in returns
+
+ tests/annotations/docs/tester-sections.txt | 1 +
+ tests/annotations/src/tester.c | 13 +++++++++++++
+ tests/annotations/src/tester.h | 1 +
+ 3 files changed, 15 insertions(+), 0 deletions(-)
+
+commit 604930e57f3889379cfd4f85bd1b845ef990e5d0
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Wed Sep 30 17:15:01 2009 +0300
+
+ build: add the two new macros
+
+ m4/gtkdoc_jh_check_xml_catalog.m4 | 16 ++++++++++++++++
+ m4/gtkdoc_jh_path_xml_catalog.m4 | 34 ++++++++++++++++++++++++++++++++++
+ 2 files changed, 50 insertions(+), 0 deletions(-)
+
+commit 5561666e571a4326e2716ddebbee7328f942eee2
+Author: H. Habighorst <h.habighorst@googlemail.com>
+Date: Wed Sep 30 16:13:27 2009 +0300
+
+ build: various build cleanups. Fixes #591450
+
+ - acinclude.m4 shouldn't be used if a m4 folder exists. Splitted the two macros
+ out in the m4 folder.
+ - renamed configure.in to configure.ac.
+ - kills off whitespace in configure.ac and formats it.
+ - replace AC_HELP_STRING by AS_HELP_STRING.
+ - Makefile.am -> use ACLOCAL_AMFLAGS=-I m4 to include the macros
+ - replaced # by dnl
+
+ Makefile.am | 1 +
+ configure.ac | 240 +++++++++++++++++++++++++++++++++++++++++++++++
+ configure.in | 247 -------------------------------------------------
+ m4/gnome-doc-utils.m4 | 3 +
+ 4 files changed, 244 insertions(+), 247 deletions(-)
+
+commit 982623eb8931ac6a7b6fb56159d1ed5bfe0543a7
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Wed Sep 30 09:55:47 2009 +0300
+
+ scanobj: fix signedness comparission warnings from gcc. Fixes #596730
+
+ Add casts to constants.
+
+ gtkdoc-scangobj.in | 12 ++++++------
+ 1 files changed, 6 insertions(+), 6 deletions(-)
+
+commit a27b0befe69920854b3523f2bcbbda41d23ae846
+Author: Jorge González <jorgegonz@svn.gnome.org>
+Date: Tue Sep 29 23:44:49 2009 +0200
+
+ Updated Spanish translation
+
+ help/manual/es/es.po | 230 ++++++++++++++++++++++++++++----------------------
+ 1 files changed, 129 insertions(+), 101 deletions(-)
+
+commit 314b61f6ca5d3b23f1bd15ea21816b202b224857
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Tue Sep 29 17:07:41 2009 +0300
+
+ gtkdoc-mkdb: add a warning if section name is not used in -section.txt
+
+ This check can only be used in we don't autogenenrate the sections.txt file.
+
+ gtkdoc-mkdb.in | 6 ++++++
+ 1 files changed, 6 insertions(+), 0 deletions(-)
+
+commit d8c1ba2fe23b901512a3383c0ac87c52be470701
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Tue Sep 29 16:35:25 2009 +0300
+
+ docs: clarify link between SECTION:tag and FILE in -section.txt. Fixes #594224
+
+ Also fix the spelling of the sections.txt file.
+
+ help/manual/C/gtk-doc-manual.xml | 17 ++++++++++++++---
+ 1 files changed, 14 insertions(+), 3 deletions(-)
+
+commit 60b90a8e66ec2ad7765024dabdd07c22b64ceac3
+Author: Jannis Pohlmann <jannis@xfce.org>
+Date: Tue Sep 29 15:30:01 2009 +0300
+
+ autogen: recognize automake-1.11. Fixes #596731
+
+ autogen.sh | 5 ++++-
+ 1 files changed, 4 insertions(+), 1 deletions(-)
+
+commit 3a0c7885a2c2d5ee00e2749ac60f6890bf4b2b88
+Author: Jorge González <jorgegonz@svn.gnome.org>
+Date: Tue Sep 29 14:04:39 2009 +0200
+
+ Updated Spanish translation
+
+ help/manual/es/es.po | 40 +++++++++++++++++++---------------------
+ 1 files changed, 19 insertions(+), 21 deletions(-)
+
+commit 6e4c5c3f7a85d52892ace3d3b7ecbf24a4b2f09b
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Tue Sep 29 13:53:38 2009 +0300
+
+ tests: fix spelling
+
+ configure.in | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+commit 2f1c86ec4d3c19d02ac1789fedea44aa8687a558
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Tue Sep 29 13:39:08 2009 +0300
+
+ tests: add test-env to all Makefiles. Fixes #581237
+
+ Also don't dist override.txt files as we don't use them.
+
+ tests/annotations/docs/Makefile.am | 5 +++++
+ tests/bugs/docs/Makefile.am | 5 +++++
+ tests/fail/docs/Makefile.am | 5 +++++
+ tests/gobject/docs-tmpl/Makefile.am | 5 +++++
+ tests/gobject/docs/Makefile.am | 5 +++++
+ tests/gtk-doc.make | 3 +--
+ tests/gtk-doc.notmpl.make | 3 +--
+ 7 files changed, 27 insertions(+), 4 deletions(-)
+
+commit 8796e5f550d715d9f854d8bf4f123047b98ba774
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon Sep 28 16:21:38 2009 -0700
+
+ manual: fix GTKDOC_CHECK usage example
+
+ help/manual/C/gtk-doc-manual.xml | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+commit d8ccc4d71805d5c10927615e83e94c3b380cc780
+Author: Philip Chimento <philip.chimento@gmail.com>
+Date: Mon Sep 28 18:04:39 2009 +0300
+
+ examples: fix makefile for running tests. Fixes #577774
+
+ Add a '&&' to test-env variable.
+
+ examples/Makefile.am | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+commit de446ea1a430f79e0ba9ed374860d12f638ebc06
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Mon Sep 28 17:58:49 2009 +0300
+
+ maintenance: more todos and fix doc comment
+
+ TODO | 7 +++++++
+ gtkdoc-mkdb.in | 7 ++++---
+ 2 files changed, 11 insertions(+), 3 deletions(-)
+
+commit 82bac17962ac6eb74ce12bca9b91e5881dbd53d4
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Mon Jul 27 11:53:58 2009 +0300
+
+ pdf: fix building imagepath
+
+ Fix splitting the HTML_IMAGES entries. Avoid double path entries. Add a comment
+ to mkpdf for debugging.
+
+ gtk-doc.make | 10 +++++++++-
+ gtk-doc.notmpl.make | 10 +++++++++-
+ gtkdoc-mkpdf.in | 1 +
+ tests/gtk-doc.make | 12 ++++++++++--
+ tests/gtk-doc.notmpl.make | 12 ++++++++++--
+ 5 files changed, 39 insertions(+), 6 deletions(-)
+
+commit de5d8c37776f150b0e2b807f937d0d58cb529a4e
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Sat Sep 12 14:39:17 2009 +0300
+
+ annotations: allow annotations in struct/union/enum members
+
+ Refactor the code that expands annotations. Also add a test for structs.
+
+ gtkdoc-mkdb.in | 98 +++++++++++++++++-----------
+ tests/annotations/docs/tester-sections.txt | 1 +
+ tests/annotations/src/tester.h | 10 +++
+ 3 files changed, 70 insertions(+), 39 deletions(-)
+
+commit b209b02a6351e898e97e70981a412a8de70cd2b5
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Fri Jul 24 21:43:55 2009 +0300
+
+ mkdb: more details in log
+
+ gtkdoc-mkdb.in | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+commit bd9f493e71a0f30f0e0cf40c376188fd07e1669a
+Author: Mario Blättermann <mariobl@gnome.org>
+Date: Sun Aug 9 14:54:32 2009 +0200
+
+ Updated German translation
+
+ help/manual/de/de.po | 1153 +++++++++++---------------------------------------
+ 1 files changed, 239 insertions(+), 914 deletions(-)
+
+commit 3a701838bb8ed4d8de48c70b045ce9f4fbcf2788
+Author: Nicola Fontana <ntd@entidi.it>
+Date: Fri Jul 24 18:11:06 2009 +0300
+
+ configure: make python a soft dependency again. Fixes #589426
+
+ configure.in | 6 +++---
+ 1 files changed, 3 insertions(+), 3 deletions(-)
+
+commit f4648bf4260e7abefa89b8b584ca70cd5088d43b
+Author: Jorge González <jorgegonz@svn.gnome.org>
+Date: Wed Jul 22 22:11:12 2009 +0200
+
+ Updated Spansih translation
+
+ help/manual/es/es.po | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+commit cf6329daa96a187882ffff4bbe31845d59338b32
+Author: Daniel Mustieles <daniel.mustieles@gmail.com>
+Date: Tue Jul 21 23:27:41 2009 +0200
+
+ Updated Spanish translation
+
+ help/manual/es/es.po | 90 +++++++++++++++++++++++++++++++++++++++++++++-----
+ 1 files changed, 81 insertions(+), 9 deletions(-)
+
+commit 7c38d9e0b380ec6d3f4b42e5de777467fe1493a0
+Author: Jorge González <jorgegonz@svn.gnome.org>
+Date: Sat Jul 18 13:49:29 2009 +0200
+
+ Updated Spanish translation
+
+ help/manual/es/es.po | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+commit bdc9b2257614a83e5e5df3b0cd7ac4d3de2f8f32
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Thu Jul 16 10:39:47 2009 +0300
+
+ tests: add a image to the test docs
+
+ tests/gobject/docs-tmpl/Makefile.am | 2 +-
+ tests/gobject/docs/Makefile.am | 2 +-
+ tests/gobject/src/giface.c | 6 ++++++
+ 3 files changed, 8 insertions(+), 2 deletions(-)
+
+commit 2b3b002cf9def5233faf4a4b802289bcb8c8f286
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Thu Jul 16 10:38:04 2009 +0300
+
+ pdf: add imgdir option to get images working in pdfs
+
+ imgsdir is extracted from HTML_IMAGES. Not so nice, but requires no changes for
+ buildsetup. Also fix mkhtml_options that were confusing shell with makefile
+ variables.
+
+ gtk-doc.make | 6 ++++--
+ gtk-doc.notmpl.make | 6 ++++--
+ gtkdoc-mkpdf.in | 7 +++++--
+ tests/gtk-doc.make | 6 ++++--
+ tests/gtk-doc.notmpl.make | 6 ++++--
+ 5 files changed, 21 insertions(+), 10 deletions(-)
+
+commit f0c00d31ffd58fbf3fbce86f3688672fdf102d6c
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Wed Jul 15 15:18:49 2009 +0300
+
+ pdf: add pdf targets to makefiles
+
+ gtk-doc.make | 24 ++++++++++++++++++++++--
+ gtk-doc.notmpl.make | 2 +-
+ tests/gtk-doc.make | 14 ++++++++++++--
+ tests/gtk-doc.notmpl.make | 2 +-
+ 4 files changed, 36 insertions(+), 6 deletions(-)
+
+commit 9ae8f8b6e15b8efca833e5c8776463bda413e965
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Wed Jul 15 14:16:26 2009 +0300
+
+ migratetmpl: don't break para (e.g. in lists)
+
+ tools/migratetmpl.pl | 8 +++++---
+ 1 files changed, 5 insertions(+), 3 deletions(-)
+
+commit 947354b6f5ecb3eecea0a92f7a1f6913ba328c5c
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Wed Jul 15 14:11:49 2009 +0300
+
+ tests: add a list to the examples
+
+ tests/gobject/src/gobject.c | 10 ++++++++++
+ 1 files changed, 10 insertions(+), 0 deletions(-)
+
+commit c854592e395147763ee808e942acca05298a5b5a
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Tue Jul 14 18:08:27 2009 +0300
+
+ migratetmpl: optionaly patch sources with doc-blobs
+
+ Uses ctags to patch sources. Requires ctags and respective perl module.
+ Needs more error checking and robustness. Don't run on a dirty source tree!
+
+ tools/migratetmpl.pl | 139 +++++++++++++++++++++++++++++++++++++++++++++-----
+ 1 files changed, 125 insertions(+), 14 deletions(-)
+
+commit 75c889a6545173c188ba4ee32e714befb5d7baef
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Fri Jul 10 18:47:21 2009 +0100
+
+ mkdb: add internal hack to print syms with no since:
+
+ Allow printing a list of symbols without since tags and add ideas how to figure
+ the needed info using git bisect.
+
+ TODO | 16 +++++++++++++++-
+ gtkdoc-mkdb.in | 47 ++++++++++++++++++++++++++++++++++++++++-------
+ 2 files changed, 55 insertions(+), 8 deletions(-)
+
+commit ecaf0dba9c20f50a9cbc049c4d42b291a5433082
+Author: Jorge González <jorgegonz@svn.gnome.org>
+Date: Thu Jul 9 21:18:57 2009 +0200
+
+ Updated Spanish translation
+
+ help/manual/es/es.po | 24 ++++++++++++++++--------
+ 1 files changed, 16 insertions(+), 8 deletions(-)
+
+commit ca92813d7fdba0c9b056104af157ed93871320f1
+Author: Daniel Nylander <po@danielnylander.se>
+Date: Thu Jul 9 12:33:32 2009 +0200
+
+ Updated Swedish translation
+
+ help/manual/Makefile.am | 2 +-
+ help/manual/sv/sv.po | 1156 +++++++++++++++++++++++++++++++++++++++++++++++
+ 2 files changed, 1157 insertions(+), 1 deletions(-)
+
+commit 24fb0eac4dade4547f14e2385662584ac967abd0
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Tue Jul 7 22:35:11 2009 +0100
+
+ pdf: dist pdfs and clean on dist-clean
+
+ We don't install pdfs yet (if so where to?), but they should be disted and they
+ need to be cleaned.
+
+ gtk-doc.make | 3 ++-
+ gtk-doc.notmpl.make | 3 ++-
+ tests/gtk-doc.make | 6 ++----
+ tests/gtk-doc.notmpl.make | 6 ++----
+ 4 files changed, 8 insertions(+), 10 deletions(-)
+
+commit 5f8c64bb61e2c2aad9ed4de1b28b5c990147e879
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Tue Jul 7 22:33:59 2009 +0100
+
+ pdf: use full dblatex path and add some comments about usage
+
+ gtkdoc-mkpdf.in | 8 +++++++-
+ 1 files changed, 7 insertions(+), 1 deletions(-)
+
+commit 8c0074fa63cad3e3c718fd1b02c09dc95fcf36a7
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Tue Jul 7 18:35:01 2009 +0100
+
+ m4: we disable pdf if there is no mkpdf installed
+
+ Invert the check.
+
+ gtk-doc.m4 | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+commit 7af53e1e569221af8d3f826734696c8c5192936a
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Tue Jul 7 17:35:04 2009 +0100
+
+ pdf: look for dblatex for pdf generation
+
+ If the user has dblatex use it to generate pdfs. Seems to work much better than
+ using fop.
+
+ configure.in | 15 +++++++++------
+ gtkdoc-mkpdf.in | 20 +++++++++++++-------
+ 2 files changed, 22 insertions(+), 13 deletions(-)
+
+commit d5cfb724d76eb0223d8f6d61feef2ed7832679ac
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Tue Jul 7 16:50:21 2009 +0100
+
+ mkpdf: add mkpdf to Makefile.am and fix cleanup
+
+ Makefile.am | 1 +
+ gtkdoc-mkpdf.in | 9 +++++++--
+ 2 files changed, 8 insertions(+), 2 deletions(-)
+
+commit e4bfb154a4dd99964828254ece4094d4206016c8
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Tue Jul 7 16:06:27 2009 +0100
+
+ build: more gitignore tuning
+
+ Makefile.am | 3 +++
+ 1 files changed, 3 insertions(+), 0 deletions(-)
+
+commit 286e9719a48b11c043f2d2454a8231cf86a57214
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Tue Jul 7 13:04:41 2009 +0100
+
+ scan: don't create empty *-overrides.txt files
+
+ In the two places where we read them we check if they exist anyway.
+
+ gtkdoc-scan.in | 9 +++++----
+ 1 files changed, 5 insertions(+), 4 deletions(-)
+
+commit 2417e7a680f6cac2a766fb3efe67faf7fb035d8b
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Tue Jul 7 13:04:09 2009 +0100
+
+ build: indenting
+
+ Makefile.am | 72 +++++++++++++++++++++++++++++-----------------------------
+ 1 files changed, 36 insertions(+), 36 deletions(-)
+
+commit 983d293305a47ce4ec568bb9ffe1eb9eaa822db5
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Tue Jul 7 12:51:47 2009 +0100
+
+ build: tune gitignore generations
+
+ Makefile.am | 16 ++++++++++++++++
+ gtk-doc.make | 4 +++-
+ gtk-doc.notmpl.make | 3 ++-
+ tests/gtk-doc.make | 4 +++-
+ tests/gtk-doc.notmpl.make | 3 ++-
+ 5 files changed, 26 insertions(+), 4 deletions(-)
+
+commit 612d00762df510276484bb85b902dcc48ef37b1f
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Tue Jul 7 12:50:28 2009 +0100
+
+ build: get rid of old .svnignore files
+
+ .svnignore | 26 --------------------------
+ help/manual/.svnignore | 4 ----
+ m4/.svnignore | 1 -
+ 3 files changed, 0 insertions(+), 31 deletions(-)
+
+commit bdca99b61c0b5f626c3965a6718c8617802f89b9
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Tue Jul 7 12:01:58 2009 +0100
+
+ build: modifications made by git.mk
+
+ Makefile.am | 3 ++-
+ examples/Makefile.am | 2 ++
+ help/Makefile.am | 2 ++
+ help/manual/Makefile.am | 2 ++
+ tests/Makefile.am | 2 ++
+ tests/annotations/Makefile.am | 2 ++
+ tests/annotations/docs/Makefile.am | 2 ++
+ tests/annotations/src/Makefile.am | 2 ++
+ tests/bugs/Makefile.am | 2 ++
+ tests/bugs/docs/Makefile.am | 2 ++
+ tests/bugs/src/Makefile.am | 2 ++
+ tests/fail/Makefile.am | 2 ++
+ tests/fail/docs/Makefile.am | 2 ++
+ tests/fail/src/Makefile.am | 2 ++
+ tests/gobject/Makefile.am | 2 ++
+ tests/gobject/docs-tmpl/Makefile.am | 2 ++
+ tests/gobject/docs/Makefile.am | 2 ++
+ tests/gobject/src/Makefile.am | 2 ++
+ 18 files changed, 36 insertions(+), 1 deletions(-)
+
+commit 63030c97e2eec75168ebe818500ad4ac216d8aaf
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Tue Jul 7 11:58:57 2009 +0100
+
+ build: add pango's git.mk to manage .gitignore files
+
+ See the top of the file for howto use it
+
+ git.mk | 182 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ 1 files changed, 182 insertions(+), 0 deletions(-)
+
+commit f106510fe69f9b2df87a6f61e3c2dbccf83aa112
+Author: Jennie Petoumenou <epetoumenou@gmail.com>
+Date: Wed Jul 1 22:53:02 2009 +0100
+
+ Updated Greek documentation translation
+
+ help/manual/el/el.po | 45 +++++++++++++++++++++++++++++++++------------
+ 1 files changed, 33 insertions(+), 12 deletions(-)
+
+commit fad3b5ec017003d2af901cc33b885b9e67025f10
+Author: Jorge Gonzalez <jorgegonz@svn.gnome.org>
+Date: Tue Jun 30 20:35:58 2009 +0200
+
+ Updated Spanish translation
+
+ help/manual/es/es.po | 11 ++++++++---
+ 1 files changed, 8 insertions(+), 3 deletions(-)
+
+commit 76b30ebdbdef562f9861f9178253d57810455dd8
+Author: Jorge Gonzalez <jorgegonz@svn.gnome.org>
+Date: Tue Jun 30 18:53:46 2009 +0200
+
+ Updated Spanish translation
+
+ help/manual/es/es.po | 6 +++---
+ 1 files changed, 3 insertions(+), 3 deletions(-)
+
+commit 2bacbe965e9d048482626e3d7383513a03fe96b4
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Tue Jun 30 17:55:39 2009 +0300
+
+ manual: fix typo
+
+ help/manual/C/gtk-doc-manual.xml | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+commit b115c9075a9408e9c44421c796bf062bf1f617c6
+Author: Jorge Gonzalez <jorgegonz@svn.gnome.org>
+Date: Sun Jun 28 15:36:49 2009 +0200
+
+ Updated Spanish translation
+
+ help/manual/es/es.po | 23 ++++++++++++++++++++---
+ 1 files changed, 20 insertions(+), 3 deletions(-)
+
+commit 4335ba988d0258e775f7df657ab3d139d5a97c02
+Author: Nicola Fontana <ntd@entidi.it>
+Date: Sat Jun 27 23:09:03 2009 +0300
+
+ build: allow building without gnome-doc-utils, Fixes #577059
+
+ autogen.sh | 4 +---
+ configure.in | 7 ++++++-
+ help/manual/Makefile.am | 7 +++++++
+ m4/gnome-doc-utils.m4 | 3 ++-
+ 4 files changed, 16 insertions(+), 5 deletions(-)
+
+commit 613e1f7dca2ccb1cbe95386070e94ba0c41cddf8
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Sat Jun 27 22:46:11 2009 +0300
+
+ scan: be smarter in when trying to figure the get_type functions, Fixes #580300
+
+ Check full prototype instead of just the name when using --rebuild-types. Also
+ sort the types by name to minimize the delta when rebuilding.
+
+ gtkdoc-scan.in | 26 ++++++++++++++++++--------
+ tests/bugs/docs/Makefile.am | 1 +
+ tests/bugs/src/tester.c | 12 ++++++++++--
+ tests/bugs/src/tester.h | 5 +++++
+ tests/gobject/docs/Makefile.am | 4 +++-
+ 5 files changed, 37 insertions(+), 11 deletions(-)
+
+commit 1063ddc7ccd46a1bfd74c51c7aab9b9f13a84645
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Sat Jun 27 21:58:31 2009 +0300
+
+ mkdb: fix isemptydoc to also work for really empty strings
+
+ IsEmptyDoc was only checking for empty <para> groups. Return also TRUE if docs
+ string is only whitespace. This fixes e.g. property docs with empty desc, where
+ it then does a fallback on the parmspec blurb.
+
+ gtkdoc-mkdb.in | 14 +++++++++++---
+ 1 files changed, 11 insertions(+), 3 deletions(-)
+
+commit f3cf0205847d0c8a236bd72180457a84e5ab0343
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Sat Jun 27 21:35:38 2009 +0300
+
+ mkdb: avoid empty <para> tags in tmpl based docs
+
+ The docs in templates are appended to the ones in source docs. Templates have
+ an empty para by default. Don't add that. Also uncomment a print from previous
+ commit.
+
+ gtkdoc-mkdb.in | 12 +++++++++---
+ 1 files changed, 9 insertions(+), 3 deletions(-)
+
+commit 3fd9141adc1a9b1afd11b76fc9fee1423b391257
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Sat Jun 27 21:35:00 2009 +0300
+
+ tests: add a since tag to a macro to see if its properly handled
+
+ tests/gobject/src/gobject.h | 2 ++
+ 1 files changed, 2 insertions(+), 0 deletions(-)
+
+commit 4e0c66b59f6437d24b195a0ebb016832c3509dbc
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Sat Jun 27 19:10:57 2009 +0300
+
+ mkdb: merge returns for tmpl based docs, Fixes #587103
+
+ gtkdoc-mkdb.in | 11 +++++++++--
+ 1 files changed, 9 insertions(+), 2 deletions(-)
+
+commit 569af887cb14d2e6eb0f79c05700b8022d42b1c4
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Sat Jun 27 19:10:36 2009 +0300
+
+ mkdb: add docs for random function
+
+ gtkdoc-mkdb.in | 6 ++++++
+ 1 files changed, 6 insertions(+), 0 deletions(-)
+
+commit 0f47ee58d65b1df54946e2d2cfbc9c7a8c6dbcdf
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Sat Jun 27 19:09:53 2009 +0300
+
+ tests: fix typo in returns: statement
+
+ tests/gobject/src/giface.h | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+commit de9b40fdd6d400df875d7a1defe8ef32c67cff81
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Sat Jun 27 16:39:19 2009 +0300
+
+ mkdb: non functional code cleanup
+
+ gtkdoc-mkdb.in | 7 ++-----
+ 1 files changed, 2 insertions(+), 5 deletions(-)
+
+commit 11c8fe2fcac70721959b90b67bfda988a2b873d3
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Sat Jun 27 16:38:46 2009 +0300
+
+ tests: fix type in returns: statement
+
+ tests/gobject/src/gobject.h | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+commit c013c0181943bb2d4082e78e976dff5cfdb1d62f
+Author: Claude Paroz <claude@2xlibre.net>
+Date: Fri Jun 26 21:21:18 2009 +0200
+
+ Revert "es-manual: fix one xml link id typo"
+
+ This reverts commit 6279a2a0f332f4eeba8b34039038fdb07004768f.
+ Translated manual corrections should be made in source po and
+ not in generated xml.
+
+ help/manual/es/gtk-doc-manual.xml | 1183 -------------------------------------
+ 1 files changed, 0 insertions(+), 1183 deletions(-)
+
+commit 2db889c1c6993fab3147ebdfdcff413e6f7b7549
+Author: Claude Paroz <claude@2xlibre.net>
+Date: Fri Jun 26 20:14:06 2009 +0200
+
+ Fixed DocBook validity in Spanish manual translation
+
+ help/manual/es/es.po | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+commit 6279a2a0f332f4eeba8b34039038fdb07004768f
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Thu Jun 25 09:39:11 2009 +0300
+
+ es-manual: fix one xml link id typo
+
+ There are still two "<placeholder-1/>" tags. Are they serve any purpose. Could
+ they be xml comments like "<!--placeholder-1-->". They break make check.
+
+ help/manual/es/gtk-doc-manual.xml | 1183 +++++++++++++++++++++++++++++++++++++
+ 1 files changed, 1183 insertions(+), 0 deletions(-)
+
+commit b7d0753a22486866ccf96f47b298d92201761317
+Author: Jorge Gonzalez <jorgegonz@svn.gnome.org>
+Date: Sun Jun 21 10:46:28 2009 +0200
+
+ Updated Spanish translation
+
+ help/manual/es/es.po | 73 +++++++++++++++++++++++++++++++++++++++++++++++--
+ 1 files changed, 70 insertions(+), 3 deletions(-)
+
+commit 93b510d6ee393f91bf720dcf6c4a18bd97e8c24f
+Author: Jorge Gonzalez <jorgegonz@svn.gnome.org>
+Date: Thu Jun 11 14:18:41 2009 +0200
+
+ Updated Spanish translation
+
+ help/manual/es/es.po | 27 +++++++++++++++++----------
+ 1 files changed, 17 insertions(+), 10 deletions(-)
+
+commit 0b0762fabbfae988b837ee30f13451e66436affd
+Author: Jorge Gonzalez <jorgegonz@svn.gnome.org>
+Date: Sat Jun 6 12:57:19 2009 +0200
+
+ Updated Spanish translation
+
+ help/manual/es/es.po | 83 +++++++++++++++++++++++++++++++++-----------------
+ 1 files changed, 55 insertions(+), 28 deletions(-)
+
+commit 940452cf7621df98e2fd4b2400bdaa46059dd58d
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Mon Jun 1 22:23:44 2009 +0300
+
+ annotations: add one more example
+
+ tests/annotations/docs/tester-sections.txt | 1 +
+ tests/annotations/src/tester.c | 14 ++++++++++++++
+ tests/annotations/src/tester.h | 2 ++
+ 3 files changed, 17 insertions(+), 0 deletions(-)
+
+commit b19a270e0ac891a425f582cccac68a9472b1c838
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Mon May 25 22:11:27 2009 +0300
+
+ highligh: adjust to api change
+
+ Option -G has become a different option, use long option --class-name instead.
+
+ configure.in | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+commit 6483e21d7928ab81898a7e96d7ccbf152127499d
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Fri May 22 12:06:36 2009 +0300
+
+ mkdb: don't include trailing .: in symbolname when expanding abbreviations
+
+ gtkdoc-mkdb.in | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+commit 82c9808ade6e72386701c577fe834d59c333b75c
+Author: Jorge Gonzalez <jorgegonz@svn.gnome.org>
+Date: Wed May 20 20:39:39 2009 +0200
+
+ Updated Spanish translation by Francisco Javier F. Serrador and me
+
+ help/manual/es/es.po | 425 +++++++++++++++++++++++++++++++++++++++++++++-----
+ 1 files changed, 385 insertions(+), 40 deletions(-)
+
+commit ad77528ad081a4ffc220e5319a5a0c8af778181d
+Author: Jennie Petoumenou <epetoumenou@gmail.com>
+Date: Sat May 9 16:48:52 2009 +0100
+
+ Updated Greek translation
+
+ help/manual/el/el.po | 443 +++++++++++++++++++++++++++++++++++++++++++-------
+ 1 files changed, 380 insertions(+), 63 deletions(-)
+
+commit 8cf2c5581c0f055f1824cb74b11d153a8843d1ae
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Thu Apr 30 18:31:51 2009 +0300
+
+ scan: double escape null terminators
+
+ Fixes last commit on the topic.
+
+ gtkdoc-scangobj.in | 2 +-
+ gtkdoc-scanobj.in | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+commit 5805e10436de2b32ba5483d4b809fb7bd684abec
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Thu Apr 30 00:16:06 2009 +0300
+
+ doap: turn emails into mailto: uris
+
+ gtk-doc.doap | 5 +++--
+ 1 files changed, 3 insertions(+), 2 deletions(-)
+
+commit 22c40b7c0b01a55d5e07cc166997e01c79bd7c8a
+Author: Jennie Petoumenou <epetoumenou@gmail.com>
+Date: Wed Apr 29 18:06:37 2009 +0300
+
+ Updated Greek translation
+
+ help/manual/el/el.po | 681 ++++++++++++++++++++++++++++++++++++++++++--------
+ 1 files changed, 575 insertions(+), 106 deletions(-)
+
+commit 42600037ce1f4daa3dd1e1a6f13b9f6e0adf69a6
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Wed Apr 29 14:08:21 2009 +0300
+
+ make: don't dist xml dir. Fixes #580622
+
+ Distclean shouldn't remove things that are part of the dist tarball.
+
+ gtk-doc.make | 2 --
+ 1 files changed, 0 insertions(+), 2 deletions(-)
+
+commit bc7fa6af7265f477555bb8454f2f47a9f3f31f5e
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Wed Apr 29 14:01:12 2009 +0300
+
+ scan: comment the code
+
+ We could improve the algorithm for generating the var names for signal signatures
+
+ gtkdoc-scangobj.in | 11 +++++++++++
+ gtkdoc-scanobj.in | 5 +++++
+ 2 files changed, 16 insertions(+), 0 deletions(-)
+
+commit a37604f464f59e33b21900dd803e5d27c3997bb3
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Wed Apr 29 12:59:14 2009 +0300
+
+ scan: remove one sprintf and guard one statuc buffer.
+
+ We use some fixed size strings to format the output, which might be dangerous.
+ What is left now is that output_object_signal() should use g_string or snprintf
+ with the remaining length.
+
+ gtkdoc-scangobj.in | 18 +++++++++---------
+ gtkdoc-scanobj.in | 19 +++++++++----------
+ 2 files changed, 18 insertions(+), 19 deletions(-)
+
+commit d1d7169582fc5150c08cc3355edec06172ab100c
+Author: Philip Withnall <philip@tecnocode.co.uk>
+Date: Sat Apr 25 11:38:01 2009 +0100
+
+ scan: Fixed gcc warnings. Fixes #580206
+
+ Fixes unreachable code, non-C90 compliance, missing cases.
+
+ gtkdoc-scangobj.in | 10 ++++++----
+ 1 files changed, 6 insertions(+), 4 deletions(-)
+
+commit b744f5245fdb563241afd0550de0e97a158d2fc2
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Thu Apr 23 09:49:45 2009 +0300
+
+ doap: fix category
+
+ gtk-doc.doap | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+commit 062dc013eae43567c810c372a0773cf99159c0ff
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Wed Apr 22 10:41:30 2009 +0300
+
+ mkdb: less white space in the generated xml
+
+ gtkdoc-mkdb.in | 23 ++++-------------------
+ 1 files changed, 4 insertions(+), 19 deletions(-)
+
+commit 550cd8024bce8aeea901bd129c98868f383e21ac
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Wed Apr 22 10:40:33 2009 +0300
+
+ build: also dist new doap file
+
+ Makefile.am | 1 +
+ 1 files changed, 1 insertions(+), 0 deletions(-)
+
+commit a96c8e9ba44095b8a696a0fc2f11fbc7466dbaaa
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Mon Apr 20 16:11:15 2009 +0300
+
+ doap: add doap file
+
+ gtk-doc.doap | 63 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ 1 files changed, 63 insertions(+), 0 deletions(-)
+
+commit e6f1f5494bfd077fcea8f2f1cdbb97464a34c140
+Author: Stefan Kost <ensonic@users.sf.net>
+Date: Mon Apr 20 15:52:28 2009 +0300
+
+ docbuild: use --copy during bootstrap, make doc uild more conditional
+
+ Using --copy for gnome-doc-prepare ensure we don't commit symlinks to the repo.
+ Furthermore we make manual subdir conditional for HAVE_GNOME_DOC_UTILS.
+
+ autogen.sh | 3 +-
+ help/Makefile.am | 3 ++
+ m4/gnome-doc-utils.m4 | 53 ++++++++++++++++++++++++++++++++++++++++++++++++-
+ 3 files changed, 57 insertions(+), 2 deletions(-)
+
+commit e4c5cc2e23da02b53ce60476ca71ef04b3c073d9
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Wed Apr 15 11:29:48 2009 +0000
+
+ Tentative patch to allow building without scrollkeeper and
+
+ * autogen.sh:
+ * configure.in:
+ Tentative patch to allow building without scrollkeeper and
+ gnome-doc-utils. Fixes #577059.
+
+
+ svn path=/trunk/; revision=718
+
+ ChangeLog | 7 +++++++
+ autogen.sh | 16 ++++++++--------
+ configure.in | 13 ++-----------
+ 3 files changed, 17 insertions(+), 19 deletions(-)
+
+commit 99456dc529e5a5c59ba50c4f5b34e5ace08136fa
+Author: Jorge Gonzalez Gonzalez <jorgegonz@src.gnome.org>
+Date: Thu Apr 9 15:03:27 2009 +0000
+
+ Updated Spanish translation
+
+ svn path=/trunk/; revision=717
+
+ help/manual/ChangeLog | 4 ++++
+ help/manual/es/es.po | 38 ++++++++++++++++++++++++++++++++++++--
+ 2 files changed, 40 insertions(+), 2 deletions(-)
+
+commit a0097ab2e2aefcd0a11565aece936d0cca72d24a
+Author: Simos Xenitellis <simos@src.gnome.org>
+Date: Mon Apr 6 23:00:27 2009 +0000
+
+ Added Greek translation
+
+ svn path=/trunk/; revision=716
+
+ help/manual/ChangeLog | 5 +
+ help/manual/Makefile.am | 2 +-
+ help/manual/el/el.po | 1817 +++++++++++++++++++++++++++++++++++++++++++++++
+ 3 files changed, 1823 insertions(+), 1 deletions(-)
+
+commit 76bf2f7007fc5105c758b03a6aa643da6a6db2d7
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Sun Apr 5 17:59:11 2009 +0000
+
+ Only run the tests if gtk-doc is enabled. Fixes #577774.
+
+ * examples/Makefile.am:
+ Only run the tests if gtk-doc is enabled. Fixes #577774.
+
+
+ svn path=/trunk/; revision=715
+
+ ChangeLog | 5 +++++
+ examples/Makefile.am | 3 ++-
+ 2 files changed, 7 insertions(+), 1 deletions(-)
+
+commit 186ed246aee01e7043ddb0f4c14218ac99996144
+Author: Philip Withnall <philip@tecnocode.co.uk>
+Date: Wed Mar 25 20:44:34 2009 +0000
+
+ Added British English translation by Jen Ockwell
+
+ 2009-03-25 Philip Withnall <philip@tecnocode.co.uk>
+
+ * Makefile.am:
+ * en_GB/en_GB.po: Added British English translation by Jen
+ Ockwell
+ <jenfraggleubuntu@gmail.com> and myself.
+
+
+ svn path=/trunk/; revision=714
+
+ help/manual/ChangeLog | 6 +
+ help/manual/Makefile.am | 2 +-
+ help/manual/en_GB/en_GB.po | 2498 ++++++++++++++++++++++++++++++++++++++++++++
+ 3 files changed, 2505 insertions(+), 1 deletions(-)
+
+commit 585f3251a0a71181b11efafcd26280305ed1e505
+Author: Jorge Gonzalez Gonzalez <jorgegonz@src.gnome.org>
+Date: Tue Mar 24 18:34:24 2009 +0000
+
+ Updated Spanish translation
+
+ svn path=/trunk/; revision=713
+
+ help/manual/ChangeLog | 4 ++++
+ help/manual/es/es.po | 34 ++++++++++++++++++++++++++++++----
+ 2 files changed, 34 insertions(+), 4 deletions(-)
+
+commit fe036bf672046452a5a33cf70334c32353a58bbd
+Author: Jorge Gonzalez Gonzalez <jorgegonz@src.gnome.org>
+Date: Mon Mar 23 17:30:19 2009 +0000
+
+ Updated Spanish translation
+
+ svn path=/trunk/; revision=712
+
+ help/manual/ChangeLog | 4 ++
+ help/manual/es/es.po | 95 ++++++++++++++++++++++++++++++++----------------
+ 2 files changed, 67 insertions(+), 32 deletions(-)
+
+commit c707d7602538a017275f9d26cb64c7398bae86d0
+Author: Jorge Gonzalez Gonzalez <jorgegonz@src.gnome.org>
+Date: Sun Mar 22 22:06:26 2009 +0000
+
+ Updated Spanish translation
+
+ svn path=/trunk/; revision=711
+
+ help/manual/ChangeLog | 4 ++++
+ help/manual/es/es.po | 44 ++++++++++++++++++++++++++++++++------------
+ 2 files changed, 36 insertions(+), 12 deletions(-)
+
+commit fa55dd562474a9cce4b48ad7ba5af18dd30af62d
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Wed Mar 18 12:43:18 2009 +0000
+
+ patch by: David Nečas <yeti@physics.muni.cz>
+ * gtkdoc-fixxref.in:
+ Fix <table> element mismatch in highlighted code. Fixes #575711.
+
+
+ svn path=/trunk/; revision=710
+
+ ChangeLog | 7 +++++++
+ gtkdoc-fixxref.in | 2 +-
+ 2 files changed, 8 insertions(+), 1 deletions(-)
+
+commit e1d4f073a7ed3330fd8caff069f6c81076c10ba3
+Author: Jorge Gonzalez Gonzalez <jorgegonz@src.gnome.org>
+Date: Tue Mar 17 17:02:26 2009 +0000
+
+ Updated Spanish translation
+
+ svn path=/trunk/; revision=709
+
+ help/manual/ChangeLog | 4 ++++
+ help/manual/es/es.po | 48 ++++++++++++++++++++++++++++++++----------------
+ 2 files changed, 36 insertions(+), 16 deletions(-)
+
+commit 3a49b93b4b0e45bc435d9545af5c9f1601291745
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Tue Mar 17 12:19:40 2009 +0000
+
+ Turn pdf off if there is no gtkdoc-mkpdf installed.
+
+ * gtk-doc.m4:
+ Turn pdf off if there is no gtkdoc-mkpdf installed.
+
+
+ svn path=/trunk/; revision=708
+
+ ChangeLog | 5 +++++
+ gtk-doc.m4 | 20 +++++++++++++-------
+ 2 files changed, 18 insertions(+), 7 deletions(-)
+
+commit bc36a3ce39069abf737300bf671598b0755121d7
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Tue Mar 17 11:28:49 2009 +0000
+
+ patch by: Tobias Mueller <gnome-bugs@auftrags-killer.org>
+ * COPYING-DOCS:
+ * gtkdoc-check.in:
+ * gtkdoc-common.pl.in:
+ * gtkdoc-fixxref.in:
+ * gtkdoc-mkdb.in:
+ * gtkdoc-mktmpl.in:
+ * gtkdoc-rebase.in:
+ * gtkdoc-scan.in:
+ * gtkdoc-scangobj.in:
+ * gtkdoc-scanobj.in:
+ * help/manual/C/fdl-appendix.xml:
+ * tools/gtk-doc.el:
+ Update FSF address. Fixes #575623.
+
+
+ svn path=/trunk/; revision=707
+
+ COPYING-DOCS | 2 +-
+ ChangeLog | 18 ++++++++++++++++++
+ gtkdoc-check.in | 2 +-
+ gtkdoc-common.pl.in | 2 +-
+ gtkdoc-fixxref.in | 2 +-
+ gtkdoc-mkdb.in | 2 +-
+ gtkdoc-mktmpl.in | 2 +-
+ gtkdoc-rebase.in | 2 +-
+ gtkdoc-scan.in | 2 +-
+ gtkdoc-scangobj.in | 2 +-
+ gtkdoc-scanobj.in | 2 +-
+ help/manual/C/fdl-appendix.xml | 4 ++--
+ tools/gtk-doc.el | 2 +-
+ 13 files changed, 31 insertions(+), 13 deletions(-)
+
+commit fadb5d0610bdfc4bbee6b6f54e5de8311dcdc351
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Tue Mar 17 11:24:11 2009 +0000
+
+ Don't run fop for now, its way to broken. Formatting.
+
+ * gtkdoc-mkpdf.in:
+ Don't run fop for now, its way to broken.
+ * tests/bugs/src/tester.h:
+ Formatting.
+
+
+ svn path=/trunk/; revision=706
+
+ ChangeLog | 9 ++++++++-
+ gtkdoc-mkpdf.in | 2 +-
+ tests/bugs/src/tester.h | 1 -
+ 3 files changed, 9 insertions(+), 3 deletions(-)
+
+commit 390599e14a7fc65945e3966e32ae06e2148089e2
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Tue Mar 17 11:20:01 2009 +0000
+
+ patch by: Vincent Untz <vuntz@nome.org>
+ * gtkdoc-common.pl.in:
+ Be more friendly for files with a space in their name. Fixes #575574.
+
+
+ svn path=/trunk/; revision=705
+
+ ChangeLog | 8 ++++++++
+ gtkdoc-common.pl.in | 2 +-
+ 2 files changed, 9 insertions(+), 1 deletions(-)
+
+commit e40e9f4fb553448ac29331ba1b3b4c20629a3850
+Author: Mario Blättermann <mariobl@src.gnome.org>
+Date: Mon Mar 16 20:35:53 2009 +0000
+
+ Added partial German docs
+
+ svn path=/trunk/; revision=704
+
+ help/manual/ChangeLog | 5 +
+ help/manual/Makefile.am | 2 +-
+ help/manual/de/de.po | 1829 +++++++++++++++++++++++++++++++++++++++++++++++
+ 3 files changed, 1835 insertions(+), 1 deletions(-)
+
+commit 2568042f2ffb22505f5b86d7b193a8e9b4cc5744
+Author: Jorge Gonzalez Gonzalez <jorgegonz@src.gnome.org>
+Date: Sun Mar 15 20:20:02 2009 +0000
+
+ Updated Spanish translation
+
+ svn path=/trunk/; revision=703
+
+ help/manual/es/es.po | 1027 ++++++++++++++++++++++++++++++++++++++++++--------
+ 1 files changed, 874 insertions(+), 153 deletions(-)
+
+commit 2f97ae982c07285a8b08818ee5ab65219f3fdcf2
+Author: Jorge Gonzalez Gonzalez <jorgegonz@src.gnome.org>
+Date: Sun Mar 15 13:40:59 2009 +0000
+
+ Added initial Spanish translation
+
+ svn path=/trunk/; revision=702
+
+ help/manual/ChangeLog | 5 +
+ help/manual/Makefile.am | 2 +-
+ help/manual/es/es.po | 1150 +++++++++++++++++++++++++++++++++++++++++++++++
+ 3 files changed, 1156 insertions(+), 1 deletions(-)
+
+commit 42e7333814b7c7a331028c4019e1b48bbfba6d1c
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Wed Mar 11 22:41:10 2009 +0000
+
+ Do not overwrite declaration variable with sgml-ified variant to not
+
+ * gtkdoc-mkdb.in:
+ Do not overwrite declaration variable with sgml-ified variant to not confuse
+ further parsing.
+
+
+ svn path=/trunk/; revision=701
+
+ ChangeLog | 6 ++++++
+ gtkdoc-mkdb.in | 24 ++++++++++++------------
+ 2 files changed, 18 insertions(+), 12 deletions(-)
+
+commit a504dde00eb55fad5c10ed188db8b575578f9e48
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Tue Mar 10 16:23:20 2009 +0000
+
+ patch by: Nicola Fontana <ntd@entidi.it>
+ * gtkdoc-scan.in:
+ * tests/bugs/docs/Makefile.am:
+ * tests/bugs/src/tester.h:
+ Improve the test and fix handling trailing decorators. Fixes #574654
+
+
+ svn path=/trunk/; revision=700
+
+ ChangeLog | 9 +++++++++
+ gtkdoc-scan.in | 2 +-
+ tests/bugs/docs/Makefile.am | 2 +-
+ tests/bugs/src/tester.h | 3 ++-
+ 4 files changed, 13 insertions(+), 3 deletions(-)
+
+commit b5129ca9e68168d825cd1381cc3257feb0eb8266
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Tue Mar 10 13:32:26 2009 +0000
+
+ Adding a test for #574654.
+
+ * tests/bugs/docs/Makefile.am:
+ * tests/bugs/docs/tester-sections.txt:
+ * tests/bugs/src/tester.c:
+ * tests/bugs/src/tester.h:
+ Adding a test for #574654.
+
+
+ svn path=/trunk/; revision=699
+
+ ChangeLog | 8 ++++++++
+ tests/bugs/docs/Makefile.am | 2 +-
+ tests/bugs/docs/tester-sections.txt | 2 ++
+ tests/bugs/src/tester.c | 19 +++++++++++++++++++
+ tests/bugs/src/tester.h | 6 ++++++
+ 5 files changed, 36 insertions(+), 1 deletions(-)
+
+commit 290743744e0cb4e22c3b1a3c8d88391c450f27e0
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Tue Mar 10 13:30:39 2009 +0000
+
+ Don't expect $MODULE to be defined (e.g. if someone does not update
+
+ * gtkdoc-fixxref.in:
+ Don't expect $MODULE to be defined (e.g. if someone does not update
+ gtkdoc.make).
+
+
+ svn path=/trunk/; revision=698
+
+ ChangeLog | 6 ++++++
+ gtkdoc-fixxref.in | 2 +-
+ 2 files changed, 7 insertions(+), 1 deletions(-)
+
+commit 323b1e5258a4f6d7c7f7c6718b8c9d767184f0d0
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Mon Mar 9 16:07:26 2009 +0000
+
+ Fix ChangeLog format so that we pick up the bug number for release notes.
+
+ svn path=/trunk/; revision=697
+
+ ChangeLog | 21 +++++++--------------
+ 1 files changed, 7 insertions(+), 14 deletions(-)
+
+commit 0708a357caf23de9cf2b44cf457f368424d4189f
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Mon Mar 9 16:02:42 2009 +0000
+
+ patch by: David Nečas <yeti@physics.muni.cz>
+ * configure.in:
+ * gtkdoc-fixxref.in:
+ Add vim support for syntax highlighting. Lets close the ticket.
+ Fixes #536928.
+
+
+ svn path=/trunk/; revision=696
+
+ ChangeLog | 9 ++++++
+ configure.in | 12 ++++++++
+ gtkdoc-fixxref.in | 76 +++++++++++++++++++++++++++++++++++++++++++++++-----
+ 3 files changed, 89 insertions(+), 8 deletions(-)
+
+commit 9d5c50e530cf27aab97422a21de28c8305a9cef2
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Mon Mar 9 10:37:22 2009 +0000
+
+ Don't confuse -1 with G_MAXULONG on 64bit. Fixes #572612.
+
+ * gtkdoc-scangobj.in:
+ Don't confuse -1 with G_MAXULONG on 64bit. Fixes #572612.
+
+
+ svn path=/trunk/; revision=695
+
+ ChangeLog | 5 ++
+ gtkdoc-scangobj.in | 138 ++++++++++++++++++++++++++++++++-------------------
+ 2 files changed, 91 insertions(+), 52 deletions(-)
+
+commit d579d0b3d8a3f9391a5262177bb98d968df391c7
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Thu Feb 26 15:18:16 2009 +0000
+
+ Improve. scan only checks headers, while mkdb scans sources and headers.
+
+ * doc/gtkdoc.dot:
+ Improve. scan only checks headers, while mkdb scans sources and
+ headers.
+ * examples/Makefile.am:
+ Document more variables.
+
+
+ svn path=/trunk/; revision=694
+
+ ChangeLog | 9 +++++++++
+ doc/gtkdoc.dot | 10 ++++++----
+ examples/Makefile.am | 6 +++++-
+ 3 files changed, 20 insertions(+), 5 deletions(-)
+
+commit dc35384f84b0386b473c0e2e649617367fe2637d
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Thu Feb 26 13:25:18 2009 +0000
+
+ There is some gtk specific stuff there, which we probably want to kick
+
+ * gtkdoc-scangobj.in:
+ * gtkdoc-scanobj.in:
+ There is some gtk specific stuff there, which we probably want to kick
+ out. No one else gets such a treatment.
+
+
+ svn path=/trunk/; revision=693
+
+ ChangeLog | 7 +++++++
+ gtkdoc-scangobj.in | 2 ++
+ gtkdoc-scanobj.in | 2 ++
+ 3 files changed, 11 insertions(+), 0 deletions(-)
+
+commit cecb783b7b7863cf147ee896d157f4c4ba00feda
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Thu Feb 26 13:22:11 2009 +0000
+
+ Fix annotation more. Refactor the extra-link feature. Still disabled by
+
+ * gtk-doc.xsl:
+ * style.css:
+ * gtkdoc-mkdb.in:
+ Fix annotation more. Refactor the extra-link feature. Still disabled
+ by default. Needs configure stuff next.
+
+
+ svn path=/trunk/; revision=692
+
+ ChangeLog | 17 +++++++++
+ gtk-doc.xsl | 83 +++++++++++++++++++++++++++++++--------------
+ gtkdoc-mkdb.in | 101 ++++++++++++++++++++++++++++++++++++++++++++++---------
+ style.css | 17 +++++++--
+ 4 files changed, 171 insertions(+), 47 deletions(-)
+
+commit d06bc30e781f474521dbe45c8cb142fa6acd54f4
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Tue Feb 24 14:00:32 2009 +0000
+
+ patch by: Paolo Borelli <pborelli@katamail.com>
+ * gtkdoc-scangobj.in:
+ * gtkdoc-scanobj.in:
+ Use g_strerror. Fixes #572967.
+
+
+ svn path=/trunk/; revision=691
+
+ ChangeLog | 8 ++++++++
+ gtkdoc-scangobj.in | 10 +++++-----
+ gtkdoc-scanobj.in | 6 +++---
+ 3 files changed, 16 insertions(+), 8 deletions(-)
+
+commit 7227101db81882919dda254f90d1c83098158d1d
+Author: Sven Herzberg <herzi@gnome-de.org>
+Date: Mon Feb 23 16:20:28 2009 +0000
+
+ Fixes 571820 - gobject.c: pspec_pool not initialized for interfaces
+
+ 2009-02-23 Sven Herzberg <herzi@gnome-de.org>
+
+ Fixes 571820 - gobject.c: pspec_pool not initialized for interfaces
+
+ Initialize GObjectClass before referencing interfaces.
+
+ * gtkdoc-scangobj.in: keep a reference on the GObjectClass while
+ peeking in interfaces' properties
+
+ svn path=/trunk/; revision=690
+
+ ChangeLog | 9 +++++++++
+ gtkdoc-scangobj.in | 6 ++++++
+ 2 files changed, 15 insertions(+), 0 deletions(-)
+
+commit 6a991639ee6eaad6232d4b8d4e0a38630d1e9351
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Mon Feb 23 13:53:46 2009 +0000
+
+ Don't use named entities.
+
+ * gtkdoc-mkdb.in:
+ Don't use named entities.
+
+
+ svn path=/trunk/; revision=689
+
+ ChangeLog | 5 +++++
+ gtkdoc-mkdb.in | 2 +-
+ 2 files changed, 6 insertions(+), 1 deletions(-)
+
+commit abacd5a6ba5f04d76807abe8efa7f0f9878b1de0
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Mon Feb 23 11:24:38 2009 +0000
+
+ Starting point for generating single page html. Needs refactoring with
+
+ * gtk-doc-single.xsl:
+ Starting point for generating single page html. Needs refactoring with
+ gtk-doc.xsl (common stuff into gtk-doc-html.xsl).
+
+
+ svn path=/trunk/; revision=688
+
+ ChangeLog | 6 +
+ gtk-doc-single.xsl | 560 ++++++++++++++++++++++++++++++++++++++++++++++++++++
+ 2 files changed, 566 insertions(+), 0 deletions(-)
+
+commit 55f147fe04c5e6a0c40a138242dac9a128b126a8
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Mon Feb 23 09:42:40 2009 +0000
+
+ With fop-0.94 it works actually, while 0.95 seesm to have the exceptions.
+
+ * TODO:
+ With fop-0.94 it works actually, while 0.95 seesm to have the
+ exceptions.
+ * gtkdoc-mkpdf.in:
+ Fix var reference.
+
+
+ svn path=/trunk/; revision=687
+
+ ChangeLog | 9 +++++++++
+ TODO | 2 +-
+ gtkdoc-mkpdf.in | 6 +++---
+ 3 files changed, 13 insertions(+), 4 deletions(-)
+
+commit 464aea3ed604f345a7dbd574b25aae030b2b5009
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Sun Feb 22 11:53:18 2009 +0000
+
+ Prototype an idea.
+
+ * TODO:
+ * gtkdoc-mkdb.in:
+ Prototype an idea.
+
+
+ svn path=/trunk/; revision=686
+
+ ChangeLog | 6 ++++++
+ TODO | 4 ++++
+ gtkdoc-mkdb.in | 8 ++++++++
+ 3 files changed, 18 insertions(+), 0 deletions(-)
+
+commit 54f058c8503ee50c115b4ff043da5a3306e3a883
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Sun Feb 22 11:49:44 2009 +0000
+
+ Dist more files. Update status. Remove some crack left from copy'n'paste.
+
+ * Makefile.am:
+ Dist more files.
+ * configure.in:
+ Update status.
+ * gtkdoc-mkpdf.in:
+ Remove some crack left from copy'n'paste.
+
+
+ svn path=/trunk/; revision=685
+
+ ChangeLog | 11 +++++++++++
+ Makefile.am | 1 +
+ configure.in | 5 ++++-
+ gtkdoc-mkpdf.in | 9 ++-------
+ 4 files changed, 18 insertions(+), 8 deletions(-)
+
+commit e531b9ad445980095e3d64ddea43b1c73ef6614b
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Sun Feb 22 10:46:23 2009 +0000
+
+ Planning.
+
+ * TODO:
+ Planning.
+ * configure.in:
+ * gtk-doc.m4:
+ * gtk-doc.make:
+ * gtk-doc.notmpl.make:
+ * gtkdoc-mkpdf.in:
+ * tests/gtk-doc.make:
+ * tests/gtk-doc.notmpl.make:
+ * gtkdoc-mkpdf.in (added):
+ Clean up Makefile rules (be less verbose). Added options to configure to
+ allow selecting the desired output formats. Added initial pdf support (very
+ imature yet, due to several shortcommings of fop - bugs files).
+
+
+ svn path=/trunk/; revision=684
+
+ ChangeLog | 17 +++++++++
+ TODO | 35 +++++++++++++++---
+ configure.in | 9 +++++
+ gtk-doc.m4 | 12 ++++++
+ gtk-doc.make | 34 +++++++++---------
+ gtk-doc.notmpl.make | 52 +++++++++++++++++++--------
+ gtkdoc-mkpdf.in | 84 +++++++++++++++++++++++++++++++++++++++++++++
+ tests/gtk-doc.make | 20 +++++-----
+ tests/gtk-doc.notmpl.make | 32 +++++++++++------
+ 9 files changed, 235 insertions(+), 60 deletions(-)
+
+commit 85d176995302bbc9e7458bdf053b74a36265be69
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Sat Feb 21 14:58:20 2009 +0000
+
+ Planning. Update annotations and fix matching to support parameters.
+
+ * TODO:
+ Planning.
+ * gtkdoc-mkdb.in:
+ Update annotations and fix matching to support parameters.
+ * tests/annotations/docs/tester-sections.txt:
+ * tests/annotations/src/tester.c:
+ * tests/annotations/src/tester.h:
+ Update annotation example and add one more.
+
+
+ svn path=/trunk/; revision=683
+
+ ChangeLog | 13 +++++++++
+ TODO | 11 ++++++--
+ gtkdoc-mkdb.in | 38 +++++++++++++++++++++------
+ tests/annotations/docs/tester-sections.txt | 1 +
+ tests/annotations/src/tester.c | 17 +++++++++++-
+ tests/annotations/src/tester.h | 2 +
+ 6 files changed, 68 insertions(+), 14 deletions(-)
+
+commit ff603dfd69e0e688754a2d492fbb910636e1411d
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Sat Feb 21 13:12:06 2009 +0000
+
+ Allow linking to struct members. Update docs. Fixes #565126.
+
+ * gtkdoc-mkdb.in:
+ * help/manual/C/gtk-doc-manual.xml:
+ * tests/gobject/src/gobject.c:
+ Allow linking to struct members. Update docs. Fixes #565126.
+
+
+ svn path=/trunk/; revision=682
+
+ ChangeLog | 7 +++++++
+ gtkdoc-mkdb.in | 17 ++++++++++-------
+ help/manual/C/gtk-doc-manual.xml | 18 ++++++++++++------
+ tests/gobject/src/gobject.c | 2 +-
+ 4 files changed, 30 insertions(+), 14 deletions(-)
+
+commit f9b8b8b0cff95ad4996500bf65f951fb6776823d
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Sat Feb 21 13:01:30 2009 +0000
+
+ Fix params and running of 'highlight'.
+
+ * configure.in:
+ * gtkdoc-fixxref.in:
+ Fix params and running of 'highlight'.
+
+
+ svn path=/trunk/; revision=681
+
+ ChangeLog | 6 ++++++
+ configure.in | 2 +-
+ gtkdoc-fixxref.in | 25 ++++++++++++++-----------
+ 3 files changed, 21 insertions(+), 12 deletions(-)
+
+commit 40033e674d7651856b2e95016981e844f99fcaa3
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Sat Feb 21 10:54:33 2009 +0000
+
+ Require the line to ends after the double-colon (sans whitespace),
+
+ * gtkdoc-mkdb.in:
+ Require the line to ends after the double-colon (sans whitespace),
+
+
+ svn path=/trunk/; revision=680
+
+ ChangeLog | 5 +++++
+ gtkdoc-mkdb.in | 2 +-
+ 2 files changed, 6 insertions(+), 1 deletions(-)
+
+commit 1177425d4bcaeae56dbeb219adf7bcf34968d5a9
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Fri Feb 20 16:07:35 2009 +0000
+
+ patch by: Damien Lespiau <damien.lespiau@gmail.com>
+ * gtk-doc.make:
+ * gtk-doc.notmpl.make:
+ * tests/gtk-doc.make:
+ * tests/gtk-doc.notmpl.make:
+ Add --tag=CC to libtool invocations. Fixes #572396.
+
+
+ svn path=/trunk/; revision=679
+
+ ChangeLog | 10 ++++++++++
+ gtk-doc.make | 4 ++--
+ gtk-doc.notmpl.make | 4 ++--
+ tests/gtk-doc.make | 4 ++--
+ tests/gtk-doc.notmpl.make | 4 ++--
+ 5 files changed, 18 insertions(+), 8 deletions(-)
+
+commit 5e1b97df80353132216417ae7da0f41f65e6a8c9
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Wed Feb 18 19:21:39 2009 +0000
+
+ Fix example to show to to make it work even with make distcheck.
+
+ * examples/Makefile.am:
+ Fix example to show to to make it work even with make distcheck.
+
+
+ svn path=/trunk/; revision=678
+
+ ChangeLog | 5 +++++
+ examples/Makefile.am | 1 +
+ 2 files changed, 6 insertions(+), 0 deletions(-)
+
+commit ab91cb85132d38b07e1aaf4ee03b24b23666b35d
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Mon Feb 16 20:56:55 2009 +0000
+
+ Also style <note> tags.
+
+ * style.css:
+ * tests/gobject/src/gobject.c:
+ Also style <note> tags.
+
+
+ svn path=/trunk/; revision=677
+
+ ChangeLog | 6 ++++++
+ style.css | 17 ++++++++++++++---
+ tests/gobject/src/gobject.c | 4 +++-
+ 3 files changed, 23 insertions(+), 4 deletions(-)
+
+commit c8595e319517479c312b7b250d05f394452ba4dd
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Tue Feb 10 16:41:38 2009 +0000
+
+ Fix the spelling of my name.
+
+ * MAINTAINERS:
+ Fix the spelling of my name.
+
+
+ svn path=/trunk/; revision=676
+
+ ChangeLog | 5 +++++
+ MAINTAINERS | 2 +-
+ 2 files changed, 6 insertions(+), 1 deletions(-)
+
+commit 9fb18a9878405c28c75768e3bc0cd8b178a08981
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Thu Feb 5 15:04:08 2009 +0000
+
+ Some planning. Single tabs are rendered inconsistently in browsers.
+
+ * TODO:
+ Some planning.
+ * gtkdoc-mkdb.in:
+ Single tabs are rendered inconsistently in browsers. Replace them with
+ a .
+
+
+ svn path=/trunk/; revision=675
+
+ ChangeLog | 9 +++++++++
+ TODO | 3 +++
+ gtkdoc-mkdb.in | 5 ++++-
+ 3 files changed, 16 insertions(+), 1 deletions(-)
+
+commit cb225ff90e6c2ecc9dccd97879fbad22a5b044e2
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Sat Jan 31 17:02:54 2009 +0000
+
+ Try to link to struct members as a test for Bug #565126.
+
+ * tests/gobject/src/gobject.c:
+ Try to link to struct members as a test for Bug #565126.
+
+
+ svn path=/trunk/; revision=674
+
+ ChangeLog | 5 +++++
+ tests/gobject/src/gobject.c | 4 ++++
+ 2 files changed, 9 insertions(+), 0 deletions(-)
+
+commit 2fe404574650e2900f1cdbb456304924c256f1b4
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Thu Jan 29 22:25:15 2009 +0000
+
+ Expanding urls is not a good idea yet. Need to figure out.
+
+ * gtkdoc-mkdb.in:
+ Expanding urls is not a good idea yet. Need to figure out.
+
+
+ svn path=/trunk/; revision=673
+
+ ChangeLog | 5 +++++
+ gtkdoc-mkdb.in | 4 +++-
+ 2 files changed, 8 insertions(+), 1 deletions(-)
+
+commit dbdc7a835f427bf4a597fe1b023f6baafa6d489f
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Thu Jan 29 12:10:13 2009 +0000
+
+ Remove, this is generated.
+
+ * tests/tools.sh:
+ Remove, this is generated.
+
+
+ svn path=/trunk/; revision=672
+
+ ChangeLog | 5 +++++
+ tests/tools.sh | 51 ---------------------------------------------------
+ 2 files changed, 5 insertions(+), 51 deletions(-)
+
+commit b493e2065654a26431eff24e323cfd84617537fe
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Thu Jan 29 12:07:03 2009 +0000
+
+ Automatically creating ulinks for urls. Add a link for testing.
+
+ * gtkdoc-mkdb.in:
+ Automatically creating ulinks for urls.
+ * tests/gobject/src/gobject.c:
+ Add a link for testing.
+
+
+ svn path=/trunk/; revision=671
+
+ ChangeLog | 8 ++++++++
+ gtkdoc-mkdb.in | 4 ++++
+ tests/fail.sh | 1 -
+ tests/gobject/src/gobject.c | 3 ++-
+ tests/tools.sh | 1 -
+ tests/tools.sh.in | 1 -
+ 6 files changed, 14 insertions(+), 4 deletions(-)
+
+commit 8a4c9d742999c4cba89cb92e26d70ed487cde587
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Wed Jan 28 14:34:58 2009 +0000
+
+ Major CSS cleanup. This is hopefully an end of layout issues related to
+
+ * style-classic.css:
+ * style.css:
+ * tests/gobject/docs/tester-docs.xml:
+ * tests/gobject/src/gobject.c:
+ Major CSS cleanup. This is hopefully an end of layout issues related
+ to the fixed navigation bar.
+
+
+ svn path=/trunk/; revision=670
+
+ ChangeLog | 9 +++++
+ style-classic.css | 65 ++++++++++++++++++++++-------------
+ style.css | 33 ++++++------------
+ tests/gobject/docs/tester-docs.xml | 5 +++
+ tests/gobject/src/gobject.c | 5 +++
+ 5 files changed, 71 insertions(+), 46 deletions(-)
+
+commit 7df3b20845913ead74196563ae0a7dbbe6d99f4b
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Wed Jan 28 12:14:11 2009 +0000
+
+ patch by: David Nečas <yeti@physics.muni.cz>
+ * gtkdoc-mkdb.in:
+ * tests/gobject/src/giface.c:
+ * tests/gobject/src/gobject.c:
+ Abbreviation where not expanded at the start of text. Fixes #569339.
+
+
+ svn path=/trunk/; revision=669
+
+ ChangeLog | 9 +++++++++
+ gtkdoc-mkdb.in | 6 +++---
+ tests/gobject/src/giface.c | 1 +
+ tests/gobject/src/gobject.c | 1 +
+ 4 files changed, 14 insertions(+), 3 deletions(-)
+
+commit 8dc64e5060e9846b4a9654ee3d310e73d7a599a9
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Wed Jan 28 11:03:07 2009 +0000
+
+ Expand urls in comments of examples.
+
+ * gtkdoc-fixxref.in:
+ * tests/gobject/examples/gobject.c:
+ Expand urls in comments of examples.
+
+
+ svn path=/trunk/; revision=668
+
+ ChangeLog | 6 ++++++
+ gtkdoc-fixxref.in | 4 ++++
+ tests/gobject/examples/gobject.c | 7 ++++++-
+ 3 files changed, 16 insertions(+), 1 deletions(-)
+
+commit 2db8b69ce71ff97407799738cefe40e4e3b6ad89
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Tue Jan 27 14:05:19 2009 +0000
+
+ Use tables like described in #536928. tests/tools.sh Comment on why we do
+
+ * gtkdoc-fixxref.in:
+ * style.css:
+ Use tables like described in #536928.
+ * tests/tools.sh
+ Comment on why we do the tool check like this.
+ * tests/fail.sh:
+ Comment on test.
+ * tests/gobject/docs/tester-docs.xml:
+ Fix xml a bit.
+
+
+ svn path=/trunk/; revision=667
+
+ ChangeLog | 15 ++++++++
+ gtkdoc-fixxref.in | 28 ++++++++++++---
+ style.css | 66 ++++++++++++++++++++++--------------
+ tests/fail.sh | 1 +
+ tests/gobject/docs/tester-docs.xml | 5 ++-
+ tests/tools.sh | 52 ++++++++++++++++++++++++++++
+ 6 files changed, 135 insertions(+), 32 deletions(-)
+
+commit 6b5a2ea44bce2798c29d0665aef62e1f4c425c8d
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Mon Jan 26 16:44:56 2009 +0000
+
+ Add public symbols from section file when doing the -undocumented.txt
+
+ * gtkdoc-mkdb.in:
+ * tests/bugs/src/tester.h:
+ * tests/fail.sh:
+ * tests/fail/docs/tester-docs.xml:
+ * tests/fail/docs/tester-sections.txt:
+ * tests/fail/src/tester.c:
+ Add public symbols from section file when doing the -undocumented.txt
+ report. Also add the special symbols for the section docs when reading
+ the section-file. Extend test suite to check for it. Fixes #568732
+
+
+ svn path=/trunk/; revision=666
+
+ ChangeLog | 12 +++
+ gtkdoc-mkdb.in | 162 ++++++++++++++++++++---------------
+ tests/bugs/src/tester.h | 11 ++-
+ tests/fail.sh | 16 +++-
+ tests/fail/docs/tester-docs.xml | 4 +-
+ tests/fail/docs/tester-sections.txt | 18 ++++-
+ tests/fail/src/tester.c | 7 ++-
+ 7 files changed, 151 insertions(+), 79 deletions(-)
+
+commit 9b04fd16df483acbed23707f6faf66a28d0185a8
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Mon Jan 26 08:35:34 2009 +0000
+
+ Handle inline functions in headers. Fixes #532395.
+
+ * gtkdoc-scan.in:
+ * tests/bugs/docs/tester-sections.txt:
+ * tests/bugs/src/tester.c:
+ * tests/bugs/src/tester.h:
+ Handle inline functions in headers. Fixes #532395.
+
+
+ svn path=/trunk/; revision=665
+
+ ChangeLog | 8 ++++
+ gtkdoc-scan.in | 63 ++++++++++++++++++++++++++---------
+ tests/bugs/docs/tester-sections.txt | 2 +
+ tests/bugs/src/tester.c | 7 ++--
+ tests/bugs/src/tester.h | 31 +++++++++++++++++
+ 5 files changed, 92 insertions(+), 19 deletions(-)
+
+commit 240bfeab89a973ce917c64d6e9b4ca857cb3be85
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Mon Jan 26 08:33:37 2009 +0000
+
+ Mention onine site for regexp testing. Small output cleanups. Indenting
+
+ * HACKING:
+ Mention onine site for regexp testing.
+ * gtkdoc-mkdb.in:
+ Small output cleanups.
+ * gtkdoc-mktmpl.in:
+ Indenting and use LogWarning once more.
+
+
+ svn path=/trunk/; revision=664
+
+ ChangeLog | 13 ++++++++++++-
+ HACKING | 5 +++++
+ gtkdoc-mkdb.in | 4 ++--
+ gtkdoc-mktmpl.in | 5 +++--
+ 4 files changed, 22 insertions(+), 5 deletions(-)
+
+commit d43560b6439a83a48f6245d9112f979ad86e0ecd
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Fri Jan 23 21:45:16 2009 +0000
+
+ Recomment out debug log the accidentialy went in.
+
+ * gtkdoc-mkdb.in:
+ Recomment out debug log the accidentialy went in.
+ * configure.in:
+ * tests/Makefile.am:
+ * tests/fail.sh:
+ * tests/tools.sh.in:
+ * tests/tools.sh.in (added):
+ Add a check that tests that all scripts are runnable.
+
+
+ svn path=/trunk/; revision=663
+
+ ChangeLog | 12 ++++++++++++
+ configure.in | 2 +-
+ gtkdoc-mkdb.in | 2 +-
+ tests/Makefile.am | 4 ++--
+ tests/fail.sh | 2 +-
+ tests/tools.sh.in | 46 ++++++++++++++++++++++++++++++++++++++++++++++
+ 6 files changed, 63 insertions(+), 5 deletions(-)
+
+commit 7097f601f52d3271b3efe2fec16940b3a81a52d1
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Fri Jan 23 12:09:35 2009 +0000
+
+ No need to format a '\n' into a fromatstring. Add FIXMEs for Bug 568711.
+
+ * gtkdoc-check.in:
+ No need to format a '\n' into a fromatstring.
+ * gtkdoc-mkdb.in:
+ Add FIXMEs for Bug 568711.
+ * gtkdoc-mkhtml.in:
+ Add a comment.
+ * configure.in:
+ * tests/Makefile.am:
+ * tests/fail.sh:
+ * tests/fail/Makefile.am:
+ * tests/fail/docs/Makefile.am:
+ * tests/fail/docs/tester-docs.xml:
+ * tests/fail/docs/tester-sections.txt:
+ * tests/fail/src/Makefile.am:
+ * tests/fail/src/tester.c:
+ * tests/fail/src/tester.h:
+ Add a test suite for failure checks.
+
+
+ svn path=/trunk/; revision=661
+
+ ChangeLog | 23 ++++++++++
+ configure.in | 3 +
+ gtkdoc-check.in | 2 +-
+ gtkdoc-mkdb.in | 72 +++++++++++++++++++------------
+ gtkdoc-mkhtml.in | 2 +
+ tests/Makefile.am | 6 +-
+ tests/fail.sh | 23 ++++++++++
+ tests/fail/Makefile.am | 10 ++++
+ tests/fail/docs/Makefile.am | 78 +++++++++++++++++++++++++++++++++++
+ tests/fail/docs/tester-docs.xml | 31 ++++++++++++++
+ tests/fail/docs/tester-sections.txt | 8 ++++
+ tests/fail/src/Makefile.am | 13 ++++++
+ tests/fail/src/tester.c | 10 ++++
+ tests/fail/src/tester.h | 19 ++++++++
+ 14 files changed, 268 insertions(+), 32 deletions(-)
+
+commit 136fb6d349f82e41f2b151b353681d617948cd59
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Fri Jan 23 08:52:14 2009 +0000
+
+ patch by: David Nečas <yeti@physics.muni.cz>
+ * gtkdoc-scan.in:
+ Don't scan files twice. The patch was slightly changed to name the
+ hash lowercase (uppercase is used for configureation options) and
+ add a comment. Fixes #568708.
+
+
+ svn path=/trunk/; revision=660
+
+ ChangeLog | 9 +++++++++
+ gtkdoc-scan.in | 18 ++++++++++++++----
+ 2 files changed, 23 insertions(+), 4 deletions(-)
+
+commit 925c3606751f39c33d88c8fc9ddf64ef826660d1
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Fri Jan 23 08:44:30 2009 +0000
+
+ patch by: David Nečas <yeti@physics.muni.cz>
+ * gtkdoc-mkdb.in:
+ Don't add empty <para></para> tags to the docs to avoid breaking the
+ detection of undocumented things. Fixes #568732.
+
+
+ svn path=/trunk/; revision=659
+
+ ChangeLog | 9 ++++++++-
+ gtkdoc-mkdb.in | 6 ++++--
+ 2 files changed, 12 insertions(+), 3 deletions(-)
+
+commit 920ef0ff318e02f3ac50ea2e21b626e27f2ed0cb
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Fri Jan 23 08:25:58 2009 +0000
+
+ patch by: David Nečas <yeti@physics.muni.cz>
+ * gtk-doc.m4:
+ Change nonsense error message to tell that gtk-doc is needed to build
+ a given package and not gtk-doc. Fixes #568734.
+
+
+ svn path=/trunk/; revision=658
+
+ ChangeLog | 9 +++++++++
+ gtk-doc.m4 | 2 +-
+ 2 files changed, 10 insertions(+), 1 deletions(-)
+
+commit b6fbbae73626062d237a09e426920d6e78667ab2
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Fri Jan 23 08:21:03 2009 +0000
+
+ Treat iface/interface like class in other places too.
+
+ * gtkdoc-mkdb.in:
+ * gtkdoc-scan.in:
+ Treat iface/interface like class in other places too.
+
+
+ svn path=/trunk/; revision=657
+
+ ChangeLog | 6 ++++++
+ gtkdoc-mkdb.in | 2 ++
+ gtkdoc-scan.in | 2 ++
+ 3 files changed, 10 insertions(+), 0 deletions(-)
+
+commit c1dc505fec4cc7ff1ac8cebd997048eaf1887844
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Fri Jan 23 08:18:32 2009 +0000
+
+ patch by: David Nečas <yeti@physics.muni.cz>
+ * gtkdoc-scan.in:
+ Use CamelCase id for interfaces. Fixes #568706.
+
+
+ svn path=/trunk/; revision=656
+
+ ChangeLog | 7 +++++++
+ gtkdoc-scan.in | 2 +-
+ 2 files changed, 8 insertions(+), 1 deletions(-)
+
+commit 2b6a529c923ff2aebd3ec7a90bc9ec028bf505c6
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Fri Jan 23 08:02:04 2009 +0000
+
+ patch by: David Nečas <yeti@physics.muni.cz>
+ * gtkdoc-mkhtml.in:
+ * gtkdoc-mkman.in:
+ * tests/gtk-doc.make:
+ * tests/gtk-doc.notmpl.make:
+ Less quirky way of knowing that we run uninstalled, which is only
+ needed for the tests anyway. In addition to the patch, make same
+ changes in mkman, add a shift to arg parsing to not loop and change
+ the makefiles for the tests. Fixes #568702.
+
+
+ svn path=/trunk/; revision=655
+
+ ChangeLog | 13 +++++++++++++
+ gtkdoc-mkhtml.in | 14 +++++++-------
+ gtkdoc-mkman.in | 36 ++++++++++++++++++++++++------------
+ tests/gtk-doc.make | 2 +-
+ tests/gtk-doc.notmpl.make | 2 +-
+ 5 files changed, 46 insertions(+), 21 deletions(-)
+
+commit 4db55a3212f6b66bf8c27e8783125cfda48553ff
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Thu Jan 22 16:36:08 2009 +0000
+
+ Only run the syntax highligher if we have one. Fixes #568714.
+
+ * gtkdoc-fixxref.in:
+ Only run the syntax highligher if we have one. Fixes #568714.
+
+
+ svn path=/trunk/; revision=654
+
+ ChangeLog | 5 +++++
+ gtkdoc-fixxref.in | 16 ++++++++++------
+ 2 files changed, 15 insertions(+), 6 deletions(-)
+
+commit 23ad6e6f9928999c503eacec22c659a881f47ea4
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Thu Jan 22 16:33:03 2009 +0000
+
+ Point to the right docs. More tinking. Remove one commented out item.
+
+ * README:
+ Point to the right docs.
+ * TODO:
+ More tinking.
+ * style.css:
+ Remove one commented out item.
+
+
+ svn path=/trunk/; revision=653
+
+ ChangeLog | 11 +++++++++++
+ README | 5 ++---
+ TODO | 29 +++++++++++++++++++++++++----
+ style.css | 1 -
+ 4 files changed, 38 insertions(+), 8 deletions(-)
+
+commit c8c1c2ae21269a42ad704747a0d5da6dcba68854
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Wed Jan 21 13:34:31 2009 +0000
+
+ Match css of highlight with source-highlight. Handle line numbering by
+
+ * TODO:
+ * configure.in:
+ * gtkdoc-fixxref.in:
+ * style.css:
+ Match css of highlight with source-highlight. Handle line numbering by
+ our-selfs. Still stupid browsers copy '#' chars for each line number.
+
+
+ svn path=/trunk/; revision=652
+
+ ChangeLog | 9 +++++++++
+ TODO | 13 ++++---------
+ configure.in | 4 ++--
+ gtkdoc-fixxref.in | 16 +++++++++++++++-
+ style.css | 51 +++++++++++++++++++++++++++++++++++++--------------
+ 5 files changed, 67 insertions(+), 26 deletions(-)
+
+commit 575fd4c590cd2706f07b5ea3e7db0392b3203392
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Wed Jan 21 07:53:45 2009 +0000
+
+ Try to xref first word in 'normal' span.
+
+ * gtkdoc-fixxref.in:
+ Try to xref first word in 'normal' span.
+
+
+ svn path=/trunk/; revision=651
+
+ ChangeLog | 5 +++++
+ gtkdoc-fixxref.in | 5 ++++-
+ 2 files changed, 9 insertions(+), 1 deletions(-)
+
+commit ecee6850b5e8ce55b135f0ec81b692ba02c0c467
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Tue Jan 20 20:46:50 2009 +0000
+
+ We could add the language as a comment, it is not shown in the final
+
+ * TODO:
+ * gtkdoc-mkdb.in:
+ * tests/gobject/src/gobject.c:
+ We could add the language as a comment, it is not shown in the final output.
+
+
+ svn path=/trunk/; revision=650
+
+ ChangeLog | 7 +++++++
+ TODO | 8 ++++++++
+ gtkdoc-mkdb.in | 2 ++
+ tests/gobject/src/gobject.c | 3 ++-
+ 4 files changed, 19 insertions(+), 1 deletions(-)
+
+commit 57520d59287c406cfe5c96b4df27edb3980085ba
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Tue Jan 20 16:29:59 2009 +0000
+
+ More ideas. Really fix double extension of entities. Fix link color of
+
+ * TODO:
+ More ideas.
+ * gtkdoc-fixxref.in:
+ Really fix double extension of entities.
+ * style.css:
+ Fix link color of xrefs symbols.
+
+
+ svn path=/trunk/; revision=649
+
+ ChangeLog | 11 +++++++++++
+ TODO | 15 +++++++++++++--
+ gtkdoc-fixxref.in | 20 ++++++++++++--------
+ style.css | 23 +++++++++++++----------
+ 4 files changed, 49 insertions(+), 20 deletions(-)
+
+commit c864a0a0965a2c1f49c99a15436531935f112868
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Tue Jan 20 12:12:34 2009 +0000
+
+ Indent. Fix end of string handling. Use one tango colors one more time.
+
+ * gtkdoc-fixxref.in:
+ Indent.
+ * gtkdoc-mkdb.in:
+ Fix end of string handling.
+ * style.css:
+ Use one tango colors one more time.
+
+
+ svn path=/trunk/; revision=648
+
+ ChangeLog | 11 +++++++++++
+ gtkdoc-fixxref.in | 2 +-
+ gtkdoc-mkdb.in | 10 ++++++----
+ style.css | 4 +++-
+ 4 files changed, 21 insertions(+), 6 deletions(-)
+
+commit 67835942bd3ff1d314253dbecfa80515310d43db
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Tue Jan 20 11:49:53 2009 +0000
+
+ Detect namespace prefix if not given.
+
+ * gtkdoc-mkdb.in:
+ * tests/annotations/docs/Makefile.am:
+ * tests/bugs/docs/Makefile.am:
+ * tests/bugs/docs/tester-docs.xml:
+ * tests/gobject/docs-tmpl/Makefile.am:
+ * tests/gobject/docs/Makefile.am:
+ Detect namespace prefix if not given.
+
+
+ svn path=/trunk/; revision=647
+
+ ChangeLog | 10 +++++++
+ gtkdoc-mkdb.in | 46 ++++++++++++++++++++++++++++++++++-
+ tests/annotations/docs/Makefile.am | 2 +-
+ tests/bugs/docs/Makefile.am | 2 +-
+ tests/bugs/docs/tester-docs.xml | 5 +--
+ tests/gobject/docs-tmpl/Makefile.am | 2 +-
+ tests/gobject/docs/Makefile.am | 2 +-
+ 7 files changed, 61 insertions(+), 8 deletions(-)
+
+commit d2a5cabba60ac5893f0a36e3e926f1df3a30644f
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Tue Jan 20 11:44:27 2009 +0000
+
+ Fix gap, caused by double index divs produces by index generated with the
+
+ * style-classic.css:
+ * style.css:
+ Fix gap, caused by double index divs produces by index generated with
+ the docbook stylesheets.
+
+
+ svn path=/trunk/; revision=646
+
+ ChangeLog | 7 +++++++
+ style-classic.css | 5 +++++
+ style.css | 4 ++++
+ 3 files changed, 16 insertions(+), 0 deletions(-)
+
+commit 105b9973601b707c045cf92db31908fcbe7d063d
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Tue Jan 20 08:42:44 2009 +0000
+
+ More ideas. Make sure indexdiv and glossarydiv elements have anchors.
+
+ * TODO:
+ More ideas.
+ * gtk-doc.xsl:
+ Make sure indexdiv and glossarydiv elements have anchors.
+ * style-classic.css:
+ * style.css:
+ Fix spacing for navbar in index/glossary pages.
+ * tests/annotations/docs/tester-docs.xml:
+ * tests/gobject/docs/tester-docs.xml:
+ Cleanup samples.
+
+
+ svn path=/trunk/; revision=645
+
+ ChangeLog | 16 +++++++
+ TODO | 2 +
+ gtk-doc.xsl | 19 ++++++++-
+ style-classic.css | 46 +++++++++++----------
+ style.css | 34 ++++++++-------
+ tests/annotations/docs/tester-docs.xml | 69 +++++++++++++++++--------------
+ tests/gobject/docs/tester-docs.xml | 4 +-
+ 7 files changed, 117 insertions(+), 73 deletions(-)
+
+commit 47a00d775957633c374b4a6e050b347970ddf2de
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Mon Jan 19 16:49:09 2009 +0000
+
+ More ideas. Experiment with navigation for index and glossaries.
+
+ * TODO:
+ More ideas.
+ * gtk-doc.xsl:
+ Experiment with navigation for index and glossaries.
+ * gtkdoc-fixxref.in:
+ * gtkdoc-mkdb.in:
+ Fix index entries and copy doc along with the method.
+ * style.css:
+ also do the extra spacing for the index/glossary environments now.
+ * tests/gobject/docs/tester-docs.xml:
+ Experiment with a more complete doc structure.
+
+
+ svn path=/trunk/; revision=644
+
+ ChangeLog | 20 +++-
+ TODO | 68 +++++++--
+ gtk-doc.xsl | 286 ++++++++++++++++++++----------------
+ gtkdoc-fixxref.in | 8 +
+ gtkdoc-mkdb.in | 3 +-
+ style.css | 10 +-
+ tests/gobject/docs/tester-docs.xml | 113 +++++++++------
+ 7 files changed, 318 insertions(+), 190 deletions(-)
+
+commit 1ad455120fd9611084950ed1fffad500dc87e7e3
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Mon Jan 12 07:24:20 2009 +0000
+
+ Make highligher post processing conditional.
+
+ * gtkdoc-fixxref.in:
+ Make highligher post processing conditional.
+
+
+ svn path=/trunk/; revision=643
+
+ ChangeLog | 5 +++++
+ gtkdoc-fixxref.in | 9 +++++++--
+ 2 files changed, 12 insertions(+), 2 deletions(-)
+
+commit 5f1bdfc803bffb11c6e7b867fb880a0662f6107a
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Fri Jan 9 22:30:16 2009 +0000
+
+ Erm, not having a highlighter is not fatal.
+
+ * configure.in:
+ Erm, not having a highlighter is not fatal.
+
+
+ svn path=/trunk/; revision=642
+
+ ChangeLog | 5 +++++
+ configure.in | 3 ---
+ 2 files changed, 5 insertions(+), 3 deletions(-)
+
+commit 83a8959cb1caefc870642e70db8574860432ccfc
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Fri Jan 9 22:16:02 2009 +0000
+
+ Look for source-highlight and highlight. Not perfect yet, highlight uses
+
+ * HACKING:
+ * TODO:
+ * configure.in:
+ * gtkdoc-fixxref.in:
+ Look for source-highlight and highlight. Not perfect yet, highlight uses
+ different classes in the css :/.
+ * tests/gobject/docs/tester-docs.xml:
+ More header data in the examples.
+
+
+ svn path=/trunk/; revision=641
+
+ ChangeLog | 12 ++++++++++++
+ HACKING | 10 ++++++++++
+ TODO | 4 +++-
+ configure.in | 22 ++++++++++++++++++++++
+ gtkdoc-fixxref.in | 5 ++---
+ tests/gobject/docs/tester-docs.xml | 5 ++++-
+ 6 files changed, 53 insertions(+), 5 deletions(-)
+
+commit 0b7022517764215243f164933a3cbbd1c67fb678
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Fri Jan 9 15:27:32 2009 +0000
+
+ patch by: David Nečas <yeti@physics.muni.cz>
+ * gtkdoc-scan.in:
+ Treat FOO_GET_INTERFACE as standard. Fixes #567132.
+
+
+ svn path=/trunk/; revision=640
+
+ ChangeLog | 7 +++++++
+ gtkdoc-scan.in | 1 +
+ 2 files changed, 8 insertions(+), 0 deletions(-)
+
+commit 309b01ecb9c6c88e55f79762d8cac7a434fe374f
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Fri Jan 9 15:12:15 2009 +0000
+
+ Initial go at implementing syntax highlighting for sources using gnu
+
+ * TODO:
+ * gtk-doc.make:
+ * gtk-doc.notmpl.make:
+ * gtkdoc-fixxref.in:
+ * gtkdoc-mkdb.in:
+ * style.css:
+ * tests/gobject/examples/gobject.c:
+ * tests/gtk-doc.make:
+ * tests/gtk-doc.notmpl.make:
+ Initial go at implementing syntax highlighting for sources using
+ gnu source-highlight. Needs testing and modularisation.
+
+
+ svn path=/trunk/; revision=639
+
+ ChangeLog | 14 ++++++
+ TODO | 12 ++++-
+ gtk-doc.make | 2 +-
+ gtk-doc.notmpl.make | 2 +-
+ gtkdoc-fixxref.in | 90 ++++++++++++++++++++++++++++++++++----
+ gtkdoc-mkdb.in | 10 ++--
+ style.css | 15 ++++++-
+ tests/gobject/examples/gobject.c | 1 -
+ tests/gtk-doc.make | 2 +-
+ tests/gtk-doc.notmpl.make | 2 +-
+ 10 files changed, 128 insertions(+), 22 deletions(-)
+
+commit 861fe96b65023075dabc48af8060286f6931464f
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Thu Jan 8 11:15:47 2009 +0000
+
+ Comment out echo for debugging.
+
+ * gtkdoc-mkhtml.in:
+ Comment out echo for debugging.
+
+
+ svn path=/trunk/; revision=638
+
+ ChangeLog | 5 +++++
+ gtkdoc-mkhtml.in | 2 +-
+ 2 files changed, 6 insertions(+), 1 deletions(-)
+
+commit 7cadd0841d563c4b90231b538447105e832640d8
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Thu Jan 8 10:06:48 2009 +0000
+
+ Finally, make distcheck works.
+
+ * gtk-doc.make:
+ * gtkdoc-mkhtml.in:
+ * tests/gobject/docs-tmpl/Makefile.am:
+ * tests/gobject/docs/Makefile.am:
+ * tests/gtk-doc.make:
+ * tests/gtk-doc.notmpl.make:
+ Finally, make distcheck works.
+
+
+ svn path=/trunk/; revision=637
+
+ ChangeLog | 10 ++++++++++
+ gtk-doc.make | 3 +--
+ gtkdoc-mkhtml.in | 3 ++-
+ tests/gobject/docs-tmpl/Makefile.am | 2 +-
+ tests/gobject/docs/Makefile.am | 2 +-
+ tests/gtk-doc.make | 22 ++--------------------
+ tests/gtk-doc.notmpl.make | 16 +---------------
+ 7 files changed, 18 insertions(+), 40 deletions(-)
+
+commit f5966c260195d7afeb7c7212f10a2ec2171c6441
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Thu Jan 8 09:24:14 2009 +0000
+
+ Add support for --help and --version to remaining tools. Also show a short
+
+ * gtkdoc-check.in:
+ * gtkdoc-depscan.in:
+ * gtkdoc-fixxref.in:
+ * gtkdoc-mkdb.in:
+ * gtkdoc-mkhtml.in:
+ * gtkdoc-mkman.in:
+ * gtkdoc-mktmpl.in:
+ * gtkdoc-rebase.in:
+ * gtkdoc-scan.in:
+ * gtkdoc-scangobj.in:
+ * gtkdoc-scanobj.in:
+ * gtkdocize.in:
+ Add support for --help and --version to remaining tools. Also show a
+ short info on --help and format more consistently. Fixes #566911
+
+
+ svn path=/trunk/; revision=636
+
+ ChangeLog | 17 +++++++++++++
+ gtkdoc-check.in | 25 +++++++++++++++++++
+ gtkdoc-depscan.in | 3 +-
+ gtkdoc-fixxref.in | 21 ++++++++++------
+ gtkdoc-mkdb.in | 2 +-
+ gtkdoc-mkhtml.in | 3 ++
+ gtkdoc-mkman.in | 68 +++++++++++++++++++++++++++++++++++++++++++--------
+ gtkdoc-mktmpl.in | 2 +-
+ gtkdoc-rebase.in | 29 ++++++++++++----------
+ gtkdoc-scan.in | 28 +++++++++++++--------
+ gtkdoc-scangobj.in | 22 ++++++++++-------
+ gtkdoc-scanobj.in | 22 +++++++++++++++-
+ gtkdocize.in | 14 +++++++----
+ 13 files changed, 194 insertions(+), 62 deletions(-)
+
+commit ef5f56ca5fd4a077e6f7a374e8dd333b7a6a8d42
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Wed Jan 7 16:04:30 2009 +0000
+
+ Detect gtkdoc-rebase in gtk-doc.m4. Based on idea of Sven Herzberg. Fixes
+
+ * gtk-doc.m4:
+ * gtk-doc.make:
+ * gtk-doc.notmpl.make:
+ Detect gtkdoc-rebase in gtk-doc.m4. Based on idea of Sven Herzberg.
+ Fixes #562310
+
+
+ svn path=/trunk/; revision=635
+
+ ChangeLog | 8 ++++++++
+ gtk-doc.m4 | 6 +++++-
+ gtk-doc.make | 6 ++----
+ gtk-doc.notmpl.make | 6 ++----
+ 4 files changed, 17 insertions(+), 9 deletions(-)
+
+commit 5440f3f10e9df68b59367730c20cf7b0524f0c16
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Wed Jan 7 15:50:46 2009 +0000
+
+ Prepare for 1.12. More thinking about the documentation structure. Add
+
+ * NEWS:
+ Prepare for 1.12.
+ * TODO:
+ More thinking about the documentation structure.
+ * configure.in:
+ Add automake support for more distcheck. Use a real sourcefile for the
+ srcdir (something that we wont remove one day).
+ * tests/annotations/docs/Makefile.am:
+ * tests/annotations/src/Makefile.am:
+ * tests/bugs/docs/Makefile.am:
+ * tests/bugs/src/Makefile.am:
+ * tests/gobject/docs-tmpl/Makefile.am:
+ * tests/gobject/docs/Makefile.am:
+ * tests/gobject/src/Makefile.am:
+ Add missing file to fix make distcheck. Use srcdir and not builddir to
+ locate includes.
+
+
+ svn path=/trunk/; revision=634
+
+ ChangeLog | 22 ++++++++++++++++++++++
+ NEWS | 4 ++++
+ TODO | 16 +++++++++++++++-
+ configure.in | 4 ++--
+ tests/annotations/docs/Makefile.am | 2 +-
+ tests/annotations/src/Makefile.am | 2 +-
+ tests/bugs/docs/Makefile.am | 2 +-
+ tests/bugs/src/Makefile.am | 2 +-
+ tests/gobject/docs-tmpl/Makefile.am | 2 +-
+ tests/gobject/docs/Makefile.am | 2 +-
+ tests/gobject/src/Makefile.am | 4 ++--
+ 11 files changed, 51 insertions(+), 11 deletions(-)
+
+commit 6b4e572888f17c48a6dc1e6ce9dca5fcae5df725
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Wed Jan 7 12:00:43 2009 +0000
+
+ Ideas about syntax highlighing. Old color scheme. Use tango colors.
+
+ * TODO:
+ Ideas about syntax highlighing.
+ * style-classic.css:
+ Old color scheme.
+ * style.css:
+ Use tango colors. Simplify css.
+ * tests/gobject/src/gobject.c:
+ Tell what language this is.
+
+
+ svn path=/trunk/; revision=633
+
+ ChangeLog | 14 ++++
+ TODO | 16 ++++-
+ style-classic.css | 179 +++++++++++++++++++++++++++++++++++++++++++
+ style.css | 69 ++++++++++-------
+ tests/gobject/src/gobject.c | 2 +-
+ 5 files changed, 249 insertions(+), 31 deletions(-)
+
+commit 8ebc21851ad448097eb8e50072b92379fa593776
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Sun Jan 4 13:31:14 2009 +0000
+
+ Fix inconsistency of prototype and docs.
+
+ * tests/bugs/src/tester.c:
+ Fix inconsistency of prototype and docs.
+
+ svn path=/trunk/; revision=632
+
+ ChangeLog | 5 +++++
+ tests/bugs/src/tester.c | 2 +-
+ 2 files changed, 6 insertions(+), 1 deletions(-)
+
+commit b3305a943c1dfe522fdc222d495a4a449d37d30c
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Sun Jan 4 12:26:06 2009 +0000
+
+ Now aall tests pass.
+
+ * tests/gtk-doc.make:
+ * tests/gtk-doc.notmpl.make:
+ Now aall tests pass.
+
+ svn path=/trunk/; revision=631
+
+ ChangeLog | 6 ++++++
+ tests/gtk-doc.make | 2 +-
+ tests/gtk-doc.notmpl.make | 2 +-
+ 3 files changed, 8 insertions(+), 2 deletions(-)
+
+commit 0ceaa25cb719bda5205627819fa170a41783cafc
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Sun Jan 4 12:08:02 2009 +0000
+
+ Fix running tests, if no gtk-doc is installed yet.
+
+ * gtkdoc-mkhtml.in:
+ * tests/Makefile.am:
+ * tests/gtk-doc.make:
+ * tests/gtk-doc.notmpl.make:
+ * tests/gtkdoctest.sh:
+ Fix running tests, if no gtk-doc is installed yet.
+
+ svn path=/trunk/; revision=630
+
+ ChangeLog | 9 +++++++++
+ gtkdoc-mkhtml.in | 12 ++++++------
+ tests/Makefile.am | 4 +++-
+ tests/gtk-doc.make | 10 +++++-----
+ tests/gtk-doc.notmpl.make | 8 ++++----
+ tests/gtkdoctest.sh | 2 +-
+ 6 files changed, 28 insertions(+), 17 deletions(-)
+
+commit 516a53c62b76c329fecf4ae3734412f68fb415f1
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Mon Dec 29 19:30:02 2008 +0000
+
+ patch by: Bruce van der Kooij <brucevdkooij@gmail.com>
+ * help/manual/C/gtk-doc-manual.xml:
+ Fixed three spelling errors (recommanded, conatins, alibrary).
+ Fixes #565835.
+
+
+ svn path=/trunk/; revision=629
+
+ ChangeLog | 8 ++++++++
+ help/manual/C/gtk-doc-manual.xml | 6 +++---
+ 2 files changed, 11 insertions(+), 3 deletions(-)
+
+commit afef9965bca5b3a8ca11dd4ff84460bfda1e639f
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Mon Dec 29 10:36:32 2008 +0000
+
+ Documentation structure ideas.
+
+ * TODO:
+ Documentation structure ideas.
+
+
+ svn path=/trunk/; revision=628
+
+ ChangeLog | 5 +++++
+ TODO | 26 ++++++++++++++++++++++++--
+ 2 files changed, 29 insertions(+), 2 deletions(-)
+
+commit f4155659e79a6d1bc323b7e80aac16620e6960e5
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Fri Dec 5 12:05:14 2008 +0000
+
+ Hightlight deprecation warnings.
+
+ * style.css:
+ Hightlight deprecation warnings.
+
+
+ svn path=/trunk/; revision=627
+
+ ChangeLog | 5 +++++
+ style.css | 16 ++++++++++++++++
+ 2 files changed, 21 insertions(+), 0 deletions(-)
+
+commit a8af590ac654a58cadeb35888af7804262eadc36
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Thu Dec 4 20:52:30 2008 +0000
+
+ Fix escaping.
+
+ * gtkdoc-mkdb.in:
+ Fix escaping.
+
+
+ svn path=/trunk/; revision=626
+
+ ChangeLog | 5 +++++
+ gtkdoc-mkdb.in | 2 +-
+ 2 files changed, 6 insertions(+), 1 deletions(-)
+
+commit e367273170597cbc35769d762f419020da607ab5
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Tue Dec 2 12:57:10 2008 +0000
+
+ Planning.
+
+ * TODO:
+ Planning.
+ * gtk-doc.make:
+ * gtk-doc.notmpl.make:
+ Remove the sh -c here now that its back in scanobj.
+ * tests/annotations/docs/tester-docs.xml:
+ * tests/bugs/docs/tester-docs.xml:
+ * tests/gobject/docs-tmpl/tester-docs.xml:
+ * tests/gobject/docs/tester-docs.xml:
+ Cosmetic template update.
+
+
+ svn path=/trunk/; revision=625
+
+ ChangeLog | 15 +++++++++++++++
+ TODO | 12 ++++++++++++
+ gtk-doc.make | 2 +-
+ gtk-doc.notmpl.make | 2 +-
+ tests/annotations/docs/tester-docs.xml | 2 +-
+ tests/bugs/docs/tester-docs.xml | 2 +-
+ tests/gobject/docs-tmpl/tester-docs.xml | 2 +-
+ tests/gobject/docs/tester-docs.xml | 2 +-
+ 8 files changed, 33 insertions(+), 6 deletions(-)
+
+commit 49bc8d6bcbae3056e958454b62c859e4656302cb
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Tue Dec 2 12:50:37 2008 +0000
+
+ Don't touch doctype header in expand-content-files.
+
+ * gtkdoc-mkdb.in:
+ Don't touch doctype header in expand-content-files.
+
+
+ svn path=/trunk/; revision=624
+
+ ChangeLog | 5 +++++
+ gtkdoc-mkdb.in | 6 ++++--
+ 2 files changed, 9 insertions(+), 2 deletions(-)
+
+commit ee34d25c12534a4875b3f3f27ececb25b48c4448
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Mon Dec 1 11:57:53 2008 +0000
+
+ Add deprecation warnings for signals and properties. Also reuse code for
+
+ * gtkdoc-mkdb.in:
+ Add deprecation warnings for signals and properties. Also reuse code
+ for since and stability levels there. Fixes #562655.
+ * tests/gobject/src/gobject.c:
+ Add testcase for #562655.
+
+
+ svn path=/trunk/; revision=623
+
+ ChangeLog | 9 +++++++++
+ gtkdoc-mkdb.in | 18 +++++-------------
+ tests/gobject/src/gobject.c | 36 +++++++++++++++++++++++++++++++++++-
+ 3 files changed, 49 insertions(+), 14 deletions(-)
+
+commit 33647e455838016e3b91a0db938e55d7be1c7c96
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Mon Dec 1 09:50:25 2008 +0000
+
+ Reintroduce "sh -c" and comment why its used. Add real libtool support to
+
+ * gtkdoc-scangobj.in:
+ * gtkdoc-scanobj.in:
+ Reintroduce "sh -c" and comment why its used. Add real libtool support
+ to old scanobj tool as well.
+
+
+ svn path=/trunk/; revision=622
+
+ ChangeLog | 7 +++++++
+ gtkdoc-scangobj.in | 4 +++-
+ gtkdoc-scanobj.in | 4 +++-
+ 3 files changed, 13 insertions(+), 2 deletions(-)
+
+commit 455a93571bf807f0a273c57fda81bb4956e4bcca
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Mon Dec 1 09:22:32 2008 +0000
+
+ patch by: Matthias Clasen <mclasen@redhat.com>
+ * gtkdoc-mkdb.in:
+ Fix index-id generation for child and style properties. Fixes #562064.
+
+
+ svn path=/trunk/; revision=621
+
+ ChangeLog | 7 +++++++
+ gtkdoc-mkdb.in | 18 ++++++++++++------
+ 2 files changed, 19 insertions(+), 6 deletions(-)
+
+commit 5f38381a840a6266056c90cab85bc09d3be06d6c
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Sun Nov 16 19:23:58 2008 +0000
+
+ Back to development. === Release 1.11 ===
+
+ * HACKING:
+ * configure.in:
+ * help/manual/C/gtk-doc-manual.xml:
+ Back to development.
+ === Release 1.11 ===
+
+
+ svn path=/trunk/; revision=620
+
+ ChangeLog | 9 +++++++++
+ HACKING | 1 +
+ configure.in | 2 +-
+ help/manual/C/gtk-doc-manual.xml | 2 +-
+ 4 files changed, 12 insertions(+), 2 deletions(-)
+
+commit 5c2c7360910a1aca003ce322f69c0b30a9cc7012
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Sun Nov 16 19:05:07 2008 +0000
+
+ Releasing 1.11.
+
+ * HACKING:
+ * NEWS:
+ Releasing 1.11.
+ * tests/Makefile.am:
+ * tests/gtk-doc.make:
+ * tests/gtk-doc.notmpl.make:
+ * tests/gtkdoctest.sh:
+ Fix make distcheck.
+
+
+ svn path=/trunk/; revision=618
+
+ ChangeLog | 21 ++++++++++++---------
+ HACKING | 4 ++--
+ NEWS | 43 ++++++++++++++++++++++++++++++++++++++++++-
+ tests/Makefile.am | 4 ++--
+ tests/gtk-doc.make | 4 +++-
+ tests/gtk-doc.notmpl.make | 4 +++-
+ tests/gtkdoctest.sh | 2 +-
+ 7 files changed, 65 insertions(+), 17 deletions(-)
+
+commit 8eeb4aab89b58df4b44f84f50fa00fb5e8706777
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Thu Nov 6 20:53:25 2008 +0000
+
+ No install rules for test.
+
+ * tests/gtk-doc.make:
+ * tests/gtk-doc.notmpl.make:
+ No install rules for test.
+
+
+ svn path=/trunk/; revision=617
+
+ ChangeLog | 6 ++++++
+ tests/gtk-doc.make | 19 -------------------
+ tests/gtk-doc.notmpl.make | 19 -------------------
+ 3 files changed, 6 insertions(+), 38 deletions(-)
+
+commit 30d01a7fd8339b8747d1acc60d748f9fe6f17426
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Thu Nov 6 13:50:30 2008 +0000
+
+ Get rid of german variable name. Generate glossary xml for annotations.
+
+ * gtkdoc-mkdb.in:
+ Get rid of german variable name. Generate glossary xml for
+ annotations. Improve initial master document.
+ * tests/annotations/docs/tester-docs.xml:
+ Update example to include anotation glossary.
+
+
+ svn path=/trunk/; revision=616
+
+ ChangeLog | 9 +++
+ gtkdoc-mkdb.in | 106 +++++++++++++++++++++++++++++---
+ tests/annotations/docs/tester-docs.xml | 93 +---------------------------
+ 3 files changed, 109 insertions(+), 99 deletions(-)
+
+commit dfd3ee922214ef2a8ecef1c69664884888672317
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Wed Nov 5 15:35:47 2008 +0000
+
+ patch by: Peter Kjellerstedt <pkj@axis.com>
+ * gtk-doc.make:
+ * gtk-doc.notmpl.make:
+ * tests/gtk-doc.make:
+ * tests/gtk-doc.notmpl.make:
+ Correct check for existance of gtkdoc-rebase (better fix than the
+ previous one #508897). Fixes #559281.
+
+
+ svn path=/trunk/; revision=615
+
+ ChangeLog | 11 +++++++++++
+ gtk-doc.make | 7 ++++---
+ gtk-doc.notmpl.make | 7 ++++---
+ tests/gtk-doc.make | 7 ++++---
+ tests/gtk-doc.notmpl.make | 7 ++++---
+ 5 files changed, 27 insertions(+), 12 deletions(-)
+
+commit c2cee21dfebd0e825dafe24cc96b79660a6957c6
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Mon Oct 27 19:33:38 2008 +0000
+
+ patch by: Christian Persch <chpe@gnome.org>
+ * gtkdoc-scangobj.in:
+ Fix doc build when using GTK_DISABLE_SINGLE_INCLUDES. Fixes #558082.
+
+
+ svn path=/trunk/; revision=614
+
+ ChangeLog | 7 +++++++
+ gtkdoc-scangobj.in | 2 +-
+ 2 files changed, 8 insertions(+), 1 deletions(-)
+
+commit 200e5b1f85163e3660c8906ee0b0dd593862e2be
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Mon Oct 20 20:15:32 2008 +0000
+
+ More docs and planning.
+
+ * TODO:
+ * devhelp2.xsd:
+ More docs and planning.
+
+
+ svn path=/trunk/; revision=613
+
+ ChangeLog | 6 ++++
+ TODO | 8 ++++-
+ devhelp2.xsd | 91 +++++++++++++++++++++++++++++++++++++++++++++++++++------
+ 3 files changed, 93 insertions(+), 12 deletions(-)
+
+commit f437c1509d911540532a9097c7c34dd5007f3bff
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Mon Oct 20 14:16:37 2008 +0000
+
+ Update annotations. Glossary enhancements.
+
+ * tests/annotations/docs/tester-docs.xml:
+ * tests/annotations/src/tester.c:
+ * tests/gobject/docs/tester-docs.xml:
+ Update annotations. Glossary enhancements.
+
+
+ svn path=/trunk/; revision=612
+
+ ChangeLog | 7 ++
+ tests/annotations/docs/tester-docs.xml | 99 +++++++++++++++++++++++++++++---
+ tests/annotations/src/tester.c | 2 +-
+ tests/gobject/docs/tester-docs.xml | 1 +
+ 4 files changed, 99 insertions(+), 10 deletions(-)
+
+commit cf3acabb94fc608bac7bddc5ba362a3af5605d2f
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Sun Oct 19 19:08:36 2008 +0000
+
+ Update and document format.
+
+ * devhelp2.xsd:
+ Update and document format.
+
+
+ svn path=/trunk/; revision=611
+
+ ChangeLog | 5 +++++
+ devhelp2.xsd | 30 ++++++++++++++++++++++++++++++
+ 2 files changed, 35 insertions(+), 0 deletions(-)
+
+commit 1c28e54fc15fabcd4613e5c67e88ac9128f36cf0
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Fri Oct 17 15:19:13 2008 +0000
+
+ Add new language attribute and use "c" here.
+
+ * devhelp2.xsd:
+ * devhelp2.xsl:
+ Add new language attribute and use "c" here.
+
+
+ svn path=/trunk/; revision=610
+
+ ChangeLog | 6 ++++++
+ devhelp2.xsd | 20 ++++++++++++++++++++
+ devhelp2.xsl | 2 +-
+ 3 files changed, 27 insertions(+), 1 deletions(-)
+
+commit 7ed1602a4e1831e08599829ea1e74ed1c187e92b
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Thu Oct 16 19:52:19 2008 +0000
+
+ Small comment cleanup and loud thinking in TODO :)
+
+ * TODO:
+ * gtkdoc-mktmpl.in:
+ Small comment cleanup and loud thinking in TODO :)
+
+
+ svn path=/trunk/; revision=609
+
+ ChangeLog | 6 ++++++
+ TODO | 26 +++++++++++++++++++++-----
+ gtkdoc-mktmpl.in | 4 ++--
+ 3 files changed, 29 insertions(+), 7 deletions(-)
+
+commit 2b420dd41fa479de7409b42dd819611a691fb09f
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Thu Oct 16 06:11:55 2008 +0000
+
+ patch by: Jeffrey Stedfast <fejj@novell.com>
+ * examples/Makefile.am:
+ * gtk-doc.make:
+ * gtk-doc.notmpl.make:
+ Allow versioned TARGET_DIR. Fixes #554718.
+
+
+ svn path=/trunk/; revision=608
+
+ ChangeLog | 9 +++++++++
+ examples/Makefile.am | 4 ++++
+ gtk-doc.make | 25 ++++++++++++++++++++-----
+ gtk-doc.notmpl.make | 26 +++++++++++++++++++++-----
+ 4 files changed, 54 insertions(+), 10 deletions(-)
+
+commit 36786fdc44211e19080219bfcaf8830393012928
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Mon Oct 13 16:20:41 2008 +0000
+
+ planning. Document workflow Add support for enums/flags in devhelp index.
+
+ * TODO:
+ planning.
+ * doc/gtkdoc.dot:
+ Document workflow
+ * devhelp2.xsl:
+ Add support for enums/flags in devhelp index.
+ * gtkdoc-mkdb.in:
+ Support annotations. Fix missing roles.
+ * tests/annotations/docs/tester-docs.xml:
+ * tests/annotations/src/tester.c:
+ * tests/annotations/src/tester.h:
+ * tests/bugs/docs/tester-sections.txt:
+ * tests/gobject/docs/tester-docs.xml:
+ Update new syntax.
+
+
+ svn path=/trunk/; revision=607
+
+ ChangeLog | 20 ++++++++
+ TODO | 18 +++++++
+ devhelp2.xsl | 4 +-
+ doc/gtkdoc.dot | 78 ++++++++++++++++++++++++++++++++
+ gtkdoc-mkdb.in | 62 +++++++++++++++++--------
+ tests/annotations/docs/tester-docs.xml | 27 +++++++++++
+ tests/annotations/src/tester.c | 10 +++-
+ tests/annotations/src/tester.h | 2 +-
+ tests/bugs/docs/tester-sections.txt | 1 +
+ tests/gobject/docs/tester-docs.xml | 12 ++---
+ 10 files changed, 202 insertions(+), 32 deletions(-)
+
+commit 1ad239821bf293b27dde5a16773bb7e5d0d2a743
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Sat Oct 11 16:29:03 2008 +0000
+
+ Add testcases for gir annotation.
+
+ * configure.in:
+ * tests/Makefile.am:
+ * tests/annotations.sh:
+ * tests/annotations/Makefile.am:
+ * tests/annotations/docs/Makefile.am:
+ * tests/annotations/docs/tester-docs.xml:
+ * tests/annotations/docs/tester-sections.txt:
+ * tests/annotations/src/Makefile.am:
+ * tests/annotations/src/tester.c:
+ * tests/annotations/src/tester.h:
+ Add testcases for gir annotation.
+
+
+ svn path=/trunk/; revision=606
+
+ ChangeLog | 14 +++++
+ configure.in | 3 +
+ tests/Makefile.am | 4 +-
+ tests/annotations.sh | 4 ++
+ tests/annotations/Makefile.am | 10 ++++
+ tests/annotations/docs/Makefile.am | 78 ++++++++++++++++++++++++++++
+ tests/annotations/docs/tester-docs.xml | 32 +++++++++++
+ tests/annotations/docs/tester-sections.txt | 9 +++
+ tests/annotations/src/Makefile.am | 13 +++++
+ tests/annotations/src/tester.c | 41 +++++++++++++++
+ tests/annotations/src/tester.h | 12 ++++
+ 11 files changed, 218 insertions(+), 2 deletions(-)
+
+commit ad40fb9f118f8d9b8c7e40b8c952580cabd3e813
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Fri Oct 3 13:38:39 2008 +0000
+
+ patch by: Matthew Barnes <mbarnes@redhat.com>
+ * gtkdoc-scan.in:
+ * tests/bugs/docs/tester-sections.txt:
+ * tests/bugs/src/tester.h:
+ Be more careful with "struct _<struct_name>". Fixes #554833.
+
+
+ svn path=/trunk/; revision=605
+
+ ChangeLog | 10 +++++++++-
+ gtkdoc-scan.in | 4 ++++
+ tests/bugs/docs/tester-sections.txt | 1 +
+ tests/bugs/src/tester.h | 12 ++++++++++++
+ 4 files changed, 26 insertions(+), 1 deletions(-)
+
+commit 18b78670ffee8e653d33342215429769825fa77c
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Fri Oct 3 13:11:45 2008 +0000
+
+ patch by: Behdad Esfahbod <behdad@gnome.org>
+ * gtk-doc.make:
+ * gtk-doc.notmpl.make:
+ * tests/gtk-doc.make:
+ * tests/gtk-doc.notmpl.make:
+ Add rules to create $(REPORT_FILES). Fixes #552822.
+
+
+ svn path=/trunk/; revision=604
+
+ ChangeLog | 10 ++++++++++
+ gtk-doc.make | 2 ++
+ gtk-doc.notmpl.make | 2 ++
+ tests/gtk-doc.make | 2 ++
+ tests/gtk-doc.notmpl.make | 2 ++
+ 5 files changed, 18 insertions(+), 0 deletions(-)
+
+commit b7d49bada98fcc2d761f7025af4218ecd315a18a
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Fri Oct 3 13:02:10 2008 +0000
+
+ patch by: Simon Josefsson <simon@josefsson.org>
+ * examples/Makefile.am:
+ * tests/bugs/docs/Makefile.am:
+ * tests/gobject/docs-tmpl/Makefile.am:
+ * tests/gobject/docs/Makefile.am:
+ Use GTKDOC_CFLAGS instead of INCLUDES in Makefile.am. Fixes #553407.
+
+
+ svn path=/trunk/; revision=603
+
+ ChangeLog | 10 ++++++++++
+ examples/Makefile.am | 4 ++--
+ tests/bugs/docs/Makefile.am | 2 +-
+ tests/gobject/docs-tmpl/Makefile.am | 2 +-
+ tests/gobject/docs/Makefile.am | 2 +-
+ 5 files changed, 15 insertions(+), 5 deletions(-)
+
+commit f75c525ec5801ed666a09f7bf2eac967366f6e7d
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Wed Sep 24 08:39:51 2008 +0000
+
+ Use full symbol, if it does not belong to the namespace.
+
+ * gtkdoc-mkdb.in:
+ Use full symbol, if it does not belong to the namespace.
+
+
+ svn path=/trunk/; revision=602
+
+ ChangeLog | 5 +++++
+ gtkdoc-mkdb.in | 8 ++++++--
+ 2 files changed, 11 insertions(+), 2 deletions(-)
+
+commit 90ba6e55b7995f8404cb6f93b3168dce80a0f5b3
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Mon Sep 22 19:59:13 2008 +0000
+
+ Document some odd behaviour.
+
+ * tests/gobject/src/gobject.h:
+ Document some odd behaviour.
+
+
+ svn path=/trunk/; revision=601
+
+ ChangeLog | 5 +++++
+ tests/gobject/src/gobject.h | 4 ++++
+ 2 files changed, 9 insertions(+), 0 deletions(-)
+
+commit e90b1fb49c1f830096da17b0f3f0dcae91e430c6
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Mon Sep 22 19:47:37 2008 +0000
+
+ More todos.
+
+ * TODO:
+ More todos.
+ * tests/bugs/docs/tester-sections.txt:
+ * tests/bugs/src/tester.c:
+ * tests/bugs/src/tester.h:
+ Add testcase for bug 552602.
+ * tests/gtk-doc.make:
+ * tests/gtk-doc.notmpl.make:
+ Also use new RUN envvar here.
+
+
+ svn path=/trunk/; revision=600
+
+ ChangeLog | 14 ++++++++++++++
+ TODO | 3 +++
+ tests/bugs/docs/tester-sections.txt | 1 +
+ tests/bugs/src/tester.c | 13 +++++++++++++
+ tests/bugs/src/tester.h | 2 ++
+ tests/gtk-doc.make | 4 +++-
+ tests/gtk-doc.notmpl.make | 4 +++-
+ 7 files changed, 39 insertions(+), 2 deletions(-)
+
+commit 7f899e0ea06e3fd22b6db13779431df1bf8a89b8
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Wed Sep 10 12:50:06 2008 +0000
+
+ Generate unique ids for properties, style and child properties.
+
+ * gtkdoc-mkdb.in:
+ Generate unique ids for properties, style and child properties.
+ * gtk-doc.make:
+ * gtk-doc.notmpl.make:
+ * gtkdoc-scan.in:
+ * gtkdoc-scangobj.in:
+ If we use libtool, run scanner under libtool to use uninstalled
+ libraries.
+
+
+ svn path=/trunk/; revision=599
+
+ ChangeLog | 12 ++++++++++++
+ gtk-doc.make | 4 +++-
+ gtk-doc.notmpl.make | 4 +++-
+ gtkdoc-mkdb.in | 35 +++++++++++++++++++----------------
+ gtkdoc-scan.in | 2 +-
+ gtkdoc-scangobj.in | 2 +-
+ 6 files changed, 39 insertions(+), 20 deletions(-)
+
+commit 1bbe56b06ad436d4adf7018ce586c8e3c944760f
+Author: Rob Bradford <rob@linux.intel.com>
+Date: Mon Sep 8 17:40:56 2008 +0000
+
+ Correct the command for non-tmpl Makefile and highlight it within a
+
+ 2008-09-08 Rob Bradford <rob@linux.intel.com>
+
+ * C/gtk-doc-manual.xml:
+ Correct the command for non-tmpl Makefile and highlight it within a
+ <command> block.
+
+
+ svn path=/trunk/; revision=598
+
+ help/manual/C/gtk-doc-manual.xml | 2 +-
+ help/manual/ChangeLog | 6 ++++++
+ 2 files changed, 7 insertions(+), 1 deletions(-)
+
+commit f05051510600637cbc9963a888a814c41b207485
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Thu Sep 4 15:26:15 2008 +0000
+
+ Fix comparision. ideas.
+
+ * gtkdoc-mkhtml.in:
+ Fix comparision.
+ * TODO:
+ ideas.
+ * configure.in:
+ * gtk-doc-fo.xsl:
+ * gtk-doc.xsl:
+ * gtkdoc-common.pl.in:
+ * gtkdoc-mkdb.in:
+ * help/manual/C/gtk-doc-manual.xml:
+ * tests/bugs/docs/Makefile.am:
+ * tests/bugs/docs/tester-docs.xml:
+ * tests/gobject/docs-tmpl/Makefile.am:
+ * tests/gobject/docs-tmpl/tester-docs.xml:
+ * tests/gobject/docs/Makefile.am:
+ * tests/gobject/docs/tester-docs.xml:
+ * tests/gobject/src/gobject.h:
+ Switch to docbook 4.3 dtd. Fixes #487727.
+ Add --name-space option to gtkdoc-mkdb for nicer indexes. Start with a
+ fo wrapper for pdf output.
+
+
+ svn path=/trunk/; revision=597
+
+ ChangeLog | 21 ++-
+ TODO | 59 +++++++-
+ configure.in | 4 +-
+ gtk-doc-fo.xsl | 35 ++++
+ gtk-doc.xsl | 3 +-
+ gtkdoc-common.pl.in | 12 +-
+ gtkdoc-mkdb.in | 267 ++++++++++++++++++++++++++-----
+ gtkdoc-mkhtml.in | 2 +-
+ help/manual/C/gtk-doc-manual.xml | 7 +-
+ tests/bugs/docs/Makefile.am | 2 +-
+ tests/bugs/docs/tester-docs.xml | 7 +-
+ tests/gobject/docs-tmpl/Makefile.am | 2 +-
+ tests/gobject/docs-tmpl/tester-docs.xml | 7 +-
+ tests/gobject/docs/Makefile.am | 2 +-
+ tests/gobject/docs/tester-docs.xml | 45 +++---
+ tests/gobject/src/gobject.h | 2 +
+ 16 files changed, 395 insertions(+), 82 deletions(-)
+
+commit 9f7b086d4bdc183ef8e1c4db53b1217f33f7df05
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Thu Sep 4 13:33:31 2008 +0000
+
+ Don't install index.sgml twice. Also remove the " || :;" construct that
+
+ * gtk-doc.make:
+ * gtk-doc.notmpl.make:
+ Don't install index.sgml twice. Also remove the " || :;" construct
+ that ssems to be there only to eat the return code.
+
+
+ svn path=/trunk/; revision=596
+
+ ChangeLog | 24 ++++++++++++++++++++++++
+ gtk-doc.make | 2 --
+ gtk-doc.notmpl.make | 2 --
+ 3 files changed, 24 insertions(+), 4 deletions(-)
+
+commit 7792b32e6f85b5e3783b5e99b57b1c85b1b1afeb
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Wed Jul 23 19:58:54 2008 +0000
+
+ Accept "char const *" as well. Fixes #544172.
+
+ * gtkdoc-mkdb.in:
+ * gtkdoc-scan.in:
+ * tests/bugs/docs/tester-sections.txt:
+ * tests/bugs/src/tester.h:
+ Accept "char const *" as well. Fixes #544172.
+
+
+ svn path=/trunk/; revision=595
+
+ ChangeLog | 8 ++++++++
+ gtkdoc-mkdb.in | 5 +++--
+ gtkdoc-scan.in | 10 ++++++----
+ tests/bugs/docs/tester-sections.txt | 1 +
+ tests/bugs/src/tester.h | 10 ++++++++++
+ 5 files changed, 28 insertions(+), 6 deletions(-)
+
+commit a504e9534445f948bdc904e008ddd0d727b3ebb2
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Mon Jul 21 10:47:16 2008 +0000
+
+ Only specify options if gtkdoc-mkhtml can take them. Fixes #543855. Don't
+
+ * gtk-doc.make:
+ * gtk-doc.notmpl.make:
+ Only specify options if gtkdoc-mkhtml can take them. Fixes #543855.
+ * gtkdoc-mkhtml.in:
+ Don't use bash specific features. Be more flexible so that we can add
+ more options.
+
+
+ svn path=/trunk/; revision=594
+
+ ChangeLog | 10 ++++++++++
+ gtk-doc.make | 7 ++++++-
+ gtk-doc.notmpl.make | 7 ++++++-
+ gtkdoc-mkhtml.in | 17 ++++++++++++-----
+ 4 files changed, 34 insertions(+), 7 deletions(-)
+
+commit a0f81285e014bbab135944b9028a9d12e38baa5c
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Wed Jul 9 05:40:18 2008 +0000
+
+ Fix struct/enum level parsing which could go one to high and then the main
+
+ * gtkdoc-scan.in:
+ Fix struct/enum level parsing which could go one to high and then the
+ main struct would never be closed.
+ Fixes #542137
+
+
+ svn path=/trunk/; revision=593
+
+ ChangeLog | 7 +++++++
+ gtkdoc-scan.in | 29 +++++++++++++++--------------
+ 2 files changed, 22 insertions(+), 14 deletions(-)
+
+commit b99876bda2d4a6dd3d8a904b219891055d162ff2
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Sat Jun 28 14:05:45 2008 +0000
+
+ Mention why this change is bad.
+
+ * autogen.sh:
+ Mention why this change is bad.
+
+
+ svn path=/trunk/; revision=592
+
+ ChangeLog | 5 +++++
+ autogen.sh | 1 +
+ 2 files changed, 6 insertions(+), 0 deletions(-)
+
+commit 62e1467751711e6d22ddeb723543f5c343678159
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Sat Jun 28 13:56:15 2008 +0000
+
+ patch by: David Nečas <yeti@physics.muni.cz>
+ * examples/Makefile.am:
+ * gtk-doc.make:
+ * gtk-doc.notmpl.make:
+ * gtkdoc-mkhtml.in:
+ * tests/gtk-doc.make:
+ * tests/gtk-doc.notmpl.make:
+ Add searchpath to gtkdoc.mkhtml. Fixes #460753
+
+
+ svn path=/trunk/; revision=591
+
+ ChangeLog | 12 ++++++++++++
+ examples/Makefile.am | 3 +++
+ gtk-doc.make | 2 +-
+ gtk-doc.notmpl.make | 2 +-
+ gtkdoc-mkhtml.in | 36 ++++++++++++++++++++++++------------
+ tests/gtk-doc.make | 2 +-
+ tests/gtk-doc.notmpl.make | 2 +-
+ 7 files changed, 43 insertions(+), 16 deletions(-)
+
+commit 20d022a55b8d483fd1625cb301a57cf9fa0d7dea
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Sun Jun 22 16:28:34 2008 +0000
+
+ To support timj aclocal setup we are shipping gnome-doc-utils.m4 and
+
+ * autogen.sh:
+ To support timj aclocal setup we are shipping gnome-doc-utils.m4
+ and making sure automake picks it up ;)
+
+
+ svn path=/trunk/; revision=590
+
+ ChangeLog | 6 ++++++
+ autogen.sh | 4 +++-
+ 2 files changed, 9 insertions(+), 1 deletions(-)
+
+commit 3db9893bb22d85023c613c09f627a05c84878a37
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Sun Jun 22 16:14:20 2008 +0000
+
+ We were still removing too many <para>s. Also add andrews trick to escape
+
+ * tools/migratetmpl.pl:
+ We were still removing too many <para>s.
+ Also add andrews trick to escape the c comments.
+ Add a newline to empty param docs.
+
+
+ svn path=/trunk/; revision=589
+
+ ChangeLog | 7 +++++++
+ tools/migratetmpl.pl | 9 +++++++--
+ 2 files changed, 14 insertions(+), 2 deletions(-)
+
+commit eee6ea3a6c454a89f244e93b8d2d4f5c955b1909
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Sun Jun 22 15:03:39 2008 +0000
+
+ Add this to svn, so that bootstrap work where no gnome-doc-utils is
+
+ * m4/gnome-doc-utils.m4:
+ Add this to svn, so that bootstrap work where no gnome-doc-utils is
+ available yet.
+
+
+ svn path=/trunk/; revision=588
+
+ ChangeLog | 6 ++++++
+ m4/gnome-doc-utils.m4 | 1 +
+ 2 files changed, 7 insertions(+), 0 deletions(-)
+
+commit ba74eb8e8f19486f5111afbfeb6523023bfe5d16
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Sat Jun 21 20:46:26 2008 +0000
+
+ Factor out multiline formatting and use for deprecated field too.
+
+ * tools/migratetmpl.pl:
+ Factor out multiline formatting and use for deprecated field too.
+
+
+ svn path=/trunk/; revision=587
+
+ ChangeLog | 5 +++++
+ tools/migratetmpl.pl | 43 +++++++++++++++++++++++++++++--------------
+ 2 files changed, 34 insertions(+), 14 deletions(-)
+
+commit f6f5870635725c1467e3777e5ea13e25ba8b2015
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Sat Jun 21 17:49:45 2008 +0000
+
+ Commenting. Convert character entities back.
+
+ * gtkdoc-mkdb.in:
+ Commenting.
+ * tools/migratetmpl.pl:
+ Convert character entities back.
+
+
+ svn path=/trunk/; revision=586
+
+ ChangeLog | 8 ++++++++
+ gtkdoc-mkdb.in | 2 +-
+ tools/migratetmpl.pl | 17 +++++++++++------
+ 3 files changed, 20 insertions(+), 7 deletions(-)
+
+commit 1544af61f04efa38b60c88099eac834313ad70b5
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Sat Jun 21 15:19:24 2008 +0000
+
+ Start collection info about slowly deprecating crack. Add title.
+
+ * TODO:
+ Start collection info about slowly deprecating crack.
+ * tools/migratetmpl.pl:
+ Add title.
+
+
+ svn path=/trunk/; revision=585
+
+ ChangeLog | 8 ++++++++
+ TODO | 5 +++++
+ tools/migratetmpl.pl | 3 +++
+ 3 files changed, 16 insertions(+), 0 deletions(-)
+
+commit 91e3633d8b035cb15f6d7863fb88fcb8f2e0c1d5
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Sat Jun 21 15:12:41 2008 +0000
+
+ Use $file in section comment not title. Convert only standalone para tags.
+
+ * tools/migratetmpl.pl:
+ Use $file in section comment not title. Convert only standalone para
+ tags.
+
+
+ svn path=/trunk/; revision=584
+
+ ChangeLog | 6 ++++++
+ tools/migratetmpl.pl | 8 +++++---
+ 2 files changed, 11 insertions(+), 3 deletions(-)
+
+commit bb0007404e1423187ff37f4992b8765f651281d2
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Sat Jun 21 09:45:14 2008 +0000
+
+ Convert @Varargs: to @...:
+
+ * tools/migratetmpl.pl:
+ Convert @Varargs: to @...:
+
+
+ svn path=/trunk/; revision=583
+
+ ChangeLog | 5 +++++
+ tools/migratetmpl.pl | 4 ++++
+ 2 files changed, 9 insertions(+), 0 deletions(-)
+
+commit 821493bf482810712f0004e540644802615ac77e
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Sat Jun 21 09:39:53 2008 +0000
+
+ Convert single line c comments to c++ ones. Indent multiline parameter
+
+ * tools/migratetmpl.pl:
+ Convert single line c comments to c++ ones. Indent multiline parameter docs.
+
+
+ svn path=/trunk/; revision=582
+
+ ChangeLog | 5 +++++
+ tools/migratetmpl.pl | 29 ++++++++++++++++++++++++++++-
+ 2 files changed, 33 insertions(+), 1 deletions(-)
+
+commit 219b17bb74c54a6ad031592d3574a2dbb5d060d1
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Mon Jun 16 14:21:57 2008 +0000
+
+ Don't reuse file var, fixes warning context. Also accept *.hh as headers
+
+ * gtkdoc-mktmpl.in:
+ Don't reuse file var, fixes warning context.
+ * gtkdoc-scan.in:
+ Also accept *.hh as headers suffix.
+
+
+ svn path=/trunk/; revision=581
+
+ ChangeLog | 8 ++++++++
+ gtkdoc-mktmpl.in | 11 ++++++-----
+ gtkdoc-scan.in | 4 ++--
+ 3 files changed, 16 insertions(+), 7 deletions(-)
+
+commit bbdec436f2e7bb52de96992fab5d20a7bf76ab33
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Tue Jun 10 18:54:58 2008 +0000
+
+ Include original CFLAGS / LDFLAGS when building the scanner. Allows to
+
+ * gtk-doc.make:
+ * gtk-doc.notmpl.make:
+ * tests/gtk-doc.make:
+ * tests/gtk-doc.notmpl.make:
+ Include original CFLAGS / LDFLAGS when building the scanner. Allows to
+ have own FLAGS defined in addition.
+
+
+ svn path=/trunk/; revision=580
+
+ ChangeLog | 9 +++++++++
+ gtk-doc.make | 2 +-
+ gtk-doc.notmpl.make | 2 +-
+ tests/gtk-doc.make | 2 +-
+ tests/gtk-doc.notmpl.make | 2 +-
+ 5 files changed, 13 insertions(+), 4 deletions(-)
+
+commit 484b872b43487aae47224446436a4cdba6487f91
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Sun Jun 8 06:40:41 2008 +0000
+
+ More planning.
+
+ * TODO:
+ More planning.
+
+
+ svn path=/trunk/; revision=579
+
+ ChangeLog | 5 +++++
+ TODO | 11 +++++++++--
+ 2 files changed, 14 insertions(+), 2 deletions(-)
+
+commit 481b4c4de2e9eeeb4bab79a119f197357abc1c6f
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Sun Jun 8 06:18:47 2008 +0000
+
+ Add more ideas.
+
+ * TODO:
+ Add more ideas.
+ * gtkdoc-scangobj.in:
+ * gtkdoc-scanobj.in:
+ Merge two fwrite calls.
+ * tests/gobject/examples/gobject.c:
+ * tests/gobject/src/gobject.c:
+ Demostrate how to include source fragments from external files.
+ * tests/gobject/src/giface.h:
+ * tests/gobject/src/gobject.h:
+ Documents two entries.
+
+
+ svn path=/trunk/; revision=578
+
+ ChangeLog | 17 +++++++++++++++++
+ TODO | 5 +++++
+ gtkdoc-scangobj.in | 5 ++---
+ gtkdoc-scanobj.in | 3 +--
+ tests/gobject/examples/gobject.c | 17 +++++++++++++++++
+ tests/gobject/src/giface.h | 1 +
+ tests/gobject/src/gobject.c | 5 +++++
+ tests/gobject/src/gobject.h | 1 +
+ 8 files changed, 49 insertions(+), 5 deletions(-)
+
+commit 406eea5d35de3712d4f4a751f8482631b1dd0cfe
+Author: Sebastian Dröge <sdroege@src.gnome.org>
+Date: Sat Jun 7 08:30:37 2008 +0000
+
+ Add "%s" format strings to printf-like functions when printing a string.
+
+ * gtkdoc-scangobj.in:
+ * gtkdoc-scanobj.in:
+ Add "%s" format strings to printf-like functions when printing
+ a string. Fixes #536980.
+
+ svn path=/trunk/; revision=577
+
+ ChangeLog | 7 +++++++
+ gtkdoc-scangobj.in | 6 +++---
+ gtkdoc-scanobj.in | 2 +-
+ 3 files changed, 11 insertions(+), 4 deletions(-)
+
+commit 50827ca63c1bf23ba0da36fd6bacb3bb50d9b46f
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Thu Jun 5 15:07:56 2008 +0000
+
+ Fix quoting. Add first version of a tool to support migration from tmpl
+
+ * gtkdoc-fixxref.in:
+ * gtkdoc-mkdb.in:
+ * gtkdoc-mktmpl.in:
+ Fix quoting.
+ * tools/migratetmpl.pl:
+ Add first version of a tool to support migration from tmpl docs to
+ source code comments.
+
+
+ svn path=/trunk/; revision=576
+
+ ChangeLog | 11 ++
+ gtkdoc-fixxref.in | 2 +-
+ gtkdoc-mkdb.in | 4 +-
+ gtkdoc-mktmpl.in | 19 ++-
+ tools/migratetmpl.pl | 442 ++++++++++++++++++++++++++++++++++++++++++++++++++
+ 5 files changed, 466 insertions(+), 12 deletions(-)
+
+commit ade14d448708d7b2b84891f24a477f7cae3c7f67
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Wed Jun 4 18:33:46 2008 +0000
+
+ Correct invocation for gnome-doc-prepare.
+
+ * autogen.sh:
+ Correct invocation for gnome-doc-prepare.
+
+
+ svn path=/trunk/; revision=575
+
+ ChangeLog | 5 +++++
+ autogen.sh | 10 ++++++----
+ 2 files changed, 11 insertions(+), 4 deletions(-)
+
+commit a5c40c99673e719332aa670797f8aec9c822c88b
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Wed Jun 4 11:45:12 2008 +0000
+
+ Handle file or line being undefined. Warn about repeated symbols in
+
+ * gtkdoc-common.pl.in:
+ Handle file or line being undefined.
+ * gtkdoc-mkdb.in:
+ Warn about repeated symbols in sections. Also give line of previous
+ occurrance. Also give that info for double file entries. Fixes #473342
+ Give correct error locate for one warning. Fixes #532395 partialy
+
+
+ svn path=/trunk/; revision=574
+
+ ChangeLog | 10 +++++
+ gtkdoc-common.pl.in | 3 ++
+ gtkdoc-mkdb.in | 101 ++++++++++++++++++++++++++++-----------------------
+ 3 files changed, 69 insertions(+), 45 deletions(-)
+
+commit 9a116250d3da0884f331461fed17d0553d2b7c08
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Wed Jun 4 10:58:15 2008 +0000
+
+ Don't warn about overriden docs comment if its the same text.
+
+ * gtkdoc-mkdb.in:
+ Don't warn about overriden docs comment if its the same text.
+
+
+ svn path=/trunk/; revision=573
+
+ ChangeLog | 5 +++++
+ gtkdoc-mkdb.in | 31 ++++++++++++++++++-------------
+ 2 files changed, 23 insertions(+), 13 deletions(-)
+
+commit 03578dc2e092955c0a095285f462bf38b61396d0
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Tue Jun 3 13:53:43 2008 +0000
+
+ Spelling. Warn and skip double file entries in section files. Use the new
+
+ * TODO:
+ Spelling.
+ * gtkdoc-mkdb.in:
+ Warn and skip double file entries in section files.
+ * gtkdoc-mktmpl.in:
+ Use the new warning format in this script too.
+ * gtkdoc-rebase.in:
+ Also use optional parameters here.
+
+
+ svn path=/trunk/; revision=572
+
+ ChangeLog | 14 ++++++++++++++
+ TODO | 2 +-
+ gtkdoc-mkdb.in | 27 +++++++++++++++------------
+ gtkdoc-mktmpl.in | 51 +++++++++++++++++++++++++--------------------------
+ gtkdoc-rebase.in | 2 +-
+ 5 files changed, 56 insertions(+), 40 deletions(-)
+
+commit 56c5a1f24817b16ddf09209aca2b0c7cd7ed6dc1
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Mon Jun 2 08:58:08 2008 +0000
+
+ Add some since: tags for the tests too.
+
+ * tests/gobject/docs-tmpl/tester-docs.xml:
+ * tests/gobject/docs-tmpl/tester-sections.txt:
+ * tests/gobject/docs/tester-docs.xml:
+ * tests/gobject/docs/tester-sections.txt:
+ * tests/gobject/src/giface.c:
+ * tests/gobject/src/gobject.c:
+ * tests/gobject/src/gobject.h:
+ Add some since: tags for the tests too.
+
+
+ svn path=/trunk/; revision=571
+
+ ChangeLog | 11 +++++++++++
+ tests/gobject/docs-tmpl/tester-docs.xml | 6 ++++++
+ tests/gobject/docs-tmpl/tester-sections.txt | 1 +
+ tests/gobject/docs/tester-docs.xml | 6 ++++++
+ tests/gobject/docs/tester-sections.txt | 1 +
+ tests/gobject/src/giface.c | 2 ++
+ tests/gobject/src/gobject.c | 16 ++++++++++++++++
+ tests/gobject/src/gobject.h | 1 +
+ 8 files changed, 44 insertions(+), 0 deletions(-)
+
+commit e0a865c24ca7ccda7fca1ff245fe6843b599a2d1
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Mon Jun 2 08:44:00 2008 +0000
+
+ tody up and add some comments regarding HTML_DIR. HTML_DIR is not
+
+ * TODO:
+ tody up and add some comments regarding HTML_DIR.
+ * gtkdoc-fixxref.in:
+ HTML_DIR is not neccesarily set.
+ * gtkdoc-mkhtml.in:
+ Fix uninstalled.
+ * tests/gobject/docs-tmpl/tester-docs.xml:
+ * tests/gobject/docs/tester-docs.xml:
+ Add more chapter id's and experiment with an index chapter.
+
+
+ svn path=/trunk/; revision=570
+
+ ChangeLog | 15 +++++++++++++++
+ TODO | 15 +++++++++++++--
+ gtkdoc-fixxref.in | 2 +-
+ gtkdoc-mkhtml.in | 8 ++++----
+ tests/gobject/docs-tmpl/tester-docs.xml | 16 +++++++++-------
+ tests/gobject/docs/tester-docs.xml | 16 +++++++++-------
+ 6 files changed, 51 insertions(+), 21 deletions(-)
+
+commit 91905ffc87cc5544ff4ba3f83b049c8ee6b1a359
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Mon Jun 2 08:26:13 2008 +0000
+
+ Improve spacing on indicies and glossaries.
+
+ * style.css:
+ Improve spacing on indicies and glossaries.
+
+
+ svn path=/trunk/; revision=569
+
+ ChangeLog | 5 +++++
+ style.css | 8 +++++++-
+ 2 files changed, 12 insertions(+), 1 deletions(-)
+
+commit 8ec52c777473d11504ba5c79605e72edde8ff98c
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Mon Jun 2 06:28:30 2008 +0000
+
+ Add some index lists to the tests. Add a deprecated function.
+
+ * TODO:
+ * tests/bugs/docs/tester-docs.xml:
+ * tests/gobject/docs/tester-docs.xml:
+ * tests/gobject/docs/tester-sections.txt:
+ * tests/gobject/docs-tmpl/tester-docs.xml:
+ * tests/gobject/docs-tmpl/tester-sections.txt:
+ * tests/gobject/src/gobject.c:
+ * tests/gobject/src/gobject.h:
+ * tests/gtk-doc.make:
+ * tests/gtk-doc.notmpl.make:
+ Add some index lists to the tests. Add a deprecated function.
+
+
+ svn path=/trunk/; revision=568
+
+ ChangeLog | 14 ++++++++++++++
+ TODO | 4 ++++
+ tests/bugs/docs/tester-docs.xml | 13 ++++++++++++-
+ tests/gobject/docs-tmpl/tester-docs.xml | 7 +++++++
+ tests/gobject/docs-tmpl/tester-sections.txt | 3 ++-
+ tests/gobject/docs/tester-docs.xml | 7 +++++++
+ tests/gobject/docs/tester-sections.txt | 3 ++-
+ tests/gobject/src/gobject.c | 13 +++++++++++++
+ tests/gobject/src/gobject.h | 1 +
+ tests/gtk-doc.make | 1 -
+ tests/gtk-doc.notmpl.make | 2 +-
+ 11 files changed, 63 insertions(+), 5 deletions(-)
+
+commit 954a3eaf4846bd2433bd4f94b3278e9295130ee1
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Mon Jun 2 06:24:23 2008 +0000
+
+ patch by: Felix Riemann <friemann@svn.gnome.org>
+ * gtk-doc.xsl:
+ * style.css:
+ Produce valid html. Fixes #534627.
+
+
+ svn path=/trunk/; revision=567
+
+ ChangeLog | 8 +++
+ gtk-doc.xsl | 192 +++++++++++++++++++++++++++++------------------------------
+ style.css | 1 +
+ 3 files changed, 104 insertions(+), 97 deletions(-)
+
+commit 450ef85eabb5b1bc1f7aff83a33161da0e366de1
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Fri May 23 13:19:27 2008 +0000
+
+ Build same docs once again with old tmpl approach.
+
+ * configure.in:
+ * tests/gobject/Makefile.am:
+ * tests/gobject/docs-tmpl/Makefile.am:
+ * tests/gobject/docs-tmpl/tester-docs.xml:
+ * tests/gobject/docs-tmpl/tester-sections.txt:
+ * tests/gobject/docs-tmpl/tester.types:
+ * tests/gtk-doc.make:
+ * tests/gtk-doc.notmpl.make:
+ Build same docs once again with old tmpl approach.
+
+
+ svn path=/trunk/; revision=566
+
+ ChangeLog | 12 ++
+ configure.in | 1 +
+ tests/gobject/Makefile.am | 2 +-
+ tests/gobject/docs-tmpl/Makefile.am | 76 ++++++++++++
+ tests/gobject/docs-tmpl/tester-docs.xml | 49 ++++++++
+ tests/gobject/docs-tmpl/tester-sections.txt | 34 ++++++
+ tests/gobject/docs-tmpl/tester.types | 4 +
+ tests/gtk-doc.make | 169 +++++++++++++++++++++++++++
+ tests/gtk-doc.notmpl.make | 74 +++++++-----
+ 9 files changed, 390 insertions(+), 31 deletions(-)
+
+commit 87249354980f711aeb11f2832fc03a8ce48a7b8a
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Fri May 23 11:53:47 2008 +0000
+
+ Sync names.
+
+ * tests/bugs/docs/Makefile.am:
+ * tests/gobject/docs/Makefile.am:
+ * tests/gtk-doc.make:
+ * tests/gtk-doc.notmpl.make:
+ Sync names.
+
+
+ svn path=/trunk/; revision=565
+
+ ChangeLog | 8 +++
+ tests/bugs/docs/Makefile.am | 2 +-
+ tests/gobject/docs/Makefile.am | 2 +-
+ tests/gtk-doc.make | 135 ----------------------------------------
+ tests/gtk-doc.notmpl.make | 135 ++++++++++++++++++++++++++++++++++++++++
+ 5 files changed, 145 insertions(+), 137 deletions(-)
+
+commit 1ffa5f6d7077ef199bdcb03a44c0ac7b05620dcd
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Thu May 8 15:25:14 2008 +0000
+
+ Fix a long standing bug that killed spaces in tmpl files.
+
+ * gtkdoc-mkdb.in:
+ * gtkdoc-mktmpl.in:
+ Fix a long standing bug that killed spaces in tmpl files.
+
+
+ svn path=/trunk/; revision=564
+
+ ChangeLog | 6 ++++++
+ gtkdoc-mkdb.in | 15 +++++++++------
+ gtkdoc-mktmpl.in | 7 +++++--
+ 3 files changed, 20 insertions(+), 8 deletions(-)
+
+commit 393e27f1132f5e6d71a9cb2fb7e3e85b96a1f5ae
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Mon May 5 12:18:53 2008 +0000
+
+ Fix regexps changes from previous commit. When using /e the replacement
+
+ * gtkdoc-mkdb.in:
+ Fix regexps changes from previous commit. When using /e the
+ replacement part has to be a perl snippet.
+
+
+ svn path=/trunk/; revision=563
+
+ ChangeLog | 6 ++++++
+ gtkdoc-mkdb.in | 21 +++++++++++----------
+ 2 files changed, 17 insertions(+), 10 deletions(-)
+
+commit 9fcd533935b63587e75680ac57c1f126328d35a2
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Mon May 5 10:57:00 2008 +0000
+
+ Don't expand '#' in ulink tags. Also allow to escape "#%@" with '\'. Add
+
+ * gtkdoc-mkdb.in:
+ * tests/bugs/docs/tester-sections.txt:
+ * tests/bugs/src/tester.h:
+ Don't expand '#' in ulink tags. Also allow to escape "#%@" with '\'.
+ Add to testsuite. Fixes #530758
+
+
+ svn path=/trunk/; revision=562
+
+ ChangeLog | 10 +++++++++-
+ gtkdoc-mkdb.in | 35 +++++++++++++++++++++++++----------
+ tests/bugs/docs/tester-sections.txt | 3 +++
+ tests/bugs/src/tester.h | 9 +++++++++
+ 4 files changed, 46 insertions(+), 11 deletions(-)
+
+commit 1be8cff799603265c1390c0347e6a98ece0d53cb
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Mon May 5 10:51:35 2008 +0000
+
+ It is GObject not GtkObject anymore
+
+ * gtkdoc-mktmpl.in:
+ It is GObject not GtkObject anymore
+
+
+ svn path=/trunk/; revision=561
+
+ ChangeLog | 5 +++++
+ gtkdoc-mktmpl.in | 14 +++++++-------
+ 2 files changed, 12 insertions(+), 7 deletions(-)
+
+commit f4bdc0ac167f8ae6fb2d6e8afd58a16c5e0dead8
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Mon May 5 10:41:47 2008 +0000
+
+ Make note about expanding urls. Document the use of |[ |] as a shortcut
+
+ * TODO:
+ Make note about expanding urls.
+ * help/manual/C/gtk-doc-manual.xml:
+ Document the use of |[ |] as a shortcut for program listing.
+ * tests/gobject/src/giface.h:
+ * tests/gobject/src/gobject.c:
+ Fix one undocumented symbol and add an exampl of the programlisting
+ shortcut.
+
+
+ svn path=/trunk/; revision=560
+
+ ChangeLog | 22 ++++++++++++++++++++++
+ TODO | 5 ++++-
+ help/manual/C/gtk-doc-manual.xml | 11 ++++++++++-
+ tests/gobject/src/giface.h | 7 ++++++-
+ tests/gobject/src/gobject.c | 9 ++++++++-
+ 5 files changed, 50 insertions(+), 4 deletions(-)
+
+commit c3f87077c9cad26d942d2f720aad96d74d795a67
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Tue Apr 22 15:36:40 2008 +0000
+
+ We need to update the webpage.
+
+ * HACKING:
+ We need to update the webpage.
+ * TODO:
+ * configure.in:
+ Planning.
+ * gtkdoc-mkdb.in:
+ Hopefully now unbreak the docbuild, if one has template but not uses
+ them.
+
+
+ svn path=/trunk/; revision=559
+
+ ChangeLog | 13 +++++++++++++
+ HACKING | 4 +++-
+ TODO | 6 +++++-
+ configure.in | 2 +-
+ gtkdoc-mkdb.in | 23 ++++++++++-------------
+ 5 files changed, 32 insertions(+), 16 deletions(-)
+
+commit 5049ec8a02c7fb6c33f79bf2688c73fec63efb45
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Thu Apr 17 13:51:58 2008 +0000
+
+ Add one more warning. Also trac location of section docs. Merge source
+
+ * gtkdoc-mkdb.in:
+ Add one more warning. Also trac location of section docs. Merge
+ source symbols once and then on demand (if we read a template).
+
+
+ svn path=/trunk/; revision=558
+
+ ChangeLog | 6 ++++
+ gtkdoc-mkdb.in | 83 ++++++++++++++++++++++++++++++++++++-------------------
+ 2 files changed, 60 insertions(+), 29 deletions(-)
+
+commit 134bb01cb10c87d7655e9841dd4b8a1f2909cec5
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Fri Apr 11 12:25:22 2008 +0000
+
+ Idea about the tracing. Not that practical as it is.
+
+ * TODO:
+ * configure.in:
+ Idea about the tracing. Not that practical as it is.
+ * gtkdoc-mkdb.in:
+ * gtkdoc-mktmpl.in:
+ Unify file-error messages. Improve warning detail. Fix undocumented
+ status for template less runs.
+
+
+ svn path=/trunk/; revision=557
+
+ ChangeLog | 11 +++++
+ TODO | 2 +
+ configure.in | 15 +++++++
+ gtkdoc-mkdb.in | 116 ++++++++++++++++++++++++++++++++++++++++-------------
+ gtkdoc-mktmpl.in | 3 +-
+ 5 files changed, 117 insertions(+), 30 deletions(-)
+
+commit b32c1139814e21b30f32d39fd6f1edffbacceea5
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Thu Apr 10 14:08:03 2008 +0000
+
+ Ideas. Add common method for prining (gcc-style) warnings. Use new method.
+
+ * TODO:
+ Ideas.
+ * gtkdoc-common.pl.in:
+ Add common method for prining (gcc-style) warnings.
+ * gtkdoc-mkdb.in:
+ Use new method. Harmonize the warnings a bit. Remember locations
+ symbols are taken from template files for use in warnings.
+
+
+ svn path=/trunk/; revision=556
+
+ ChangeLog | 12 ++
+ TODO | 5 +
+ gtkdoc-common.pl.in | 18 +++-
+ gtkdoc-mkdb.in | 279 ++++++++++++++++++++++++---------------------------
+ 4 files changed, 164 insertions(+), 150 deletions(-)
+
+commit d860643947c3d8b371143ec69ddf97a77e023b51
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Wed Apr 9 12:12:11 2008 +0000
+
+ Some releasing info. Print file/line number in warning. Some docs for what
+
+ * HACKING:
+ Some releasing info.
+ * gtkdoc-mkdb.in:
+ Print file/line number in warning.
+ * help/manual/C/gtk-doc-manual.xml:
+ Some docs for what the <module>-overrides.txt file is for.
+
+
+ svn path=/trunk/; revision=555
+
+ ChangeLog | 11 +++++++++++
+ HACKING | 7 +++++++
+ gtkdoc-mkdb.in | 2 +-
+ help/manual/C/gtk-doc-manual.xml | 14 +++++++++++---
+ 4 files changed, 30 insertions(+), 4 deletions(-)
+
+commit cfddc8ca3968b8c4a07401123b1dcd976ea95d69
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Sun Mar 23 19:05:49 2008 +0000
+
+ Tell automake to not warn us about portabillity issues. Its too late for
+
+ * autogen.sh:
+ Tell automake to not warn us about portabillity issues. Its too late
+ for that.
+ * ChangeLog:
+ Surgery for the bugnumber.
+
+
+ svn path=/trunk/; revision=554
+
+ ChangeLog | 11 ++++++++++-
+ autogen.sh | 2 +-
+ 2 files changed, 11 insertions(+), 2 deletions(-)
+
+commit 40a0b398de2665282edf8242f76a9bc86da726bb
+Author: Marc-Andre Lureau <marcandre.lureau@gmail.com>
+Date: Sat Mar 22 16:00:15 2008 +0000
+
+ GNOME doc-utils migration. (Closes #335239)
+
+ 2008-03-21 Marc-Andre Lureau <marcandre.lureau@gmail.com>
+
+ * .svnignore, Makefile.am, autogen.sh, configure.in,
+ help/manual/.svnignore, help/manual/C/ChangeLog,
+ help/manual/C/Makefile.am, help/manual/C/gtk-doc-manual-C.omf.in,
+ help/manual/C/gtk-doc-manual.xml, help/manual/ChangeLog,
+ help/manual/Makefile.am, help/manual/gtk-doc-manual.omf.in,
+ m4/.svnignore, omf.make, xmldocs.make:
+ GNOME doc-utils migration. (Closes #335239)
+
+ svn path=/trunk/; revision=553
+
+ .svnignore | 26 ++++++++
+ ChangeLog | 10 +++
+ Makefile.am | 7 ++-
+ autogen.sh | 10 +++
+ configure.in | 8 +--
+ help/manual/.svnignore | 4 +
+ help/manual/C/ChangeLog | 102 -------------------------------
+ help/manual/C/Makefile.am | 17 -----
+ help/manual/C/gtk-doc-manual-C.omf.in | 34 -----------
+ help/manual/C/gtk-doc-manual.xml | 13 ++++-
+ help/manual/ChangeLog | 106 +++++++++++++++++++++++++++++++++
+ help/manual/Makefile.am | 10 ++-
+ help/manual/gtk-doc-manual.omf.in | 15 +++++
+ m4/.svnignore | 1 +
+ omf.make | 61 -------------------
+ xmldocs.make | 101 -------------------------------
+ 16 files changed, 199 insertions(+), 326 deletions(-)
+
+commit f94159cdaeb78fb385b52c0b58576f250ea1c191
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Sat Mar 22 09:09:05 2008 +0000
+
+ Back to development. === Release 1.10 ===
+
+ * HACKING:
+ * configure.in:
+ * help/manual/C/gtk-doc-manual.xml:
+ Back to development.
+ === Release 1.10 ===
+
+
+ svn path=/trunk/; revision=552
+
+ ChangeLog | 9 +++++++++
+ HACKING | 3 ++-
+ configure.in | 2 +-
+ help/manual/C/gtk-doc-manual.xml | 4 ++--
+ 4 files changed, 14 insertions(+), 4 deletions(-)
+
+commit 6a9134e2390284a32a191ebb61446a8f3f1c4c1f
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Wed Mar 19 20:31:17 2008 +0000
+
+ Prepare for release. Add fix for footnote positions.
+
+ * NEWS:
+ * HACKING:
+ Prepare for release.
+ * style.css:
+ Add fix for footnote positions.
+
+
+ svn path=/trunk/; revision=550
+
+ ChangeLog | 9 +++++++++
+ HACKING | 29 +++++++++++++++++++++++++++++
+ NEWS | 40 ++++++++++++++++++++++++++++++++++++++++
+ style.css | 5 +++++
+ 4 files changed, 83 insertions(+), 0 deletions(-)
+
+commit 0a4ece27fc3f6969e2efd2e61335303351233254
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Wed Feb 27 07:59:48 2008 +0000
+
+ patch by: Carlos Garnacho <carlos@imendio.com>
+ * tools/gtk-doc.el:
+ Update emacs mode to work with emacs22. Fixes #513318.
+
+
+ svn path=/trunk/; revision=549
+
+ ChangeLog | 16 +++++++---------
+ tools/gtk-doc.el | 21 ++++++++++++++++-----
+ 2 files changed, 23 insertions(+), 14 deletions(-)
+
+commit 4d654935f5d445de126ccf9a3ed29e9c2580d881
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Fri Feb 1 11:35:10 2008 +0000
+
+ Improve tmpl parsing and add some more logging. Fixes #512154.
+
+ * gtkdoc-common.pl.in:
+ * gtkdoc-mkdb.in:
+ * gtkdoc-mktmpl.in:
+ * tests/bugs/src/tester.h:
+ Improve tmpl parsing and add some more logging. Fixes #512154.
+
+
+ svn path=/trunk/; revision=548
+
+ ChangeLog | 8 ++++++++
+ gtkdoc-common.pl.in | 7 +++----
+ gtkdoc-mkdb.in | 1 +
+ gtkdoc-mktmpl.in | 3 +--
+ tests/bugs/src/tester.h | 2 +-
+ 5 files changed, 14 insertions(+), 7 deletions(-)
+
+commit 5066944436335e2b9941b623dc9b72fc81e55abc
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Thu Jan 31 07:10:06 2008 +0000
+
+ Add testcase for #512154.
+
+ * tests/bugs/docs/tester-sections.txt:
+ * tests/bugs/src/tester.h:
+ Add testcase for #512154.
+
+
+ svn path=/trunk/; revision=547
+
+ ChangeLog | 15 +++++++++++++++
+ tests/bugs/docs/tester-sections.txt | 1 +
+ tests/bugs/src/tester.h | 10 ++++++++++
+ 3 files changed, 26 insertions(+), 0 deletions(-)
+
+commit d6be59da9dbea0ceeea973876e089b1a11b0ca82
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Mon Jan 28 16:07:37 2008 +0000
+
+ Condense all the multiple newlines in the generated xml. Make sure the
+
+ * gtkdoc-mkdb.in:
+ Condense all the multiple newlines in the generated xml.
+ * tests/gtk-doc.make:
+ Make sure the testsuite call the uninstalled scripts.
+
+
+ svn path=/trunk/; revision=546
+
+ ChangeLog | 8 ++++++++
+ gtkdoc-mkdb.in | 44 ++++++++++++++++++++++++++++++++++----------
+ tests/gtk-doc.make | 16 ++++++++++------
+ 3 files changed, 52 insertions(+), 16 deletions(-)
+
+commit 8659364f4d7cf0ce9d0b8be8d840b9adb43fc033
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Thu Jan 24 13:34:22 2008 +0000
+
+ Unbreak fixxref. The index.sgml file should not have leading whitespace.
+
+ * gtk-doc.xsl:
+ Unbreak fixxref. The index.sgml file should not have leading
+ whitespace. These were caused by indenting the xsl, which is dangerous
+ in case of <xsl:text>.
+ * gtkdoc-fixxref.in:
+ Debug logging.
+
+
+ svn path=/trunk/; revision=545
+
+ ChangeLog | 10 ++++++++++
+ gtk-doc.xsl | 9 ++++-----
+ gtkdoc-fixxref.in | 11 ++++++-----
+ 3 files changed, 20 insertions(+), 10 deletions(-)
+
+commit a759418c5ea83137d94f4e15dc0efdf08b46cb2a
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Mon Jan 21 13:40:09 2008 +0000
+
+ Don't warn when parsing enum struct members.
+
+ * gtkdoc-common.pl.in:
+ Don't warn when parsing enum struct members.
+
+
+ svn path=/trunk/; revision=544
+
+ ChangeLog | 5 +++++
+ gtkdoc-common.pl.in | 4 ++--
+ 2 files changed, 7 insertions(+), 2 deletions(-)
+
+commit bac6dd1882f8f2cff90c44247bcb8c5518e4e70c
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Mon Jan 21 08:55:55 2008 +0000
+
+ Give file and line number when complaining about duplicate definitions.
+
+ * gtkdoc-mkdb.in:
+ * gtkdoc-mktmpl.in:
+ Give file and line number when complaining about duplicate
+ definitions. Seems to not have been applied with older commit.
+ * gtkdoc-scan.in:
+ * tests/gobject/src/gobject.h:
+ Handle typedef enums.
+
+
+ svn path=/trunk/; revision=543
+
+ ChangeLog | 11 +++++++++++
+ gtkdoc-mkdb.in | 4 ++--
+ gtkdoc-mktmpl.in | 4 ++--
+ gtkdoc-scan.in | 12 ++++--------
+ tests/gobject/src/gobject.h | 12 ++++++++++++
+ 5 files changed, 31 insertions(+), 12 deletions(-)
+
+commit e4ca53bdc7accb134bd3a854b0e935e178b2e0a3
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Thu Jan 17 13:16:45 2008 +0000
+
+ Don't fail in dist when no .types file is present. Fixes #509539.
+
+ * gtk-doc.make:
+ * gtk-doc.notmpl.make:
+ Don't fail in dist when no .types file is present. Fixes #509539.
+
+
+ svn path=/trunk/; revision=542
+
+ ChangeLog | 13 +++++++++++++
+ gtk-doc.make | 4 ++--
+ gtk-doc.notmpl.make | 4 ++--
+ 3 files changed, 17 insertions(+), 4 deletions(-)
+
+commit 640dfafc559c0c372548ea66ac99a0c6f5d9a3f1
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Mon Jan 14 19:22:33 2008 +0000
+
+ patch by: Joe Marcus Clarke <marcus@freebsd.org>
+ * gtk-doc.make:
+ * gtk-doc.notmpl.make:
+ Do not abort the build, if gtk-doc is not installed. Fixes #508897
+
+
+ svn path=/trunk/; revision=541
+
+ ChangeLog | 8 ++++++++
+ gtk-doc.make | 2 +-
+ gtk-doc.notmpl.make | 2 +-
+ 3 files changed, 10 insertions(+), 2 deletions(-)
+
+commit 08ad65980a4f339cf780a9f810c692aa5914f843
+Author: Mathias Hasselmann <hasselmm@src.gnome.org>
+Date: Thu Dec 20 12:52:02 2007 +0000
+
+ Lower Python dependency to 2.3 (#503054). Just warn when Python wasn't
+
+ * configure.in:
+ Lower Python dependency to 2.3 (#503054). Just warn when Python
+ wasn't found. Print a configuration summary before leaving the
+ configure script.
+ * Makefile.am:
+ Do not install gtkdoc-depscan when Python wasn't found.
+
+ svn path=/trunk/; revision=540
+
+ ChangeLog | 9 +++++++++
+ Makefile.am | 6 +++++-
+ configure.in | 33 ++++++++++++++++++++++++++-------
+ 3 files changed, 40 insertions(+), 8 deletions(-)
+
+commit 85d4b49fdc60766a1eb0002161ecece4d6ba4fff
+Author: Mathias Hasselmann <hasselmm@src.gnome.org>
+Date: Thu Dec 20 12:14:16 2007 +0000
+
+ Use old and/or pattern instead of the new ternary operator. This drops the
+
+ * gtkdoc-depscan.in:
+ Use old and/or pattern instead of the new ternary operator.
+ This drops the Python 2.5 dependency for that script.
+ Original patch by Frederic Peters. (#503054)
+
+ svn path=/trunk/; revision=539
+
+ ChangeLog | 7 +++++++
+ gtkdoc-depscan.in | 8 ++++----
+ 2 files changed, 11 insertions(+), 4 deletions(-)
+
+commit 613bdb3e440f0ca32864102bfd755d580a49c31b
+Author: Mathias Hasselmann <hasselmm@src.gnome.org>
+Date: Mon Dec 17 21:23:18 2007 +0000
+
+ Use AM_PATH_PYTHON instread of AC_PATH_PROG to find Python. (#503710)
+
+ * configure.in:
+ Use AM_PATH_PYTHON instread of AC_PATH_PROG to find Python.
+ (#503710)
+
+ svn path=/trunk/; revision=538
+
+ ChangeLog | 6 ++++++
+ configure.in | 5 +----
+ 2 files changed, 7 insertions(+), 4 deletions(-)
+
+commit 2e3c48222e3571d767ad571345582e0fca0e8d62
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Mon Dec 17 13:45:23 2007 +0000
+
+ Render accronyms from docbook and glossary in html.
+
+ * gtk-doc.xsl:
+ Render accronyms from docbook and glossary in html.
+
+
+ svn path=/trunk/; revision=537
+
+ ChangeLog | 5 ++++
+ gtk-doc.xsl | 64 +++++++++++++++++++++++++++++++++++++++++++++++++---------
+ 2 files changed, 59 insertions(+), 10 deletions(-)
+
+commit 90a8b82321109e9e39c756101d14d4bc8ac533ef
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Mon Dec 17 12:26:00 2007 +0000
+
+ Add the xml instead of the sgml docs.
+
+ * tests/bugs/docs/tester-docs.sgml:
+ * tests/bugs/docs/tester-docs.xml:
+ * tests/gobject/docs/tester-docs.sgml:
+ * tests/gobject/docs/tester-docs.xml:
+ Add the xml instead of the sgml docs.
+
+
+ svn path=/trunk/; revision=536
+
+ ChangeLog | 8 +++++
+ tests/bugs/docs/tester-docs.sgml | 18 -------------
+ tests/bugs/docs/tester-docs.xml | 18 +++++++++++++
+ tests/gobject/docs/tester-docs.sgml | 18 -------------
+ tests/gobject/docs/tester-docs.xml | 49 +++++++++++++++++++++++++++++++++++
+ 5 files changed, 75 insertions(+), 36 deletions(-)
+
+commit 702457e229f0024c0282439e140b6746adc94ec4
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Wed Dec 12 16:16:02 2007 +0000
+
+ Revert last change and reopen #503119. Needs a different fix.
+
+ * gtk-doc.make:
+ * gtk-doc.notmpl.make:
+ Revert last change and reopen #503119. Needs a different fix.
+
+
+ svn path=/trunk/; revision=535
+
+ ChangeLog | 8 +++++++-
+ gtk-doc.make | 2 +-
+ gtk-doc.notmpl.make | 2 +-
+ 3 files changed, 9 insertions(+), 3 deletions(-)
+
+commit 0aecafb4f9b248f994c85606b27b3d8a32264a74
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Wed Dec 12 13:49:07 2007 +0000
+
+ Use content_files as a dependency the sgml-build.stamp.Fixes #503119.
+
+ * gtk-doc.make:
+ * gtk-doc.notmpl.make:
+ Use content_files as a dependency the sgml-build.stamp.Fixes #503119.
+
+
+ svn path=/trunk/; revision=534
+
+ ChangeLog | 6 ++++++
+ gtk-doc.make | 2 +-
+ gtk-doc.notmpl.make | 2 +-
+ 3 files changed, 8 insertions(+), 2 deletions(-)
+
+commit 10a536d9258865d3f613805eab5009065126f19b
+Author: Mathias Hasselmann <hasselmm@src.gnome.org>
+Date: Tue Dec 11 21:31:08 2007 +0000
+
+ Use colon as name-version-separator in book names.
+
+ * gtkdoc-depscan.in: Use colon as name-version-separator in book names.
+
+ svn path=/trunk/; revision=533
+
+ ChangeLog | 5 +++++
+ gtkdoc-depscan.in | 2 +-
+ 2 files changed, 6 insertions(+), 1 deletions(-)
+
+commit 2aec6d5fb157a0e827f2f1fb074978fd1966d928
+Author: Mathias Hasselmann <hasselmm@src.gnome.org>
+Date: Tue Dec 11 21:31:00 2007 +0000
+
+ Also scan devhelp folders.
+
+ * gtkdoc-depscan.in: Also scan devhelp folders.
+
+ svn path=/trunk/; revision=532
+
+ ChangeLog | 5 +++++
+ gtkdoc-depscan.in | 14 +++++++++-----
+ 2 files changed, 14 insertions(+), 5 deletions(-)
+
+commit 1458dd2b397ee921a2ccab04b7f399d520a7da4a
+Author: Mathias Hasselmann <hasselmm@src.gnome.org>
+Date: Tue Dec 11 21:23:16 2007 +0000
+
+ Print reasonable error message when passing non-existant files on command
+
+ * gtkdoc-depscan.in:
+ Print reasonable error message when passing
+ non-existant files on command line.
+
+ svn path=/trunk/; revision=531
+
+ ChangeLog | 6 ++++++
+ gtkdoc-depscan.in | 28 ++++++++++++++++++----------
+ 2 files changed, 24 insertions(+), 10 deletions(-)
+
+commit f43a603da15344e9cdd77f9805bbb0ece45180ab
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Tue Dec 11 15:25:28 2007 +0000
+
+ patch by: Kouhei Sutou <kou@cozmixng.org>
+ * gtk-doc.xsl:
+ Consitently use UTF-8 instead of US-ASCII for output encoding.
+ Fixes #497367
+
+
+ svn path=/trunk/; revision=530
+
+ ChangeLog | 8 ++++++++
+ gtk-doc.xsl | 11 +++++------
+ 2 files changed, 13 insertions(+), 6 deletions(-)
+
+commit a84afe5dccdfa3d6df9cab99272ad7efe0f8c6e9
+Author: Mathias Hasselmann <hasselmm@src.gnome.org>
+Date: Mon Dec 10 12:46:41 2007 +0000
+
+ Add gtkdoc-depscan, which resolves source code dependencies by scanning
+
+ * configure.in:
+ * gtkdoc-depscan.in:
+ * Makefile.am:
+ Add gtkdoc-depscan, which resolves source code dependencies
+ by scanning devhelp2 books.
+
+ svn path=/trunk/; revision=529
+
+ ChangeLog | 8 ++
+ Makefile.am | 1 +
+ configure.in | 9 ++
+ gtkdoc-depscan.in | 359 +++++++++++++++++++++++++++++++++++++++++++++++++++++
+ 4 files changed, 377 insertions(+), 0 deletions(-)
+
+commit 1279cfba008b6912c156c15d95fc97fd08b8ad37
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Mon Dec 10 07:07:11 2007 +0000
+
+ Update schema. Remove left-over 'fi'.
+
+ * devhelp2.xsd:
+ Update schema.
+ * gtk-doc.notmpl.make:
+ Remove left-over 'fi'.
+
+
+ svn path=/trunk/; revision=528
+
+ ChangeLog | 8 ++++++++
+ devhelp2.xsd | 15 ++++++++++++---
+ gtk-doc.notmpl.make | 1 -
+ 3 files changed, 20 insertions(+), 4 deletions(-)
+
+commit 2c3f6c57071ff5d239e83d1ae1e91958f6f4582b
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Wed Dec 5 14:53:11 2007 +0000
+
+ Better fix for #501066.
+
+ * gtk-doc.make:
+ * gtk-doc.notmpl.make:
+ Better fix for #501066.
+
+
+ svn path=/trunk/; revision=527
+
+ ChangeLog | 6 ++++++
+ gtk-doc.make | 5 ++---
+ gtk-doc.notmpl.make | 2 +-
+ 3 files changed, 9 insertions(+), 4 deletions(-)
+
+commit 0d21ba7178eb5351fa5418ef5e8ef2da4104107c
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Wed Dec 5 13:08:25 2007 +0000
+
+ Add first version of the schema. Unbreak the devhelp2 file generation. Add
+
+ * devhelp2.xsd:
+ Add first version of the schema.
+ * devhelp2.xsl:
+ Unbreak the devhelp2 file generation.
+ * tests/gtkdoctest.sh:
+ Add comment about doing schmea checks once they work.
+
+
+ svn path=/trunk/; revision=526
+
+ ChangeLog | 11 ++++++++
+ devhelp2.xsd | 68 +++++++++++++++++++++++++++++++++++++++++++++++++++
+ devhelp2.xsl | 4 +-
+ tests/gtkdoctest.sh | 2 +
+ 4 files changed, 83 insertions(+), 2 deletions(-)
+
+commit 1fdf62d0358c26b81b58f536d1f080e8d11557e4
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Tue Dec 4 14:46:58 2007 +0000
+
+ Apply build flags cleanups from #498521. Spotted by dmacks@netspace.org.
+
+ * gtk-doc.make:
+ * gtk-doc.notmpl.make:
+ Apply build flags cleanups from #498521. Spotted by
+ dmacks@netspace.org.
+
+
+ svn path=/trunk/; revision=525
+
+ ChangeLog | 7 +++++++
+ gtk-doc.make | 8 ++++----
+ gtk-doc.notmpl.make | 8 ++++----
+ 3 files changed, 15 insertions(+), 8 deletions(-)
+
+commit ae5a9f1b4f9dad2d75a84261488639f359205802
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Tue Dec 4 14:28:23 2007 +0000
+
+ Uhm, unbreak the links in the test docs.
+
+ * tests/gobject/src/giface.c:
+ * tests/gobject/src/gobject.c:
+ Uhm, unbreak the links in the test docs.
+
+
+ svn path=/trunk/; revision=524
+
+ ChangeLog | 6 ++++++
+ tests/gobject/src/giface.c | 4 ++--
+ tests/gobject/src/gobject.c | 4 ++--
+ 3 files changed, 10 insertions(+), 4 deletions(-)
+
+commit 390c597dc6fa4275e82b0a99cc02c65d71437d1a
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Tue Dec 4 14:19:02 2007 +0000
+
+ Little test cleanup. The bug was already fixed.
+
+ * tests/gobject/src/giface.c:
+ * tests/gobject/src/gobject.c:
+ Little test cleanup. The bug was already fixed.
+
+
+ svn path=/trunk/; revision=523
+
+ ChangeLog | 6 ++++++
+ tests/gobject/src/giface.c | 16 +++++++---------
+ tests/gobject/src/gobject.c | 8 ++++----
+ 3 files changed, 17 insertions(+), 13 deletions(-)
+
+commit 66a4a1e3fe4c9774a3e49e78fc76f1894ad78d7f
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Tue Dec 4 11:45:17 2007 +0000
+
+ Refactor tests for #489279.
+
+ * tests/gobject/docs/tester-sections.txt:
+ * tests/gobject/docs/tester.types:
+ * tests/gobject/src/Makefile.am:
+ * tests/gobject/src/giface.c:
+ * tests/gobject/src/giface.h:
+ * tests/gobject/src/gobject.c:
+ * tests/gobject/src/gobject.h:
+ * tests/gobject/src/tester.c:
+ * tests/gobject/src/tester.h:
+ Refactor tests for #489279.
+
+
+ svn path=/trunk/; revision=522
+
+ ChangeLog | 13 ++++
+ tests/gobject/docs/tester-sections.txt | 44 ++++++++++-----
+ tests/gobject/docs/tester.types | 4 +-
+ tests/gobject/src/Makefile.am | 2 +-
+ tests/gobject/src/giface.c | 84 ++++++++++++++++++++++++++
+ tests/gobject/src/giface.h | 58 ++++++++++++++++++
+ tests/gobject/src/gobject.c | 100 ++++++++++++++++++++++++++++++++
+ tests/gobject/src/gobject.h | 72 +++++++++++++++++++++++
+ tests/gobject/src/tester.c | 100 --------------------------------
+ tests/gobject/src/tester.h | 68 +---------------------
+ 10 files changed, 362 insertions(+), 183 deletions(-)
+
+commit 44109b4dd9ff97a0c163d4e3bd83a750d1258b8d
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Tue Dec 4 07:47:00 2007 +0000
+
+ Add testcase for #501038. Improve struct parsing to correctly finish if
+
+ * gtkdoc-common.pl.in:
+ * tests/bugs/docs/tester-sections.txt:
+ * tests/bugs/src/tester.h:
+ Add testcase for #501038. Improve struct parsing to correctly finish
+ if the last line in struct declaration was a preprocessor statement.
+ Fixes #501038.
+
+
+ svn path=/trunk/; revision=521
+
+ ChangeLog | 9 +++++++++
+ gtkdoc-common.pl.in | 8 +++++---
+ tests/bugs/docs/tester-sections.txt | 1 +
+ tests/bugs/src/tester.h | 21 +++++++++++++++++++++
+ 4 files changed, 36 insertions(+), 3 deletions(-)
+
+commit 0e682b963fcdfa3797dee67098b2c8182c2f7746
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Tue Dec 4 07:22:51 2007 +0000
+
+ patch by: David Nečas <yeti@physics.muni.cz>
+ * gtkdoc-common.pl.in:
+ * tests/bugs/docs/tester-sections.txt:
+ * tests/bugs/src/tester.c:
+ * tests/bugs/src/tester.h:
+ Handle forward typedef'd enums. Fixes #446648.
+
+
+ svn path=/trunk/; revision=520
+
+ ChangeLog | 10 ++++++++++
+ gtkdoc-common.pl.in | 9 +++++++--
+ tests/bugs/docs/tester-sections.txt | 1 +
+ tests/bugs/src/tester.c | 7 +++++++
+ tests/bugs/src/tester.h | 5 +++++
+ 5 files changed, 30 insertions(+), 2 deletions(-)
+
+commit 05e310cf222a03f06a9b35681a53c824912e0201
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Tue Dec 4 06:52:18 2007 +0000
+
+ Add double-quotes around `which gtkdoc-rebase` to prevent "test" from
+
+ * gtk-doc.make:
+ * gtk-doc.notmpl.make:
+ Add double-quotes around `which gtkdoc-rebase` to prevent "test"
+ from failing with "/bin/sh: line 11: test: !=: unary operator
+ expected ". Fixes #501066.
+
+
+ svn path=/trunk/; revision=519
+
+ ChangeLog | 8 ++++++++
+ gtk-doc.make | 2 +-
+ gtk-doc.notmpl.make | 2 +-
+ 3 files changed, 10 insertions(+), 2 deletions(-)
+
+commit 936b789fd8b9b40a70c9674cc36e084e63e7a3bd
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Sun Nov 11 16:43:33 2007 +0000
+
+ patch by: David NeÄ\8das <yeti@physics.muni.cz>
+ * gtk-doc.xsl:
+ * gtkdoc-mkdb.in:
+ Avoid generated node ids. Fixes #365913.
+
+ svn path=/trunk/; revision=518
+
+ ChangeLog | 8 +++++
+ gtk-doc.xsl | 34 +++++++++-----------
+ gtkdoc-mkdb.in | 93 +++++++++++++++++++++++++++-----------------------------
+ 3 files changed, 69 insertions(+), 66 deletions(-)
+
+commit 6a835d9f265c43a14a68afbcbb5c1a856b4d33e1
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Sun Nov 11 16:21:22 2007 +0000
+
+ Alternative and cleaner footer implementation (unblock #365913).
+
+ * gtk-doc.xsl:
+ * gtkdoc-mkdb.in:
+ * style.css:
+ Alternative and cleaner footer implementation (unblock #365913).
+
+ svn path=/trunk/; revision=517
+
+ ChangeLog | 7 +++++++
+ gtk-doc.xsl | 14 ++++++++++++++
+ gtkdoc-mkdb.in | 5 -----
+ style.css | 11 +++++++++--
+ 4 files changed, 30 insertions(+), 7 deletions(-)
+
+commit 305376a231f0eae795d6e964a1f311d72cf0f1b7
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Sun Nov 11 11:33:07 2007 +0000
+
+ patch by: David NeÄ\8das <yeti@physics.muni.cz>
+ * gtkdoc-mkdb.in:
+ * gtkdoc-scangobj.in:
+ Display proper types for pointer properties. Fixes #468278.
+
+ svn path=/trunk/; revision=516
+
+ ChangeLog | 8 ++++++++
+ gtkdoc-mkdb.in | 8 +++++---
+ gtkdoc-scangobj.in | 7 +++++--
+ 3 files changed, 18 insertions(+), 5 deletions(-)
+
+commit adfc3377fe42bd5ab44b47786520196088d9076a
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Wed Oct 31 12:53:31 2007 +0000
+
+ Only warn about missing deprecation guards for declared symbols. Fixes
+
+ * gtkdoc-mkdb.in:
+ Only warn about missing deprecation guards for declared symbols.
+ Fixes #492005.
+
+
+ svn path=/trunk/; revision=515
+
+ ChangeLog | 6 ++++++
+ gtkdoc-mkdb.in | 15 +++++++++++----
+ 2 files changed, 17 insertions(+), 4 deletions(-)
+
+commit 9f7eaf82a9ff82e24120c67034c84acd79aff122
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Wed Oct 31 09:10:30 2007 +0000
+
+ Run our own check script. Clean the make output a bit.
+
+ * tests/gtk-doc.make:
+ * tests/gtkdoctest.sh:
+ Run our own check script. Clean the make output a bit.
+
+
+ svn path=/trunk/; revision=514
+
+ ChangeLog | 6 ++++++
+ tests/gtk-doc.make | 16 ++++++++--------
+ tests/gtkdoctest.sh | 21 +--------------------
+ 3 files changed, 15 insertions(+), 28 deletions(-)
+
+commit 5f7791093afea39e9b302e65fb2f4bb9ec0f27db
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Wed Oct 31 08:40:17 2007 +0000
+
+ Small doc fix.
+
+ * help/manual/C/gtk-doc-manual.xml:
+ Small doc fix.
+
+
+ svn path=/trunk/; revision=513
+
+ ChangeLog | 5 +++++
+ help/manual/C/gtk-doc-manual.xml | 2 +-
+ 2 files changed, 6 insertions(+), 1 deletions(-)
+
+commit 0269114f9ac44f237d1ecb1d23123ca9d96c53ef
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Wed Oct 31 08:11:23 2007 +0000
+
+ Formatting.
+
+ * Makefile.am:
+ Formatting.
+ * configure.in:
+ * tests/gtk-doc.make:
+ Cleanup the 'make check' deps configure check.
+
+
+ svn path=/trunk/; revision=512
+
+ ChangeLog | 9 +++++++++
+ Makefile.am | 2 +-
+ configure.in | 7 ++-----
+ tests/gtk-doc.make | 4 ----
+ 4 files changed, 12 insertions(+), 10 deletions(-)
+
+commit 7b539d60d17de888446d396b5619bc4e0ae64fd8
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Mon Oct 1 18:34:55 2007 +0000
+
+ Back to development. === Release 1.9 ===
+
+ * configure.in:
+ * help/manual/C/gtk-doc-manual.xml:
+ Back to development.
+ === Release 1.9 ===
+
+
+ svn path=/trunk/; revision=511
+
+ ChangeLog | 8 ++++++++
+ configure.in | 2 +-
+ help/manual/C/gtk-doc-manual.xml | 2 +-
+ 3 files changed, 10 insertions(+), 2 deletions(-)
+
+commit 6f243c15ab584aff3f388520642ca99916fd8866
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Sun Sep 30 16:41:04 2007 +0000
+
+ Releasing 1.9.
+
+ * NEWS:
+ Releasing 1.9.
+
+
+ svn path=/trunk/; revision=509
+
+ ChangeLog | 5 +++++
+ NEWS | 12 ++++++------
+ 2 files changed, 11 insertions(+), 6 deletions(-)
+
+commit 8460157f7074444522ae0921b69dce11cc4d5425
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Thu Sep 27 18:31:53 2007 +0000
+
+ New day, new fix. Remove testing $(DESTDIR) from makefile and use
+
+ * gtk-doc.make:
+ * gtk-doc.notmpl.make:
+ * gtkdoc-rebase.in:
+ New day, new fix. Remove testing $(DESTDIR) from makefile and use
+ Getopt::Long qw(:config gnu_getopt); in rebase.
+
+
+ svn path=/trunk/; revision=508
+
+ ChangeLog | 8 ++++++++
+ gtk-doc.make | 6 +-----
+ gtk-doc.notmpl.make | 6 +-----
+ gtkdoc-rebase.in | 2 +-
+ 4 files changed, 11 insertions(+), 11 deletions(-)
+
+commit 0afff163840ac4fb579fab79b7d090bafbea14b3
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Wed Sep 26 20:05:40 2007 +0000
+
+ And actually saving before commiting might greatly help.
+
+ * gtk-doc.make:
+ And actually saving before commiting might greatly help.
+
+
+ svn path=/trunk/; revision=507
+
+ ChangeLog | 5 +++++
+ gtk-doc.make | 12 +++++++-----
+ 2 files changed, 12 insertions(+), 5 deletions(-)
+
+commit 315ff82fb6fc59226822971e676c6536af08828a
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Wed Sep 26 20:03:32 2007 +0000
+
+ Another attempt to fix the rules.
+
+ * gtk-doc.make:
+ * gtk-doc.notmpl.make:
+ Another attempt to fix the rules.
+
+
+ svn path=/trunk/; revision=506
+
+ ChangeLog | 6 ++++++
+ gtk-doc.make | 2 +-
+ gtk-doc.notmpl.make | 12 +++++++-----
+ 3 files changed, 14 insertions(+), 6 deletions(-)
+
+commit 19cdb7ab7965dd022889770c37671691f4cb32f1
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Wed Sep 26 19:53:30 2007 +0000
+
+ If there is nothing to install, don't rebase.
+
+ * gtk-doc.make:
+ * gtk-doc.notmpl.make:
+ If there is nothing to install, don't rebase.
+
+
+ svn path=/trunk/; revision=505
+
+ ChangeLog | 6 ++++++
+ gtk-doc.make | 10 +++++-----
+ gtk-doc.notmpl.make | 10 +++++-----
+ 3 files changed, 16 insertions(+), 10 deletions(-)
+
+commit f2820f54978351f40ac5466eba419fffd0b934e2
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Wed Sep 26 19:48:59 2007 +0000
+
+ Unbreak the last change.
+
+ * gtk-doc.make:
+ * gtk-doc.notmpl.make:
+ Unbreak the last change.
+
+
+ svn path=/trunk/; revision=504
+
+ ChangeLog | 6 ++++++
+ gtk-doc.make | 6 +++---
+ gtk-doc.notmpl.make | 12 ++++++------
+ 3 files changed, 15 insertions(+), 9 deletions(-)
+
+commit fc62f01670769747239c92b64c181e5be7ce0158
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Wed Sep 26 19:36:44 2007 +0000
+
+ Handle DESTDIR= case.
+
+ * gtk-doc.make:
+ * gtk-doc.notmpl.make:
+ Handle DESTDIR= case.
+
+
+ svn path=/trunk/; revision=503
+
+ ChangeLog | 6 ++++++
+ gtk-doc.make | 7 ++++++-
+ gtk-doc.notmpl.make | 6 +++++-
+ 3 files changed, 17 insertions(+), 2 deletions(-)
+
+commit 671b6cfc964a56cc5c0a72551c7bfe6d1c4e0e00
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Wed Sep 26 18:58:06 2007 +0000
+
+ Fix destdir option name.
+
+ * gtk-doc.make:
+ * gtk-doc.notmpl.make:
+ * gtkdoc-rebase.in:
+ Fix destdir option name.
+
+
+ svn path=/trunk/; revision=502
+
+ ChangeLog | 7 +++++++
+ gtk-doc.make | 2 +-
+ gtk-doc.notmpl.make | 2 +-
+ gtkdoc-rebase.in | 2 +-
+ 4 files changed, 10 insertions(+), 3 deletions(-)
+
+commit 97a35fdd769991d151bb951ecd531dd1931ea827
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Tue Sep 25 20:58:49 2007 +0000
+
+ Get make distcheck fully working.
+
+ * tests/gtk-doc.make:
+ Get make distcheck fully working.
+
+
+ svn path=/trunk/; revision=501
+
+ ChangeLog | 5 +++++
+ tests/gtk-doc.make | 18 +++++++++---------
+ 2 files changed, 14 insertions(+), 9 deletions(-)
+
+commit 542efc9b6cecae71f861c1ac3bd5b7d3b761db2a
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Tue Sep 25 20:41:13 2007 +0000
+
+ Try to get make distcheck to run. Don't dist docs generated during test
+
+ * tests/Makefile.am:
+ * tests/bugs.sh:
+ * tests/gobject.sh:
+ * tests/gtkdoctest.sh:
+ Try to get make distcheck to run.
+ * tests/gtk-doc.make:
+ Don't dist docs generated during test runs and remove some cruft.
+
+
+ svn path=/trunk/; revision=500
+
+ ChangeLog | 12 ++++++++++++
+ tests/Makefile.am | 1 +
+ tests/bugs.sh | 2 +-
+ tests/gobject.sh | 2 +-
+ tests/gtk-doc.make | 35 +----------------------------------
+ tests/gtkdoctest.sh | 7 ++++---
+ 6 files changed, 20 insertions(+), 39 deletions(-)
+
+commit ff1891fec0ccabea75230b2a6b4c1e825eef6e03
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Mon Sep 24 20:09:26 2007 +0000
+
+ patch by: David Nečas <yeti@physics.muni.cz>
+ * NEWS:
+ * tests/bugs/docs/Makefile.am:
+ * tests/gobject/docs/Makefile.am:
+ * tests/gtk-doc.make:
+ Adapt xml/ cleaning from gtk-doc.notmpl.make. Clean log files.
+
+
+ svn path=/trunk/; revision=499
+
+ ChangeLog | 10 ++++++++++
+ NEWS | 1 +
+ tests/bugs/docs/Makefile.am | 8 ++++++++
+ tests/gobject/docs/Makefile.am | 8 ++++++++
+ tests/gtk-doc.make | 9 ++++++---
+ 5 files changed, 33 insertions(+), 3 deletions(-)
+
+commit dab5c3030973ec818ffad441ccc9282bf251161f
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Mon Sep 24 19:33:12 2007 +0000
+
+ Current release notes.
+
+ * NEWS:
+ Current release notes.
+
+
+ svn path=/trunk/; revision=498
+
+ ChangeLog | 5 +++++
+ NEWS | 53 +++++++++++++++++++++++++++++++++++++++++++++++++++++
+ 2 files changed, 58 insertions(+), 0 deletions(-)
+
+commit 3910d2375f16b0c0b0a80874b0b5d520130423f4
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Mon Sep 24 19:31:03 2007 +0000
+
+ Make mango happy.
+
+ * MAINTAINERS:
+ Make mango happy.
+ * examples/Makefile.am:
+ * gtk-doc.make:
+ * gtk-doc.notmpl.make:
+ Process files from DISTCLEANFILES in the dist-hooks.
+
+
+ svn path=/trunk/; revision=497
+
+ ChangeLog | 14 +++++++-------
+ MAINTAINERS | 2 +-
+ examples/Makefile.am | 5 +++++
+ gtk-doc.make | 1 +
+ gtk-doc.notmpl.make | 1 +
+ 5 files changed, 15 insertions(+), 8 deletions(-)
+
+commit 57a0bf3ee0dfea02479ffff9691da72cfcd73098
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Mon Sep 24 19:27:45 2007 +0000
+
+ patch by: David Nečas <yeti@physics.muni.cz>
+ * Makefile.am:
+ Add gtk-doc.notmpl.make to EXTRA_DIST. Fixes #479913.
+
+
+ svn path=/trunk/; revision=496
+
+ ChangeLog | 17 +++++++++++++++++
+ Makefile.am | 1 +
+ 2 files changed, 18 insertions(+), 0 deletions(-)
+
+commit 1fc7ed0608928b270caf762fecf25a1faa5ac3e2
+Author: Olav Vitters <ovitters@src.gnome.org>
+Date: Fri Sep 21 10:03:46 2007 +0000
+
+ Correct userid in MAINTAINERS file
+
+ svn path=/trunk/; revision=495
+
+ MAINTAINERS | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+commit 763a65a9b5fba728cff9195167a43b14cda48e61
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Thu Sep 20 19:16:31 2007 +0000
+
+ Revert online option for fixxref now that we have a rebase command.
+
+ * gtkdoc-fixxref.in:
+ Revert online option for fixxref now that we have a rebase command.
+
+
+ svn path=/trunk/; revision=494
+
+ ChangeLog | 5 ++++
+ gtkdoc-fixxref.in | 56 +++++++++++++++++-----------------------------------
+ 2 files changed, 23 insertions(+), 38 deletions(-)
+
+commit c8d4c7471e030fb547ec089d78e14bd91f23d222
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Mon Sep 17 22:25:57 2007 +0000
+
+ Handle function pointers. Fixes #477532.
+
+ * gtkdoc-scan.in:
+ Handle function pointers. Fixes #477532.
+
+
+ svn path=/trunk/; revision=493
+
+ ChangeLog | 5 +++++
+ gtkdoc-scan.in | 13 +++++++++++--
+ 2 files changed, 16 insertions(+), 2 deletions(-)
+
+commit 046833df5bf9db24a18faa6fface09f39e891a5c
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Mon Sep 17 22:13:09 2007 +0000
+
+ patch by: David Nečas <yeti@physics.muni.cz>
+ * gtkdoc-scan.in:
+ Parse reoccuring const. Fixes #471014.
+ * tests/bugs/docs/Makefile.am:
+ * tests/bugs/docs/tester-sections.txt:
+ * tests/bugs/src/tester.c:
+ * tests/bugs/src/tester.h:
+ * tests/gobject/docs/Makefile.am:
+ * tests/gobject/src/tester.c:
+ * tests/gobject/src/tester.h:
+ Add more tests and cleanup the test-code a little.
+
+
+ svn path=/trunk/; revision=492
+
+ ChangeLog | 16 +++++++++++++
+ gtkdoc-scan.in | 11 +++++----
+ tests/bugs/docs/Makefile.am | 6 +++-
+ tests/bugs/docs/tester-sections.txt | 2 +
+ tests/bugs/src/tester.c | 17 ++++++++++---
+ tests/bugs/src/tester.h | 16 +++++++++++-
+ tests/gobject/docs/Makefile.am | 2 +-
+ tests/gobject/src/tester.c | 42 ++++++++++++++--------------------
+ tests/gobject/src/tester.h | 2 -
+ 9 files changed, 73 insertions(+), 41 deletions(-)
+
+commit eef49e5076651e2d104aa4bc49642f6d4beeabb2
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Mon Sep 17 21:00:37 2007 +0000
+
+ Revert some Makefile improvements, as we can't control the quoting
+
+ * gtk-doc.make:
+ * gtk-doc.notmpl.make:
+ Revert some Makefile improvements, as we can't control the quoting
+ reliably.
+
+
+ svn path=/trunk/; revision=491
+
+ ChangeLog | 8 ++++++++
+ gtk-doc.make | 16 ++--------------
+ gtk-doc.notmpl.make | 16 ++--------------
+ 3 files changed, 12 insertions(+), 28 deletions(-)
+
+commit 5d483081d122e8511d49d692948b91d072996dc0
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Tue Sep 11 19:12:00 2007 +0000
+
+ Default master doc should have proper extension. Fixes #467773.
+
+ * gtkdoc-mkdb.in:
+ Default master doc should have proper extension. Fixes #467773.
+
+
+ svn path=/trunk/; revision=490
+
+ ChangeLog | 5 +++++
+ gtkdoc-mkdb.in | 19 +++++++++++++------
+ 2 files changed, 18 insertions(+), 6 deletions(-)
+
+commit b4b4e77f630b366c9068050c1f7533155788e66e
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Tue Sep 11 19:08:52 2007 +0000
+
+ patch by: David Nečas <yeti@physics.muni.cz>
+ * gtk-doc.make:
+ * gtk-doc.notmpl.make:
+
+
+ svn path=/trunk/; revision=489
+
+ ChangeLog | 7 +++++++
+ gtk-doc.make | 25 ++++++++++++++++++++-----
+ gtk-doc.notmpl.make | 27 ++++++++++++++++++++-------
+ 3 files changed, 47 insertions(+), 12 deletions(-)
+
+commit 21a136f21836a4659738e42c540480ec2f157464
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Mon Sep 3 09:23:38 2007 +0000
+
+ Update MAINTAINER to adhere to rules given on
+
+ * MAINTAINERS:
+ Update MAINTAINER to adhere to rules given on
+ http://live.gnome.org/MaintainersCorner#maintainers
+
+
+ svn path=/trunk/; revision=488
+
+ ChangeLog | 6 ++++++
+ MAINTAINERS | 16 ++++++++++++----
+ 2 files changed, 18 insertions(+), 4 deletions(-)
+
+commit 25559f995eafab78a17ba0167ad2b7f0c54e07e7
+Author: Kjartan Maraas <kmaraas@src.gnome.org>
+Date: Mon Sep 3 07:57:37 2007 +0000
+
+ Fix MAINTAINERS
+
+ svn path=/trunk/; revision=487
+
+ MAINTAINERS | 16 +++++++++++++---
+ 1 files changed, 13 insertions(+), 3 deletions(-)
+
+commit 4e1f9c06f3792ffbce8f2ac50dbb389985e7ff51
+Author: Benjamin Otte <otte@src.gnome.org>
+Date: Thu Aug 23 20:58:27 2007 +0000
+
+ sync with gtkdoc-mkdb completely. Really fixes #419997
+
+ * gtkdoc-mktmpl.in:
+ sync with gtkdoc-mkdb completely. Really fixes #419997
+
+ svn path=/trunk/; revision=486
+
+ ChangeLog | 5 +++++
+ gtkdoc-mktmpl.in | 2 +-
+ 2 files changed, 6 insertions(+), 1 deletions(-)
+
+commit 73d33c302e12f3bcf06a86a4f5db14109da2476d
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Tue Aug 21 05:55:12 2007 +0000
+
+ Add divider and empty space at the bottom. Mostly fixes #448879.
+
+ * gtkdoc-mkdb.in:
+ * style.css:
+ Add divider and empty space at the bottom. Mostly fixes #448879.
+
+
+ svn path=/trunk/; revision=485
+
+ ChangeLog | 6 ++++++
+ gtkdoc-mkdb.in | 4 ++++
+ style.css | 4 ++++
+ 3 files changed, 14 insertions(+), 0 deletions(-)
+
+commit df99ea32766962b76421775100a2e5ad98631762
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Tue Aug 21 05:48:34 2007 +0000
+
+ Make use of rebase if possible. Fixes #465920 Rebase improvements and
+
+ * gtk-doc.make:
+ * gtk-doc.notmpl.make:
+ Make use of rebase if possible. Fixes #465920
+ * gtkdoc-rebase.in:
+ Rebase improvements and fixes.
+
+
+ svn path=/trunk/; revision=484
+
+ ChangeLog | 9 +++++++++
+ gtk-doc.make | 2 ++
+ gtk-doc.notmpl.make | 2 ++
+ gtkdoc-rebase.in | 32 +++++++++++++++++++++++++++++---
+ 4 files changed, 42 insertions(+), 3 deletions(-)
+
+commit f3035c2866425ec1994887ca9ceb532a2f3fa7fc
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Thu Aug 16 05:33:05 2007 +0000
+
+ Get rid of cvsignore files.
+
+ * .cvsignore:
+ * help/.cvsignore:
+ * help/manual/.cvsignore:
+ * help/manual/C/.cvsignore:
+ Get rid of cvsignore files.
+
+
+ svn path=/trunk/; revision=483
+
+ .cvsignore | 25 -------------------------
+ ChangeLog | 8 ++++++++
+ help/.cvsignore | 3 ---
+ help/manual/.cvsignore | 3 ---
+ help/manual/C/.cvsignore | 6 ------
+ 5 files changed, 8 insertions(+), 37 deletions(-)
+
+commit 30a572b90f31cef2cca1400e7b257c367ae430a6
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Tue Aug 14 18:51:48 2007 +0000
+
+ Don't die when encountering #if/#endif in enums. Fixes #324535.
+
+ * gtkdoc-common.pl.in:
+ * tests/bugs/docs/tester-sections.txt:
+ * tests/bugs/src/tester.h:
+ Don't die when encountering #if/#endif in enums. Fixes #324535.
+
+
+ svn path=/trunk/; revision=482
+
+ ChangeLog | 7 +++++++
+ gtkdoc-common.pl.in | 4 ++++
+ tests/bugs/docs/tester-sections.txt | 1 +
+ tests/bugs/src/tester.h | 16 ++++++++++++++++
+ 4 files changed, 28 insertions(+), 0 deletions(-)
+
+commit 5a1ef37f60a67311ed3218da6562a63b55b6b587
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Tue Aug 14 15:01:24 2007 +0000
+
+ patch by: Frederic Peters <fpeters@0d.be>
+ * style.css:
+ Styling hr tags.
+
+
+ svn path=/trunk/; revision=481
+
+ ChangeLog | 7 +++++++
+ style.css | 10 ++++++++++
+ 2 files changed, 17 insertions(+), 0 deletions(-)
+
+commit dc66270894bde61342b39b89ca6f2688d10393eb
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Tue Aug 14 14:56:44 2007 +0000
+
+ Document new features and bump version.
+
+ * help/manual/C/gtk-doc-manual.xml:
+ Document new features and bump version.
+
+
+ svn path=/trunk/; revision=480
+
+ ChangeLog | 5 ++
+ help/manual/C/gtk-doc-manual.xml | 77 +++++++++++++++++++++++++++++--------
+ 2 files changed, 65 insertions(+), 17 deletions(-)
+
+commit f889518121de202fabab3ab5d4e1bd2c61d69802
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Mon Aug 13 14:31:16 2007 +0000
+
+ Fix the funny side-effect of last 'broken-returns' fix.
+
+ * gtkdoc-mkdb.in:
+ Fix the funny side-effect of last 'broken-returns' fix.
+
+
+ svn path=/trunk/; revision=479
+
+ ChangeLog | 5 +++++
+ gtkdoc-mkdb.in | 20 +++++++++++++++-----
+ 2 files changed, 20 insertions(+), 5 deletions(-)
+
+commit 36fa4722f039d9954c6c1e5f097c858327390267
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Mon Aug 13 09:08:22 2007 +0000
+
+ Really fix #460127.
+
+ * gtkdoc-scan.in:
+ * tests/bugs/src/tester.h:
+ Really fix #460127.
+
+
+ svn path=/trunk/; revision=478
+
+ ChangeLog | 6 ++++++
+ gtkdoc-scan.in | 6 +++++-
+ tests/bugs/src/tester.h | 1 +
+ 3 files changed, 12 insertions(+), 1 deletions(-)
+
+commit e58029c7e0e01aef47acabdde29485cf5457c1d8
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Mon Aug 13 08:39:00 2007 +0000
+
+ Now the 'broken' returns seems to work better. Fixes #380824 more.
+
+ * gtkdoc-mkdb.in:
+ Now the 'broken' returns seems to work better. Fixes #380824 more.
+
+
+ svn path=/trunk/; revision=477
+
+ ChangeLog | 5 +++++
+ gtkdoc-mkdb.in | 4 ++++
+ 2 files changed, 9 insertions(+), 0 deletions(-)
+
+commit eb1601dfc29c9e3b1e62729c8cdf6a3367c8b31a
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Mon Aug 13 07:40:37 2007 +0000
+
+ New test. Fix bashism.
+
+ * tests/bugs/docs/tester-sections.txt:
+ * tests/bugs/src/tester.c (bug_379466, bug_380824):
+ * tests/bugs/src/tester.h (test):
+ New test.
+ * tests/gtkdoctest.sh:
+ Fix bashism.
+
+
+ svn path=/trunk/; revision=476
+
+ ChangeLog | 9 +++++++++
+ tests/bugs/docs/tester-sections.txt | 1 +
+ tests/bugs/src/tester.c | 15 +++++++++++++++
+ tests/bugs/src/tester.h | 2 ++
+ tests/gtkdoctest.sh | 4 ++--
+ 5 files changed, 29 insertions(+), 2 deletions(-)
+
+commit 9b66bff5ca8e99775b06072912a61ec34a6157ad
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Sun Aug 12 18:44:14 2007 +0000
+
+ Add another test for a bug we fixed with the changes below. Fixes #460127.
+
+ * tests/bugs/docs/tester-sections.txt:
+ * tests/bugs/src/tester.h:
+ Add another test for a bug we fixed with the changes below.
+ Fixes #460127.
+
+
+ svn path=/trunk/; revision=475
+
+ ChangeLog | 7 +++++++
+ tests/bugs/docs/tester-sections.txt | 1 +
+ tests/bugs/src/tester.h | 20 ++++++++++++++++++++
+ 3 files changed, 28 insertions(+), 0 deletions(-)
+
+commit 9993c577bfb3e767aeb245c97ffc7bbbe55983cd
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Sun Aug 12 17:24:19 2007 +0000
+
+ Improved scan logic. Fixes #411739.
+
+ * gtkdoc-scan.in:
+ * tests/bugs/docs/tester-sections.txt:
+ * tests/bugs/src/tester.c:
+ * tests/bugs/src/tester.h:
+ Improved scan logic. Fixes #411739.
+
+
+ svn path=/trunk/; revision=474
+
+ ChangeLog | 8 +++
+ gtkdoc-scan.in | 92 +++++++++++++++++++++--------------
+ tests/bugs/docs/tester-sections.txt | 2 +
+ tests/bugs/src/tester.c | 14 +++++
+ tests/bugs/src/tester.h | 7 +++
+ 5 files changed, 86 insertions(+), 37 deletions(-)
+
+commit 32cf073396d28aa00c6d72573841d74e5f4108b0
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Sun Aug 12 14:55:13 2007 +0000
+
+ Handle newline in declarations better. Fixes #379466. Ensure space in
+
+ * gtkdoc-mkdb.in:
+ * tests/bugs/src/tester.h:
+ Handle newline in declarations better. Fixes #379466.
+ Ensure space in multiline declarations when removing the newline.
+ Fix missing argument docs in template free build.
+
+
+ svn path=/trunk/; revision=473
+
+ ChangeLog | 8 +++
+ gtkdoc-mkdb.in | 109 ++++++++++++++++++++++++-----------------------
+ tests/bugs/src/tester.h | 3 +-
+ 3 files changed, 65 insertions(+), 55 deletions(-)
+
+commit 176308cbed680bf9c9386364356dabda5560ba4b
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Sun Aug 12 13:05:04 2007 +0000
+
+ Handle "unsigned long|unsigned short|signed long|signed short". Fixes
+
+ * gtkdoc-mkdb.in:
+ * gtkdoc-mktmpl.in:
+ Handle "unsigned long|unsigned short|signed long|signed short".
+ Fixes #445693.
+
+
+ svn path=/trunk/; revision=472
+
+ ChangeLog | 7 +++++++
+ gtkdoc-mkdb.in | 16 ++++++++++------
+ gtkdoc-mktmpl.in | 6 +++---
+ 3 files changed, 20 insertions(+), 9 deletions(-)
+
+commit e3d22b5839fe39e7bfee67158c041c4612c87c15
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Sun Aug 12 10:06:54 2007 +0000
+
+ Replacing my shell based test script by Davids perl based one. Add
+
+ * Makefile.am:
+ * configure.in:
+ * gtkdoc-check:
+ * gtkdoc-check.in:
+ Replacing my shell based test script by Davids perl based one. Add
+ licence, copyright and docs header. Integrate with build.
+
+
+ svn path=/trunk/; revision=471
+
+ ChangeLog | 9 +++++
+ Makefile.am | 12 +++---
+ configure.in | 9 +++--
+ gtkdoc-check | 50 ----------------------------
+ gtkdoc-check.in | 96 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ 5 files changed, 116 insertions(+), 60 deletions(-)
+
+commit e0661c3bdcc0c9d89e11a614bb756f557e8e3526
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Sun Aug 12 09:01:33 2007 +0000
+
+ patch by: David Nečas <yeti@physics.muni.cz>
+ * gtkdoc-scangobj.in:
+ Make introspection of interfaces work in more cases. Fixes #355352.
+
+
+ svn path=/trunk/; revision=470
+
+ ChangeLog | 7 +++++++
+ gtkdoc-scangobj.in | 2 +-
+ 2 files changed, 8 insertions(+), 1 deletions(-)
+
+commit ac53ca528f260310dc85ff160e44b30c1fa9211b
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Sun Aug 12 08:10:30 2007 +0000
+
+ patch by: David Nečas <yeti@physics.muni.cz>
+ * configure.in:
+ Cleanup glib detection for tests.
+
+
+ svn path=/trunk/; revision=469
+
+ ChangeLog | 7 +++++++
+ configure.in | 6 ++----
+ 2 files changed, 9 insertions(+), 4 deletions(-)
+
+commit 9558a625aa7bacab33026c9388dd914c6315dbb1
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Sat Aug 11 19:44:46 2007 +0000
+
+ Fix modulename check.
+
+ * gtkdoc-check:
+ Fix modulename check.
+
+
+ svn path=/trunk/; revision=468
+
+ ChangeLog | 5 +++++
+ gtkdoc-check | 2 +-
+ 2 files changed, 6 insertions(+), 1 deletions(-)
+
+commit 79b05aeccd09a439fc732e35e7cea39cf5d67d17
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Sat Aug 11 19:21:19 2007 +0000
+
+ Install new makefile. Bump version as we're working on 1.9. Add option to
+
+ * Makefile.am:
+ Install new makefile.
+ * configure.in:
+ Bump version as we're working on 1.9.
+ * gtkdocize.in:
+ Add option to select makefile-flavour.
+
+
+ svn path=/trunk/; revision=467
+
+ ChangeLog | 11 +++++++++++
+ Makefile.am | 3 ++-
+ configure.in | 2 +-
+ gtkdocize.in | 30 +++++++++++++++++++++++-------
+ 4 files changed, 37 insertions(+), 9 deletions(-)
+
+commit 16b30e57db1ab1403f52df70f2f76700700c5be8
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Sat Aug 11 14:01:59 2007 +0000
+
+ Add dummy rule to make first build run through. Fixes #156643
+
+ * gtk-doc.make:
+ Add dummy rule to make first build run through. Fixes #156643
+
+
+ svn path=/trunk/; revision=466
+
+ ChangeLog | 5 +++++
+ gtk-doc.make | 4 ++++
+ 2 files changed, 9 insertions(+), 0 deletions(-)
+
+commit e29e03ae8d785543180bb36438d52ab892ea03c1
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Sat Aug 11 13:51:43 2007 +0000
+
+ Hide fixed navigationbar when printing. Fixes #449618
+
+ * style.css:
+ Hide fixed navigationbar when printing. Fixes #449618
+
+
+ svn path=/trunk/; revision=465
+
+ ChangeLog | 5 +++
+ style.css | 114 ++++++++++++++++++++++++++++++++++++------------------------
+ 2 files changed, 73 insertions(+), 46 deletions(-)
+
+commit 90ce29eed618fd2e7ef14e61dfbb7d0c7fee06e2
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Sat Aug 11 13:45:35 2007 +0000
+
+ Add new makefile for tmpl-less build.
+
+ * gtk-doc.notmpl.make:
+ Add new makefile for tmpl-less build.
+
+
+ svn path=/trunk/; revision=464
+
+ ChangeLog | 5 ++
+ gtk-doc.notmpl.make | 148 +++++++++++++++++++++++++++++++++++++++++++++++++++
+ 2 files changed, 153 insertions(+), 0 deletions(-)
+
+commit 7bb2db966194fdfea9d90ba5447ccd8d47d450b4
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Sat Aug 11 11:00:27 2007 +0000
+
+ patch by: David Nečas <yeti@physics.muni.cz>
+ * autogen.sh:
+ Accepts automake 1.10 too. Fixes #459225
+
+
+ svn path=/trunk/; revision=463
+
+ ChangeLog | 7 +++++++
+ autogen.sh | 5 ++++-
+ 2 files changed, 11 insertions(+), 1 deletions(-)
+
+commit f890a0ca3df5afbcb226d07118ecfaa129fa82c3
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Sat Aug 11 09:42:38 2007 +0000
+
+ Make the tmpl-less build work. Switch again to the tmpl-less build.
+
+ * gtkdoc-mkdb.in:
+ Make the tmpl-less build work.
+ * tests/gtk-doc.make:
+ Switch again to the tmpl-less build.
+
+
+ svn path=/trunk/; revision=462
+
+ ChangeLog | 36 ++++++++++++++++++++++++++++++++++++
+ gtkdoc-mkdb.in | 25 +++++++++++++++++++++----
+ tests/gtk-doc.make | 25 +++++++++++++------------
+ 3 files changed, 70 insertions(+), 16 deletions(-)
+
+commit af17640a26829f3c4766701a020d310c6e64dfc0
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Fri Aug 10 17:41:51 2007 +0000
+
+ patch by: Rouslan Solomakhin <rouslan@solomakhin.net>
+ * configure.in:
+ Fix the build.
+
+
+ svn path=/trunk/; revision=461
+
+ ChangeLog | 7 +++++++
+ configure.in | 13 +++++++++----
+ 2 files changed, 16 insertions(+), 4 deletions(-)
+
+commit 87956203723d6df337bb76f9399389b3ec11ad86
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Fri Aug 10 17:08:37 2007 +0000
+
+ Revert fix for #433338 and reopen bug. Breaks if file is not there, e.g.
+
+ * gtk-doc.make:
+ * tests/gtk-doc.make:
+ Revert fix for #433338 and reopen bug. Breaks if file is not there,
+ e.g. if --rebuild-types is used.
+
+
+ svn path=/trunk/; revision=460
+
+ ChangeLog | 7 +++++++
+ gtk-doc.make | 2 +-
+ tests/gtk-doc.make | 2 +-
+ 3 files changed, 9 insertions(+), 2 deletions(-)
+
+commit a8fdb413a3ef3f427b3e8658c0f43fd1a18146d4
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Fri Aug 10 16:46:54 2007 +0000
+
+ Some cleanups. Try the tmpl free build here.
+
+ * gtk-doc.make:
+ Some cleanups.
+ * tests/gtk-doc.make:
+ Try the tmpl free build here.
+
+
+ svn path=/trunk/; revision=459
+
+ ChangeLog | 8 ++++++++
+ gtk-doc.make | 10 ++++++++--
+ tests/gtk-doc.make | 46 ++++++++++++++++++++++++++--------------------
+ 3 files changed, 42 insertions(+), 22 deletions(-)
+
+commit 9fda4c81600262a5218d98dea8471e9c9ee1f6bf
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Fri Aug 10 16:43:24 2007 +0000
+
+ Add commented out TESTS. Check for location of gtkdoc-check.
+
+ * examples/Makefile.am:
+ Add commented out TESTS.
+ * gtk-doc.m4:
+ Check for location of gtkdoc-check.
+ * Makefile.am:
+ * gtkdoc-check:
+ Test doc status and print result in check like layout.
+
+
+ svn path=/trunk/; revision=458
+
+ ChangeLog | 12 ++++++++++++
+ Makefile.am | 1 +
+ examples/Makefile.am | 8 ++++++--
+ gtk-doc.m4 | 4 +++-
+ gtkdoc-check | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++
+ 5 files changed, 72 insertions(+), 3 deletions(-)
+
+commit 763b05134ef4eacaadc8744c7e2ae61f2a068480
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Thu Aug 2 19:33:17 2007 +0000
+
+ patch by: Sven Herzberg <herzi@gnome-de.org>
+ * gtk-doc.make:
+ * tests/gtk-doc.make:
+ Rebuild documentation of $(DOC_MODULE).types changed. Fixes #433338
+
+
+ svn path=/trunk/; revision=457
+
+ ChangeLog | 10 +++++++++-
+ gtk-doc.make | 6 +++---
+ tests/gtk-doc.make | 2 +-
+ 3 files changed, 13 insertions(+), 5 deletions(-)
+
+commit 97f1e68638156b738d36df70276cf0d24b488d99
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Thu Aug 2 19:20:10 2007 +0000
+
+ patch by: David Nečas <yeti@physics.muni.cz>
+ * Makefile.am:
+ * configure.in:
+ * gtkdoc-rebase.in:
+ Allow rebasing crossreferences in generated docs. Fixes #434134.
+
+ svn path=/trunk/; revision=456
+
+ ChangeLog | 11 ++-
+ Makefile.am | 1 +
+ configure.in | 1 +
+ gtkdoc-rebase.in | 278 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ 4 files changed, 290 insertions(+), 1 deletions(-)
+
+commit d18edca3de835dab935ec3ad48002db3144093c3
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Thu Aug 2 15:11:49 2007 +0000
+
+ Add a hack to gtkdoc-mkhtml to run uninstalled too.
+
+ * gtkdoc-mkhtml.in:
+ Add a hack to gtkdoc-mkhtml to run uninstalled too.
+
+ svn path=/trunk/; revision=455
+
+ ChangeLog | 5 +++++
+ gtkdoc-mkhtml.in | 13 ++++++++++---
+ 2 files changed, 15 insertions(+), 3 deletions(-)
+
+commit 87abb50307fbabd40fc8683348366e009026cee2
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Thu Aug 2 15:04:01 2007 +0000
+
+ Patch by: Yeti <yeti@physics.muni.cz>
+ * gtk-doc.xsl:
+ Generate ONLINE tag in index.sgml.
+ * gtkdoc-fixxref.in:
+ Allow to base links against online versions of xreffed docs.
+ Fixes #454916.
+ * gtkdoc-mkdb.in:
+ Add releaseinfo to doctemplates.
+ * tests/bugs/docs/tester-docs.sgml:
+ * tests/gobject/docs/tester-docs.sgml:
+ Update templates.
+
+ svn path=/trunk/; revision=454
+
+ ChangeLog | 18 +++++++++++
+ gtk-doc.xsl | 33 +++++++++++++-------
+ gtkdoc-fixxref.in | 56 +++++++++++++++++++++++-----------
+ gtkdoc-mkdb.in | 9 ++++-
+ tests/bugs/docs/tester-docs.sgml | 9 ++++-
+ tests/gobject/docs/tester-docs.sgml | 9 ++++-
+ 6 files changed, 99 insertions(+), 35 deletions(-)
+
+commit e6ef3e1926ae6d3a8f4abceaf7e2035ef9228d53
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Thu Aug 2 11:07:27 2007 +0000
+
+ Use PERL5LIB envvar to use uninstalled gtkdoc-common.pl for tests. Use tee
+
+ * tests/bugs/docs/Makefile.am:
+ * tests/gobject/docs/Makefile.am:
+ * tests/gtk-doc.make:
+ Use PERL5LIB envvar to use uninstalled gtkdoc-common.pl for tests.
+ Use tee to both show and redirect logs.
+ Build test-docs in check-local instead of all-local.
+ Fixes #459725.
+
+ svn path=/trunk/; revision=453
+
+ ChangeLog | 10 ++++++++++
+ tests/bugs/docs/Makefile.am | 12 ++++++------
+ tests/gobject/docs/Makefile.am | 12 ++++++------
+ tests/gtk-doc.make | 19 +++++++++++--------
+ 4 files changed, 33 insertions(+), 20 deletions(-)
+
+commit 60d35426878bd58800d5bce61e4af2c7ac2ec60d
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Wed Jul 25 14:14:40 2007 +0000
+
+ Some more debug prints and code cleaning.
+
+ * gtkdoc-mkdb.in:
+ * gtkdoc-scan.in:
+ Some more debug prints and code cleaning.
+
+
+ svn path=/trunk/; revision=452
+
+ ChangeLog | 6 ++++++
+ gtkdoc-mkdb.in | 11 ++++++++---
+ gtkdoc-scan.in | 3 ++-
+ 3 files changed, 16 insertions(+), 4 deletions(-)
+
+commit 55633027b5e835167d2c83ae292817766231c532
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Mon Jul 23 15:26:39 2007 +0000
+
+ Tell about $(DOC_MODULE)-undeclared.txt.
+
+ * gtk-doc-manual.xml:
+ Tell about $(DOC_MODULE)-undeclared.txt.
+
+ svn path=/trunk/; revision=451
+
+ help/manual/C/ChangeLog | 5 +++++
+ help/manual/C/gtk-doc-manual.xml | 12 ++++++++++--
+ 2 files changed, 15 insertions(+), 2 deletions(-)
+
+commit 1b289dcd957be6d02fe9b828be0280b24539002f
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Mon Jul 23 15:26:19 2007 +0000
+
+ Patch by: Yeti <yeti@physics.muni.cz>
+ * gtk-doc.make:
+ * gtkdoc-mkdb.in:
+ Report undeclared symbols into a file. Fixes #436565.
+
+ svn path=/trunk/; revision=450
+
+ ChangeLog | 8 ++++++++
+ gtk-doc.make | 2 +-
+ gtkdoc-mkdb.in | 25 +++++++++++++++++++++++++
+ 3 files changed, 34 insertions(+), 1 deletions(-)
+
+commit 8384bb693fb9a1775bce9f0278973ce0bd51c125
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Wed Jul 18 19:00:16 2007 +0000
+
+ Readd two debug prints and remove one obsolete one.
+
+ * gtkdoc-mkdb.in:
+ Readd two debug prints and remove one obsolete one.
+ * tests/bugs/Makefile.am:
+ * tests/gobject/Makefile.am:
+ Enforce 'make clean' before 'make check'.
+
+ svn path=/trunk/; revision=449
+
+ ChangeLog | 9 +++++++++
+ gtkdoc-mkdb.in | 3 ++-
+ tests/bugs/Makefile.am | 8 +++++++-
+ tests/gobject/Makefile.am | 8 +++++++-
+ 4 files changed, 25 insertions(+), 3 deletions(-)
+
+commit 3ca85d075b5cc501be9af2c224b889c1806d819a
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Wed Jul 18 18:52:19 2007 +0000
+
+ Patch by: Yeti <yeti@physics.muni.cz>
+ * gtkdoc-mkdb.in:
+ Cleanup broek-return handling and add ignore_broken_returns for
+ section docs. Fixes #457077
+ * tests/bugs/docs/Makefile.in:
+ * tests/gobject/docs/Makefile.in:
+ Remove.
+ * tests/gtk-doc.make:
+ Use the local tools so that 'make check' works uninstalled.
+
+
+ svn path=/trunk/; revision=448
+
+ ChangeLog | 18 ++-
+ gtkdoc-mkdb.in | 78 ++++--
+ tests/bugs/docs/Makefile.in | 549 ----------------------------------------
+ tests/gobject/docs/Makefile.in | 549 ----------------------------------------
+ tests/gtk-doc.make | 12 +-
+ 5 files changed, 79 insertions(+), 1127 deletions(-)
+
+commit 352c41700811cdc6061928ffc3eaa447cb0dd454
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Wed Jul 18 18:12:00 2007 +0000
+
+ Add more test cases.
+
+ * tests/bugs/docs/tester-sections.txt:
+ * tests/bugs/src/tester.c: (bug_419997):
+ * tests/bugs/src/tester.h:
+ * tests/gobject/src/tester.c: (gtkdoc_tester_class_init):
+ * tests/gobject/src/tester.h:
+ Add more test cases.
+
+ svn path=/trunk/; revision=447
+
+ ChangeLog | 9 +++++++++
+ tests/bugs/docs/tester-sections.txt | 1 +
+ tests/bugs/src/tester.c | 12 ++++++++++++
+ tests/bugs/src/tester.h | 2 ++
+ tests/gobject/src/tester.c | 22 +++++++++++++++++++---
+ tests/gobject/src/tester.h | 1 +
+ 6 files changed, 44 insertions(+), 3 deletions(-)
+
+commit 7788f39f1932e81227eab68369bca7252f0eda9d
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Tue Jul 17 19:15:45 2007 +0000
+
+ Improve test suite.
+
+ * tests/bugs/docs/Makefile.in:
+ * tests/bugs/docs/tester-sections.txt:
+ * tests/bugs/src/tester.c: (bug_141869_a), (bug_141869_b),
+ (bug_379466), (bug_445693):
+ * tests/bugs/src/tester.h:
+ * tests/gobject/docs/Makefile.in:
+ * tests/gobject/src/tester.h:
+ * tests/gtk-doc.make:
+ * tests/gtkdoctest.sh:
+ Improve test suite.
+
+ svn path=/trunk/; revision=446
+
+ ChangeLog | 13 +++++++++++++
+ tests/bugs/docs/Makefile.in | 6 +++---
+ tests/bugs/docs/tester-sections.txt | 3 ++-
+ tests/bugs/src/tester.c | 28 ++++++++++++++++++++--------
+ tests/bugs/src/tester.h | 5 ++++-
+ tests/gobject/docs/Makefile.in | 6 +++---
+ tests/gobject/src/tester.h | 3 ++-
+ tests/gtk-doc.make | 6 +++---
+ tests/gtkdoctest.sh | 12 +++++++++---
+ 9 files changed, 59 insertions(+), 23 deletions(-)
+
+commit d27bffe19205cdb62c7e0a11009cd251080c26c4
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Tue Jul 17 19:14:22 2007 +0000
+
+ Patch by: Yeti <yeti@physics.muni.cz>
+ * gtkdoc-common.pl.in:
+ * gtkdoc-mkdb.in:
+ * gtkdoc-mktmpl.in:
+ * gtkdoc-scan.in:
+ Improve paramenter parsing to allow parameter names that contain
+ const or restricted. Fixes #419997
+ Also fix the signed/unsigned more.
+
+ svn path=/trunk/; revision=445
+
+ ChangeLog | 12 ++++++++++++
+ gtkdoc-common.pl.in | 2 +-
+ gtkdoc-mkdb.in | 16 ++++++++--------
+ gtkdoc-mktmpl.in | 12 ++++++------
+ gtkdoc-scan.in | 2 +-
+ 5 files changed, 28 insertions(+), 16 deletions(-)
+
+commit da6d7d85d0f5cb3698a57b2d6b3728cc957206a6
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Tue Jul 17 18:37:08 2007 +0000
+
+ Add test-suite. Fixes #457173
+
+ * Makefile.am:
+ * autogen.sh:
+ * configure.in:
+ * tests/Makefile.am:
+ * tests/bugs.sh:
+ * tests/bugs/Makefile.am:
+ * tests/bugs/docs/Makefile.am:
+ * tests/bugs/docs/Makefile.in:
+ * tests/bugs/docs/tester-docs.sgml:
+ * tests/bugs/docs/tester-sections.txt:
+ * tests/bugs/docs/tester.types:
+ * tests/bugs/src/Makefile.am:
+ * tests/bugs/src/tester.c: (bug_445693), (bug_141869_a),
+ (bug_141869_b):
+ * tests/bugs/src/tester.h:
+ * tests/gobject.sh:
+ * tests/gobject/Makefile.am:
+ * tests/gobject/docs/Makefile.am:
+ * tests/gobject/docs/Makefile.in:
+ * tests/gobject/docs/tester-docs.sgml:
+ * tests/gobject/docs/tester-sections.txt:
+ * tests/gobject/docs/tester.types:
+ * tests/gobject/src/Makefile.am:
+ * tests/gobject/src/tester.c: (gtkdoc_tester_new),
+ (gtkdoc_tester_get_property), (gtkdoc_tester_set_property),
+ (gtkdoc_tester_class_init), (gtkdoc_tester_get_type):
+ * tests/gobject/src/tester.h:
+ * tests/gtk-doc.make:
+ * tests/gtkdoctest.sh:
+ Add test-suite. Fixes #457173
+
+
+ svn path=/trunk/; revision=444
+
+ ChangeLog | 33 ++
+ Makefile.am | 2 +-
+ autogen.sh | 4 +-
+ configure.in | 28 ++-
+ tests/Makefile.am | 13 +
+ tests/bugs.sh | 4 +
+ tests/bugs/Makefile.am | 4 +
+ tests/bugs/docs/Makefile.am | 68 ++++
+ tests/bugs/docs/Makefile.in | 549 ++++++++++++++++++++++++++++++++
+ tests/bugs/docs/tester-docs.sgml | 13 +
+ tests/bugs/docs/tester-sections.txt | 9 +
+ tests/bugs/docs/tester.types | 2 +
+ tests/bugs/src/Makefile.am | 13 +
+ tests/bugs/src/tester.c | 42 +++
+ tests/bugs/src/tester.h | 13 +
+ tests/gobject.sh | 4 +
+ tests/gobject/Makefile.am | 4 +
+ tests/gobject/docs/Makefile.am | 68 ++++
+ tests/gobject/docs/Makefile.in | 549 ++++++++++++++++++++++++++++++++
+ tests/gobject/docs/tester-docs.sgml | 13 +
+ tests/gobject/docs/tester-sections.txt | 18 +
+ tests/gobject/docs/tester.types | 4 +
+ tests/gobject/src/Makefile.am | 13 +
+ tests/gobject/src/tester.c | 92 ++++++
+ tests/gobject/src/tester.h | 72 +++++
+ tests/gtk-doc.make | 155 +++++++++
+ tests/gtkdoctest.sh | 19 ++
+ 27 files changed, 1804 insertions(+), 4 deletions(-)
+
+commit 0cee92cb28370b108fc9197d3b5bb1a665c00fd9
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Mon Jul 16 15:46:24 2007 +0000
+
+ Patch by: Yeti <yeti@physics.muni.cz>
+ * gtkdoc-mkdb.in:
+ Avoid useless $return_start access.
+
+ svn path=/trunk/; revision=443
+
+ ChangeLog | 7 +++++++
+ gtkdoc-mkdb.in | 4 ----
+ 2 files changed, 7 insertions(+), 4 deletions(-)
+
+commit e5a7143dd25714cc88b45f8e3fd3fffcfd40ebd4
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Mon Jul 16 15:23:06 2007 +0000
+
+ Patch by: Petteri Räty <betelgeuse@gentoo.org>
+ * gtk-doc.m4:
+ Make gtk-doc.m4 fail when needed gtk-doc is not installed and notify
+ user. Fixes #323938 and #450338.
+
+ svn path=/trunk/; revision=442
+
+ ChangeLog | 346 +++++++++++++++++++++++++++++++-----------------------------
+ gtk-doc.m4 | 32 ++----
+ 2 files changed, 185 insertions(+), 193 deletions(-)
+
+commit 80efdf9901ffa1a0feafa9ed8b04cbd5209122c4
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Sun Jul 15 10:46:59 2007 +0000
+
+ Handle signed/unsigned without int. Fixes #141869.
+
+ * gtkdoc-mkdb.in:
+ * gtkdoc-mktmpl.in:
+ Handle signed/unsigned without int. Fixes #141869.
+
+ svn path=/trunk/; revision=441
+
+ ChangeLog | 6 ++++++
+ gtkdoc-mkdb.in | 11 +++++++++--
+ gtkdoc-mktmpl.in | 23 ++++++++++++++++++++---
+ 3 files changed, 35 insertions(+), 5 deletions(-)
+
+commit 9ddae344a01bb5c7e7ba7ec2758457e1a4904d96
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Sun Jul 15 09:11:51 2007 +0000
+
+ Patch by: Yeti <yeti@physics.muni.cz>
+ * gtkdoc-mkdb.in:
+ Improve handling of legacy "return" statement doc parsing. Warn about
+ those.
+
+ svn path=/trunk/; revision=440
+
+ ChangeLog | 8 ++++++++
+ gtkdoc-mkdb.in | 49 +++++++++++++++++++++++++++++++++++++++++++------
+ 2 files changed, 51 insertions(+), 6 deletions(-)
+
+commit 7052b3aff352c3024bfc5b6cb5bc0388aeca33a4
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Sun Jul 15 09:05:07 2007 +0000
+
+ Fix perl warning about usage of undefined symbol.
+
+ * gtkdoc-mkdb.in:
+ Fix perl warning about usage of undefined symbol.
+
+ svn path=/trunk/; revision=439
+
+ ChangeLog | 5 +++++
+ gtkdoc-mkdb.in | 1 +
+ 2 files changed, 6 insertions(+), 0 deletions(-)
+
+commit 64ffd06dc2b365ea49ac58f406eaae58c6b6bd03
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Sun Jul 15 09:02:21 2007 +0000
+
+ Sync the function decl arg parsing. Fixes #419308.
+
+ * gtkdoc-mkdb.in:
+ * gtkdoc-mktmpl.in:
+ Sync the function decl arg parsing. Fixes #419308.
+
+ svn path=/trunk/; revision=438
+
+ ChangeLog | 6 ++++
+ gtkdoc-mkdb.in | 79 ++++++++++++++++++++++++++++--------------------------
+ gtkdoc-mktmpl.in | 26 +++++++++--------
+ 3 files changed, 61 insertions(+), 50 deletions(-)
+
+commit 5251b7edc7d34dbc25329774726d70353b59f315
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Sun Jul 15 08:52:11 2007 +0000
+
+ Bump version. Add more markup. Tell that one can use toolname --help to
+
+ * gtk-doc-manual.xml:
+ Bump version. Add more markup. Tell that one can use toolname --help to
+ get the allowed opetion for Makefile.am. Improve 'how does it work' section.
+
+ svn path=/trunk/; revision=437
+
+ help/manual/C/ChangeLog | 6 ++
+ help/manual/C/gtk-doc-manual.xml | 183 ++++++++++++++++++++------------------
+ 2 files changed, 102 insertions(+), 87 deletions(-)
+
+commit 2159998bf567c7b0e278fe7e7de937dde1ced00e
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Sun Jul 15 08:36:32 2007 +0000
+
+ Improve the ---help output a little.
+
+ * gtkdoc-fixxref.in:
+ Improve the ---help output a little.
+
+ svn path=/trunk/; revision=436
+
+ ChangeLog | 5 +++++
+ gtkdoc-fixxref.in | 2 +-
+ 2 files changed, 6 insertions(+), 1 deletions(-)
+
+commit 2084b6a74250993da18e68014276dbee8cc99367
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Sun Jul 15 08:24:01 2007 +0000
+
+ Improve detection of absolute/relatives paths. Skip duplicate paths. Fixes
+
+ * gtkdoc-fixxref.in:
+ Improve detection of absolute/relatives paths. Skip duplicate paths.
+ Fixes #453717.
+
+ svn path=/trunk/; revision=435
+
+ ChangeLog | 6 ++++++
+ gtkdoc-fixxref.in | 52 +++++++++++++++++++++++++++++++++++++++++++++++-----
+ 2 files changed, 53 insertions(+), 5 deletions(-)
+
+commit 7ad6121250e70dccd1718571719f55efb912f577
+Author: Loïc Minier <lool@dooz.org>
+Date: Thu Jun 14 15:27:51 2007 +0000
+
+ Cleanup $(DOC_MODULE)-undocumented.txt files in maintainer-clean-local.
+
+ 2007-06-14 Loïc Minier <lool@dooz.org>
+
+ * gtk-doc.make:
+ Cleanup $(DOC_MODULE)-undocumented.txt files in
+ maintainer-clean-local. Fixes #415388.
+
+ svn path=/trunk/; revision=434
+
+ ChangeLog | 6 ++++++
+ gtk-doc.make | 2 +-
+ 2 files changed, 7 insertions(+), 1 deletions(-)
+
+commit 8a8e8bfae57b932a6468d1612428ec0e953894f9
+Author: Loïc Minier <lool@dooz.org>
+Date: Thu Jun 14 15:25:05 2007 +0000
+
+ Fix warnings in m4 macros when running "autoreconf -fi -Wall"; Guillem
+
+ 2007-06-14 Loïc Minier <lool@dooz.org>
+
+ * gtk-doc.m4:
+ Fix warnings in m4 macros when running "autoreconf -fi -Wall";
+ Guillem Jover. Fixes #428596.
+
+ svn path=/trunk/; revision=433
+
+ ChangeLog | 6 ++++++
+ gtk-doc.m4 | 24 ++++++++++++------------
+ 2 files changed, 18 insertions(+), 12 deletions(-)
+
+commit 7a5c3c759c64866ceac1224f355e17c342cea212
+Author: Damon Chaplin <damon@gnome.org>
+Date: Mon Jun 11 14:05:33 2007 +0000
+
+ just output "signal" and "property" as the text for cross-reference links
+
+ 2007-06-11 Damon Chaplin <damon@gnome.org>
+
+ * gtkdoc-mkdb.in (ExpandAbbreviations): just output "signal" and
+ "property" as the text for cross-reference links to signals and
+ properties, rather than something like "Object::signal" which can get
+ a bit long. Also tidied up the code a little.
+ (GetArgs): put the " inside the literal element.
+ (GetSignals): use a literal element for the signal name in the title,
+ to match the properties.
+
+
+ svn path=/trunk/; revision=432
+
+ ChangeLog | 10 ++++++++
+ gtkdoc-mkdb.in | 65 +++++++++++++++++++++++++++++++------------------------
+ 2 files changed, 47 insertions(+), 28 deletions(-)
+
+commit c086fa9e651f34c79c49aa61a4b3726d17d0c552
+Author: Damon Chaplin <damon@gnome.org>
+Date: Mon Jun 11 10:28:27 2007 +0000
+
+ added tip about using entities like # to use a '#' without gtk-doc
+
+ 2007-06-11 Damon Chaplin <damon@gnome.org>
+
+ * gtk-doc-manual.xml: added tip about using entities like # to
+ use a '#' without gtk-doc changing it. (Part of #445596)
+
+
+ svn path=/trunk/; revision=431
+
+ help/manual/C/ChangeLog | 5 +++++
+ help/manual/C/gtk-doc-manual.xml | 10 ++++++++++
+ 2 files changed, 15 insertions(+), 0 deletions(-)
+
+commit 484d5a7b95f3977656c54dcdfbe357363e052236
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Fri Mar 16 16:30:00 2007 +0000
+
+ handle preprocessor statements in enum and struct declarations. Fixes
+
+ * gtkdoc-common.pl.in: handle preprocessor statements in enum and
+ struct declarations. Fixes #418027.
+
+ svn path=/trunk/; revision=430
+
+ ChangeLog | 5 +++++
+ gtkdoc-common.pl.in | 10 ++++++++++
+ 2 files changed, 15 insertions(+), 0 deletions(-)
+
+commit adfe77ae088cfe1a40af663dc8d2069f99476efd
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Tue Feb 27 18:26:37 2007 +0000
+
+ create toc for part and reference Fix placement of div.reference
+
+ * gtk-doc.xsl: create toc for part and reference
+ * style.css: Fix placement of div.reference
+
+ svn path=/trunk/; revision=429
+
+ ChangeLog | 6 ++++++
+ gtk-doc.xsl | 2 ++
+ style.css | 2 +-
+ 3 files changed, 9 insertions(+), 1 deletions(-)
+
+commit 482d747729342b7373177642d5e04c002002fc1a
+Author: Damon Chaplin <damon@gnome.org>
+Date: Fri Feb 16 15:29:50 2007 +0000
+
+ Released 1.8.
+
+ 2007-02-16 Damon Chaplin <damon@gnome.org>
+
+ * Released 1.8.
+
+ 2007-02-16 Damon Chaplin <damon@gnome.org>
+
+ * gtkdoc-scan.in: only rebuild the .types file automatically on the
+ very first run (i.e. when there are no sections or types files).
+
+ * gtkdoc-scangobj.in: skip gnome_keyring_item_info_get_type if it is
+ in the .types file as it isn't a real GObject type. This is a hack to
+ avoid breaking the GNOME build. See bug #386508.
+
+
+ svn path=/trunk/; revision=428
+
+ ChangeLog | 13 +++++++++++++
+ NEWS | 27 +++++++++++++++++++++++++++
+ configure.in | 2 +-
+ gtkdoc-scan.in | 7 +++++--
+ gtkdoc-scangobj.in | 3 +++
+ 5 files changed, 49 insertions(+), 3 deletions(-)
+
+commit babc596c79a7371b1bf1a3ca644f2ec8bee3fdb1
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Sun Feb 11 20:41:50 2007 +0000
+
+ fix prerequisite section in nav-header
+
+ * gtk-doc.xsl: fix prerequisite section in nav-header
+
+ svn path=/trunk/; revision=427
+
+ ChangeLog | 4 ++++
+ gtk-doc.xsl | 6 +++---
+ 2 files changed, 7 insertions(+), 3 deletions(-)
+
+commit 0486262ac6eb5ade5e2d6bdc4c1936e1493f5ac7
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Wed Feb 7 21:48:21 2007 +0000
+
+ fixing footnote subscripts, make tables look nicer. #405051
+
+ * style.css: fixing footnote subscripts, make tables look nicer.
+ #405051
+
+ svn path=/trunk/; revision=426
+
+ ChangeLog | 5 +++++
+ style.css | 28 ++++++++++++++++++++++++++--
+ 2 files changed, 31 insertions(+), 2 deletions(-)
+
+commit 2b8c6a225600d2d11e66f57640b511d26a79411f
+Author: Damon Chaplin <damon@gnome.org>
+Date: Wed Feb 7 15:02:41 2007 +0000
+
+ make $(DOC_MODULE)-sections.txt and $(DOC_MODULE)-overrides.txt depend on
+
+ 2007-02-07 Damon Chaplin <damon@gnome.org>
+
+ * gtk-doc.make: make $(DOC_MODULE)-sections.txt and
+ $(DOC_MODULE)-overrides.txt depend on scan-build.stamp, so that
+ parallel make works. #404122, Ed Catmur.
+
+
+ svn path=/trunk/; revision=425
+
+ ChangeLog | 6 ++++++
+ gtk-doc.make | 2 +-
+ 2 files changed, 7 insertions(+), 1 deletions(-)
+
+commit fbc6fe92c259784355db115c9245cd1876fe54aa
+Author: Damon Chaplin <damon@gnome.org>
+Date: Wed Feb 7 14:03:26 2007 +0000
+
+ don't return if !G_TYPE_IS_OBJECT (object_type) as that means interface
+
+ 2007-02-07 Damon Chaplin <damon@gnome.org>
+
+ * gtkdoc-scangobj.in: don't return if !G_TYPE_IS_OBJECT (object_type)
+ as that means interface properties don't get output. This was broken
+ by the patch for #348058.
+
+
+ svn path=/trunk/; revision=424
+
+ ChangeLog | 6 ++++++
+ gtkdoc-scangobj.in | 4 +---
+ 2 files changed, 7 insertions(+), 3 deletions(-)
+
+commit baef4452981d50ac2f03df74f05b86b7b7a5d43c
+Author: Damon Chaplin <damon@gnome.org>
+Date: Sun Jan 21 23:27:37 2007 +0000
+
+ added "--default-includes" option to specify the default "#include"s to
+
+ 2007-01-21 Damon Chaplin <damon@gnome.org>
+
+ * gtkdoc-mkdb.in: added "--default-includes" option to specify the
+ default "#include"s to place at the top of the synopsis of each
+ section. Normally this is specified in a <INCLUDE>...</INCLUDE> line
+ in MODULE-sections.txt, but if you are using the "--rebuild-sections"
+ option to automatically rebuild the MODULE-sections.txt file you can't
+ use that. #395023.
+
+
+ svn path=/trunk/; revision=423
+
+ ChangeLog | 9 +++++++++
+ gtkdoc-mkdb.in | 16 +++++++++++++---
+ help/manual/C/ChangeLog | 4 ++++
+ help/manual/C/gtk-doc-manual.xml | 12 ++++++++++++
+ 4 files changed, 38 insertions(+), 3 deletions(-)
+
+commit 45a0000ebadccd05db38b3cc03a79c00fff2cd0d
+Author: Damon Chaplin <damon@gnome.org>
+Date: Sun Jan 21 23:15:56 2007 +0000
+
+ improved param regexp to handle weird macro vararg names like "format...".
+
+ 2007-01-21 Damon Chaplin <damon@gnome.org>
+
+ * gtkdoc-mktmpl.in (ReadTemplateFile):
+ * gtkdoc-mkdb.in (ReadTemplateFile): improved param regexp to handle
+ weird macro vararg names like "format...". #398971.
+
+
+ svn path=/trunk/; revision=422
+
+ ChangeLog | 6 ++++++
+ gtkdoc-mkdb.in | 4 ++--
+ gtkdoc-mktmpl.in | 4 ++--
+ 3 files changed, 10 insertions(+), 4 deletions(-)
+
+commit 3ba6c6ef886c972c13b6ddf55355c7711b801592
+Author: Damon Chaplin <damon@gnome.org>
+Date: Tue Jan 16 21:49:58 2007 +0000
+
+ support "Include" setting in section docs in source code, same as
+
+ 2007-01-16 Damon Chaplin <damon@gnome.org>
+
+ * gtkdoc-mkdb.in: support "Include" setting in section docs in source
+ code, same as <INCLUDE>...</INCLUDE> setting in sections.txt file.
+ Part of #395023.
+
+
+ svn path=/trunk/; revision=421
+
+ ChangeLog | 6 ++++++
+ gtkdoc-mkdb.in | 16 ++++++++++++++--
+ 2 files changed, 20 insertions(+), 2 deletions(-)
+
+commit 6a5d672212a58d499ddb6884640bbbd65eafb3d7
+Author: Damon Chaplin <damon@gnome.org>
+Date: Tue Jan 16 20:51:56 2007 +0000
+
+ try to line up multiple lines of arguments if possible. #384249
+
+ 2007-01-16 Damon Chaplin <damon@gnome.org>
+
+ * gtkdoc-mkdb.in (OutputMacro): try to line up multiple lines of
+ arguments if possible. #384249
+
+
+ svn path=/trunk/; revision=420
+
+ ChangeLog | 5 +++++
+ gtkdoc-mkdb.in | 20 +++++++++++++++-----
+ 2 files changed, 20 insertions(+), 5 deletions(-)
+
+commit cd60b9b65babd1f63a8e83442665965766616710
+Author: Damon Chaplin <damon@gnome.org>
+Date: Tue Jan 16 14:02:07 2007 +0000
+
+ for headers marked private, return immediately so we don't add anything to
+
+ 2007-01-16 Damon Chaplin <damon@gnome.org>
+
+ * gtkdoc-scan.in (ScanHeader): for headers marked private, return
+ immediately so we don't add anything to the sections file. #395005.
+
+
+ svn path=/trunk/; revision=419
+
+ ChangeLog | 5 +++++
+ gtkdoc-scan.in | 3 ++-
+ 2 files changed, 7 insertions(+), 1 deletions(-)
+
+commit 54e987a85ae0644ee46f6f1f35dcafccac52a642
+Author: Damon Chaplin <damon@gnome.org>
+Date: Tue Jan 16 13:41:06 2007 +0000
+
+ a number of changes to help when adding example code to the docs
+
+ 2007-01-16 Damon Chaplin <damon@gnome.org>
+
+ * gtkdoc-mkdb.in: a number of changes to help when adding example code
+ to the docs (#368382):
+
+ a) Support CDATA in source code comments. (We don't touch anything in
+ CDATA.)
+ b) Support |[ ... ]| to include example code. (Just gets converted to
+ <informalexample><programlisting>)
+ c) Improve <programlisting> handling, by not inserting <para></para>
+ and not expanding "()", "@" or "%". (It still expands '#' so people
+ can use cross-references to any symbols if they want to.).
+ d) Improve '#' links a bit by skipping symbols that look like C
+ preprocessor directives (e.g. "#include").
+ e) Improve '&' handling a bit by converting to '&' if it doesn't
+ already look like the start of an entity reference.
+ f) Added special case for "#include <xxxx>" in <programlisting> so the
+ "<" and ">" get replaced by entities.
+
+ * gtkdoc-mktmpl.in (ReadTemplateFile):
+ * gtkdoc-mkdb.in (ReadTemplateFile): fixed param regexp so it handles
+ "@...:" for varargs again. It also cleans up messed up template files
+ luckily.
+
+
+ svn path=/trunk/; revision=418
+
+ ChangeLog | 24 ++++
+ gtkdoc-mkdb.in | 321 +++++++++++++++++++++++++++++++++++++++++++-----------
+ gtkdoc-mktmpl.in | 2 +-
+ 3 files changed, 281 insertions(+), 66 deletions(-)
+
+commit 3eb88036db4a0ea28617d1b5701a057195852128
+Author: Damon Chaplin <damon@gnome.org>
+Date: Thu Jan 4 13:22:40 2007 +0000
+
+ abort dist if html docs aren't generated. #166462, Gustavo Carneiro.
+
+ 2007-01-04 Damon Chaplin <damon@gnome.org>
+
+ * gtk-doc.make (dist-hook): abort dist if html docs aren't generated.
+ #166462, Gustavo Carneiro.
+
+
+ svn path=/trunk/; revision=417
+
+ ChangeLog | 5 +++++
+ gtk-doc.make | 2 +-
+ 2 files changed, 6 insertions(+), 1 deletions(-)
+
+commit 81e404eb6ec933ece405343f8c759df9f9ef81af
+Author: Damon Chaplin <damon@src.gnome.org>
+Date: Wed Jan 3 18:42:08 2007 +0000
+
+ minor fix to last commit
+
+ svn path=/trunk/; revision=416
+
+ gtkdoc-mkdb.in | 1 +
+ 1 files changed, 1 insertions(+), 0 deletions(-)
+
+commit c99ebe9e7c6373db59cd039d660a1d7cfc6ca00b
+Author: Damon Chaplin <damon@gnome.org>
+Date: Wed Jan 3 18:36:31 2007 +0000
+
+ improved output a little - made field widths larger, removed signal
+
+ 2007-01-03 Damon Chaplin <damon@gnome.org>
+
+ * gtkdoc-mkdb.in: improved output a little - made field widths larger,
+ removed signal prototypes from synopsis, and capitalized all signal
+ flags (to be consistent with argument capitalization). #384247,
+ Hans Petter Jansson.
+
+
+ svn path=/trunk/; revision=415
+
+ ChangeLog | 9 +++++-
+ gtkdoc-mkdb.in | 81 +++++++++++++++++++++++++++++++-------------------------
+ 2 files changed, 53 insertions(+), 37 deletions(-)
+
+commit 901cbb24fb9d6c0f3378b2298858fbb02c476f9a
+Author: Damon Chaplin <damon@gnome.org>
+Date: Wed Jan 3 15:23:29 2007 +0000
+
+ fix parsing of "char * const" arguments, with an extra "\s*". #387681
+
+ 2007-01-03 Damon Chaplin <damon@gnome.org>
+
+ * gtkdoc-mktmpl.in (OutputDeclaration):
+ * gtkdoc-mkdb.in (OutputFunction): fix parsing of "char * const"
+ arguments, with an extra "\s*". #387681
+
+
+ svn path=/trunk/; revision=414
+
+ ChangeLog | 6 ++++++
+ gtkdoc-mkdb.in | 2 +-
+ gtkdoc-mktmpl.in | 2 +-
+ 3 files changed, 8 insertions(+), 2 deletions(-)
+
+commit 644a84feca93e869a37af1773ac396de9581fcf4
+Author: Damon Chaplin <damon@src.gnome.org>
+Date: Wed Jan 3 15:05:00 2007 +0000
+
+ Updated doc build files
+
+ svn path=/trunk/; revision=413
+
+ ChangeLog | 8 ++++++++
+ omf.make | 30 +++++++++++++++++++-----------
+ xmldocs.make | 33 +++++++++++++++++++--------------
+ 3 files changed, 46 insertions(+), 25 deletions(-)
+
+commit deefa93845cd26a992320c879e8336d99b994f32
+Author: J.H.M. Dassen (Ray) <jdassen@src.gnome.org>
+Date: Sun Dec 10 20:52:20 2006 +0000
+
+ Spelling fixes
+
+ help/manual/C/ChangeLog | 4 +++
+ help/manual/C/gtk-doc-manual.xml | 54 +++++++++++++++++++-------------------
+ 2 files changed, 31 insertions(+), 27 deletions(-)
+
+commit 43f1273c3e5c202e98d49cd47a5196f59b8ce10e
+Author: Ross Burton <ross@burtonini.com>
+Date: Thu Dec 7 16:21:26 2006 +0000
+
+ Add examples of how to document structs, properties and signals (#383401).
+
+ 2006-12-07 Ross Burton <ross@burtonini.com>
+
+ * help/manual/C/gtk-doc-manual.xml:
+ Add examples of how to document structs, properties and signals
+ (#383401).
+
+ ChangeLog | 6 ++++
+ help/manual/C/gtk-doc-manual.xml | 51 +++++++++++++++++++++++++++++++++++--
+ 2 files changed, 54 insertions(+), 3 deletions(-)
+
+commit cf2c3ad184480e680ba454d047bc84bee82f8f1c
+Author: Damon Chaplin <damon@gnome.org>
+Date: Mon Dec 4 13:25:18 2006 +0000
+
+ added a '--query-child-properties' argument to allow you to specify a
+
+ 2006-12-04 Damon Chaplin <damon@gnome.org>
+
+ * gtkdoc-scangobj.in: added a '--query-child-properties' argument to
+ allow you to specify a function to return a list of child properties
+ for a class (similar to GtkContainer child properties). #379203
+
+ ChangeLog | 6 ++++++
+ gtkdoc-scangobj.in | 28 +++++++++++++++++++++++++++-
+ 2 files changed, 33 insertions(+), 1 deletions(-)
+
+commit 374965ab3b09aa19c9e150cda8c49b002f82667f
+Author: Damon Chaplin <damon@gnome.org>
+Date: Mon Oct 16 11:36:04 2006 +0000
+
+ remove a shadow declaration to avoid compiler warnings. #362475
+
+ 2006-10-16 Damon Chaplin <damon@gnome.org>
+
+ * gtkdoc-scangobj.in: remove a shadow declaration to avoid compiler
+ warnings. #362475
+
+ ChangeLog | 5 +++++
+ gtkdoc-scangobj.in | 1 -
+ 2 files changed, 5 insertions(+), 1 deletions(-)
+
+commit f4f7d1294af5a930f6945b2ead13caea9f270033
+Author: Damon Chaplin <damon@gnome.org>
+Date: Sun Oct 15 14:42:51 2006 +0000
+
+ added a '--rebuild-sections' option that will automatically recreate the
+
+ 2006-10-15 Damon Chaplin <damon@gnome.org>
+
+ * gtkdoc-scan.in: added a '--rebuild-sections' option that will
+ automatically recreate the MODULE-sections.txt file each time.
+ (This only works for projects with very neat header files.) #310494.
+
+ ChangeLog | 8 +++++++-
+ gtkdoc-scan.in | 14 +++++++++-----
+ 2 files changed, 16 insertions(+), 6 deletions(-)
+
+commit 739e76af4c4f9b2ca09060bd8b0635574186418d
+Author: Damon Chaplin <damon@gnome.org>
+Date: Sun Oct 15 13:00:11 2006 +0000
+
+ Bug #338517: Automatically creating/updating .types file:
+
+ 2006-10-15 Damon Chaplin <damon@gnome.org>
+
+ Bug #338517: Automatically creating/updating .types file:
+
+ * gtkdoc-scan.in: added a '--scan-types' option which will
+ automatically update the .types file using all _get_type() functions
+ found in the headers. (It will also do this if no .types file is found,
+ i.e. when gtk-doc is first run on a project.)
+
+ * gtk-doc.make (scan-build.stamp): run gtkdoc-scan before
+ gtkdoc-scangobj so we can use the generated .types file.
+
+ * gtkdoc-scangobj.in: if the .types file doesn't have any #include
+ directives, just output "extern GType *get_type();" declarations for
+ each *_get_type() function.
+
+ ChangeLog | 16 ++++++++++++++++
+ gtk-doc.make | 4 ++--
+ gtkdoc-scan.in | 26 +++++++++++++++++++++++---
+ gtkdoc-scangobj.in | 14 +++++++++++++-
+ 4 files changed, 54 insertions(+), 6 deletions(-)
+
+commit 10e46c087ad1106549074f0c01c3539414c778b9
+Author: Damon Chaplin <damon@gnome.org>
+Date: Sat Oct 14 14:01:13 2006 +0000
+
+ new function used to expand abbreviations in extra files, but leaving
+
+ 2006-10-14 Damon Chaplin <damon@gnome.org>
+
+ * gtkdoc-mkdb.in (ExpandAbbreviationsExceptCDATA): new function used
+ to expand abbreviations in extra files, but leaving CDATA sections
+ as they are. (#360579)
+
+ ChangeLog | 6 ++++++
+ gtkdoc-mkdb.in | 31 ++++++++++++++++++++++++++++++-
+ 2 files changed, 36 insertions(+), 1 deletions(-)
+
+commit c8e49c7f8995939370d240ddc056a6b8112d1534
+Author: Damon Chaplin <damon@gnome.org>
+Date: Sat Oct 14 13:18:28 2006 +0000
+
+ Allow the section id to be set from within the source code "SECTION:"
+
+ 2006-10-14 Damon Chaplin <damon@gnome.org>
+
+ * gtkdoc-mkdb.in (OutputSGML): Allow the section id to be set from
+ within the source code "SECTION:" comment block. (#349855)
+
+ ChangeLog | 5 +++++
+ gtkdoc-mkdb.in | 12 ++++++++----
+ 2 files changed, 13 insertions(+), 4 deletions(-)
+
+commit b56743713e87a8ffc374ccc3012d6d8a3ae4561b
+Author: Damon Chaplin <damon@gnome.org>
+Date: Fri Oct 13 21:55:19 2006 +0000
+
+ added missing comma from previous fix (#360967).
+
+ 2006-10-13 Damon Chaplin <damon@gnome.org>
+
+ * style.css: added missing comma from previous fix (#360967).
+
+ ChangeLog | 4 ++++
+ style.css | 2 +-
+ 2 files changed, 5 insertions(+), 1 deletions(-)
+
+commit 2a96aee7b72e4cf9887a4040b9d9dcda2363de68
+Author: Damon Chaplin <damon@gnome.org>
+Date: Fri Oct 13 15:11:39 2006 +0000
+
+ new function to output the "Since" and "Stability Level:" paragraphs, with
+
+ 2006-10-13 Damon Chaplin <damon@gnome.org>
+
+ * gtkdoc-mkdb.in (OutputSymbolTraits): new function to output the
+ "Since" and "Stability Level:" paragraphs, with roles to allow
+ XSLT styling. (#348046)
+
+ ChangeLog | 6 ++++
+ gtkdoc-mkdb.in | 70 +++++++++++++++++++++----------------------------------
+ 2 files changed, 33 insertions(+), 43 deletions(-)
+
+commit 27c78b18c58b30ad7fb075271134d8e981a96299
+Author: Damon Chaplin <damon@gnome.org>
+Date: Fri Oct 13 14:39:57 2006 +0000
+
+ support interfaces on non-GObject types. (#348058, Josh Parsons).
+
+ 2006-10-13 Damon Chaplin <damon@gnome.org>
+
+ * gtkdoc-scangobj.in: support interfaces on non-GObject types.
+ (#348058, Josh Parsons).
+
+ ChangeLog | 5 +++++
+ gtkdoc-scangobj.in | 15 ++++++++++++++-
+ 2 files changed, 19 insertions(+), 1 deletions(-)
+
+commit bb526fcbea894a2b1e3cd9ee490d060e684c9c48
+Author: Damon Chaplin <damon@gnome.org>
+Date: Fri Oct 13 11:45:00 2006 +0000
+
+ use "GNOME" instead of "Gnome". (#352160)
+
+ 2006-10-13 Damon Chaplin <damon@gnome.org>
+
+ * gtk-doc-manual.xml: use "GNOME" instead of "Gnome". (#352160)
+
+ help/manual/C/ChangeLog | 4 ++++
+ help/manual/C/gtk-doc-manual.xml | 2 +-
+ 2 files changed, 5 insertions(+), 1 deletions(-)
+
+commit 3fbea7720410220e808e35b8495252e2db5b25a1
+Author: Damon Chaplin <damon@gnome.org>
+Date: Fri Oct 13 11:40:51 2006 +0000
+
+ make sure interfaces are initialized so the signals query works. (#355352)
+
+ 2006-10-13 Damon Chaplin <damon@gnome.org>
+
+ * gtkdoc-scangobj.in: make sure interfaces are initialized so the
+ signals query works. (#355352)
+
+ ChangeLog | 5 +++++
+ gtkdoc-scangobj.in | 8 ++++++--
+ 2 files changed, 11 insertions(+), 2 deletions(-)
+
+commit 8efc50f2beac4552005064ffee4671485c17f04a
+Author: Damon Chaplin <damon@gnome.org>
+Date: Fri Oct 13 11:24:34 2006 +0000
+
+ Make sure appendix title isn't obscured by navigation bar (#360967, Philip
+
+ 2006-10-13 Damon Chaplin <damon@gnome.org>
+
+ * style.css: Make sure appendix title isn't obscured by navigation bar
+ (#360967, Philip Kovacs).
+
+ ChangeLog | 5 +++++
+ style.css | 2 +-
+ 2 files changed, 6 insertions(+), 1 deletions(-)
+
+commit 3646a8823e4a19d15f3ca8f1c59b8c107c5e1a6c
+Author: Matthias Clasen <matthiasc@src.gnome.org>
+Date: Sat Sep 9 04:44:06 2006 +0000
+
+ fix enum types in signal prototypes
+
+ ChangeLog | 5 +++++
+ gtkdoc-scangobj.in | 5 +++++
+ 2 files changed, 10 insertions(+), 0 deletions(-)
+
+commit add311121b8e0e4cc05b38b7a66b5d84426e4f6a
+Author: Damon Chaplin <damon@gnome.org>
+Date: Sat Jul 29 10:01:03 2006 +0000
+
+ Released 1.7.
+
+ 2006-07-29 Damon Chaplin <damon@gnome.org>
+
+ * Released 1.7.
+
+ ChangeLog | 4 ++++
+ NEWS | 15 +++++++++++++++
+ configure.in | 2 +-
+ 3 files changed, 20 insertions(+), 1 deletions(-)
+
+commit ec86032217012eb585a1a1778d3dde63a6e3e558
+Author: Damon Chaplin <damon@gnome.org>
+Date: Fri Jun 30 12:28:30 2006 +0000
+
+ fix regexp to allow section names with '-' in them.
+
+ 2006-06-30 Damon Chaplin <damon@gnome.org>
+
+ * gtkdoc-mkdb.in (ScanSourceFile): fix regexp to allow section names
+ with '-' in them.
+
+ ChangeLog | 3 +++
+ gtkdoc-mkdb.in | 2 +-
+ 2 files changed, 4 insertions(+), 1 deletions(-)
+
+commit 58031be1ddc06c691cd4762d751a01f1935e4947
+Author: Damon Chaplin <damon@gnome.org>
+Date: Fri Jun 30 10:06:56 2006 +0000
+
+ added separate 'docs' target that can be used even when the
+
+ 2006-06-30 Damon Chaplin <damon@gnome.org>
+
+ * gtk-doc.make (all-local, docs): added separate 'docs' target that can
+ be used even when the '--disable-gtk-doc' configure option is used.
+
+ ChangeLog | 5 +++++
+ gtk-doc.make | 10 ++++++----
+ 2 files changed, 11 insertions(+), 4 deletions(-)
+
+commit 7cd20eb0030bcc7b9732f4ced05fa9e6ddc59f7c
+Author: Jody Goldberg <jody@gnome.org>
+Date: Thu Jun 15 09:54:16 2006 +0000
+
+ finish off #341872 Support 'T const * const *foo' and other more complex
+
+ 2006-06-15 Jody Goldberg <jody@gnome.org>
+
+ * gtkdoc-mkdb.in (OutputFunction) : finish off #341872
+ Support 'T const * const *foo' and other more complex types.
+ Support ptr2ptr2func as a func argument.
+ 'void foo (void (**func) (void))'
+ * gtkdoc-mktmpl.in : ditto.
+
+ (committed by Damon with minor changes to spacing so GTK+ docs are
+ unchanged).
+
+ ChangeLog | 11 ++++++++++
+ gtkdoc-mkdb.in | 56 ++++++++++++++++++++++++++++-------------------------
+ gtkdoc-mktmpl.in | 6 ++--
+ 3 files changed, 44 insertions(+), 29 deletions(-)
+
+commit 3c60e7d5b331b11b0d8c43264a30b1668b99c0e5
+Author: Damon Chaplin <damon@gnome.org>
+Date: Fri Jun 9 10:21:38 2006 +0000
+
+ use the 'role' attribute rather than the 'id' attribute to identify the
+
+ 2006-06-09 Damon Chaplin <damon@gnome.org>
+
+ * gtkdoc-mkdb.in:
+ * gtk-doc.xsl: use the 'role' attribute rather than the 'id' attribute
+ to identify the different sections for the navigation bar, since 'id'
+ must be unique throughout the entire document. Also fixed a few minor
+ issues with the output. (#342861, Leonardo Boshell)
+
+ ChangeLog | 8 +++++
+ gtk-doc.xsl | 79 ++++++++++++++++++++++++++++---------------------------
+ gtkdoc-mkdb.in | 66 +++++++++++++++++++++++-----------------------
+ 3 files changed, 81 insertions(+), 72 deletions(-)
+
+commit 7a31e0ae29c8424a8e6c52cd701f7404d4e292d4
+Author: Damon Chaplin <damon@gnome.org>
+Date: Tue May 30 09:01:33 2006 +0000
+
+ Use the 's' modifier to the substitution so we handle links spanning more
+
+ 2006-05-30 Damon Chaplin <damon@gnome.org>
+
+ * gtkdoc-fixxref.in (FixHTMLFile): Use the 's' modifier to the
+ substitution so we handle links spanning more than one line.
+ (#342845).
+
+ .cvsignore | 1 +
+ ChangeLog | 6 ++++++
+ gtkdoc-fixxref.in | 2 +-
+ 3 files changed, 8 insertions(+), 1 deletions(-)
+
+commit a436c9be07c2312ae701cc3d7f04b45137823914
+Author: Damon Chaplin <damon@gnome.org>
+Date: Mon May 22 19:57:15 2006 +0000
+
+ use a separate Makefile.am for each subdirectory rather than using
+
+ 2006-05-22 Damon Chaplin <damon@gnome.org>
+
+ * configure.in:
+ * Makefile.am:
+ * help/Makefile.am:
+ * help/manual/Makefile.am: use a separate Makefile.am for each
+ subdirectory rather than using "SUBDIRS=help/manual/C".
+
+ ChangeLog | 8 ++++++++
+ Makefile.am | 2 +-
+ configure.in | 2 ++
+ help/.cvsignore | 3 +++
+ help/Makefile.am | 3 +++
+ help/manual/.cvsignore | 3 +++
+ help/manual/Makefile.am | 3 +++
+ 7 files changed, 23 insertions(+), 1 deletions(-)
+
+commit 4883a95c6300c13848242f54313a7b9eac379235
+Author: Jody Goldberg <jody@gnome.org>
+Date: Sun May 21 11:25:35 2006 +0000
+
+ Support 'long double foo' and 'T const * const *foo' (#341872) handle ptrs
+
+ 2006-05-21 Jody Goldberg <jody@gnome.org>
+
+ * gtkdoc-common.pl.in (ParseStructDeclaration) : Support
+ 'long double foo' and
+ 'T const * const *foo' (#341872)
+ * gtkdoc-mktmpl.in (OutputDeclaration) : handle ptrs to ptrs to
+ functions 'void func (void (**ptr2ptr2func)(int a))'
+
+ ChangeLog | 8 ++++++++
+ gtkdoc-common.pl.in | 12 +++++++-----
+ gtkdoc-mktmpl.in | 2 +-
+ 3 files changed, 16 insertions(+), 6 deletions(-)
+
+commit 8a805b7ef8da9753140969183c71fb867092fa29
+Author: Damon Chaplin <damon@gnome.org>
+Date: Sun May 21 11:18:22 2006 +0000
+
+ don't check basename for '.[hc]' suffix since we allow other suffixes as
+
+ 2006-05-21 Damon Chaplin <damon@gnome.org>
+
+ * gtkdoc-mkdb.in (ScanSourceFile): don't check basename for '.[hc]'
+ suffix since we allow other suffixes as well now. (#340199)
+
+ * gtkdoc-mktmpl.in (OutputSignalTemplates): check if the parameter
+ is actually in the source code comment block. If not, use the default
+ name. Otherwise we were outputting an empty "@:" in the templates.
+ (ReadTemplateFile): remove empty "@:" lines caused by above bug.
+
+ ChangeLog | 10 ++++++++++
+ gtkdoc-mkdb.in | 2 +-
+ gtkdoc-mktmpl.in | 16 ++++++++++++----
+ 3 files changed, 23 insertions(+), 5 deletions(-)
+
+commit 1cee0769feb839b2d0faffdcc44211fe5df2e854
+Author: Damon Chaplin <damon@gnome.org>
+Date: Sat Apr 15 12:04:42 2006 +0000
+
+ use gtkdochelpdir rather than docdir to avoid clash with autoconf.
+
+ 2006-04-15 Damon Chaplin <damon@gnome.org>
+
+ * xmldocs.make: use gtkdochelpdir rather than docdir to avoid clash
+ with autoconf. (#316508)
+
+ ChangeLog | 3 +++
+ xmldocs.make | 22 +++++++++++-----------
+ 2 files changed, 14 insertions(+), 11 deletions(-)
+
+commit 2bc449749873dc099458422ed8a54e8803e08a54
+Author: Damon Chaplin <damon@gnome.org>
+Date: Sat Apr 15 11:40:18 2006 +0000
+
+ Output "Returns:" rather than "Return value:", and a "C-x4s" binding for
+
+ 2006-04-15 Damon Chaplin <damon@gnome.org>
+
+ * tools/gtk-doc.el: Output "Returns:" rather than "Return value:",
+ and a "C-x4s" binding for inserting a blank section header.
+
+ * gtk-doc.make (sgml-build.stamp): added $(DOC_MODULE)-sections.txt
+ to the dependencies, since although the templates depend on it, they
+ may not be changed, but the XML should still be rebuilt.
+
+ * gtkdoc-mkdb.in (ScanSourceFile): allow whitespace after "SECTION:".
+
+ ChangeLog | 11 +++++++++++
+ gtk-doc.make | 2 +-
+ gtkdoc-mkdb.in | 4 +++-
+ tools/gtk-doc.el | 32 ++++++++++++++++++++++++++------
+ 4 files changed, 41 insertions(+), 8 deletions(-)
+
+commit abaf953d62910a5042400d7964cd2039a59b88fa
+Author: Damon Chaplin <damon@gnome.org>
+Date: Thu Apr 13 22:38:38 2006 +0000
+
+ When outputting a warning about a property, use a single colon ':', since
+
+ 2006-04-13 Damon Chaplin <damon@gnome.org>
+
+ * gtkdoc-mkdb.in (ReadArgsFile): When outputting a warning about a
+ property, use a single colon ':', since that is what is used to
+ document properties in the source code. (2 colons are used for signals)
+
+ * gtk-doc.make (sgml-build.stamp): added $(HFILE_GLOB) here, to
+ catch any new documentation in the headers.
+
+ ChangeLog | 9 +++++++++
+ gtk-doc.make | 2 +-
+ gtkdoc-mkdb.in | 2 +-
+ 3 files changed, 11 insertions(+), 2 deletions(-)
+
+commit db4b487c6803319ac281cb7b729d8a07277bde3d
+Author: Damon Chaplin <damon@gnome.org>
+Date: Wed Apr 12 16:28:15 2006 +0000
+
+ strip special "-struct" suffix from text of links to widget structs.
+
+ 2006-04-12 Damon Chaplin <damon@gnome.org>
+
+ * gtkdoc-mkdb.in (tagify2): strip special "-struct" suffix from
+ text of links to widget structs.
+
+ ChangeLog | 5 +++++
+ gtkdoc-mkdb.in | 11 ++++++++++-
+ 2 files changed, 15 insertions(+), 1 deletions(-)
+
+commit 90a699e49802c560a7e02e4a8a6ffe4ace4e0585
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Sun Apr 9 15:17:47 2006 +0000
+
+ fix link after live.gnome.org wiki changes
+
+ * TODO:
+ fix link after live.gnome.org wiki changes
+
+ ChangeLog | 5 +++++
+ TODO | 2 +-
+ 2 files changed, 6 insertions(+), 1 deletions(-)
+
+commit 28d28854d9f2697d70aeec6add59c55b4c7a03b6
+Author: Damon Chaplin <damon@gnome.org>
+Date: Sun Apr 9 09:31:38 2006 +0000
+
+ Released 1.6.
+
+ 2006-04-09 Damon Chaplin <damon@gnome.org>
+
+ * Released 1.6.
+
+ ChangeLog | 8 ++++++--
+ NEWS | 13 +++++++++++++
+ configure.in | 2 +-
+ 3 files changed, 20 insertions(+), 3 deletions(-)
+
+commit ec2e6dc96db9bbbb3d9862a6669033c6548d0c11
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Wed Mar 29 08:50:36 2006 +0000
+
+ missing '*' for arg in signal prototype in docs (#335486)
+
+ * gtkdoc-scangobj.in:
+ missing '*' for arg in signal prototype in docs (#335486)
+
+ ChangeLog | 5 +++++
+ gtkdoc-scangobj.in | 8 ++++++--
+ 2 files changed, 11 insertions(+), 2 deletions(-)
+
+commit 3bbcdac53a2ed4ef0bf6aec337e226ff2b22e328
+Author: Damon Chaplin <damon@gnome.org>
+Date: Sun Mar 26 14:36:18 2006 +0000
+
+ don't output warnings for overridden titles, since that happens a lot.
+
+ 2006-03-26 Damon Chaplin <damon@gnome.org>
+
+ * gtkdoc-mkdb.in (MergeSourceDocumentation): don't output warnings
+ for overridden titles, since that happens a lot. (#320010)
+
+ ChangeLog | 3 +++
+ gtkdoc-mkdb.in | 5 ++++-
+ 2 files changed, 7 insertions(+), 1 deletions(-)
+
+commit b058ad34b0369517f7f1c827494b1168e2f6071b
+Author: Damon Chaplin <damon@src.gnome.org>
+Date: Sun Mar 26 12:53:52 2006 +0000
+
+ added bug num
+
+ ChangeLog | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+commit 0e1edb1ceea4a01677fb1c0537285fcf0f9076f3
+Author: Damon Chaplin <damon@gnome.org>
+Date: Sun Mar 26 12:53:17 2006 +0000
+
+ check for pkg-config >= 0.19.
+
+ 2006-03-26 Damon Chaplin <damon@gnome.org>
+
+ * configure.in: check for pkg-config >= 0.19.
+
+ ChangeLog | 2 ++
+ configure.in | 3 +++
+ 2 files changed, 5 insertions(+), 0 deletions(-)
+
+commit 5b979f9ba0da6fc48481e0526fac7818c37077ae
+Author: Damon Chaplin <damon@gnome.org>
+Date: Sun Mar 26 12:39:46 2006 +0000
+
+ put the .pc file in $(datadir) rather than $(libdir), since gtk-doc is
+
+ 2006-03-26 Damon Chaplin <damon@gnome.org>
+
+ * Makefile.am (pkgconfigdir): put the .pc file in $(datadir) rather
+ than $(libdir), since gtk-doc is architecture-independant.
+
+ * configure.in: removed the hard dependancy on openjade or jade, since
+ XML is used mostly now rather than SGML. We just output a warning
+ rather than an error if neither openjade or jade are found.
+
+ ChangeLog | 9 +++++++++
+ Makefile.am | 2 +-
+ configure.in | 2 +-
+ 3 files changed, 11 insertions(+), 2 deletions(-)
+
+commit dafed82a4c688f79ffdbc4bfe183c7bd6ecaacb9
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Fri Mar 24 15:33:18 2006 +0000
+
+ correct format of new shortcuts
+
+ * gtk-doc-manual.xml:
+ correct format of new shortcuts
+
+ help/manual/C/ChangeLog | 5 +++++
+ help/manual/C/gtk-doc-manual.xml | 4 ++--
+ 2 files changed, 7 insertions(+), 2 deletions(-)
+
+commit 19dcdbf6226ec861455180252b55a6a1a6e6e611
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Tue Mar 21 14:30:26 2006 +0000
+
+ document signal and property link short cuts
+
+ * gtk-doc-manual.xml:
+ document signal and property link short cuts
+
+ help/manual/C/ChangeLog | 5 +++++
+ help/manual/C/gtk-doc-manual.xml | 30 ++++++++++++++++++++++--------
+ 2 files changed, 27 insertions(+), 8 deletions(-)
+
+commit 7355e129208c538ced5d2948a82b66d1f8b5b45a
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Tue Mar 21 10:48:58 2006 +0000
+
+ add sect1 to pages with top-page offset adjustment (#166363)
+
+ * style.css:
+ add sect1 to pages with top-page offset adjustment (#166363)
+
+ ChangeLog | 5 +++++
+ style.css | 2 +-
+ 2 files changed, 6 insertions(+), 1 deletions(-)
+
+commit b9585b835921172a379e01f1e47bc923646e8e8e
+Author: Damon Chaplin <damon@gnome.org>
+Date: Sun Mar 19 22:34:33 2006 +0000
+
+ try to handle the start of function declarations spread over 3 lines.
+
+ 2006-03-19 Damon Chaplin <damon@gnome.org>
+
+ * gtkdoc-scan.in (ScanHeader): try to handle the start of function
+ declarations spread over 3 lines. (#321708, Jorn Baayen)
+
+ ChangeLog | 5 +++++
+ gtkdoc-scan.in | 52 ++++++++++++++++++++++++++++++++++------------------
+ 2 files changed, 39 insertions(+), 18 deletions(-)
+
+commit 6e0bb7ad0173dcba77a543aed216e1bba81e15a1
+Author: Damon Chaplin <damon@gnome.org>
+Date: Sun Mar 19 21:31:37 2006 +0000
+
+ (OutputOldParams): don't bother outputting unused parameters if they don't
+
+ 2006-03-19 Damon Chaplin <damon@gnome.org>
+
+ (OutputOldParams): don't bother outputting unused parameters if they
+ don't have any documentation as that is pointless.
+
+ ChangeLog | 5 +++++
+ gtkdoc-mktmpl.in | 6 +++++-
+ 2 files changed, 10 insertions(+), 1 deletions(-)
+
+commit ff9c2f68357ea28d3f928e656c07f465ff65c777
+Author: Damon Chaplin <damon@gnome.org>
+Date: Sun Mar 19 20:39:09 2006 +0000
+
+ Add a workaround for an old bug handling macros with arguments spread over
+
+ 2006-03-19 Damon Chaplin <damon@gnome.org>
+
+ * gtkdoc-mktmpl.in (ReadTemplateFile): Add a workaround for an old
+ bug handling macros with arguments spread over several lines. (#318666)
+
+ ChangeLog | 5 +++++
+ gtkdoc-mktmpl.in | 8 ++++++++
+ 2 files changed, 13 insertions(+), 0 deletions(-)
+
+commit 252645112ddb2360cd8feb839cf3cacd934c285c
+Author: Damon Chaplin <damon@gnome.org>
+Date: Sun Mar 19 19:05:44 2006 +0000
+
+ Make sure we still output an index term if there isn't 'deprecated' or
+
+ 2006-03-19 Damon Chaplin <damon@gnome.org>
+
+ * gtkdoc-mkdb.in (MakeIndexterms): Make sure we still output an index
+ term if there isn't 'deprecated' or 'since' info.
+ (#334851, Tommi Komulainen).
+
+ ChangeLog | 6 ++++++
+ gtkdoc-mkdb.in | 3 +++
+ 2 files changed, 9 insertions(+), 0 deletions(-)
+
+commit 8d18952c3b558072a95157877c4f3e8368069659
+Author: Damon Chaplin <damon@gnome.org>
+Date: Sun Mar 19 18:50:03 2006 +0000
+
+ added "--ignore-decorators" option to ignore a list of declarators in
+
+ 2006-03-19 Damon Chaplin <damon@gnome.org>
+
+ * gtkdoc-scan.in (ScanHeader): added "--ignore-decorators" option to
+ ignore a list of declarators in function declarations.
+ (#316512, Bertram Felgenhauer).
+
+ ChangeLog | 6 ++++++
+ gtkdoc-scan.in | 28 +++++++++++++++++-----------
+ 2 files changed, 23 insertions(+), 11 deletions(-)
+
+commit d5f8453d9b8327233a3bb3465a13dd697b8644a4
+Author: Damon Chaplin <damon@gnome.org>
+Date: Sun Mar 19 18:38:42 2006 +0000
+
+ call MakeIndexTerms() to make sure that signals appear in the
+
+ 2006-03-19 Damon Chaplin <damon@gnome.org>
+
+ * gtkdoc-mkdb.in (GetSignals, GetArgs): call MakeIndexTerms() to make
+ sure that signals appear in the deprecated/new symbol indices.
+ (#332007, Tommi Komulainen).
+
+ ChangeLog | 6 ++++++
+ gtkdoc-mkdb.in | 2 ++
+ 2 files changed, 8 insertions(+), 0 deletions(-)
+
+commit 2d48f207bdb3235f849aabf7a94453bf91eed832
+Author: Damon Chaplin <damon@gnome.org>
+Date: Sun Mar 19 18:24:11 2006 +0000
+
+ allow use of 'Object::signal' and 'Object:property' to link to signals and
+
+ 2006-03-19 Damon Chaplin <damon@gnome.org>
+
+ * gtkdoc-mkdb.in (OutputEnum, ExpandAbbreviations, symbolify):
+ allow use of 'Object::signal' and 'Object:property' to link to signals
+ and properties, and add links to enum constant values.
+ (#332483, Stefan Kost)
+
+ ChangeLog | 7 +++++++
+ gtkdoc-mkdb.in | 19 ++++++++++++++++---
+ 2 files changed, 23 insertions(+), 3 deletions(-)
+
+commit 950ff9de4470b3fbe80f8f47a0f91e5dd1a37331
+Author: Matthias Clasen <mclasen@redhat.com>
+Date: Wed Mar 15 15:10:32 2006 +0000
+
+ Create separate indexterms for different roles, since the docbook
+
+ 2006-03-15 Matthias Clasen <mclasen@redhat.com>
+
+ * gtkdoc-mkdb.in (MakeIndexterms): Create separate indexterms
+ for different roles, since the docbook stylesheets don't handle
+ multiple roles in one attribute. (#331586, Tommi Komulainen)
+
+ ChangeLog | 6 ++++++
+ gtkdoc-mkdb.in | 15 ++++++---------
+ 2 files changed, 12 insertions(+), 9 deletions(-)
+
+commit 29e16481884ab0d27d384735b9a8eaef9b35248a
+Author: Damon Chaplin <damon@src.gnome.org>
+Date: Tue Mar 7 12:16:17 2006 +0000
+
+ updates for 1.5 release
+
+ ChangeLog | 4 ++++
+ NEWS | 15 +++++++++++++++
+ README | 20 +-------------------
+ configure.in | 2 +-
+ help/manual/C/README | 31 ++-----------------------------
+ 5 files changed, 23 insertions(+), 49 deletions(-)
+
+commit 4bc3c4f86ba700f08d81e91a82638f1e742c74fd
+Author: Tommi Komulainen <tommi.komulainen@nokia.com>
+Date: Mon Mar 6 19:19:07 2006 +0000
+
+ Print object name after <TITLE> (#333380)
+
+ 2006-03-06 Tommi Komulainen <tommi.komulainen@nokia.com>
+
+ * gtkdoc-scan.in (ScanHeader): Print object name after <TITLE> in
+ order to get get object hierarchy, signals and properties
+ documentation appear automatically (#333380)
+
+ ChangeLog | 6 ++++++
+ gtkdoc-scan.in | 2 +-
+ 2 files changed, 7 insertions(+), 1 deletions(-)
+
+commit b00fdde3058ebad6125f9e3c1c455a383ab21e23
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Tue Jan 24 15:51:13 2006 +0000
+
+ patch from Damon Chaplin to fix signal flag parsing
+
+ * gtkdoc-mkdb.in: patch from Damon Chaplin to fix signal flag parsing
+
+ ChangeLog | 4 ++++
+ gtkdoc-mkdb.in | 2 +-
+ 2 files changed, 5 insertions(+), 1 deletions(-)
+
+commit 21f8c6ca807bdc73ec2514ef1291c786b0c2af80
+Author: Damon Chaplin <damon@gnome.org>
+Date: Sun Jan 8 17:02:27 2006 +0000
+
+ patch from Jonathan Blandford to add support for a "--source-suffixes"
+
+ 2006-01-08 Damon Chaplin <damon@gnome.org>
+
+ * gtkdoc-mkdb.in: patch from Jonathan Blandford to add support for a
+ "--source-suffixes" option so you can scan files with any suffixes
+ you want (e.g. C++ files).
+
+ ChangeLog | 6 ++++++
+ gtkdoc-mkdb.in | 31 +++++++++++++++++++++----------
+ 2 files changed, 27 insertions(+), 10 deletions(-)
+
+commit 846d9e28fd33c8a151187463a167059f1da57c83
+Author: Matthias Clasen <mclasen@redhat.com>
+Date: Tue Dec 20 04:38:33 2005 +0000
+
+ Use \w+: instead of \S+: when matching parameter names, so that
+
+ 2005-12-19 Matthias Clasen <mclasen@redhat.com>
+
+ * gtkdoc-mktmpl.in: Use \w+: instead of \S+: when
+ matching parameter names, so that @Deprecated:2.10:
+ works in template files like in source code comments.
+
+ * gtkdoc-mkdb.in: Add a missing "and" to the versioned
+ deprecation note.
+
+ ChangeLog | 9 +++++++++
+ gtkdoc-mkdb.in | 2 +-
+ gtkdoc-mktmpl.in | 2 +-
+ 3 files changed, 11 insertions(+), 2 deletions(-)
+
+commit bb936ce186b97859fa0ca2e8c49a6939442dd2d4
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Fri Dec 9 09:25:20 2005 +0000
+
+ added more details about doc-comments added section about revision control
+
+ * gtk-doc-manual-C.omf.in:
+ * gtk-doc-manual.xml:
+ added more details about doc-comments
+ added section about revision control systems
+
+ help/manual/C/ChangeLog | 7 ++
+ help/manual/C/gtk-doc-manual-C.omf.in | 2 +-
+ help/manual/C/gtk-doc-manual.xml | 141 +++++++++++++++++++++++++++++++--
+ 3 files changed, 143 insertions(+), 7 deletions(-)
+
+commit a014ef6dd76dab1845099317b3f319d9fa00c2ef
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Fri Dec 9 09:20:37 2005 +0000
+
+ try more to downgrade devhelp for old file format
+
+ * devhelp.xsl:
+ try more to downgrade devhelp for old file format
+
+ ChangeLog | 5 +++++
+ devhelp.xsl | 27 +--------------------------
+ 2 files changed, 6 insertions(+), 26 deletions(-)
+
+commit b0034611d0984870abf01b39f57d898c7e7b5c5f
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Fri Dec 9 09:07:39 2005 +0000
+
+ add devhelp2 files create a autoregen.sh
+
+ * Makefile.am:
+ add devhelp2 files
+ * autogen.sh:
+ create a autoregen.sh
+ * devhelp.xsl:
+ * devhelp2.xsl:
+ * gtk-doc.xsl:
+ generate two separate versions
+ * gtkdoc-mkdb.in:
+ fix parsing const after type (#322556)
+ * gtkdoc-mktmpl.in:
+ fix parseing multiline macro heads (#320588)
+ * gtkdoc-scangobj.in:
+ allow additional root types (#323581)
+
+ ChangeLog | 17 ++++++
+ Makefile.am | 2 +
+ autogen.sh | 5 ++
+ devhelp2.xsl | 155 ++++++++++++++++++++++++++++++++++++++++++++++++++++
+ gtk-doc.xsl | 2 +
+ gtkdoc-mkdb.in | 60 ++++++++++----------
+ gtkdoc-mktmpl.in | 7 ++-
+ gtkdoc-scangobj.in | 54 +++++++++++-------
+ 8 files changed, 250 insertions(+), 52 deletions(-)
+
+commit a39ebb511ed5ad60727cb5754d9b330dc9d2cc7d
+Author: Matthias Clasen <mclasen@redhat.com>
+Date: Mon Dec 5 05:21:55 2005 +0000
+
+ Allow parameters to be declared volatile (this happens in GLib nowadays)
+
+ 2005-12-05 Matthias Clasen <mclasen@redhat.com>
+
+ * gtkdoc-mktmpl.in (OutputDeclaration):
+ * gtkdoc-mkdb.in (OutputFunction): Allow parameters to be declared
+ volatile (this happens in GLib nowadays)
+
+ ChangeLog | 6 ++++++
+ gtkdoc-mkdb.in | 2 +-
+ gtkdoc-mktmpl.in | 2 +-
+ 3 files changed, 8 insertions(+), 2 deletions(-)
+
+commit 0e346456e01406609039975ac84ba43d98f36c11
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Tue Oct 11 07:53:40 2005 +0000
+
+ remove left-over debug-print
+
+ * gtkdoc-mkdb.in:
+ remove left-over debug-print
+
+ ChangeLog | 5 +++++
+ gtkdoc-mkdb.in | 2 +-
+ 2 files changed, 6 insertions(+), 1 deletions(-)
+
+commit 86231f99fefbd7625c049525e1d5892d584ea367
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Mon Oct 10 15:18:14 2005 +0000
+
+ enhance gtkdoc devhelp output (#318129)
+
+ * devhelp.xsl:
+ * gtkdoc-mkdb.in:
+ enhance gtkdoc devhelp output (#318129)
+
+ ChangeLog | 6 ++++
+ devhelp.xsl | 27 +++++++++++++++++++-
+ gtkdoc-mkdb.in | 77 ++++++++++++++++++++++++++++++++++++++++++++++++-------
+ 3 files changed, 99 insertions(+), 11 deletions(-)
+
+commit 254d13cbe185d9770dcb30f592a67e1fe79e6385
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Wed Oct 5 16:26:04 2005 +0000
+
+ revert exchanging with  
+
+ * gtkdoc-common.pl.in:
+ revert exchanging with  
+
+ ChangeLog | 5 +++++
+ gtkdoc-common.pl.in | 12 ++++++------
+ 2 files changed, 11 insertions(+), 6 deletions(-)
+
+commit 2b59e6c8ac26492a954853d9a3dcc314a7266461
+Author: Damon Chaplin <damon@gnome.org>
+Date: Tue Oct 4 21:14:57 2005 +0000
+
+ patch from Andrae Steiner to add missing ';' (#317938)
+
+ 2005-10-04 Damon Chaplin <damon@gnome.org>
+
+ * gtkdoc-scanobj.in: patch from Andrae Steiner to add missing ';'
+ (#317938)
+
+ ChangeLog | 5 +++++
+ gtkdoc-scanobj.in | 2 +-
+ 2 files changed, 6 insertions(+), 1 deletions(-)
+
+commit 0060d27db702f6bb631902a0e1a42f0e40f3c0ad
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Thu Sep 29 08:47:54 2005 +0000
+
+ additionally point people to the gnome-wiki don't warn on macros with
+
+ * TODO:
+ additionally point people to the gnome-wiki
+ * gtkdoc-mkdb.in:
+ don't warn on macros with return docs (#314267)
+
+ ChangeLog | 8 ++++++++
+ TODO | 6 ++++--
+ gtkdoc-mkdb.in | 7 ++++++-
+ 3 files changed, 18 insertions(+), 3 deletions(-)
+
+commit 20f3024ba3a890f0b30ab1708c912607fad8d8a1
+Author: Matthias Clasen <matthiasc@src.gnome.org>
+Date: Wed Sep 28 17:47:44 2005 +0000
+
+ Generate documentation for signal flags
+
+ ChangeLog | 12 ++++++
+ gtkdoc-mkdb.in | 104 ++++++++++++++++++++++++++++++++++++++++-----------
+ gtkdoc-mktmpl.in | 6 +++
+ gtkdoc-scangobj.in | 24 ++++++++++-
+ 4 files changed, 120 insertions(+), 26 deletions(-)
+
+commit 487222c34323610fb00f0d8087e6ce68f9778b84
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Mon Sep 19 21:06:19 2005 +0000
+
+ adding a note about where the new docs are
+
+ * doc/README:
+ * doc/authors.txt:
+ * doc/gnome.txt:
+ * doc/sections-file.txt:
+ * doc/setting-up.txt:
+ * doc/style-guide.txt:
+ * gtkdoc-common.pl.in:
+ adding a note about where the new docs are
+
+ ChangeLog | 11 +++++++++++
+ doc/README | 11 +++++++----
+ doc/authors.txt | 6 ++++++
+ doc/gnome.txt | 9 +++++++++
+ doc/sections-file.txt | 9 +++++++++
+ doc/setting-up.txt | 6 ++++++
+ doc/style-guide.txt | 6 ++++++
+ gtkdoc-common.pl.in | 12 ++++++------
+ 8 files changed, 60 insertions(+), 10 deletions(-)
+
+commit 7d93794cc0049590b58589113ba0d25ec69bb0c0
+Author: Damon Chaplin <damon@gnome.org>
+Date: Thu Sep 15 14:58:31 2005 +0000
+
+ patch from dodji seketeli to handle functions returning explicit enums.
+
+ 2005-09-15 Damon Chaplin <damon@gnome.org>
+
+ * gtkdoc-scan.in (ScanHeader):
+ * gtkdoc-mktmpl.in (OutputDeclaration):
+ * gtkdoc-mkdb.in (OutputFunction): patch from dodji seketeli to handle
+ functions returning explicit enums. (#303337)
+
+ ChangeLog | 7 ++++++-
+ gtkdoc-mkdb.in | 2 +-
+ gtkdoc-mktmpl.in | 4 ++--
+ gtkdoc-scan.in | 6 +++---
+ 4 files changed, 12 insertions(+), 7 deletions(-)
+
+commit 674766476ae5ea75ac134ac65db13f521f948699
+Author: Damon Chaplin <damon@gnome.org>
+Date: Thu Sep 15 14:50:34 2005 +0000
+
+ Patch from Stepan Kasal:
+
+ 2005-09-15 Damon Chaplin <damon@gnome.org>
+
+ Patch from Stepan Kasal:
+
+ * gtkdoc-mkhtml.in, gtkdoc-mkman.in, gtkdocize.in: Add datarootdir
+ variable, for compatibility with future Autoconf releases.
+
+ * configure.in (PACKAGE_DATA_DIR): Simplify the computation;
+ use a local macro AC_DEFINE_DIR, based on a macro from Autoconf
+ macro archive.
+
+ ChangeLog | 11 +++++++++++
+ configure.in | 31 +++++++++++++++++--------------
+ gtkdoc-mkhtml.in | 1 +
+ gtkdoc-mkman.in | 1 +
+ gtkdocize.in | 1 +
+ help/manual/C/.cvsignore | 3 ++-
+ 6 files changed, 33 insertions(+), 15 deletions(-)
+
+commit 73642e97c8b3a702983ed5a99accd7574485d17b
+Author: Damon Chaplin <damon@gnome.org>
+Date: Thu Sep 15 14:16:18 2005 +0000
+
+ Patch from Stepan Kasal to avoid some gcc warnings. (#312985)
+
+ 2005-09-15 Damon Chaplin <damon@gnome.org>
+
+ * gtkdoc-scangobj.in: Patch from Stepan Kasal to avoid some gcc
+ warnings. (#312985)
+
+ ChangeLog | 3 ++
+ gtkdoc-scangobj.in | 58 ++++++++++++++++++++++++++-------------------------
+ 2 files changed, 33 insertions(+), 28 deletions(-)
+
+commit e341eaf224d130e74b1be41036f31daeed2dc77e
+Author: Damon Chaplin <damon@src.gnome.org>
+Date: Thu Sep 15 13:46:45 2005 +0000
+
+ Also use "sh -c" to run the scanner (#167688)
+
+ * gtkdoc-scanobj.in:
+ * gtkdoc-scangobj.in:
+ Also use "sh -c" to run the scanner (#167688)
+
+ ChangeLog | 2 +-
+ gtkdoc-scangobj.in | 2 +-
+ gtkdoc-scanobj.in | 2 +-
+ 3 files changed, 3 insertions(+), 3 deletions(-)
+
+commit 3743095b45e4487335504e55b21151d5829ea4de
+Author: Damon Chaplin <damon@gnome.org>
+Date: Thu Sep 15 13:32:22 2005 +0000
+
+ Use brackets around open() arguments to avoid precedence problems.
+
+ 2005-09-15 Damon Chaplin <damon@gnome.org>
+
+ * gtkdoc-scanobj.in:
+ * gtkdoc-scangobj.in: Use brackets around open() arguments to avoid
+ precedence problems. (#314838)
+
+ ChangeLog | 4 ++++
+ gtkdoc-scangobj.in | 4 ++--
+ gtkdoc-scanobj.in | 4 ++--
+ 3 files changed, 8 insertions(+), 4 deletions(-)
+
+commit c1d2841f9868ba9c6508a73f2a16156d2f56549a
+Author: Damon Chaplin <damon@gnome.org>
+Date: Thu Sep 15 13:26:04 2005 +0000
+
+ Output more messages about compilation, linking and running of scanner, to
+
+ 2005-09-15 Damon Chaplin <damon@gnome.org>
+
+ * gtkdoc-scanobj.in:
+ * gtkdoc-scangobj.in: Output more messages about compilation, linking
+ and running of scanner, to try to help track down any problems.
+ (#167688)
+
+ ChangeLog | 5 +++++
+ gtkdoc-scangobj.in | 11 ++++++++---
+ gtkdoc-scanobj.in | 11 ++++++++---
+ 3 files changed, 21 insertions(+), 6 deletions(-)
+
+commit 01aca90748f11704e780d902eb6a5c1958836218
+Author: Damon Chaplin <damon@gnome.org>
+Date: Thu Sep 15 12:33:14 2005 +0000
+
+ patch from Stefan Kost to improve error messages, though I changed it
+
+ 2005-09-15 Damon Chaplin <damon@gnome.org>
+
+ * gtkdoc-scanobj.in:
+ * gtkdoc-scangobj.in: patch from Stefan Kost to improve error messages,
+ though I changed it slightly so it doesn't output errno.
+
+ ChangeLog | 6 ++++++
+ gtkdoc-scangobj.in | 11 ++++++-----
+ gtkdoc-scanobj.in | 8 +++++---
+ 3 files changed, 17 insertions(+), 8 deletions(-)
+
+commit e1a48ebf7c864a2b49ebbb3680e3f29c02fec204
+Author: Damon Chaplin <damon@gnome.org>
+Date: Fri Sep 9 16:35:25 2005 +0000
+
+ Use a fixed navigation bar at the top of the page. Patch from Stefan Kost
+
+ 2005-09-09 Damon Chaplin <damon@gnome.org>
+
+ * gtkdoc-mkdb.in:
+ * style.css:
+ * gtk-doc.xsl: Use a fixed navigation bar at the top of the page.
+ Patch from Stefan Kost with minor changes by me. (#313569)
+
+ ChangeLog | 7 ++
+ gtk-doc.xsl | 327 +++++++++++++++++++++++++++++++++++++-------------------
+ gtkdoc-mkdb.in | 72 ++++++------
+ style.css | 28 +++++-
+ 4 files changed, 285 insertions(+), 149 deletions(-)
+
+commit b33e767aa6e27de6bf4687eaf1e324e74fddd271
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Tue Sep 6 21:19:15 2005 +0000
+
+ integrated most of the notes from the text files under doc/*.txt
+
+ * gtk-doc-manual.xml:
+ integrated most of the notes from the text files under doc/*.txt
+
+ help/manual/C/ChangeLog | 5 +
+ help/manual/C/gtk-doc-manual.xml | 471 +++++++++++++++++++++++++++++++++++---
+ 2 files changed, 444 insertions(+), 32 deletions(-)
+
+commit 0c645f0840b1d0f0a09946135d7f290cb3bb353c
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Tue Aug 23 22:03:07 2005 +0000
+
+ more notes in the faq setup chapter is nearly complete more notes about
+
+ * gtk-doc-manual.xml:
+ more notes in the faq
+ setup chapter is nearly complete
+ more notes about doc comment format
+
+ help/manual/C/ChangeLog | 7 ++
+ help/manual/C/gtk-doc-manual.xml | 220 +++++++++++++++++++++++++++++++++-----
+ 2 files changed, 202 insertions(+), 25 deletions(-)
+
+commit b02ba9dd786e59226e13563fe0a42b771ff78ba0
+Author: Damon Chaplin <damon@gnome.org>
+Date: Thu Aug 18 15:57:58 2005 +0000
+
+ added "const" in a few places to avoid lots of warnings if all gcc
+
+ 2005-08-18 Damon Chaplin <damon@gnome.org>
+
+ * gtkdoc-scangobj.in: added "const" in a few places to avoid lots
+ of warnings if all gcc warnings are on. (#312985)
+
+ ChangeLog | 5 +++++
+ gtkdoc-scangobj.in | 30 +++++++++++++++---------------
+ 2 files changed, 20 insertions(+), 15 deletions(-)
+
+commit a1c9ca83cde5bfb93eaf4608103a6b996248dac1
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Mon Aug 15 16:13:51 2005 +0000
+
+ reanimated gtkdoc manual added new chapters
+
+ * .cvsignore:
+ * ChangeLog:
+ * Makefile:
+ * Makefile.am:
+ * fdl-appendix.xml:
+ * gtk-doc-manual-C.omf.in:
+ * gtk-doc-manual.xml:
+ reanimated gtkdoc manual
+ added new chapters
+
+ help/manual/C/.cvsignore | 4 +
+ help/manual/C/ChangeLog | 12 +
+ help/manual/C/Makefile | 23 -
+ help/manual/C/Makefile.am | 17 +
+ help/manual/C/fdl-appendix.xml | 2 +-
+ help/manual/C/gtk-doc-manual-C.omf.in | 34 ++
+ help/manual/C/gtk-doc-manual.xml | 739 +++++++++++++++++++++------------
+ 7 files changed, 532 insertions(+), 299 deletions(-)
+
+commit 251cb4cc69aba009a0eae8b4b407884e1fed1b3c
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Mon Aug 15 16:13:31 2005 +0000
+
+ adding the infrastructure for installation of gtkdoc manual
+
+ * COPYING-DOCS:
+ * Makefile.am:
+ * configure.in:
+ * omf.make:
+ * xmldocs.make:
+ adding the infrastructure for installation of gtkdoc manual
+
+ COPYING-DOCS | 355 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ ChangeLog | 9 ++
+ Makefile.am | 7 +-
+ configure.in | 13 ++
+ omf.make | 53 +++++++++
+ xmldocs.make | 96 ++++++++++++++++
+ 6 files changed, 532 insertions(+), 1 deletions(-)
+
+commit 74f329ea52d87db94d8d5d7ac8f38760b86256ee
+Author: Stefan Kost <stefkost@src.gnome.org>
+Date: Fri Aug 12 15:56:44 2005 +0000
+
+ fix warning about uninitialized var EXPAND_CONTENT_FILES
+
+ ChangeLog | 5 +++++
+ gtkdoc-mkdb.in | 2 +-
+ 2 files changed, 6 insertions(+), 1 deletions(-)
+
+commit d72f676371a9ca9b5456f0d4d668b1563a6fbdc2
+Author: tjlocal <timj@imendio.com>
+Date: Tue Aug 9 10:02:38 2005 +0000
+
+ bail out with exit $? for failing programs.
+
+ Tue Aug 9 12:01:27 2005 tjlocal <timj@imendio.com>
+
+ * autogen.sh: bail out with exit $? for failing programs.
+
+ ChangeLog | 4 ++++
+ autogen.sh | 8 ++++----
+ 2 files changed, 8 insertions(+), 4 deletions(-)
+
+commit 03bac94f62b71505ab92eee7ac29073e5c6bd460
+Author: Damon Chaplin <damon@src.gnome.org>
+Date: Tue Jul 26 20:25:11 2005 +0000
+
+ Prefix build messages with "gtk-doc: " rather than surrounding them
+ with "***" which looks like an error. (#170008)
+
+ ChangeLog | 3 +++
+ gtk-doc.make | 10 +++++-----
+ 2 files changed, 8 insertions(+), 5 deletions(-)
+
+commit 3ddf2fed9f927ba82ab0d94da721eef10b9b240c
+Author: Damon Chaplin <damon@gnome.org>
+Date: Tue Jul 26 20:18:02 2005 +0000
+
+ Pass DOC_MAIN_SGML_FILE as the main filename to gtkdoc-mkdb. Avoids
+
+ 2005-07-26 Damon Chaplin <damon@gnome.org>
+
+ * gtk-doc.make: Pass DOC_MAIN_SGML_FILE as the main filename to
+ gtkdoc-mkdb. Avoids creating spurious foo.sgml files in an XML build.
+ Patch from Malcolm Tredinnick. (#311344)
+
+ ChangeLog | 6 ++++++
+ gtk-doc.make | 2 +-
+ 2 files changed, 7 insertions(+), 1 deletions(-)
+
+commit 539e83823e87c54476adc281bbc553f93865114f
+Author: Damon Chaplin <damon@gnome.org>
+Date: Tue Jul 26 10:20:45 2005 +0000
+
+ removed comment about not being able to add section documentation to
+
+ 2005-07-26 Damon Chaplin <damon@gnome.org>
+
+ * README: removed comment about not being able to add section
+ documentation to source code files, which is not true any more.
+
+ ChangeLog | 5 +++++
+ README | 4 ----
+ 2 files changed, 5 insertions(+), 4 deletions(-)
+
+commit 3d2e91bf7dee5e965bfa0e0dbc51667568c67bbb
+Author: Damon Chaplin <damon@src.gnome.org>
+Date: Wed Jul 6 10:46:08 2005 +0000
+
+ added info on 1.4 release
+
+ ChangeLog | 4 ++++
+ NEWS | 9 +++++++++
+ 2 files changed, 13 insertions(+), 0 deletions(-)
+
+commit f23efef3b0bcfa7826cdde6b48249b41b59c9915
+Author: Matthias Clasen <matthiasc@src.gnome.org>
+Date: Mon Jun 20 17:56:19 2005 +0000
+
+ Fix some typos
+
+ ChangeLog | 4 ++++
+ gtkdoc-mkdb.in | 4 ++--
+ 2 files changed, 6 insertions(+), 2 deletions(-)
+
+commit a77e7203dd6bfc357044c25cff32d97d3a470b74
+Author: Mikael Hallendal <micke@imendio.com>
+Date: Fri Jun 17 09:26:58 2005 +0000
+
+ Updated Devhelp web address.
+
+
+ 2005-06-17 Mikael Hallendal <micke@imendio.com>
+
+ * README: Updated Devhelp web address.
+
+ ChangeLog | 4 ++++
+ README | 2 +-
+ 2 files changed, 5 insertions(+), 1 deletions(-)
+
+commit bb5a7f7d4ff14d9128a300358d9b3fa01fc55de7
+Author: Matthias Clasen <mclasen@redhat.com>
+Date: Mon May 16 18:11:11 2005 +0000
+
+ Add "expand-content-files:s" to the GetOptions() call.
+
+ 2005-05-16 Matthias Clasen <mclasen@redhat.com>
+
+ * gtkdoc-mkdb.in: Add "expand-content-files:s" to the GetOptions() call.
+
+ ChangeLog | 4 ++++
+ gtkdoc-mkdb.in | 2 +-
+ 2 files changed, 5 insertions(+), 1 deletions(-)
+
+commit c44df2712a2f5f7af67b0448a99029f6c1436fc9
+Author: Owen Taylor <otaylor@redhat.com>
+Date: Mon May 16 15:46:53 2005 +0000
+
+ Add an --expand-content-files option to specify extra files to expand
+
+ 2005-05-10 Owen Taylor <otaylor@redhat.com>
+
+ * gtkdoc-mkdb.in: Add an --expand-content-files option
+ to specify extra files to expand abbreviations in and
+ copy into the output directory.
+
+ * gtk-doc.make examples/Makefile.am: Add expand_content_files
+ variable.
+
+ * gtkdoc-mktmpl.in (OutputTemplateFile): Add an
+ --only-section-tmpl flag so that projects that keep everything
+ but section descriptions inline can avoid cvs conflicts.
+
+ * gtk-doc.make examples/Makefile.am: Add support for
+ MKTMPL_OPTIONS
+
+ * configure.in: Up version to 1.4.
+
+ ChangeLog | 18 +++++++++++++++++
+ configure.in | 2 +-
+ examples/Makefile.am | 9 ++++++++
+ gtk-doc.make | 6 ++--
+ gtkdoc-mkdb.in | 52 ++++++++++++++++++++++++++++++++++++++++++++++---
+ gtkdoc-mktmpl.in | 7 ++++-
+ 6 files changed, 84 insertions(+), 10 deletions(-)
+
+commit a6ba2aa032999205e95594833fc6359f621de358
+Author: Matthias Clasen <matthiasc@src.gnome.org>
+Date: Mon May 2 18:38:56 2005 +0000
+
+ Small fix
+
+ ChangeLog | 5 +++++
+ gtkdoc-mkdb.in | 2 +-
+ 2 files changed, 6 insertions(+), 1 deletions(-)
+
+commit dd4f2782acb0d919d7be163c00d384392ee40565
+Author: Matthias Clasen <matthiasc@src.gnome.org>
+Date: Mon Mar 21 14:51:26 2005 +0000
+
+ Allow ':' in names.
+
+ ChangeLog | 4 ++++
+ gtk-doc.dcl | 4 ++--
+ 2 files changed, 6 insertions(+), 2 deletions(-)
+
+commit 9255c35586465306b69deabbd6434dc806a511e2
+Author: James Henstridge <james@jamesh.id.au>
+Date: Mon Mar 21 04:14:18 2005 +0000
+
+ output US-ASCII instead of ISO-8859-1. This ensures that the output will
+
+ 2005-03-21 James Henstridge <james@jamesh.id.au>
+
+ * gtk-doc.xsl (encoding): output US-ASCII instead of ISO-8859-1.
+ This ensures that the output will be display correctly when served
+ as either ISO-8859-1 or UTF-8.
+
+ ChangeLog | 6 ++++++
+ gtk-doc.xsl | 4 +++-
+ 2 files changed, 9 insertions(+), 1 deletions(-)
+
+commit e80547bae78f3d61a948f1d33be3546df452d299
+Author: Sven Neumann <sven@gimp.org>
+Date: Sat Feb 26 01:24:43 2005 +0000
+
+ allow space in Since: keywords, only strip leading and trailing whitespace
+
+ 2005-02-26 Sven Neumann <sven@gimp.org>
+
+ * gtkdoc-mkdb.in (MakeIndexterms): allow space in Since: keywords,
+ only strip leading and trailing whitespace (bug #168384).
+
+ ChangeLog | 5 +++++
+ gtkdoc-mkdb.in | 12 +++++++-----
+ 2 files changed, 12 insertions(+), 5 deletions(-)
+
+commit 6832ecfa5608a6b4a04813f220d6a3b11cd5f1f7
+Author: Damon Chaplin <damon@gnome.org>
+Date: Wed Feb 16 13:56:53 2005 +0000
+
+ add support for "@stability:" in the inline section docs (Brian Cameron).
+
+ 2005-02-16 Damon Chaplin <damon@gnome.org>
+
+ * gtkdoc-mkdb.in (ScanSourceFile): add support for "@stability:"
+ in the inline section docs (Brian Cameron).
+
+ ChangeLog | 5 +++++
+ gtkdoc-mkdb.in | 2 ++
+ 2 files changed, 7 insertions(+), 0 deletions(-)
+
+commit e44ca7a15e25d69851ea225bccf608410f7118b5
+Author: Damon Chaplin <damon@gnome.org>
+Date: Mon Feb 7 12:11:04 2005 +0000
+
+ allow use of "@...:" in the source code as well as "@Varargs:". Patch from
+
+ 2005-02-07 Damon Chaplin <damon@gnome.org>
+
+ * gtkdoc-mkdb.in (MergeSourceDocumentation): allow use of "@...:" in
+ the source code as well as "@Varargs:". Patch from Benjamin Otte.
+ #166366.
+
+ ChangeLog | 6 ++++++
+ gtkdoc-mkdb.in | 5 +++++
+ 2 files changed, 11 insertions(+), 0 deletions(-)
+
+commit 2f16e7e3f687633e2c61febaf3c6f0c820c2c492
+Author: Damon Chaplin <damon@gnome.org>
+Date: Fri Feb 4 14:18:05 2005 +0000
+
+ don't reset $stability if it isn't Stable/Unstable/Private (Brian
+
+ 2005-02-04 Damon Chaplin <damon@gnome.org>
+
+ * gtkdoc-mkdb.in (ParseStabilityLevel): don't reset $stability if it
+ isn't Stable/Unstable/Private (Brian Cameron).
+ (ScanSourceFile): skip whitespace after "SECTION:".
+
+ ChangeLog | 6 ++++++
+ gtkdoc-mkdb.in | 3 +--
+ 2 files changed, 7 insertions(+), 2 deletions(-)
+
+commit 9ee58e5191c552d369d6dcb197b9431991b96e20
+Author: Damon Chaplin <damon@src.gnome.org>
+Date: Tue Feb 1 23:33:39 2005 +0000
+
+ use @see_also and @short_description rather than @see and @summary, to
+ match the template files.
+
+ gtkdoc-mkdb.in | 5 +++--
+ 1 files changed, 3 insertions(+), 2 deletions(-)
+
+commit 182d8f77479864c05172a936793befee76a4372d
+Author: Damon Chaplin <damon@gnome.org>
+Date: Tue Feb 1 23:23:19 2005 +0000
+
+ patch from Stefan Kost to support section documentation within the source
+
+ 2005-02-01 Damon Chaplin <damon@gnome.org>
+
+ * gtkdoc-mkdb.in (ScanSourceFile, MergeSourceDocumentation): patch
+ from Stefan Kost to support section documentation within the source
+ code (long description, short description, see also and title).
+
+ ChangeLog | 4 ++++
+ gtkdoc-mkdb.in | 35 ++++++++++++++++++++++++++++++++---
+ 2 files changed, 36 insertions(+), 3 deletions(-)
+
+commit 268a345f5456c75043023a8ae6ef28313902b92b
+Author: Damon Chaplin <damon@gnome.org>
+Date: Tue Feb 1 23:02:04 2005 +0000
+
+ patch from Brian Cameron to support stability levels.
+
+ 2005-02-01 Damon Chaplin <damon@gnome.org>
+
+ * gtkdoc-mkdb.in:
+ * gtkdoc-mktmpl.in: patch from Brian Cameron to support stability
+ levels.
+
+ ChangeLog | 4 +
+ gtkdoc-mkdb.in | 249 +++++++++++++++++++++++++++++++++++++++++-------------
+ gtkdoc-mktmpl.in | 19 ++++-
+ 3 files changed, 210 insertions(+), 62 deletions(-)
+
+commit e397990c90152a4e6de0ac9e1177b1ae2fd70595
+Author: Damon Chaplin <damon@gnome.org>
+Date: Tue Feb 1 14:37:51 2005 +0000
+
+ patch from Roger Leigh to add support for the "restrict" keyword.
+
+ 2005-02-01 Damon Chaplin <damon@gnome.org>
+
+ * gtkdoc-mkdb.in (OutputFunction):
+ * gtkdoc-mktmpl.in (OutputDeclaration):
+ * gtkdoc-common.pl.in (ParseStructDeclaration): patch from Roger Leigh
+ to add support for the "restrict" keyword.
+
+ * gtkdoc-scan.in (ScanHeader): patch from Roger Leigh to add support
+ for "unsigned" to one of the regexps.
+
+ ChangeLog | 10 ++++++++++
+ gtkdoc-common.pl.in | 5 +++--
+ gtkdoc-mkdb.in | 13 +++++++++----
+ gtkdoc-mktmpl.in | 6 +++---
+ gtkdoc-scan.in | 2 +-
+ 5 files changed, 26 insertions(+), 10 deletions(-)
+
+commit 052d02c3e413a28619cd0958f61c45567276e08a
+Author: Damon Chaplin <damon@gnome.org>
+Date: Mon Jan 31 23:31:19 2005 +0000
+
+ added "2>&1" to grep command to ignore any errors.
+
+ 2005-01-31 Damon Chaplin <damon@gnome.org>
+
+ * gtk-doc.make (scan-build.stamp): added "2>&1" to grep command to
+ ignore any errors.
+
+ ChangeLog | 3 +++
+ gtk-doc.make | 2 +-
+ 2 files changed, 4 insertions(+), 1 deletions(-)
+
+commit e52e7377c13af6e34c47fe2ba7d231dd4461e1c8
+Author: Damon Chaplin <damon@gnome.org>
+Date: Mon Jan 31 23:21:46 2005 +0000
+
+ patch from Stefan Kost to not add '<' '>' around include files that
+
+ 2005-01-31 Damon Chaplin <damon@gnome.org>
+
+ * gtkdoc-mkdb.in: patch from Stefan Kost to not add '<' '>' around
+ include files that already have '"' '"' around them, and to try to
+ gather more information about undocumented symbols. #164462.
+
+ ChangeLog | 6 ++
+ gtkdoc-mkdb.in | 147 ++++++++++++++++++++++++++++++++++++++++++--------------
+ 2 files changed, 116 insertions(+), 37 deletions(-)
+
+commit 7c8f01a2d9328cc0751a76a62bd9f5aff8cf6d87
+Author: Damon Chaplin <damon@gnome.org>
+Date: Fri Jan 28 11:16:47 2005 +0000
+
+ use dist-hook rather than EXTRA_DIST to copy the $(DOC_MODULE).types file
+
+ 2005-01-28 Damon Chaplin <damon@gnome.org>
+
+ * gtk-doc.make: use dist-hook rather than EXTRA_DIST to copy the
+ $(DOC_MODULE).types file over, so we can skip this if it doesn't exist.
+ #156300.
+
+ ChangeLog | 6 ++++++
+ gtk-doc.make | 4 +++-
+ 2 files changed, 9 insertions(+), 1 deletions(-)
+
+commit cba2be1c4fc9ec864519fbeecd6ddec1a84feb19
+Author: Damon Chaplin <damon@gnome.org>
+Date: Wed Jan 12 14:02:29 2005 +0000
+
+ patch from Stefan Kost to mention GObject classes and describe the
+
+ 2005-01-12 Damon Chaplin <damon@gnome.org>
+
+ * README: patch from Stefan Kost to mention GObject classes
+ and describe the transformation process to XML/SGML and HTML,
+ and to mention Devhelp.
+
+ ChangeLog | 6 ++++++
+ README | 14 ++++++++++----
+ 2 files changed, 16 insertions(+), 4 deletions(-)
+
+commit 43ecf3355e6f29b750500ad877a1c3b107f269eb
+Author: Damon Chaplin <damon@gnome.org>
+Date: Sun Jan 9 20:34:02 2005 +0000
+
+ Released 1.3.
+
+ 2005-01-09 Damon Chaplin <damon@gnome.org>
+
+ * Released 1.3.
+
+ ChangeLog | 8 ++++++++
+ NEWS | 38 +++++++++++++++++++++++++++++++++++++-
+ README | 50 ++++++++++++++++++++++++++++++--------------------
+ configure.in | 2 +-
+ 4 files changed, 76 insertions(+), 22 deletions(-)
+
+commit ba46b7f68724f34b38a81716624dd415fcc387a2
+Author: Damon Chaplin <damon@gnome.org>
+Date: Sun Jan 9 17:12:31 2005 +0000
+
+ output better warnings using the type information. Patch from Stefan Kost.
+
+ 2005-01-09 Damon Chaplin <damon@gnome.org>
+
+ * gtkdoc-mkdb.in (MergeSourceDocumentation): output better warnings
+ using the type information. Patch from Stefan Kost. #161979
+
+ ChangeLog | 3 +++
+ gtkdoc-mkdb.in | 39 +++++++++++++++++++++++++--------------
+ 2 files changed, 28 insertions(+), 14 deletions(-)
+
+commit 5837e561a55014bd7cca653acd12cce0eb567d96
+Author: Damon Chaplin <damon@gnome.org>
+Date: Sun Jan 9 16:43:53 2005 +0000
+
+ support "typedef struct a *b;". Fixes last part of #156318.
+
+ 2005-01-09 Damon Chaplin <damon@gnome.org>
+
+ * gtkdoc-scan.in (ScanHeader): support "typedef struct a *b;". Fixes
+ last part of #156318.
+
+ ChangeLog | 3 +++
+ gtkdoc-scan.in | 5 +++++
+ 2 files changed, 8 insertions(+), 0 deletions(-)
+
+commit 5de4b9f1522c1ee79ccfde8647b8bf3ccc7e3585
+Author: Damon Chaplin <damon@gnome.org>
+Date: Sun Jan 9 16:10:04 2005 +0000
+
+ return an empty array for forward struct declarations. Part of #156318.
+
+ 2005-01-09 Damon Chaplin <damon@gnome.org>
+
+ * gtkdoc-common.pl.in (ParseStructDeclaration): return an empty array
+ for forward struct declarations. Part of #156318.
+
+ * gtkdoc-mktmpl.in:
+ * gtkdoc-mkdb.in: updated a few of the warnings to make them a bit
+ easier to understand.
+
+ ChangeLog | 9 +++++++++
+ gtkdoc-common.pl.in | 5 +++++
+ gtkdoc-mkdb.in | 10 ++++++----
+ gtkdoc-mktmpl.in | 2 +-
+ 4 files changed, 21 insertions(+), 5 deletions(-)
+
+commit 8c553e06e228b930ace813f82176eee29ead62a9
+Author: James Henstridge <james@jamesh.id.au>
+Date: Mon Nov 22 08:26:58 2004 +0000
+
+ remove file, since we don't have a config.h
+
+ 2004-11-22 James Henstridge <james@jamesh.id.au>
+
+ * acconfig.h: remove file, since we don't have a config.h
+
+ * configure.in: make sure $ACLOCAL_FLAGS is passed to aclocal on a
+ rebuild.
+
+ * autogen.sh: use Automake-1.9 if available, and call aclocal,
+ autoconf, automake, etc in the same order as autoreconf does.
+
+ * gtkdocize.in: if the AC_CONFIG_MACRO_DIR option is used in the
+ configure script, copy gtk-doc.m4 to that directory in the source
+ tree.
+
+ ChangeLog | 14 ++++++++++++++
+ acconfig.h | 25 -------------------------
+ autogen.sh | 24 ++++++------------------
+ configure.in | 6 ++++--
+ gtkdocize.in | 18 ++++++++++++++++++
+ 5 files changed, 42 insertions(+), 45 deletions(-)
+
+commit 6a7ed729a475d8ed83c7d0742523ee3f3643d8ce
+Author: Damon Chaplin <damon@gnome.org>
+Date: Tue Nov 16 12:46:22 2004 +0000
+
+ output "const" rather than "G_CONST_RETURN". #157674.
+
+ 2004-11-16 Damon Chaplin <damon@gnome.org>
+
+ * gtkdoc-mkdb.in (OutputFunction): output "const" rather than
+ "G_CONST_RETURN". #157674.
+
+ * gtkdoc-mktmpl.in (OutputDeclaration): skip "void" return types but
+ not if it has modifiers e.g. "void *". #156963.
+
+ ChangeLog | 6 ++++++
+ gtkdoc-mkdb.in | 4 ++++
+ gtkdoc-mktmpl.in | 10 ++++++----
+ 3 files changed, 16 insertions(+), 4 deletions(-)
+
+commit 9481d3e39b49d30424fc06cfaaf12e9bda5df9d8
+Author: Damon Chaplin <damon@gnome.org>
+Date: Tue Nov 16 12:18:10 2004 +0000
+
+ handle __attribute__. Patch from Simon Josefsson. #156962.
+
+ 2004-11-16 Damon Chaplin <damon@gnome.org>
+
+ * gtkdoc-scan.in (ScanHeader): handle __attribute__. Patch from
+ Simon Josefsson. #156962.
+
+ ChangeLog | 5 +++++
+ gtkdoc-scan.in | 5 +++--
+ 2 files changed, 8 insertions(+), 2 deletions(-)
+
+commit c2a6e7a4801bcb4703e7dbf475148596844604e5
+Author: Damon Chaplin <damon@gnome.org>
+Date: Sun Oct 31 13:52:28 2004 +0000
+
+ handle opaque/forward struct declarations. #156318 again. Tiny fix to
+
+ 2004-10-31 Damon Chaplin <damon@gnome.org>
+
+ * gtkdoc-mkdb.in (OutputStruct): handle opaque/forward struct
+ declarations. #156318 again. Tiny fix to avoid warnings.
+
+ ChangeLog | 5 +++++
+ gtkdoc-mkdb.in | 3 +++
+ 2 files changed, 8 insertions(+), 0 deletions(-)
+
+commit 920bd6dbe78fe1ef22b23b055d172164cac27ec1
+Author: Damon Chaplin <damon@gnome.org>
+Date: Thu Oct 28 16:53:11 2004 +0000
+
+ handle opaque/forward struct declarations. #156318.
+
+ 2004-10-28 Damon Chaplin <damon@gnome.org>
+
+ * gtkdoc-mktmpl.in (ReadDeclarationsFile):
+ * gtkdoc-mkdb.in (ReadDeclarationsFile):
+ * gtkdoc-scan.in (ScanHeader): handle opaque/forward struct
+ declarations. #156318.
+
+ ChangeLog | 7 +++++++
+ gtkdoc-mkdb.in | 9 +++++----
+ gtkdoc-mktmpl.in | 9 +++++----
+ gtkdoc-scan.in | 15 +++++++++++----
+ 4 files changed, 28 insertions(+), 12 deletions(-)
+
+commit f498eca02ecbdff1326f9cdbd191903c411fe28d
+Author: Damon Chaplin <damon@gnome.org>
+Date: Mon Oct 25 13:53:43 2004 +0000
+
+ use a after Returns: so it doesn't break before the colon.
+
+ 2004-10-25 Damon Chaplin <damon@gnome.org>
+
+ * gtkdoc-mkdb.in (OutputParamDescriptions): use a after Returns:
+ so it doesn't break before the colon.
+
+ ChangeLog | 5 +++++
+ gtkdoc-mkdb.in | 2 +-
+ 2 files changed, 6 insertions(+), 1 deletions(-)
+
+commit 9a7d41ed79bd967cfe954b4e321b354c53f5bafd
+Author: Damon Chaplin <damon@gnome.org>
+Date: Sun Oct 24 22:25:45 2004 +0000
+
+ handle "typedef enum XXX {" #156297. Patch from Simon Josefsson.
+
+ 2004-10-24 Damon Chaplin <damon@gnome.org>
+
+ * gtkdoc-common.pl (ParseEnumDeclaration): handle "typedef enum XXX {"
+ #156297. Patch from Simon Josefsson.
+
+ ChangeLog | 5 +++++
+ gtkdoc-common.pl.in | 2 +-
+ 2 files changed, 6 insertions(+), 1 deletions(-)
+
+commit baea4b0bc5692f1513784a595a38d1172635be87
+Author: Damon Chaplin <damon@gnome.org>
+Date: Wed Oct 20 16:21:07 2004 +0000
+
+ set a flag to indicate a struct has a typedef declaration. (OutputStruct):
+
+ 2004-10-20 Damon Chaplin <damon@gnome.org>
+
+ * gtkdoc-mkdb.in (ReadDeclarationsFile): set a flag to indicate a
+ struct has a typedef declaration.
+ (OutputStruct): better output for structs with typedefs. #83269.
+
+ * gtkdoc-scan.in (ScanHeader): leave the struct declaration as it is.
+ Don't strip out 'typedef'. Also allow simple "struct foo {".
+
+ ChangeLog | 9 ++++++
+ gtkdoc-mkdb.in | 87 ++++++++++++++++++++++++++++++++++++++++++-------------
+ gtkdoc-scan.in | 10 ++----
+ 3 files changed, 78 insertions(+), 28 deletions(-)
+
+commit 6e0796121564e90211fca9674da4848511fef686
+Author: Damon Chaplin <damon@gnome.org>
+Date: Tue Oct 19 20:16:57 2004 +0000
+
+ use pkg-config to find where GLib is installed and scan that directory for
+
+ 2004-10-19 Damon Chaplin <damon@gnome.org>
+
+ * gtkdoc-fixxref.in: use pkg-config to find where GLib is installed
+ and scan that directory for index files. Also scan $GNOME2_PATH.
+ These are only used as a last resort. If they are used we have to
+ output links as absolute URLs, rather than the default relative ones.
+
+ ChangeLog | 7 +++++
+ gtkdoc-fixxref.in | 65 +++++++++++++++++++++++++++++++++++++++++++---------
+ 2 files changed, 60 insertions(+), 12 deletions(-)
+
+commit fa8ec363a3f6755112566230aea47f446c845226
+Author: Damon Chaplin <damon@gnome.org>
+Date: Mon Oct 18 16:59:01 2004 +0000
+
+ support function pointers that return "foo const *" #141870.
+
+ 2004-10-18 Damon Chaplin <damon@gnome.org>
+
+ * gtkdoc-common.pl.in (ParseStructDeclaration): support function
+ pointers that return "foo const *" #141870.
+
+ ChangeLog | 3 +++
+ gtkdoc-common.pl.in | 8 +++++---
+ 2 files changed, 8 insertions(+), 3 deletions(-)
+
+commit de0fd7d5426b39b926d7e8c705506f9cd7720897
+Author: Damon Chaplin <damon@gnome.org>
+Date: Mon Oct 18 16:39:11 2004 +0000
+
+ handle functions with const or struct return types. #141870 and #148507.
+
+ 2004-10-18 Damon Chaplin <damon@gnome.org>
+
+ * gtkdoc-scan.in (ScanHeader):
+ * gtkdoc-mkdb.in (OutputFunction):
+ * gtkdoc-mktmpl.in (OutputDeclaration): handle functions with const
+ or struct return types. #141870 and #148507.
+
+ ChangeLog | 7 +++++++
+ gtkdoc-mkdb.in | 6 +++---
+ gtkdoc-mktmpl.in | 4 ++--
+ gtkdoc-scan.in | 11 +++++------
+ 4 files changed, 17 insertions(+), 11 deletions(-)
+
+commit 4be26ba63fc175dbf7e05d2b3662e5d9b251d5cc
+Author: Damon Chaplin <damon@gnome.org>
+Date: Fri Oct 15 22:12:11 2004 +0000
+
+ moved these here, rather than have 2 copies in gtkdoc-mkdb.in and
+
+ 2004-10-15 Damon Chaplin <damon@gnome.org>
+
+ * gtkdoc-common.pl.in (ParseStructDeclaration)
+ (ParseEnumDeclaration): moved these here, rather than have 2 copies
+ in gtkdoc-mkdb.in and gtkdoc-mktmpl.in.
+
+ * gtkdoc-common.pl.in (ParseStructDeclaration): handle struct fields
+ better. We can now handle things like *foo, ***bar, *baz[12][23],
+ foo : 25 all on one line. Fixes part of #151219.
+ Also support the 'short' modifier to fix #90565.
+ And use $nbsp; rather than spaces to try to avoid splitting
+ declarations in the output.
+ Also take an extra arg specifying whether to include parameters in
+ the function pointer fields.
+
+ * gtkdoc-scan.in (ScanHeader): Deal with array types in typedefs.
+ (Eg, "typedef unsigned char MD5Digest[16];") From Dan Winship.
+ Last bit of #151219.
+
+ ChangeLog | 19 +++++
+ gtkdoc-common.pl.in | 201 +++++++++++++++++++++++++++++++++++++++++++++++++++
+ gtkdoc-mkdb.in | 192 +------------------------------------------------
+ gtkdoc-mktmpl.in | 190 +------------------------------------------------
+ gtkdoc-scan.in | 5 +-
+ 5 files changed, 227 insertions(+), 380 deletions(-)
+
+commit d875a2cf68112d3862a2ba6d50cd4f5979362068
+Author: Damon Chaplin <damon@gnome.org>
+Date: Thu Oct 14 21:26:32 2004 +0000
+
+ use ":CAPS" rather than "-CAPS" to distinguish all-caps identifiers, to
+
+ 2004-10-14 Damon Chaplin <damon@gnome.org>
+
+ * gtkdoc-mkdb.in (CreateValidSGMLID): use ":CAPS" rather than
+ "-CAPS" to distinguish all-caps identifiers, to avoid clashing with
+ identifiers ending in _caps! Bug #113120.
+
+ ChangeLog | 4 ++++
+ gtkdoc-mkdb.in | 6 +++---
+ 2 files changed, 7 insertions(+), 3 deletions(-)
+
+commit 048af41ba00016c453444f4fe29d248e3d9c8321
+Author: Damon Chaplin <damon@gnome.org>
+Date: Thu Oct 14 21:03:28 2004 +0000
+
+ if it looks like a parameter has been described, but not in the right
+
+ 2004-10-14 Damon Chaplin <damon@gnome.org>
+
+ * gtkdoc-mkdb.in (MergeSourceDocumentation): if it looks like a
+ parameter has been described, but not in the right place, output
+ a better error message. Bug #141871.
+
+ ChangeLog | 4 ++++
+ gtkdoc-mkdb.in | 9 +++++++++
+ 2 files changed, 13 insertions(+), 0 deletions(-)
+
+commit 600e7a012b23ed5275885873ce6236a3f5103864
+Author: Damon Chaplin <damon@gnome.org>
+Date: Thu Oct 14 20:43:45 2004 +0000
+
+ allow the author to use <!--PARAMETERS--> to specify the position of the
+
+ 2004-10-14 Damon Chaplin <damon@gnome.org>
+
+ * gtkdoc-mkdb.in (OutputMacro, OutputFunction, GetSignals): allow
+ the author to use <!--PARAMETERS--> to specify the position of the
+ parameter table if they want. Hopefully good enough for bug #99567.
+ (MergeSourceDocumentation): end the paragraph before <!--PARAMETERS-->
+ and start a new one after it.
+
+ * doc/authors.txt: document <!--PARAMETERS-->.
+
+ ChangeLog | 8 +++++++
+ doc/authors.txt | 6 +++++
+ gtkdoc-mkdb.in | 57 +++++++++++++++++++++++++++++++++++++++++++++++++-----
+ 3 files changed, 65 insertions(+), 6 deletions(-)
+
+commit 27d17a7a5402d7b85a29a718b20f96de4d97f37a
+Author: Damon Chaplin <damon@gnome.org>
+Date: Thu Oct 14 19:36:49 2004 +0000
+
+ don't underline links normally, as we output lots of them and it makes it
+
+ 2004-10-14 Damon Chaplin <damon@gnome.org>
+
+ * style.css: don't underline links normally, as we output lots of
+ them and it makes it very cluttered. Only underline links when the
+ mouse hovers over them, and change the color. Fixes #108037.
+
+ ChangeLog | 4 ++++
+ style.css | 9 +++++++++
+ 2 files changed, 13 insertions(+), 0 deletions(-)
+
+commit 98e05beb2e6c0d8ad2d4c7c764cb15841641cfa3
+Author: Damon Chaplin <damon@gnome.org>
+Date: Thu Oct 14 18:59:25 2004 +0000
+
+ depend on $(CFILE_GLOB) as well, since changes in properties need to be
+
+ 2004-10-14 Damon Chaplin <damon@gnome.org>
+
+ * gtk-doc.make (scan-build.stamp): depend on $(CFILE_GLOB) as well,
+ since changes in properties need to be picked up by gtkdoc-scangobj.
+ Bug #52458.
+
+ ChangeLog | 4 ++++
+ gtk-doc.make | 2 +-
+ 2 files changed, 5 insertions(+), 1 deletions(-)
+
+commit 6cfc3dec27a719b1a6a14775038753e30ac7e972
+Author: Damon Chaplin <damon@gnome.org>
+Date: Thu Oct 14 16:33:57 2004 +0000
+
+ for fields that are function pointers, only return the function name, as
+
+ 2004-10-14 Damon Chaplin <damon@gnome.org>
+
+ * gtkdoc-mkdb.in: (ParseStructDeclaration): for fields that are
+ function pointers, only return the function name, as otherwise the
+ output gets really messy. Fixes #66618.
+
+ ChangeLog | 4 ++++
+ gtkdoc-mkdb.in | 4 +++-
+ 2 files changed, 7 insertions(+), 1 deletions(-)
+
+commit 00732ea78fb0aecc2e6b4d5f96dc1a103af5f2fa
+Author: Damon Chaplin <damon@gnome.org>
+Date: Thu Oct 14 15:50:50 2004 +0000
+
+ use '@PACKAGE_DATA_DIR@' instead of "@PACKAGE_DATA_DIR@" so that it isn't
+
+ 2004-10-14 Damon Chaplin <damon@gnome.org>
+
+ * gtkdoc-mktmpl.in:
+ * gtkdoc-mkdb.in:
+ * gtkdoc-scan.in:
+ * gtkdoc-scanobj.in:
+ * gtkdoc-scangobj.in: use '@PACKAGE_DATA_DIR@' instead of
+ "@PACKAGE_DATA_DIR@" so that it isn't interpolated. It failed when
+ $prefix was /software/@sys/usr. Fixes #113456.
+
+ ChangeLog | 10 ++++++++++
+ gtkdoc-mkdb.in | 2 +-
+ gtkdoc-mktmpl.in | 2 +-
+ gtkdoc-scan.in | 2 +-
+ gtkdoc-scangobj.in | 2 +-
+ gtkdoc-scanobj.in | 2 +-
+ 6 files changed, 15 insertions(+), 5 deletions(-)
+
+commit 4ce6382891ac70ef8b1408807f4a48de1d61e534
+Author: Damon Chaplin <damon@gnome.org>
+Date: Wed Oct 13 22:21:38 2004 +0000
+
+ patch from Olexiy Avramchenko to add 3 new GdkEvent subtypes.
+
+ 2004-10-13 Damon Chaplin <damon@gnome.org>
+
+ * gtkdoc-scanobj.in:
+ * gtkdoc-scangobj.in: patch from Olexiy Avramchenko to add 3 new
+ GdkEvent subtypes.
+
+ ChangeLog | 4 ++++
+ gtkdoc-scangobj.in | 3 +++
+ gtkdoc-scanobj.in | 3 +++
+ 3 files changed, 10 insertions(+), 0 deletions(-)
+
+commit 700d6fce5e7d78f469ae9adc94d2ad97b4bea560
+Author: Damon Chaplin <damon@gnome.org>
+Date: Wed Oct 13 22:01:50 2004 +0000
+
+ patch from Benjamin Otte to get rid of -Wsign-compare warnings. Bug
+
+ 2004-10-13 Damon Chaplin <damon@gnome.org>
+
+ * gtkdoc-scanobj.in:
+ * gtkdoc-scangobj.in: patch from Benjamin Otte to get rid of
+ -Wsign-compare warnings. Bug #137013.
+
+ ChangeLog | 6 ++++++
+ gtkdoc-scangobj.in | 8 ++++----
+ gtkdoc-scanobj.in | 8 ++++----
+ 3 files changed, 14 insertions(+), 8 deletions(-)
+
+commit c81fd90b27f89cf3dda1290bcfcedfa6e65da555
+Author: Matthias Clasen <maclas@gmx.de>
+Date: Fri Sep 17 05:14:52 2004 +0000
+
+ Add the images from the gallery on top of the refentry they point to.
+
+ Fri Sep 17 01:13:24 2004 Matthias Clasen <maclas@gmx.de>
+
+ * gtk-doc.xsl: Add the images from the gallery on top
+ of the refentry they point to.
+
+ * style.css: Move the css bits of the gallery implementation
+ here.
+
+ Fri Sep 17 00:30:16 2004 Matthias Clasen <maclas@gmx.de>
+
+ * gtk-doc.xsl: Don't generate <link rel="refentry">
+ links, since e.g. the GTK+ docs contain MANY refentries.
+
+ ChangeLog | 13 ++++++++
+ gtk-doc.xsl | 90 +++++++++++++++++++++++++++++++++++++++++++++++------------
+ style.css | 17 +++++++++++
+ 3 files changed, 102 insertions(+), 18 deletions(-)
+
+commit 9bdf0b5b40e7add58c303946e348440e928a9cac
+Author: Damon Chaplin <damon@gnome.org>
+Date: Fri Sep 10 14:23:51 2004 +0000
+
+ support automake 1.8. (part of #151219).
+
+ 2004-09-10 Damon Chaplin <damon@gnome.org>
+
+ * autogen.sh: support automake 1.8. (part of #151219).
+
+ ChangeLog | 2 ++
+ autogen.sh | 5 ++++-
+ 2 files changed, 6 insertions(+), 1 deletions(-)
+
+commit 20e39af81d779ed3e5a4c86e56210bed16e1842a
+Author: Damon Chaplin <damon@gnome.org>
+Date: Fri Sep 10 14:10:15 2004 +0000
+
+ require automake 1.6.
+
+ 2004-09-10 Damon Chaplin <damon@gnome.org>
+
+ * examples/Makefile.am: require automake 1.6.
+
+ ChangeLog | 2 ++
+ examples/Makefile.am | 3 +++
+ 2 files changed, 5 insertions(+), 0 deletions(-)
+
+commit 9cd847990bed3b8233debc73e43da8f326aca112
+Author: Damon Chaplin <damon@gnome.org>
+Date: Fri Sep 10 14:06:43 2004 +0000
+
+ create an empty MODULE-overrides.txt file if it doesn't exist. gtkdoc.make
+
+ 2004-09-10 Damon Chaplin <damon@gnome.org>
+
+ * gtkdoc-scan.in: create an empty MODULE-overrides.txt file if it
+ doesn't exist. gtkdoc.make expects one to exist.
+
+ * doc/setting-up.txt: updated to document new procedure using
+ gtkdoc.make.
+
+ * examples/Makefile.am: updated to use gtkdoc.make.
+
+ * examples/configure.in: removed this. gtkdoc.make is used instead
+ now.
+
+ * examples/README: updated.
+
+ * Makefile.am (EXTRA_DIST): removed examples/configure.in.
+
+ ChangeLog | 17 +++++
+ Makefile.am | 1 -
+ doc/setting-up.txt | 48 ++++++++++---
+ examples/Makefile.am | 191 +++++++++----------------------------------------
+ examples/README | 18 ++----
+ examples/configure.in | 43 -----------
+ gtkdoc-scan.in | 6 ++
+ 7 files changed, 98 insertions(+), 226 deletions(-)
+
+commit 5c335206a237206118e6be66d7b8ea89e8b8b4fe
+Author: Matthias Clasen <maclas@gmx.de>
+Date: Wed Sep 8 05:12:59 2004 +0000
+
+ Accept mixtures of * and const in return types.
+
+ Wed Sep 8 01:12:25 2004 Matthias Clasen <maclas@gmx.de>
+
+ * gtkdoc-scan.in (ScanHeader):
+ * gtkdoc-mktmpl.in (OutputDeclaration):
+ * gtkdoc-mkdb.in (OutputFunction): Accept mixtures of *
+ and const in return types.
+
+ ChangeLog | 7 +++++++
+ gtkdoc-mkdb.in | 3 ++-
+ gtkdoc-mktmpl.in | 2 +-
+ gtkdoc-scan.in | 2 +-
+ 4 files changed, 11 insertions(+), 3 deletions(-)
+
+commit 76c2fe42ba367559df21d2b1d9a46265ce21ec82
+Author: Matthias Clasen <matthiasc@src.gnome.org>
+Date: Wed Sep 1 21:13:49 2004 +0000
+
+ Remove some more debug printf
+
+ gtkdoc-mkdb.in | 2 --
+ 1 files changed, 0 insertions(+), 2 deletions(-)
+
+commit 1f9128a336ebf55689ed9cc7335d58273973d143
+Author: Matthias Clasen <matthiasc@src.gnome.org>
+Date: Wed Sep 1 20:58:11 2004 +0000
+
+ Remove a debug printf.
+
+ ChangeLog | 4 ++++
+ gtkdoc-mkdb.in | 1 -
+ 2 files changed, 4 insertions(+), 1 deletions(-)
+
+commit c8eac2398fb987da2be648277a197cd9795a8d13
+Author: Matthias Clasen <maclas@gmx.de>
+Date: Tue Aug 24 06:30:48 2004 +0000
+
+ Add support for a gallery of widget images.
+
+ Tue Aug 24 02:30:08 2004 Matthias Clasen <maclas@gmx.de>
+
+ * gtk-doc.xsl: Add support for a gallery of widget images.
+
+ ChangeLog | 4 ++++
+ gtk-doc.xsl | 33 +++++++++++++++++++++++++++++++++
+ 2 files changed, 37 insertions(+), 0 deletions(-)
+
+commit 66ce75cd73084e88672daa57a67935caed6ba894
+Author: Jonathan Blandford <jrb@gnome.org>
+Date: Wed Jul 28 17:00:48 2004 +0000
+
+ remove the examples from the toc.
+
+ Wed Jul 28 13:00:54 2004 Jonathan Blandford <jrb@gnome.org>
+
+ * gtk-doc.xsl: remove the examples from the toc.
+
+ ChangeLog | 4 ++++
+ gtk-doc.xsl | 7 ++++++-
+ 2 files changed, 10 insertions(+), 1 deletions(-)
+
+commit 4cf47aaeb08059e60a5ff065894ef5f1286b4a1d
+Author: Damon Chaplin <damon@gnome.org>
+Date: Wed Jul 28 14:06:12 2004 +0000
+
+ mention use of '#' for comments.
+
+ 2004-07-28 Damon Chaplin <damon@gnome.org>
+
+ * doc/sections-file.txt: mention use of '#' for comments.
+
+ * gtkdoc-mkdb.in: removed HEADER_FILE stuff, since it isn't used now.
+
+ ChangeLog | 6 ++++++
+ doc/sections-file.txt | 3 +++
+ gtkdoc-mkdb.in | 15 ---------------
+ 3 files changed, 9 insertions(+), 15 deletions(-)
+
+commit 5fc5f2ad6bba199f25c50de9f8a3f0f2f9a0c980
+Author: Damon Chaplin <damon@gnome.org>
+Date: Fri Jul 23 22:41:12 2004 +0000
+
+ add empty all-local target for when ENABLE_GTK_DOC is false. (#148209,
+
+ 2004-07-23 Damon Chaplin <damon@gnome.org>
+
+ * examples/Makefile.am (all-local): add empty all-local target for
+ when ENABLE_GTK_DOC is false. (#148209, Martin Quinson)
+
+ ChangeLog | 5 +++++
+ examples/Makefile.am | 2 ++
+ 2 files changed, 7 insertions(+), 0 deletions(-)
+
+commit 89853abd248d9a60456881c4f5f37e15b610420b
+Author: Matthias Clasen <maclas@gmx.de>
+Date: Fri Jul 23 17:23:06 2004 +0000
+
+ Fix regexps for matching ignored files. (#148211, Martin Quinson)
+
+ Fri Jul 23 13:21:34 2004 Matthias Clasen <maclas@gmx.de>
+
+ * gtkdoc-mkdb.in (ScanSourceFile): Fix regexps for matching
+ ignored files. (#148211, Martin Quinson)
+
+ ChangeLog | 5 +++++
+ gtkdoc-mkdb.in | 7 +++++--
+ 2 files changed, 10 insertions(+), 2 deletions(-)
+
+commit 49701bfd2483689ee19f1d9dc40f1a1832d9fb46
+Author: Matthias Clasen <matthiasc@src.gnome.org>
+Date: Sun Jul 4 03:30:36 2004 +0000
+
+ Fix some issues.
+
+ ChangeLog | 6 ++++++
+ style.css | 5 +++++
+ 2 files changed, 11 insertions(+), 0 deletions(-)
+
+commit 796a75c18fa98153aad8f10a79a522cdb337142f
+Author: Matthias Clasen <mclasen@redhat.com>
+Date: Tue May 18 19:10:39 2004 +0000
+
+ Let the docbook stylesheets generate extra <link rel=...> elements.
+
+ 2004-05-18 Matthias Clasen <mclasen@redhat.com>
+
+ * gtk-doc.xsl: Let the docbook stylesheets generate
+ extra <link rel=...> elements. (#140221, Geert Stappers)
+
+ ChangeLog | 5 +++++
+ gtk-doc.xsl | 11 ++++++++---
+ 2 files changed, 13 insertions(+), 3 deletions(-)
+
+commit cfd3bdaa542113ef956d06bc75a8e4d9bc3fd8f0
+Author: Geert Stappers <stappers@src.gnome.org>
+Date: Mon May 10 13:52:32 2004 +0000
+
+ gtk-doc.make should be found by tarball users
+
+ ChangeLog | 2 ++
+ examples/README | 4 ++++
+ 2 files changed, 6 insertions(+), 0 deletions(-)
+
+commit 7b735af37b15421346e2f62e20e37eae93b6ba9f
+Author: Geert Stappers <stappers@src.gnome.org>
+Date: Mon May 10 13:04:21 2004 +0000
+
+ make dist output, the tar.gz, can be ignored
+
+ .cvsignore | 1 +
+ 1 files changed, 1 insertions(+), 0 deletions(-)
+
+commit be6818ff5e7fbfe4f62dad4fb315dd5f7664b19d
+Author: Geert Stappers <stappers@src.gnome.org>
+Date: Mon May 10 13:00:06 2004 +0000
+
+ sorted
+
+ .cvsignore | 24 ++++++++++++------------
+ 1 files changed, 12 insertions(+), 12 deletions(-)
+
+commit a4dee8bef3e0278ed772d2b816e8cf25af896fdc
+Author: Geert Stappers <stappers@src.gnome.org>
+Date: Mon May 10 12:59:00 2004 +0000
+
+ no need to put .cvsignore in .cvsignore
+
+ .cvsignore | 1 -
+ 1 files changed, 0 insertions(+), 1 deletions(-)
+
+commit c9adc32d4dfa47a48cb2e7995017344fc20ba638
+Author: Geert Stappers <stappers@src.gnome.org>
+Date: Mon May 10 12:57:41 2004 +0000
+
+ TODO file added
+
+ ChangeLog | 4 ++++
+ TODO | 12 ++++++++++++
+ 2 files changed, 16 insertions(+), 0 deletions(-)
+
+commit fc2d5b8455d2b97ef6a603ca5e39a1fa000b398e
+Author: Geert Stappers <stappers@src.gnome.org>
+Date: Fri May 7 12:25:27 2004 +0000
+
+ SGML files deleted.
+
+ help/manual/C/ChangeLog | 2 +
+ help/manual/C/fdl-appendix.sgml | 671 -------------------------------------
+ help/manual/C/gtk-doc-manual.sgml | 288 ----------------
+ 3 files changed, 2 insertions(+), 959 deletions(-)
+
+commit cb5de6023d85db3ec553b51ebf16a7185b78b170
+Author: Geert Stappers <stappers@src.gnome.org>
+Date: Fri May 7 12:20:16 2004 +0000
+
+ new file
+
+ help/manual/C/.cvsignore | 1 +
+ 1 files changed, 1 insertions(+), 0 deletions(-)
+
+commit ecaabfd17984c3e0cab2c0234965a4b20645a03c
+Author: Geert Stappers <stappers@src.gnome.org>
+Date: Fri May 7 12:19:08 2004 +0000
+
+ README added
+
+ help/manual/C/ChangeLog | 4 ++++
+ help/manual/C/README | 31 +++++++++++++++++++++++++++++++
+ 2 files changed, 35 insertions(+), 0 deletions(-)
+
+commit 842d4fc616bee5922770bc978e618f64c68075b2
+Author: Geert Stappers <stappers@src.gnome.org>
+Date: Thu May 6 16:29:40 2004 +0000
+
+ showing my interrest in this project
+
+ ChangeLog | 4 ++++
+ MAINTAINERS | 1 +
+ 2 files changed, 5 insertions(+), 0 deletions(-)
+
+commit 3166b06d9f63a8be58e23e8ea8a29331fcc3dd06
+Author: Geert Stappers <stappers@src.gnome.org>
+Date: Thu May 6 16:10:47 2004 +0000
+
+ Added File: Makefile
+ saying how to build
+ Modified File: ChangeLog
+
+ help/manual/C/ChangeLog | 2 ++
+ help/manual/C/Makefile | 23 +++++++++++++++++++++++
+ 2 files changed, 25 insertions(+), 0 deletions(-)
+
+commit 3029f02b108dd90f4b4d3f94cddbd5a959d3b721
+Author: Geert Stappers <stappers@src.gnome.org>
+Date: Thu May 6 15:44:07 2004 +0000
+
+ now the link to FDL is in again
+
+ help/manual/C/ChangeLog | 4 ++++
+ help/manual/C/gtk-doc-manual.xml | 3 ++-
+ 2 files changed, 6 insertions(+), 1 deletions(-)
+
+commit e7efe04ea45ba36821d2e30c6108e865b21b7e08
+Author: Geert Stappers <stappers@src.gnome.org>
+Date: Thu May 6 12:18:36 2004 +0000
+
+ The work of Keith Sharp on bugzilla #138837
+ Added Files: fdl-appendix.xml gtk-doc-manual.xml
+ (ChangeLog entry by Geert Stappers)
+
+ help/manual/C/ChangeLog | 7 +
+ help/manual/C/fdl-appendix.xml | 671 ++++++++++++++++++++++++++++++++++++++
+ help/manual/C/gtk-doc-manual.xml | 294 +++++++++++++++++
+ 3 files changed, 972 insertions(+), 0 deletions(-)
+
+commit e75a35e77a7e758a14a476745e4f919cffbfe73e
+Author: Matthias Clasen <mclasen@redhat.com>
+Date: Wed May 5 17:29:56 2004 +0000
+
+ Correct the docbook stylesheet version in which filtered index support
+
+ 2004-05-05 Matthias Clasen <mclasen@redhat.com>
+
+ * gtk-doc.xsl: Correct the docbook stylesheet version
+ in which filtered index support will appear to 1.66.
+
+ ChangeLog | 5 +++++
+ 1 files changed, 5 insertions(+), 0 deletions(-)
+
+commit bd933918d2fab52354222df91ca1c1a883ae8cb5
+Author: Geert Stappers <stappers@src.gnome.org>
+Date: Tue Apr 27 09:28:20 2004 +0000
+
+ Updated the information about Debian packages.
+ Removed old author and time stamp line.
+
+ Modified Files: ChangeLog README
+
+ ChangeLog | 5 +++++
+ README | 4 +---
+ 2 files changed, 6 insertions(+), 3 deletions(-)
+
+commit 9fd5b710019a5ac47ecbad259351cee3d1510131
+Author: Matthias Clasen <matthiasc@src.gnome.org>
+Date: Wed Apr 21 14:49:49 2004 +0000
+
+ Readd lost changes.
+
+ gtkdoc-scangobj.in | 425 +++++++++++++++++++++++++++++++++++++++++++++++++++-
+ 1 files changed, 423 insertions(+), 2 deletions(-)
+
+commit e278aa8021c2b1483cd61c48630e99006663a0ff
+Author: Matthias Clasen <matthiasc@src.gnome.org>
+Date: Wed Apr 21 14:06:57 2004 +0000
+
+ Prune private and foreign types as far as possible.
+
+ ChangeLog | 16 ++++++
+ MAINTAINERS | 1 +
+ README | 2 +-
+ doc/sections-file.txt | 4 +-
+ gtkdoc-mkdb.in | 131 ++++++++++++++++++++++++++++++++++++++++++++-----
+ 5 files changed, 139 insertions(+), 15 deletions(-)
+
+commit 7c9ea25d91545160063d62cd92fd09187ec6a9be
+Author: Matthias Clasen <mclasen@redhat.com>
+Date: Mon Apr 19 20:49:36 2004 +0000
+
+ Add version-greater-or-equal.xsl.
+
+ 2004-04-19 Matthias Clasen <mclasen@redhat.com>
+
+ * Makefile.am: Add version-greater-or-equal.xsl.
+
+ * version-greater-or-equal.xsl: New file, implementing
+ the version-greater-or-equal template for comparing version
+ numbers.
+
+ * gtk-doc.xsl: Import version-greater-or-equal.xsl and
+ use the version-greater-or-equal template to a) check that
+ the xsl stylesheets are not too old and b) to avoid creating
+ multiple indices if the xsl stylesheets don't support filtered
+ indices. (#107774)
+
+ * gtkdoc-mkdb.in (MakeIndexterms): Emit role attributes
+ on indexterms which can be used to create filtered indices
+ with sufficiently new xsl stylesheets. The required functionality
+ will appear in version 1.62 of the xsl stylesheets. (#115530)
+
+ ChangeLog | 19 ++++++++++++++
+ Makefile.am | 4 ++-
+ gtk-doc.xsl | 42 ++++++++++++++++++++++++++++++++
+ gtkdoc-mkdb.in | 23 +++++++++++++----
+ version-greater-or-equal.xsl | 54 ++++++++++++++++++++++++++++++++++++++++++
+ 5 files changed, 135 insertions(+), 7 deletions(-)
+
+commit 07971801371971f69b03c190d91aab4e5177e5c5
+Author: Matthias Clasen <mclasen@redhat.com>
+Date: Fri Apr 16 18:52:01 2004 +0000
+
+ Style information in a separate stylesheet.
+
+ 2004-04-16 Matthias Clasen <mclasen@redhat.com>
+
+ * style.css: Style information in a separate stylesheet.
+
+ * gtkdoc-mkhtml.in: Copy css files.
+
+ * Makefile.am (gtkdocdata_DATA): Add style.css
+
+ * gtk-doc.xsl: Use a stylesheet instead of hardwiring
+ styles. (#134683, Vincent Torri)
+
+ ChangeLog | 9 +
+ Makefile.am | 6 +-
+ gtk-doc.xsl | 34 +----
+ gtkdoc-mkhtml.in | 1 +
+ gtkdoc-scangobj.in | 425 +---------------------------------------------------
+ style.css | 35 +++++
+ 6 files changed, 52 insertions(+), 458 deletions(-)
+
+commit 6c675ed86f5cf974d4e4c33e8005ddaaff72c658
+Author: Matthias Clasen <mclasen@redhat.com>
+Date: Fri Apr 16 12:49:22 2004 +0000
+
+ Organize the properties descriptions to fit better with the other
+
+ 2004-04-16 Matthias Clasen <mclasen@redhat.com>
+
+ * gtkdoc-mkdb.in (GetSignals): Organize the properties
+ descriptions to fit better with the other sections, and
+ also display information about allowed and default values.
+
+ 2004-04-15 Matthias Clasen <mclasen@redhat.com>
+
+ * gtkdoc-scangobj.in: Use introspection more fully to emit
+ allowed ranges for integral types and default values.
+
+ * gtkdoc-mkdb.in (GetSignals): Handle missing signal parameter
+ names better.
+
+ ChangeLog | 9 +
+ gtkdoc-mkdb.in | 55 ++++++--
+ gtkdoc-scangobj.in | 425 +++++++++++++++++++++++++++++++++++++++++++++++++++-
+ 3 files changed, 476 insertions(+), 13 deletions(-)
+
+commit a4b981d7e87f31c36677e56a661f6e880789333a
+Author: Matthias Clasen <mclasen@redhat.com>
+Date: Thu Apr 15 15:12:06 2004 +0000
+
+ Handle missing signal parameter names better.
+
+ 2004-04-15 Matthias Clasen <mclasen@redhat.com>
+
+ * gtkdoc-mkdb.in (GetSignals): Handle missing signal parameter
+ names better.
+
+ ChangeLog | 5 +++++
+ gtkdoc-mkdb.in | 3 +++
+ 2 files changed, 8 insertions(+), 0 deletions(-)
+
+commit 37ca3a4f60af383e9ca40a6f167c82a63a7710e3
+Author: Damon Chaplin <damon@gnome.org>
+Date: Thu Mar 4 17:34:52 2004 +0000
+
+ fixed URLs to download autoconf/automake/libtool. Patch from Frederic L.
+
+ 2004-03-04 Damon Chaplin <damon@gnome.org>
+
+ * autogen.sh: fixed URLs to download autoconf/automake/libtool.
+ Patch from Frederic L. W. Meunier.
+
+ ChangeLog | 5 +++++
+ autogen.sh | 10 +++++-----
+ 2 files changed, 10 insertions(+), 5 deletions(-)
+
+commit 334dbd833d84881fa45dd136f10cd587c40fb311
+Author: Damon Chaplin <damon@gnome.org>
+Date: Mon Feb 16 13:49:48 2004 +0000
+
+ added gtk-doc.cat and gtkdocize.
+
+ 2004-02-16 Damon Chaplin <damon@gnome.org>
+
+ * .cvsignore: added gtk-doc.cat and gtkdocize.
+
+ .cvsignore | 2 ++
+ ChangeLog | 4 ++++
+ 2 files changed, 6 insertions(+), 0 deletions(-)
+
+commit 69d9a3f59211a83e65df595ba47d4c14e2022638
+Author: Damon Chaplin <damon@gnome.org>
+Date: Mon Feb 16 13:01:55 2004 +0000
+
+ Released 1.2.
+
+ 2004-02-16 Damon Chaplin <damon@gnome.org>
+
+ * Released 1.2.
+
+ 2004-02-16 Damon Chaplin <damon@gnome.org>
+
+ * gtk-doc.cat.in: removed public ID for gtk-doc.dtd, since we don't
+ use it any more.
+
+ ChangeLog | 9 +++++++++
+ configure.in | 2 +-
+ gtk-doc.cat.in | 6 ------
+ 3 files changed, 10 insertions(+), 7 deletions(-)
+
+commit 6e78ca20df90c3d10ef19e444b5fdfa1456e98ce
+Author: Matthias Clasen <maclas@gmx.de>
+Date: Sat Feb 14 01:11:30 2004 +0000
+
+ Avoid unnecessary checks if gtk-doc is disabled. (#134221, Julio M. Merino
+
+ Sat Feb 14 02:14:27 2004 Matthias Clasen <maclas@gmx.de>
+
+ * gtk-doc.m4: Avoid unnecessary checks if gtk-doc is
+ disabled. (#134221, Julio M. Merino Vidal)
+
+ ChangeLog | 5 +++++
+ gtk-doc.m4 | 32 ++++++++++++++++----------------
+ 2 files changed, 21 insertions(+), 16 deletions(-)
+
+commit 4d337b73bf1234b200b89f3695621aae77de43ee
+Author: Matthias Clasen <maclas@gmx.de>
+Date: Sat Feb 14 01:00:15 2004 +0000
+
+ Don't create unneeded empty directories. (#134319, Julio M. Merino Vidal)
+
+ Sat Feb 14 02:03:01 2004 Matthias Clasen <maclas@gmx.de>
+
+ * gtk-doc.make: Don't create unneeded empty
+ directories. (#134319, Julio M. Merino Vidal)
+
+ ChangeLog | 5 +++++
+ gtk-doc.make | 6 +++---
+ 2 files changed, 8 insertions(+), 3 deletions(-)
+
+commit 9b830df39c9139d7b34ab8fb8d03936a5efa0681
+Author: Matthias Clasen <maclas@gmx.de>
+Date: Sat Feb 14 00:35:58 2004 +0000
+
+ Add an empty all-local target to make it work with non-GNU make. (#134343,
+
+ Sat Feb 14 01:37:38 2004 Matthias Clasen <maclas@gmx.de>
+
+ * gtk-doc.make: Add an empty all-local target to make it work
+ with non-GNU make. (#134343, Julio M. Merino Vidal)
+
+ ChangeLog | 5 +++++
+ gtk-doc.make | 2 ++
+ 2 files changed, 7 insertions(+), 0 deletions(-)
+
+commit 805568f26d69fd9d40db98e0ff3374276d8e0f42
+Author: Matthias Clasen <maclas@gmx.de>
+Date: Tue Jan 27 23:49:49 2004 +0000
+
+ Avoid emitting invalid docbook markup if there are no objects. Partial fix
+
+ Wed Jan 28 00:52:00 2004 Matthias Clasen <maclas@gmx.de>
+
+ * gtkdoc-mkdb.in (OutputObjectList): Avoid emitting invalid
+ docbook markup if there are no objects. Partial fix for #132661.
+
+ ChangeLog | 5 +++++
+ gtkdoc-mkdb.in | 4 ++++
+ 2 files changed, 9 insertions(+), 0 deletions(-)
+
+commit 93e61d71180b1c4cf5d905704df11134113db9ef
+Author: Matthias Clasen <maclas@gmx.de>
+Date: Sun Jan 25 20:59:45 2004 +0000
+
+ Accept both the old and the new XInclude namespace. (#131675, Edd Dumbill)
+
+ Sun Jan 25 22:01:15 2004 Matthias Clasen <maclas@gmx.de>
+
+ * gtkdoc-mkdb.in: Accept both the old and the new XInclude
+ namespace. (#131675, Edd Dumbill)
+
+ ChangeLog | 5 +++++
+ gtkdoc-mkdb.in | 4 ++--
+ 2 files changed, 7 insertions(+), 2 deletions(-)
+
+commit b7e2733ad366e743feb1fb0592dbd01091bf1db1
+Author: Thomas Vander Stichele <thomasvs@src.gnome.org>
+Date: Fri Jan 23 11:24:06 2004 +0000
+
+ make gtkdoc-mkhtml exit with the return value of supporting tools so errors
+ can be caught
+
+ ChangeLog | 5 +++++
+ gtkdoc-mkhtml.in | 4 ++--
+ 2 files changed, 7 insertions(+), 2 deletions(-)
+
+commit 4a8acf483f69478c316e3413d90c77164ff760a5
+Author: Matthias Clasen <maclas@gmx.de>
+Date: Thu Jan 15 22:05:51 2004 +0000
+
+ Set the chunk.fast parameter, to gain some speed.
+
+ Thu Jan 15 23:06:10 2004 Matthias Clasen <maclas@gmx.de>
+
+ * gtk-doc.xsl: Set the chunk.fast parameter, to gain some
+ speed.
+
+ Thu Jan 15 23:05:23 2004 Matthias Clasen <maclas@gmx.de>
+
+ * gtkdoc-fixxref.in: Make it work again without explicit
+ --module.
+
+ ChangeLog | 10 ++++++++++
+ gtk-doc.xsl | 1 +
+ gtkdoc-fixxref.in | 4 ----
+ gtkdoc-mkdb.in | 2 +-
+ 4 files changed, 12 insertions(+), 5 deletions(-)
+
+commit 077cc1f9bc32a7e27dc23eb1fe4da21de0147350
+Author: Matthias Clasen <maclas@gmx.de>
+Date: Sat Dec 27 00:47:05 2003 +0000
+
+ Add --help. (#126915)
+
+ Sat Dec 27 01:36:08 2003 Matthias Clasen <maclas@gmx.de>
+
+ * gtkdoc-scangobj.in:
+ * gtkdoc-mktmpl.in:
+ * gtkdoc-scan.in:
+ * gtkdoc-fixxref.in: Add --help. (#126915)
+
+ ChangeLog | 7 +++++++
+ gtkdoc-fixxref.in | 22 ++++++++++++++++++++--
+ gtkdoc-mktmpl.in | 20 ++++++++++++++++++--
+ gtkdoc-scan.in | 20 +++++++++++++++++++-
+ gtkdoc-scangobj.in | 21 +++++++++++++++++++--
+ 5 files changed, 83 insertions(+), 7 deletions(-)
+
+commit 6014453a0d4527530267e53c8c633323643c8606
+Author: Matthias Clasen <maclas@gmx.de>
+Date: Fri Dec 26 23:43:08 2003 +0000
+
+ Support a trailing , in enum declarations. These are a GNU C extension,
+
+ Sat Dec 27 00:43:42 2003 Matthias Clasen <maclas@gmx.de>
+
+ * gtkdoc-mkdb.in (ParseEnumDeclaration):
+ * gtkdoc-mktmpl.in (ParseEnumDeclaration): Support a trailing ,
+ in enum declarations. These are a GNU C extension, but also
+ blessed by C99. (#129949, Thomas Vander Stichele)
+
+ ChangeLog | 7 +++++++
+ gtkdoc-mkdb.in | 6 ++++++
+ gtkdoc-mktmpl.in | 6 ++++++
+ 3 files changed, 19 insertions(+), 0 deletions(-)
+
+commit 903c70354077d9d39f35cb032a0e5d3fe9fb035d
+Author: Matthias Clasen <maclas@gmx.de>
+Date: Sat Nov 15 23:29:41 2003 +0000
+
+ Don't use g_strdown(). (#127028, David Schleef)
+
+ Sun Nov 16 00:29:03 2003 Matthias Clasen <maclas@gmx.de>
+
+ * gtkdoc-scangobj.in: Don't use g_strdown(). (#127028,
+ David Schleef)
+
+ Sun Nov 16 00:26:05 2003 Matthias Clasen <maclas@gmx.de>
+
+ * gtkdoc-scangobj.in: If compiled against GLib >= 2.3.0, look
+ for properties on interfaces. (#127068, James M. Cape)
+
+ ChangeLog | 10 ++++++++++
+ gtkdoc-scangobj.in | 37 +++++++++++++++++++++++++------------
+ 2 files changed, 35 insertions(+), 12 deletions(-)
+
+commit 2cc6d1db1118525875bf1c2cb9e772f689b6e850
+Author: Dan Winship <danw@src.gnome.org>
+Date: Thu Nov 13 16:59:08 2003 +0000
+
+ Clean up $MODULE-scan.o even when using libtool
+
+ * gtkdoc-scangobj.in: Clean up $MODULE-scan.o even when using
+ libtool
+
+ * gtkdoc-scanobj.in: Likewise
+
+ * gtk-doc.make (CLEANFILES): Remove $(MODULE)-scan.o from here
+ (clean-local): rm -rf .libs
+
+ ChangeLog | 10 ++++++++++
+ gtk-doc.make | 3 ++-
+ gtkdoc-scangobj.in | 2 +-
+ gtkdoc-scanobj.in | 3 +--
+ 4 files changed, 14 insertions(+), 4 deletions(-)
+
+commit b37a7b36ead56706d9a70656b6419ae80d079563
+Author: Matthias Clasen <maclas@gmx.de>
+Date: Tue Oct 7 23:24:38 2003 +0000
+
+ Make gtkdoc-scan grok typedef struct { } foo; in addition to the more
+
+ Wed Oct 8 01:21:54 2003 Matthias Clasen <maclas@gmx.de>
+
+ * gtkdoc-scan.in (ScanHeader): Make gtkdoc-scan grok
+ typedef struct { } foo; in addition to the more baroque
+ typedef struct _foo foo; struct _foo { };
+ (#116807, Malcolm Tredinnick)
+
+ * gtkdoc-mkdb.in (OutputParamDescriptions): Remove a pointless
+ warning.
+
+ ChangeLog | 12 ++++++++++++
+ gtkdoc-mkdb.in | 8 +++-----
+ gtkdoc-scan.in | 6 +++---
+ 3 files changed, 18 insertions(+), 8 deletions(-)
+
+commit ee34a61b225fcc61bdb82d3e79a15d0492d7c2f8
+Author: Matthias Clasen <maclas@gmx.de>
+Date: Wed Oct 1 00:03:02 2003 +0000
+
+ Make signals and properties end up in the right template file (#116569,
+
+ 2003-10-01 Matthias Clasen <maclas@gmx.de>
+
+ Make signals and properties end up in the right template
+ file (#116569, Owen Taylor):
+
+ * gtkdoc-mktmpl.in (OutputSignalTemplates):
+ (OutputArgTemplates): Return a string rather than directly
+ writing to OUTPUT.
+ (OutputTemplateFile): Don't interpret $title as the name of
+ the object to print signal and property templates for.
+ (UpdateTemplates): Collect signal and property templates for all
+ objects contained in the section.
+
+ ChangeLog | 13 +++++++++++++
+ gtkdoc-mktmpl.in | 10 ++++++----
+ 2 files changed, 19 insertions(+), 4 deletions(-)
+
+commit 3a71ab508c506f01d27f153814720ca36ee953eb
+Author: Matthias Clasen <matthiasc@src.gnome.org>
+Date: Sun Aug 10 22:12:54 2003 +0000
+
+ Remove gtk-doc.cat from cvs, it's now generated.
+
+ gtk-doc.cat | 12 ------------
+ 1 files changed, 0 insertions(+), 12 deletions(-)
+
+commit 213790479dd188119a80aa701e947a2b9711ca33
+Author: James Henstridge <james@daa.com.au>
+Date: Sun Aug 10 12:15:33 2003 +0000
+
+ allow caller to specify actions if found or not found.
+
+ 2003-08-10 James Henstridge <james@daa.com.au>
+
+ * acinclude.m4 (JH_PATH_XML_CATALOG): allow caller to specify
+ actions if found or not found.
+ (JH_CHECK_XML_CATALOG): when requiring JH_PATH_XML_CATALOG, don't
+ error out if it is not found.
+
+ ChangeLog | 7 +++++++
+ acinclude.m4 | 20 ++++++++++++++------
+ gtk-doc.cat | 12 ++++++++++--
+ 3 files changed, 31 insertions(+), 8 deletions(-)
+
+commit 55391358655e00e986b7d5382dd091a77488dc64
+Author: Matthias Clasen <matthiasc@src.gnome.org>
+Date: Sat Aug 2 22:03:19 2003 +0000
+
+ Some additions.
+
+ ChangeLog | 9 +++++++++
+ doc/gnome.txt | 14 ++++++++++++++
+ 2 files changed, 23 insertions(+), 0 deletions(-)
+
+commit 8dd4ba4681d2e45acc44efb3a11660a46f821047
+Author: Matthias Clasen <matthiasc@src.gnome.org>
+Date: Mon Jul 21 22:06:16 2003 +0000
+
+ Fix a problem with the previous commit.
+
+ configure.in | 2 +-
+ gtk-doc.cat.in | 12 ++++++++++++
+ 2 files changed, 13 insertions(+), 1 deletions(-)
+
+commit 56f12399bf8d1fcfcfed9283f16c8ff5c6f88bcf
+Author: Matthias Clasen <maclas@gmx.de>
+Date: Mon Jul 21 21:53:05 2003 +0000
+
+ Applied patches from Sebastian Rittau to add maintainer mode and an SGML
+
+ 2003-07-21 Matthias Clasen <maclas@gmx.de>
+
+ Applied patches from Sebastian Rittau to add maintainer mode and an SGML catalog. (#117955, #117956)
+
+ * gtk-doc.cat.in: New catalog file.
+ * configure.in: Added gtk-doc.catalog to output files.
+ * Makefile.am: Install gtk-doc.catalog.
+
+ * configure.in: Added AM_MAINTAINER_MODE.
+ * autogen.sh: Added --enable-maintainer-mode to configure options.
+
+ ChangeLog | 11 +++++++++++
+ Makefile.am | 4 ++++
+ autogen.sh | 2 +-
+ configure.in | 3 +++
+ 4 files changed, 19 insertions(+), 1 deletions(-)
+
+commit f5e95bfedc44c33e557771d0bbb66d6568f9f8d5
+Author: Matthias Clasen <maclas@gmx.de>
+Date: Wed Jul 9 00:05:14 2003 +0000
+
+ Accept volatile struct members, which have just made their appearance in
+
+ 2003-07-09 Matthias Clasen <maclas@gmx.de>
+
+ * gtkdoc-mktmpl.in (ParseStructDeclaration):
+ * gtkdoc-mkdb.in (ParseStructDeclaration): Accept volatile struct members, which have just
+ made their appearance in glib.
+
+ ChangeLog | 6 ++++++
+ gtkdoc-mkdb.in | 2 +-
+ gtkdoc-mktmpl.in | 2 +-
+ 3 files changed, 8 insertions(+), 2 deletions(-)
+
+commit e5ef06ac7193db05da765ae647789eae4c348be7
+Author: Matthias Clasen <maclas@gmx.de>
+Date: Sun Jun 29 21:14:26 2003 +0000
+
+ When expanding @param, catch the common @param->field and @param.field, to
+
+ 2003-06-29 Matthias Clasen <maclas@gmx.de>
+
+ * gtkdoc-mkdb.in (ExpandAbbreviations): When expanding @param, catch the common @param->field
+ and @param.field, to reduce the need for littering the C sources with <literal>foo->bar</literal>.
+
+ ChangeLog | 5 +++++
+ gtkdoc-mkdb.in | 2 +-
+ 2 files changed, 6 insertions(+), 1 deletions(-)
+
+commit 5a1a1b9beafbcfc90cf1d6c883d1f905a9f3430a
+Author: Matthias Clasen <matthiasc@src.gnome.org>
+Date: Wed Jun 25 21:45:11 2003 +0000
+
+ Emit some more class hierarchy information.
+
+ ChangeLog | 10 +++
+ gtkdoc-mkdb.in | 240 ++++++++++++++++++++++++++++++++++++++++++--------------
+ 2 files changed, 192 insertions(+), 58 deletions(-)
+
+commit eb17c6a4ecca655c24ab48bb001783bf20e8bdb4
+Author: Matthias Clasen <maclas@gmx.de>
+Date: Wed Jun 25 20:32:47 2003 +0000
+
+ Accept a second, optional parameter for the text of the link.
+
+ 2003-06-25 Matthias Clasen <maclas@gmx.de>
+
+ * gtkdoc-mkdb.in (MakeXRef): Accept a second, optional parameter for the
+ text of the link.
+ (ExpandAbbreviations): Add semantic markup inside the links, so that
+ non-crossreferenced symbols come out properly formatted after link
+ removal. (#61345)
+
+ ChangeLog | 8 ++++++++
+ gtkdoc-mkdb.in | 31 +++++++++++++++++--------------
+ 2 files changed, 25 insertions(+), 14 deletions(-)
+
+commit b70b86f65208752cae39513843b05cf8634e2903
+Author: Matthias Clasen <maclas@gmx.de>
+Date: Sun Jun 15 00:12:00 2003 +0000
+
+ Support for a flat index of all symbols. (#92861) To use, put an empty
+
+ 2003-06-15 Matthias Clasen <maclas@gmx.de>
+
+ Support for a flat index of all symbols. (#92861)
+ To use, put an empty <index/> element in your driver document.
+
+ * gtkdoc-mkdb.in (MakeIndexterms): New function, emits an indexterm.
+ (OutputMacro, OutputTypedef, OutputStruct, OutputEnum,
+ OutputUnion, OutputVariable, OutputFunction): Use MakeIndexterms.
+ to emit indexterms for symbols.
+
+ ChangeLog | 8 ++++++++
+ 1 files changed, 8 insertions(+), 0 deletions(-)
+
+commit ffb53d3f91852a8b276bfd784f8041edddd08e25
+Author: Matthias Clasen <matthiasc@src.gnome.org>
+Date: Sat Jun 14 22:16:24 2003 +0000
+
+ Emit Since: information for signals and properties.
+
+ ChangeLog | 5 +++++
+ gtkdoc-mkdb.in | 41 +++++++++++++++++++++++++++++++++++++++++
+ 2 files changed, 46 insertions(+), 0 deletions(-)
+
+commit 4dffd44fbce60a0d5898e17613f34a08290add5d
+Author: Owen Taylor <otaylor@redhat.com>
+Date: Thu Jun 12 19:58:25 2003 +0000
+
+ Replace head -1 with -n 1. (Merge change by Elliot Lee from Red Hat
+
+ Thu Jun 12 15:55:57 2003 Owen Taylor <otaylor@redhat.com>
+
+ * gtkdoc-mkhtml.in (declaration): Replace head -1 with -n 1.
+ (Merge change by Elliot Lee from Red Hat package)
+
+ ChangeLog | 5 +++++
+ gtkdoc-mkhtml.in | 2 +-
+ 2 files changed, 6 insertions(+), 1 deletions(-)
+
+commit 8d629b7c1457c6ca6dad4364cb003d2ea8523cd9
+Author: Matthias Clasen <matthiasc@src.gnome.org>
+Date: Wed Jun 11 22:24:25 2003 +0000
+
+ One more update.
+
+ doc/gnome.txt | 4 +++-
+ 1 files changed, 3 insertions(+), 1 deletions(-)
+
+commit 25deba96d6e02aa9ccfc1411718c06000094fced
+Author: Matthias Clasen <matthiasc@src.gnome.org>
+Date: Wed Jun 11 21:38:50 2003 +0000
+
+ Some documentation updates.
+
+ ChangeLog | 4 ++
+ doc/gnome.txt | 105 ++++++++++++++++++++++++++++++++-------------------------
+ 2 files changed, 63 insertions(+), 46 deletions(-)
+
+commit 683a324f22c861cf7fd0d013351a6d830dbe720c
+Author: Matthias Clasen <maclas@gmx.de>
+Date: Mon Jun 2 22:14:42 2003 +0000
+
+ Add a missing Provides: and include the .pc file. (#106568, Joe Pranevich)
+
+ 2003-06-03 Matthias Clasen <maclas@gmx.de>
+
+ * gtk-doc.spec.in: Add a missing Provides: and include the .pc file.
+ (#106568, Joe Pranevich)
+
+ ChangeLog | 5 +++++
+ gtk-doc.spec.in | 11 +++++++++++
+ 2 files changed, 16 insertions(+), 0 deletions(-)
+
+commit d251f40e526af5277407666542a87dd882d63e25
+Author: Matthias Clasen <maclas@gmx.de>
+Date: Tue May 27 21:50:46 2003 +0000
+
+ Add signals and properties to the statistics.
+
+ 2003-05-27 Matthias Clasen <maclas@gmx.de>
+
+ * gtkdoc-mkdb.in (GetSignals):
+ (GetArgs): Add signals and properties to the statistics.
+ (OutputMissingDocumentation): Emit undocumented signals and
+ properties. (#113645)
+
+ ChangeLog | 7 +++++++
+ gtkdoc-mkdb.in | 54 ++++++++++++++++++++++++++++++++++++------------------
+ 2 files changed, 43 insertions(+), 18 deletions(-)
+
+commit abed1e0411b02af60bfb8f27850052a1f9d3ef4a
+Author: Matthias Clasen <matthiasc@src.gnome.org>
+Date: Sun Apr 20 22:54:28 2003 +0000
+
+ Fix autolinkification for undocumented symbols.
+
+ ChangeLog | 3 +++
+ tools/docpercentages.pl | 4 ++--
+ 2 files changed, 5 insertions(+), 2 deletions(-)
+
+commit 32537fd452d20eaa2c3d9a9fe3e1fcfcba7b8138
+Author: Matthias Clasen <matthiasc@src.gnome.org>
+Date: Sun Apr 20 22:51:01 2003 +0000
+
+ Typo fix.
+
+ ChangeLog | 4 ++++
+ doc/style-guide.txt | 2 +-
+ 2 files changed, 5 insertions(+), 1 deletions(-)
+
+commit e49f4aafc3a83df272d4386f8030a2209cc2f657
+Author: James Henstridge <james@daa.com.au>
+Date: Fri Apr 18 02:41:20 2003 +0000
+
+ add news items.
+
+ 2003-04-18 James Henstridge <james@daa.com.au>
+
+ * NEWS: add news items.
+
+ * configure.in: increment version number.
+
+ ChangeLog | 6 ++++++
+ NEWS | 18 ++++++++++++++++++
+ configure.in | 2 +-
+ 3 files changed, 25 insertions(+), 1 deletions(-)
+
+commit 9ebb2091e5c06f60f178b0cd078c97cf2225e8e2
+Author: James Henstridge <jamesh@src.gnome.org>
+Date: Wed Mar 19 12:13:07 2003 +0000
+
+ add some documentation on setting up the XML catalog on systems without one.
+
+ README | 20 ++++++++++++++++++--
+ 1 files changed, 18 insertions(+), 2 deletions(-)
+
+commit ce7170078ec6da2b852d1bba829d398ddfafd661
+Author: Matthias Clasen <maclas@gmx.de>
+Date: Fri Mar 14 22:07:55 2003 +0000
+
+ Fix the public identifier for DocBook V3.0: Davenport, not DavenPort.
+
+ 2003-03-14 Matthias Clasen <maclas@gmx.de>
+
+ * gtkdoc-mkdb.in (OutputBook): Fix the public identifier for
+ DocBook V3.0: Davenport, not DavenPort.
+ (#108343, Mariano Suarez-Alvarez)
+
+ ChangeLog | 6 ++++++
+ gtkdoc-mkdb.in | 2 +-
+ 2 files changed, 7 insertions(+), 1 deletions(-)
+
+commit ee0efd4dd90a816ee71ded227192e9569d84bafe
+Author: James Henstridge <james@daa.com.au>
+Date: Mon Mar 10 12:50:53 2003 +0000
+
+ associate the chmod commands with the files they are chmod'ing. This way
+
+ 2003-03-10 James Henstridge <james@daa.com.au>
+
+ * configure.in: associate the chmod commands with the files they
+ are chmod'ing. This way config.status will always run the correct
+ chmod command.
+
+ ChangeLog | 6 ++++++
+ configure.in | 21 ++++++++++-----------
+ 2 files changed, 16 insertions(+), 11 deletions(-)
+
+commit 6ed3e6a91650f90f14a3508df38d35a3e46b712c
+Author: James Henstridge <james@daa.com.au>
+Date: Tue Mar 4 11:09:45 2003 +0000
+
+ look up the docbook DTD by public id rather than system id.
+
+ 2003-03-04 James Henstridge <james@daa.com.au>
+
+ * configure.in: look up the docbook DTD by public id rather than
+ system id.
+
+ ChangeLog | 5 +++++
+ configure.in | 2 +-
+ 2 files changed, 6 insertions(+), 1 deletions(-)
+
+commit 0103ad732a016eaa14de97147434db89278d1e99
+Author: James Henstridge <jamesh@src.gnome.org>
+Date: Thu Feb 27 14:49:28 2003 +0000
+
+ change back to sgml.stamp and sgml-build.stamp. Shouldn't have changed this in the search and replace.
+
+ gtk-doc.make | 12 ++++++------
+ 1 files changed, 6 insertions(+), 6 deletions(-)
+
+commit b83450f5b74ef65000c5b325c9fc816c5c571f2c
+Author: Matthias Clasen <maclas@gmx.de>
+Date: Wed Feb 26 22:34:11 2003 +0000
+
+ Prefer template or comment docs over blurbs only if they're nonempty,
+
+ 2003-02-26 Matthias Clasen <maclas@gmx.de>
+
+ * gtkdoc-mkdb.in (GetArgs): Prefer template or comment docs over
+ blurbs only if they're nonempty, otherwise the empty docs from the
+ templates override all the blurbs.
+
+ ChangeLog | 6 ++++++
+ gtkdoc-mkdb.in | 3 ++-
+ 2 files changed, 8 insertions(+), 1 deletions(-)
+
+commit 428a6fc4662e09e8195d24458ad897695a5e75d5
+Author: James Henstridge <james@daa.com.au>
+Date: Wed Feb 26 15:14:36 2003 +0000
+
+ set up so that it will choose automake 1.7 or 1.6 in preference to 1.4.
+
+ 2003-02-26 James Henstridge <james@daa.com.au>
+
+ * autogen.sh (THEDIR): set up so that it will choose automake 1.7
+ or 1.6 in preference to 1.4. Passes distcheck okay.
+
+ ChangeLog | 3 +++
+ autogen.sh | 20 +++++++++++++-------
+ 2 files changed, 16 insertions(+), 7 deletions(-)
+
+commit 52f588cdf788cf7a4df460c709aa802af6621d6a
+Author: James Henstridge <jamesh@src.gnome.org>
+Date: Wed Feb 26 14:47:29 2003 +0000
+
+ add missing file.
+
+ Makefile.am | 1 +
+ 1 files changed, 1 insertions(+), 0 deletions(-)
+
+commit 2634ec3f4dc44080524a875f89dec2c69fb26cac
+Author: James Henstridge <james@daa.com.au>
+Date: Wed Feb 26 14:39:47 2003 +0000
+
+ update configure.in script to match recommendations of newer autoconf's,
+
+ 2003-02-26 James Henstridge <james@daa.com.au>
+
+ * configure.in: update configure.in script to match
+ recommendations of newer autoconf's, and add an AC_PREREQ()
+ statement, since the xml catalog checks are using new autoconf
+ features.
+
+ * gtk-doc.make (xml-build.stamp): since other bits of the makefile
+ were assuming xml, may as well hard code --output-format=xml.
+
+ ChangeLog | 10 ++++++++++
+ configure.in | 38 ++++++++++++++++++++++++--------------
+ gtk-doc.make | 20 ++++++++++----------
+ 3 files changed, 44 insertions(+), 24 deletions(-)
+
+commit 69a4f2376a4b8160ab4d0fa972d9e745d61a60f5
+Author: James Henstridge <james@daa.com.au>
+Date: Wed Feb 19 12:58:49 2003 +0000
+
+ get rid of the dist-hook, and just include the given files in EXTRA_DIST
+
+ 2003-02-19 James Henstridge <james@daa.com.au>
+
+ * Makefile.am: get rid of the dist-hook, and just include the
+ given files in EXTRA_DIST instead.
+
+ ChangeLog | 3 +++
+ Makefile.am | 55 +++++++++++++++++++++++++++----------------------------
+ 2 files changed, 30 insertions(+), 28 deletions(-)
+
+commit a57707fe596ed18e73bdda3b8d97bf5301810919
+Author: James Henstridge <james@daa.com.au>
+Date: Wed Feb 19 12:28:53 2003 +0000
+
+ provide meaningful names for the commands.
+
+ 2003-02-19 James Henstridge <james@daa.com.au>
+
+ * configure.in: provide meaningful names for the commands.
+
+ * acinclude.m4 (JH_CHECK_XML_CATALOG): add some extra arguments: a
+ friendly name for the catalog entry, and actions to run if the
+ entry was found or not. Also include a bit more information in
+ the config.log file if an error occurs.
+
+ ChangeLog | 9 +++++++++
+ acinclude.m4 | 23 +++++++++++++++++------
+ configure.in | 6 ++++--
+ 3 files changed, 30 insertions(+), 8 deletions(-)
+
+commit 0cd41b378a745b5e5982a3ea4b07bf69b2fcd39d
+Author: James Henstridge <james@daa.com.au>
+Date: Wed Feb 19 08:09:59 2003 +0000
+
+ put chapters that aren't at the top level into the toc tree (to make gtk's
+
+ 2003-02-19 James Henstridge <james@daa.com.au>
+
+ * devhelp.xsl: put chapters that aren't at the top level into the
+ toc tree (to make gtk's .devhelp tree look better).
+
+ * gtk-doc.spec.in (Requires): make the requires lines match
+ current requirements ...
+
+ ChangeLog | 3 +++
+ devhelp.xsl | 4 ++--
+ gtk-doc.spec.in | 23 ++++++-----------------
+ 3 files changed, 11 insertions(+), 19 deletions(-)
+
+commit 978841ac6a1c0d183604b0e6b249b62c069bad5f
+Author: Matthias Clasen <maclas@gmx.de>
+Date: Tue Feb 18 22:39:38 2003 +0000
+
+ Avoid the unportable grep option -q. (#105311)
+
+ 2003-02-18 Matthias Clasen <maclas@gmx.de>
+
+ * gtkdoc-mkhtml.in (declaration): Avoid the unportable grep
+ option -q. (#105311)
+
+ ChangeLog | 5 +++++
+ gtkdoc-mkhtml.in | 2 +-
+ 2 files changed, 6 insertions(+), 1 deletions(-)
+
+commit eacdde9b74345bd75bf716f27e423d75434842e7
+Author: James Henstridge <james@daa.com.au>
+Date: Tue Feb 18 16:08:10 2003 +0000
+
+ make the requires lines match current requirements ...
+
+ 2003-02-19 James Henstridge <james@daa.com.au>
+
+ * gtk-doc.spec.in (Requires): make the requires lines match
+ current requirements ...
+
+ * gtkdoc-mkhtml.in (XSLTPROC): pass --nonet to xsltproc, so we
+ don't try to download DTDs and XSLT over the net. The configure
+ checks should catch people who don't have the correct files in
+ their catalog.
+
+ ChangeLog | 10 ++++++++++
+ gtk-doc.spec.in | 8 ++++++--
+ gtkdoc-mkhtml.in | 2 +-
+ 3 files changed, 17 insertions(+), 3 deletions(-)
+
+commit 6275595c49dcf1739c22cb4aacdbb2191314b56c
+Author: James Henstridge <james@daa.com.au>
+Date: Mon Feb 17 12:33:22 2003 +0000
+
+ add --version argument.
+
+ 2003-02-17 James Henstridge <james@daa.com.au>
+
+ * gtkdocize.in (--version): add --version argument.
+
+ ChangeLog | 4 ++++
+ gtkdocize.in | 3 +++
+ 2 files changed, 7 insertions(+), 0 deletions(-)
+
+commit ebf723fad2cc8690993395ea85b5aba10eb8fdcd
+Author: James Henstridge <james@daa.com.au>
+Date: Fri Feb 14 02:10:11 2003 +0000
+
+ actually accept --tmpl-dir as a command line option. Based on a patch from
+
+ 2003-02-14 James Henstridge <james@daa.com.au>
+
+ * gtkdoc-mkdb.in (GetOptions): actually accept --tmpl-dir as a
+ command line option. Based on a patch from Simon Josefsson
+ <jas@extundo.com>.
+
+ ChangeLog | 4 ++++
+ gtkdoc-mkdb.in | 2 +-
+ 2 files changed, 5 insertions(+), 1 deletions(-)
+
+commit eeda7f9613ed49f68a29cd9cd478653a912e4611
+Author: James Henstridge <james@daa.com.au>
+Date: Fri Feb 14 01:24:50 2003 +0000
+
+ remove the xmlns declaration. Not really needed for html output anyway ...
+
+ 2003-02-14 James Henstridge <james@daa.com.au>
+
+ * gtk-doc.xsl: remove the xmlns declaration. Not really needed
+ for html output anyway ...
+
+ ChangeLog | 5 +++++
+ gtk-doc.xsl | 4 +---
+ 2 files changed, 6 insertions(+), 3 deletions(-)
+
+commit 7c547d976f3a4f06d8faa832ac1fcb05abc38025
+Author: James Henstridge <james@daa.com.au>
+Date: Thu Feb 13 11:53:22 2003 +0000
+
+ remove refsect1's and refsect2's from book tree, as suggested by Hallski.
+
+ 2003-02-13 James Henstridge <james@daa.com.au>
+
+ * devhelp.xsl: remove refsect1's and refsect2's from book tree, as
+ suggested by Hallski.
+
+ * gtk-doc.make (install-data-local): the change to install images
+ was superfluous, so I have removed it.
+ (CLEANFILES): move some more stuff to CLEANFILES from the
+ distclean-local rule.
+
+ ChangeLog | 10 ++++++++++
+ devhelp.xsl | 2 +-
+ gtk-doc.make | 8 ++++----
+ 3 files changed, 15 insertions(+), 5 deletions(-)
+
+commit 2ddbbaa2431dbcd848a64fcc59f00721fe48fea3
+Author: James Henstridge <jamesh@src.gnome.org>
+Date: Wed Feb 12 14:39:26 2003 +0000
+
+ remove control character. Don't know how the ctrl+G got in there.
+
+ gtk-doc.m4 | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+commit f94bcbad648cd123540afe41dd4debf01e2bef8c
+Author: James Henstridge <james@daa.com.au>
+Date: Wed Feb 12 14:27:54 2003 +0000
+
+ add some chmod calls to work arround distcheck on automake >= 1.6.
+
+ 2003-02-12 James Henstridge <james@daa.com.au>
+
+ * gtk-doc.make: add some chmod calls to work arround distcheck on
+ automake >= 1.6.
+ (install-data-local): copy the images as well as the html files
+ during install.
+ (uninstall-local): add an uninstall rule to remove the docs.
+ (CLEANFILES): add $(DOC_MODULE)-scan.o to the list of files to be
+ cleaned up.
+
+ ChangeLog | 10 ++++++++++
+ gtk-doc.make | 13 +++++++++++--
+ gtk-doc.spec.in | 5 ++++-
+ 3 files changed, 25 insertions(+), 3 deletions(-)
+
+commit 28fde951c1fd3dddf251a6a5bf061ab81787bc7c
+Author: James Henstridge <james@daa.com.au>
+Date: Wed Feb 12 12:51:12 2003 +0000
+
+ script used to copy gtk-doc.make into another module.
+
+ 2003-02-09 James Henstridge <james@daa.com.au>
+
+ * gtkdocize.in: script used to copy gtk-doc.make into another
+ module.
+
+ * gtk-doc.make: automake makefile fragment to handle gtk-doc
+ support in other modules.
+
+ * configure.in: check to make sure DocBook XML DTD and XSLT
+ stylesheets are present in the XML catalog.
+
+ * acinclude.m4 (JH_CHECK_XML_CATALOG): new macro to check for
+ entries in the XML catalog.
+
+ 2003-02-04 James Henstridge <james@daa.com.au>
+
+ * gtk-doc.m4: a macro to check for gtk-doc.
+
+ * Makefile.am (gtkdocdata_DATA): don't bother installing xml.dcl.
+ It isn't used anymore (since switching xml mode to xsltproc).
+
+ * gtkdoc-mkhtml.in (gtkdocdir): and here.
+
+ * Makefile.am (gtkdocdatadir): change dir.
+
+ * configure.in: put data files in $(datadir)/gtk-doc/data, so that
+ they don't all get mixed up with the html docs installed by other
+ packages.
+
+ ChangeLog | 29 +++++++++++
+ Makefile.am | 17 ++++---
+ acinclude.m4 | 36 ++++++++++++++
+ configure.in | 13 ++++--
+ gtk-doc.m4 | 53 ++++++++++++++++++++
+ gtk-doc.make | 139 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ gtkdoc-mkhtml.in | 2 +-
+ gtkdocize.in | 63 ++++++++++++++++++++++++
+ 8 files changed, 340 insertions(+), 12 deletions(-)
+
+commit 04e70bb2f7d7ad136b5b3a647328f705e8380823
+Author: Damon Chaplin <damon@src.gnome.org>
+Date: Mon Jan 20 02:03:44 2003 +0000
+
+ *** empty log message ***
+
+ ChangeLog | 22 ++++++++++++++++++++++
+ 1 files changed, 22 insertions(+), 0 deletions(-)
+
+commit af5f067f4bfdcb0f5fe388191449141bf74bc7d5
+Author: Damon Chaplin <damon@src.gnome.org>
+Date: Mon Jan 20 01:55:25 2003 +0000
+
+ added gtk-doc.pc
+
+ .cvsignore | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+commit c3e768fd34c6786f6867e72b65c91f03eddf4313
+Author: Damon Chaplin <damon@src.gnome.org>
+Date: Mon Jan 20 01:54:47 2003 +0000
+
+ use @SGML_FORMAT_TYPE@ to set output type, as set in configure.in
+
+ gtkdoc-mkhtml.in | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+commit 3dba2623f065a27485ae55209b6bc80b7baa0122
+Author: Damon Chaplin <damon@src.gnome.org>
+Date: Mon Jan 20 01:53:28 2003 +0000
+
+ bumped to version 1.0, and added SGML_FORMAT_TYPE which is set to 'sgml-raw'
+ for openjade and 'sgml' for jade. added .pc file to AC_OUTPUT.
+
+ configure.in | 12 +++++++++++-
+ 1 files changed, 11 insertions(+), 1 deletions(-)
+
+commit 9a3694442a5c650aeb27d01280f90ad4327eb8e1
+Author: Damon Chaplin <damon@src.gnome.org>
+Date: Mon Jan 20 01:51:18 2003 +0000
+
+ added .pc file
+
+ Makefile.am | 4 ++++
+ gtk-doc.pc.in | 6 ++++++
+ 2 files changed, 10 insertions(+), 0 deletions(-)
+
+commit bd7b24fb4b626db3601a70992cb8cf27043e65dc
+Author: Damon Chaplin <damon@src.gnome.org>
+Date: Mon Jan 20 01:50:09 2003 +0000
+
+ updated to use pkg-config
+
+ examples/configure.in | 23 ++++++++---------------
+ 1 files changed, 8 insertions(+), 15 deletions(-)
+
+commit ea18df9010f77eddf1fecca374e3d4874f7ad6a8
+Author: James Henstridge <james@daa.com.au>
+Date: Sat Jan 18 16:01:30 2003 +0000
+
+ switch the output type from "sgml" to "sgml-raw" when using Jade to
+
+ 2003-01-18 James Henstridge <james@daa.com.au>
+
+ * gtkdoc-mkhtml.in (declaration): switch the output type from
+ "sgml" to "sgml-raw" when using Jade to process docs. This gets
+ rid of the line breaks inside the tags, which were confusing Lynx.
+
+ ChangeLog | 6 ++++++
+ gtkdoc-mkhtml.in | 2 +-
+ 2 files changed, 7 insertions(+), 1 deletions(-)
+
+commit 9640f778227881fbaf6b88f69ce8ac5b7bbd3d84
+Author: Matthias Clasen <maclas@gmx.de>
+Date: Tue Jan 14 23:09:42 2003 +0000
+
+ Remove special cases for Pango and Bonobo.
+
+ 2003-01-15 Matthias Clasen <maclas@gmx.de>
+
+ * gtkdoc-scan.in (ScanHeader): Remove special cases for Pango and
+ Bonobo.
+ * gtkdoc-mkdb.in (OutputDeclaration):
+ * gtkdoc-mktmpl.in (OutputDeclaration): Remove special cases for
+ structs named BlablaClass. (#95398)
+
+ * gtkdoc-mkdb.in (GetInterfaces): Fix an off-by-one error.
+ (#103466, Josh Parsons)
+
+ ChangeLog | 11 +++++++++++
+ gtkdoc-mkdb.in | 5 +----
+ gtkdoc-mktmpl.in | 2 +-
+ gtkdoc-scan.in | 3 +--
+ 4 files changed, 14 insertions(+), 7 deletions(-)
+
+commit 04f784a490d54da64e348510550285a3450f609e
+Author: Chema Celorio <chema@celorio.com>
+Date: Mon Dec 30 22:55:45 2002 +0000
+
+ add "void" to functions with no parameters, avoids warning with
+
+ 2002-12-28 Chema Celorio <chema@celorio.com>
+
+ * gtkdoc-scan[g]obj.in: add "void" to functions with no parameters,
+ avoids warning with -Wmissing-prototypes when compiling
+ {module}-scan.c
+
+ ChangeLog | 6 ++++++
+ gtkdoc-scangobj.in | 24 ++++++++++++------------
+ gtkdoc-scanobj.in | 14 +++++++-------
+ 3 files changed, 25 insertions(+), 19 deletions(-)
+
+commit bb660be3a51a68e44cbde8b0b47530d074ec9215
+Author: James Henstridge <james@daa.com.au>
+Date: Tue Dec 17 14:53:33 2002 +0000
+
+ require perl >= 5.6.0
+
+ 2002-12-16 James Henstridge <james@daa.com.au>
+
+ * gtk-doc.spec.in: require perl >= 5.6.0
+
+ * configure.in: require Perl >= 5.6.0
+
+ * gtkdoc-fixxref.in: add "use bytes;" to fix malformed UTF-8
+ character errors when run with a UTF-8 locale.
+
+ ChangeLog | 9 +++++++++
+ configure.in | 9 ++++++++-
+ gtk-doc.spec.in | 4 +++-
+ gtkdoc-fixxref.in | 1 +
+ 4 files changed, 21 insertions(+), 2 deletions(-)
+
+commit dbb3d272c5284e78406dacf16374e827f2bc95ac
+Author: Matthias Clasen <matthiasc@src.gnome.org>
+Date: Mon Dec 16 22:22:09 2002 +0000
+
+ Don't emit the additional anchors in the title which breaks the generated
+
+ * gtkdoc-mkdb.in (OutputSGMLFile): Don't emit the additional
+ anchors in the title which breaks the generated html (the title
+ text is copied around). Instead, put the anchors before the
+ synopsis. This isn't perfect, but the best we can achieve without
+ stylesheet hackery.
+
+ ChangeLog | 8 ++++++++
+ gtkdoc-mkdb.in | 3 ++-
+ 2 files changed, 10 insertions(+), 1 deletions(-)
+
+commit b734786f740959ae2d58ddefafab21f6813f29d8
+Author: Matthias Clasen <matthiasc@src.gnome.org>
+Date: Thu Dec 12 23:41:17 2002 +0000
+
+ Forgotten ChangeLog.
+
+ ChangeLog | 4 +++-
+ 1 files changed, 3 insertions(+), 1 deletions(-)
+
+commit ed00becff512971a9e3c26580a06a4a5eec66750
+Author: Matthias Clasen <matthiasc@src.gnome.org>
+Date: Thu Dec 12 23:30:52 2002 +0000
+
+ Add an --ignore-files option which can be used to omit files or
+
+ * gtkdoc-mkdb.in: Add an --ignore-files option which can be used
+ to omit files or directories from scanning.
+ (OutputSGMLFile): Emit anchors for all objects contained in the
+ file to avoid dangling links.
+
+ ChangeLog | 7 +++++++
+ gtkdoc-mkdb.in | 48 ++++++++++++++++++++++++++++++++++++++++++------
+ 2 files changed, 49 insertions(+), 6 deletions(-)
+
+commit b8e344dda861998a4e3cdb79987160f38e283a99
+Author: Matthias Clasen <matthiasc@src.gnome.org>
+Date: Wed Dec 11 23:56:44 2002 +0000
+
+ Also recognize "positive" guards like #ifdef GTK_ENABLE_BROKEN.
+
+ * gtkdoc-scan.in (ScanHeader): Also recognize "positive" guards
+ like #ifdef GTK_ENABLE_BROKEN.
+
+ ChangeLog | 5 +++++
+ gtkdoc-scan.in | 2 +-
+ 2 files changed, 6 insertions(+), 1 deletions(-)
+
+commit 681a254d664c50b46a29403317d71b8de85cf881
+Author: Matthias Clasen <matthiasc@src.gnome.org>
+Date: Wed Dec 11 00:48:04 2002 +0000
+
+ Change XPath path to "//anchor|//refentry" for the generation of
+
+ * gtk-doc.xsl: Change XPath path to "//anchor|//refentry" for the
+ generation of index.sgml. The previous path "//anchor|refentry"
+ was not matching any refentrys.
+
+ ChangeLog | 6 ++++++
+ gtk-doc.xsl | 2 +-
+ 2 files changed, 7 insertions(+), 1 deletions(-)
+
+commit 2faab73cf96971b62a4078371d896d8b26354b03
+Author: Matthias Clasen <matthiasc@src.gnome.org>
+Date: Mon Dec 9 19:02:27 2002 +0000
+
+ Emit unused class structs to $MODULE-unused.txt.
+
+ * gtkdoc-mktmpl.in (UpdateTemplates): Emit unused class structs
+ to $MODULE-unused.txt.
+
+ ChangeLog | 5 +++++
+ gtkdoc-mktmpl.in | 4 ----
+ 2 files changed, 5 insertions(+), 4 deletions(-)
+
+commit 15486491a8eb8294c7e525316423942a41fbe06d
+Author: Matthias Clasen <matthiasc@src.gnome.org>
+Date: Sun Dec 8 22:50:25 2002 +0000
+
+ Remove leftover debugging output.
+
+ ChangeLog | 3 ++-
+ gtkdoc-mkdb.in | 6 ------
+ 2 files changed, 2 insertions(+), 7 deletions(-)
+
+commit e3d5415064f10366484de33f6a6992f514f0e56a
+Author: Matthias Clasen <matthiasc@src.gnome.org>
+Date: Sun Dec 8 00:16:22 2002 +0000
+
+ Don't emit private parts of class structs to parameter lists in docs.
+
+ * gtkdoc-mkdb.in (OutputStruct): Don't emit private parts
+ of class structs to parameter lists in docs.
+
+ ChangeLog | 5 ++++-
+ gtkdoc-mkdb.in | 2 +-
+ 2 files changed, 5 insertions(+), 2 deletions(-)
+
+commit df16a4c6ed32cd429dd480779c198afff6bd8f7a
+Author: Matthias Clasen <matthiasc@src.gnome.org>
+Date: Sun Dec 8 00:10:04 2002 +0000
+
+ Don't emit private parts of class structs.
+
+ * gtkdoc-mktmpl.in (OutputDeclaration): Don't emit private parts
+ of class structs.
+
+ ChangeLog | 5 +++++
+ gtkdoc-mktmpl.in | 2 +-
+ 2 files changed, 6 insertions(+), 1 deletions(-)
+
+commit 8b7de9a03edc974160dbbe0a99986700fbc992db
+Author: Matthias Clasen <matthiasc@src.gnome.org>
+Date: Thu Dec 5 23:34:18 2002 +0000
+
+ Improved /*< private >*/ handling: (#95398)
+
+ * gtkdoc-mkdb.in (OutputStruct): Handle /*< public >*/ and
+ /*< private >*/ for all structs. Default to private for object and
+ class structs, to public for all other structs.
+
+ * gtkdoc-scan.in (ScanHeader): Emit declarations for class structs
+ to $MODULE-decl.txt.
+
+ ChangeLog | 11 +++++++++++
+ gtkdoc-mkdb.in | 15 ++++++++++-----
+ gtkdoc-scan.in | 13 ++++++-------
+ 3 files changed, 27 insertions(+), 12 deletions(-)
+
+commit ee9422af438ccdd13fb7b9bad1cbf13a5878489e
+Author: Matthias Clasen <matthiasc@src.gnome.org>
+Date: Thu Dec 5 22:21:46 2002 +0000
+
+ Support @Since and @Deprecated in template files.
+
+ ChangeLog | 8 ++++++++
+ gtkdoc-mkdb.in | 46 ++++++++++++++++++++++++++++++++++++++++++++--
+ gtkdoc-mktmpl.in | 8 ++++++++
+ 3 files changed, 60 insertions(+), 2 deletions(-)
+
+commit 23b478f2f2a9b1355041931f46ebed1acd0a7030
+Author: Matthias Clasen <matthiasc@src.gnome.org>
+Date: Mon Dec 2 21:21:49 2002 +0000
+
+ Support multi-paragraph deprecation notes.
+
+ * gtkdoc-mkdb.in (MakeDeprecationNote): Support multi-paragraph
+ deprecation notes.
+
+ ChangeLog | 5 +++++
+ gtkdoc-mkdb.in | 12 +++++++++++-
+ 2 files changed, 16 insertions(+), 1 deletions(-)
+
+commit 506380efe4596e1330c418b851dc09c2df8253a3
+Author: James Henstridge <james@daa.com.au>
+Date: Sat Nov 30 16:06:47 2002 +0000
+
+ copy the navigation images for both XML and SGML cases.
+
+ 2002-11-29 James Henstridge <james@daa.com.au>
+
+ * gtkdoc-mkhtml.in: copy the navigation images for both XML and
+ SGML cases.
+
+ * gtk-doc.dsl.in: update DSSSL stylesheets to match layout of XSL
+ ones.
+
+ ChangeLog | 8 +
+ gtk-doc.dsl.in | 478 +++++++++++++++++++++---------------------------------
+ gtkdoc-mkhtml.in | 5 +-
+ 3 files changed, 195 insertions(+), 296 deletions(-)
+
+commit f20b5821999c935eb6fb27949c5379f69987d46c
+Author: Matthias Clasen <matthiasc@src.gnome.org>
+Date: Fri Nov 29 22:10:44 2002 +0000
+
+ Make deprecation guards work with both #ifndef DEPRECATION_GUARD #if
+
+ * gtkdoc-scan.in (ScanHeader): Make deprecation guards work with
+ both
+ #ifndef DEPRECATION_GUARD
+ #if !defined(DEPRECATION_GUARD) || defined(FOO_COMPILATION)
+ The second form is used in GDK and GTK+ to include selected
+ deprecated symbols when compiling the library itself.
+
+ ChangeLog | 9 +++++++++
+ gtkdoc-scan.in | 2 +-
+ 2 files changed, 10 insertions(+), 1 deletions(-)
+
+commit 8811dfcb6e5a1c62f82199b495de3ca89bd3e8ba
+Author: Matthias Clasen <matthiasc@src.gnome.org>
+Date: Wed Nov 27 19:29:05 2002 +0000
+
+ Parse to new tags in inline doc comments, Since: and Deprecated:, which
+
+ * gtkdoc-mkdb.in: Parse to new tags in inline doc comments,
+ Since: and Deprecated:, which can be placed after the Returns:
+ tag. Emit the Since: information (which is expected to be just a
+ version number) after the parameters and the Deprecated:
+ information (which is expected to be one or more full sentences)
+ inside the deprecation warning.
+ Warn if a Deprecated: tag is found on a symbol which is not
+ guarded by a deprecation guard in the header.
+
+ ChangeLog | 11 ++++
+ gtkdoc-mkdb.in | 165 +++++++++++++++++++++++++++++++++++++++++++++-----------
+ 2 files changed, 144 insertions(+), 32 deletions(-)
+
+commit 34a10b814c1c5551b64e89a4f360f41a53925b9a
+Author: James Henstridge <james@daa.com.au>
+Date: Tue Nov 26 11:05:38 2002 +0000
+
+ set gtkdoc-bookname and gtkdoc-version parameters in sgml mode, and don't
+
+ 2002-11-26 James Henstridge <james@daa.com.au>
+
+ * gtkdoc-mkhtml.in: set gtkdoc-bookname and gtkdoc-version
+ parameters in sgml mode, and don't bother with the sed run after
+ processing with jade.
+ In XML mode, pass the version number in as a parameter too.
+
+ * gtk-doc.dsl.in ($user-html-header$): add <meta> tag if
+ gtkdoc-version is set.
+ (generate-index-mode): if gtkdoc-bookname is set, add it to the
+ hrefs in the index file, like the XSLT sheets do.
+
+ * gtk-doc.xsl: add gtkdoc.version parameter, and use it to add a
+ <meta> tag with the gtk-doc version number.
+
+ ChangeLog | 15 +++++++++++++++
+ gtk-doc.dsl.in | 25 +++++++++++++++++++++++++
+ gtk-doc.xsl | 5 +++++
+ gtkdoc-mkhtml.in | 8 +++++---
+ 4 files changed, 50 insertions(+), 3 deletions(-)
+
+commit bb4555ffe3f18881390a762e277addb8e42fe8b3
+Author: Damon Chaplin <damon@src.gnome.org>
+Date: Sat Nov 16 17:55:24 2002 +0000
+
+ updated
+
+ ChangeLog | 17 +++++++++++++++++
+ 1 files changed, 17 insertions(+), 0 deletions(-)
+
+commit 92024dd175bf7b8ae336578989ad31fe4bf4a1ab
+Author: Damon Chaplin <damon@src.gnome.org>
+Date: Sat Nov 16 17:53:22 2002 +0000
+
+ updated requirements info, mainly to add XML stuff.
+
+ * README: updated requirements info, mainly to add XML stuff.
+
+ README | 21 ++++++++++++++-------
+ 1 files changed, 14 insertions(+), 7 deletions(-)
+
+commit 240b76d6f78cc008da48ed2e4132177b9885c954
+Author: Damon Chaplin <damon@gnome.org>
+Date: Sat Nov 16 17:52:11 2002 +0000
+
+ bumped version to 0.10.
+
+ 2002-11-16 Damon Chaplin <damon@gnome.org>
+
+ * configure.in: bumped version to 0.10.
+
+ configure.in | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+commit a90e10ee45f568a5268a3a051251e3faa22d8b4f
+Author: Damon Chaplin <damon@gnome.org>
+Date: Sat Nov 16 17:50:44 2002 +0000
+
+ added MAINTAINERS.
+
+ 2002-11-16 Damon Chaplin <damon@gnome.org>
+
+ * Makefile.am (EXTRA_DIST): added MAINTAINERS.
+
+ * README: updated requirements info, mainly to add XML stuff.
+
+ * NEWS: added news for 0.10
+
+ * MAINTAINERS:
+ * AUTHORS: updated my email address.
+
+ AUTHORS | 2 +-
+ MAINTAINERS | 2 +-
+ Makefile.am | 1 +
+ NEWS | 16 ++++++++++++++++
+ doc/setting-up.txt | 2 +-
+ 5 files changed, 20 insertions(+), 3 deletions(-)
+
+commit 77aad1f4b9d3449c736e34b232d09fce8d01ea66
+Author: James Henstridge <james@daa.com.au>
+Date: Sat Nov 16 04:39:00 2002 +0000
+
+ output HTML in ISO-8859-1 (latin1), as using UTF-8 can trigger
+
+ 2002-11-16 James Henstridge <james@daa.com.au>
+
+ * gtk-doc.xsl: output HTML in ISO-8859-1 (latin1), as using UTF-8
+ can trigger misinterpretation of web pages when the web server
+ asserts that the document is encoded in latin1 in the mime type.
+
+ ChangeLog | 6 ++++++
+ gtk-doc.xsl | 2 +-
+ 2 files changed, 7 insertions(+), 1 deletions(-)
+
+commit 753df81ede08469b05fcaac9047e37bfd088385f
+Author: James Henstridge <james@daa.com.au>
+Date: Fri Nov 15 10:46:22 2002 +0000
+
+ small changes to make the output closer to valid HTML.
+
+ 2002-11-15 James Henstridge <james@daa.com.au>
+
+ * gtk-doc.xsl: small changes to make the output closer to valid
+ HTML.
+
+ * gtkdoc-fixxref.in (MakeXRef): when substituting in cross
+ references, use lower case element and attribute names, and quote
+ the attribute value.
+
+ ChangeLog | 9 +++++++++
+ gtk-doc.xsl | 8 ++++----
+ gtkdoc-fixxref.in | 2 +-
+ 3 files changed, 14 insertions(+), 5 deletions(-)
+
+commit b06d6cc0368418c53e6af9248b2a1a77afefd79d
+Author: James Henstridge <jamesh@src.gnome.org>
+Date: Fri Nov 15 02:53:07 2002 +0000
+
+ ignore the autom4te.cache directory
+
+ .cvsignore | 2 ++
+ 1 files changed, 2 insertions(+), 0 deletions(-)
+
+commit 47ca739cb4fbedba8cf185559e17cc341677e37d
+Author: James Henstridge <james@daa.com.au>
+Date: Tue Nov 12 10:21:27 2002 +0000
+
+ put content of parameter descriptions in <simpara> elements instead of
+
+ 2002-11-12 James Henstridge <james@daa.com.au>
+
+ * gtkdoc-mkdb.in: put content of parameter descriptions in
+ <simpara> elements instead of <para>'s. This makes the generated
+ HTML more compact, as it will omit the <p> tag inside the list
+ item.
+
+ * gtk-doc.xsl: adjust stylesheet a little.
+
+ ChangeLog | 9 +++++++++
+ gtk-doc.xsl | 30 +++++++++++++++++-------------
+ gtkdoc-mkdb.in | 10 +++++-----
+ 3 files changed, 31 insertions(+), 18 deletions(-)
+
+commit 693e30961614e4a05f8d2694c4ad32b0306c650c
+Author: James Henstridge <james@daa.com.au>
+Date: Sun Nov 10 15:07:52 2002 +0000
+
+ change style for documentation.
+
+ 2002-11-10 James Henstridge <james@daa.com.au>
+
+ * gtk-doc.xsl: change style for documentation.
+
+ * gtkdoc-mkhtml.in (declaration): copy PNG files to the html
+ directory.
+
+ ChangeLog | 7 ++
+ Makefile.am | 13 +++-
+ gtk-doc.xsl | 220 ++++++++++++++++++++----------------------------------
+ gtkdoc-mkhtml.in | 1 +
+ home.png | Bin 0 -> 654 bytes
+ left.png | Bin 0 -> 459 bytes
+ right.png | Bin 0 -> 472 bytes
+ up.png | Bin 0 -> 406 bytes
+ 8 files changed, 101 insertions(+), 140 deletions(-)
+
+commit b7867c853d624700d3ec77a11e5c9b047d9c5637
+Author: Matthias Clasen <matthiasc@src.gnome.org>
+Date: Sat Nov 9 23:47:25 2002 +0000
+
+ Expand abbreviations in source doc comments.
+
+ * gtkdoc-mkdb.in (GetArgs): Expand abbreviations in source doc
+ comments.
+
+ ChangeLog | 5 +++++
+ gtkdoc-mkdb.in | 2 +-
+ 2 files changed, 6 insertions(+), 1 deletions(-)
+
+commit ed1eb0e3713970cc032d69e0a009831b62d6e10f
+Author: Matthias Clasen <matthiasc@src.gnome.org>
+Date: Fri Nov 8 23:43:34 2002 +0000
+
+ Don't replace template param names with meaningless argn names generated
+
+ * gtkdoc-mktmpl.in (OutputSignalTemplates): Don't replace template
+ param names with meaningless argn names generated by gtkdoc-scangobj.
+
+ * gtkdoc-mkdb.in (GetSignals): Use argument names from source doc
+ comments, if available.
+ (GetArgs): Use source doc comments instead of blurb, if available.
+ (ScanSourceFile): Also accept object::signal and object:property
+ symbols.
+ (MergeSourceDocumentation): For signals only, prefer source doc
+ param names over template param names.
+
+ ChangeLog | 13 ++++++
+ gtkdoc-mkdb.in | 114 +++++++++++++++++++++++++++++++----------------------
+ gtkdoc-mktmpl.in | 7 ++-
+ 3 files changed, 85 insertions(+), 49 deletions(-)
+
+commit 049104f2365170e7653660b0b3df4c2a220ca5a7
+Author: Owen Taylor <otaylor@redhat.com>
+Date: Fri Nov 8 20:14:14 2002 +0000
+
+ Add missing <para> here too.
+
+ Fri Nov 8 15:10:57 2002 Owen Taylor <otaylor@redhat.com>
+
+ * gtkdoc-mkdb.in (GetPrerequisites): Add missing <para>
+ here too.
+
+ ChangeLog | 5 +++++
+ gtkdoc-mkdb.in | 2 ++
+ 2 files changed, 7 insertions(+), 0 deletions(-)
+
+commit d23d9c8dfcb348873f8e57f015f0e17ff6e93185
+Author: Owen Taylor <otaylor@redhat.com>
+Date: Thu Nov 7 16:11:53 2002 +0000
+
+ Warn when overriding docs in template file by inline comments.
+
+ Mon Nov 4 17:17:40 2002 Owen Taylor <otaylor@redhat.com>
+
+ * gtkdoc-mkdb.in (MergeSourceDocumentation): Warn
+ when overriding docs in template file by inline comments.
+
+ * gtkdoc-mkdb.in (GetInterfaces): Add missing <para> in
+ "Implemented interfaces" output.
+
+ ChangeLog | 8 ++++++++
+ gtkdoc-mkdb.in | 35 +++++++++++++++++++++++++----------
+ 2 files changed, 33 insertions(+), 10 deletions(-)
+
+commit 6699c5868a3c1465563905c85b530f2e80f3c57a
+Author: Damon Chaplin <damon@src.gnome.org>
+Date: Sat Nov 2 16:32:54 2002 +0000
+
+ updated
+
+ ChangeLog | 12 ++++++++++++
+ 1 files changed, 12 insertions(+), 0 deletions(-)
+
+commit 1f8387169d8a930def11e02fa49fcf19f6453b0d
+Author: Damon Chaplin <damon@ximian.com>
+Date: Sat Nov 2 16:29:36 2002 +0000
+
+ in get_type_name() set is_pointer to TRUE for subtypes of G_TYPE_BOXED and
+
+ 2002-10-29 Damon Chaplin <damon@ximian.com>
+
+ * gtkdoc-scangobj.in: in get_type_name() set is_pointer to TRUE for
+ subtypes of G_TYPE_BOXED and G_TYPE_POINTER. This means we get things
+ like "GtkTreeIter *iter" rather than "GtkTreeIter iter" which was
+ incorrect. Also return 'GParamSpec*' for G_TYPE_PARAM.
+ in lookup_signal_arg_names() changed GtkNotebook::switch-page
+ page argument to guint. And fixed a few other entries.
+
+ * gtkdoc-scanobj.in: add ';' after unlink command to avoid warning.
+
+ gtkdoc-scangobj.in | 59 ++++++++++++++++++++++++++++++++++-----------------
+ gtkdoc-scanobj.in | 2 +-
+ 2 files changed, 40 insertions(+), 21 deletions(-)
+
+commit 9be8634fc6e3e5df45abd3be4ba7d369b1c51fd4
+Author: Matthias Clasen <matthiasc@src.gnome.org>
+Date: Sat Oct 19 23:35:46 2002 +0000
+
+ Add support for interface prerequisites.
+
+ ChangeLog | 10 +++++
+ examples/Makefile.am | 1 +
+ gtkdoc-mkdb.in | 102 +++++++++++++++++++++++++++++++++++++++++++++++---
+ gtkdoc-scangobj.in | 61 ++++++++++++++++++++++++++++-
+ 4 files changed, 165 insertions(+), 9 deletions(-)
+
+commit 952abb112e5474ec1bc7921696c5305cc1253342
+Author: Matthias Clasen <matthiasc@src.gnome.org>
+Date: Tue Oct 15 21:50:44 2002 +0000
+
+ Sort paramspec arrays for greater stability and less random tmpl file
+
+ * gtkdoc-scangobj.in: Sort paramspec arrays for
+ greater stability and less random tmpl file diffs.
+
+ ChangeLog | 5 +++++
+ gtkdoc-scangobj.in | 13 ++++++++++++-
+ 2 files changed, 17 insertions(+), 1 deletions(-)
+
+commit 8ff2e22eaeb2d1ed01c969a8bda543cd9a5d34f6
+Author: Matthias Clasen <matthiasc@src.gnome.org>
+Date: Mon Oct 14 00:08:22 2002 +0000
+
+ Improve documentation for interfaces.
+
+ ChangeLog | 11 +++++
+ examples/Makefile.am | 7 ++-
+ gtkdoc-mkdb.in | 100 +++++++++++++++++++++++++++++++++++++++++++++++--
+ gtkdoc-scangobj.in | 56 +++++++++++++++++++++++++++-
+ 4 files changed, 164 insertions(+), 10 deletions(-)
+
+commit b44269420e60314c647399b4a97091aa170a28a5
+Author: Matthias Clasen <matthiasc@src.gnome.org>
+Date: Fri Oct 11 23:01:02 2002 +0000
+
+ Make interfaces appear in the object hierarchy.
+
+ ChangeLog | 4 ++++
+ gtkdoc-scangobj.in | 3 +--
+ 2 files changed, 5 insertions(+), 2 deletions(-)
+
+commit 4db21bf2654a6973ff5ab25ce7880b81fac379d0
+Author: Matthias Clasen <matthiasc@src.gnome.org>
+Date: Fri Oct 11 20:32:06 2002 +0000
+
+ Fix charset in generated html. (#94833)
+
+ ChangeLog | 5 +++++
+ gtk-doc.xsl | 2 +-
+ 2 files changed, 6 insertions(+), 1 deletions(-)
+
+commit 659f49ef106b5269c7c6b8648dd6735f019a1098
+Author: Matthias Clasen <matthiasc@src.gnome.org>
+Date: Thu Oct 10 21:56:05 2002 +0000
+
+ Forgotten changelog.
+
+ ChangeLog | 4 ++++
+ 1 files changed, 4 insertions(+), 0 deletions(-)
+
+commit b704bf6b3adb9e7f5cb5416721ba0e480ae59e77
+Author: James Henstridge <james@daa.com.au>
+Date: Wed Oct 9 01:57:22 2002 +0000
+
+ set $doctype_header to "" for the SGML case, as we don't add a doctype to
+
+ 2002-10-09 James Henstridge <james@daa.com.au>
+
+ * gtkdoc-mkdb.in: set $doctype_header to "" for the SGML case, as
+ we don't add a doctype to the beginning of SGML fragments.
+
+ ChangeLog | 5 +++++
+ gtkdoc-mkdb.in | 1 +
+ 2 files changed, 6 insertions(+), 0 deletions(-)
+
+commit 687105e1002244a9122fdee98fe5ecdf72e9f78c
+Author: Jonathan Blandford <jrb@gnome.org>
+Date: Tue Sep 17 05:10:54 2002 +0000
+
+ output the chunks in UTF-8 so other tools can use them.
+
+ Tue Sep 17 01:07:51 2002 Jonathan Blandford <jrb@gnome.org>
+
+ * gtk-doc.xsl: output the chunks in UTF-8 so other tools can use
+ them.
+
+ ChangeLog | 5 +++++
+ gtk-doc.xsl | 3 +--
+ 2 files changed, 6 insertions(+), 2 deletions(-)
+
+commit 78c94436c8f5181278b248e4930516b125d8b30f
+Author: James Henstridge <james@daa.com.au>
+Date: Mon Sep 9 01:46:56 2002 +0000
+
+ turn on rendering of variablelists as tables, and set CSS rules to style
+
+ 2002-09-03 James Henstridge <james@daa.com.au>
+
+ * gtk-doc.xsl: turn on rendering of variablelists as tables, and
+ set CSS rules to style .variablelist instead of .informaltable.
+
+ * gtk-doc.dsl.in (variablelist): override the variablelist handler
+ instead of the tgroups.
+
+ * gtkdoc-mkdb.in (OutputStruct): use a <variablelist> for listing
+ the field descriptions.
+ (OutputEnum): same here.
+ (OutputParamDescriptions): and here.
+
+ ChangeLog | 13 ++++++
+ gtk-doc.dsl.in | 112 +++++++++++++++++++++++++++++++++++++++-----------------
+ gtk-doc.xsl | 5 ++-
+ gtkdoc-mkdb.in | 48 +++++++++---------------
+ 4 files changed, 113 insertions(+), 65 deletions(-)
+
+commit a47a33bfb927c0158903e309c17b721464a99ab8
+Author: James Henstridge <james@daa.com.au>
+Date: Wed Aug 28 08:13:29 2002 +0000
+
+ include devhelp.xsl, and call generate.devhelp when processing the
+
+ 2002-08-12 James Henstridge <james@daa.com.au>
+
+ * gtk-doc.xsl: include devhelp.xsl, and call generate.devhelp when
+ processing the docbook/xml input.
+
+ * devhelp.xsl: new file, implements .devhelp file output.
+
+ ChangeLog | 7 +++
+ Makefile.am | 2 +
+ devhelp.xsl | 131 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ gtk-doc.xsl | 4 +-
+ 4 files changed, 143 insertions(+), 1 deletions(-)
+
+commit 5a6867c9d92bfbb72d88cd35c1178ccebfb9f7c0
+Author: Havoc Pennington <hp@pobox.com>
+Date: Sun Aug 18 22:21:47 2002 +0000
+
+ hardcode aclocal-1.4/automake-1.4 so that users with both automake 1.6 and
+
+ 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"
+
+ ChangeLog | 8 ++++++++
+ autogen.sh | 6 +++---
+ 2 files changed, 11 insertions(+), 3 deletions(-)
+
+commit db5ac71b5044a37815893df45a34c17edf95c901
+Author: James Henstridge <james@daa.com.au>
+Date: Sat Aug 10 08:36:46 2002 +0000
+
+ add a gtkdoc.bookname param, and include it in the index.sgml output (if
+
+ 2002-08-08 James Henstridge <james@daa.com.au>
+
+ * gtk-doc.xsl: add a gtkdoc.bookname param, and include it in the
+ index.sgml output (if not empty).
+
+ * gtkdoc-mkhtml.in: only perform the sed operation if we are using
+ Jade, and pass the module name as a parameter when using xsltproc.
+
+ ChangeLog | 8 ++++++++
+ gtk-doc.xsl | 6 ++++++
+ gtkdoc-mkhtml.in | 6 +++---
+ 3 files changed, 17 insertions(+), 3 deletions(-)
+
+commit ab23b9c8fb12614da2a8f5564854952a0c228625
+Author: Matthias Clasen <matthiasc@src.gnome.org>
+Date: Wed Aug 7 22:13:12 2002 +0000
+
+ Make sure blurbs end with a '.'
+
+ * gtkdoc-scangobj.in: Make sure blurbs end with a '.'
+
+ gtkdoc-scangobj.in | 13 ++++++++++---
+ 1 files changed, 10 insertions(+), 3 deletions(-)
+
+commit 33d5dc10abc954f539adb7c991d0154ff668d4ac
+Author: Matthias Clasen <matthiasc@src.gnome.org>
+Date: Sat Aug 3 23:44:09 2002 +0000
+
+ Don't try to list signals on types which don't support signals, e.g. boxed
+
+ * gtkdoc-scangobj.in: Don't try to list signals on types which
+ don't support signals, e.g. boxed types.
+
+ ChangeLog | 5 +++++
+ gtkdoc-scangobj.in | 23 ++++++++++++++---------
+ 2 files changed, 19 insertions(+), 9 deletions(-)
+
+commit b163992c2614d4aeb1622e36ad281e31bafd0f42
+Author: James Henstridge <jamesh@src.gnome.org>
+Date: Tue Jun 25 15:34:23 2002 +0000
+
+ fix simple case problem in gtkdoc-mkdb (s/Docbook/DocBook/)
+
+ gtkdoc-mkdb.in | 4 ++--
+ 1 files changed, 2 insertions(+), 2 deletions(-)
+
+commit b209cb83376cd663e74e9de84b5fa8abdb0e0eb1
+Author: jacob berkman <jacob@ximian.com>
+Date: Fri Jun 14 17:19:45 2002 +0000
+
+ do the version check before help, so --version doesn't output --help
+
+ 2002-06-14 jacob berkman <jacob@ximian.com>
+
+ * gtkdoc-mkdb.in: do the version check before help, so --version
+ doesn't output --help (should fix recent build bustage)
+
+ ChangeLog | 5 +++++
+ gtkdoc-mkdb.in | 10 +++++-----
+ 2 files changed, 10 insertions(+), 5 deletions(-)
+
+commit 9a645c54cdc958ca1ca979f638b039c2a46cd475
+Author: James Henstridge <james@daa.com.au>
+Date: Thu Jun 13 17:22:25 2002 +0000
+
+ Make header-grabbing work without an explicit --main-sgml-file argument.
+
+ * gtkdoc-mkdb.in: Make header-grabbing work without an explicit
+ --main-sgml-file argument.
+
+ * gtkdoc-mkdb.in: Emit the object hierarchy as a <screen> rather
+ than a <literallayout>, since the Docbook XSL stylesheets don't
+ handle <link>s inside <literallayout>.
+
+ * gtkdoc-mkdb.in: Decide wether to generate standalone documents
+ for XIncluding or entities based on the presence of the XInclude
+ namespace declaration on the document element.
+
+ 2002-06-09 James Henstridge <james@daa.com.au>
+
+ * gtkdoc-mkdb.in: try to grab the header off the top of the main
+ sgml file.
+
+ 2002-05-31 James Henstridge <james@daa.com.au>
+
+ * gtkdoc-mkdb.in (OutputSGML): put XIncludes in the $book_bottom
+ variable.
+ (OutputBook): add the XInclude namespace declaration to the book
+ element.
+
+ * gtkdoc-mkhtml.in (declaration): if the document looks like XML,
+ process it with xsltproc.
+
+ * configure.in: check for xsltproc.
+
+ * gtk-doc.xsl: start of XSLT template for converting docbook/xml
+ to HTML.
+
+ ChangeLog | 33 ++++++
+ Makefile.am | 2 +
+ configure.in | 7 +
+ gtk-doc.dcl | 7 +-
+ gtk-doc.xsl | 322 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ gtkdoc-mkdb.in | 92 +++++++++++-----
+ gtkdoc-mkhtml.in | 12 ++-
+ 7 files changed, 443 insertions(+), 32 deletions(-)
+
+commit acfb2b81bc0d77212064263ec344005928b27c24
+Author: Matthias Clasen <matthiasc@src.gnome.org>
+Date: Mon Jun 3 18:14:54 2002 +0000
+
+ Don't use Posix character classes. Perl < 5.6 doesn't have them; and the
+
+
+ * gtkdoc-mkdb.in (ConvertSGMLChars): Don't use Posix character
+ classes. Perl < 5.6 doesn't have them; and the API doc autobuilder
+ on widget.gnome.org has an old Perl.
+
+ ChangeLog | 6 ++++++
+ gtkdoc-mkdb.in | 6 +++---
+ 2 files changed, 9 insertions(+), 3 deletions(-)
+
+commit 1977bc07cd728cdfa3d74d91b599ebc2e1061c24
+Author: Matthias Clasen <matthiasc@src.gnome.org>
+Date: Tue May 28 23:43:28 2002 +0000
+
+ Fixes for #77193:
+
+
+ Fixes for #77193:
+
+ * gtkdoc-mkdb.in (OutputSGML): Call GetSignals, GetArgs and
+ GetHierarchy for each symbol here and accumulate.
+ (OutputSGMLFile): Get signal, argument and hierarchy information
+ from the caller.
+ (GetSignals, GetArgs, GetHierarchy): Don't wrap the return value
+ in a refsect1, so that the results of multiple calls can be accumulated.
+
+ ChangeLog | 11 +++
+ gtkdoc-mkdb.in | 225 ++++++++++++++++++++++++++++++++------------------------
+ 2 files changed, 139 insertions(+), 97 deletions(-)
+
+commit 5f19575e2b355d3a140d47698443d61ec9abbc5a
+Author: Matthias Clasen <matthiasc@src.gnome.org>
+Date: Tue May 28 22:14:37 2002 +0000
+
+ Make this work correctly for empty elements and XML comments in doc
+
+ * gtkdoc-mkdb.in (ConvertSGMLChars): Make this work correctly
+ for empty elements and XML comments in doc comments.
+
+ ChangeLog | 5 +++++
+ gtkdoc-mkdb.in | 4 ++--
+ 2 files changed, 7 insertions(+), 2 deletions(-)
+
+commit 59ea5a7b09786945bcaf3bf4f7994a8f75ced7ca
+Author: Matthias Clasen <matthiasc@src.gnome.org>
+Date: Mon May 27 21:29:29 2002 +0000
+
+ Use only the basename of the template file in the key for the symbol
+
+ * gtkdoc-mkdb.in (ReadTemplateFile, OutputSGMLFile):
+ Use only the basename of the template file in the key for the
+ symbol table, in order to decouple the file extensions of the
+ template files and the generated entities (we want to generate
+ .xml entities from .sgml template files when emitting XML).
+
+ ChangeLog | 8 ++++++++
+ gtkdoc-mkdb.in | 18 +++++++++---------
+ 2 files changed, 17 insertions(+), 9 deletions(-)
+
+commit 42cb74d253a4ec711e73e7b599d2a49c4ea215fd
+Author: Matthias Clasen <matthiasc@src.gnome.org>
+Date: Sat May 25 21:06:56 2002 +0000
+
+ New function which tries to be a bit more clever when escaping SGML syntax
+
+ * gtkdoc-mkdb.in (ConvertSGMLChars): New function which tries to
+ be a bit more clever when escaping SGML syntax characters.
+ (ScanSourceFile): Use ConvertSGMLChars instead of CreateValidSGML.
+ This reduces the work needed to make gtk-doc emit XML (where <, &
+ and friends must always be escaped).
+
+ ChangeLog | 8 ++++++++
+ gtkdoc-mkdb.in | 38 ++++++++++++++++++++++++++++++--------
+ 2 files changed, 38 insertions(+), 8 deletions(-)
+
+commit 254c06837ab48439bb18fabb68f1d8e5d0424e0f
+Author: Matthias Clasen <matthiasc@src.gnome.org>
+Date: Fri May 17 23:45:25 2002 +0000
+
+ Detect whether we're processing SGML or XML.
+
+ * gtkdoc-mkhtml.in: Detect whether we're processing SGML or XML.
+
+ * gtkdoc-mkdb.in: New option --output-format to switch between
+ SGML and XML output.
+
+ * Makefile.am (EXTRA_DIST): Add xml.dcl
+
+ * xml.dcl: The XML declaration.
+
+ ChangeLog | 11 +++
+ Makefile.am | 7 ++-
+ gtkdoc-mkdb.in | 73 ++++++++++++++--------
+ gtkdoc-mkhtml.in | 12 +++-
+ xml.dcl | 179 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ 5 files changed, 253 insertions(+), 29 deletions(-)
+
+commit 3bb869349f641335e306f61a36322c5e95c8cd25
+Author: jacob berkman <jacob@ximian.com>
+Date: Mon May 6 21:05:21 2002 +0000
+
+ add an include for the GTK_CHECK_VERSION macro
+
+ 2002-05-06 jacob berkman <jacob@ximian.com>
+
+ * gtkdoc-scangobj.in: add an include for the GTK_CHECK_VERSION
+ macro
+
+ ChangeLog | 5 +++++
+ gtkdoc-scangobj.in | 3 +++
+ 2 files changed, 8 insertions(+), 0 deletions(-)
+
+commit 79684bcf06284953e41ace99708091a465858e06
+Author: Matthias Clasen <matthiasc@src.gnome.org>
+Date: Sun May 5 20:10:37 2002 +0000
+
+ Output style properties. (#80659)
+
+ * gtkdoc-scangobj.in: Output style properties. (#80659)
+
+ * gtkdoc-mkdb.in (GetArgs): Return separate sections for
+ properties, child properties and style properties. (#80659)
+
+ ChangeLog | 7 ++++
+ gtkdoc-mkdb.in | 74 ++++++++++++++++++++++++++++++---------
+ gtkdoc-scangobj.in | 97 +++++++++++++++++++++++++++++----------------------
+ 3 files changed, 119 insertions(+), 59 deletions(-)
+
+commit a15d6346688dc7d8390c1e54bce20b395d2aacc9
+Author: Matthias Clasen <matthiasc@src.gnome.org>
+Date: Thu May 2 23:06:02 2002 +0000
+
+ Fix for segfault in scangobj-generated C program on Solaris. (#80606,
+
+ * gtkdoc-scangobj.in: Fix for segfault in scangobj-generated C
+ program on Solaris. (#80606, Jacob Berkman)
+
+ ChangeLog | 5 +++++
+ gtkdoc-scangobj.in | 9 ++++++---
+ 2 files changed, 11 insertions(+), 3 deletions(-)
+
+commit c44367d8bd22dbfe8f10dfac6ca5f207565fb1d2
+Author: Matthias Clasen <matthiasc@src.gnome.org>
+Date: Wed May 1 00:05:08 2002 +0000
+
+ Add the script which does the d.g.o online API docs.
+
+ ChangeLog | 3 +
+ tools/docpercentages.pl | 155 +++++++++++++++++++++++++++++++++++++++++++++++
+ 2 files changed, 158 insertions(+), 0 deletions(-)
+
+commit e0cf8efc2a6ad8ea9d33e00c2ca99d3a94042350
+Author: Matthias Clasen <matthiasc@src.gnome.org>
+Date: Tue Apr 30 23:26:21 2002 +0000
+
+ Fix $MODULE-undocumented.txt for d.g.o online API docs.
+
+ * gtkdoc-mkdb.in (OutputMissingDocumentation): Fix
+ $MODULE-undocumented.txt for d.g.o online API docs.
+
+ * gtkdoc-mkdb.in (GetArgs): Use blurbs for property documentation.
+
+ * gtkdoc-scangobj.in: Output child properties. Output nicks and
+ blurbs for properties.
+
+ ChangeLog | 10 ++++++++++
+ gtkdoc-mkdb.in | 15 +++++++++++----
+ gtkdoc-scangobj.in | 26 ++++++++++++++++++++++----
+ 3 files changed, 43 insertions(+), 8 deletions(-)
+
+commit b0636b58b8b29ea963eb1f16c74e2bb9797c4eb3
+Author: Matthias Clasen <matthiasc@src.gnome.org>
+Date: Sun Apr 28 21:35:26 2002 +0000
+
+ Don't scan for return value descriptions unnecessarily. (#65997)
+
+ * gtkdoc-mkdb.in (ScanSourceFile): Don't scan for return value
+ descriptions unnecessarily. (#65997)
+
+ ChangeLog | 5 +++++
+ gtkdoc-mkdb.in | 52 ++++++++++++++++++++++++++++++++++------------------
+ 2 files changed, 39 insertions(+), 18 deletions(-)
+
+commit f529f15b1e4032729c6fa5ae8925abd3139bed64
+Author: Matthias Clasen <matthiasc@src.gnome.org>
+Date: Mon Mar 11 18:16:35 2002 +0000
+
+ Create docs for signals on interfaces.
+
+ * gtkdoc-scangobj.in, gtkdoc-mkdb.in: Create docs for signals on interfaces.
+
+ ChangeLog | 4 ++++
+ gtkdoc-mkdb.in | 2 +-
+ gtkdoc-scangobj.in | 6 +++++-
+ 3 files changed, 10 insertions(+), 2 deletions(-)
+
+commit e864317f07746da1299cf01359d251ee27e406c6
+Author: Damon Chaplin <damon@ximian.com>
+Date: Fri Feb 1 23:05:39 2002 +0000
+
+ check for openjade or jade. Patch from Stefan Kost
+
+ 2002-02-01 Damon Chaplin <damon@ximian.com>
+
+ * configure.in: check for openjade or jade. Patch from Stefan Kost
+ <kost@imn.htwk-leipzig.de>.
+
+ * gtkdoc-mkhtml.in: use @JADE@ so the correct version of jade is used.
+
+ * autogen.sh: commented out autoheader since we don't have a config.h.
+
+ ChangeLog | 9 +++++++++
+ autogen.sh | 2 +-
+ configure.in | 18 +++++++++++++++++-
+ gtkdoc-mkhtml.in | 2 +-
+ 4 files changed, 28 insertions(+), 3 deletions(-)
+
+commit 1b101d645406a1e86f24a2eb25e46e87b62e9c77
+Author: Damon Chaplin <damon@ximian.com>
+Date: Fri Feb 1 22:27:01 2002 +0000
+
+ Released 0.9.
+
+ 2002-01-18 Damon Chaplin <damon@ximian.com>
+
+ * Released 0.9.
+
+ 2002-02-01 Damon Chaplin <damon@ximian.com>
+
+ * examples/Makefile.am: added SCANOBJ_OPTIONS in case the module needs
+ to pass options to gtkdoc-scanobj or gtkdoc-scangobj.
+
+ ChangeLog | 9 +++++++++
+ examples/Makefile.am | 5 ++++-
+ 2 files changed, 13 insertions(+), 1 deletions(-)
+
+commit a08b2395abdc0f8e8b42b7d5f406549908e86d2a
+Author: Damon Chaplin <damon@ximian.com>
+Date: Thu Jan 24 18:48:57 2002 +0000
+
+ added Zucchi's emacs lisp for automatically adding skeleton comment blocks
+
+ 2002-01-24 Damon Chaplin <damon@ximian.com>
+
+ * tools/gtk-doc.el: added Zucchi's emacs lisp for automatically adding
+ skeleton comment blocks above functions. Very handy!
+
+ ChangeLog | 5 +
+ Makefile.am | 3 +
+ tools/gtk-doc.el | 263 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ 3 files changed, 271 insertions(+), 0 deletions(-)
+
+commit 0ee087f1d2c31f91c26c073677c6470dd9eb0042
+Author: Damon Chaplin <damon@ximian.com>
+Date: Wed Jan 23 23:44:02 2002 +0000
+
+ bumped the version to 0.9, so GTK+ can depend on this if it wants to.
+
+ 2002-01-23 Damon Chaplin <damon@ximian.com>
+
+ * configure.in: bumped the version to 0.9, so GTK+ can depend on this
+ if it wants to.
+
+ ChangeLog | 3 +++
+ configure.in | 2 +-
+ 2 files changed, 4 insertions(+), 1 deletions(-)
+
+commit 403e4f3130ceea45b3b28a33382e0b86cff2b1af
+Author: Damon Chaplin <damon@ximian.com>
+Date: Wed Jan 23 23:42:57 2002 +0000
+
+ we now default to calling g_type_init() to initialize the type system,
+
+ 2002-01-23 Damon Chaplin <damon@ximian.com>
+
+ * gtkdoc-scangobj.in: we now default to calling g_type_init() to
+ initialize the type system, rather than gtk_init(). This means you
+ don't need an X connection to build the docs any more. Hurrah!
+ Also added a '--type-init-func' argument so you can change the
+ function to be called. GTK+ uses --type-init-func="gtk_type_init(0)".
+
+ * gtkdoc-scan.in (ScanHeader): removed 'Found object' debug message.
+
+ ChangeLog | 10 ++++++++++
+ gtkdoc-scan.in | 2 +-
+ gtkdoc-scangobj.in | 22 +++++++++-------------
+ 3 files changed, 20 insertions(+), 14 deletions(-)
+
+commit 7bf87b4092d5a88bf919d9b57e4c4f6c3c84ca5a
+Author: Damon Chaplin <damon@ximian.com>
+Date: Fri Jan 18 18:54:25 2002 +0000
+
+ added gtk-doc.dcl to EXTRA_DIST.
+
+ 2002-01-18 Damon Chaplin <damon@ximian.com>
+
+ * Makefile.am (EXTRA_DIST): added gtk-doc.dcl to EXTRA_DIST.
+
+ ChangeLog | 4 ++++
+ Makefile.am | 4 +++-
+ 2 files changed, 7 insertions(+), 1 deletions(-)
+
+commit 88d2d42ce5bcfcde4c0fa9d4c4b3264342be05f1
+Author: Damon Chaplin <damon@ximian.com>
+Date: Fri Jan 18 18:31:03 2002 +0000
+
+ Released 0.8.
+
+ 2002-01-18 Damon Chaplin <damon@ximian.com>
+
+ * Released 0.8.
+
+ 2002-01-18 Damon Chaplin <damon@ximian.com>
+
+ * gtkdoc-scangobj.in: Reverted jacob's patch for this release, since
+ it breaks GTK+ and possibly other packages. I'll re-apply it after
+ the release, so we can fix everything in CVS.
+
+ ChangeLog | 10 ++++++++++
+ configure.in | 2 +-
+ gtkdoc-scangobj.in | 20 +++++++++++++++-----
+ 3 files changed, 26 insertions(+), 6 deletions(-)
+
+commit 4e96defb8fd900d4a5ff08aba8ba7c24b7430261
+Author: jacob berkman <jacob@ximian.com>
+Date: Fri Jan 18 17:59:23 2002 +0000
+
+ default to calling g_type_init(), remove --nogtkinit argument and replace
+
+ 2002-01-18 jacob berkman <jacob@ximian.com>
+
+ * gtkdoc-scangobj.in: default to calling g_type_init(), remove
+ --nogtkinit argument and replace with a more flexible
+ --type-init-func
+
+ ChangeLog | 6 ++++++
+ gtkdoc-scangobj.in | 20 +++++---------------
+ 2 files changed, 11 insertions(+), 15 deletions(-)
+
+commit a9b20e7fa1472e7ffe78688fb96dcb81f4ba4864
+Author: Damon Chaplin <damon@ximian.com>
+Date: Fri Jan 18 17:24:48 2002 +0000
+
+ patch from Matthias Clasen <matthiasc@poet.de> to only strip first space
+
+ 2002-01-18 Damon Chaplin <damon@ximian.com>
+
+ * gtkdoc-mkdb.in (ScanSourceFile): patch from Matthias Clasen
+ <matthiasc@poet.de> to only strip first space after '*' in source
+ code comment blocks, so example code can be indented as desired.
+ Bug #68216.
+
+ ChangeLog | 7 +++++++
+ gtkdoc-mkdb.in | 14 +++++++-------
+ 2 files changed, 14 insertions(+), 7 deletions(-)
+
+commit c5a7a573303aa6b1c2cad2a6ce2a51d98e112f1e
+Author: Owen Taylor <otaylor@src.gnome.org>
+Date: Wed Nov 21 22:05:43 2001 +0000
+
+ Fix garbage character from last release
+
+ gtkdoc-mkdb.in | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+commit 7f9c7235f1dc8d1c0dc116a81a8300064caa72d1
+Author: Owen Taylor <otaylor@redhat.com>
+Date: Wed Nov 21 21:51:43 2001 +0000
+
+ Add some extra quoting to error messages to make it clearer what is going
+
+ Wed Nov 21 16:50:35 2001 Owen Taylor <otaylor@redhat.com>
+ * gtkdoc-mkdb,tmpl.in: Add some extra quoting to
+ error messages to make it clearer what is going on
+ with trailing commas on enumeration declarations.
+
+ ChangeLog | 6 ++++++
+ gtkdoc-mkdb.in | 6 +++---
+ gtkdoc-mktmpl.in | 4 ++--
+ 3 files changed, 11 insertions(+), 5 deletions(-)
+
+commit 853c6feac539b537a3f5d024194fc6ec1ab7034a
+Author: Owen Taylor <otaylor@redhat.com>
+Date: Wed Nov 21 21:05:17 2001 +0000
+
+ Applied patch from Matthias Clasen to use a modified .dcl file with the 44
+
+ Wed Nov 21 16:00:45 2001 Owen Taylor <otaylor@redhat.com>
+
+ * Applied patch from Matthias Clasen to use a modified
+ .dcl file with the 44 character name length limit removed.
+ (#61342)
+
+ ChangeLog | 6 +++
+ Makefile.am | 3 +-
+ gtk-doc.dcl | 107 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ gtkdoc-mkhtml.in | 2 +-
+ 4 files changed, 116 insertions(+), 2 deletions(-)
+
+commit 7330ae36ae2e184e5d1b6fbf82c3841337f6ad14
+Author: Damon Chaplin <damon@ximian.com>
+Date: Wed Oct 17 22:22:32 2001 +0000
+
+ applied patch from Matthias Clasen <matthiasc@poet.de> to take a
+
+ 2001-10-17 Damon Chaplin <damon@ximian.com>
+
+ * gtkdoc-mkdb.in: applied patch from Matthias Clasen
+ <matthiasc@poet.de> to take a --sgml-mode argument which means
+ all comment blocks in the source code are assumed to be DocBook
+ (i.e. we don't convert '<', '>' and '&' to '<' etc.
+
+ ChangeLog | 7 +++++++
+ gtkdoc-mkdb.in | 23 +++++++++++++++--------
+ 2 files changed, 22 insertions(+), 8 deletions(-)
+
+commit 07bc6c3a59959f24c59387a1cc4cf79e7260f6b4
+Author: Damon Chaplin <damon@ximian.com>
+Date: Tue Oct 9 22:12:43 2001 +0000
+
+ changed %.2f to %.0f so hopefully the automated reports on
+
+ 2001-10-09 Damon Chaplin <damon@ximian.com>
+
+ * gtkdoc-mkdb.in (OutputMissingDocumentation): changed %.2f to %.0f
+ so hopefully the automated reports on developer.gnome.org will work
+ OK again.
+
+ ChangeLog | 6 ++++++
+ gtkdoc-mkdb.in | 4 ++--
+ 2 files changed, 8 insertions(+), 2 deletions(-)
+
+commit 23ec550294f939de3b2a18763b17acb7468c72e4
+Author: Damon Chaplin <damon@ximian.com>
+Date: Wed Oct 3 02:20:39 2001 +0000
+
+ applied patch from matthiasc@poet.de (Matthias Clasen) to handle
+
+ 2001-10-02 Damon Chaplin <damon@ximian.com>
+
+ * gtkdoc-mktmpl.in (OutputDeclaration):
+ * gtkdoc-mkdb.in (OutputFunction): applied patch from
+ matthiasc@poet.de (Matthias Clasen) to handle G_CONST_RETURN in a
+ parameter list. Bug #61341.
+
+ ChangeLog | 10 ++++++++++
+ gtkdoc-mkdb.in | 2 +-
+ gtkdoc-mktmpl.in | 2 +-
+ 3 files changed, 12 insertions(+), 2 deletions(-)
+
+commit b223e9aae2d3d118f9a614559ae779f82c6878e1
+Author: Damon Chaplin <damon@ximian.com>
+Date: Wed Oct 3 02:06:24 2001 +0000
+
+ applied patch from matthiasc@poet.de (Matthias Clasen) to output
+
+ 2001-10-02 Damon Chaplin <damon@ximian.com>
+
+ * gtkdoc-mkdb.in (OutputMissingDocumentation): applied patch from
+ matthiasc@poet.de (Matthias Clasen) to output percentages better.
+ Also set percent to 100 if total is 0, avoiding divide-by-zero.
+
+ ChangeLog | 4 ++++
+ gtkdoc-mkdb.in | 10 +++++++---
+ 2 files changed, 11 insertions(+), 3 deletions(-)
+
+commit fdb4530478593b1be1b03f380d483e8777b2a9ee
+Author: Damon Chaplin <damon@ximian.com>
+Date: Wed Oct 3 01:51:53 2001 +0000
+
+ define as an empty string, even when not used.
+
+ 2001-10-02 Damon Chaplin <damon@ximian.com>
+
+ * examples/Makefile.am (DOC_OVERRIDES): define as an empty string,
+ even when not used.
+
+ ChangeLog | 5 +++++
+ examples/Makefile.am | 5 +++--
+ 2 files changed, 8 insertions(+), 2 deletions(-)
+
+commit 38bda87499a749552beff2c54c425851890e5051
+Author: Damon Chaplin <damon@ximian.com>
+Date: Fri Sep 14 01:23:46 2001 +0000
+
+ initialize buffer to "". Fix for SGI from David Kaelbling <drk@sgi.com>.
+
+ 2001-09-13 Damon Chaplin <damon@ximian.com>
+
+ * gtkdoc-mkdb.in (OutputMissingDocumentation): initialize buffer to "".
+ Fix for SGI from David Kaelbling <drk@sgi.com>.
+
+ ChangeLog | 5 +++++
+ gtkdoc-mkdb.in | 2 +-
+ 2 files changed, 6 insertions(+), 1 deletions(-)
+
+commit 61b7e64a5ed5d14c03001c7949d8bfb3386c4747
+Author: Jonathan Blandford <jrb@webwynk.net>
+Date: Sat Sep 8 18:10:53 2001 +0000
+
+ recognize GET_IFACE macros
+
+ Sat Sep 8 14:08:51 2001 Jonathan Blandford <jrb@webwynk.net>
+
+ * gtkdoc-scan.in (ScanHeader): recognize GET_IFACE macros
+
+ ChangeLog | 4 ++++
+ gtkdoc-scan.in | 1 +
+ 2 files changed, 5 insertions(+), 0 deletions(-)
+
+commit 5989b78428672967c25f27150523814baa31bb94
+Author: Havoc Pennington <hp@pobox.com>
+Date: Sat Sep 8 06:26:13 2001 +0000
+
+ Title the section on object properties "Properties" instead of "Args"
+
+ 2001-09-08 Havoc Pennington <hp@pobox.com>
+
+ * gtkdoc-mkdb.in (GetArgs): Title the section on object properties
+ "Properties" instead of "Args"
+
+ ChangeLog | 5 +++++
+ gtkdoc-mkdb.in | 4 ++--
+ 2 files changed, 7 insertions(+), 2 deletions(-)
+
+commit 2592c6a53de92c63083372f77f52bc22ae85cce4
+Author: Laszlo Peter <laca@ireland.sun.com>
+Date: Wed Aug 15 11:05:15 2001 +0000
+
+ change \n's to \\n's in perl scripts generating C code.
+
+ 2001-08-14 Laszlo Peter <laca@ireland.sun.com>
+
+ * gtkdoc-scanobj.in:
+ * gtkdoc-scangobj.in: change \n's to \\n's in perl scripts
+ generating C code.
+
+ ChangeLog | 6 ++++++
+ gtkdoc-scangobj.in | 16 ++++++++--------
+ gtkdoc-scanobj.in | 18 +++++++++---------
+ 3 files changed, 23 insertions(+), 17 deletions(-)
+
+commit 2fe1d8a3f951a1961dc3043d000e3c03e51875b1
+Author: Jens Finke <jens@gnome.org>
+Date: Sun Aug 12 17:46:21 2001 +0000
+
+ Updated gtk-doc.spec.in file to match gpp standard.
+
+ 2001-08-12 Jens Finke <jens@gnome.org>
+
+ * Updated gtk-doc.spec.in file to match gpp standard.
+
+ ChangeLog | 4 +++
+ gtk-doc.spec.in | 78 +++++++++++++++++++++++++++++--------------------------
+ 2 files changed, 45 insertions(+), 37 deletions(-)
+
+commit 6f6ed180b648ac1317760471a763f9f86476c8fc
+Author: Damon Chaplin <damon@ximian.com>
+Date: Sat Aug 4 21:41:51 2001 +0000
+
+ Released 0.7
+
+ 2001-08-04 Damon Chaplin <damon@ximian.com>
+
+ * Released 0.7
+
+ ChangeLog | 4 ++++
+ configure.in | 2 +-
+ 2 files changed, 5 insertions(+), 1 deletions(-)
+
+commit a12a4c09edbe394ddf240f97ab8a51860d869506
+Author: Damon Chaplin <damon@ximian.com>
+Date: Sat Aug 4 20:59:20 2001 +0000
+
+ patch from Lowell Johnson <ldjohn@usgs.gov> to accept things like "long
+
+ 2001-08-04 Damon Chaplin <damon@ximian.com>
+
+ * gtkdoc-mkdb.in (OutputFunction):
+ * gtkdoc-mktmpl.in (OutputDeclaration): patch from Lowell Johnson
+ <ldjohn@usgs.gov> to accept things like "long long", "short int",
+ "char test[][CLEN]" as function parameters.
+
+ ChangeLog | 7 +++++++
+ gtkdoc-mkdb.in | 2 +-
+ gtkdoc-mktmpl.in | 2 +-
+ 3 files changed, 9 insertions(+), 2 deletions(-)
+
+commit f431b3a22ed017ee0301d6b412c6c42f1268a81c
+Author: Anders Carlsson <andersca@gnome.org>
+Date: Fri Jul 20 11:36:07 2001 +0000
+
+ Remove argument to g_type_init ();
+
+ 2001-07-20 Anders Carlsson <andersca@gnome.org>
+
+ * gtkdoc-scangobj.in: Remove argument to g_type_init ();
+
+ ChangeLog | 4 ++++
+ gtkdoc-scangobj.in | 2 +-
+ 2 files changed, 5 insertions(+), 1 deletions(-)
+
+commit e4f687e639bd3c1461dafacb92df0ff6c2f7533d
+Author: Damon Chaplin <damon@ximian.com>
+Date: Tue Jul 10 01:15:25 2001 +0000
+
+ accept G_CONST_RETURN modifier for function return values.
+
+ 2001-07-09 Damon Chaplin <damon@ximian.com>
+
+ * gtkdoc-mkdb.in (ParseStructDeclaration): accept G_CONST_RETURN
+ modifier for function return values. gtkdoc-mktmpl.in already had this.
+
+ ChangeLog | 5 +++++
+ gtkdoc-mkdb.in | 2 +-
+ 2 files changed, 6 insertions(+), 1 deletions(-)
+
+commit 0387c1a45fae7fcde57f4a21b20a589396917c66
+Author: Owen Taylor <otaylor@redhat.com>
+Date: Thu Jun 21 17:38:11 2001 +0000
+
+ Conform to changes in GObject API for property retrieval.
+
+ Thu Jun 21 11:57:16 2001 Owen Taylor <otaylor@redhat.com>
+
+ * gtkdoc-scangobj.in: Conform to changes in GObject API
+ for property retrieval.
+
+ ChangeLog | 5 +++++
+ gtkdoc-scangobj.in | 13 +++++++++++--
+ 2 files changed, 16 insertions(+), 2 deletions(-)
+
+commit c6a024b7ccc4c0558febe0257ea96a9f7fbbb181
+Author: Peter Williams <peterw@ximian.com>
+Date: Fri May 25 23:38:57 2001 +0000
+
+ Skip single-line comments -- prevents barfing on ORBit-generated files.
+
+ 2001-05-25 Peter Williams <peterw@ximian.com>
+
+ * gtkdoc-mkdb.in (ScanSourceFile): Skip single-line comments --
+ prevents barfing on ORBit-generated files.
+
+ ChangeLog | 5 +++++
+ gtkdoc-mkdb.in | 4 +++-
+ 2 files changed, 8 insertions(+), 1 deletions(-)
+
+commit 30fe8157785ba807971879021beb65b0d4874af3
+Author: Damon Chaplin <damon@ximian.com>
+Date: Mon May 21 01:07:44 2001 +0000
+
+ replaced use of wildcard (which isn't portable) with original *.sgml. I
+
+ 2001-05-20 Damon Chaplin <damon@ximian.com>
+
+ * examples/Makefile.am (sgml-build.stamp): replaced use of wildcard
+ (which isn't portable) with original *.sgml. I think this just means
+ that the first time you try to build the docs it will fail, but if
+ you run make again it will work.
+
+ * doc/setting-up.txt: explained that make may fail the first time.
+
+ ChangeLog | 9 +++++++++
+ doc/setting-up.txt | 3 ++-
+ examples/Makefile.am | 2 +-
+ 3 files changed, 12 insertions(+), 2 deletions(-)
+
+commit 8e01574924cdd225c7a09c18976333dbf32e6cb1
+Author: Damon Chaplin <damon@ximian.com>
+Date: Sun May 20 01:46:20 2001 +0000
+
+ updated docs to cover simpler setup procedure.
+
+ 2001-05-19 Damon Chaplin <damon@ximian.com>
+
+ * README:
+ * doc/README:
+ * doc/setting-up.txt:
+ * doc/sections-file.txt:
+ * doc/authors.txt: updated docs to cover simpler setup procedure.
+
+ * doc/gtk_button.txt:
+ * doc/manpage:
+ * doc/manpage.man:
+ * doc/notes.txt: removed out-of date stuff.
+
+ * Makefile.am (dist-hook): updated so it doesn't try to remove old
+ examples subdirectory stuff.
+
+ ChangeLog | 16 ++++
+ Makefile.am | 2 +-
+ README | 184 +++++----------------------------------
+ doc/README | 27 ++-----
+ doc/authors.txt | 42 +---------
+ doc/gtk_button.txt | 235 -------------------------------------------------
+ doc/manpage | 170 -----------------------------------
+ doc/manpage.man | 140 -----------------------------
+ doc/notes.txt | 180 -------------------------------------
+ doc/sections-file.txt | 3 +-
+ doc/setting-up.txt | 109 ++++++-----------------
+ 11 files changed, 74 insertions(+), 1034 deletions(-)
+
+commit 194bbb95f62c3a24598ffc461c27879a02424a5e
+Author: Damon Chaplin <damon@src.gnome.org>
+Date: Sun May 20 00:25:42 2001 +0000
+
+ updated my email address
+
+ AUTHORS | 2 +-
+ MAINTAINERS | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+commit 75350bb0046fb8fb60731bcdd252bcc590711476
+Author: Damon Chaplin <damon@src.gnome.org>
+Date: Sun May 20 00:24:07 2001 +0000
+
+ added configure.in back
+
+ examples/configure.in | 50 +++++++++++++++++++++++++++++++++++++++++++++++++
+ 1 files changed, 50 insertions(+), 0 deletions(-)
+
+commit 76fc6f9376120f9635384166c79738f6a62477d5
+Author: Damon Chaplin <damon@ximian.com>
+Date: Sun May 20 00:22:23 2001 +0000
+
+ removed out-of-date example files.
+
+ 2001-05-19 Damon Chaplin <damon@ximian.com>
+
+ * examples/gnome/*:
+ * examples/gnomeui/*: removed out-of-date example files.
+
+ * examples/configure.in:
+ * examples/Makefile.am: new example setup mostly copied from GTK+.
+
+ * examples/README: describe the example configure.in/Makefile.am.
+
+ ChangeLog | 10 +
+ examples/Makefile.am | 182 ++++-
+ examples/README | 25 +-
+ examples/configure.in | 26 -
+ examples/gnome/Makefile.am | 40 -
+ examples/gnome/gnome-docs.sgml | 54 -
+ examples/gnome/gnome-sections.txt | 299 ------
+ examples/gnomeui/Makefile.am | 44 -
+ examples/gnomeui/gnomeui-docs.sgml | 161 ---
+ examples/gnomeui/gnomeui-sections.txt | 1777 ---------------------------------
+ examples/gnomeui/gnomeui.types | 55 -
+ 11 files changed, 199 insertions(+), 2474 deletions(-)
+
+commit bf6d27aaf14ed12a4fe62dde8ca40d21fabaf0fe
+Author: Damon Chaplin <damon@ximian.com>
+Date: Sat May 19 23:55:51 2001 +0000
+
+ added --help option and changed output slightly to make more compatable
+
+ 2001-05-19 Damon Chaplin <damon@ximian.com>
+
+ * gtkdoc-mkdb.in: added --help option and changed output slightly to
+ make more compatable with XML. Patch from Toshio Kuratomi
+ <badger@prtr-13.ucsc.edu>
+
+ ChangeLog | 6 ++++++
+ gtkdoc-mkdb.in | 27 +++++++++++++++++++++------
+ 2 files changed, 27 insertions(+), 6 deletions(-)
+
+commit d8db34e86fc2706ea5d0ab844a5c633054d7334b
+Author: Damon Chaplin <damon@ximian.com>
+Date: Sat May 19 23:32:46 2001 +0000
+
+ changed a '?' to a '*' so we accept multi-dimensional array function
+
+ 2001-05-19 Damon Chaplin <damon@ximian.com>
+
+ * gtkdoc-mktmpl.in (OutputDeclaration):
+ * gtkdoc-mkdb.in (OutputFunction): changed a '?' to a '*' so we accept
+ multi-dimensional array function parameters. Patch from Paolo Casarini
+ <casarini@CS.UniBO.IT>
+
+ * gtkdoc-scangobj.in:
+ * gtkdoc-scanobj.in: used "*pos = 0" to avoid problems with backslashes
+ in '\0'.
+
+ * configure.in: removed dsssl dirs stuff, since we use public entities
+ now.
+
+ * gtkdoc-mkdb.in (OutputBook): if there is no main SGML file we create
+ it here. Also added a --main-sgml-file option so we know where to put
+ it.
+
+ * gtkdoc-scan.in: if there is no MODULE-sections.txt file, we copy
+ the MODULE-decl-list.txt file to it. The user can tweak it later.
+
+ ChangeLog | 26 +++++++++++++++++++++++++-
+ configure.in | 8 ++------
+ gtkdoc-mkdb.in | 41 ++++++++++++++++++++++++++++++++++++++---
+ gtkdoc-mktmpl.in | 2 +-
+ gtkdoc-scan.in | 7 +++++++
+ gtkdoc-scangobj.in | 2 +-
+ gtkdoc-scanobj.in | 2 +-
+ 7 files changed, 75 insertions(+), 13 deletions(-)
+
+commit 215068558f210def09cfe5f018557bb1ef9438be
+Author: Owen Taylor <otaylor@redhat.com>
+Date: Sat May 19 17:44:31 2001 +0000
+
+ Fix crazy format specifier
+
+ Sat May 19 13:43:39 2001 Owen Taylor <otaylor@redhat.com>
+
+ * gtkdoc-mkdb.in (OutputMissingDocumentation): Fix
+ crazy format specifier
+
+ gtkdoc-mkdb.in | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+commit f0353a2b0ab03b62b618d85ddf99ce851602e280
+Author: Damon Chaplin <damon@ximian.com>
+Date: Fri May 11 19:40:25 2001 +0000
+
+ applied patch from Toshio Kuratomi <badger@prtr-13.ucsc.edu>.
+
+ 2001-05-11 Damon Chaplin <damon@ximian.com>
+
+ * gtk-doc.spec.in: applied patch from Toshio Kuratomi
+ <badger@prtr-13.ucsc.edu>.
+
+ ChangeLog | 5 +++++
+ gtk-doc.spec.in | 27 ++++++++++++++++++++-------
+ 2 files changed, 25 insertions(+), 7 deletions(-)
+
+commit dce7c3d564109e40ef90b4939a611c93e9ef9b44
+Author: Joakim <joakim@src.gnome.org>
+Date: Mon May 7 18:44:06 2001 +0000
+
+ Doc coverage support. Now outputs $MODULE-undocumented.txt.
+
+ ChangeLog | 11 ++++++
+ gtkdoc-mkdb.in | 108 +++++++++++++++++++++++++++++++++++++++++++++++++++++--
+ gtkdoc-scan.in | 2 +-
+ 3 files changed, 116 insertions(+), 5 deletions(-)
+
+commit 764b14e69c3bf38f1d72c67174b258da1c806510
+Author: Federico Mena Quintero <federico@ximian.com>
+Date: Thu Apr 26 19:39:32 2001 +0000
+
+ Added missing output-dir in the call to GetOptions().
+
+ 2001-04-25 Federico Mena Quintero <federico@ximian.com>
+
+ * gtkdoc-scanobj.in: Added missing output-dir in the call to
+ GetOptions().
+
+ ChangeLog | 5 +++++
+ gtkdoc-scanobj.in | 2 +-
+ 2 files changed, 6 insertions(+), 1 deletions(-)
+
+commit 00d9e1310e00808c15932419148b1a586fa6024c
+Author: Damon Chaplin <damon@ximian.com>
+Date: Tue Apr 24 17:24:48 2001 +0000
+
+ copied --outputdir option from gtkdoc-scangobj.in.
+
+ 2001-04-24 Damon Chaplin <damon@ximian.com>
+
+ * gtkdoc-scanobj.in: copied --outputdir option from gtkdoc-scangobj.in.
+
+ ChangeLog | 4 ++++
+ gtkdoc-scanobj.in | 17 ++++++++++-------
+ 2 files changed, 14 insertions(+), 7 deletions(-)
+
+commit 0e7a4f70c994879f577666fcfb2c8e64afaeb083
+Author: Owen Taylor <otaylor@redhat.com>
+Date: Fri Apr 13 19:26:23 2001 +0000
+
+ Restore call to OutputBook that was accidentally deleted.
+
+ Fri Apr 13 15:25:44 2001 Owen Taylor <otaylor@redhat.com>
+
+ * gtkdoc-mkdb.in: Restore call to OutputBook that was accidentally
+ deleted.
+
+ Thu Apr 12 17:57:12 2001 Owen Taylor <otaylor@redhat.com>
+
+ * gtkdoc-scangobj.in: Add a --outputdir option (sort of hacky.
+ Need this because $CC, $LD can include relative paths if they
+ are based on $LIBTOOL)
+
+ ChangeLog | 11 +++++++++++
+ gtkdoc-mkdb.in | 2 ++
+ gtkdoc-scangobj.in | 21 ++++++++++++---------
+ 3 files changed, 25 insertions(+), 9 deletions(-)
+
+commit b0999649218bfbaa4dc3989c127220e8d50f54c3
+Author: Damon Chaplin <damon@ximian.com>
+Date: Mon Mar 26 21:27:14 2001 +0000
+
+ scan .h files as well, so macros can be documented there if desired.
+
+ 2001-03-26 Damon Chaplin <damon@ximian.com>
+
+ * gtkdoc-mkdb.in (ReadSourceDocumentation): scan .h files as well,
+ so macros can be documented there if desired.
+
+ * gtkdoc-mkhtml.in (gtkdocdir): use 'test -f' rather than 'test -e'
+ which is GNU-specific.
+
+ ChangeLog | 8 ++++++++
+ gtkdoc-mkdb.in | 2 +-
+ gtkdoc-mkhtml.in | 2 +-
+ 3 files changed, 10 insertions(+), 2 deletions(-)
+
+commit 901ae101d9a9080b3504972c9bc7b6221dd837cd
+Author: Tim Janik <timj@gtk.org>
+Date: Thu Mar 8 16:26:17 2001 +0000
+
+ fix signal param type handling.
+
+ Thu Mar 8 17:26:29 2001 Tim Janik <timj@gtk.org>
+
+ * gtkdoc-scangobj.in: fix signal param type handling.
+
+ ChangeLog | 4 ++++
+ gtkdoc-scangobj.in | 4 ++--
+ 2 files changed, 6 insertions(+), 2 deletions(-)
+
+commit 1045a136d8aeec86a3e49ca46d6b8b4c58f9064e
+Author: Jonathan Blandford <jrb@redhat.com>
+Date: Wed Mar 7 04:19:45 2001 +0000
+
+ Add gobject support. Now works on files that don't link against GTK.
+
+ Tue Mar 6 23:21:46 2001 Jonathan Blandford <jrb@redhat.com>
+
+ * gtkdoc-scanobj.in: Add gobject support. Now works on files that
+ don't link against GTK.
+
+ ChangeLog | 5 +++
+ gtkdoc-scangobj.in | 73 ++++++++++++++++++++++++---------------------------
+ 2 files changed, 39 insertions(+), 39 deletions(-)
+
+commit c595fbee40ca6eecdef5761d3d3d2434bf536f24
+Author: Owen Taylor <otaylor@redhat.com>
+Date: Sat Mar 3 22:51:38 2001 +0000
+
+ Add support for G_CONST_RETURN. (Right now, it will appear as
+
+ Sat Mar 3 17:43:42 2001 Owen Taylor <otaylor@redhat.com>
+
+ * gtkdoc-{scan,mktmpl,mkdb}.in: Add support for G_CONST_RETURN.
+ (Right now, it will appear as G_CONST_RETURN in the output -
+ I'm not sure that's right - perhaps it should be converted
+ to const.)
+
+ ChangeLog | 7 +++++++
+ gtkdoc-mkdb.in | 2 +-
+ gtkdoc-mktmpl.in | 16 ++++++++--------
+ gtkdoc-scan.in | 8 ++++----
+ 4 files changed, 20 insertions(+), 13 deletions(-)
+
+commit 6f743a69c229417a43e7aa15f8b5b3922915656e
+Author: Michael Meeks <michael@ximian.com>
+Date: Tue Feb 20 04:12:55 2001 +0000
+
+ s/TRUE/1/
+
+ 2001-02-20 Michael Meeks <michael@ximian.com>
+
+ * gtkdoc-mktmpl.in: s/TRUE/1/
+
+ ChangeLog | 4 ++++
+ gtkdoc-mktmpl.in | 4 ++--
+ gtkdoc-scan.in | 4 ++--
+ 3 files changed, 8 insertions(+), 4 deletions(-)
+
+commit fcb1608a8885d93f10572e3af15f40038ec9ac1b
+Author: Damon Chaplin <damon@ximian.com>
+Date: Tue Feb 20 04:07:53 2001 +0000
+
+ fixed bug handling the $changed flag.
+
+ 2001-02-19 Damon Chaplin <damon@ximian.com>
+
+ * gtkdoc-mktmpl.in (UpdateTemplates): fixed bug handling the $changed
+ flag.
+
+ ChangeLog | 5 +++++
+ gtkdoc-mktmpl.in | 12 ++++++++----
+ 2 files changed, 13 insertions(+), 4 deletions(-)
+
+commit 7f7b17087ccee373808b91483921347ac5ef3f9e
+Author: Damon Chaplin <damon@ximian.com>
+Date: Tue Feb 20 04:00:42 2001 +0000
+
+ fixed bug handling the $changed flag.
+
+ 2001-02-19 Damon Chaplin <damon@ximian.com>
+
+ * gtkdoc-mktmpl.in (UpdateTemplates): fixed bug handling the $changed
+ flag.
+
+ gtkdoc-mktmpl.in | 6 ++++--
+ 1 files changed, 4 insertions(+), 2 deletions(-)
+
+commit 827129e289b4e37c3301c07ba62fe6ec6ee33ec5
+Author: Damon Chaplin <damon@ximian.com>
+Date: Sat Feb 17 23:42:00 2001 +0000
+
+ patch from Johannes Stezenbach <js@convergence.de> so we don't use '\b' in
+
+ 2001-02-17 Damon Chaplin <damon@ximian.com>
+
+ * gtkdoc-scan.in (ScanHeaders):
+ (ScanHeader): patch from Johannes Stezenbach <js@convergence.de>
+ so we don't use '\b' in the regexp to match files/dirs to ignore.
+ '\b' can match '_' so we matched things we shouldn't have.
+
+ ChangeLog | 7 +++++++
+ gtkdoc-scan.in | 4 ++--
+ 2 files changed, 9 insertions(+), 2 deletions(-)
+
+commit 1739ca31bccd09720f06035b780ed0226a575f59
+Author: Owen Taylor <otaylor@redhat.com>
+Date: Mon Feb 12 17:51:15 2001 +0000
+
+ Up version.
+
+ Mon Feb 12 12:50:57 2001 Owen Taylor <otaylor@redhat.com>
+
+ * configure.in: Up version.
+
+ ChangeLog | 4 ++++
+ configure.in | 2 +-
+ 2 files changed, 5 insertions(+), 1 deletions(-)
+
+commit 50aa1b0b5c94715771e81b7f0ca219d4e776c262
+Author: Owen Taylor <otaylor@redhat.com>
+Date: Mon Feb 12 17:40:14 2001 +0000
+
+ Add a timestamp file for the templates like sgml.stamp
+
+ Sun Feb 11 18:35:07 2001 Owen Taylor <otaylor@redhat.com>
+
+ * gtkdoc-mktmpl.in: Add a timestamp file for the
+ templates like sgml.stamp
+
+ * gtkdoc-mktmpl.in (OutputUnusedTemplates): Write the
+ symbols out in sorted order instead of hash table
+ order to reduce conflicts.
+
+ ChangeLog | 9 +++++++++
+ gtkdoc-mktmpl.in | 22 ++++++++++++++++++----
+ 2 files changed, 27 insertions(+), 4 deletions(-)
+
+commit 4a71b4655b714508cc237ea417e72371969c089f
+Author: Owen Taylor <otaylor@redhat.com>
+Date: Mon Feb 5 21:50:56 2001 +0000
+
+ Remove checks for DSSSL - use a public entity instead.
+
+ Mon Feb 5 16:48:51 2001 Owen Taylor <otaylor@redhat.com>
+
+ * configure.in gtk-doc.dsl.in: Remove checks for DSSSL - use a
+ public entity instead.
+
+ * gtkdoc-scangobj.in: Fix to work with libtool better.
+
+ ChangeLog | 7 +++++++
+ configure.in | 21 ---------------------
+ gtk-doc.dsl.in | 2 +-
+ gtkdoc-scanobj.in | 9 ++++++++-
+ 4 files changed, 16 insertions(+), 23 deletions(-)
+
+commit 949f610eab902ab41501a7b3e21c3069610662e8
+Author: Havoc Pennington <hp@pobox.com>
+Date: Wed Jan 31 03:42:23 2001 +0000
+
+ Added -*- cperl -*- magic, and --deprecated-guards option.
+
+ 2001-01-30 Havoc Pennington <hp@pobox.com>
+
+ * gtkdoc-fixxref.in, gtkdoc-mkdb.in, gtkdoc-mktmpl.in,
+ gtkdoc-scan.in, gtkdoc-scangobj.in, gtkdoc-scanobj.in:
+ Added -*- cperl -*- magic, and --deprecated-guards
+ option.
+
+ ChangeLog | 7 +++++
+ gtkdoc-fixxref.in | 1 +
+ gtkdoc-mkdb.in | 48 ++++++++++++++++++++++++++++++++++++++-
+ gtkdoc-mktmpl.in | 6 ++++-
+ gtkdoc-scan.in | 64 ++++++++++++++++++++++++++++++++++++++++++---------
+ gtkdoc-scangobj.in | 1 +
+ gtkdoc-scanobj.in | 1 +
+ 7 files changed, 114 insertions(+), 14 deletions(-)
+
+commit 6e6fc29f4f845bfaee24285a0febe7c1f21988e4
+Author: Damon Chaplin <damon@src.gnome.org>
+Date: Tue Jan 23 02:16:33 2001 +0000
+
+ added gtkdoc-common.pl
+
+ .cvsignore | 1 +
+ 1 files changed, 1 insertions(+), 0 deletions(-)
+
+commit dd39f72e67224a88c72be19582d64088ffde168f
+Author: Damon Chaplin <damon@src.gnome.org>
+Date: Tue Jan 23 02:15:52 2001 +0000
+
+ Oops. Forgot to add gtkdoc-common.pl.in
+
+
+ Oops. Forgot to add gtkdoc-common.pl.in
+
+ gtkdoc-common.pl.in | 83 +++++++++++++++++++++++++++++++++++++++++++++++++++
+ 1 files changed, 83 insertions(+), 0 deletions(-)
+
+commit ca67e905bbcd1baee586eb4fce0425f3fdf12941
+Author: Damon Chaplin <damon@helixcode.com>
+Date: Tue Jan 23 01:59:37 2001 +0000
+
+ changed so that they only update files when necessary (they write new
+
+ 2001-01-23 Damon Chaplin <damon@helixcode.com>
+
+ * gtkdoc-scangobj.in:
+ * gtkdoc-scanobj.in:
+ * gtkdoc-scan.in:
+ * gtkdoc-mkdb.in:
+ * gtkdoc-mktmpl.in: changed so that they only update files when
+ necessary (they write new versions of the files out, then use 'cmp'
+ to compare with the existing versions to see if they have changed.)
+ This should make it easier to do proper dependency rules in Makefiles,
+ and it may cut down on CVS traffic.
+
+ * gtkdoc-mkhtml.in: update a timestamp file (html.stamp) after running.
+ * gtkdoc-mkdb.in: update a timestamp file (sgml.stamp) if any of the
+ DocBook SGML files have been changed. So hopefully you can now use
+ rules like this to avoid unnecessary regeneration of the HTML:
+
+ all-local:
+ $(MAKE) scan
+ $(MAKE) templates
+ $(MAKE) sgml
+ $(MAKE) html.stamp
+
+ html.stamp: sgml.stamp $(EXTRA_SGML_FILES)
+ $(MAKE) html
+
+ (I've tried this with the old GTK+ reference API docs and it seems to
+ work well.)
+
+ * gtkdoc-scangobj.in:
+ * gtkdoc-scanobj.in:
+ * gtkdoc-scan.in:
+ * gtkdoc-mkdb.in:
+ * gtkdoc-mktmpl.in:
+ * gtkdoc-mkhtml.in:
+ * gtkdoc-mkman.in:
+ * gtkdoc-fixxref.in:
+ Added '--version' command-line arg to all shell & perl scripts, so
+ you can check for version 0.5 if you want to use the above rules.
+ (If 0.4 is used make will probably complain about not knowing how to
+ to build sgml.stamp.)
+
+ * gtkdoc-common.pl.in: new file to contain shared routines.
+ For now it just contains the UpdateFileIfChanged routine for the above.
+ We can move the duplicated routines here in future, though the use of
+ global variables makes this a bit awkward.
+
+ * configure.in (PACKAGE_DATA_DIR): calculates the data dir and
+ substitutes it so that the scripts know where gtkdoc-common.pl
+ is installed. Also added gtkdoc-common.pl to AC_OUTPUT.
+
+ * Makefile.am: added gtkdoc-common.pl to gtkdocdata_DATA.
+
+ * gtkdoc-mkhtml.in: deleted the old index.sgml file, since it causes
+ problems if it is owned by root (e.g. after you run 'make install' as
+ root. jade prompts you about overwriting it, which is annoying.
+
+ ChangeLog | 57 +++++++++++++++++++++++++++++++++
+ Makefile.am | 1 +
+ configure.in | 18 ++++++++++-
+ gtkdoc-fixxref.in | 12 ++++++-
+ gtkdoc-mkdb.in | 90 ++++++++++++++++++++++++++++++++++++++++++----------
+ gtkdoc-mkhtml.in | 11 ++++++
+ gtkdoc-mkman.in | 5 +++
+ gtkdoc-mktmpl.in | 66 +++++++++++++++++++------------------
+ gtkdoc-scan.in | 40 ++++++++++++++---------
+ gtkdoc-scangobj.in | 32 +++++++++++++++---
+ gtkdoc-scanobj.in | 35 +++++++++++++++++---
+ 11 files changed, 288 insertions(+), 79 deletions(-)
+
+commit 7febd82960a25444c397c405e5c8d25715b509c4
+Author: Havoc Pennington <hp@redhat.com>
+Date: Wed Jan 10 16:47:22 2001 +0000
+
+ Only move old file to backup if the old file exists, and have better error
+
+ 2001-01-10 Havoc Pennington <hp@redhat.com>
+
+ * gtkdoc-mktmpl.in: Only move old file to backup if the old file
+ exists, and have better error messages when doing the backups
+
+ ChangeLog | 5 +++++
+ gtkdoc-mktmpl.in | 8 +++++---
+ 2 files changed, 10 insertions(+), 3 deletions(-)
+
+commit 0f733b98bb30b702917d4e04380b0e7b3467352a
+Author: Owen Taylor <otaylor@redhat.com>
+Date: Mon Jan 8 20:10:38 2001 +0000
+
+ Canonicalize signal and argument names to -, not _.
+
+ Mon Jan 8 14:57:29 2001 Owen Taylor <otaylor@redhat.com>
+
+ * gtkdoc-mktmpl.in: Canonicalize signal and argument
+ names to -, not _.
+
+ * gtkdoc-scangobj.in: Fix up for GParamSpec.
+
+ ChangeLog | 7 +++++++
+ gtkdoc-mkdb.in | 4 ++--
+ gtkdoc-mktmpl.in | 9 +++++++--
+ gtkdoc-scangobj.in | 32 ++++++++++----------------------
+ 4 files changed, 26 insertions(+), 26 deletions(-)
+
+commit 82712c827ba4ff82253426d049db4988c3cc5e80
+Author: Frederic Gobry <fredgo@src.gnome.org>
+Date: Thu Jan 4 17:34:42 2001 +0000
+
+ fixed matching of private_header directive
+
+ ChangeLog | 4 ++++
+ gtkdoc-scan.in | 2 +-
+ 2 files changed, 5 insertions(+), 1 deletions(-)
+
+commit 7a29ead54595fb777453a1d588fc9819e49a74dd
+Author: Damon Chaplin <damon@helixcode.com>
+Date: Wed Dec 20 02:51:46 2000 +0000
+
+ added default cases to get_type_name().
+
+ 2000-12-19 Damon Chaplin <damon@helixcode.com>
+
+ * gtkdoc-scanobj.in:
+ * gtkdoc-scangobj.in: added default cases to get_type_name().
+
+ 2000-12-10 Arturo Tena <arturo@directmail.org>
+
+ * gtkdoc-scanobj.in (get_type_name):
+ * gtkdoc-scangobj.in (get_type_name): fixed syntax error: forgotten
+ to close a switch statement.
+
+ ChangeLog | 11 +++++++++++
+ gtkdoc-scangobj.in | 6 +++++-
+ gtkdoc-scanobj.in | 6 +++++-
+ 3 files changed, 21 insertions(+), 2 deletions(-)
+
+commit d580833b3353bdb6e458d319f882f40a4fcb7aaa
+Author: Damon Chaplin <damon@helixcode.com>
+Date: Sun Dec 10 16:39:58 2000 +0000
+
+ added spec.in file from John Gotts <jgotts@linuxsavvy.com>.
+
+ 2000-12-10 Damon Chaplin <damon@helixcode.com>
+
+ * gtk-doc.spec.in: added spec.in file from John Gotts
+ <jgotts@linuxsavvy.com>.
+
+ * configure.in (AC_OUTPUT): added spec file.
+
+ * Makefile.am: uncommented spec file stuff, now that we have one.
+
+ * gtkdoc-scanobj.in (get_type_name):
+ * gtkdoc-scangobj.in (get_type_name): updated to use the type numbers
+ rather than the type names, which were changed in GTK+ 1.2. This
+ should fix a problem where GTK_TYPE_STRING arguments were output as
+ 'GtkString *arg' instead of 'gchar *arg'.
+
+ I'm still not sure what to output for the structured types such as
+ GTK_TYPE_SIGNAL/ARGS/FOREIGN/CALLBACK/C_CALLBACK. Should these be
+ expanded to several arguments to the signal handler?
+
+ ChangeLog | 19 ++++++++++
+ Makefile.am | 4 +-
+ configure.in | 1 +
+ gtk-doc.spec.in | 67 ++++++++++++++++++++++++++++++++++
+ gtkdoc-scangobj.in | 102 +++++++++++++++++++++++++--------------------------
+ gtkdoc-scanobj.in | 96 ++++++++++++++++++++++++-------------------------
+ 6 files changed, 186 insertions(+), 103 deletions(-)
+
+commit cc804f2be0d106334e40bb2ce5cda1c0f2623596
+Author: Dan Mueth <d-mueth@uchicago.edu>
+Date: Mon Nov 27 05:27:46 2000 +0000
+
+ Committing changes made by Chris Lyttle <chris@wilddev.net>. (Text for
+
+ 2000-11-26 Dan Mueth <d-mueth@uchicago.edu>
+
+ * gtk-doc-manual.sgml: Committing changes made by
+ Chris Lyttle <chris@wilddev.net>. (Text for Chapter 1)
+
+ help/manual/C/ChangeLog | 5 +
+ help/manual/C/gtk-doc-manual.sgml | 172 +++++++++++++++++++++++++++++++++----
+ 2 files changed, 161 insertions(+), 16 deletions(-)
+
+commit ea08a9f0d6668ecdcf0e4ab9c6295bd390d931e1
+Author: Dan Mueth <d-mueth@uchicago.edu>
+Date: Sat Nov 25 22:41:56 2000 +0000
+
+ created this path Put part of the outline into SGML. Chris plans to put
+
+ 2000-11-25 Dan Mueth <d-mueth@uchicago.edu>
+
+ * help/manual/C/: created this path
+ * gtk-doc-manual.sgml: Put part of the outline into SGML.
+ Chris plans to put rest of outline in here and start
+ writing.
+ * fdl-appendix.sgml: The FDL in SGML. We will probably post
+ these on the web as a single document (book) so we will
+ need the FDL to be included as an appendix.
+
+ ChangeLog | 10 +
+ help/manual/C/ChangeLog | 9 +
+ help/manual/C/fdl-appendix.sgml | 671 +++++++++++++++++++++++++++++++++++++
+ help/manual/C/gtk-doc-manual.sgml | 148 ++++++++
+ 4 files changed, 838 insertions(+), 0 deletions(-)
+
+commit 6c7331c17bbe9c3b2baa50797c3186fa55f20dcc
+Author: Tim Janik <timj@src.gnome.org>
+Date: Fri Nov 3 08:21:07 2000 +0000
+
+ shutup on gtk-doc.spec
+
+ .cvsignore | 1 +
+ 1 files changed, 1 insertions(+), 0 deletions(-)
+
+commit a694675d495071e0e78c3a046ba5e40e4a6c4d9e
+Author: Tim Janik <timj@gtk.org>
+Date: Fri Nov 3 07:01:50 2000 +0000
+
+ support /*<protected>*/ equivalently to /*<private>*/
+
+ Fri Nov 3 07:21:34 2000 Tim Janik <timj@gtk.org>
+
+ * gtkdoc-mkdb.in:
+ (ParseStructDeclaration):
+ (OutputStruct):
+ * gtkdoc-mktmpl.in:
+ (ParseStructDeclaration):
+ support /*<protected>*/ equivalently to /*<private>*/
+
+ Fri Nov 3 07:15:58 2000 Tim Janik <timj@gtk.org>
+
+ * gtkdoc-mktmpl.in:
+ * gtkdoc-mkdb.in:
+ (ReadTemplateFile): only eat up the first space (if at all
+ present) after "@param:" to preserve indentation for multiline
+ parameter descriptions.
+
+ ChangeLog | 17 +++++++++++++++++
+ gtkdoc-mkdb.in | 6 +++---
+ gtkdoc-mktmpl.in | 4 ++--
+ 3 files changed, 22 insertions(+), 5 deletions(-)
+
+commit 5d396a132559a68893b5104e5ae079638390248c
+Author: Raja R Harinath <harinath@src.gnome.org>
+Date: Mon Oct 30 20:58:11 2000 +0000
+
+ Stop scanning at '}' only when it starts a line. Likewise.
+
+ * gtkdoc-mkdb.in (ParseStructDeclaration):
+ Stop scanning at '}' only when it starts a line.
+ * gtkdoc-mktmpl.in (ParseStructDeclaration): Likewise.
+
+ ChangeLog | 6 ++++++
+ gtkdoc-mkdb.in | 3 ++-
+ gtkdoc-mktmpl.in | 3 ++-
+ 3 files changed, 10 insertions(+), 2 deletions(-)
+
+commit b1d172a37dbabb33a636a2358b2767bb4b7facf2
+Author: Tim Janik <timj@gtk.org>
+Date: Mon Oct 30 03:36:33 2000 +0000
+
+ use g_signal_list_ids().
+
+ Mon Oct 30 02:59:54 2000 Tim Janik <timj@gtk.org>
+
+ * gtkdoc-scangobj.in: use g_signal_list_ids().
+
+ ChangeLog | 4 ++++
+ gtkdoc-scangobj.in | 2 +-
+ 2 files changed, 5 insertions(+), 1 deletions(-)
+
+commit 523c6a4f41b32b41d31610bebbfc139632782b91
+Author: Owen Taylor <otaylor@redhat.com>
+Date: Sun Oct 29 07:59:17 2000 +0000
+
+ Sort signal types arrays for greater stability and less random tmpl file
+
+ Sun Oct 29 02:54:51 2000 Owen Taylor <otaylor@redhat.com>
+
+ * gtkdoc-scangobj.in: Sort signal types arrays for
+ greater stability and less random tmpl file diffs.
+
+ ChangeLog | 5 +++++
+ gtkdoc-scangobj.in | 11 +++++++++++
+ 2 files changed, 16 insertions(+), 0 deletions(-)
+
+commit 17121fd21d620e8380fed854ed341bbf67ece010
+Author: Owen Taylor <otaylor@redhat.com>
+Date: Sun Oct 29 07:06:12 2000 +0000
+
+ Work properly with GSignal
+
+ Sun Oct 29 01:02:35 2000 Owen Taylor <otaylor@redhat.com>
+
+ * gtkdoc-scangobj.in: Work properly with GSignal
+
+ ChangeLog | 4 ++
+ gtkdoc-scangobj.in | 78 +++++++++++++++++++++++----------------------------
+ 2 files changed, 39 insertions(+), 43 deletions(-)
+
+commit 1876da6f82c4072769d6f11b033a9dbd6decff14
+Author: Damon Chaplin <damon@helixcode.com>
+Date: Sat Oct 21 22:05:52 2000 +0000
+
+ Released 0.4
+
+ 2000-10-21 Damon Chaplin <damon@helixcode.com>
+
+ * Released 0.4
+
+ 2000-10-14 Damon Chaplin <damon@helixcode.com>
+
+ * AUTHORS:
+ * MAINTAINERS: changed my email address.
+
+ * Makefile.am (dist-hook): remove the CVS dirs from the dist.
+
+ * doc/setting-up.txt: typo.
+
+ AUTHORS | 2 +-
+ ChangeLog | 13 +++++++++++++
+ MAINTAINERS | 2 +-
+ Makefile.am | 3 +++
+ configure.in | 2 +-
+ doc/setting-up.txt | 2 +-
+ 6 files changed, 20 insertions(+), 4 deletions(-)
+
+commit 6ce8595fdd5070646834a453acc4896f5941950a
+Author: Havoc Pennington <hp@src.gnome.org>
+Date: Fri Oct 6 22:00:13 2000 +0000
+
+ tiny fix to Owen's multiple scandir patch
+
+ gtkdoc-mkdb.in | 2 +-
+ gtkdoc-scan.in | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+commit 1d2aca85586767369f9f98df24ce7083f9a9b1be
+Author: 0 <otaylor@redhat.com>
+Date: Fri Oct 6 21:52:06 2000 +0000
+
+ Allow multiple --source-dir options.
+
+ Fri Oct 6 17:51:50 2000 <otaylor@redhat.com>
+
+ * gtkdoc-scan.in gtkdoc-mkdb.in: Allow multiple
+ --source-dir options.
+
+ ChangeLog | 5 +++++
+ gtkdoc-mkdb.in | 8 ++++----
+ gtkdoc-scan.in | 8 ++++----
+ 3 files changed, 13 insertions(+), 8 deletions(-)
+
+commit 3dcb17cdd57851bca00f2bc740c4d8d72b40d7cf
+Author: Owen Taylor <otaylor@redhat.com>
+Date: Thu Sep 7 16:30:45 2000 +0000
+
+ Ignore all . files when scanning directories.
+
+ Thu Sep 7 11:41:12 2000 Owen Taylor <otaylor@redhat.com>
+
+ * gtkdoc-mkdb.in: Ignore all . files when scanning directories.
+
+ * gtkdoc-scan.in: Add support for GLIB_VAR, GDKVAR,
+ etc when looking for variable declarations.
+
+ * gtkdoc-scan.in: Recognize GET_CLASS macros.
+
+ * gtkdoc-scangobj.in: Support .lo intermediate files
+ with libtool.
+
+ : ----------------------------------------------------------------------
+
+ ChangeLog | 12 ++++++++++++
+ gtkdoc-mkdb.in | 2 +-
+ gtkdoc-scan.in | 24 +++++++++++++-----------
+ gtkdoc-scangobj.in | 9 ++++++++-
+ 4 files changed, 34 insertions(+), 13 deletions(-)
+
+commit bed350a121a3483839a10b6f2169433e64c2ca18
+Author: Owen Taylor <otaylor@redhat.com>
+Date: Wed Sep 6 22:10:02 2000 +0000
+
+ Add gtkdoc-scangobj scanner for GObject type system.
+
+ Wed Sep 6 17:57:33 2000 Owen Taylor <otaylor@redhat.com>
+
+ * gtkdoc-scangobj.in: Add gtkdoc-scangobj scanner for
+ GObject type system.
+
+ * gtkdoc-scanobj.in: Allow setting $LD to allow separating
+ compilation and linking and thus to allow using libtool.
+
+ * gtkdoc-fixxref.in (ScanIndices): Allow HTMLDIR
+ not to be present yet.
+
+ .cvsignore | 1 +
+ ChangeLog | 11 +
+ Makefile.am | 13 +-
+ configure.in | 1 +
+ gtkdoc-fixxref.in | 3 +-
+ gtkdoc-scangobj.in | 785 ++++++++++++++++++++++++++++++++++++++++++++++++++++
+ gtkdoc-scanobj.in | 4 +-
+ 7 files changed, 808 insertions(+), 10 deletions(-)
+
+commit 070db0dad1cc3139cf6ef9733f7cd9eb312197fe
+Author: Owen Taylor <otaylor@redhat.com>
+Date: Wed Sep 6 04:30:09 2000 +0000
+
+ Add a --extra-dir option to allow scanning of additional uninstalled HTML
+
+ Tue Sep 5 23:37:53 2000 Owen Taylor <otaylor@redhat.com>
+
+ * gtkdoc-fixxref.in: Add a --extra-dir option to
+ allow scanning of additional uninstalled HTML
+ directories.
+
+ * gtkdoc-scan.in (ScanHeaders): Honor subdirectories
+ appearing in --ignore-headers.
+
+ * gtkdoc-mkdb.in: Append -CAPS to all all-caps identifiers
+ to prevent an infinite expansion of special cases.
+
+ * gtkdoc-fixxref.in: Add a --module-dir option to
+ allow fixing references in an uninstalled tree.
+
+ * gtkdoc-mkdb.in gtkdoc-mkhtml.in: Simple handling
+ for macros with embedded commas in enumeration
+ declarations.
+
+ ChangeLog | 19 +++++++++++++++++++
+ gtkdoc-fixxref.in | 13 ++++++++++---
+ gtkdoc-mkdb.in | 36 +++++++++++++-----------------------
+ gtkdoc-mktmpl.in | 6 ++++++
+ gtkdoc-scan.in | 1 +
+ 5 files changed, 49 insertions(+), 26 deletions(-)
+
+commit 755bd4745775d063c4c6446f4da6815146d0cede
+Author: Owen Taylor <otaylor@redhat.com>
+Date: Tue Sep 5 20:24:25 2000 +0000
+
+ Remove check for AM_PATH_GTK since the dependency is only run-time not
+
+ Mon Aug 28 18:18:53 2000 Owen Taylor <otaylor@redhat.com>
+
+ * configure.in (DSSSL_DIR): Remove check for AM_PATH_GTK
+ since the dependency is only run-time not install-time,
+ and to avoid dependency loops.
+
+ ChangeLog | 6 ++++++
+ configure.in | 7 -------
+ 2 files changed, 6 insertions(+), 7 deletions(-)
+
+commit 057f46d3bf884b2ac064398dff50037e862b0816
+Author: Damon Chaplin <damon@helixcode.com>
+Date: Wed Jun 21 05:02:34 2000 +0000
+
+ fixed <INCLUDES> bug, I think.
+
+ 2000-06-21 Damon Chaplin <damon@helixcode.com>
+
+ * gtkdoc-mkdb.in: fixed <INCLUDES> bug, I think.
+
+ ChangeLog | 4 ++++
+ gtkdoc-mkdb.in | 2 +-
+ 2 files changed, 5 insertions(+), 1 deletions(-)
+
+commit 0ee007a092c8b84c75b19dd35fe23d8c53d3b233
+Author: Karl Eichwalder <ke@src.gnome.org>
+Date: Sun May 21 18:09:54 2000 +0000
+
+ configure.in: Check for /usr/share/sgml/docbkdsl (used by SuSE).
+
+ README | 5 ++++-
+ configure.in | 2 +-
+ 2 files changed, 5 insertions(+), 2 deletions(-)
+
+commit 11d92e479266f429c0faa9079b2da7ca80e4e0d2
+Author: Owen Taylor <otaylor@redhat.com>
+Date: Tue Feb 15 06:50:19 2000 +0000
+
+ Hack to avoid misidentifying structures
+
+ Wed Feb 9 11:29:25 2000 Owen Taylor <otaylor@redhat.com>
+
+ * gtkdoc-scan.in: Hack to avoid misidentifying structures
+
+ ChangeLog | 5 +++++
+ gtkdoc-scan.in | 2 +-
+ 2 files changed, 6 insertions(+), 1 deletions(-)
+
+commit a4077d9e30bedefba780e7cf28aadbfe1d682e6e
+Author: Raja R Harinath <harinath@src.gnome.org>
+Date: Wed Dec 15 22:45:15 1999 +0000
+
+ Remove spurious tab.
+
+ Makefile.am | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+commit 659233c58e64e5fadb17473f8fd926f2b09396d4
+Author: Raja R Harinath <harinath@src.gnome.org>
+Date: Wed Dec 15 22:43:33 1999 +0000
+
+ Add missing close paranthesis.
+
+ * gtk-doc.dsl.in ($generate-chapter-toc$): Add missing close
+ paranthesis.
+
+ ChangeLog | 5 +++++
+ gtk-doc.dsl.in | 2 +-
+ 2 files changed, 6 insertions(+), 1 deletions(-)
+
+commit 74ee32455fd487af62a8c3e74296e58a9708e5de
+Author: Raja R Harinath <harinath@cs.umn.edu>
+Date: Wed Nov 24 06:09:49 1999 +0000
+
+ Use the (define (foo) ...) syntax rather than the uglier (define foo
+
+ 1999-11-23 Raja R Harinath <harinath@cs.umn.edu>
+
+ * gtk-doc.dsl.in: Use the (define (foo) ...) syntax rather than
+ the uglier (define foo (lambda () ...)) syntax.
+ ($generate-chapter-toc$): Simplify.
+ ($shade-verbatim-attr$): Simplify. Use ($table-width$) instead of
+ "100%" for width (See docs. of NWalsh Docbook DSSSL Stylesheets
+ for an explanation).
+
+ ChangeLog | 9 +++++++++
+ gtk-doc.dsl.in | 40 ++++++++++++++--------------------------
+ 2 files changed, 23 insertions(+), 26 deletions(-)
+
+commit c83d06353243ae98f99e52c4e524013e796178c1
+Author: Damon Chaplin <damon@karuna.freeserve.co.uk>
+Date: Mon Sep 20 21:52:55 1999 +0000
+
+ If a Chapter has role="no-toc" we don't generate a table of contents. This
+
+ 1999-09-20 Damon Chaplin <damon@karuna.freeserve.co.uk>
+
+ * gtk-doc.dsl.in: If a Chapter has role="no-toc" we don't generate a
+ table of contents. This is useful if a better contents page has been
+ added manually, e.g. for the GTK+ Widgets & Objects page. (But it is
+ a bit of a hack.)
+
+ * gtkdoc-scanobj.in: added --nogtkinit flag which will make it call
+ gtk_type_init() rather than gtk_init(). This is useful when it is
+ run automatically to update the docs by a cron job or similar and a
+ connection to an X server is not desirable. However, if any widgets
+ need a connection to X in their class init function then this can't
+ be used (e.g. GtkFontSelection at present).
+
+ ChangeLog | 14 ++++++++++++++
+ gtk-doc.dsl.in | 9 +++++++--
+ gtkdoc-scanobj.in | 16 ++++++++++++++--
+ 3 files changed, 35 insertions(+), 4 deletions(-)
+
+commit 4e644fc43b61e0de96441e6eeb94c692fe354806
+Author: Owen Taylor <otaylor@redhat.com>
+Date: Mon Sep 20 13:02:01 1999 +0000
+
+ Fixed up the code to do /*< private >*/ ... stripping.
+
+ Mon Sep 20 09:09:12 1999 Owen Taylor <otaylor@redhat.com>
+
+ * gtkdoc-mkdb.in gtkdoc-mktmpl.in: (ParseStructDeclaration):
+ Fixed up the code to do /*< private >*/ ... stripping.
+
+ ChangeLog | 5 +++++
+ gtkdoc-mkdb.in | 8 ++++++--
+ gtkdoc-mktmpl.in | 8 ++++++--
+ 3 files changed, 17 insertions(+), 4 deletions(-)
+
+commit 128470c3013120265113ed3e5b1ca150b139ab3c
+Author: Martin Baulig <martin@home-of-linux.org>
+Date: Fri Sep 10 09:34:44 1999 +0000
+
+ Why did this return #f previously ? I think we always want to generate
+ chapter toc's.
+
+ 1999-09-10 Martin Baulig <martin@home-of-linux.org>
+
+ * gtkdoc.dsl.in ($generate-chapter-toc$): Return #t, not #f.
+
+ ChangeLog | 4 ++++
+ gtk-doc.dsl.in | 2 +-
+ 2 files changed, 5 insertions(+), 1 deletions(-)
+
+commit 460c2532df04a549d126317b11e920ac2eead120
+Author: Martin Baulig <martin@home-of-linux.org>
+Date: Thu Sep 9 15:07:56 1999 +0000
+
+ Don't force typedefs and other things to start in column 0; allow some
+
+ 1999-09-09 Martin Baulig <martin@home-of-linux.org>
+
+ * gtkdoc-scan.in (ScanHeader): Don't force typedefs and other
+ things to start in column 0; allow some spaces in front of them.
+ Output `typedef struct { ... } name' structs as typedef, not as
+ structure.
+
+ ChangeLog | 7 +++++++
+ gtkdoc-scan.in | 31 ++++++++++++++++++-------------
+ 2 files changed, 25 insertions(+), 13 deletions(-)
+
+commit 29dbb23824194771c9778434388495d2458454a6
+Author: Martin Baulig <martin@home-of-linux.org>
+Date: Wed Sep 8 11:29:57 1999 +0000
+
+ `s/::/-/g;' for CORBA objects.
+
+ 1999-09-08 Martin Baulig <martin@home-of-linux.org>
+
+ * gtkdoc-mkdb.in (CreateValidSGMLID): `s/::/-/g;' for CORBA objects.
+
+ ChangeLog | 4 ++++
+ gtkdoc-mkdb.in | 1 +
+ 2 files changed, 5 insertions(+), 0 deletions(-)
+
+commit b47e0d37fdb9b01c2253c1545d118c0a55fe9dd4
+Author: Erik Walthinsen <erikwa@src.gnome.org>
+Date: Mon Aug 23 04:28:01 1999 +0000
+
+ updated gtkdoc-scan so it doesn't limit itself to Gtk and Gnome object classes
+
+ ChangeLog | 7 +++++++
+ gtkdoc-scan.in | 29 +++++++++--------------------
+ 2 files changed, 16 insertions(+), 20 deletions(-)
+
+commit 797b24ece3db1ab877d110adca6210dd44b96081
+Author: Damon Chaplin <damon@src.gnome.org>
+Date: Sun Aug 22 16:29:19 1999 +0000
+
+ a few fixes to ParseStructDeclaration. It still has problems with nested
+
+
+ * gtkdoc-mktmpl.in:
+ * gtkdoc-mkdb.in: a few fixes to ParseStructDeclaration. It still
+ has problems with nested structs/unions like those which occur in
+ gtkclist.h and gtktypeutils.h.
+
+ * configure.in: removed gtk-doc.spec from AC_OUTPUT, as whoever wrote
+ this forgot to add gtk-doc.spec.in to CVS.
+ * Makefile.am: commented out gtk-doc.spec.
+
+ ChangeLog | 11 +++++++++++
+ Makefile.am | 4 ++--
+ configure.in | 1 -
+ gtkdoc-mkdb.in | 10 +++++-----
+ gtkdoc-mktmpl.in | 10 +++++-----
+ 5 files changed, 23 insertions(+), 13 deletions(-)
+
+commit 064cdf81f14c78ab4d2900355db71c954ac06a1a
+Author: Owen Taylor <otaylor@redhat.com>
+Date: Mon Aug 16 20:01:19 1999 +0000
+
+ Propagate fix from gtkdoc-mkdb.in. :-(; need to libraryize, need to
+
+ Wed Aug 18 03:55:30 1999 Owen Taylor <otaylor@redhat.com>
+
+ * gtkdoc-mktmpl.in: Propagate fix from gtkdoc-mkdb.in.
+ :-(; need to libraryize, need to libraryize.
+
+ ChangeLog | 5 +++++
+ gtkdoc-mktmpl.in | 2 +-
+ 2 files changed, 6 insertions(+), 1 deletions(-)
+
+commit 752a2cfce28ebec04e3edd98e2a9bd949a175512
+Author: Owen Taylor <otaylor@redhat.com>
+Date: Mon Aug 16 19:58:06 1999 +0000
+
+ Fix bug that was preventing structure field definitions from being output.
+
+ Wed Aug 18 03:55:30 1999 Owen Taylor <otaylor@redhat.com>
+
+ * gtkdoc-mkdb.in: Fix bug that was preventing
+ structure field definitions from being output.
+
+ ChangeLog | 11 +++++++++++
+ configure.in | 2 +-
+ gtkdoc-mkdb.in | 2 +-
+ 3 files changed, 13 insertions(+), 2 deletions(-)
+
+commit 107de433f7bc32835ce7ed174af901a4fcfb3860
+Author: Damon Chaplin <damon@karuna.freeserve.co.uk>
+Date: Sun Aug 15 18:27:37 1999 +0000
+
+ Output $decl_out as the struct rather than the original $declaration.
+
+ 1999-08-15 Damon Chaplin <damon@karuna.freeserve.co.uk>
+
+ * gtkdoc-mkdb.in: Output $decl_out as the struct rather than the
+ original $declaration.
+
+ 1999-08-12 Damon Chaplin <damon@karuna.freeserve.co.uk>
+
+ * gtkdoc-mkdb.in:
+ * gtkdoc-mktmpl.in: Added special case in ParseEnumDeclaration to
+ handle GIOCondition which uses strange macros like this:
+ typedef enum
+ {
+ G_IO_IN GLIB_SYSDEF_POLLIN,
+ ...
+ The GLIB_SYSDEF_POLLIN macro expands to something like '=1'
+
+ 1999-08-05 Damon Chaplin <damon@karuna.freeserve.co.uk>
+
+ * gtk-doc.dsl.in: output <br clear=all> after sections and at end of
+ page so that right-aligned images aren't messed up quite as much.
+
+ ChangeLog | 21 +++++++++++++++++++++
+ gtk-doc.dsl.in | 14 +++++++++++++-
+ gtkdoc-mkdb.in | 7 ++++++-
+ gtkdoc-mktmpl.in | 5 +++++
+ gtkdoc-scanobj.in | 2 +-
+ 5 files changed, 46 insertions(+), 3 deletions(-)
+
+commit b7ef6243e5f5d5018bb3b47b0cc1eac2d6dbd605
+Author: Elliot Lee <sopwith@src.gnome.org>
+Date: Mon Aug 2 04:33:34 1999 +0000
+
+ Generate spec file.
+
+
+
+ Generate spec file.
+
+ Work with builddir != srcdir.
+
+ Makefile.am | 9 ++++++---
+ configure.in | 1 +
+ 2 files changed, 7 insertions(+), 3 deletions(-)
+
+commit 5e0b7c86a25d86cd0ae51388e63200a28586b7a9
+Author: Owen Taylor <otaylor@redhat.com>
+Date: Mon Aug 2 03:09:11 1999 +0000
+
+ Allow for bit fields.
+
+ Wed Aug 4 04:04:55 1999 Owen Taylor <otaylor@redhat.com>
+
+ * gtkdoc-mk{db,tmpl}.in (ParseStructDeclaration): Allow
+ for bit fields.
+
+ * gtkdoc-mktmpl.in (ReadObjectHierarchy): Remove
+ call to MakeXref that slipped in accidentally.
+
+ ChangeLog | 8 ++++++++
+ gtkdoc-mkdb.in | 10 +++++++---
+ gtkdoc-mktmpl.in | 7 ++++---
+ 3 files changed, 19 insertions(+), 6 deletions(-)
+
+commit d5e18ae485dd357351808c2c392a30f8e7d71432
+Author: Owen Taylor <otaylor@redhat.com>
+Date: Mon Aug 2 02:29:11 1999 +0000
+
+ Removed references to creating tables explicitely in favor of
+
+ Wed Aug 4 03:30:19 1999 Owen Taylor <otaylor@redhat.com>
+
+ * doc/style-guide.txt: Removed references to creating
+ tables explicitely in favor of demonstrating new
+ syntax. Added a short section on /<* public >*/
+ and /*< private *>/.
+
+ Wed Aug 4 03:15:19 1999 Owen Taylor <otaylor@redhat.com>
+
+ * gtkdoc-mktmpl.in gtkdoc-mkhtml.in: Handle Struct and
+ Enumerations in approximately the same way as we
+ handle parameters. That is, instead of (as before)
+ coding in the tables by hand, one uses lines like:
+
+ @width: the width of the rectangle in pixels.
+
+ To support migration from the older hand-coded
+ tables, if none of the members of a structure or
+ enumeration have a description in a @... line, then
+ we don't generate the table at all.
+
+ Also, gtkdoc-mktmpl now loads up the object heirarchy,
+ because we need to be able to check if structures
+ are widget structures.
+
+ In general, the coding here is pretty clean, though
+ the style is a little different. (I'm interating
+ through strings with m/.../msg; instead of
+ s/^...//; for one thing.) However, there are a some
+ of FIXME's where I've whimped out on try to handle
+ real C syntax, and the need to split out and librarize
+ a bunch of duplicated code is greater than ever.
+
+ ChangeLog | 33 ++++
+ doc/style-guide.txt | 87 ++++++------
+ gtkdoc-mkdb.in | 415 ++++++++++++++++++++++++++++++++++++++++++---------
+ gtkdoc-mktmpl.in | 255 +++++++++++++++++++++++++++++++
+ 4 files changed, 672 insertions(+), 118 deletions(-)
+
+commit 2a387063dbc05b38dcd689c2d6dabf1ec86cfbc9
+Author: Elliot Lee <sopwith@src.gnome.org>
+Date: Tue Jun 15 17:20:46 1999 +0000
+
+ Add maintainers list
+
+ MAINTAINERS | 2 ++
+ 1 files changed, 2 insertions(+), 0 deletions(-)
+
+commit 44d8fdc539ac6bf7fa7eb7a1c233882d93614392
+Author: Damon Chaplin <damon@karuna.freeserve.co.uk>
+Date: Sun Jun 6 23:20:36 1999 +0000
+
+ updated version to 0.3.
+
+ 1999-06-06 Damon Chaplin <damon@karuna.freeserve.co.uk>
+
+ * configure.in: updated version to 0.3.
+
+ * doc/style-guide.txt: A couple of minor changes.
+
+ * gtkdoc-mkdb.in: Get rid of a couple of messages.
+ Output an empty <para> if an Arg isn't documented, to keep Jade happy.
+
+ ChangeLog | 9 +++++++++
+ configure.in | 2 +-
+ doc/authors.txt | 20 +++++++++++++-------
+ doc/style-guide.txt | 37 ++++++++++++++++++++++++++++++++++---
+ gtkdoc-mkdb.in | 7 ++++++-
+ 5 files changed, 63 insertions(+), 12 deletions(-)
+
+commit 677739672599637dc39de2692ac48bd8c8ab17ab
+Author: Damon Chaplin <damon@karuna.freeserve.co.uk>
+Date: Sun May 23 15:57:20 1999 +0000
+
+ Renamed %shade-verbatim-attr-2% to $shade-verbatim-attr$ and removed our
+
+ 1999-05-22 Damon Chaplin <damon@karuna.freeserve.co.uk>
+
+ * gtk-doc.dsl.in: Renamed %shade-verbatim-attr-2% to
+ $shade-verbatim-attr$ and removed our redefinition of
+ $verbatim-display$ since the stylesheets version now calls
+ $shade-verbatim-attr$ as a function which is just what we wanted.
+
+ * README: Updated info on stylesheet versions supported - 1.40 is
+ known to be OK (with this version of gtk-doc), 1.19+ may work.
+
+ ChangeLog | 10 ++++++++++
+ README | 2 +-
+ gtk-doc.dsl.in | 25 +++++--------------------
+ gtkdoc-scanobj.in | 2 --
+ 4 files changed, 16 insertions(+), 23 deletions(-)
+
+commit 48d26002bd215e4336c3321daa86bd9c210bb153
+Author: Damon Chaplin <damon@src.gnome.org>
+Date: Wed Mar 31 22:44:06 1999 +0000
+
+ a few updates for 0.2
+
+
+ a few updates for 0.2
+
+ ChangeLog | 30 ++++++++++++++
+ configure.in | 2 +-
+ doc/style-guide.txt | 105 +++++++++++++++++++++++++++++++++++++++++++++-----
+ gtk-doc.dsl.in | 16 +++++++-
+ gtkdoc-mkdb.in | 26 +++++++++++--
+ gtkdoc-mkhtml.in | 2 +-
+ gtkdoc-mktmpl.in | 16 ++++++-
+ gtkdoc-scan.in | 4 +-
+ 8 files changed, 177 insertions(+), 24 deletions(-)
+
+commit f87ca72bef8ceaac1e2219fcb38175d51f8c177c
+Author: Elliot Lee <sopwith@src.gnome.org>
+Date: Tue Mar 16 03:46:18 1999 +0000
+
+ Fix builddir != srcdir.
+
+
+
+ Fix builddir != srcdir.
+
+ autogen.sh | 11 ++++++++++-
+ 1 files changed, 10 insertions(+), 1 deletions(-)
+
+commit 4d395a68a9e41cff6415954bb308cb24769e37b4
+Author: Damon Chaplin <damon@karuna.freeserve.co.uk>
+Date: Thu Mar 11 21:41:38 1999 +0000
+
+ added *.args
+
+ 1999-03-11 Damon Chaplin <damon@karuna.freeserve.co.uk>
+
+ * examples/gnomeui/Makefile.am (clean-local):
+ * examples/gnome/Makefile.am (clean-local): added *.args
+
+ * gtkdoc-mkdb.in: added support for Args and variables. Also a few
+ minor changes in the output, e.g. don't show macros > 2 lines long.
+
+ * gtkdoc-mktmpl.in:
+ * gtkdoc-scanobj.in: added support for Args.
+
+ * gtkdoc-scan.in: added support for extern'ed variables. Also
+ accept 'extern' before function declarations.
+
+ * gtk-doc.dsl.in: made output prettier. Changed the navigation bars
+ and the colours used for the various backgrounds.
+
+ * doc/style-guide.txt: new file containinf a style guide for writing
+ the GTK+ documentation.
+
+ * doc/README: added description of style-guide.txt
+
+ * doc/setting-up.txt: fixed a typo
+
+ * README: added a bit about Args.
+
+ ChangeLog | 26 ++++
+ README | 15 +-
+ doc/README | 5 +-
+ doc/setting-up.txt | 2 +-
+ doc/style-guide.txt | 115 ++++++++++++++++
+ examples/gnome/Makefile.am | 2 +-
+ examples/gnomeui/Makefile.am | 2 +-
+ gtk-doc.dsl.in | 299 +++++++++++++++++++++++++++++++++++++++++-
+ gtkdoc-mkdb.in | 246 ++++++++++++++++++++++++++++++++--
+ gtkdoc-mktmpl.in | 123 +++++++++++++++++-
+ gtkdoc-scan.in | 56 ++++++--
+ gtkdoc-scanobj.in | 77 ++++++++++-
+ 12 files changed, 920 insertions(+), 48 deletions(-)
+
+commit 8fab8b47df050846cbcf59bc9763c90ab4ba7cb1
+Author: Damon Chaplin <damon@src.gnome.org>
+Date: Sat Feb 13 00:20:18 1999 +0000
+
+ ""
+
+ ChangeLog | 10 ++++++++++
+ Makefile.am | 7 -------
+ doc/setting-up.txt | 5 ++---
+ 3 files changed, 12 insertions(+), 10 deletions(-)
+
+commit dec77af79acdd8399907753afff70f33d208ed0a
+Author: Sebastian Wilhelmi <wilhelmi@ira.uka.de>
+Date: Wed Feb 3 14:22:03 1999 +0000
+
+ find perl in $PATH, generate the perl programs from their *.in
+
+
+ 1999-02-03 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
+
+ * configure.in: find perl in $PATH, generate the perl programs
+ from their *.in counterparts.
+
+ * gtkdoc-fixxref, gtkdoc-mkdb, gtkdoc-mktmpl, gtkdoc-scan,
+ gtkdoc-scanobj: Renamed to *.in and changed /usr/bin/perl to
+ @PERL@, as determined by configure.
+
+ * .cvsignore: Added diverse config* stuff and the new generated
+ perl programs.
+
+ .cvsignore | 12 +
+ ChangeLog | 12 +
+ configure.in | 18 +-
+ gtkdoc-fixxref | 140 -----
+ gtkdoc-fixxref.in | 140 +++++
+ gtkdoc-mkdb | 1767 -----------------------------------------------------
+ gtkdoc-mkdb.in | 1767 +++++++++++++++++++++++++++++++++++++++++++++++++++++
+ gtkdoc-mktmpl | 948 ----------------------------
+ gtkdoc-mktmpl.in | 948 ++++++++++++++++++++++++++++
+ gtkdoc-scan | 491 ---------------
+ gtkdoc-scan.in | 491 +++++++++++++++
+ gtkdoc-scanobj | 709 ---------------------
+ gtkdoc-scanobj.in | 709 +++++++++++++++++++++
+ 13 files changed, 4095 insertions(+), 4057 deletions(-)
+
+commit 55bdfe04877d359ed67078435403747f43f59d47
+Author: Damon Chaplin <damon@src.gnome.org>
+Date: Thu Jan 28 19:01:24 1999 +0000
+
+ ""
+
+ ChangeLog | 11 +++++++++++
+ doc/setting-up.txt | 26 ++++++++++++++++++++------
+ gtk-doc.dsl.in | 17 ++++++++++-------
+ gtkdoc-mkdb | 4 ++--
+ 4 files changed, 43 insertions(+), 15 deletions(-)
+
+commit 572bbe6e8dd1fab886d158869f6a32c4e4a0d4c4
+Author: Damon Chaplin <damon@src.gnome.org>
+Date: Wed Jan 27 18:33:16 1999 +0000
+
+ ""
+
+ ChangeLog | 19 ++++++++++
+ Makefile.am | 15 ++++++++
+ README | 14 +++++++
+ doc/README | 3 ++
+ doc/sections-file.txt | 17 +++++++--
+ doc/setting-up.txt | 95 +++++++++++++++++++++++++++++++++++++++++++++++++
+ gtk-doc.dsl.in | 10 +++++
+ 7 files changed, 169 insertions(+), 4 deletions(-)
+
+commit 89f1ed0997c2b0a0b7139e2e7620409e927fc17f
+Author: Damon Chaplin <damon@src.gnome.org>
+Date: Tue Jan 26 22:21:39 1999 +0000
+
+ ""
+
+ ChangeLog | 33 ++++
+ examples/configure.in | 5 +
+ examples/gnome/Makefile.am | 4 +-
+ examples/gnome/gnome-docs.sgml | 8 +-
+ examples/gnome/gnome-sections.txt | 123 +++-------------
+ examples/gnomeui/Makefile.am | 6 +-
+ examples/gnomeui/gnomeui-docs.sgml | 8 +-
+ examples/gnomeui/gnomeui-sections.txt | 258 ++++++++++++++++++++++++++++-----
+ examples/gnomeui/gnomeui.types | 1 -
+ gtkdoc-mkdb | 46 ++++++-
+ gtkdoc-mktmpl | 2 +-
+ gtkdoc-scan | 20 ++--
+ 12 files changed, 349 insertions(+), 165 deletions(-)
+
+commit d4f53a8bf94faab1d7b258424d1c9ad91302d0c7
+Author: Damon Chaplin <damon@src.gnome.org>
+Date: Mon Jan 25 22:56:42 1999 +0000
+
+ ""
+
+ ChangeLog | 15 +++++++++++++++
+ doc/sections-file.txt | 8 ++++++++
+ examples/configure.in | 2 +-
+ examples/gnome/gnome-sections.txt | 3 +++
+ examples/gnomeui/gnomeui-sections.txt | 3 +++
+ gtkdoc-mkdb | 31 ++++++++++++++++++++++++++++---
+ gtkdoc-mktmpl | 3 +++
+ gtkdoc-scan | 8 ++++----
+ 8 files changed, 65 insertions(+), 8 deletions(-)
+
+commit 028d54d580cf5fea7d890f673dc89277b8d8a0e3
+Author: Damon Chaplin <damon@src.gnome.org>
+Date: Tue Jan 19 20:26:42 1999 +0000
+
+ ""
+
+ AUTHORS | 2 +-
+ ChangeLog | 7 +++++++
+ README | 4 ++--
+ 3 files changed, 10 insertions(+), 3 deletions(-)
+
+commit ede6bc0324fe479346a4c50386a5908faa34f10e
+Author: Jeff Garzik <jgarzik@src.gnome.org>
+Date: Sun Dec 20 07:41:17 1998 +0000
+
+ s/gtkspell/gnome-spell/g
+
+ ChangeLog | 7 +++++++
+ examples/gnomeui/gnomeui-docs.sgml | 4 ++--
+ examples/gnomeui/gnomeui-sections.txt | 26 +++++++++++++-------------
+ examples/gnomeui/gnomeui.types | 2 +-
+ 4 files changed, 23 insertions(+), 16 deletions(-)
+
+commit 85ce89c980120428675ba4e41676aadb8edf2000
+Author: Damon Chaplin <damon@src.gnome.org>
+Date: Thu Dec 17 18:07:39 1998 +0000
+
+ ""
+
+ ChangeLog | 11 +++++++++++
+ gtkdoc-mkdb | 38 +++++++++++++++++++++++++++-----------
+ 2 files changed, 38 insertions(+), 11 deletions(-)
+
+commit 00ef12263f7a1d02ed928dc248d47bd53a3c380f
+Author: Damon Chaplin <damon@src.gnome.org>
+Date: Tue Dec 15 18:07:38 1998 +0000
+
+ ""
+
+ ChangeLog | 8 +
+ Makefile.am | 8 +-
+ README | 194 +++--
+ autogen.sh | 4 +-
+ configure.in | 2 +-
+ doc/README | 17 +-
+ doc/gnome.txt | 93 +--
+ doc/sections-file.txt | 36 +
+ examples/Makefile.am | 3 +
+ examples/README | 22 +
+ examples/configure.in | 21 +
+ examples/gnome/Makefile.am | 40 +
+ examples/gnome/gnome-docs.sgml | 58 ++
+ examples/gnome/gnome-sections.txt | 373 ++++++++
+ examples/gnomeui/Makefile.am | 44 +
+ examples/gnomeui/gnomeui-docs.sgml | 165 ++++
+ examples/gnomeui/gnomeui-sections.txt | 1584 +++++++++++++++++++++++++++++++++
+ examples/gnomeui/gnomeui.types | 56 ++
+ gtk-doc.dsl.in | 33 +-
+ gtkdoc-fixxref | 140 +++
+ gtkdoc-mkdb | 307 ++++++-
+ gtkdoc-mkhtml.in | 2 +-
+ gtkdoc-mkman.in | 24 +-
+ gtkdoc-mktmpl | 28 +-
+ gtkdoc-scan | 155 +++-
+ 25 files changed, 3146 insertions(+), 271 deletions(-)
+
+commit 0cf4a37ce2a9a8f32b07ad5d64309cec91eac354
+Author: Damon Chaplin <damon@src.gnome.org>
+Date: Sat Nov 28 21:57:39 1998 +0000
+
+ ""
+
+ ChangeLog | 11 +
+ gtkdoc-mkdb | 1224 +++++++++++++++++++++++++++++++++-----------------------
+ gtkdoc-mktmpl | 941 ++++++++++++++++++++++++++++++++-----------
+ gtkdoc-scan | 297 ++++++++------
+ gtkdoc-scanobj | 77 +++--
+ 5 files changed, 1680 insertions(+), 870 deletions(-)
+
+commit 3ef69b6b3f79ab8486f11b6710aefd08b92a8f4c
+Author: Owen Taylor <otaylor@redhat.com>
+Date: Tue Nov 24 21:33:43 1998 +0000
+
+ Updated to describe the new generic scripts instead of the old ones
+
+ Tue Nov 24 16:32:23 1998 Owen Taylor <otaylor@redhat.com>
+
+ * README doc/authors.txt: Updated to describe the
+ new generic scripts instead of the old ones hard-coded
+ for GLIB and GTK+.
+
+ ChangeLog | 6 +++
+ README | 129 ++++++++++++++++++++++++++++++-------------------------
+ doc/authors.txt | 7 +--
+ 3 files changed, 79 insertions(+), 63 deletions(-)
+
+commit 77cc3e38732f042f3f3411435a522e9d373015c2
+Author: Owen Taylor <otaylor@src.gnome.org>
+Date: Tue Nov 24 06:06:05 1998 +0000
+
+ Added .cvsignore
+
+ .cvsignore | 5 +++++
+ ChangeLog | 4 ++++
+ 2 files changed, 9 insertions(+), 0 deletions(-)
+
+commit 2cc2316cce4fc717948765c062a0ae7165ffd665
+Author: Owen Taylor <otaylor@redhat.com>
+Date: Tue Nov 24 06:03:52 1998 +0000
+
+ Minor touchups so the newly imported stuff autogen's correctly.
+
+ Tue Nov 24 01:03:47 1998 Owen Taylor <otaylor@redhat.com>
+
+ * autogen.sh configure.in: Minor touchups so the newly
+ imported stuff autogen's correctly.
+
+ ChangeLog | 5 +++++
+ autogen.sh | 2 +-
+ configure.in | 2 +-
+ 3 files changed, 7 insertions(+), 2 deletions(-)
+
+commit 14fbd75cefc372ef41bee41b5fb87177b8d45e08
+Author: Owen Taylor <otaylor@src.gnome.org>
+Date: Tue Nov 24 06:00:34 1998 +0000
+
+ Damon Chaplin's documentation-generation scripts for GTK+
+ and accompanying data files. Initial import.
+
+commit 3a430278dd3c28a07bf019c6354318747c49e6f0
+Author: Owen Taylor <otaylor@src.gnome.org>
+Date: Tue Nov 24 06:00:34 1998 +0000
+
+ Initial revision
+
+ AUTHORS | 3 +
+ Makefile.am | 16 +
+ README | 137 ++++
+ acconfig.h | 25 +
+ autogen.sh | 66 ++
+ configure.in | 52 ++
+ db2man/README | 14 +
+ db2man/docbook-to-man | 178 ++++
+ db2man/docbook-to-man.ts | 2019 ++++++++++++++++++++++++++++++++++++++++++++++
+ doc/README | 26 +
+ doc/authors.txt | 174 ++++
+ doc/gnome.txt | 79 ++
+ doc/gtk_button.txt | 235 ++++++
+ doc/manpage | 170 ++++
+ doc/manpage.man | 140 ++++
+ doc/notes.txt | 180 ++++
+ gtk-doc.cat | 4 +
+ gtk-doc.dsl.in | 206 +++++
+ gtk-doc.dtd | 10 +
+ gtkdoc-mkdb | 1159 ++++++++++++++++++++++++++
+ gtkdoc-mkhtml.in | 19 +
+ gtkdoc-mkman.in | 27 +
+ gtkdoc-mktmpl | 466 +++++++++++
+ gtkdoc-scan | 381 +++++++++
+ gtkdoc-scanobj | 680 ++++++++++++++++
+ 25 files changed, 6466 insertions(+), 0 deletions(-)
--- /dev/null
+Installation Instructions
+*************************
+
+Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004, 2005,
+2006, 2007, 2008, 2009 Free Software Foundation, Inc.
+
+ Copying and distribution of this file, with or without modification,
+are permitted in any medium without royalty provided the copyright
+notice and this notice are preserved. This file is offered as-is,
+without warranty of any kind.
+
+Basic Installation
+==================
+
+ Briefly, the shell commands `./configure; make; make install' should
+configure, build, and install this package. The following
+more-detailed instructions are generic; see the `README' file for
+instructions specific to this package. Some packages provide this
+`INSTALL' file but do not implement all of the features documented
+below. The lack of an optional feature in a given package is not
+necessarily a bug. More recommendations for GNU packages can be found
+in *note Makefile Conventions: (standards)Makefile Conventions.
+
+ The `configure' shell script attempts to guess correct values for
+various system-dependent variables used during compilation. It uses
+those values to create a `Makefile' in each directory of the package.
+It may also create one or more `.h' files containing system-dependent
+definitions. Finally, it creates a shell script `config.status' that
+you can run in the future to recreate the current configuration, and a
+file `config.log' containing compiler output (useful mainly for
+debugging `configure').
+
+ It can also use an optional file (typically called `config.cache'
+and enabled with `--cache-file=config.cache' or simply `-C') that saves
+the results of its tests to speed up reconfiguring. Caching is
+disabled by default to prevent problems with accidental use of stale
+cache files.
+
+ If you need to do unusual things to compile the package, please try
+to figure out how `configure' could check whether to do them, and mail
+diffs or instructions to the address given in the `README' so they can
+be considered for the next release. If you are using the cache, and at
+some point `config.cache' contains results you don't want to keep, you
+may remove or edit it.
+
+ The file `configure.ac' (or `configure.in') is used to create
+`configure' by a program called `autoconf'. You need `configure.ac' if
+you want to change it or regenerate `configure' using a newer version
+of `autoconf'.
+
+ The simplest way to compile this package is:
+
+ 1. `cd' to the directory containing the package's source code and type
+ `./configure' to configure the package for your system.
+
+ Running `configure' might take a while. While running, it prints
+ some messages telling which features it is checking for.
+
+ 2. Type `make' to compile the package.
+
+ 3. Optionally, type `make check' to run any self-tests that come with
+ the package, generally using the just-built uninstalled binaries.
+
+ 4. Type `make install' to install the programs and any data files and
+ documentation. When installing into a prefix owned by root, it is
+ recommended that the package be configured and built as a regular
+ user, and only the `make install' phase executed with root
+ privileges.
+
+ 5. Optionally, type `make installcheck' to repeat any self-tests, but
+ this time using the binaries in their final installed location.
+ This target does not install anything. Running this target as a
+ regular user, particularly if the prior `make install' required
+ root privileges, verifies that the installation completed
+ correctly.
+
+ 6. You can remove the program binaries and object files from the
+ source code directory by typing `make clean'. To also remove the
+ files that `configure' created (so you can compile the package for
+ a different kind of computer), type `make distclean'. There is
+ also a `make maintainer-clean' target, but that is intended mainly
+ for the package's developers. If you use it, you may have to get
+ all sorts of other programs in order to regenerate files that came
+ with the distribution.
+
+ 7. Often, you can also type `make uninstall' to remove the installed
+ files again. In practice, not all packages have tested that
+ uninstallation works correctly, even though it is required by the
+ GNU Coding Standards.
+
+ 8. Some packages, particularly those that use Automake, provide `make
+ distcheck', which can by used by developers to test that all other
+ targets like `make install' and `make uninstall' work correctly.
+ This target is generally not run by end users.
+
+Compilers and Options
+=====================
+
+ Some systems require unusual options for compilation or linking that
+the `configure' script does not know about. Run `./configure --help'
+for details on some of the pertinent environment variables.
+
+ You can give `configure' initial values for configuration parameters
+by setting variables in the command line or in the environment. Here
+is an example:
+
+ ./configure CC=c99 CFLAGS=-g LIBS=-lposix
+
+ *Note Defining Variables::, for more details.
+
+Compiling For Multiple Architectures
+====================================
+
+ You can compile the package for more than one kind of computer at the
+same time, by placing the object files for each architecture in their
+own directory. To do this, you can use GNU `make'. `cd' to the
+directory where you want the object files and executables to go and run
+the `configure' script. `configure' automatically checks for the
+source code in the directory that `configure' is in and in `..'. This
+is known as a "VPATH" build.
+
+ With a non-GNU `make', it is safer to compile the package for one
+architecture at a time in the source code directory. After you have
+installed the package for one architecture, use `make distclean' before
+reconfiguring for another architecture.
+
+ On MacOS X 10.5 and later systems, you can create libraries and
+executables that work on multiple system types--known as "fat" or
+"universal" binaries--by specifying multiple `-arch' options to the
+compiler but only a single `-arch' option to the preprocessor. Like
+this:
+
+ ./configure CC="gcc -arch i386 -arch x86_64 -arch ppc -arch ppc64" \
+ CXX="g++ -arch i386 -arch x86_64 -arch ppc -arch ppc64" \
+ CPP="gcc -E" CXXCPP="g++ -E"
+
+ This is not guaranteed to produce working output in all cases, you
+may have to build one architecture at a time and combine the results
+using the `lipo' tool if you have problems.
+
+Installation Names
+==================
+
+ By default, `make install' installs the package's commands under
+`/usr/local/bin', include files under `/usr/local/include', etc. You
+can specify an installation prefix other than `/usr/local' by giving
+`configure' the option `--prefix=PREFIX', where PREFIX must be an
+absolute file name.
+
+ You can specify separate installation prefixes for
+architecture-specific files and architecture-independent files. If you
+pass the option `--exec-prefix=PREFIX' to `configure', the package uses
+PREFIX as the prefix for installing programs and libraries.
+Documentation and other data files still use the regular prefix.
+
+ In addition, if you use an unusual directory layout you can give
+options like `--bindir=DIR' to specify different values for particular
+kinds of files. Run `configure --help' for a list of the directories
+you can set and what kinds of files go in them. In general, the
+default for these options is expressed in terms of `${prefix}', so that
+specifying just `--prefix' will affect all of the other directory
+specifications that were not explicitly provided.
+
+ The most portable way to affect installation locations is to pass the
+correct locations to `configure'; however, many packages provide one or
+both of the following shortcuts of passing variable assignments to the
+`make install' command line to change installation locations without
+having to reconfigure or recompile.
+
+ The first method involves providing an override variable for each
+affected directory. For example, `make install
+prefix=/alternate/directory' will choose an alternate location for all
+directory configuration variables that were expressed in terms of
+`${prefix}'. Any directories that were specified during `configure',
+but not in terms of `${prefix}', must each be overridden at install
+time for the entire installation to be relocated. The approach of
+makefile variable overrides for each directory variable is required by
+the GNU Coding Standards, and ideally causes no recompilation.
+However, some platforms have known limitations with the semantics of
+shared libraries that end up requiring recompilation when using this
+method, particularly noticeable in packages that use GNU Libtool.
+
+ The second method involves providing the `DESTDIR' variable. For
+example, `make install DESTDIR=/alternate/directory' will prepend
+`/alternate/directory' before all installation names. The approach of
+`DESTDIR' overrides is not required by the GNU Coding Standards, and
+does not work on platforms that have drive letters. On the other hand,
+it does better at avoiding recompilation issues, and works well even
+when some directory options were not specified in terms of `${prefix}'
+at `configure' time.
+
+Optional Features
+=================
+
+ If the package supports it, you can cause programs to be installed
+with an extra prefix or suffix on their names by giving `configure' the
+option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'.
+
+ Some packages pay attention to `--enable-FEATURE' options to
+`configure', where FEATURE indicates an optional part of the package.
+They may also pay attention to `--with-PACKAGE' options, where PACKAGE
+is something like `gnu-as' or `x' (for the X Window System). The
+`README' should mention any `--enable-' and `--with-' options that the
+package recognizes.
+
+ For packages that use the X Window System, `configure' can usually
+find the X include and library files automatically, but if it doesn't,
+you can use the `configure' options `--x-includes=DIR' and
+`--x-libraries=DIR' to specify their locations.
+
+ Some packages offer the ability to configure how verbose the
+execution of `make' will be. For these packages, running `./configure
+--enable-silent-rules' sets the default to minimal output, which can be
+overridden with `make V=1'; while running `./configure
+--disable-silent-rules' sets the default to verbose, which can be
+overridden with `make V=0'.
+
+Particular systems
+==================
+
+ On HP-UX, the default C compiler is not ANSI C compatible. If GNU
+CC is not installed, it is recommended to use the following options in
+order to use an ANSI C compiler:
+
+ ./configure CC="cc -Ae -D_XOPEN_SOURCE=500"
+
+and if that doesn't work, install pre-built binaries of GCC for HP-UX.
+
+ On OSF/1 a.k.a. Tru64, some versions of the default C compiler cannot
+parse its `<wchar.h>' header file. The option `-nodtk' can be used as
+a workaround. If GNU CC is not installed, it is therefore recommended
+to try
+
+ ./configure CC="cc"
+
+and if that doesn't work, try
+
+ ./configure CC="cc -nodtk"
+
+ On Solaris, don't put `/usr/ucb' early in your `PATH'. This
+directory contains several dysfunctional programs; working variants of
+these programs are available in `/usr/bin'. So, if you need `/usr/ucb'
+in your `PATH', put it _after_ `/usr/bin'.
+
+ On Haiku, software installed for all users goes in `/boot/common',
+not `/usr/local'. It is recommended to use the following options:
+
+ ./configure --prefix=/boot/common
+
+Specifying the System Type
+==========================
+
+ There may be some features `configure' cannot figure out
+automatically, but needs to determine by the type of machine the package
+will run on. Usually, assuming the package is built to be run on the
+_same_ architectures, `configure' can figure that out, but if it prints
+a message saying it cannot guess the machine type, give it the
+`--build=TYPE' option. TYPE can either be a short name for the system
+type, such as `sun4', or a canonical name which has the form:
+
+ CPU-COMPANY-SYSTEM
+
+where SYSTEM can have one of these forms:
+
+ OS
+ KERNEL-OS
+
+ See the file `config.sub' for the possible values of each field. If
+`config.sub' isn't included in this package, then this package doesn't
+need to know the machine type.
+
+ If you are _building_ compiler tools for cross-compiling, you should
+use the option `--target=TYPE' to select the type of system they will
+produce code for.
+
+ If you want to _use_ a cross compiler, that generates code for a
+platform different from the build platform, you should specify the
+"host" platform (i.e., that on which the generated programs will
+eventually be run) with `--host=TYPE'.
+
+Sharing Defaults
+================
+
+ If you want to set default values for `configure' scripts to share,
+you can create a site shell script called `config.site' that gives
+default values for variables like `CC', `cache_file', and `prefix'.
+`configure' looks for `PREFIX/share/config.site' if it exists, then
+`PREFIX/etc/config.site' if it exists. Or, you can set the
+`CONFIG_SITE' environment variable to the location of the site script.
+A warning: not all `configure' scripts look for a site script.
+
+Defining Variables
+==================
+
+ Variables not defined in a site shell script can be set in the
+environment passed to `configure'. However, some packages may run
+configure again during the build, and the customized values of these
+variables may be lost. In order to avoid this problem, you should set
+them in the `configure' command line, using `VAR=value'. For example:
+
+ ./configure CC=/usr/local2/bin/gcc
+
+causes the specified `gcc' to be used as the C compiler (unless it is
+overridden in the site shell script).
+
+Unfortunately, this technique does not work for `CONFIG_SHELL' due to
+an Autoconf bug. Until the bug is fixed you can use this workaround:
+
+ CONFIG_SHELL=/bin/bash /bin/bash ./configure CONFIG_SHELL=/bin/bash
+
+`configure' Invocation
+======================
+
+ `configure' recognizes the following options to control how it
+operates.
+
+`--help'
+`-h'
+ Print a summary of all of the options to `configure', and exit.
+
+`--help=short'
+`--help=recursive'
+ Print a summary of the options unique to this package's
+ `configure', and exit. The `short' variant lists options used
+ only in the top level, while the `recursive' variant lists options
+ also present in any nested packages.
+
+`--version'
+`-V'
+ Print the version of Autoconf used to generate the `configure'
+ script, and exit.
+
+`--cache-file=FILE'
+ Enable the cache: use and save the results of the tests in FILE,
+ traditionally `config.cache'. FILE defaults to `/dev/null' to
+ disable caching.
+
+`--config-cache'
+`-C'
+ Alias for `--cache-file=config.cache'.
+
+`--quiet'
+`--silent'
+`-q'
+ Do not print messages saying which checks are being made. To
+ suppress all normal output, redirect it to `/dev/null' (any error
+ messages will still be shown).
+
+`--srcdir=DIR'
+ Look for the package's source code in directory DIR. Usually
+ `configure' can determine that directory automatically.
+
+`--prefix=DIR'
+ Use DIR as the installation prefix. *note Installation Names::
+ for more details, including other options available for fine-tuning
+ the installation locations.
+
+`--no-create'
+`-n'
+ Run the configure checks, but stop before creating any output
+ files.
+
+`configure' also accepts some other, not widely useful, options. Run
+`configure --help' for more details.
+
--- /dev/null
+Stefan Kost
+Email: ensonic@hora-obscura.de
+Userid: stefkost
+
+Damon Chaplin
+Email: damon@gnome.org
+Userid: damon
+
+Owen Taylor
+Email: otaylor@redhat.com
+Userid: otaylor
+
+Matthias Clasen
+Email: mclasen@redhat.com
+Userid: matthiasc
+
+
+Note that several people are contributing to gtk-doc, and some parts of it
+are technically maintained by other people. The people listed above are
+meant as contacts for administrative questions. Other questions are best
+directed to the mailing list gtk-doc-list@gnome.org.
+
--- /dev/null
+## Process this file with automake to produce Makefile.in
+ACLOCAL_AMFLAGS=-I m4 ${ACLOCAL_FLAGS}
+
+SUBDIRS = help tests
+
+bin_SCRIPTS = \
+ gtkdoc-check \
+ gtkdoc-fixxref \
+ gtkdoc-mkdb \
+ gtkdoc-mkhtml \
+ gtkdoc-mkman \
+ gtkdoc-mkpdf \
+ gtkdoc-mktmpl \
+ gtkdoc-rebase \
+ gtkdoc-scan \
+ gtkdoc-scangobj \
+ gtkdoc-scanobj \
+ gtkdocize
+
+if HAVE_PYTHON
+bin_SCRIPTS += \
+ gtkdoc-depscan
+endif
+
+gtkdocdatadir = $(datadir)/gtk-doc/data
+gtkdocdata_DATA = \
+ gtkdoc-common.pl \
+ gtk-doc.dsl \
+ gtk-doc.dcl \
+ gtk-doc.xsl \
+ version-greater-or-equal.xsl \
+ devhelp2.xsl \
+ gtk-doc.make \
+ gtk-doc.notmpl.make \
+ gtk-doc.flat.make \
+ gtk-doc.notmpl-flat.make \
+ home.png \
+ left.png \
+ right.png \
+ up.png \
+ style.css
+
+pkgconfigdir = $(datadir)/pkgconfig
+pkgconfig_DATA = gtk-doc.pc
+
+aclocaldir = $(datadir)/aclocal
+aclocal_DATA = gtk-doc.m4
+
+sgmldir = $(datadir)/sgml/gtk-doc
+sgml_DATA = gtk-doc.cat
+
+gtk-doc.flat.make: gtk-doc.make
+ @$(SED) -e "s/EXTRA_DIST =/EXTRA_DIST +=/" $< >$@
+
+gtk-doc.notmpl-flat.make: gtk-doc.notmpl.make
+ @$(SED) -e "s/EXTRA_DIST =/EXTRA_DIST +=/" $< >$@
+
+EXTRA_DIST = \
+ MAINTAINERS \
+ gtk-doc.pc.in \
+ gtk-doc.m4 \
+ gtk-doc.make \
+ gtk-doc.notmpl.make \
+ gtk-doc.flat.make \
+ gtk-doc.notmpl-flat.make \
+ gtk-doc.doap \
+ gtk-doc.spec.in \
+ gtk-doc.spec \
+ gtk-doc.dcl \
+ gtk-doc.xsl \
+ gtk-doc-fo.xsl \
+ version-greater-or-equal.xsl \
+ devhelp2.xsl \
+ gtk-doc.cat.in \
+ home.png \
+ left.png \
+ right.png \
+ up.png \
+ doc/README \
+ doc/authors.txt \
+ doc/gnome.txt \
+ doc/sections-file.txt \
+ doc/setting-up.txt \
+ doc/style-guide.txt \
+ db2man/README \
+ db2man/docbook-to-man \
+ db2man/docbook-to-man.ts \
+ examples/README \
+ examples/Makefile.am \
+ tools/docpercentages.pl \
+ tools/gtk-doc.el \
+ style.css \
+ COPYING-DOCS \
+ gnome-doc-utils.make
+
+MAINTAINERCLEANFILES = \
+ $(srcdir)/INSTALL \
+ $(srcdir)/COPYING \
+ $(srcdir)/aclocal.m4 \
+ $(srcdir)/autoregen.sh \
+ $(srcdir)/compile \
+ $(srcdir)/config.guess \
+ $(srcdir)/config.h.in \
+ $(srcdir)/config.sub \
+ $(srcdir)/configure.scan \
+ $(srcdir)/depcomp \
+ $(srcdir)/install-sh \
+ $(srcdir)/ltmain.sh \
+ $(srcdir)/m4 \
+ $(srcdir)/missing \
+ $(srcdir)/mkinstalldirs \
+ $(srcdir)/gtk-doc-utils.make \
+ $(srcdir)/ChangeLog
+
+GITIGNOREFILES = \
+ RELNOTES.txt \
+ ChangeLog-?.??
+
+DISTCHECK_CONFIGURE_FLAGS = --disable-scrollkeeper
+DISTCLEANFILES = gnome-doc-utils.make
+-include $(top_srcdir)/git.mk
+
+dist-hook:
+ @if test -d "$(srcdir)/.git"; \
+ then \
+ echo Creating ChangeLog && \
+ ( cd "$(top_srcdir)" && \
+ echo '# Generated by Makefile. Do not edit.'; echo; \
+ $(top_srcdir)/missing --run git log --stat ) > ChangeLog.tmp \
+ && mv -f ChangeLog.tmp $(top_distdir)/ChangeLog \
+ || ( rm -f ChangeLog.tmp ; \
+ echo Failed to generate ChangeLog >&2 ); \
+ else \
+ echo A git clone is required to generate a ChangeLog >&2; \
+ fi
--- /dev/null
+# 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@
+pkgdatadir = $(datadir)/@PACKAGE@
+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 = :
+build_triplet = @build@
+host_triplet = @host@
+@HAVE_PYTHON_TRUE@am__append_1 = \
+@HAVE_PYTHON_TRUE@ gtkdoc-depscan
+
+subdir = .
+DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \
+ $(srcdir)/Makefile.in $(srcdir)/gtk-doc.cat.in \
+ $(srcdir)/gtk-doc.dsl.in $(srcdir)/gtk-doc.pc.in \
+ $(srcdir)/gtk-doc.spec.in $(srcdir)/gtkdoc-check.in \
+ $(srcdir)/gtkdoc-common.pl.in $(srcdir)/gtkdoc-depscan.in \
+ $(srcdir)/gtkdoc-fixxref.in $(srcdir)/gtkdoc-mkdb.in \
+ $(srcdir)/gtkdoc-mkhtml.in $(srcdir)/gtkdoc-mkman.in \
+ $(srcdir)/gtkdoc-mkpdf.in $(srcdir)/gtkdoc-mktmpl.in \
+ $(srcdir)/gtkdoc-rebase.in $(srcdir)/gtkdoc-scan.in \
+ $(srcdir)/gtkdoc-scangobj.in $(srcdir)/gtkdoc-scanobj.in \
+ $(srcdir)/gtkdocize.in $(top_srcdir)/configure AUTHORS COPYING \
+ ChangeLog INSTALL NEWS TODO build-aux/config.guess \
+ build-aux/config.sub build-aux/depcomp build-aux/install-sh \
+ build-aux/ltmain.sh build-aux/missing config.guess config.sub \
+ depcomp install-sh ltmain.sh missing
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/gnome-doc-utils.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
+ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/acinclude.m4 \
+ $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
+ configure.lineno config.status.lineno
+mkinstalldirs = $(install_sh) -d
+CONFIG_CLEAN_FILES = gtk-doc.pc gtk-doc.dsl gtk-doc.spec gtk-doc.cat \
+ gtkdoc-common.pl gtkdoc-check gtkdoc-depscan gtkdoc-fixxref \
+ gtkdoc-mkdb gtkdoc-mkhtml gtkdoc-mkman gtkdoc-mkpdf \
+ gtkdoc-mktmpl gtkdoc-rebase gtkdoc-scan gtkdoc-scangobj \
+ gtkdoc-scanobj gtkdocize
+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)$(gtkdocdatadir)" "$(DESTDIR)$(pkgconfigdir)" \
+ "$(DESTDIR)$(sgmldir)"
+SCRIPTS = $(bin_SCRIPTS)
+AM_V_GEN = $(am__v_GEN_$(V))
+am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
+am__v_GEN_0 = @echo " GEN " $@;
+AM_V_at = $(am__v_at_$(V))
+am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
+am__v_at_0 = @
+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 = $(aclocal_DATA) $(gtkdocdata_DATA) $(pkgconfig_DATA) \
+ $(sgml_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"
+GZIP_ENV = --best
+DIST_ARCHIVES = $(distdir).tar.xz
+distuninstallcheck_listfiles = find . -type f -print
+distcleancheck_listfiles = find . -type f -print
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
+AR = @AR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DBLATEX = @DBLATEX@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DISTCHECK_CONFIGURE_FLAGS = --disable-scrollkeeper
+DOC_USER_FORMATS = @DOC_USER_FORMATS@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+FGREP = @FGREP@
+FOP = @FOP@
+GREP = @GREP@
+HELP_DIR = @HELP_DIR@
+HIGHLIGHT = @HIGHLIGHT@
+HIGHLIGHT_OPTIONS = @HIGHLIGHT_OPTIONS@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+JADE = @JADE@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+MKDIR_P = @MKDIR_P@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OMF_DIR = @OMF_DIR@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_DATA_DIR = @PACKAGE_DATA_DIR@
+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@
+PKG_CONFIG = @PKG_CONFIG@
+PYTHON = @PYTHON@
+PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
+PYTHON_PLATFORM = @PYTHON_PLATFORM@
+PYTHON_PREFIX = @PYTHON_PREFIX@
+PYTHON_VERSION = @PYTHON_VERSION@
+RANLIB = @RANLIB@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SGML_FORMAT_TYPE = @SGML_FORMAT_TYPE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+TEST_DEPS_CFLAGS = @TEST_DEPS_CFLAGS@
+TEST_DEPS_LIBS = @TEST_DEPS_LIBS@
+TRACE = @TRACE@
+VERSION = @VERSION@
+XMLCATALOG = @XMLCATALOG@
+XML_CATALOG_FILE = @XML_CATALOG_FILE@
+XSLTPROC = @XSLTPROC@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+glib_prefix = @glib_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+lt_ECHO = @lt_ECHO@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+pkgpyexecdir = @pkgpyexecdir@
+pkgpythondir = @pkgpythondir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+pyexecdir = @pyexecdir@
+pythondir = @pythondir@
+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@
+ACLOCAL_AMFLAGS = -I m4 ${ACLOCAL_FLAGS}
+SUBDIRS = help tests
+bin_SCRIPTS = gtkdoc-check gtkdoc-fixxref gtkdoc-mkdb gtkdoc-mkhtml \
+ gtkdoc-mkman gtkdoc-mkpdf gtkdoc-mktmpl gtkdoc-rebase \
+ gtkdoc-scan gtkdoc-scangobj gtkdoc-scanobj gtkdocize \
+ $(am__append_1)
+gtkdocdatadir = $(datadir)/gtk-doc/data
+gtkdocdata_DATA = \
+ gtkdoc-common.pl \
+ gtk-doc.dsl \
+ gtk-doc.dcl \
+ gtk-doc.xsl \
+ version-greater-or-equal.xsl \
+ devhelp2.xsl \
+ gtk-doc.make \
+ gtk-doc.notmpl.make \
+ gtk-doc.flat.make \
+ gtk-doc.notmpl-flat.make \
+ home.png \
+ left.png \
+ right.png \
+ up.png \
+ style.css
+
+pkgconfigdir = $(datadir)/pkgconfig
+pkgconfig_DATA = gtk-doc.pc
+aclocaldir = $(datadir)/aclocal
+aclocal_DATA = gtk-doc.m4
+sgmldir = $(datadir)/sgml/gtk-doc
+sgml_DATA = gtk-doc.cat
+EXTRA_DIST = \
+ MAINTAINERS \
+ gtk-doc.pc.in \
+ gtk-doc.m4 \
+ gtk-doc.make \
+ gtk-doc.notmpl.make \
+ gtk-doc.flat.make \
+ gtk-doc.notmpl-flat.make \
+ gtk-doc.doap \
+ gtk-doc.spec.in \
+ gtk-doc.spec \
+ gtk-doc.dcl \
+ gtk-doc.xsl \
+ gtk-doc-fo.xsl \
+ version-greater-or-equal.xsl \
+ devhelp2.xsl \
+ gtk-doc.cat.in \
+ home.png \
+ left.png \
+ right.png \
+ up.png \
+ doc/README \
+ doc/authors.txt \
+ doc/gnome.txt \
+ doc/sections-file.txt \
+ doc/setting-up.txt \
+ doc/style-guide.txt \
+ db2man/README \
+ db2man/docbook-to-man \
+ db2man/docbook-to-man.ts \
+ examples/README \
+ examples/Makefile.am \
+ tools/docpercentages.pl \
+ tools/gtk-doc.el \
+ style.css \
+ COPYING-DOCS \
+ gnome-doc-utils.make
+
+MAINTAINERCLEANFILES = \
+ $(srcdir)/INSTALL \
+ $(srcdir)/COPYING \
+ $(srcdir)/aclocal.m4 \
+ $(srcdir)/autoregen.sh \
+ $(srcdir)/compile \
+ $(srcdir)/config.guess \
+ $(srcdir)/config.h.in \
+ $(srcdir)/config.sub \
+ $(srcdir)/configure.scan \
+ $(srcdir)/depcomp \
+ $(srcdir)/install-sh \
+ $(srcdir)/ltmain.sh \
+ $(srcdir)/m4 \
+ $(srcdir)/missing \
+ $(srcdir)/mkinstalldirs \
+ $(srcdir)/gtk-doc-utils.make \
+ $(srcdir)/ChangeLog
+
+GITIGNOREFILES = \
+ RELNOTES.txt \
+ ChangeLog-?.??
+
+DISTCLEANFILES = gnome-doc-utils.make
+all: all-recursive
+
+.SUFFIXES:
+am--refresh:
+ @:
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ echo ' cd $(srcdir) && $(AUTOMAKE) --gnu'; \
+ $(am__cd) $(srcdir) && $(AUTOMAKE) --gnu \
+ && exit 0; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --gnu Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ echo ' $(SHELL) ./config.status'; \
+ $(SHELL) ./config.status;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ $(SHELL) ./config.status --recheck
+
+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
+ $(am__cd) $(srcdir) && $(AUTOCONF)
+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
+ $(am__cd) $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
+$(am__aclocal_m4_deps):
+gtk-doc.pc: $(top_builddir)/config.status $(srcdir)/gtk-doc.pc.in
+ cd $(top_builddir) && $(SHELL) ./config.status $@
+gtk-doc.dsl: $(top_builddir)/config.status $(srcdir)/gtk-doc.dsl.in
+ cd $(top_builddir) && $(SHELL) ./config.status $@
+gtk-doc.spec: $(top_builddir)/config.status $(srcdir)/gtk-doc.spec.in
+ cd $(top_builddir) && $(SHELL) ./config.status $@
+gtk-doc.cat: $(top_builddir)/config.status $(srcdir)/gtk-doc.cat.in
+ cd $(top_builddir) && $(SHELL) ./config.status $@
+gtkdoc-common.pl: $(top_builddir)/config.status $(srcdir)/gtkdoc-common.pl.in
+ cd $(top_builddir) && $(SHELL) ./config.status $@
+gtkdoc-check: $(top_builddir)/config.status $(srcdir)/gtkdoc-check.in
+ cd $(top_builddir) && $(SHELL) ./config.status $@
+gtkdoc-depscan: $(top_builddir)/config.status $(srcdir)/gtkdoc-depscan.in
+ cd $(top_builddir) && $(SHELL) ./config.status $@
+gtkdoc-fixxref: $(top_builddir)/config.status $(srcdir)/gtkdoc-fixxref.in
+ cd $(top_builddir) && $(SHELL) ./config.status $@
+gtkdoc-mkdb: $(top_builddir)/config.status $(srcdir)/gtkdoc-mkdb.in
+ cd $(top_builddir) && $(SHELL) ./config.status $@
+gtkdoc-mkhtml: $(top_builddir)/config.status $(srcdir)/gtkdoc-mkhtml.in
+ cd $(top_builddir) && $(SHELL) ./config.status $@
+gtkdoc-mkman: $(top_builddir)/config.status $(srcdir)/gtkdoc-mkman.in
+ cd $(top_builddir) && $(SHELL) ./config.status $@
+gtkdoc-mkpdf: $(top_builddir)/config.status $(srcdir)/gtkdoc-mkpdf.in
+ cd $(top_builddir) && $(SHELL) ./config.status $@
+gtkdoc-mktmpl: $(top_builddir)/config.status $(srcdir)/gtkdoc-mktmpl.in
+ cd $(top_builddir) && $(SHELL) ./config.status $@
+gtkdoc-rebase: $(top_builddir)/config.status $(srcdir)/gtkdoc-rebase.in
+ cd $(top_builddir) && $(SHELL) ./config.status $@
+gtkdoc-scan: $(top_builddir)/config.status $(srcdir)/gtkdoc-scan.in
+ cd $(top_builddir) && $(SHELL) ./config.status $@
+gtkdoc-scangobj: $(top_builddir)/config.status $(srcdir)/gtkdoc-scangobj.in
+ cd $(top_builddir) && $(SHELL) ./config.status $@
+gtkdoc-scanobj: $(top_builddir)/config.status $(srcdir)/gtkdoc-scanobj.in
+ cd $(top_builddir) && $(SHELL) ./config.status $@
+gtkdocize: $(top_builddir)/config.status $(srcdir)/gtkdocize.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
+
+installcheck-binSCRIPTS: $(bin_SCRIPTS)
+ bad=0; pid=$$$$; list="$(bin_SCRIPTS)"; for p in $$list; do \
+ case ' $(AM_INSTALLCHECK_STD_OPTIONS_EXEMPT) ' in \
+ *" $$p "* | *" $(srcdir)/$$p "*) continue;; \
+ esac; \
+ f=`echo "$$p" | sed 's,^.*/,,;$(transform)'`; \
+ for opt in --help --version; do \
+ if "$(DESTDIR)$(bindir)/$$f" $$opt >c$${pid}_.out \
+ 2>c$${pid}_.err </dev/null \
+ && test -n "`cat c$${pid}_.out`" \
+ && test -z "`cat c$${pid}_.err`"; then :; \
+ else echo "$$f does not support $$opt" 1>&2; bad=1; fi; \
+ done; \
+ done; rm -f c$${pid}_.???; exit $$bad
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+
+distclean-libtool:
+ -rm -f libtool config.lt
+install-aclocalDATA: $(aclocal_DATA)
+ @$(NORMAL_INSTALL)
+ test -z "$(aclocaldir)" || $(MKDIR_P) "$(DESTDIR)$(aclocaldir)"
+ @list='$(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-aclocalDATA:
+ @$(NORMAL_UNINSTALL)
+ @list='$(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-gtkdocdataDATA: $(gtkdocdata_DATA)
+ @$(NORMAL_INSTALL)
+ test -z "$(gtkdocdatadir)" || $(MKDIR_P) "$(DESTDIR)$(gtkdocdatadir)"
+ @list='$(gtkdocdata_DATA)'; test -n "$(gtkdocdatadir)" || 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)$(gtkdocdatadir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(gtkdocdatadir)" || exit $$?; \
+ done
+
+uninstall-gtkdocdataDATA:
+ @$(NORMAL_UNINSTALL)
+ @list='$(gtkdocdata_DATA)'; test -n "$(gtkdocdatadir)" || list=; \
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+ test -n "$$files" || exit 0; \
+ echo " ( cd '$(DESTDIR)$(gtkdocdatadir)' && rm -f" $$files ")"; \
+ cd "$(DESTDIR)$(gtkdocdatadir)" && rm -f $$files
+install-pkgconfigDATA: $(pkgconfig_DATA)
+ @$(NORMAL_INSTALL)
+ test -z "$(pkgconfigdir)" || $(MKDIR_P) "$(DESTDIR)$(pkgconfigdir)"
+ @list='$(pkgconfig_DATA)'; test -n "$(pkgconfigdir)" || 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)$(pkgconfigdir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(pkgconfigdir)" || exit $$?; \
+ done
+
+uninstall-pkgconfigDATA:
+ @$(NORMAL_UNINSTALL)
+ @list='$(pkgconfig_DATA)'; test -n "$(pkgconfigdir)" || list=; \
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+ test -n "$$files" || exit 0; \
+ echo " ( cd '$(DESTDIR)$(pkgconfigdir)' && rm -f" $$files ")"; \
+ cd "$(DESTDIR)$(pkgconfigdir)" && rm -f $$files
+install-sgmlDATA: $(sgml_DATA)
+ @$(NORMAL_INSTALL)
+ test -z "$(sgmldir)" || $(MKDIR_P) "$(DESTDIR)$(sgmldir)"
+ @list='$(sgml_DATA)'; test -n "$(sgmldir)" || 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)$(sgmldir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(sgmldir)" || exit $$?; \
+ done
+
+uninstall-sgmlDATA:
+ @$(NORMAL_UNINSTALL)
+ @list='$(sgml_DATA)'; test -n "$(sgmldir)" || list=; \
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+ test -n "$$files" || exit 0; \
+ echo " ( cd '$(DESTDIR)$(sgmldir)' && rm -f" $$files ")"; \
+ cd "$(DESTDIR)$(sgmldir)" && 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)
+ @case `sed 15q $(srcdir)/NEWS` in \
+ *"$(VERSION)"*) : ;; \
+ *) \
+ echo "NEWS not updated; not releasing" 1>&2; \
+ exit 1;; \
+ esac
+ $(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
+ $(MAKE) $(AM_MAKEFLAGS) \
+ top_distdir="$(top_distdir)" distdir="$(distdir)" \
+ dist-hook
+ -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) | xz -c >$(distdir).tar.xz
+ $(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)$(gtkdocdatadir)" "$(DESTDIR)$(pkgconfigdir)" "$(DESTDIR)$(sgmldir)"; do \
+ test -z "$$dir" || $(MKDIR_P) "$$dir"; \
+ done
+install: install-recursive
+install-exec: install-exec-recursive
+install-data: install-data-recursive
+uninstall: uninstall-recursive
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-recursive
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ `test -z '$(STRIP)' || \
+ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
+ -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+ -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
+clean: clean-recursive
+
+clean-am: clean-generic clean-libtool mostlyclean-am
+
+distclean: distclean-recursive
+ -rm -f $(am__CONFIG_DISTCLEAN_FILES)
+ -rm -f Makefile
+distclean-am: clean-am distclean-generic distclean-libtool \
+ distclean-tags
+
+dvi: dvi-recursive
+
+dvi-am:
+
+html: html-recursive
+
+html-am:
+
+info: info-recursive
+
+info-am:
+
+install-data-am: install-aclocalDATA install-gtkdocdataDATA \
+ install-pkgconfigDATA install-sgmlDATA
+
+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: installcheck-binSCRIPTS
+
+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 mostlyclean-libtool
+
+pdf: pdf-recursive
+
+pdf-am:
+
+ps: ps-recursive
+
+ps-am:
+
+uninstall-am: uninstall-aclocalDATA uninstall-binSCRIPTS \
+ uninstall-gtkdocdataDATA uninstall-pkgconfigDATA \
+ uninstall-sgmlDATA
+
+.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 \
+ clean-libtool ctags ctags-recursive dist dist-all dist-bzip2 \
+ dist-gzip dist-hook dist-lzma dist-shar dist-tarZ dist-xz \
+ dist-zip distcheck distclean distclean-generic \
+ distclean-libtool distclean-tags distcleancheck distdir \
+ distuninstallcheck dvi dvi-am html html-am info info-am \
+ install install-aclocalDATA install-am install-binSCRIPTS \
+ install-data install-data-am install-dvi install-dvi-am \
+ install-exec install-exec-am install-gtkdocdataDATA \
+ install-html install-html-am install-info install-info-am \
+ install-man install-pdf install-pdf-am install-pkgconfigDATA \
+ install-ps install-ps-am install-sgmlDATA install-strip \
+ installcheck installcheck-am installcheck-binSCRIPTS \
+ installdirs installdirs-am maintainer-clean \
+ maintainer-clean-generic mostlyclean mostlyclean-generic \
+ mostlyclean-libtool pdf pdf-am ps ps-am tags tags-recursive \
+ uninstall uninstall-aclocalDATA uninstall-am \
+ uninstall-binSCRIPTS uninstall-gtkdocdataDATA \
+ uninstall-pkgconfigDATA uninstall-sgmlDATA
+
+
+gtk-doc.flat.make: gtk-doc.make
+ @$(SED) -e "s/EXTRA_DIST =/EXTRA_DIST +=/" $< >$@
+
+gtk-doc.notmpl-flat.make: gtk-doc.notmpl.make
+ @$(SED) -e "s/EXTRA_DIST =/EXTRA_DIST +=/" $< >$@
+-include $(top_srcdir)/git.mk
+
+dist-hook:
+ @if test -d "$(srcdir)/.git"; \
+ then \
+ echo Creating ChangeLog && \
+ ( cd "$(top_srcdir)" && \
+ echo '# Generated by Makefile. Do not edit.'; echo; \
+ $(top_srcdir)/missing --run git log --stat ) > ChangeLog.tmp \
+ && mv -f ChangeLog.tmp $(top_distdir)/ChangeLog \
+ || ( rm -f ChangeLog.tmp ; \
+ echo Failed to generate ChangeLog >&2 ); \
+ else \
+ echo A git clone is required to generate a ChangeLog >&2; \
+ 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:
--- /dev/null
+GTK-Doc 1.18 (Sep 14 2011)
+============
+
+ o gtk-doc supports a subset of markdown (headings and lists) - see
+ http://git.gnome.org/browse/gtk-doc/tree/tests/gobject/src/gobject.c
+ o gtk-doc does not generate old devhelp files any more. This cuts down doc
+ generation time and works for devhelp >=0.11 (was released in 2005).
+ o changes for out-of-source dir build caused breakage for projects using
+ DOC_SOURCE_DIR with a relative path (to builddir). It is recommended to use
+ DOC_SOURCE_DIR=$(top_srcdir)/src/xxx.
+
+ Changes
+
+ o 590927 : Support AM_SILENT_RULES for doc-build steps
+ o 617121 : /* < private > */ declarations in enums are still displayed
+ o 627758 : A way to ignore a symbol
+ o 639145 : shorthand syntax for headings
+ o 644291 : Enum parser breaks on assignment of ')'
+ o 646870 : HTML_IMAGES no longer in EXTRA_DIST
+ o 648289 : gtkdoc-mkdb doesn't compile.
+ o 648331 : Specify compatible options for 'highlight' consistently.
+ o 649269 : gtkdoc-scanobj should set some of its own CFLAGS/LDFLAGS
+ o 650407 : Buildings docs while distchecking produces thousands of “No declaration found” warnings, then fails.
+ o 652746 : Documentation of plain boxed structs broken
+ o 652764 : Update autotools config a bit
+ o 655711 : summarize depscan output by package
+ o 656453 : Performance improvements (PATCH)
+ o 656658 : gtk-doc.make: install target doesn't install docs when building in a separate directory
+ o 656773 : gtk-doc fails to find a symbol declared as 'char* const'
+ o 656946 : gtk-doc unable to handle 'extern short int'
+ o 657377 : srcdir!=builddir builds discard contents of tmpl
+
+ Contributors
+
+ Bakaoukas Nikolaos
+ Claude Paroz
+ Daniel Mustieles
+ David Necas
+ David Nečas
+ Javier Jardón
+ Jorge González
+ Mario Blättermann
+ Matthias Clasen
+ Michał Górny
+ Shaun McCance
+ Stefan Sauer (Kost)
+ Will Thompson
+ Yaakov Selkowitz
+
+
+GTK-Doc 1.17 (Feb 16 2011)
+============
+
+ Changes
+
+ o 127049 : building reference documentation fails when builddir != srcdir
+ o 640241 : non-srcdir builds busted
+
+ Contributors
+
+ Daniel Mustieles
+ Javier Jardón
+ Stefan Kost
+
+GTK-Doc 1.16 (Jan 14 2011)
+============
+
+ o gtkdoc-check can do more checks, one might need to update Makefile.am from
+ the examples/Makefile.am
+
+ Changes
+
+ o 625776 : serialise doubles and floats always with a decimal dot
+ o 627269 : link to signalflags docs from signal descriptions
+ o 467488 : GTK+ man pages request
+ o 481811 : Inline function bodies are confused with declarations
+ o 501107 : EXTRA_DIST automake warnings
+ o 512565 : add GTK_DOC_IGNORE
+ o 518427 : documentation best pratices needed
+ o 597937 : Function pointers as parameters to other functions are parsed improperly
+ o 612028 : gtkdoc-fixxref should call /usr/bin/vim -n -e -u NONE -T xterm
+ o 617478 : Tooltip is a nuisance
+ o 618379 : Navigation is hiding anchors title
+ o 620249 : invalid xml for object_index with (n_objects % 3) == 0
+ o 621931 : support GType and GVariant types
+ o 622971 : List of typos in the GTK-doc manual
+ o 623777 : G_TYPE_STRV in signals generate wrong docs
+ o 623968 : gtkdoc-mkdb generates invalid xml from sgml in inline comments
+ o 624199 : parser picks up contents of large macros
+ o 624200 : 'const' confuses the parser
+ o 627223 : gtkdoc-fixxref vim highlight fails on xhtml suffix
+ o 627920 : `make check` rule to list xml files missing from DOC_MAIN_SGML_FILE
+ o 628611 : gtk-doc > = 1.13 creates automagic dependencies on syntax highlighters
+ o 628794 : Issue in gtkdoc-mkman.in
+ o 630288 : Fix 'scope notified' annotation
+ o 631336 : remove lists of gtk+ signal args in gtkdoc-scanobj and -scangobj
+ o 632587 : gtkdoc-scanner fails to identify (closure) annotation
+ o 638330 : const in parameter list is ignored
+ o 638831 : Support GTK+ 3 cell properties
+
+ Contributors
+
+ Bruno Brouard
+ Christian Persch
+ Claude Paroz
+ Gilles Dartiguelongue
+ Javier Jardón
+ Jorge González
+ Maarten Bosmans
+ Mario Blättermann
+ Matej Urbančič
+ Matthias Clasen
+ Pablo Castellano
+ P. F. Chimento
+ Philip Withnall
+ Rodrigo Aliste
+ Simón Pena
+ Stefan Kost
+ Tim-Philipp Müller
+ Vasilis Tsivikis
+
+GTK-Doc 1.15 (May 21 2010)
+============
+
+ Changes
+
+ o 614496 : Support for multiple DOC_SOURCE_DIR directories
+ o 615550 : gtk-doc fails to recognize (scope ...) and (skip) annotations
+
+ Contributors
+
+ Andreas Rottmann
+ Jorge González
+ Nicola Fontana
+ Nikos Bakaoukas
+ Stefan Kost
+
+GTK-Doc 1.14 (Mar 28 2010)
+============
+
+ Changes
+
+ o 593282 : Append " _struct " prefix to every struct name
+ o 599514 : sane support for per-page images
+ o 604892 : checks fail
+ o 613611 : parameter descriptions with annotations truncated at first \n
+ o 115531 : add short description to index entries
+ o 165425 : gtk-doc fails to parse unions
+ o 512155 : gets confused by multiline typedef
+ o 568711 : undocumented enum values are not reported
+ o 590602 : secondly running gtkdoc-mkdb will generate DOCTYPE missing XML files
+ o 590625 : $(DOC_MODULE)-overrides.txt is required by " make dist "
+ o 591975 : Section_Id always embeds a trailing newline
+ o 604885 : Fix the use of gtkdocize --flavour option
+ o 604992 : gtkdoc-fixxref broken link warning is broken for functions
+ o 604995 : Syntax error in gtkdoc-mkman
+ o 604998 : Check for syntax errors in the test suite
+ o 605052 : put class structs to the generated section file
+ o 605211 : Many build failures with gtk-doc 1.13
+ o 605281 : Add " Since " and " Deprecated " tag to function example
+ o 605285 : Add < keycap > and < keycombo > example
+ o 605289 : Some documentation improvements
+ o 605452 : Added more info to " Documenting symbols " sectio
+ o 605564 : Env var equivalent to --flavour=no-tmpl
+ o 606661 : XInclude error while gnerating documentation
+ o 607445 : gtk-doc does not support long double as returned value type
+ o 607531 : Execute system() calls in subshells to ease debugging
+ o 609062 : [All-langs] [gtk-doc] Translated *.po files not available within ~/po directory
+ o 609194 : sort interface implementers
+ o 610255 : Self-test failure in git as of 2010-02-17: FAIL: gobject.sh
+ o 610257 : Patch to make GTK-DOC notice functions/variables with 'signed' prototypes
+ o 611848 : gtk-doc produces invalid DocBook markup if the SECTION ends with a tag that cannot be nested inside < para >
+
+ Contributors
+
+ Bruno Brouard
+ David Nečas
+ Emilio Pozuelo Monfort
+ Francisco Javier F. Serrador
+ Javier Jardón
+ Jorge González
+ Loïc Minier
+ Mario Blättermann
+ Marios Zindilis
+ Nicola Fontana
+ Philip Chimento
+ Runa Bhattacharjee
+ Ryan Lortie
+ Simon Josefsson
+ Simon McVittie
+ Stefan Kost
+ Sweta Kothari
+ Vincent Untz
+ Felix Iyadurai
+ krishnababu k
+
+GTK-Doc 1.13 (Dec 18 2009)
+============
+
+ o 604891 : gtk-doc tarball does not build
+
+ Contributors
+
+ Stefan Kost
+
+GTK-Doc 1.12 (Dec 18 2009)
+============
+
+ Changes
+
+ o 591450 : Build related fixes
+ o 466535 : generate documentation as pdf
+ o 502191 : acronym support
+ o 532395 : inline function parsing problems (e.g. in glib api docs)
+ o 536928 : have syntax highlghted and xrefs source code samples
+ o 562064 : index generation trouble
+ o 562310 : glib 2.18.3: /bin/sh: line 1: gtkdoc-rebase: command not found
+ o 562655 : doesn't produce deprecation note for signals
+ o 565126 : linking to struct members
+ o 565835 : Three spelling errors in gtk-doc-manual
+ o 566911 : add support for --help and --version to remaining tools
+ o 567132 : Take FOO_GET_INTERFACE as standard
+ o 568702 : gtkdoc-mkhtml no longer works when symlinked
+ o 568706 : gtkdoc-scan: use CamelCase id for interfaces
+ o 568708 : gtkdoc-scan should try not to scan files twice
+ o 568714 : Perl errors when syntax highlighting is not available
+ o 568732 : missing long descriptions undetected
+ o 568734 : configure check for gtk-doc prints that gtk-doc cannot be built
+ o 569339 : abbreviation are not expanded at the start of text
+ o 572396 : Fix to use shave + gtk-doc + libtool 1.x
+ o 572612 : Mistakenly substitute -1 with G_MAXULONG in x86_64
+ o 572967 : use g_strerror
+ o 574654 : --ignore-decorators does not ignore trailing stuff
+ o 575574 : Be more friendly for files with a space in their name
+ o 575623 : Update FSF address
+ o 575711 : < table > element mismatch in highlighted code
+ o 576313 : implicit declarations in testsuite ?
+ o 577059 : Gnome-doc support can't be disabled
+ o 577774 : Test suite run even when built with --disable-gtk-doc
+ o 580206 : gcc warnings in < module > -scan.c
+ o 580300 : gtkdoc-scan picks up _get_type functions it should not
+ o 580622 : xml dir is both part of distclean and dist rules
+ o 581237 : gtk-doc uses wrong gtkdoc-check in " make check " phase
+ o 584952 : " uninitialized value in concatenation " gtkdoc-mkdb line 938
+ o 587103 : return values of function-like macros
+ o 587196 : Typo in a string
+ o 589426 : Python is a required dependency
+ o 591789 : master FTBFS with automake 1.11
+ o 594224 : Please fix manual about inlined SECTION comments (and show warnings when invalid)
+ o 596730 : Signed vs. unsigned comparison in gtkdoc-scangobj.in causing compile errors
+ o 596731 : autogen.sh doesn't recognize automake-1.11
+ o 602026 : Warn if non-existing function gets referenced
+ o 602518 : Doesn't support " long int " return type
+ o 604798 : tests/fail.sh and tests/tools.sh.in use bashisms
+
+ Contributors
+
+ Claude Paroz
+ Dan Williams
+ Daniel Mustieles
+ Daniel Nylander
+ H. Habighorst
+ Jannis Pohlmann
+ Javier Jardón
+ Jennie Petoumenou
+ Jorge González
+ Mario Blättermann
+ Nicola Fontana
+ Philip Chimento
+ Philip Withnall
+ Simos Xenitellis
+ Stefan Kost
+ Sven Herzberg
+
+
+GTK-Doc 1.11 (Nov 16 2008)
+============
+
+ Changes
+
+ o 531572 : one-page generation option
+ o 448879 : Use a footer when generating HTML documentation
+ o 311857 : xsltproc very slow generating index for gtk-docs.sgml
+ o 335239 : Using gnome-doc-utils for gtk-doc documentation
+ o 460753 : enable vpath build in gtkdoc-mkhtml
+ o 473342 : Warn about repeated symbols in sections
+ o 487727 : DocBook XML DTD version
+ o 523669 : make check: Element publisher content does not follow the...
+ o 530758 : gtk-doc should not expand XML tags and their attributes
+ o 533262 : no-template mode scans different source files
+ o 534627 : gtk-doc uses non-standard HTML element
+ o 542137 : No declaration found for: gsf_output_*
+ o 543855 : Fix for Bug 460753 (enable vpath build in gtkdoc-mkhtml) ...
+ o 544172 : Fails to parse return value of 'char const *'
+ o 552822 : Add rules to create $(REPORT_FILES)
+ o 553407 : Example Makefile.am uses obsolete INCLUDES instead of AM_...
+ o 554718 : gtk-doc needs to allow versioned TARGET_DIR
+ o 554833 : Be more careful with " struct _ < struct_name > "
+ o 558082 : evince docs build fails with GTK_DISABLE_SINGLE_INCLUDES
+ o 559281 : Correct check for existance of gtkdoc-rebase
+
+ Contributors
+
+ Behdad Esfahbod
+ Christian Persch
+ David Nečas
+ Felix Riemann
+ Jeffrey Stedfast
+ Marc-Andre Lureau
+ Matthew Barnes
+ Peter Kjellerstedt
+ Sebastian Dröge
+ Simon Josefsson
+ Stefan Kost
+
+
+GTK-Doc 1.10 (Mar 20 2008)
+============
+
+ Changes
+
+ o 460753 : enable vpath build in gtkdoc-mkhtml
+ o 503119 : Add dependency on content_files to SGML target
+ o 127049 : building reference documentation fails when builddir != s...
+ o 481811 : Inline function bodies are confused with declarations
+ o 448879 : Use a footer when generating HTML documentation
+ o 492005 : Deprecation guard warnings for properties and signals
+ o 498521 : Inconsistent compiler flags passed in gtk-doc.make
+ o 365913 : gtk-doc output is not predictable
+ o 446648 : gtk-doc does not handle forward typedef'd enums
+ o 468278 : Display proper types for properties
+ o 497367 : don't use US-ASCII for output encoding
+ o 501066 : Missing quotes around gtkdoc-rebase check cause a warning
+ o 508897 : [PATCH] Fix build when gtk-doc is not installed
+ o 509539 : Building documentation aborts when no .types file is present
+ o 512154 : Struct member type attributes are limited to one token
+ o 513318 : gtk-doc.el doesn't work fine with emacs22
+
+ Contributors
+
+ Benjamin Otte
+ Carlos Garnacho
+ Damon Chaplin
+ David Nečas
+ Frederic Peters
+ Joe Marcus Clarke
+ Kouhei Sutou
+ Loïc Minier
+ Mathias Hasselmann
+ Petteri Räty
+ Rouslan Solomakhin
+ Stefan Kost
+ Sven Herzberg
+ Yeti
+
+
+GTK-Doc 1.9 (Sep 30 2007)
+===========
+
+ Changes
+
+ o 419308 : unsynced regexps for parameter parsing
+ o 449618 : Top navigation bar is in the way
+ o 453717 : fixxref logic to determine absolute path's is flawed
+ o 457173 : unit tests for gtk-doc
+ o 465920 : Use gtkdoc-rebase
+ o 467773 : default master doc should have proper extension
+ o 141869 : Poor error generated when faced with a type declared as '...
+ o 156643 : Avoid make error in gtk-doc.make
+ o 322035 : wrong macro parsing
+ o 323938 : gtk-doc.m4 check is silent
+ o 324535 : gtk-doc doesn't handle deprecation inside enumerations
+ o 355352 : If you don't have an instantiatable type for a gtypeinter...
+ o 379466 : Improve C parser to handle TYPE\nVARIABLE in function pro...
+ o 380824 : docs are truncated if line begins with '* returns '
+ o 383456 : ' make check ' test for 100% documentation
+ o 411739 : Gtk-doc fails to handle ' struct tm * function_name (); '
+ o 415388 : Please clean -undocumented.txt files
+ o 418027 : gtkdoc-mkdb does not handle #ifdef in enum {}
+ o 419997 : parameter name trouble
+ o 428596 : Warnings with gtk-doc.m4 macros
+ o 434134 : fixxrefs like sed for installing pregenerated docs
+ o 436565 : Report undeclared symbols into a file
+ o 445596 : Impossible to link a page with an anchor
+ o 445693 : Does not understand ' unsigned long ' as a type
+ o 450338 : Make gtk-doc.m4 fail when needed gtk-doc is not installed
+ o 454916 : gtk-doc should permit generation of URI-based cross-refer...
+ o 457077 : add --no-implicit-returns to gtkdoc-mkdb
+ o 459225 : Accept automake-1.10 in autogen.sh
+ o 459725 : ' jhbuild build gtk-doc ' fails on make
+ o 460127 : parsing nested union/structs confuses public/private state
+ o 465365 : [PATCH] gtk-doc does not compile
+ o 466559 : [CSS] styling <hr />;
+ o 471014 : G_CONST_RETURN * G_CONST_RETURN * function not picked up
+ o 477532 : function variables
+ o 479913 : gtk-doc.notmpl.make is not distributed
+ o 479923 : distclean test output properly
+
+ Contributors
+
+ Benjamin Otte
+ Damon Chaplin
+ David Nečas
+ Frederic Peters
+ Loic Minier
+ Petteri Räty
+ Rouslan Solomakhin
+ Stefan Kost
+ Sven Herzberg
+ Yeti
+
+
+GTK-Doc 1.8 (Feb 16 2007)
+===========
+
+ o Made it easier to include example code in the source code comment blocks.
+ "|[ ... ]|" can be used to delineate example code (it just gets converted
+ to "<informalexample><programlisting>"), and most of the text in example
+ code is left as it is. The only thing that is still expanded is
+ '#' to allow links to a symbol's documentation, e.g. '#GtkWidget'.
+ o Made the field widths wider for the HTML output, so it looks a bit nicer.
+ o Added a '--rebuild-sections' option to gtkdoc-scan to automatically rebuild
+ the MODULE-sections.txt file. This only works if all the header files are
+ organized neatly and functions don't need rearranging in the docs.
+ o Added a '--rebuild-types' option to gtkdoc-scan to automatically rebuild
+ the MODULE.types file, so you don't need to add new types manually.
+ o Leave CDATA sections as they are, in the extra XML content files and within
+ source code comment blocks.
+ o Allow the section id and #include's to be set within the "SECTION:" comment
+ block, using "@Section_ID:xxx" and "@Include:".
+ o Added "--default-includes" option to specify the default #include's (for
+ people who are using --rebuild-sections and so can't specify it in
+ MODULE-sections.txt).
+ o Added a '--query-child-properties' argument to help document child
+ properties of arbitrary GObjects (used by things like canvas widgets).
+ o Fixed documentation of signals of interfaces.
+
+
+GTK-Doc 1.7 (Jul 29 2006)
+===========
+
+ o Fixed bug that resulted in empty "@:" lines in the templates.
+ o Fixed a few bugs with the XSL code.
+ o Supported a few more variations of C syntax.
+ o Remove the internally-used '-struct' suffix from links to widget structs.
+ o Fixed a few missing build dependencies.
+ o Added a new "C-x4s" binding to the emacs lisp code, to insert a blank
+ section header in the source code.
+ o Fixed bug that ignored inline section header docs with '-' in their names.
+ o Added a 'make docs' target that can be used to build the docs even when
+ gtk-doc has been disabled at configure time.
+
+
+GTK-Doc 1.6 (Apr 9 2006)
+===========
+
+ o Removed the hard dependancy on openjade or jade, since XML is used mainly
+ now rather than SGML.
+ o Install the .pc file in $(datadir) rather than $(libdir) since gtk-doc is
+ architecture-independant.
+ o Added "--ignore-decorators" option to ignore a list of declarators in
+ function declarations.
+ o Support '#Object::signal'/'#Object:property' to link to signals/properties
+ o Fixed missing index terms.
+
+
+GTK-Doc 1.5 (Mar 7 2006)
+===========
+
+ o Output the new version of devhelp2 information, but still generate the old
+ devhelp files so older versions of DevHelp still work OK.
+ o Fixed the initial creation of the *-sections.txt file so the object
+ hierarchy, signals and properties all work automatically.
+ o Show information about signal flags (run first/last).
+ o Support a --source-suffixes argument specifying which source files to scan.
+ o Support other root object types besides GObject and GInterface.
+ o Use a fixed navigation bar for the generated documentation.
+ o New documentation from Stefan Kost.
+ o Handle more variations of C syntax.
+
+
+GTK-Doc 1.4 (Jul 3 2005)
+===========
+
+ o Support section documentation (title, short description, long description
+ and 'see also') within the source code. I think everything can now be
+ documented within the source code.
+ o Support Stable/Unstable/Private stability levels for everything.
+
+
+GTK-Doc 1.3 (Jan 9 2005)
+===========
+
+ o Use the new style.css stylesheet instead of hard-wiring the styles.
+ o Updated the documentation and example build files.
+ o Added support for a gallery of widget images.
+ o Output default values for widget properties and allowed ranges.
+ o Only underline links in the docs when the mouse hovers over them.
+ o Added support for placing the parameter table anywhere within the function
+ documentation (using the "<!--PARAMETERS-->" marker).
+ o Handle more variations of C syntax.
+
+
+GTK-Doc 1.2 (Feb 16 2004)
+===========
+
+ o Added widget signals and properties to undocumented output and statistics.
+ o Added support for an index of all symbols.
+ o Emit "Since:" information for signals and properties.
+ o Added derived subclasses and interfaces to the widget hierarchies.
+ o Added .cat SGML catalog file.
+ o Support properties on interfaces.
+ o Added "--help" options to the scripts.
+
+
+GTK-Doc 1.1 (Apr 18 2003)
+===========
+
+ o Add a gtk-doc.m4 macro that allows packages to provide consistent
+ checking for gtk-doc.
+ o Check to make sure that the XML catalog actually contains entries
+ for the DocBook XML DTD and XSLT stylesheets. Please consult the
+ README file if your system's XML catalog isn't set up.
+ o Add infrastructure for including the standard gtk-doc makefile
+ glue, so that maintainers of packages don't need to worry about
+ keeping it up to date. See glib head for an example of its use.
+ o Some updates to the devhelp contents file generation, as suggested
+ by Hallski.
+ o Fix some bugs in the DocBook XML codepath that were preventing
+ inter-module cross references from being resolved.
+ o Fix some bugs in extraction of object property documentation.
+
+
+GTK-Doc 1.0 (Jan 20 2003)
+===========
+
+ o Added support for "Since:" and "Deprecated:" tags, and look for deprecated
+ guard macros in header files.
+ o Support /*< public >*/ and /*< private >*/ markers for all structs.
+ o New "--ignore-files" option for gtkdoc-mkdb, to ignore files or directories.
+ o Used the "sgml-raw" output type with openjade, to avoid problems with Lynx.
+ o Added .pc pkg-config file which can be used to check the gtk-doc version.
+
+
+GTK-Doc 0.10 (Nov 14 2002)
+============
+
+ o --output-format option to select whether SGML or XML is generated.
+ o Use openjade or jade when converting SGML to HTML.
+ o Use xsltproc to convert XML to HTML, with a new look.
+ o In XML mode, support XIncludes as an alternative to entities.
+ o In XML mode, create .devhelp files.
+ o List interfaces in the object hierarchy.
+ o Create docs for signals on interfaces.
+ o Generate links between interface and their implementations and
+ prerequisites.
+ o Create docs for child and style properties.
+ o Use blurbs for property documentation.
+ o Allow inline documentation for signals and properties.
--- /dev/null
+
+GTK+ DocBook Documentation Generator
+====================================
+
+GTK-Doc is used to document C code. It is typically used to document the public
+API of libraries, such as the GTK+ and GNOME libraries, but it can also be
+used to document application code.
+
+Note that GTK-Doc wasn't originally intended to be a general-purpose
+documentation tool, so it can be a bit awkward to setup and use.
+For a more polished general-purpose documentation tool you may want to look
+at Doxygen (http://www.doxygen.org/). However GTK-Doc has some special code
+to document the signals and properties of GTK+ widgets and GObject classes
+which other tools may not have.
+
+GTK-Doc allows your documentation to be written in 2 ways:
+ a) Embedded inside the source code in specially-formatted comments.
+ or
+ b) Added to the 'template' files which gtk-doc outputs after scanning all
+ the header files and parsing the declarations (deprecated now).
+
+From these source code comments and template files GTK-Doc generates a Docbook
+XML (or SGML) document, which is then transformed into HTML.
+The generated HTML documentation can be browsed in an ordinary web browser or
+by using the special Devhelp API browser
+(see http://developer.imendio.com/wiki/Devhelp).
+
+Please don't use template files in new projects. Support for for those will
+be removed at some point in the future (together with gtkdoc-mktmpl). Please
+also use DoxBook XML instead of DocBook SGML.
+
+Requirements
+============
+
+Perl v5 - the main scripts are in Perl.
+ http://www.perl.com/
+
+
+For XML output (recommended):
+
+The DocBook XML DTD.
+ http://www.oasis-open.org/docbook/
+
+The DocBook XSL Stylesheets.
+ http://docbook.sourceforge.net/projects/xsl/
+
+libxslt & libxml2 >= 2.3.6.
+ http://xmlsoft.org/
+
+
+For SGML output (not actively maintained any more):
+
+The DocBook SGML DTD.
+ http://www.oasis-open.org/docbook/
+
+Jade v1.1 or OpenJade 1.3.1.
+ http://www.jclark.com/jade
+ http://sourceforge.net/projects/openjade
+
+The DocBook DSSSL Stylesheets (I've got 1.40, but v1.19+ may be OK).
+ I've customized the DSSSL code slightly, in gtk-doc.dsl, to colour
+ the program code listings/declarations, and to support global
+ cross-reference indices in the generated HTML.
+ http://docbook.sourceforge.net/projects/dsssl/
+
+
+Most distributions now have packages for all of these, so I would strongly
+advise that you grab those.
+
+See the documentation in the help/manual directory for more information. You can
+read it e.g. with yelp file://$PWD/help/manual/C/gtk-doc-manual.xml
--- /dev/null
+
+The TODO list for the gtk-doc project is at Bugzilla,
+the bugtracking system of the GNOME project.
+
+Visit
+ http://bugzilla.gnome.org/buglist.cgi?product=gtk-doc&bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED
+to see what is allready requested, or where you can help. :-)
+
+To put an other request on the TODO list, visit
+ http://bugzilla.gnome.org/enter_bug.cgi?product=gtk-doc
+
+Also have a look at
+ http://live.gnome.org/DocumentationProject/GtkDocFuture
+and join discussion about future features.
+
+
+Developers can also add items here :)
+
+= Cleanups =
+== get rid of the -section.txt file ==
+* section-title can be in SECTION comment already
+* when scanning a header file, everything will be put to one section
+ * like we do for autogenerated section.txt file (gtkdoc-scan)
+* we need comment markup to override the section
+ e.g.: " * InSection: xxxx"
+ this needs gtkdoc-mkdb::ScanSourceFile to understand a new tag, which
+ otherwise would appear as verbatim in the sources
+* if one has "@InSection: xxxx" in a section comment we could patch the
+ main.xml file and insert then xi:include line (would possibly rely on a
+ special comment-pair there, we might also need to rewrite these
+ auto-generated xi:includes everytime as the placements could have been
+ changed, or we have a xi:inlcude for each chapter, that we regenerate).
+* we need a way to specify subsections (Standart, Private)
+ this could be done in the SECTION comment
+ e.g.: "@HideSymbols: <list-of-symbols-to-hide>
+ * we could allow to have a SUBSECTION:xxx comment block too
+ but then we list all the symbols here to override the auto-section placement
+* if we want to avoid the "InSection in symbol docs we could also have
+ e.g.: "@ExtraSymbols: <list-of-symbols-to-include>
+* documented symbols that are in a file without section comment and do not
+ appear in "@ExtraSymbols", "@HideSymbols" would go to unused.txt
+ * shall we deprecated the unused sub-sections?
+* can we have both at the same time (for migration)
+ * yes, read section-file first and add/override from inline comments
+
+
+= More abbreviations =
+* expand urls (needds more work, see gtkdoc-mkdb : ExpandAbbreviations)
+
+
+= Testing =
+cd test/gobject
+diff -u --exclude="Makefile*" docs docs-tmpl | diffstat
+
+
+= Running =
+gtk-doc is using a makefile with several targets to get from sources to docs.
+It might be easier to have a gtk-doc tool that can run the other gtk-doc tools
+in the right order (ev. by importing them as modules). This could handle a few
+things nicer that the makefiles don't do well.
+
+= Issues =
+* gtkdoc-fixxref makefile targets use $HTML_DIR
+ * HTML_DIR: The directory where gtk-doc generated documentation is installed
+ it comes from gtk-doc.m4 (--with-html-dir) but has no default
+ * automake exports $htmldir which is by default:
+ ${prefix}/share/doc/${PACKAGE_TARNAME}
+ * the Makefile uses $(DESTDIR)$(TARGET_DIR)
+ where TARGET_DIR = $(HTML_DIR)/$(DOC_MODULE)
+ http://www.gnu.org/software/libtool/manual/automake/DESTDIR.html
+
+
+= Extensibility =
+We'd like to extend gtk-doc to understand conventions/features of gobject libs.
+Ideally libs register their extension hooks, so that other libs that use these
+libs can benefit from the extensions too.
+
+== custom get_types collector ==
+- the default method takes the types from a type file
+- gstreamer plugin docs take a list of types from the gst plugin registry
+
+== custom properties ==
+- gtk has style and child properties
+
+== extra gobject property flags ==
+- gstreamer has 'controllable' properties
+
+= Output =
+* http://sagehill.net/docbookxsl/index.html
+* multipage-html
+ * would be good to be able to have page titles as a concatenation of document
+ name and page name (gtk+:GtkWIdget)
+* formats
+ http://bugzilla.gnome.org/show_bug.cgi?id=531572 : html-single
+ http://bugzilla.gnome.org/show_bug.cgi?id=466535 : pdf
+ http://bugzilla.gnome.org/show_bug.cgi?id=467488 : man
+ we need more configure options in gtk-doc.m4:
+ --(enable|disable)-gtk-doc-(html|pdf|man|html-single|rtf)
+ - html : enabled by default
+ - html-single : is single page html
+* validation
+ xmllint --noout --xinclude --postvalid tester-docs.xml
+ xmllint --noout --postvalid tester-docs.fo --dtdvalid file://$HOME/download/fo.dtd
+ - fo.dtd : http://www.renderx.com/Tests/validator/fo.zip
+* single page
+ xsltproc --nonet --xinclude -o gtk-docs.html /home/ensonic/projects/gtk-doc/gtk-doc-single.xsl gtk-docs.sgml
+ * need to check if we can pass the style-sheet class as a parameter (--stringparam gtkdoc.stylesheet=(chunk|docbook))
+ * we might also need to reflow some things, as gtk-doc.xsl also runs the devhelp/devhelp2 generation
+ - but then the urls in the devhelp file, refer to the chunked html anyway
+* rtf
+ ~/download/fop-0.94/fop -fo tester-docs.fo -rtf tester-docs.rtf
+ * unrtf
+ unrtf -t ps tester-docs.rtf >tester-docs.ps
+ unrtf -t latex tester-docs.rtf >tester-docs.tex
+ - bad output
+
+
+= Warnings =
+Bugzilla has some requests for extra warnings. We should support a common
+commandline option(s) in all tools to enable/disable the warnings. The makefiles
+should pass the flags from an env-var (GTKDOC_OPTIONS). The env-var should be
+used after the regular flags, so that the env-var can override hardcoded
+settings (in Makefile.am).
+
+Lets take this warning for the example:
+ "Symbol name not found at the start of the comment block."
+
+Version 1: (template "warn-xxx!, warn-yyy!")
+--warn-missing-symbol-at-comment-start
+--no-warn-missing-symbol-at-comment-start
+
+Version 2: (template "warn:s@")
+-Wmissing-symbol-at-comment-start
+-Wno-missing-symbol-at-comment-start
+-warn missing-symbol-at-comment-start
+-warn no-missing-symbol-at-comment-start
+
+more warnings:
+ - 'deprecated' deprecating 'features'
+ - 'dummy-docs' check if symbol docs are very short and repeat mainly words
+ from the symbol.
+ - possible xrefs (e.g. adding a # or () would make it a successful xref)
+
+
+= Markup =
+* protected scope
+ * we can have /* < protected > */ in classes
+ * we can have <SUBSECTION Protected> in -section.txt
+ * ideally we have Scope: {Public, Protected, Private} supported in doc comments
+ * there is a bg for gir, https://bugzilla.gnome.org/show_bug.cgi?id=594125
+
+= GIR =
+== scanning ==
+* ideas
+ * use gir files
+ 1) replace gtkdoc-scan/gtkdoc-scangobject by gtkdoc-gir and output the classical files or
+ patch gtkdoc-scan/gtkdoc-scangobject to output gir files
+ 2) patch gtkdoc-mkdb to read stuff from gir instead of classical files
+ * if gir-files would have the comments too (they are getting this now):
+ * we could even drop scanning the sources
+ * IDEs could use the gir-files to show doc-tooltips for symbols
+ * we might need yet another makefile flavour to use gir files
+* perl and xml
+ * http://www.xml.com/pub/a/2001/04/18/perlxmlqstart1.html
+
+== binding docs ==
+* simmillar workflow to gettext
+* add gtkdoc-mk??? to generate binding doc templates
+ * have c-comments there as comments
+ * when updating templates, mark sections that have changed as fuzzy
+* add options to gtkdoc-mkdb to build docbook from those templates
+* questions
+ * could we use the tmpl file mechanism?
+ * directory structure?
+ * we need to list the languages like ALL_LINGUAS for translations
+ * we need to create subdirs for binding docs, ideally we use one for 'C' as well
+* devhelp
+ * devhelp files need a language attribute in the book-tag
+ language={C,C++,JavaScript,Perl,Python,...}
+ * devhelp could show a selector for the language
+ * need to get existing python/~mm docs to use it, gtk-doc could output
+ language=C for own docs
+
+== installation ==
+* need to install each book with a prefix
+* would be good to have a language attribute in book tag to allow filter by language
+* look at /usr/share/gtk-doc/html/pygobject/index.html
+
+
+= docbook xml =
+Its tedious to write large amounts of docbook.
+
+== more macros ==
+We need parametric, user definable macros.
+|[ ... ]| - programlistings
+|macro(arg1,arg2,...)[ ... ]| - call macro
+ - pass args as parameters (on the commandline)
+ - pass some gtk-doc vars in environment
+ (gtk-doc version, module, srcdir, buildir)
+ - content of [] on stdin or as a file
+ - get output on stdout or file
+ - and replace the macro with it
+The changes could be made in gtkdoc-mkdb::ExpandAbbreviations()
+=== example macros ===
+|highlight(c)[...]| - highlight source code for a specific language (c)
+ - what will this output? preformatted html to be xincluded?
+ - we could have macros for each format, the docbook xml macro would leave
+ enough traces in the html so that a html macro can continue
+|dot(svg)[...]| - format dot graph and include result as mediaobject (in svg format)
+|ditta(svg)[...]| - parse ascii art and include result as mediaobject (in svg format)
+ - we need to generate a filename for the image or use anoter parameter
+
+=== where to define macros ===
+* system wide and with the package, <prefix>/share/gtk-doc/macros, $(srcdir)
+* prefix for custom macros?
+* we could require stdin for input and stdout for output, the wrapper for the
+ actual tool can ensure the convention
+
+== asciidoc as a frontend ==
+Can we offer integration with asciidoc (http://www.methods.co.nz/asciidoc/)?
+This way the master document could be written much easier. It would be cool if
+we could use the asciidoc markup in source-comments also.
+
+== extract other bits and pieces ==
+=== library api ==
+gtkdoc-scan could be obsoleted and gtkdoc-mkdb would build docbook fragemnts for
+api docs and their indexes
+=== DBUs Interfaces ===
+http://hal.freedesktop.org/docs/DeviceKit/DeviceKit.html
+http://cgit.freedesktop.org/DeviceKit/DeviceKit/tree/doc/dbus
+=== GConf schemas ===
+
+=== Wiki imports ===
+
+
+
+= styling =
+== source code examples==
+http://bugzilla.gnome.org/show_bug.cgi?id=536928
+We could also run a postprocessing script in gtkdoc-mkhtml/gtkdoc-fixxref
+
+tools:
+ source-highlight (/usr/bin/source-highlight)
+ source-highlight -itests/gobject/examples/gobject.c -o$HOME/temp/gobject.html -n -t4 -sc
+ source-highlight -itests/gobject/examples/gobject.c -o$HOME/temp/gobject.html -n -t4 -sc -cstyle.css --no-doc
+ source-highlight -itests/gobject/examples/gobject.c -o$HOME/temp/gobject.xml -n -t4 -sc -f docbook
+
+ highlight -itests/gobject/examples/gobject.c -o$HOME/temp/gobject.xml -l -X -f -j2
+
+some tips about styling code listings in html
+http://www.tjkdesign.com/articles/how_to_style_a_code_listing.asp
+
+=== process docbook ===
+if we highlight to docbook, we just get emphasis (bold)
+=== process html ===
+if we highlight to html we get colors, we need to check what tags we should process though:
+<pre class="programlisting"> is used for all code boxes.
+<div class="informalexample"><pre class="programlisting"> is used for examples.
+problems:
+* in html we don't know the language anymore
+ * add another div
+* with source-highlight, constants and types are not markedup.
+ for types we might need to build an own lang file dynamically and include
+ /usr/share/source-highlight/c.lang
+=== |[ ... ]| does not allow setting the language ===
+* check for vi/emacs/jedit modelines
+ jedit: http://www.jedit.org/users-guide/buffer-local.html
+ vim: http://vim.wikia.com/wiki/Modeline_magic
+ emacs: http://www.delorie.com/gnu/docs/emacs/emacs_486.html
+* allow <!-- language="C" --> comments after |[
+* we need to catch those when processing the docbook and expanding the |[
+* require new macro syntax
+
+== show inherited api ==
+could we write small html files for each object for methods, signals and properties and then use iframes to combine those at runtime like in javadoc?
+could we do that using javascript and some other magic?
+
+
+= syntax =
+== wildcards in symbol names ==
+Somtimes one defines a set of function and macros with very simillar purpose, e.g.
+READ_INT8, READ_INT16, READ_INT32. It would be great to allow documenting a symbol
+READ_INT* instead of 3 docs which are copy'n'pasted anyway. In the output we will have
+all matching declarations in one source listing. Multiple wildcards are okay.
+
+
+= documentation best practises #518427 =
+* we'd like offer a more complete skelleton
+ * structure
+ * docbook markup (part/chapter structure)
+* structure
+ Sugested structure for api-docs.
+ Idea is to have more content that api reference. It would be good to have a
+ gnome-platform document in devhelp, so that we could xref that instead of
+ explaining 100 times how to use pkg-config.
+
+ * examples
+ * gobject in devhelp
+ * concepts / api / tools / tutorial / related tools
+ * gtk in devhelp
+ * overview / api / migation / tools
+ * qt reference docs in qt assistant
+ * classes / overview / tutorial&examples
+ * recommendation
+ * front-page
+ * table with details (http://www.docbook.org/tdg/en/html/bookinfo.html)
+ (problem: what enclosing tag)
+ Logo, Module Version
+ Copyright and Legalnotice
+ Links
+ * homepage, mailing lists, irc channel
+ * repository, source releases, bugtracker
+ * TOC
+ * introduction - what is is about
+ * concepts - explain basic ideas and terminology
+ * development - how to build and run, env-vars, different platforms
+ * api - classic api docs
+ * tutorial & examples - integrated to keep it up-to-date and cross referenced
+ * migration - how to for api changes, deprecations
+ * (releated) tools - tools part of the package or recommended for development
+ * indexes - api-index, depretations, new api since xxx
+
+proposed structure in docbook xml:
+<book>
+ <bookinfo>
+ </bookinfo>
+ <preface><title>Introduction</title>
+ ...
+ </preface>
+ <part label="I"><title>xxx Overview</title>
+ <xi:include href="building.xml" />
+ ...
+ </part>
+ <reference label="II"><title>xxx Core Reference</title>
+ <xi:include href="xml/gtkmain.xml" />
+ ...
+ </part>
+ <reference label="III"><title>xxx Object Reference</title>
+ <chapter><title>Object Hierarchy</title>
+ <xi:include href="xml/tree_index.sgml" />
+ </chapter>
+ <chapter>...
+ </part>
+ <index>...</index>
+</book>
+
+some things to check:
+* gtk,glib: can we make a <part> for the glosary and index's (according to docbook, yes)
+ should we use <appendix>? its like a chapter.
+* gobject: uses a <preface> for introductions
+* gobject: uses <reference> as a parent for the xi:includeed <refentry> docs
+
+
+= extra link for symbols =
+need options for configure:
+--enable-gtk-doc-codesearch-links
+--enable-gtk-doc-liveedit-links
+== viewvc,cgit,... ==
+- link to some online service for the code
+- problem: most don't have local anchors for the symbols
+- where to set the uri (in the document, like for online url)?
+- what about a template URL containing a %s for the "path/file" or a special macro
+ http://svn.gnome.org/viewvc/gtk-doc/trunk/tests/gobject/src/gobject.c?view=markup
+ http://buzztard.svn.sourceforge.net/viewvc/buzztard/trunk/buzztard/src/lib/core/core.c?view=markup
+ - unfortunately we can't link to symbols (only lines)
+ - linking to files is difficult as in gtkdoc we have modules
+
+== codesearch ==
+- google (code) link : http://www.google.com/codesearch?q=g_object_unref
+== live editing ==
+The idea is to have an 'edit' link in an online version of the docs (build from
+head development version) per doc-entry (symbols and section).
+The link goes to a cgi and that gets following parameters: docmodule,symbol.
+E.g. http://library.gnome.org/devel/references/edit?docmodule=glib&symbol=g_new
+The cgi would need a hashmap to get from docmodule to the way to check it out
+(ideally it has a recent checkout and only updates it).
+problems:
+- signal that this has been edited already?
+- support for xi:included examples
+- updating the checkout could be slow
+
+
+= fix missing since docs =
+cd gstreamer/gstreamer/docs/gst
+gtkdoc-mkdb --module=gstreamer --source-dir=../../gst --outputsymbolswithoutsince
+cd gstreamer/gstreamer/src
+git bisect start
+git bisect good
+git bisect bad RELEASE-0_10_0
+git bisect run script.sh
+
+script:
+#!/bin/sh
+make ctags
+grep "gst_caps_is_always_compatible" tags
+
+
+= performance =
+- timestamp each step
+ make check >make.log
+- try CFLAGS=-O0 for compiling the scanner, no need to optimize it
+ CFLAGS="-O0" make check >make.log
+ safes max 0.5 sec.
+- xslt
+ http://docbook2x.sourceforge.net/latest/doc/performance.html
+ - play with xsltproc --profile --verbose --timing
+ cd tests/gobject/docs/html
+ time /usr/bin/xsltproc 2>xslt.log --profile --verbose --timing --path /home/ensonic/projects/gnome/gtk-doc/gtk-doc/tests/gobject/docs --nonet --xinclude --stringparam gtkdoc.bookname tester --stringparam gtkdoc.version 1.14 /home/ensonic/projects/gnome/gtk-doc/gtk-doc/gtk-doc.xsl ../tester-docs.xml
+ - l10n.language is slow
+ bug: https://sourceforge.net/tracker/index.php?func=detail&aid=2918673&group_id=21935&atid=373750
+ see: http://www.mail-archive.com/docbook-apps@lists.oasis-open.org/msg05412.html
+ - overide l10n.language
+ glib/gobject
+ real user sys
+ 2m15.221s 1m58.740s 0m1.456s
+ >
+ 1m55.480s 1m44.296s 0m2.125s
+ - override many template related to gentext
+ real user sys
+ 0m43.327s 0m38.594s 0m4.724s
+ >
+ real user sys
+ 0m33.282s 0m29.266s 0m4.012s
+ - removing the gentext calls for nav-bar alt tags does not help
+
+
+ - try plain docbook xslt to see if maybe we have bad xslt templates in the
+ customisation layer (gtk-doc.xsl)
+
+ - we could do the xinlcude processing once and use it for both html and pdf
+ time /usr/bin/xsltproc 2>../xslt4.log --path /home/ensonic/projects/gnome/gtk-doc/gtk-doc/tests/gobject/docs --nonet --xinclude --stringparam gtkdoc.bookname tester --stringparam gtkdoc.version 1.14 /home/ensonic/projects/gnome/gtk-doc/gtk-doc/gtk-doc.xsl ../tester-docs.xml
+ real user sys
+ 0m4.846s 0m4.434s 0m0.147s
+ 0m4.842s 0m4.386s 0m0.145s
+
+
+ time xmllint --nonet --xinclude ../tester-docs.xml >./tester-docs-all.xml
+ real user sys
+ 0m0.596s 0m0.546s 0m0.023s
+
+ time /usr/bin/xsltproc 2>../xslt5.log --path /home/ensonic/projects/gnome/gtk-doc/gtk-doc/tests/gobject/docs --nonet --stringparam gtkdoc.bookname tester --stringparam gtkdoc.version 1.14 /home/ensonic/projects/gnome/gtk-doc/gtk-doc/gtk-doc.xsl ./tester-docs-all.xml
+ real user sys
+ 0m4.167s 0m3.834s 0m0.106s
+ 0m4.248s 0m3.851s 0m0.114s
+
+
+ time xmllint --nonet --c14n --xinclude ../tester-docs.xml >./tester-docs-all2.xml
+
+ real user sys
+ 0m0.700s 0m0.636s 0m0.034s
+
+ time /usr/bin/xsltproc 2>../xslt6.log --path /home/ensonic/projects/gnome/gtk-doc/gtk-doc/tests/gobject/docs --nonet --stringparam gtkdoc.bookname tester --stringparam gtkdoc.version 1.14 /home/ensonic/projects/gnome/gtk-doc/gtk-doc/gtk-doc.xsl ./tester-docs-all2.xml
+
+ real user sys
+ 0m3.344s 0m3.026s 0m0.109s
+ 0m3.372s 0m3.037s 0m0.115s
+
+
+ l ../tester-docs.xml ./tester-docs-all*.xml
+
+ - we could also try to compact the installed xslt
+ xmllint --nonet --c14n --xinclude gtk-doc.xsl | sed -ne '/<!--/ { :c; /-->/! { N; b c; }; /-->/s/<!--.*-->//g }; /^ *$/!p;' | sed '/^$/d' >gtk-doc.pre.xsl
+ - unfortunately there is no way to ask xsltproc to pre-transform an xslt, that could
+ - strip comments
+ - process xsl:import and xsl:include
+ - compile xslt
+ http://sourceforge.net/projects/xsltc/
+ http://www.xmlhack.com/read.php?item=618
+ - extra xsltproc options:
+ --novalid: saves ~ 0.12 sec
+
+- perl regexps
+ - not really an issue, but we can improve by compiling the regexps
+ http://stackoverflow.com/questions/550258/does-the-o-modifier-for-perl-regular-expressions-still-provide-any-benefit
+ - we use $&, $', and $` in several places (comple match, pre-match and post-match).
+ Those are slow and once they are used a single time perl prepares them for every match operation.
+ Since perl 5.10 one can use the /p flag for matches where this is needed and then use
+ ${^PREMATCH} , ${^MATCH} and ${^POSTMATCH}
+- perl profiling
+ - http://blog.timbunce.org/2008/07/15/nytprof-v2-a-major-advance-in-perl-profilers/
+ perl -d:NYTProf gtkdoc-mkdb ...
+ nytprofhtml
+ firefox nytprof/index.html
+
--- /dev/null
+
+# Checks the location of the XML Catalog
+# Usage:
+# JH_PATH_XML_CATALOG([ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
+# Defines XMLCATALOG and XML_CATALOG_FILE substitutions
+AC_DEFUN([JH_PATH_XML_CATALOG],
+[
+ # check for the presence of the XML catalog
+ AC_ARG_WITH([xml-catalog],
+ AC_HELP_STRING([--with-xml-catalog=CATALOG],
+ [path to xml catalog to use]),,
+ [with_xml_catalog=/etc/xml/catalog])
+ jh_found_xmlcatalog=true
+ XML_CATALOG_FILE="$with_xml_catalog"
+ AC_SUBST([XML_CATALOG_FILE])
+ AC_MSG_CHECKING([for XML catalog ($XML_CATALOG_FILE)])
+ if test -f "$XML_CATALOG_FILE"; then
+ AC_MSG_RESULT([found])
+ else
+ jh_found_xmlcatalog=false
+ AC_MSG_RESULT([not found])
+ fi
+
+ # check for the xmlcatalog program
+ AC_PATH_PROG(XMLCATALOG, xmlcatalog, no)
+ if test "x$XMLCATALOG" = xno; then
+ jh_found_xmlcatalog=false
+ fi
+
+ if $jh_found_xmlcatalog; then
+ ifelse([$1],,[:],[$1])
+ else
+ ifelse([$2],,[AC_MSG_ERROR([could not find XML catalog])],[$2])
+ fi
+])
+
+# Checks if a particular URI appears in the XML catalog
+# Usage:
+# JH_CHECK_XML_CATALOG(URI, [FRIENDLY-NAME], [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
+AC_DEFUN([JH_CHECK_XML_CATALOG],
+[
+ AC_REQUIRE([JH_PATH_XML_CATALOG],[JH_PATH_XML_CATALOG(,[:])])dnl
+ AC_MSG_CHECKING([for ifelse([$2],,[$1],[$2]) in XML catalog])
+ if $jh_found_xmlcatalog && \
+ AC_RUN_LOG([$XMLCATALOG --noout "$XML_CATALOG_FILE" "$1" >&2]); then
+ AC_MSG_RESULT([found])
+ ifelse([$3],,,[$3
+])dnl
+ else
+ AC_MSG_RESULT([not found])
+ ifelse([$4],,
+ [AC_MSG_ERROR([could not find ifelse([$2],,[$1],[$2]) in XML catalog])],
+ [$4])
+ fi
+])
--- /dev/null
+# 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.65],,
+[m4_warning([this file was generated for autoconf 2.65.
+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'.])])
+
+# pkg.m4 - Macros to locate and utilise pkg-config. -*- Autoconf -*-
+#
+# Copyright © 2004 Scott James Remnant <scott@netsplit.com>.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 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.
+
+# PKG_PROG_PKG_CONFIG([MIN-VERSION])
+# ----------------------------------
+AC_DEFUN([PKG_PROG_PKG_CONFIG],
+[m4_pattern_forbid([^_?PKG_[A-Z_]+$])
+m4_pattern_allow([^PKG_CONFIG(_PATH)?$])
+AC_ARG_VAR([PKG_CONFIG], [path to pkg-config utility])dnl
+if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then
+ AC_PATH_TOOL([PKG_CONFIG], [pkg-config])
+fi
+if test -n "$PKG_CONFIG"; then
+ _pkg_min_version=m4_default([$1], [0.9.0])
+ AC_MSG_CHECKING([pkg-config is at least version $_pkg_min_version])
+ if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then
+ AC_MSG_RESULT([yes])
+ else
+ AC_MSG_RESULT([no])
+ PKG_CONFIG=""
+ fi
+
+fi[]dnl
+])# PKG_PROG_PKG_CONFIG
+
+# PKG_CHECK_EXISTS(MODULES, [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
+#
+# Check to see whether a particular set of modules exists. Similar
+# to PKG_CHECK_MODULES(), but does not set variables or print errors.
+#
+#
+# Similar to PKG_CHECK_MODULES, make sure that the first instance of
+# this or PKG_CHECK_MODULES is called, or make sure to call
+# PKG_CHECK_EXISTS manually
+# --------------------------------------------------------------
+AC_DEFUN([PKG_CHECK_EXISTS],
+[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
+if test -n "$PKG_CONFIG" && \
+ AC_RUN_LOG([$PKG_CONFIG --exists --print-errors "$1"]); then
+ m4_ifval([$2], [$2], [:])
+m4_ifvaln([$3], [else
+ $3])dnl
+fi])
+
+
+# _PKG_CONFIG([VARIABLE], [COMMAND], [MODULES])
+# ---------------------------------------------
+m4_define([_PKG_CONFIG],
+[if test -n "$PKG_CONFIG"; then
+ if test -n "$$1"; then
+ pkg_cv_[]$1="$$1"
+ else
+ PKG_CHECK_EXISTS([$3],
+ [pkg_cv_[]$1=`$PKG_CONFIG --[]$2 "$3" 2>/dev/null`],
+ [pkg_failed=yes])
+ fi
+else
+ pkg_failed=untried
+fi[]dnl
+])# _PKG_CONFIG
+
+# _PKG_SHORT_ERRORS_SUPPORTED
+# -----------------------------
+AC_DEFUN([_PKG_SHORT_ERRORS_SUPPORTED],
+[AC_REQUIRE([PKG_PROG_PKG_CONFIG])
+if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
+ _pkg_short_errors_supported=yes
+else
+ _pkg_short_errors_supported=no
+fi[]dnl
+])# _PKG_SHORT_ERRORS_SUPPORTED
+
+
+# PKG_CHECK_MODULES(VARIABLE-PREFIX, MODULES, [ACTION-IF-FOUND],
+# [ACTION-IF-NOT-FOUND])
+#
+#
+# Note that if there is a possibility the first call to
+# PKG_CHECK_MODULES might not happen, you should be sure to include an
+# explicit call to PKG_PROG_PKG_CONFIG in your configure.ac
+#
+#
+# --------------------------------------------------------------
+AC_DEFUN([PKG_CHECK_MODULES],
+[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
+AC_ARG_VAR([$1][_CFLAGS], [C compiler flags for $1, overriding pkg-config])dnl
+AC_ARG_VAR([$1][_LIBS], [linker flags for $1, overriding pkg-config])dnl
+
+pkg_failed=no
+AC_MSG_CHECKING([for $1])
+
+_PKG_CONFIG([$1][_CFLAGS], [cflags], [$2])
+_PKG_CONFIG([$1][_LIBS], [libs], [$2])
+
+m4_define([_PKG_TEXT], [Alternatively, you may set the environment variables $1[]_CFLAGS
+and $1[]_LIBS to avoid the need to call pkg-config.
+See the pkg-config man page for more details.])
+
+if test $pkg_failed = yes; then
+ _PKG_SHORT_ERRORS_SUPPORTED
+ if test $_pkg_short_errors_supported = yes; then
+ $1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "$2"`
+ else
+ $1[]_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "$2"`
+ fi
+ # Put the nasty error message in config.log where it belongs
+ echo "$$1[]_PKG_ERRORS" >&AS_MESSAGE_LOG_FD
+
+ ifelse([$4], , [AC_MSG_ERROR(dnl
+[Package requirements ($2) were not met:
+
+$$1_PKG_ERRORS
+
+Consider adjusting the PKG_CONFIG_PATH environment variable if you
+installed software in a non-standard prefix.
+
+_PKG_TEXT
+])],
+ [AC_MSG_RESULT([no])
+ $4])
+elif test $pkg_failed = untried; then
+ ifelse([$4], , [AC_MSG_FAILURE(dnl
+[The pkg-config script could not be found or is too old. Make sure it
+is in your PATH or set the PKG_CONFIG environment variable to the full
+path to pkg-config.
+
+_PKG_TEXT
+
+To get pkg-config, see <http://pkg-config.freedesktop.org/>.])],
+ [$4])
+else
+ $1[]_CFLAGS=$pkg_cv_[]$1[]_CFLAGS
+ $1[]_LIBS=$pkg_cv_[]$1[]_LIBS
+ AC_MSG_RESULT([yes])
+ ifelse([$3], , :, [$3])
+fi[]dnl
+])# PKG_CHECK_MODULES
+
+# 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`
+])
+
+# AM_CONDITIONAL -*- Autoconf -*-
+
+# Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005, 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 9
+
+# AM_CONDITIONAL(NAME, SHELL-CONDITION)
+# -------------------------------------
+# Define a conditional.
+AC_DEFUN([AM_CONDITIONAL],
+[AC_PREREQ(2.52)dnl
+ ifelse([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])],
+ [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl
+AC_SUBST([$1_TRUE])dnl
+AC_SUBST([$1_FALSE])dnl
+_AM_SUBST_NOTMAKE([$1_TRUE])dnl
+_AM_SUBST_NOTMAKE([$1_FALSE])dnl
+m4_define([_AM_COND_VALUE_$1], [$2])dnl
+if $2; then
+ $1_TRUE=
+ $1_FALSE='#'
+else
+ $1_TRUE='#'
+ $1_FALSE=
+fi
+AC_CONFIG_COMMANDS_PRE(
+[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then
+ AC_MSG_ERROR([[conditional "$1" was never defined.
+Usually this means the macro was only invoked conditionally.]])
+fi])])
+
+# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 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 10
+
+# There are a few dirty hacks below to avoid letting `AC_PROG_CC' be
+# written in clear, in which case automake, when reading aclocal.m4,
+# will think it sees a *use*, and therefore will trigger all it's
+# C support machinery. Also note that it means that autoscan, seeing
+# CC etc. in the Makefile, will ask for an AC_PROG_CC use...
+
+
+# _AM_DEPENDENCIES(NAME)
+# ----------------------
+# See how the compiler implements dependency checking.
+# NAME is "CC", "CXX", "GCJ", or "OBJC".
+# We try a few techniques and use that to set a single cache variable.
+#
+# We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was
+# modified to invoke _AM_DEPENDENCIES(CC); we would have a circular
+# dependency, and given that the user is not expected to run this macro,
+# just rely on AC_PROG_CC.
+AC_DEFUN([_AM_DEPENDENCIES],
+[AC_REQUIRE([AM_SET_DEPDIR])dnl
+AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl
+AC_REQUIRE([AM_MAKE_INCLUDE])dnl
+AC_REQUIRE([AM_DEP_TRACK])dnl
+
+ifelse([$1], CC, [depcc="$CC" am_compiler_list=],
+ [$1], CXX, [depcc="$CXX" am_compiler_list=],
+ [$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc'],
+ [$1], UPC, [depcc="$UPC" am_compiler_list=],
+ [$1], GCJ, [depcc="$GCJ" am_compiler_list='gcc3 gcc'],
+ [depcc="$$1" am_compiler_list=])
+
+AC_CACHE_CHECK([dependency style of $depcc],
+ [am_cv_$1_dependencies_compiler_type],
+[if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
+ # We make a subdir and do the tests there. Otherwise we can end up
+ # making bogus files that we don't know about and never remove. For
+ # instance it was reported that on HP-UX the gcc test will end up
+ # making a dummy file named `D' -- because `-MD' means `put the output
+ # in D'.
+ mkdir conftest.dir
+ # Copy depcomp to subdir because otherwise we won't find it if we're
+ # using a relative directory.
+ cp "$am_depcomp" conftest.dir
+ cd conftest.dir
+ # We will build objects and dependencies in a subdirectory because
+ # it helps to detect inapplicable dependency modes. For instance
+ # both Tru64's cc and ICC support -MD to output dependencies as a
+ # side effect of compilation, but ICC will put the dependencies in
+ # the current directory while Tru64 will put them in the object
+ # directory.
+ mkdir sub
+
+ am_cv_$1_dependencies_compiler_type=none
+ if test "$am_compiler_list" = ""; then
+ am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp`
+ fi
+ am__universal=false
+ m4_case([$1], [CC],
+ [case " $depcc " in #(
+ *\ -arch\ *\ -arch\ *) am__universal=true ;;
+ esac],
+ [CXX],
+ [case " $depcc " in #(
+ *\ -arch\ *\ -arch\ *) am__universal=true ;;
+ esac])
+
+ for depmode in $am_compiler_list; do
+ # Setup a source with many dependencies, because some compilers
+ # like to wrap large dependency lists on column 80 (with \), and
+ # we should not choose a depcomp mode which is confused by this.
+ #
+ # We need to recreate these files for each test, as the compiler may
+ # overwrite some of them when testing with obscure command lines.
+ # This happens at least with the AIX C compiler.
+ : > sub/conftest.c
+ for i in 1 2 3 4 5 6; do
+ echo '#include "conftst'$i'.h"' >> sub/conftest.c
+ # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
+ # Solaris 8's {/usr,}/bin/sh.
+ touch sub/conftst$i.h
+ done
+ echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
+
+ # We check with `-c' and `-o' for the sake of the "dashmstdout"
+ # mode. It turns out that the SunPro C++ compiler does not properly
+ # handle `-M -o', and we need to detect this. Also, some Intel
+ # versions had trouble with output in subdirs
+ am__obj=sub/conftest.${OBJEXT-o}
+ am__minus_obj="-o $am__obj"
+ case $depmode in
+ gcc)
+ # This depmode causes a compiler race in universal mode.
+ test "$am__universal" = false || continue
+ ;;
+ nosideeffect)
+ # after this tag, mechanisms are not by side-effect, so they'll
+ # only be used when explicitly requested
+ if test "x$enable_dependency_tracking" = xyes; then
+ continue
+ else
+ break
+ fi
+ ;;
+ msvisualcpp | msvcmsys)
+ # This compiler won't grok `-c -o', but also, the minuso test has
+ # not run yet. These depmodes are late enough in the game, and
+ # so weak that their functioning should not be impacted.
+ am__obj=conftest.${OBJEXT-o}
+ am__minus_obj=
+ ;;
+ none) break ;;
+ esac
+ if depmode=$depmode \
+ source=sub/conftest.c object=$am__obj \
+ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
+ $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
+ >/dev/null 2>conftest.err &&
+ grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
+ grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
+ grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
+ ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
+ # icc doesn't choke on unknown options, it will just issue warnings
+ # or remarks (even with -Werror). So we grep stderr for any message
+ # that says an option was ignored or not supported.
+ # When given -MP, icc 7.0 and 7.1 complain thusly:
+ # icc: Command line warning: ignoring option '-M'; no argument required
+ # The diagnosis changed in icc 8.0:
+ # icc: Command line remark: option '-MP' not supported
+ if (grep 'ignoring option' conftest.err ||
+ grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
+ am_cv_$1_dependencies_compiler_type=$depmode
+ break
+ fi
+ fi
+ done
+
+ cd ..
+ rm -rf conftest.dir
+else
+ am_cv_$1_dependencies_compiler_type=none
+fi
+])
+AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type])
+AM_CONDITIONAL([am__fastdep$1], [
+ test "x$enable_dependency_tracking" != xno \
+ && test "$am_cv_$1_dependencies_compiler_type" = gcc3])
+])
+
+
+# AM_SET_DEPDIR
+# -------------
+# Choose a directory name for dependency files.
+# This macro is AC_REQUIREd in _AM_DEPENDENCIES
+AC_DEFUN([AM_SET_DEPDIR],
+[AC_REQUIRE([AM_SET_LEADING_DOT])dnl
+AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl
+])
+
+
+# AM_DEP_TRACK
+# ------------
+AC_DEFUN([AM_DEP_TRACK],
+[AC_ARG_ENABLE(dependency-tracking,
+[ --disable-dependency-tracking speeds up one-time build
+ --enable-dependency-tracking do not reject slow dependency extractors])
+if test "x$enable_dependency_tracking" != xno; then
+ am_depcomp="$ac_aux_dir/depcomp"
+ AMDEPBACKSLASH='\'
+fi
+AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno])
+AC_SUBST([AMDEPBACKSLASH])dnl
+_AM_SUBST_NOTMAKE([AMDEPBACKSLASH])dnl
+])
+
+# Generate code to set up dependency tracking. -*- Autoconf -*-
+
+# Copyright (C) 1999, 2000, 2001, 2002, 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 5
+
+# _AM_OUTPUT_DEPENDENCY_COMMANDS
+# ------------------------------
+AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
+[{
+ # Autoconf 2.62 quotes --file arguments for eval, but not when files
+ # are listed without --file. Let's play safe and only enable the eval
+ # if we detect the quoting.
+ case $CONFIG_FILES in
+ *\'*) eval set x "$CONFIG_FILES" ;;
+ *) set x $CONFIG_FILES ;;
+ esac
+ shift
+ for mf
+ do
+ # Strip MF so we end up with the name of the file.
+ mf=`echo "$mf" | sed -e 's/:.*$//'`
+ # Check whether this is an Automake generated Makefile or not.
+ # We used to match only the files named `Makefile.in', but
+ # some people rename them; so instead we look at the file content.
+ # Grep'ing the first line is not enough: some people post-process
+ # each Makefile.in and add a new line on top of each file to say so.
+ # Grep'ing the whole file is not good either: AIX grep has a line
+ # limit of 2048, but all sed's we know have understand at least 4000.
+ if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then
+ dirpart=`AS_DIRNAME("$mf")`
+ else
+ continue
+ fi
+ # Extract the definition of DEPDIR, am__include, and am__quote
+ # from the Makefile without running `make'.
+ DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
+ test -z "$DEPDIR" && continue
+ am__include=`sed -n 's/^am__include = //p' < "$mf"`
+ test -z "am__include" && continue
+ am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
+ # When using ansi2knr, U may be empty or an underscore; expand it
+ U=`sed -n 's/^U = //p' < "$mf"`
+ # Find all dependency output files, they are included files with
+ # $(DEPDIR) in their names. We invoke sed twice because it is the
+ # simplest approach to changing $(DEPDIR) to its actual value in the
+ # expansion.
+ for file in `sed -n "
+ s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
+ sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
+ # Make sure the directory exists.
+ test -f "$dirpart/$file" && continue
+ fdir=`AS_DIRNAME(["$file"])`
+ AS_MKDIR_P([$dirpart/$fdir])
+ # echo "creating $dirpart/$file"
+ echo '# dummy' > "$dirpart/$file"
+ done
+ done
+}
+])# _AM_OUTPUT_DEPENDENCY_COMMANDS
+
+
+# AM_OUTPUT_DEPENDENCY_COMMANDS
+# -----------------------------
+# This macro should only be invoked once -- use via AC_REQUIRE.
+#
+# This code is only required when automatic dependency tracking
+# is enabled. FIXME. This creates each `.P' file that we will
+# need in order to bootstrap the dependency handling code.
+AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
+[AC_CONFIG_COMMANDS([depfiles],
+ [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS],
+ [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"])
+])
+
+# 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])])
+
+# Add --enable-maintainer-mode option to configure. -*- Autoconf -*-
+# From Jim Meyering
+
+# Copyright (C) 1996, 1998, 2000, 2001, 2002, 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 5
+
+# AM_MAINTAINER_MODE([DEFAULT-MODE])
+# ----------------------------------
+# Control maintainer-specific portions of Makefiles.
+# Default is to disable them, unless `enable' is passed literally.
+# For symmetry, `disable' may be passed as well. Anyway, the user
+# can override the default with the --enable/--disable switch.
+AC_DEFUN([AM_MAINTAINER_MODE],
+[m4_case(m4_default([$1], [disable]),
+ [enable], [m4_define([am_maintainer_other], [disable])],
+ [disable], [m4_define([am_maintainer_other], [enable])],
+ [m4_define([am_maintainer_other], [enable])
+ m4_warn([syntax], [unexpected argument to AM@&t@_MAINTAINER_MODE: $1])])
+AC_MSG_CHECKING([whether to am_maintainer_other maintainer-specific portions of Makefiles])
+ dnl maintainer-mode's default is 'disable' unless 'enable' is passed
+ AC_ARG_ENABLE([maintainer-mode],
+[ --][am_maintainer_other][-maintainer-mode am_maintainer_other make rules and dependencies not useful
+ (and sometimes confusing) to the casual installer],
+ [USE_MAINTAINER_MODE=$enableval],
+ [USE_MAINTAINER_MODE=]m4_if(am_maintainer_other, [enable], [no], [yes]))
+ AC_MSG_RESULT([$USE_MAINTAINER_MODE])
+ AM_CONDITIONAL([MAINTAINER_MODE], [test $USE_MAINTAINER_MODE = yes])
+ MAINT=$MAINTAINER_MODE_TRUE
+ AC_SUBST([MAINT])dnl
+]
+)
+
+AU_DEFUN([jm_MAINTAINER_MODE], [AM_MAINTAINER_MODE])
+
+# Check to see how 'make' treats includes. -*- Autoconf -*-
+
+# Copyright (C) 2001, 2002, 2003, 2005, 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 4
+
+# AM_MAKE_INCLUDE()
+# -----------------
+# Check to see how make treats includes.
+AC_DEFUN([AM_MAKE_INCLUDE],
+[am_make=${MAKE-make}
+cat > confinc << 'END'
+am__doit:
+ @echo this is the am__doit target
+.PHONY: am__doit
+END
+# If we don't find an include directive, just comment out the code.
+AC_MSG_CHECKING([for style of include used by $am_make])
+am__include="#"
+am__quote=
+_am_result=none
+# First try GNU make style include.
+echo "include confinc" > confmf
+# Ignore all kinds of additional output from `make'.
+case `$am_make -s -f confmf 2> /dev/null` in #(
+*the\ am__doit\ target*)
+ am__include=include
+ am__quote=
+ _am_result=GNU
+ ;;
+esac
+# Now try BSD make style include.
+if test "$am__include" = "#"; then
+ echo '.include "confinc"' > confmf
+ case `$am_make -s -f confmf 2> /dev/null` in #(
+ *the\ am__doit\ target*)
+ am__include=.include
+ am__quote="\""
+ _am_result=BSD
+ ;;
+ esac
+fi
+AC_SUBST([am__include])
+AC_SUBST([am__quote])
+AC_MSG_RESULT([$_am_result])
+rm -f confinc confmf
+])
+
+# 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])])
+
+# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 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.
+
+# AM_PATH_PYTHON([MINIMUM-VERSION], [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
+# ---------------------------------------------------------------------------
+# Adds support for distributing Python modules and packages. To
+# install modules, copy them to $(pythondir), using the python_PYTHON
+# automake variable. To install a package with the same name as the
+# automake package, install to $(pkgpythondir), or use the
+# pkgpython_PYTHON automake variable.
+#
+# The variables $(pyexecdir) and $(pkgpyexecdir) are provided as
+# locations to install python extension modules (shared libraries).
+# Another macro is required to find the appropriate flags to compile
+# extension modules.
+#
+# If your package is configured with a different prefix to python,
+# users will have to add the install directory to the PYTHONPATH
+# environment variable, or create a .pth file (see the python
+# documentation for details).
+#
+# If the MINIMUM-VERSION argument is passed, AM_PATH_PYTHON will
+# cause an error if the version of python installed on the system
+# doesn't meet the requirement. MINIMUM-VERSION should consist of
+# numbers and dots only.
+AC_DEFUN([AM_PATH_PYTHON],
+ [
+ dnl Find a Python interpreter. Python versions prior to 2.0 are not
+ dnl supported. (2.0 was released on October 16, 2000).
+ m4_define_default([_AM_PYTHON_INTERPRETER_LIST],
+ [python python2 python3 python3.0 python2.5 python2.4 python2.3 python2.2 dnl
+python2.1 python2.0])
+
+ m4_if([$1],[],[
+ dnl No version check is needed.
+ # Find any Python interpreter.
+ if test -z "$PYTHON"; then
+ AC_PATH_PROGS([PYTHON], _AM_PYTHON_INTERPRETER_LIST, :)
+ fi
+ am_display_PYTHON=python
+ ], [
+ dnl A version check is needed.
+ if test -n "$PYTHON"; then
+ # If the user set $PYTHON, use it and don't search something else.
+ AC_MSG_CHECKING([whether $PYTHON version >= $1])
+ AM_PYTHON_CHECK_VERSION([$PYTHON], [$1],
+ [AC_MSG_RESULT(yes)],
+ [AC_MSG_ERROR(too old)])
+ am_display_PYTHON=$PYTHON
+ else
+ # Otherwise, try each interpreter until we find one that satisfies
+ # VERSION.
+ AC_CACHE_CHECK([for a Python interpreter with version >= $1],
+ [am_cv_pathless_PYTHON],[
+ for am_cv_pathless_PYTHON in _AM_PYTHON_INTERPRETER_LIST none; do
+ test "$am_cv_pathless_PYTHON" = none && break
+ AM_PYTHON_CHECK_VERSION([$am_cv_pathless_PYTHON], [$1], [break])
+ done])
+ # Set $PYTHON to the absolute path of $am_cv_pathless_PYTHON.
+ if test "$am_cv_pathless_PYTHON" = none; then
+ PYTHON=:
+ else
+ AC_PATH_PROG([PYTHON], [$am_cv_pathless_PYTHON])
+ fi
+ am_display_PYTHON=$am_cv_pathless_PYTHON
+ fi
+ ])
+
+ if test "$PYTHON" = :; then
+ dnl Run any user-specified action, or abort.
+ m4_default([$3], [AC_MSG_ERROR([no suitable Python interpreter found])])
+ else
+
+ dnl Query Python for its version number. Getting [:3] seems to be
+ dnl the best way to do this; it's what "site.py" does in the standard
+ dnl library.
+
+ AC_CACHE_CHECK([for $am_display_PYTHON version], [am_cv_python_version],
+ [am_cv_python_version=`$PYTHON -c "import sys; sys.stdout.write(sys.version[[:3]])"`])
+ AC_SUBST([PYTHON_VERSION], [$am_cv_python_version])
+
+ dnl Use the values of $prefix and $exec_prefix for the corresponding
+ dnl values of PYTHON_PREFIX and PYTHON_EXEC_PREFIX. These are made
+ dnl distinct variables so they can be overridden if need be. However,
+ dnl general consensus is that you shouldn't need this ability.
+
+ AC_SUBST([PYTHON_PREFIX], ['${prefix}'])
+ AC_SUBST([PYTHON_EXEC_PREFIX], ['${exec_prefix}'])
+
+ dnl At times (like when building shared libraries) you may want
+ dnl to know which OS platform Python thinks this is.
+
+ AC_CACHE_CHECK([for $am_display_PYTHON platform], [am_cv_python_platform],
+ [am_cv_python_platform=`$PYTHON -c "import sys; sys.stdout.write(sys.platform)"`])
+ AC_SUBST([PYTHON_PLATFORM], [$am_cv_python_platform])
+
+
+ dnl Set up 4 directories:
+
+ dnl pythondir -- where to install python scripts. This is the
+ dnl site-packages directory, not the python standard library
+ dnl directory like in previous automake betas. This behavior
+ dnl is more consistent with lispdir.m4 for example.
+ dnl Query distutils for this directory. distutils does not exist in
+ dnl Python 1.5, so we fall back to the hardcoded directory if it
+ dnl doesn't work.
+ AC_CACHE_CHECK([for $am_display_PYTHON script directory],
+ [am_cv_python_pythondir],
+ [if test "x$prefix" = xNONE
+ then
+ am_py_prefix=$ac_default_prefix
+ else
+ am_py_prefix=$prefix
+ fi
+ am_cv_python_pythondir=`$PYTHON -c "import sys; from distutils import sysconfig; sys.stdout.write(sysconfig.get_python_lib(0,0,prefix='$am_py_prefix'))" 2>/dev/null ||
+ echo "$PYTHON_PREFIX/lib/python$PYTHON_VERSION/site-packages"`
+ case $am_cv_python_pythondir in
+ $am_py_prefix*)
+ am__strip_prefix=`echo "$am_py_prefix" | sed 's|.|.|g'`
+ am_cv_python_pythondir=`echo "$am_cv_python_pythondir" | sed "s,^$am__strip_prefix,$PYTHON_PREFIX,"`
+ ;;
+ *)
+ case $am_py_prefix in
+ /usr|/System*) ;;
+ *)
+ am_cv_python_pythondir=$PYTHON_PREFIX/lib/python$PYTHON_VERSION/site-packages
+ ;;
+ esac
+ ;;
+ esac
+ ])
+ AC_SUBST([pythondir], [$am_cv_python_pythondir])
+
+ dnl pkgpythondir -- $PACKAGE directory under pythondir. Was
+ dnl PYTHON_SITE_PACKAGE in previous betas, but this naming is
+ dnl more consistent with the rest of automake.
+
+ AC_SUBST([pkgpythondir], [\${pythondir}/$PACKAGE])
+
+ dnl pyexecdir -- directory for installing python extension modules
+ dnl (shared libraries)
+ dnl Query distutils for this directory. distutils does not exist in
+ dnl Python 1.5, so we fall back to the hardcoded directory if it
+ dnl doesn't work.
+ AC_CACHE_CHECK([for $am_display_PYTHON extension module directory],
+ [am_cv_python_pyexecdir],
+ [if test "x$exec_prefix" = xNONE
+ then
+ am_py_exec_prefix=$am_py_prefix
+ else
+ am_py_exec_prefix=$exec_prefix
+ fi
+ am_cv_python_pyexecdir=`$PYTHON -c "import sys; from distutils import sysconfig; sys.stdout.write(sysconfig.get_python_lib(1,0,prefix='$am_py_exec_prefix'))" 2>/dev/null ||
+ echo "$PYTHON_EXEC_PREFIX/lib/python$PYTHON_VERSION/site-packages"`
+ case $am_cv_python_pyexecdir in
+ $am_py_exec_prefix*)
+ am__strip_prefix=`echo "$am_py_exec_prefix" | sed 's|.|.|g'`
+ am_cv_python_pyexecdir=`echo "$am_cv_python_pyexecdir" | sed "s,^$am__strip_prefix,$PYTHON_EXEC_PREFIX,"`
+ ;;
+ *)
+ case $am_py_exec_prefix in
+ /usr|/System*) ;;
+ *)
+ am_cv_python_pyexecdir=$PYTHON_EXEC_PREFIX/lib/python$PYTHON_VERSION/site-packages
+ ;;
+ esac
+ ;;
+ esac
+ ])
+ AC_SUBST([pyexecdir], [$am_cv_python_pyexecdir])
+
+ dnl pkgpyexecdir -- $(pyexecdir)/$(PACKAGE)
+
+ AC_SUBST([pkgpyexecdir], [\${pyexecdir}/$PACKAGE])
+
+ dnl Run any user-specified action.
+ $2
+ fi
+
+])
+
+
+# AM_PYTHON_CHECK_VERSION(PROG, VERSION, [ACTION-IF-TRUE], [ACTION-IF-FALSE])
+# ---------------------------------------------------------------------------
+# Run ACTION-IF-TRUE if the Python interpreter PROG has version >= VERSION.
+# Run ACTION-IF-FALSE otherwise.
+# This test uses sys.hexversion instead of the string equivalent (first
+# word of sys.version), in order to cope with versions such as 2.2c1.
+# This supports Python 2.0 or higher. (2.0 was released on October 16, 2000).
+AC_DEFUN([AM_PYTHON_CHECK_VERSION],
+ [prog="import sys
+# split strings by '.' and convert to numeric. Append some zeros
+# because we need at least 4 digits for the hex conversion.
+# map returns an iterator in Python 3.0 and a list in 2.x
+minver = list(map(int, '$2'.split('.'))) + [[0, 0, 0]]
+minverhex = 0
+# xrange is not present in Python 3.0 and range returns an iterator
+for i in list(range(0, 4)): minverhex = (minverhex << 8) + minver[[i]]
+sys.exit(sys.hexversion < minverhex)"
+ AS_IF([AM_RUN_LOG([$1 -c "$prog"])], [$3], [$4])])
+
+# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# AM_RUN_LOG(COMMAND)
+# -------------------
+# Run COMMAND, save the exit status in ac_status, and log it.
+# (This has been adapted from Autoconf's _AC_RUN_LOG macro.)
+AC_DEFUN([AM_RUN_LOG],
+[{ echo "$as_me:$LINENO: $1" >&AS_MESSAGE_LOG_FD
+ ($1) >&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
+ (exit $ac_status); }])
+
+# 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) 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 1
+
+# AM_SILENT_RULES([DEFAULT])
+# --------------------------
+# Enable less verbose build rules; with the default set to DEFAULT
+# (`yes' being less verbose, `no' or empty being verbose).
+AC_DEFUN([AM_SILENT_RULES],
+[AC_ARG_ENABLE([silent-rules],
+[ --enable-silent-rules less verbose build output (undo: `make V=1')
+ --disable-silent-rules verbose build output (undo: `make V=0')])
+case $enable_silent_rules in
+yes) AM_DEFAULT_VERBOSITY=0;;
+no) AM_DEFAULT_VERBOSITY=1;;
+*) AM_DEFAULT_VERBOSITY=m4_if([$1], [yes], [0], [1]);;
+esac
+AC_SUBST([AM_DEFAULT_VERBOSITY])dnl
+AM_BACKSLASH='\'
+AC_SUBST([AM_BACKSLASH])dnl
+_AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl
+])
+
+# 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
+
+m4_include([m4/gnome-doc-utils.m4])
+m4_include([m4/libtool.m4])
+m4_include([m4/ltoptions.m4])
+m4_include([m4/ltsugar.m4])
+m4_include([m4/ltversion.m4])
+m4_include([m4/lt~obsolete.m4])
+m4_include([acinclude.m4])
--- /dev/null
+#! /bin/sh
+# Attempt to guess a canonical system name.
+# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
+# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009
+# Free Software Foundation, Inc.
+
+timestamp='2009-06-10'
+
+# This file is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
+# 02110-1301, USA.
+#
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+
+# Originally written by Per Bothner <per@bothner.com>.
+# Please send patches to <config-patches@gnu.org>. Submit a context
+# diff and a properly formatted ChangeLog entry.
+#
+# This script attempts to guess a canonical system name similar to
+# config.sub. If it succeeds, it prints the system name on stdout, and
+# exits with 0. Otherwise, it exits with 1.
+#
+# The plan is that this can be called by configure scripts if you
+# don't specify an explicit build system type.
+
+me=`echo "$0" | sed -e 's,.*/,,'`
+
+usage="\
+Usage: $0 [OPTION]
+
+Output the configuration name of the system \`$me' is run on.
+
+Operation modes:
+ -h, --help print this help, then exit
+ -t, --time-stamp print date of last modification, then exit
+ -v, --version print version number, then exit
+
+Report bugs and patches to <config-patches@gnu.org>."
+
+version="\
+GNU config.guess ($timestamp)
+
+Originally written by Per Bothner.
+Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
+2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+
+This is free software; see the source for copying conditions. There is NO
+warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
+
+help="
+Try \`$me --help' for more information."
+
+# Parse command line
+while test $# -gt 0 ; do
+ case $1 in
+ --time-stamp | --time* | -t )
+ echo "$timestamp" ; exit ;;
+ --version | -v )
+ echo "$version" ; exit ;;
+ --help | --h* | -h )
+ echo "$usage"; exit ;;
+ -- ) # Stop option processing
+ shift; break ;;
+ - ) # Use stdin as input.
+ break ;;
+ -* )
+ echo "$me: invalid option $1$help" >&2
+ exit 1 ;;
+ * )
+ break ;;
+ esac
+done
+
+if test $# != 0; then
+ echo "$me: too many arguments$help" >&2
+ exit 1
+fi
+
+trap 'exit 1' 1 2 15
+
+# CC_FOR_BUILD -- compiler used by this script. Note that the use of a
+# compiler to aid in system detection is discouraged as it requires
+# temporary files to be created and, as you can see below, it is a
+# headache to deal with in a portable fashion.
+
+# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still
+# use `HOST_CC' if defined, but it is deprecated.
+
+# Portable tmp directory creation inspired by the Autoconf team.
+
+set_cc_for_build='
+trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ;
+trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ;
+: ${TMPDIR=/tmp} ;
+ { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
+ { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } ||
+ { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } ||
+ { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ;
+dummy=$tmp/dummy ;
+tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ;
+case $CC_FOR_BUILD,$HOST_CC,$CC in
+ ,,) echo "int x;" > $dummy.c ;
+ for c in cc gcc c89 c99 ; do
+ if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then
+ CC_FOR_BUILD="$c"; break ;
+ fi ;
+ done ;
+ if test x"$CC_FOR_BUILD" = x ; then
+ CC_FOR_BUILD=no_compiler_found ;
+ fi
+ ;;
+ ,,*) CC_FOR_BUILD=$CC ;;
+ ,*,*) CC_FOR_BUILD=$HOST_CC ;;
+esac ; set_cc_for_build= ;'
+
+# This is needed to find uname on a Pyramid OSx when run in the BSD universe.
+# (ghazi@noc.rutgers.edu 1994-08-24)
+if (test -f /.attbin/uname) >/dev/null 2>&1 ; then
+ PATH=$PATH:/.attbin ; export PATH
+fi
+
+UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
+UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
+UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown
+UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
+
+# Note: order is significant - the case branches are not exclusive.
+
+case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
+ *:NetBSD:*:*)
+ # NetBSD (nbsd) targets should (where applicable) match one or
+ # more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*,
+ # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently
+ # switched to ELF, *-*-netbsd* would select the old
+ # object file format. This provides both forward
+ # compatibility and a consistent mechanism for selecting the
+ # object file format.
+ #
+ # Note: NetBSD doesn't particularly care about the vendor
+ # portion of the name. We always set it to "unknown".
+ sysctl="sysctl -n hw.machine_arch"
+ UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \
+ /usr/sbin/$sysctl 2>/dev/null || echo unknown)`
+ case "${UNAME_MACHINE_ARCH}" in
+ armeb) machine=armeb-unknown ;;
+ arm*) machine=arm-unknown ;;
+ sh3el) machine=shl-unknown ;;
+ sh3eb) machine=sh-unknown ;;
+ sh5el) machine=sh5le-unknown ;;
+ *) machine=${UNAME_MACHINE_ARCH}-unknown ;;
+ esac
+ # The Operating System including object format, if it has switched
+ # to ELF recently, or will in the future.
+ case "${UNAME_MACHINE_ARCH}" in
+ arm*|i386|m68k|ns32k|sh3*|sparc|vax)
+ eval $set_cc_for_build
+ if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
+ | grep -q __ELF__
+ then
+ # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
+ # Return netbsd for either. FIX?
+ os=netbsd
+ else
+ os=netbsdelf
+ fi
+ ;;
+ *)
+ os=netbsd
+ ;;
+ esac
+ # The OS release
+ # Debian GNU/NetBSD machines have a different userland, and
+ # thus, need a distinct triplet. However, they do not need
+ # kernel version information, so it can be replaced with a
+ # suitable tag, in the style of linux-gnu.
+ case "${UNAME_VERSION}" in
+ Debian*)
+ release='-gnu'
+ ;;
+ *)
+ release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
+ ;;
+ esac
+ # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
+ # contains redundant information, the shorter form:
+ # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
+ echo "${machine}-${os}${release}"
+ exit ;;
+ *:OpenBSD:*:*)
+ UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'`
+ echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE}
+ exit ;;
+ *:ekkoBSD:*:*)
+ echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE}
+ exit ;;
+ *:SolidBSD:*:*)
+ echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE}
+ exit ;;
+ macppc:MirBSD:*:*)
+ echo powerpc-unknown-mirbsd${UNAME_RELEASE}
+ exit ;;
+ *:MirBSD:*:*)
+ echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE}
+ exit ;;
+ alpha:OSF1:*:*)
+ case $UNAME_RELEASE in
+ *4.0)
+ UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
+ ;;
+ *5.*)
+ UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'`
+ ;;
+ esac
+ # According to Compaq, /usr/sbin/psrinfo has been available on
+ # OSF/1 and Tru64 systems produced since 1995. I hope that
+ # covers most systems running today. This code pipes the CPU
+ # types through head -n 1, so we only detect the type of CPU 0.
+ ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1`
+ case "$ALPHA_CPU_TYPE" in
+ "EV4 (21064)")
+ UNAME_MACHINE="alpha" ;;
+ "EV4.5 (21064)")
+ UNAME_MACHINE="alpha" ;;
+ "LCA4 (21066/21068)")
+ UNAME_MACHINE="alpha" ;;
+ "EV5 (21164)")
+ UNAME_MACHINE="alphaev5" ;;
+ "EV5.6 (21164A)")
+ UNAME_MACHINE="alphaev56" ;;
+ "EV5.6 (21164PC)")
+ UNAME_MACHINE="alphapca56" ;;
+ "EV5.7 (21164PC)")
+ UNAME_MACHINE="alphapca57" ;;
+ "EV6 (21264)")
+ UNAME_MACHINE="alphaev6" ;;
+ "EV6.7 (21264A)")
+ UNAME_MACHINE="alphaev67" ;;
+ "EV6.8CB (21264C)")
+ UNAME_MACHINE="alphaev68" ;;
+ "EV6.8AL (21264B)")
+ UNAME_MACHINE="alphaev68" ;;
+ "EV6.8CX (21264D)")
+ UNAME_MACHINE="alphaev68" ;;
+ "EV6.9A (21264/EV69A)")
+ UNAME_MACHINE="alphaev69" ;;
+ "EV7 (21364)")
+ UNAME_MACHINE="alphaev7" ;;
+ "EV7.9 (21364A)")
+ UNAME_MACHINE="alphaev79" ;;
+ esac
+ # A Pn.n version is a patched version.
+ # A Vn.n version is a released version.
+ # A Tn.n version is a released field test version.
+ # A Xn.n version is an unreleased experimental baselevel.
+ # 1.2 uses "1.2" for uname -r.
+ echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
+ exit ;;
+ Alpha\ *:Windows_NT*:*)
+ # How do we know it's Interix rather than the generic POSIX subsystem?
+ # Should we change UNAME_MACHINE based on the output of uname instead
+ # of the specific Alpha model?
+ echo alpha-pc-interix
+ exit ;;
+ 21064:Windows_NT:50:3)
+ echo alpha-dec-winnt3.5
+ exit ;;
+ Amiga*:UNIX_System_V:4.0:*)
+ echo m68k-unknown-sysv4
+ exit ;;
+ *:[Aa]miga[Oo][Ss]:*:*)
+ echo ${UNAME_MACHINE}-unknown-amigaos
+ exit ;;
+ *:[Mm]orph[Oo][Ss]:*:*)
+ echo ${UNAME_MACHINE}-unknown-morphos
+ exit ;;
+ *:OS/390:*:*)
+ echo i370-ibm-openedition
+ exit ;;
+ *:z/VM:*:*)
+ echo s390-ibm-zvmoe
+ exit ;;
+ *:OS400:*:*)
+ echo powerpc-ibm-os400
+ exit ;;
+ arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
+ echo arm-acorn-riscix${UNAME_RELEASE}
+ exit ;;
+ arm:riscos:*:*|arm:RISCOS:*:*)
+ echo arm-unknown-riscos
+ exit ;;
+ SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
+ echo hppa1.1-hitachi-hiuxmpp
+ exit ;;
+ Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)
+ # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
+ if test "`(/bin/universe) 2>/dev/null`" = att ; then
+ echo pyramid-pyramid-sysv3
+ else
+ echo pyramid-pyramid-bsd
+ fi
+ exit ;;
+ NILE*:*:*:dcosx)
+ echo pyramid-pyramid-svr4
+ exit ;;
+ DRS?6000:unix:4.0:6*)
+ echo sparc-icl-nx6
+ exit ;;
+ DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*)
+ case `/usr/bin/uname -p` in
+ sparc) echo sparc-icl-nx7; exit ;;
+ esac ;;
+ s390x:SunOS:*:*)
+ echo ${UNAME_MACHINE}-ibm-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+ exit ;;
+ sun4H:SunOS:5.*:*)
+ echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+ exit ;;
+ sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
+ echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+ exit ;;
+ i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*)
+ eval $set_cc_for_build
+ SUN_ARCH="i386"
+ # If there is a compiler, see if it is configured for 64-bit objects.
+ # Note that the Sun cc does not turn __LP64__ into 1 like gcc does.
+ # This test works for both compilers.
+ if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
+ if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \
+ (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
+ grep IS_64BIT_ARCH >/dev/null
+ then
+ SUN_ARCH="x86_64"
+ fi
+ fi
+ echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+ exit ;;
+ sun4*:SunOS:6*:*)
+ # According to config.sub, this is the proper way to canonicalize
+ # SunOS6. Hard to guess exactly what SunOS6 will be like, but
+ # it's likely to be more like Solaris than SunOS4.
+ echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+ exit ;;
+ sun4*:SunOS:*:*)
+ case "`/usr/bin/arch -k`" in
+ Series*|S4*)
+ UNAME_RELEASE=`uname -v`
+ ;;
+ esac
+ # Japanese Language versions have a version number like `4.1.3-JL'.
+ echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`
+ exit ;;
+ sun3*:SunOS:*:*)
+ echo m68k-sun-sunos${UNAME_RELEASE}
+ exit ;;
+ sun*:*:4.2BSD:*)
+ UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
+ test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3
+ case "`/bin/arch`" in
+ sun3)
+ echo m68k-sun-sunos${UNAME_RELEASE}
+ ;;
+ sun4)
+ echo sparc-sun-sunos${UNAME_RELEASE}
+ ;;
+ esac
+ exit ;;
+ aushp:SunOS:*:*)
+ echo sparc-auspex-sunos${UNAME_RELEASE}
+ exit ;;
+ # The situation for MiNT is a little confusing. The machine name
+ # can be virtually everything (everything which is not
+ # "atarist" or "atariste" at least should have a processor
+ # > m68000). The system name ranges from "MiNT" over "FreeMiNT"
+ # to the lowercase version "mint" (or "freemint"). Finally
+ # the system name "TOS" denotes a system which is actually not
+ # MiNT. But MiNT is downward compatible to TOS, so this should
+ # be no problem.
+ atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
+ echo m68k-atari-mint${UNAME_RELEASE}
+ exit ;;
+ atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
+ echo m68k-atari-mint${UNAME_RELEASE}
+ exit ;;
+ *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
+ echo m68k-atari-mint${UNAME_RELEASE}
+ exit ;;
+ milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
+ echo m68k-milan-mint${UNAME_RELEASE}
+ exit ;;
+ hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
+ echo m68k-hades-mint${UNAME_RELEASE}
+ exit ;;
+ *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
+ echo m68k-unknown-mint${UNAME_RELEASE}
+ exit ;;
+ m68k:machten:*:*)
+ echo m68k-apple-machten${UNAME_RELEASE}
+ exit ;;
+ powerpc:machten:*:*)
+ echo powerpc-apple-machten${UNAME_RELEASE}
+ exit ;;
+ RISC*:Mach:*:*)
+ echo mips-dec-mach_bsd4.3
+ exit ;;
+ RISC*:ULTRIX:*:*)
+ echo mips-dec-ultrix${UNAME_RELEASE}
+ exit ;;
+ VAX*:ULTRIX*:*:*)
+ echo vax-dec-ultrix${UNAME_RELEASE}
+ exit ;;
+ 2020:CLIX:*:* | 2430:CLIX:*:*)
+ echo clipper-intergraph-clix${UNAME_RELEASE}
+ exit ;;
+ mips:*:*:UMIPS | mips:*:*:RISCos)
+ eval $set_cc_for_build
+ sed 's/^ //' << EOF >$dummy.c
+#ifdef __cplusplus
+#include <stdio.h> /* for printf() prototype */
+ int main (int argc, char *argv[]) {
+#else
+ int main (argc, argv) int argc; char *argv[]; {
+#endif
+ #if defined (host_mips) && defined (MIPSEB)
+ #if defined (SYSTYPE_SYSV)
+ printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0);
+ #endif
+ #if defined (SYSTYPE_SVR4)
+ printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0);
+ #endif
+ #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
+ printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0);
+ #endif
+ #endif
+ exit (-1);
+ }
+EOF
+ $CC_FOR_BUILD -o $dummy $dummy.c &&
+ dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` &&
+ SYSTEM_NAME=`$dummy $dummyarg` &&
+ { echo "$SYSTEM_NAME"; exit; }
+ echo mips-mips-riscos${UNAME_RELEASE}
+ exit ;;
+ Motorola:PowerMAX_OS:*:*)
+ echo powerpc-motorola-powermax
+ exit ;;
+ Motorola:*:4.3:PL8-*)
+ echo powerpc-harris-powermax
+ exit ;;
+ Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*)
+ echo powerpc-harris-powermax
+ exit ;;
+ Night_Hawk:Power_UNIX:*:*)
+ echo powerpc-harris-powerunix
+ exit ;;
+ m88k:CX/UX:7*:*)
+ echo m88k-harris-cxux7
+ exit ;;
+ m88k:*:4*:R4*)
+ echo m88k-motorola-sysv4
+ exit ;;
+ m88k:*:3*:R3*)
+ echo m88k-motorola-sysv3
+ exit ;;
+ AViiON:dgux:*:*)
+ # DG/UX returns AViiON for all architectures
+ UNAME_PROCESSOR=`/usr/bin/uname -p`
+ if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ]
+ then
+ if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \
+ [ ${TARGET_BINARY_INTERFACE}x = x ]
+ then
+ echo m88k-dg-dgux${UNAME_RELEASE}
+ else
+ echo m88k-dg-dguxbcs${UNAME_RELEASE}
+ fi
+ else
+ echo i586-dg-dgux${UNAME_RELEASE}
+ fi
+ exit ;;
+ M88*:DolphinOS:*:*) # DolphinOS (SVR3)
+ echo m88k-dolphin-sysv3
+ exit ;;
+ M88*:*:R3*:*)
+ # Delta 88k system running SVR3
+ echo m88k-motorola-sysv3
+ exit ;;
+ XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
+ echo m88k-tektronix-sysv3
+ exit ;;
+ Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
+ echo m68k-tektronix-bsd
+ exit ;;
+ *:IRIX*:*:*)
+ echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
+ exit ;;
+ ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
+ echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id
+ exit ;; # Note that: echo "'`uname -s`'" gives 'AIX '
+ i*86:AIX:*:*)
+ echo i386-ibm-aix
+ exit ;;
+ ia64:AIX:*:*)
+ if [ -x /usr/bin/oslevel ] ; then
+ IBM_REV=`/usr/bin/oslevel`
+ else
+ IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
+ fi
+ echo ${UNAME_MACHINE}-ibm-aix${IBM_REV}
+ exit ;;
+ *:AIX:2:3)
+ if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
+ eval $set_cc_for_build
+ sed 's/^ //' << EOF >$dummy.c
+ #include <sys/systemcfg.h>
+
+ main()
+ {
+ if (!__power_pc())
+ exit(1);
+ puts("powerpc-ibm-aix3.2.5");
+ exit(0);
+ }
+EOF
+ if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy`
+ then
+ echo "$SYSTEM_NAME"
+ else
+ echo rs6000-ibm-aix3.2.5
+ fi
+ elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
+ echo rs6000-ibm-aix3.2.4
+ else
+ echo rs6000-ibm-aix3.2
+ fi
+ exit ;;
+ *:AIX:*:[456])
+ IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
+ if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
+ IBM_ARCH=rs6000
+ else
+ IBM_ARCH=powerpc
+ fi
+ if [ -x /usr/bin/oslevel ] ; then
+ IBM_REV=`/usr/bin/oslevel`
+ else
+ IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
+ fi
+ echo ${IBM_ARCH}-ibm-aix${IBM_REV}
+ exit ;;
+ *:AIX:*:*)
+ echo rs6000-ibm-aix
+ exit ;;
+ ibmrt:4.4BSD:*|romp-ibm:BSD:*)
+ echo romp-ibm-bsd4.4
+ exit ;;
+ ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and
+ echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to
+ exit ;; # report: romp-ibm BSD 4.3
+ *:BOSX:*:*)
+ echo rs6000-bull-bosx
+ exit ;;
+ DPX/2?00:B.O.S.:*:*)
+ echo m68k-bull-sysv3
+ exit ;;
+ 9000/[34]??:4.3bsd:1.*:*)
+ echo m68k-hp-bsd
+ exit ;;
+ hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
+ echo m68k-hp-bsd4.4
+ exit ;;
+ 9000/[34678]??:HP-UX:*:*)
+ HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
+ case "${UNAME_MACHINE}" in
+ 9000/31? ) HP_ARCH=m68000 ;;
+ 9000/[34]?? ) HP_ARCH=m68k ;;
+ 9000/[678][0-9][0-9])
+ if [ -x /usr/bin/getconf ]; then
+ sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
+ sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
+ case "${sc_cpu_version}" in
+ 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
+ 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
+ 532) # CPU_PA_RISC2_0
+ case "${sc_kernel_bits}" in
+ 32) HP_ARCH="hppa2.0n" ;;
+ 64) HP_ARCH="hppa2.0w" ;;
+ '') HP_ARCH="hppa2.0" ;; # HP-UX 10.20
+ esac ;;
+ esac
+ fi
+ if [ "${HP_ARCH}" = "" ]; then
+ eval $set_cc_for_build
+ sed 's/^ //' << EOF >$dummy.c
+
+ #define _HPUX_SOURCE
+ #include <stdlib.h>
+ #include <unistd.h>
+
+ int main ()
+ {
+ #if defined(_SC_KERNEL_BITS)
+ long bits = sysconf(_SC_KERNEL_BITS);
+ #endif
+ long cpu = sysconf (_SC_CPU_VERSION);
+
+ switch (cpu)
+ {
+ case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
+ case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
+ case CPU_PA_RISC2_0:
+ #if defined(_SC_KERNEL_BITS)
+ switch (bits)
+ {
+ case 64: puts ("hppa2.0w"); break;
+ case 32: puts ("hppa2.0n"); break;
+ default: puts ("hppa2.0"); break;
+ } break;
+ #else /* !defined(_SC_KERNEL_BITS) */
+ puts ("hppa2.0"); break;
+ #endif
+ default: puts ("hppa1.0"); break;
+ }
+ exit (0);
+ }
+EOF
+ (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy`
+ test -z "$HP_ARCH" && HP_ARCH=hppa
+ fi ;;
+ esac
+ if [ ${HP_ARCH} = "hppa2.0w" ]
+ then
+ eval $set_cc_for_build
+
+ # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating
+ # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler
+ # generating 64-bit code. GNU and HP use different nomenclature:
+ #
+ # $ CC_FOR_BUILD=cc ./config.guess
+ # => hppa2.0w-hp-hpux11.23
+ # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess
+ # => hppa64-hp-hpux11.23
+
+ if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) |
+ grep -q __LP64__
+ then
+ HP_ARCH="hppa2.0w"
+ else
+ HP_ARCH="hppa64"
+ fi
+ fi
+ echo ${HP_ARCH}-hp-hpux${HPUX_REV}
+ exit ;;
+ ia64:HP-UX:*:*)
+ HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
+ echo ia64-hp-hpux${HPUX_REV}
+ exit ;;
+ 3050*:HI-UX:*:*)
+ eval $set_cc_for_build
+ sed 's/^ //' << EOF >$dummy.c
+ #include <unistd.h>
+ int
+ main ()
+ {
+ long cpu = sysconf (_SC_CPU_VERSION);
+ /* The order matters, because CPU_IS_HP_MC68K erroneously returns
+ true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct
+ results, however. */
+ if (CPU_IS_PA_RISC (cpu))
+ {
+ switch (cpu)
+ {
+ case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break;
+ case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break;
+ case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break;
+ default: puts ("hppa-hitachi-hiuxwe2"); break;
+ }
+ }
+ else if (CPU_IS_HP_MC68K (cpu))
+ puts ("m68k-hitachi-hiuxwe2");
+ else puts ("unknown-hitachi-hiuxwe2");
+ exit (0);
+ }
+EOF
+ $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` &&
+ { echo "$SYSTEM_NAME"; exit; }
+ echo unknown-hitachi-hiuxwe2
+ exit ;;
+ 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )
+ echo hppa1.1-hp-bsd
+ exit ;;
+ 9000/8??:4.3bsd:*:*)
+ echo hppa1.0-hp-bsd
+ exit ;;
+ *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*)
+ echo hppa1.0-hp-mpeix
+ exit ;;
+ hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* )
+ echo hppa1.1-hp-osf
+ exit ;;
+ hp8??:OSF1:*:*)
+ echo hppa1.0-hp-osf
+ exit ;;
+ i*86:OSF1:*:*)
+ if [ -x /usr/sbin/sysversion ] ; then
+ echo ${UNAME_MACHINE}-unknown-osf1mk
+ else
+ echo ${UNAME_MACHINE}-unknown-osf1
+ fi
+ exit ;;
+ parisc*:Lites*:*:*)
+ echo hppa1.1-hp-lites
+ exit ;;
+ C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
+ echo c1-convex-bsd
+ exit ;;
+ C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
+ if getsysinfo -f scalar_acc
+ then echo c32-convex-bsd
+ else echo c2-convex-bsd
+ fi
+ exit ;;
+ C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
+ echo c34-convex-bsd
+ exit ;;
+ C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
+ echo c38-convex-bsd
+ exit ;;
+ C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
+ echo c4-convex-bsd
+ exit ;;
+ CRAY*Y-MP:*:*:*)
+ echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+ exit ;;
+ CRAY*[A-Z]90:*:*:*)
+ echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \
+ | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
+ -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \
+ -e 's/\.[^.]*$/.X/'
+ exit ;;
+ CRAY*TS:*:*:*)
+ echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+ exit ;;
+ CRAY*T3E:*:*:*)
+ echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+ exit ;;
+ CRAY*SV1:*:*:*)
+ echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+ exit ;;
+ *:UNICOS/mp:*:*)
+ echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+ exit ;;
+ F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
+ FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
+ FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
+ FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
+ echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
+ exit ;;
+ 5000:UNIX_System_V:4.*:*)
+ FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
+ FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'`
+ echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
+ exit ;;
+ i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
+ echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
+ exit ;;
+ sparc*:BSD/OS:*:*)
+ echo sparc-unknown-bsdi${UNAME_RELEASE}
+ exit ;;
+ *:BSD/OS:*:*)
+ echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
+ exit ;;
+ *:FreeBSD:*:*)
+ case ${UNAME_MACHINE} in
+ pc98)
+ echo i386-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
+ amd64)
+ echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
+ *)
+ echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
+ esac
+ exit ;;
+ i*:CYGWIN*:*)
+ echo ${UNAME_MACHINE}-pc-cygwin
+ exit ;;
+ *:MINGW*:*)
+ echo ${UNAME_MACHINE}-pc-mingw32
+ exit ;;
+ i*:windows32*:*)
+ # uname -m includes "-pc" on this system.
+ echo ${UNAME_MACHINE}-mingw32
+ exit ;;
+ i*:PW*:*)
+ echo ${UNAME_MACHINE}-pc-pw32
+ exit ;;
+ *:Interix*:[3456]*)
+ case ${UNAME_MACHINE} in
+ x86)
+ echo i586-pc-interix${UNAME_RELEASE}
+ exit ;;
+ EM64T | authenticamd | genuineintel)
+ echo x86_64-unknown-interix${UNAME_RELEASE}
+ exit ;;
+ IA64)
+ echo ia64-unknown-interix${UNAME_RELEASE}
+ exit ;;
+ esac ;;
+ [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)
+ echo i${UNAME_MACHINE}-pc-mks
+ exit ;;
+ 8664:Windows_NT:*)
+ echo x86_64-pc-mks
+ exit ;;
+ i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
+ # How do we know it's Interix rather than the generic POSIX subsystem?
+ # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
+ # UNAME_MACHINE based on the output of uname instead of i386?
+ echo i586-pc-interix
+ exit ;;
+ i*:UWIN*:*)
+ echo ${UNAME_MACHINE}-pc-uwin
+ exit ;;
+ amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*)
+ echo x86_64-unknown-cygwin
+ exit ;;
+ p*:CYGWIN*:*)
+ echo powerpcle-unknown-cygwin
+ exit ;;
+ prep*:SunOS:5.*:*)
+ echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+ exit ;;
+ *:GNU:*:*)
+ # the GNU system
+ echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
+ exit ;;
+ *:GNU/*:*:*)
+ # other systems with GNU libc and userland
+ echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu
+ exit ;;
+ i*86:Minix:*:*)
+ echo ${UNAME_MACHINE}-pc-minix
+ exit ;;
+ arm*:Linux:*:*)
+ eval $set_cc_for_build
+ if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \
+ | grep -q __ARM_EABI__
+ then
+ echo ${UNAME_MACHINE}-unknown-linux-gnu
+ else
+ echo ${UNAME_MACHINE}-unknown-linux-gnueabi
+ fi
+ exit ;;
+ avr32*:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-gnu
+ exit ;;
+ cris:Linux:*:*)
+ echo cris-axis-linux-gnu
+ exit ;;
+ crisv32:Linux:*:*)
+ echo crisv32-axis-linux-gnu
+ exit ;;
+ frv:Linux:*:*)
+ echo frv-unknown-linux-gnu
+ exit ;;
+ ia64:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-gnu
+ exit ;;
+ m32r*:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-gnu
+ exit ;;
+ m68*:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-gnu
+ exit ;;
+ mips:Linux:*:* | mips64:Linux:*:*)
+ eval $set_cc_for_build
+ sed 's/^ //' << EOF >$dummy.c
+ #undef CPU
+ #undef ${UNAME_MACHINE}
+ #undef ${UNAME_MACHINE}el
+ #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
+ CPU=${UNAME_MACHINE}el
+ #else
+ #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
+ CPU=${UNAME_MACHINE}
+ #else
+ CPU=
+ #endif
+ #endif
+EOF
+ eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '
+ /^CPU/{
+ s: ::g
+ p
+ }'`"
+ test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
+ ;;
+ or32:Linux:*:*)
+ echo or32-unknown-linux-gnu
+ exit ;;
+ ppc:Linux:*:*)
+ echo powerpc-unknown-linux-gnu
+ exit ;;
+ ppc64:Linux:*:*)
+ echo powerpc64-unknown-linux-gnu
+ exit ;;
+ alpha:Linux:*:*)
+ case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
+ EV5) UNAME_MACHINE=alphaev5 ;;
+ EV56) UNAME_MACHINE=alphaev56 ;;
+ PCA56) UNAME_MACHINE=alphapca56 ;;
+ PCA57) UNAME_MACHINE=alphapca56 ;;
+ EV6) UNAME_MACHINE=alphaev6 ;;
+ EV67) UNAME_MACHINE=alphaev67 ;;
+ EV68*) UNAME_MACHINE=alphaev68 ;;
+ esac
+ objdump --private-headers /bin/sh | grep -q ld.so.1
+ if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
+ echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
+ exit ;;
+ padre:Linux:*:*)
+ echo sparc-unknown-linux-gnu
+ exit ;;
+ parisc:Linux:*:* | hppa:Linux:*:*)
+ # Look for CPU level
+ case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
+ PA7*) echo hppa1.1-unknown-linux-gnu ;;
+ PA8*) echo hppa2.0-unknown-linux-gnu ;;
+ *) echo hppa-unknown-linux-gnu ;;
+ esac
+ exit ;;
+ parisc64:Linux:*:* | hppa64:Linux:*:*)
+ echo hppa64-unknown-linux-gnu
+ exit ;;
+ s390:Linux:*:* | s390x:Linux:*:*)
+ echo ${UNAME_MACHINE}-ibm-linux
+ exit ;;
+ sh64*:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-gnu
+ exit ;;
+ sh*:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-gnu
+ exit ;;
+ sparc:Linux:*:* | sparc64:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-gnu
+ exit ;;
+ vax:Linux:*:*)
+ echo ${UNAME_MACHINE}-dec-linux-gnu
+ exit ;;
+ x86_64:Linux:*:*)
+ echo x86_64-unknown-linux-gnu
+ exit ;;
+ xtensa*:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-gnu
+ exit ;;
+ i*86:Linux:*:*)
+ # The BFD linker knows what the default object file format is, so
+ # first see if it will tell us. cd to the root directory to prevent
+ # problems with other programs or directories called `ld' in the path.
+ # Set LC_ALL=C to ensure ld outputs messages in English.
+ ld_supported_targets=`cd /; LC_ALL=C ld --help 2>&1 \
+ | sed -ne '/supported targets:/!d
+ s/[ ][ ]*/ /g
+ s/.*supported targets: *//
+ s/ .*//
+ p'`
+ case "$ld_supported_targets" in
+ elf32-i386)
+ TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu"
+ ;;
+ esac
+ # Determine whether the default compiler is a.out or elf
+ eval $set_cc_for_build
+ sed 's/^ //' << EOF >$dummy.c
+ #include <features.h>
+ #ifdef __ELF__
+ # ifdef __GLIBC__
+ # if __GLIBC__ >= 2
+ LIBC=gnu
+ # else
+ LIBC=gnulibc1
+ # endif
+ # else
+ LIBC=gnulibc1
+ # endif
+ #else
+ #if defined(__INTEL_COMPILER) || defined(__PGI) || defined(__SUNPRO_C) || defined(__SUNPRO_CC)
+ LIBC=gnu
+ #else
+ LIBC=gnuaout
+ #endif
+ #endif
+ #ifdef __dietlibc__
+ LIBC=dietlibc
+ #endif
+EOF
+ eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '
+ /^LIBC/{
+ s: ::g
+ p
+ }'`"
+ test x"${LIBC}" != x && {
+ echo "${UNAME_MACHINE}-pc-linux-${LIBC}"
+ exit
+ }
+ test x"${TENTATIVE}" != x && { echo "${TENTATIVE}"; exit; }
+ ;;
+ i*86:DYNIX/ptx:4*:*)
+ # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
+ # earlier versions are messed up and put the nodename in both
+ # sysname and nodename.
+ echo i386-sequent-sysv4
+ exit ;;
+ i*86:UNIX_SV:4.2MP:2.*)
+ # Unixware is an offshoot of SVR4, but it has its own version
+ # number series starting with 2...
+ # I am not positive that other SVR4 systems won't match this,
+ # I just have to hope. -- rms.
+ # Use sysv4.2uw... so that sysv4* matches it.
+ echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
+ exit ;;
+ i*86:OS/2:*:*)
+ # If we were able to find `uname', then EMX Unix compatibility
+ # is probably installed.
+ echo ${UNAME_MACHINE}-pc-os2-emx
+ exit ;;
+ i*86:XTS-300:*:STOP)
+ echo ${UNAME_MACHINE}-unknown-stop
+ exit ;;
+ i*86:atheos:*:*)
+ echo ${UNAME_MACHINE}-unknown-atheos
+ exit ;;
+ i*86:syllable:*:*)
+ echo ${UNAME_MACHINE}-pc-syllable
+ exit ;;
+ i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*)
+ echo i386-unknown-lynxos${UNAME_RELEASE}
+ exit ;;
+ i*86:*DOS:*:*)
+ echo ${UNAME_MACHINE}-pc-msdosdjgpp
+ exit ;;
+ i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*)
+ UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
+ if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
+ echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL}
+ else
+ echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}
+ fi
+ exit ;;
+ i*86:*:5:[678]*)
+ # UnixWare 7.x, OpenUNIX and OpenServer 6.
+ case `/bin/uname -X | grep "^Machine"` in
+ *486*) UNAME_MACHINE=i486 ;;
+ *Pentium) UNAME_MACHINE=i586 ;;
+ *Pent*|*Celeron) UNAME_MACHINE=i686 ;;
+ esac
+ echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
+ exit ;;
+ i*86:*:3.2:*)
+ if test -f /usr/options/cb.name; then
+ UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
+ echo ${UNAME_MACHINE}-pc-isc$UNAME_REL
+ elif /bin/uname -X 2>/dev/null >/dev/null ; then
+ UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')`
+ (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486
+ (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \
+ && UNAME_MACHINE=i586
+ (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \
+ && UNAME_MACHINE=i686
+ (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \
+ && UNAME_MACHINE=i686
+ echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
+ else
+ echo ${UNAME_MACHINE}-pc-sysv32
+ fi
+ exit ;;
+ pc:*:*:*)
+ # Left here for compatibility:
+ # uname -m prints for DJGPP always 'pc', but it prints nothing about
+ # the processor, so we play safe by assuming i586.
+ # Note: whatever this is, it MUST be the same as what config.sub
+ # prints for the "djgpp" host, or else GDB configury will decide that
+ # this is a cross-build.
+ echo i586-pc-msdosdjgpp
+ exit ;;
+ Intel:Mach:3*:*)
+ echo i386-pc-mach3
+ exit ;;
+ paragon:*:*:*)
+ echo i860-intel-osf1
+ exit ;;
+ i860:*:4.*:*) # i860-SVR4
+ if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
+ echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
+ else # Add other i860-SVR4 vendors below as they are discovered.
+ echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4
+ fi
+ exit ;;
+ mini*:CTIX:SYS*5:*)
+ # "miniframe"
+ echo m68010-convergent-sysv
+ exit ;;
+ mc68k:UNIX:SYSTEM5:3.51m)
+ echo m68k-convergent-sysv
+ exit ;;
+ M680?0:D-NIX:5.3:*)
+ echo m68k-diab-dnix
+ exit ;;
+ M68*:*:R3V[5678]*:*)
+ test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;;
+ 3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0)
+ OS_REL=''
+ test -r /etc/.relid \
+ && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
+ /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
+ && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
+ /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
+ && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
+ 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
+ /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
+ && { echo i486-ncr-sysv4; exit; } ;;
+ NCR*:*:4.2:* | MPRAS*:*:4.2:*)
+ OS_REL='.3'
+ test -r /etc/.relid \
+ && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
+ /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
+ && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
+ /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
+ && { echo i586-ncr-sysv4.3${OS_REL}; exit; }
+ /bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \
+ && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
+ m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
+ echo m68k-unknown-lynxos${UNAME_RELEASE}
+ exit ;;
+ mc68030:UNIX_System_V:4.*:*)
+ echo m68k-atari-sysv4
+ exit ;;
+ TSUNAMI:LynxOS:2.*:*)
+ echo sparc-unknown-lynxos${UNAME_RELEASE}
+ exit ;;
+ rs6000:LynxOS:2.*:*)
+ echo rs6000-unknown-lynxos${UNAME_RELEASE}
+ exit ;;
+ PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*)
+ echo powerpc-unknown-lynxos${UNAME_RELEASE}
+ exit ;;
+ SM[BE]S:UNIX_SV:*:*)
+ echo mips-dde-sysv${UNAME_RELEASE}
+ exit ;;
+ RM*:ReliantUNIX-*:*:*)
+ echo mips-sni-sysv4
+ exit ;;
+ RM*:SINIX-*:*:*)
+ echo mips-sni-sysv4
+ exit ;;
+ *:SINIX-*:*:*)
+ if uname -p 2>/dev/null >/dev/null ; then
+ UNAME_MACHINE=`(uname -p) 2>/dev/null`
+ echo ${UNAME_MACHINE}-sni-sysv4
+ else
+ echo ns32k-sni-sysv
+ fi
+ exit ;;
+ PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
+ # says <Richard.M.Bartel@ccMail.Census.GOV>
+ echo i586-unisys-sysv4
+ exit ;;
+ *:UNIX_System_V:4*:FTX*)
+ # From Gerald Hewes <hewes@openmarket.com>.
+ # How about differentiating between stratus architectures? -djm
+ echo hppa1.1-stratus-sysv4
+ exit ;;
+ *:*:*:FTX*)
+ # From seanf@swdc.stratus.com.
+ echo i860-stratus-sysv4
+ exit ;;
+ i*86:VOS:*:*)
+ # From Paul.Green@stratus.com.
+ echo ${UNAME_MACHINE}-stratus-vos
+ exit ;;
+ *:VOS:*:*)
+ # From Paul.Green@stratus.com.
+ echo hppa1.1-stratus-vos
+ exit ;;
+ mc68*:A/UX:*:*)
+ echo m68k-apple-aux${UNAME_RELEASE}
+ exit ;;
+ news*:NEWS-OS:6*:*)
+ echo mips-sony-newsos6
+ exit ;;
+ R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
+ if [ -d /usr/nec ]; then
+ echo mips-nec-sysv${UNAME_RELEASE}
+ else
+ echo mips-unknown-sysv${UNAME_RELEASE}
+ fi
+ exit ;;
+ BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only.
+ echo powerpc-be-beos
+ exit ;;
+ BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only.
+ echo powerpc-apple-beos
+ exit ;;
+ BePC:BeOS:*:*) # BeOS running on Intel PC compatible.
+ echo i586-pc-beos
+ exit ;;
+ BePC:Haiku:*:*) # Haiku running on Intel PC compatible.
+ echo i586-pc-haiku
+ exit ;;
+ SX-4:SUPER-UX:*:*)
+ echo sx4-nec-superux${UNAME_RELEASE}
+ exit ;;
+ SX-5:SUPER-UX:*:*)
+ echo sx5-nec-superux${UNAME_RELEASE}
+ exit ;;
+ SX-6:SUPER-UX:*:*)
+ echo sx6-nec-superux${UNAME_RELEASE}
+ exit ;;
+ SX-7:SUPER-UX:*:*)
+ echo sx7-nec-superux${UNAME_RELEASE}
+ exit ;;
+ SX-8:SUPER-UX:*:*)
+ echo sx8-nec-superux${UNAME_RELEASE}
+ exit ;;
+ SX-8R:SUPER-UX:*:*)
+ echo sx8r-nec-superux${UNAME_RELEASE}
+ exit ;;
+ Power*:Rhapsody:*:*)
+ echo powerpc-apple-rhapsody${UNAME_RELEASE}
+ exit ;;
+ *:Rhapsody:*:*)
+ echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
+ exit ;;
+ *:Darwin:*:*)
+ UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown
+ case $UNAME_PROCESSOR in
+ unknown) UNAME_PROCESSOR=powerpc ;;
+ esac
+ echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
+ exit ;;
+ *:procnto*:*:* | *:QNX:[0123456789]*:*)
+ UNAME_PROCESSOR=`uname -p`
+ if test "$UNAME_PROCESSOR" = "x86"; then
+ UNAME_PROCESSOR=i386
+ UNAME_MACHINE=pc
+ fi
+ echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE}
+ exit ;;
+ *:QNX:*:4*)
+ echo i386-pc-qnx
+ exit ;;
+ NSE-?:NONSTOP_KERNEL:*:*)
+ echo nse-tandem-nsk${UNAME_RELEASE}
+ exit ;;
+ NSR-?:NONSTOP_KERNEL:*:*)
+ echo nsr-tandem-nsk${UNAME_RELEASE}
+ exit ;;
+ *:NonStop-UX:*:*)
+ echo mips-compaq-nonstopux
+ exit ;;
+ BS2000:POSIX*:*:*)
+ echo bs2000-siemens-sysv
+ exit ;;
+ DS/*:UNIX_System_V:*:*)
+ echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE}
+ exit ;;
+ *:Plan9:*:*)
+ # "uname -m" is not consistent, so use $cputype instead. 386
+ # is converted to i386 for consistency with other x86
+ # operating systems.
+ if test "$cputype" = "386"; then
+ UNAME_MACHINE=i386
+ else
+ UNAME_MACHINE="$cputype"
+ fi
+ echo ${UNAME_MACHINE}-unknown-plan9
+ exit ;;
+ *:TOPS-10:*:*)
+ echo pdp10-unknown-tops10
+ exit ;;
+ *:TENEX:*:*)
+ echo pdp10-unknown-tenex
+ exit ;;
+ KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*)
+ echo pdp10-dec-tops20
+ exit ;;
+ XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*)
+ echo pdp10-xkl-tops20
+ exit ;;
+ *:TOPS-20:*:*)
+ echo pdp10-unknown-tops20
+ exit ;;
+ *:ITS:*:*)
+ echo pdp10-unknown-its
+ exit ;;
+ SEI:*:*:SEIUX)
+ echo mips-sei-seiux${UNAME_RELEASE}
+ exit ;;
+ *:DragonFly:*:*)
+ echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
+ exit ;;
+ *:*VMS:*:*)
+ UNAME_MACHINE=`(uname -p) 2>/dev/null`
+ case "${UNAME_MACHINE}" in
+ A*) echo alpha-dec-vms ; exit ;;
+ I*) echo ia64-dec-vms ; exit ;;
+ V*) echo vax-dec-vms ; exit ;;
+ esac ;;
+ *:XENIX:*:SysV)
+ echo i386-pc-xenix
+ exit ;;
+ i*86:skyos:*:*)
+ echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//'
+ exit ;;
+ i*86:rdos:*:*)
+ echo ${UNAME_MACHINE}-pc-rdos
+ exit ;;
+ i*86:AROS:*:*)
+ echo ${UNAME_MACHINE}-pc-aros
+ exit ;;
+esac
+
+#echo '(No uname command or uname output not recognized.)' 1>&2
+#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2
+
+eval $set_cc_for_build
+cat >$dummy.c <<EOF
+#ifdef _SEQUENT_
+# include <sys/types.h>
+# include <sys/utsname.h>
+#endif
+main ()
+{
+#if defined (sony)
+#if defined (MIPSEB)
+ /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed,
+ I don't know.... */
+ printf ("mips-sony-bsd\n"); exit (0);
+#else
+#include <sys/param.h>
+ printf ("m68k-sony-newsos%s\n",
+#ifdef NEWSOS4
+ "4"
+#else
+ ""
+#endif
+ ); exit (0);
+#endif
+#endif
+
+#if defined (__arm) && defined (__acorn) && defined (__unix)
+ printf ("arm-acorn-riscix\n"); exit (0);
+#endif
+
+#if defined (hp300) && !defined (hpux)
+ printf ("m68k-hp-bsd\n"); exit (0);
+#endif
+
+#if defined (NeXT)
+#if !defined (__ARCHITECTURE__)
+#define __ARCHITECTURE__ "m68k"
+#endif
+ int version;
+ version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
+ if (version < 4)
+ printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
+ else
+ printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version);
+ exit (0);
+#endif
+
+#if defined (MULTIMAX) || defined (n16)
+#if defined (UMAXV)
+ printf ("ns32k-encore-sysv\n"); exit (0);
+#else
+#if defined (CMU)
+ printf ("ns32k-encore-mach\n"); exit (0);
+#else
+ printf ("ns32k-encore-bsd\n"); exit (0);
+#endif
+#endif
+#endif
+
+#if defined (__386BSD__)
+ printf ("i386-pc-bsd\n"); exit (0);
+#endif
+
+#if defined (sequent)
+#if defined (i386)
+ printf ("i386-sequent-dynix\n"); exit (0);
+#endif
+#if defined (ns32000)
+ printf ("ns32k-sequent-dynix\n"); exit (0);
+#endif
+#endif
+
+#if defined (_SEQUENT_)
+ struct utsname un;
+
+ uname(&un);
+
+ if (strncmp(un.version, "V2", 2) == 0) {
+ printf ("i386-sequent-ptx2\n"); exit (0);
+ }
+ if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
+ printf ("i386-sequent-ptx1\n"); exit (0);
+ }
+ printf ("i386-sequent-ptx\n"); exit (0);
+
+#endif
+
+#if defined (vax)
+# if !defined (ultrix)
+# include <sys/param.h>
+# if defined (BSD)
+# if BSD == 43
+ printf ("vax-dec-bsd4.3\n"); exit (0);
+# else
+# if BSD == 199006
+ printf ("vax-dec-bsd4.3reno\n"); exit (0);
+# else
+ printf ("vax-dec-bsd\n"); exit (0);
+# endif
+# endif
+# else
+ printf ("vax-dec-bsd\n"); exit (0);
+# endif
+# else
+ printf ("vax-dec-ultrix\n"); exit (0);
+# endif
+#endif
+
+#if defined (alliant) && defined (i860)
+ printf ("i860-alliant-bsd\n"); exit (0);
+#endif
+
+ exit (1);
+}
+EOF
+
+$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` &&
+ { echo "$SYSTEM_NAME"; exit; }
+
+# Apollos put the system type in the environment.
+
+test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; }
+
+# Convex versions that predate uname can use getsysinfo(1)
+
+if [ -x /usr/convex/getsysinfo ]
+then
+ case `getsysinfo -f cpu_type` in
+ c1*)
+ echo c1-convex-bsd
+ exit ;;
+ c2*)
+ if getsysinfo -f scalar_acc
+ then echo c32-convex-bsd
+ else echo c2-convex-bsd
+ fi
+ exit ;;
+ c34*)
+ echo c34-convex-bsd
+ exit ;;
+ c38*)
+ echo c38-convex-bsd
+ exit ;;
+ c4*)
+ echo c4-convex-bsd
+ exit ;;
+ esac
+fi
+
+cat >&2 <<EOF
+$0: unable to guess system type
+
+This script, last modified $timestamp, has failed to recognize
+the operating system you are using. It is advised that you
+download the most up to date version of the config scripts from
+
+ http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
+and
+ http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
+
+If the version you run ($0) is already up to date, please
+send the following data and any information you think might be
+pertinent to <config-patches@gnu.org> in order to provide the needed
+information to handle your system.
+
+config.guess timestamp = $timestamp
+
+uname -m = `(uname -m) 2>/dev/null || echo unknown`
+uname -r = `(uname -r) 2>/dev/null || echo unknown`
+uname -s = `(uname -s) 2>/dev/null || echo unknown`
+uname -v = `(uname -v) 2>/dev/null || echo unknown`
+
+/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null`
+/bin/uname -X = `(/bin/uname -X) 2>/dev/null`
+
+hostinfo = `(hostinfo) 2>/dev/null`
+/bin/universe = `(/bin/universe) 2>/dev/null`
+/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null`
+/bin/arch = `(/bin/arch) 2>/dev/null`
+/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null`
+/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`
+
+UNAME_MACHINE = ${UNAME_MACHINE}
+UNAME_RELEASE = ${UNAME_RELEASE}
+UNAME_SYSTEM = ${UNAME_SYSTEM}
+UNAME_VERSION = ${UNAME_VERSION}
+EOF
+
+exit 1
+
+# Local variables:
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "timestamp='"
+# time-stamp-format: "%:y-%02m-%02d"
+# time-stamp-end: "'"
+# End:
--- /dev/null
+#! /bin/sh
+# Configuration validation subroutine script.
+# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
+# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009
+# Free Software Foundation, Inc.
+
+timestamp='2009-06-11'
+
+# This file is (in principle) common to ALL GNU software.
+# The presence of a machine in this file suggests that SOME GNU software
+# can handle that machine. It does not imply ALL GNU software can.
+#
+# This file is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
+# 02110-1301, USA.
+#
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+
+# Please send patches to <config-patches@gnu.org>. Submit a context
+# diff and a properly formatted ChangeLog entry.
+#
+# Configuration subroutine to validate and canonicalize a configuration type.
+# Supply the specified configuration type as an argument.
+# If it is invalid, we print an error message on stderr and exit with code 1.
+# Otherwise, we print the canonical config type on stdout and succeed.
+
+# This file is supposed to be the same for all GNU packages
+# and recognize all the CPU types, system types and aliases
+# that are meaningful with *any* GNU software.
+# Each package is responsible for reporting which valid configurations
+# it does not support. The user should be able to distinguish
+# a failure to support a valid configuration from a meaningless
+# configuration.
+
+# The goal of this file is to map all the various variations of a given
+# machine specification into a single specification in the form:
+# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
+# or in some cases, the newer four-part form:
+# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
+# It is wrong to echo any other type of specification.
+
+me=`echo "$0" | sed -e 's,.*/,,'`
+
+usage="\
+Usage: $0 [OPTION] CPU-MFR-OPSYS
+ $0 [OPTION] ALIAS
+
+Canonicalize a configuration name.
+
+Operation modes:
+ -h, --help print this help, then exit
+ -t, --time-stamp print date of last modification, then exit
+ -v, --version print version number, then exit
+
+Report bugs and patches to <config-patches@gnu.org>."
+
+version="\
+GNU config.sub ($timestamp)
+
+Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
+2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+
+This is free software; see the source for copying conditions. There is NO
+warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
+
+help="
+Try \`$me --help' for more information."
+
+# Parse command line
+while test $# -gt 0 ; do
+ case $1 in
+ --time-stamp | --time* | -t )
+ echo "$timestamp" ; exit ;;
+ --version | -v )
+ echo "$version" ; exit ;;
+ --help | --h* | -h )
+ echo "$usage"; exit ;;
+ -- ) # Stop option processing
+ shift; break ;;
+ - ) # Use stdin as input.
+ break ;;
+ -* )
+ echo "$me: invalid option $1$help"
+ exit 1 ;;
+
+ *local*)
+ # First pass through any local machine types.
+ echo $1
+ exit ;;
+
+ * )
+ break ;;
+ esac
+done
+
+case $# in
+ 0) echo "$me: missing argument$help" >&2
+ exit 1;;
+ 1) ;;
+ *) echo "$me: too many arguments$help" >&2
+ exit 1;;
+esac
+
+# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
+# Here we must recognize all the valid KERNEL-OS combinations.
+maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
+case $maybe_os in
+ nto-qnx* | linux-gnu* | linux-dietlibc | linux-newlib* | linux-uclibc* | \
+ uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | \
+ kopensolaris*-gnu* | \
+ storm-chaos* | os2-emx* | rtmk-nova*)
+ os=-$maybe_os
+ basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
+ ;;
+ *)
+ basic_machine=`echo $1 | sed 's/-[^-]*$//'`
+ if [ $basic_machine != $1 ]
+ then os=`echo $1 | sed 's/.*-/-/'`
+ else os=; fi
+ ;;
+esac
+
+### Let's recognize common machines as not being operating systems so
+### that things like config.sub decstation-3100 work. We also
+### recognize some manufacturers as not being operating systems, so we
+### can provide default operating systems below.
+case $os in
+ -sun*os*)
+ # Prevent following clause from handling this invalid input.
+ ;;
+ -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
+ -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
+ -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
+ -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
+ -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
+ -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
+ -apple | -axis | -knuth | -cray)
+ os=
+ basic_machine=$1
+ ;;
+ -bluegene*)
+ os=-cnk
+ ;;
+ -sim | -cisco | -oki | -wec | -winbond)
+ os=
+ basic_machine=$1
+ ;;
+ -scout)
+ ;;
+ -wrs)
+ os=-vxworks
+ basic_machine=$1
+ ;;
+ -chorusos*)
+ os=-chorusos
+ basic_machine=$1
+ ;;
+ -chorusrdb)
+ os=-chorusrdb
+ basic_machine=$1
+ ;;
+ -hiux*)
+ os=-hiuxwe2
+ ;;
+ -sco6)
+ os=-sco5v6
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+ ;;
+ -sco5)
+ os=-sco3.2v5
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+ ;;
+ -sco4)
+ os=-sco3.2v4
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+ ;;
+ -sco3.2.[4-9]*)
+ os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+ ;;
+ -sco3.2v[4-9]*)
+ # Don't forget version if it is 3.2v4 or newer.
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+ ;;
+ -sco5v6*)
+ # Don't forget version if it is 3.2v4 or newer.
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+ ;;
+ -sco*)
+ os=-sco3.2v2
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+ ;;
+ -udk*)
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+ ;;
+ -isc)
+ os=-isc2.2
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+ ;;
+ -clix*)
+ basic_machine=clipper-intergraph
+ ;;
+ -isc*)
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+ ;;
+ -lynx*)
+ os=-lynxos
+ ;;
+ -ptx*)
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
+ ;;
+ -windowsnt*)
+ os=`echo $os | sed -e 's/windowsnt/winnt/'`
+ ;;
+ -psos*)
+ os=-psos
+ ;;
+ -mint | -mint[0-9]*)
+ basic_machine=m68k-atari
+ os=-mint
+ ;;
+esac
+
+# Decode aliases for certain CPU-COMPANY combinations.
+case $basic_machine in
+ # Recognize the basic CPU types without company name.
+ # Some are omitted here because they have special meanings below.
+ 1750a | 580 \
+ | a29k \
+ | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
+ | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
+ | am33_2.0 \
+ | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \
+ | bfin \
+ | c4x | clipper \
+ | d10v | d30v | dlx | dsp16xx \
+ | fido | fr30 | frv \
+ | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
+ | i370 | i860 | i960 | ia64 \
+ | ip2k | iq2000 \
+ | lm32 \
+ | m32c | m32r | m32rle | m68000 | m68k | m88k \
+ | maxq | mb | microblaze | mcore | mep | metag \
+ | mips | mipsbe | mipseb | mipsel | mipsle \
+ | mips16 \
+ | mips64 | mips64el \
+ | mips64octeon | mips64octeonel \
+ | mips64orion | mips64orionel \
+ | mips64r5900 | mips64r5900el \
+ | mips64vr | mips64vrel \
+ | mips64vr4100 | mips64vr4100el \
+ | mips64vr4300 | mips64vr4300el \
+ | mips64vr5000 | mips64vr5000el \
+ | mips64vr5900 | mips64vr5900el \
+ | mipsisa32 | mipsisa32el \
+ | mipsisa32r2 | mipsisa32r2el \
+ | mipsisa64 | mipsisa64el \
+ | mipsisa64r2 | mipsisa64r2el \
+ | mipsisa64sb1 | mipsisa64sb1el \
+ | mipsisa64sr71k | mipsisa64sr71kel \
+ | mipstx39 | mipstx39el \
+ | mn10200 | mn10300 \
+ | moxie \
+ | mt \
+ | msp430 \
+ | nios | nios2 \
+ | ns16k | ns32k \
+ | or32 \
+ | pdp10 | pdp11 | pj | pjl \
+ | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \
+ | pyramid \
+ | score \
+ | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
+ | sh64 | sh64le \
+ | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
+ | sparcv8 | sparcv9 | sparcv9b | sparcv9v \
+ | spu | strongarm \
+ | tahoe | thumb | tic4x | tic80 | tron \
+ | v850 | v850e \
+ | we32k \
+ | x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \
+ | z8k | z80)
+ basic_machine=$basic_machine-unknown
+ ;;
+ m6811 | m68hc11 | m6812 | m68hc12)
+ # Motorola 68HC11/12.
+ basic_machine=$basic_machine-unknown
+ os=-none
+ ;;
+ m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
+ ;;
+ ms1)
+ basic_machine=mt-unknown
+ ;;
+
+ # We use `pc' rather than `unknown'
+ # because (1) that's what they normally are, and
+ # (2) the word "unknown" tends to confuse beginning users.
+ i*86 | x86_64)
+ basic_machine=$basic_machine-pc
+ ;;
+ # Object if more than one company name word.
+ *-*-*)
+ echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
+ exit 1
+ ;;
+ # Recognize the basic CPU types with company name.
+ 580-* \
+ | a29k-* \
+ | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
+ | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
+ | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
+ | arm-* | armbe-* | armle-* | armeb-* | armv*-* \
+ | avr-* | avr32-* \
+ | bfin-* | bs2000-* \
+ | c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \
+ | clipper-* | craynv-* | cydra-* \
+ | d10v-* | d30v-* | dlx-* \
+ | elxsi-* \
+ | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
+ | h8300-* | h8500-* \
+ | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
+ | i*86-* | i860-* | i960-* | ia64-* \
+ | ip2k-* | iq2000-* \
+ | lm32-* \
+ | m32c-* | m32r-* | m32rle-* \
+ | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
+ | m88110-* | m88k-* | maxq-* | mcore-* | metag-* \
+ | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
+ | mips16-* \
+ | mips64-* | mips64el-* \
+ | mips64octeon-* | mips64octeonel-* \
+ | mips64orion-* | mips64orionel-* \
+ | mips64r5900-* | mips64r5900el-* \
+ | mips64vr-* | mips64vrel-* \
+ | mips64vr4100-* | mips64vr4100el-* \
+ | mips64vr4300-* | mips64vr4300el-* \
+ | mips64vr5000-* | mips64vr5000el-* \
+ | mips64vr5900-* | mips64vr5900el-* \
+ | mipsisa32-* | mipsisa32el-* \
+ | mipsisa32r2-* | mipsisa32r2el-* \
+ | mipsisa64-* | mipsisa64el-* \
+ | mipsisa64r2-* | mipsisa64r2el-* \
+ | mipsisa64sb1-* | mipsisa64sb1el-* \
+ | mipsisa64sr71k-* | mipsisa64sr71kel-* \
+ | mipstx39-* | mipstx39el-* \
+ | mmix-* \
+ | mt-* \
+ | msp430-* \
+ | nios-* | nios2-* \
+ | none-* | np1-* | ns16k-* | ns32k-* \
+ | orion-* \
+ | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
+ | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \
+ | pyramid-* \
+ | romp-* | rs6000-* \
+ | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
+ | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
+ | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
+ | sparclite-* \
+ | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \
+ | tahoe-* | thumb-* \
+ | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* | tile-* \
+ | tron-* \
+ | v850-* | v850e-* | vax-* \
+ | we32k-* \
+ | x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \
+ | xstormy16-* | xtensa*-* \
+ | ymp-* \
+ | z8k-* | z80-*)
+ ;;
+ # Recognize the basic CPU types without company name, with glob match.
+ xtensa*)
+ basic_machine=$basic_machine-unknown
+ ;;
+ # Recognize the various machine names and aliases which stand
+ # for a CPU type and a company and sometimes even an OS.
+ 386bsd)
+ basic_machine=i386-unknown
+ os=-bsd
+ ;;
+ 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
+ basic_machine=m68000-att
+ ;;
+ 3b*)
+ basic_machine=we32k-att
+ ;;
+ a29khif)
+ basic_machine=a29k-amd
+ os=-udi
+ ;;
+ abacus)
+ basic_machine=abacus-unknown
+ ;;
+ adobe68k)
+ basic_machine=m68010-adobe
+ os=-scout
+ ;;
+ alliant | fx80)
+ basic_machine=fx80-alliant
+ ;;
+ altos | altos3068)
+ basic_machine=m68k-altos
+ ;;
+ am29k)
+ basic_machine=a29k-none
+ os=-bsd
+ ;;
+ amd64)
+ basic_machine=x86_64-pc
+ ;;
+ amd64-*)
+ basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
+ amdahl)
+ basic_machine=580-amdahl
+ os=-sysv
+ ;;
+ amiga | amiga-*)
+ basic_machine=m68k-unknown
+ ;;
+ amigaos | amigados)
+ basic_machine=m68k-unknown
+ os=-amigaos
+ ;;
+ amigaunix | amix)
+ basic_machine=m68k-unknown
+ os=-sysv4
+ ;;
+ apollo68)
+ basic_machine=m68k-apollo
+ os=-sysv
+ ;;
+ apollo68bsd)
+ basic_machine=m68k-apollo
+ os=-bsd
+ ;;
+ aros)
+ basic_machine=i386-pc
+ os=-aros
+ ;;
+ aux)
+ basic_machine=m68k-apple
+ os=-aux
+ ;;
+ balance)
+ basic_machine=ns32k-sequent
+ os=-dynix
+ ;;
+ blackfin)
+ basic_machine=bfin-unknown
+ os=-linux
+ ;;
+ blackfin-*)
+ basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'`
+ os=-linux
+ ;;
+ bluegene*)
+ basic_machine=powerpc-ibm
+ os=-cnk
+ ;;
+ c90)
+ basic_machine=c90-cray
+ os=-unicos
+ ;;
+ cegcc)
+ basic_machine=arm-unknown
+ os=-cegcc
+ ;;
+ convex-c1)
+ basic_machine=c1-convex
+ os=-bsd
+ ;;
+ convex-c2)
+ basic_machine=c2-convex
+ os=-bsd
+ ;;
+ convex-c32)
+ basic_machine=c32-convex
+ os=-bsd
+ ;;
+ convex-c34)
+ basic_machine=c34-convex
+ os=-bsd
+ ;;
+ convex-c38)
+ basic_machine=c38-convex
+ os=-bsd
+ ;;
+ cray | j90)
+ basic_machine=j90-cray
+ os=-unicos
+ ;;
+ craynv)
+ basic_machine=craynv-cray
+ os=-unicosmp
+ ;;
+ cr16)
+ basic_machine=cr16-unknown
+ os=-elf
+ ;;
+ crds | unos)
+ basic_machine=m68k-crds
+ ;;
+ crisv32 | crisv32-* | etraxfs*)
+ basic_machine=crisv32-axis
+ ;;
+ cris | cris-* | etrax*)
+ basic_machine=cris-axis
+ ;;
+ crx)
+ basic_machine=crx-unknown
+ os=-elf
+ ;;
+ da30 | da30-*)
+ basic_machine=m68k-da30
+ ;;
+ decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
+ basic_machine=mips-dec
+ ;;
+ decsystem10* | dec10*)
+ basic_machine=pdp10-dec
+ os=-tops10
+ ;;
+ decsystem20* | dec20*)
+ basic_machine=pdp10-dec
+ os=-tops20
+ ;;
+ delta | 3300 | motorola-3300 | motorola-delta \
+ | 3300-motorola | delta-motorola)
+ basic_machine=m68k-motorola
+ ;;
+ delta88)
+ basic_machine=m88k-motorola
+ os=-sysv3
+ ;;
+ dicos)
+ basic_machine=i686-pc
+ os=-dicos
+ ;;
+ djgpp)
+ basic_machine=i586-pc
+ os=-msdosdjgpp
+ ;;
+ dpx20 | dpx20-*)
+ basic_machine=rs6000-bull
+ os=-bosx
+ ;;
+ dpx2* | dpx2*-bull)
+ basic_machine=m68k-bull
+ os=-sysv3
+ ;;
+ ebmon29k)
+ basic_machine=a29k-amd
+ os=-ebmon
+ ;;
+ elxsi)
+ basic_machine=elxsi-elxsi
+ os=-bsd
+ ;;
+ encore | umax | mmax)
+ basic_machine=ns32k-encore
+ ;;
+ es1800 | OSE68k | ose68k | ose | OSE)
+ basic_machine=m68k-ericsson
+ os=-ose
+ ;;
+ fx2800)
+ basic_machine=i860-alliant
+ ;;
+ genix)
+ basic_machine=ns32k-ns
+ ;;
+ gmicro)
+ basic_machine=tron-gmicro
+ os=-sysv
+ ;;
+ go32)
+ basic_machine=i386-pc
+ os=-go32
+ ;;
+ h3050r* | hiux*)
+ basic_machine=hppa1.1-hitachi
+ os=-hiuxwe2
+ ;;
+ h8300hms)
+ basic_machine=h8300-hitachi
+ os=-hms
+ ;;
+ h8300xray)
+ basic_machine=h8300-hitachi
+ os=-xray
+ ;;
+ h8500hms)
+ basic_machine=h8500-hitachi
+ os=-hms
+ ;;
+ harris)
+ basic_machine=m88k-harris
+ os=-sysv3
+ ;;
+ hp300-*)
+ basic_machine=m68k-hp
+ ;;
+ hp300bsd)
+ basic_machine=m68k-hp
+ os=-bsd
+ ;;
+ hp300hpux)
+ basic_machine=m68k-hp
+ os=-hpux
+ ;;
+ hp3k9[0-9][0-9] | hp9[0-9][0-9])
+ basic_machine=hppa1.0-hp
+ ;;
+ hp9k2[0-9][0-9] | hp9k31[0-9])
+ basic_machine=m68000-hp
+ ;;
+ hp9k3[2-9][0-9])
+ basic_machine=m68k-hp
+ ;;
+ hp9k6[0-9][0-9] | hp6[0-9][0-9])
+ basic_machine=hppa1.0-hp
+ ;;
+ hp9k7[0-79][0-9] | hp7[0-79][0-9])
+ basic_machine=hppa1.1-hp
+ ;;
+ hp9k78[0-9] | hp78[0-9])
+ # FIXME: really hppa2.0-hp
+ basic_machine=hppa1.1-hp
+ ;;
+ hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
+ # FIXME: really hppa2.0-hp
+ basic_machine=hppa1.1-hp
+ ;;
+ hp9k8[0-9][13679] | hp8[0-9][13679])
+ basic_machine=hppa1.1-hp
+ ;;
+ hp9k8[0-9][0-9] | hp8[0-9][0-9])
+ basic_machine=hppa1.0-hp
+ ;;
+ hppa-next)
+ os=-nextstep3
+ ;;
+ hppaosf)
+ basic_machine=hppa1.1-hp
+ os=-osf
+ ;;
+ hppro)
+ basic_machine=hppa1.1-hp
+ os=-proelf
+ ;;
+ i370-ibm* | ibm*)
+ basic_machine=i370-ibm
+ ;;
+# I'm not sure what "Sysv32" means. Should this be sysv3.2?
+ i*86v32)
+ basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
+ os=-sysv32
+ ;;
+ i*86v4*)
+ basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
+ os=-sysv4
+ ;;
+ i*86v)
+ basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
+ os=-sysv
+ ;;
+ i*86sol2)
+ basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
+ os=-solaris2
+ ;;
+ i386mach)
+ basic_machine=i386-mach
+ os=-mach
+ ;;
+ i386-vsta | vsta)
+ basic_machine=i386-unknown
+ os=-vsta
+ ;;
+ iris | iris4d)
+ basic_machine=mips-sgi
+ case $os in
+ -irix*)
+ ;;
+ *)
+ os=-irix4
+ ;;
+ esac
+ ;;
+ isi68 | isi)
+ basic_machine=m68k-isi
+ os=-sysv
+ ;;
+ m68knommu)
+ basic_machine=m68k-unknown
+ os=-linux
+ ;;
+ m68knommu-*)
+ basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'`
+ os=-linux
+ ;;
+ m88k-omron*)
+ basic_machine=m88k-omron
+ ;;
+ magnum | m3230)
+ basic_machine=mips-mips
+ os=-sysv
+ ;;
+ merlin)
+ basic_machine=ns32k-utek
+ os=-sysv
+ ;;
+ mingw32)
+ basic_machine=i386-pc
+ os=-mingw32
+ ;;
+ mingw32ce)
+ basic_machine=arm-unknown
+ os=-mingw32ce
+ ;;
+ miniframe)
+ basic_machine=m68000-convergent
+ ;;
+ *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
+ basic_machine=m68k-atari
+ os=-mint
+ ;;
+ mips3*-*)
+ basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
+ ;;
+ mips3*)
+ basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
+ ;;
+ monitor)
+ basic_machine=m68k-rom68k
+ os=-coff
+ ;;
+ morphos)
+ basic_machine=powerpc-unknown
+ os=-morphos
+ ;;
+ msdos)
+ basic_machine=i386-pc
+ os=-msdos
+ ;;
+ ms1-*)
+ basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
+ ;;
+ mvs)
+ basic_machine=i370-ibm
+ os=-mvs
+ ;;
+ ncr3000)
+ basic_machine=i486-ncr
+ os=-sysv4
+ ;;
+ netbsd386)
+ basic_machine=i386-unknown
+ os=-netbsd
+ ;;
+ netwinder)
+ basic_machine=armv4l-rebel
+ os=-linux
+ ;;
+ news | news700 | news800 | news900)
+ basic_machine=m68k-sony
+ os=-newsos
+ ;;
+ news1000)
+ basic_machine=m68030-sony
+ os=-newsos
+ ;;
+ news-3600 | risc-news)
+ basic_machine=mips-sony
+ os=-newsos
+ ;;
+ necv70)
+ basic_machine=v70-nec
+ os=-sysv
+ ;;
+ next | m*-next )
+ basic_machine=m68k-next
+ case $os in
+ -nextstep* )
+ ;;
+ -ns2*)
+ os=-nextstep2
+ ;;
+ *)
+ os=-nextstep3
+ ;;
+ esac
+ ;;
+ nh3000)
+ basic_machine=m68k-harris
+ os=-cxux
+ ;;
+ nh[45]000)
+ basic_machine=m88k-harris
+ os=-cxux
+ ;;
+ nindy960)
+ basic_machine=i960-intel
+ os=-nindy
+ ;;
+ mon960)
+ basic_machine=i960-intel
+ os=-mon960
+ ;;
+ nonstopux)
+ basic_machine=mips-compaq
+ os=-nonstopux
+ ;;
+ np1)
+ basic_machine=np1-gould
+ ;;
+ nsr-tandem)
+ basic_machine=nsr-tandem
+ ;;
+ op50n-* | op60c-*)
+ basic_machine=hppa1.1-oki
+ os=-proelf
+ ;;
+ openrisc | openrisc-*)
+ basic_machine=or32-unknown
+ ;;
+ os400)
+ basic_machine=powerpc-ibm
+ os=-os400
+ ;;
+ OSE68000 | ose68000)
+ basic_machine=m68000-ericsson
+ os=-ose
+ ;;
+ os68k)
+ basic_machine=m68k-none
+ os=-os68k
+ ;;
+ pa-hitachi)
+ basic_machine=hppa1.1-hitachi
+ os=-hiuxwe2
+ ;;
+ paragon)
+ basic_machine=i860-intel
+ os=-osf
+ ;;
+ parisc)
+ basic_machine=hppa-unknown
+ os=-linux
+ ;;
+ parisc-*)
+ basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'`
+ os=-linux
+ ;;
+ pbd)
+ basic_machine=sparc-tti
+ ;;
+ pbb)
+ basic_machine=m68k-tti
+ ;;
+ pc532 | pc532-*)
+ basic_machine=ns32k-pc532
+ ;;
+ pc98)
+ basic_machine=i386-pc
+ ;;
+ pc98-*)
+ basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
+ pentium | p5 | k5 | k6 | nexgen | viac3)
+ basic_machine=i586-pc
+ ;;
+ pentiumpro | p6 | 6x86 | athlon | athlon_*)
+ basic_machine=i686-pc
+ ;;
+ pentiumii | pentium2 | pentiumiii | pentium3)
+ basic_machine=i686-pc
+ ;;
+ pentium4)
+ basic_machine=i786-pc
+ ;;
+ pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
+ basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
+ pentiumpro-* | p6-* | 6x86-* | athlon-*)
+ basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
+ pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
+ basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
+ pentium4-*)
+ basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
+ pn)
+ basic_machine=pn-gould
+ ;;
+ power) basic_machine=power-ibm
+ ;;
+ ppc) basic_machine=powerpc-unknown
+ ;;
+ ppc-*) basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
+ ppcle | powerpclittle | ppc-le | powerpc-little)
+ basic_machine=powerpcle-unknown
+ ;;
+ ppcle-* | powerpclittle-*)
+ basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
+ ppc64) basic_machine=powerpc64-unknown
+ ;;
+ ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
+ ppc64le | powerpc64little | ppc64-le | powerpc64-little)
+ basic_machine=powerpc64le-unknown
+ ;;
+ ppc64le-* | powerpc64little-*)
+ basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
+ ps2)
+ basic_machine=i386-ibm
+ ;;
+ pw32)
+ basic_machine=i586-unknown
+ os=-pw32
+ ;;
+ rdos)
+ basic_machine=i386-pc
+ os=-rdos
+ ;;
+ rom68k)
+ basic_machine=m68k-rom68k
+ os=-coff
+ ;;
+ rm[46]00)
+ basic_machine=mips-siemens
+ ;;
+ rtpc | rtpc-*)
+ basic_machine=romp-ibm
+ ;;
+ s390 | s390-*)
+ basic_machine=s390-ibm
+ ;;
+ s390x | s390x-*)
+ basic_machine=s390x-ibm
+ ;;
+ sa29200)
+ basic_machine=a29k-amd
+ os=-udi
+ ;;
+ sb1)
+ basic_machine=mipsisa64sb1-unknown
+ ;;
+ sb1el)
+ basic_machine=mipsisa64sb1el-unknown
+ ;;
+ sde)
+ basic_machine=mipsisa32-sde
+ os=-elf
+ ;;
+ sei)
+ basic_machine=mips-sei
+ os=-seiux
+ ;;
+ sequent)
+ basic_machine=i386-sequent
+ ;;
+ sh)
+ basic_machine=sh-hitachi
+ os=-hms
+ ;;
+ sh5el)
+ basic_machine=sh5le-unknown
+ ;;
+ sh64)
+ basic_machine=sh64-unknown
+ ;;
+ sparclite-wrs | simso-wrs)
+ basic_machine=sparclite-wrs
+ os=-vxworks
+ ;;
+ sps7)
+ basic_machine=m68k-bull
+ os=-sysv2
+ ;;
+ spur)
+ basic_machine=spur-unknown
+ ;;
+ st2000)
+ basic_machine=m68k-tandem
+ ;;
+ stratus)
+ basic_machine=i860-stratus
+ os=-sysv4
+ ;;
+ sun2)
+ basic_machine=m68000-sun
+ ;;
+ sun2os3)
+ basic_machine=m68000-sun
+ os=-sunos3
+ ;;
+ sun2os4)
+ basic_machine=m68000-sun
+ os=-sunos4
+ ;;
+ sun3os3)
+ basic_machine=m68k-sun
+ os=-sunos3
+ ;;
+ sun3os4)
+ basic_machine=m68k-sun
+ os=-sunos4
+ ;;
+ sun4os3)
+ basic_machine=sparc-sun
+ os=-sunos3
+ ;;
+ sun4os4)
+ basic_machine=sparc-sun
+ os=-sunos4
+ ;;
+ sun4sol2)
+ basic_machine=sparc-sun
+ os=-solaris2
+ ;;
+ sun3 | sun3-*)
+ basic_machine=m68k-sun
+ ;;
+ sun4)
+ basic_machine=sparc-sun
+ ;;
+ sun386 | sun386i | roadrunner)
+ basic_machine=i386-sun
+ ;;
+ sv1)
+ basic_machine=sv1-cray
+ os=-unicos
+ ;;
+ symmetry)
+ basic_machine=i386-sequent
+ os=-dynix
+ ;;
+ t3e)
+ basic_machine=alphaev5-cray
+ os=-unicos
+ ;;
+ t90)
+ basic_machine=t90-cray
+ os=-unicos
+ ;;
+ tic54x | c54x*)
+ basic_machine=tic54x-unknown
+ os=-coff
+ ;;
+ tic55x | c55x*)
+ basic_machine=tic55x-unknown
+ os=-coff
+ ;;
+ tic6x | c6x*)
+ basic_machine=tic6x-unknown
+ os=-coff
+ ;;
+ tile*)
+ basic_machine=tile-unknown
+ os=-linux-gnu
+ ;;
+ tx39)
+ basic_machine=mipstx39-unknown
+ ;;
+ tx39el)
+ basic_machine=mipstx39el-unknown
+ ;;
+ toad1)
+ basic_machine=pdp10-xkl
+ os=-tops20
+ ;;
+ tower | tower-32)
+ basic_machine=m68k-ncr
+ ;;
+ tpf)
+ basic_machine=s390x-ibm
+ os=-tpf
+ ;;
+ udi29k)
+ basic_machine=a29k-amd
+ os=-udi
+ ;;
+ ultra3)
+ basic_machine=a29k-nyu
+ os=-sym1
+ ;;
+ v810 | necv810)
+ basic_machine=v810-nec
+ os=-none
+ ;;
+ vaxv)
+ basic_machine=vax-dec
+ os=-sysv
+ ;;
+ vms)
+ basic_machine=vax-dec
+ os=-vms
+ ;;
+ vpp*|vx|vx-*)
+ basic_machine=f301-fujitsu
+ ;;
+ vxworks960)
+ basic_machine=i960-wrs
+ os=-vxworks
+ ;;
+ vxworks68)
+ basic_machine=m68k-wrs
+ os=-vxworks
+ ;;
+ vxworks29k)
+ basic_machine=a29k-wrs
+ os=-vxworks
+ ;;
+ w65*)
+ basic_machine=w65-wdc
+ os=-none
+ ;;
+ w89k-*)
+ basic_machine=hppa1.1-winbond
+ os=-proelf
+ ;;
+ xbox)
+ basic_machine=i686-pc
+ os=-mingw32
+ ;;
+ xps | xps100)
+ basic_machine=xps100-honeywell
+ ;;
+ ymp)
+ basic_machine=ymp-cray
+ os=-unicos
+ ;;
+ z8k-*-coff)
+ basic_machine=z8k-unknown
+ os=-sim
+ ;;
+ z80-*-coff)
+ basic_machine=z80-unknown
+ os=-sim
+ ;;
+ none)
+ basic_machine=none-none
+ os=-none
+ ;;
+
+# Here we handle the default manufacturer of certain CPU types. It is in
+# some cases the only manufacturer, in others, it is the most popular.
+ w89k)
+ basic_machine=hppa1.1-winbond
+ ;;
+ op50n)
+ basic_machine=hppa1.1-oki
+ ;;
+ op60c)
+ basic_machine=hppa1.1-oki
+ ;;
+ romp)
+ basic_machine=romp-ibm
+ ;;
+ mmix)
+ basic_machine=mmix-knuth
+ ;;
+ rs6000)
+ basic_machine=rs6000-ibm
+ ;;
+ vax)
+ basic_machine=vax-dec
+ ;;
+ pdp10)
+ # there are many clones, so DEC is not a safe bet
+ basic_machine=pdp10-unknown
+ ;;
+ pdp11)
+ basic_machine=pdp11-dec
+ ;;
+ we32k)
+ basic_machine=we32k-att
+ ;;
+ sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele)
+ basic_machine=sh-unknown
+ ;;
+ sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
+ basic_machine=sparc-sun
+ ;;
+ cydra)
+ basic_machine=cydra-cydrome
+ ;;
+ orion)
+ basic_machine=orion-highlevel
+ ;;
+ orion105)
+ basic_machine=clipper-highlevel
+ ;;
+ mac | mpw | mac-mpw)
+ basic_machine=m68k-apple
+ ;;
+ pmac | pmac-mpw)
+ basic_machine=powerpc-apple
+ ;;
+ *-unknown)
+ # Make sure to match an already-canonicalized machine name.
+ ;;
+ *)
+ echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
+ exit 1
+ ;;
+esac
+
+# Here we canonicalize certain aliases for manufacturers.
+case $basic_machine in
+ *-digital*)
+ basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
+ ;;
+ *-commodore*)
+ basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
+ ;;
+ *)
+ ;;
+esac
+
+# Decode manufacturer-specific aliases for certain operating systems.
+
+if [ x"$os" != x"" ]
+then
+case $os in
+ # First match some system type aliases
+ # that might get confused with valid system types.
+ # -solaris* is a basic system type, with this one exception.
+ -solaris1 | -solaris1.*)
+ os=`echo $os | sed -e 's|solaris1|sunos4|'`
+ ;;
+ -solaris)
+ os=-solaris2
+ ;;
+ -svr4*)
+ os=-sysv4
+ ;;
+ -unixware*)
+ os=-sysv4.2uw
+ ;;
+ -gnu/linux*)
+ os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
+ ;;
+ # First accept the basic system types.
+ # The portable systems comes first.
+ # Each alternative MUST END IN A *, to match a version number.
+ # -sysv* is not here because it comes later, after sysvr4.
+ -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
+ | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
+ | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \
+ | -kopensolaris* \
+ | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
+ | -aos* | -aros* \
+ | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
+ | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
+ | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
+ | -openbsd* | -solidbsd* \
+ | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
+ | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
+ | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
+ | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
+ | -chorusos* | -chorusrdb* | -cegcc* \
+ | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
+ | -mingw32* | -linux-gnu* | -linux-newlib* | -linux-uclibc* \
+ | -uxpv* | -beos* | -mpeix* | -udk* \
+ | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
+ | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
+ | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
+ | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
+ | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
+ | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
+ | -skyos* | -haiku* | -rdos* | -toppers* | -drops*)
+ # Remember, each alternative MUST END IN *, to match a version number.
+ ;;
+ -qnx*)
+ case $basic_machine in
+ x86-* | i*86-*)
+ ;;
+ *)
+ os=-nto$os
+ ;;
+ esac
+ ;;
+ -nto-qnx*)
+ ;;
+ -nto*)
+ os=`echo $os | sed -e 's|nto|nto-qnx|'`
+ ;;
+ -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
+ | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \
+ | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
+ ;;
+ -mac*)
+ os=`echo $os | sed -e 's|mac|macos|'`
+ ;;
+ -linux-dietlibc)
+ os=-linux-dietlibc
+ ;;
+ -linux*)
+ os=`echo $os | sed -e 's|linux|linux-gnu|'`
+ ;;
+ -sunos5*)
+ os=`echo $os | sed -e 's|sunos5|solaris2|'`
+ ;;
+ -sunos6*)
+ os=`echo $os | sed -e 's|sunos6|solaris3|'`
+ ;;
+ -opened*)
+ os=-openedition
+ ;;
+ -os400*)
+ os=-os400
+ ;;
+ -wince*)
+ os=-wince
+ ;;
+ -osfrose*)
+ os=-osfrose
+ ;;
+ -osf*)
+ os=-osf
+ ;;
+ -utek*)
+ os=-bsd
+ ;;
+ -dynix*)
+ os=-bsd
+ ;;
+ -acis*)
+ os=-aos
+ ;;
+ -atheos*)
+ os=-atheos
+ ;;
+ -syllable*)
+ os=-syllable
+ ;;
+ -386bsd)
+ os=-bsd
+ ;;
+ -ctix* | -uts*)
+ os=-sysv
+ ;;
+ -nova*)
+ os=-rtmk-nova
+ ;;
+ -ns2 )
+ os=-nextstep2
+ ;;
+ -nsk*)
+ os=-nsk
+ ;;
+ # Preserve the version number of sinix5.
+ -sinix5.*)
+ os=`echo $os | sed -e 's|sinix|sysv|'`
+ ;;
+ -sinix*)
+ os=-sysv4
+ ;;
+ -tpf*)
+ os=-tpf
+ ;;
+ -triton*)
+ os=-sysv3
+ ;;
+ -oss*)
+ os=-sysv3
+ ;;
+ -svr4)
+ os=-sysv4
+ ;;
+ -svr3)
+ os=-sysv3
+ ;;
+ -sysvr4)
+ os=-sysv4
+ ;;
+ # This must come after -sysvr4.
+ -sysv*)
+ ;;
+ -ose*)
+ os=-ose
+ ;;
+ -es1800*)
+ os=-ose
+ ;;
+ -xenix)
+ os=-xenix
+ ;;
+ -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
+ os=-mint
+ ;;
+ -aros*)
+ os=-aros
+ ;;
+ -kaos*)
+ os=-kaos
+ ;;
+ -zvmoe)
+ os=-zvmoe
+ ;;
+ -dicos*)
+ os=-dicos
+ ;;
+ -none)
+ ;;
+ *)
+ # Get rid of the `-' at the beginning of $os.
+ os=`echo $os | sed 's/[^-]*-//'`
+ echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
+ exit 1
+ ;;
+esac
+else
+
+# Here we handle the default operating systems that come with various machines.
+# The value should be what the vendor currently ships out the door with their
+# machine or put another way, the most popular os provided with the machine.
+
+# Note that if you're going to try to match "-MANUFACTURER" here (say,
+# "-sun"), then you have to tell the case statement up towards the top
+# that MANUFACTURER isn't an operating system. Otherwise, code above
+# will signal an error saying that MANUFACTURER isn't an operating
+# system, and we'll never get to this point.
+
+case $basic_machine in
+ score-*)
+ os=-elf
+ ;;
+ spu-*)
+ os=-elf
+ ;;
+ *-acorn)
+ os=-riscix1.2
+ ;;
+ arm*-rebel)
+ os=-linux
+ ;;
+ arm*-semi)
+ os=-aout
+ ;;
+ c4x-* | tic4x-*)
+ os=-coff
+ ;;
+ # This must come before the *-dec entry.
+ pdp10-*)
+ os=-tops20
+ ;;
+ pdp11-*)
+ os=-none
+ ;;
+ *-dec | vax-*)
+ os=-ultrix4.2
+ ;;
+ m68*-apollo)
+ os=-domain
+ ;;
+ i386-sun)
+ os=-sunos4.0.2
+ ;;
+ m68000-sun)
+ os=-sunos3
+ # This also exists in the configure program, but was not the
+ # default.
+ # os=-sunos4
+ ;;
+ m68*-cisco)
+ os=-aout
+ ;;
+ mep-*)
+ os=-elf
+ ;;
+ mips*-cisco)
+ os=-elf
+ ;;
+ mips*-*)
+ os=-elf
+ ;;
+ or32-*)
+ os=-coff
+ ;;
+ *-tti) # must be before sparc entry or we get the wrong os.
+ os=-sysv3
+ ;;
+ sparc-* | *-sun)
+ os=-sunos4.1.1
+ ;;
+ *-be)
+ os=-beos
+ ;;
+ *-haiku)
+ os=-haiku
+ ;;
+ *-ibm)
+ os=-aix
+ ;;
+ *-knuth)
+ os=-mmixware
+ ;;
+ *-wec)
+ os=-proelf
+ ;;
+ *-winbond)
+ os=-proelf
+ ;;
+ *-oki)
+ os=-proelf
+ ;;
+ *-hp)
+ os=-hpux
+ ;;
+ *-hitachi)
+ os=-hiux
+ ;;
+ i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
+ os=-sysv
+ ;;
+ *-cbm)
+ os=-amigaos
+ ;;
+ *-dg)
+ os=-dgux
+ ;;
+ *-dolphin)
+ os=-sysv3
+ ;;
+ m68k-ccur)
+ os=-rtu
+ ;;
+ m88k-omron*)
+ os=-luna
+ ;;
+ *-next )
+ os=-nextstep
+ ;;
+ *-sequent)
+ os=-ptx
+ ;;
+ *-crds)
+ os=-unos
+ ;;
+ *-ns)
+ os=-genix
+ ;;
+ i370-*)
+ os=-mvs
+ ;;
+ *-next)
+ os=-nextstep3
+ ;;
+ *-gould)
+ os=-sysv
+ ;;
+ *-highlevel)
+ os=-bsd
+ ;;
+ *-encore)
+ os=-bsd
+ ;;
+ *-sgi)
+ os=-irix
+ ;;
+ *-siemens)
+ os=-sysv4
+ ;;
+ *-masscomp)
+ os=-rtu
+ ;;
+ f30[01]-fujitsu | f700-fujitsu)
+ os=-uxpv
+ ;;
+ *-rom68k)
+ os=-coff
+ ;;
+ *-*bug)
+ os=-coff
+ ;;
+ *-apple)
+ os=-macos
+ ;;
+ *-atari*)
+ os=-mint
+ ;;
+ *)
+ os=-none
+ ;;
+esac
+fi
+
+# Here we handle the case where we know the os, and the CPU type, but not the
+# manufacturer. We pick the logical manufacturer.
+vendor=unknown
+case $basic_machine in
+ *-unknown)
+ case $os in
+ -riscix*)
+ vendor=acorn
+ ;;
+ -sunos*)
+ vendor=sun
+ ;;
+ -cnk*|-aix*)
+ vendor=ibm
+ ;;
+ -beos*)
+ vendor=be
+ ;;
+ -hpux*)
+ vendor=hp
+ ;;
+ -mpeix*)
+ vendor=hp
+ ;;
+ -hiux*)
+ vendor=hitachi
+ ;;
+ -unos*)
+ vendor=crds
+ ;;
+ -dgux*)
+ vendor=dg
+ ;;
+ -luna*)
+ vendor=omron
+ ;;
+ -genix*)
+ vendor=ns
+ ;;
+ -mvs* | -opened*)
+ vendor=ibm
+ ;;
+ -os400*)
+ vendor=ibm
+ ;;
+ -ptx*)
+ vendor=sequent
+ ;;
+ -tpf*)
+ vendor=ibm
+ ;;
+ -vxsim* | -vxworks* | -windiss*)
+ vendor=wrs
+ ;;
+ -aux*)
+ vendor=apple
+ ;;
+ -hms*)
+ vendor=hitachi
+ ;;
+ -mpw* | -macos*)
+ vendor=apple
+ ;;
+ -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
+ vendor=atari
+ ;;
+ -vos*)
+ vendor=stratus
+ ;;
+ esac
+ basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
+ ;;
+esac
+
+echo $basic_machine$os
+exit
+
+# Local variables:
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "timestamp='"
+# time-stamp-format: "%:y-%02m-%02d"
+# time-stamp-end: "'"
+# End:
--- /dev/null
+#! /bin/sh
+# depcomp - compile a program generating dependencies as side-effects
+
+scriptversion=2009-04-28.21; # UTC
+
+# Copyright (C) 1999, 2000, 2003, 2004, 2005, 2006, 2007, 2009 Free
+# Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, 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.
+
+# Originally written by Alexandre Oliva <oliva@dcc.unicamp.br>.
+
+case $1 in
+ '')
+ echo "$0: No command. Try \`$0 --help' for more information." 1>&2
+ exit 1;
+ ;;
+ -h | --h*)
+ cat <<\EOF
+Usage: depcomp [--help] [--version] PROGRAM [ARGS]
+
+Run PROGRAMS ARGS to compile a file, generating dependencies
+as side-effects.
+
+Environment variables:
+ depmode Dependency tracking mode.
+ source Source file read by `PROGRAMS ARGS'.
+ object Object file output by `PROGRAMS ARGS'.
+ DEPDIR directory where to store dependencies.
+ depfile Dependency file to output.
+ tmpdepfile Temporary file to use when outputing dependencies.
+ libtool Whether libtool is used (yes/no).
+
+Report bugs to <bug-automake@gnu.org>.
+EOF
+ exit $?
+ ;;
+ -v | --v*)
+ echo "depcomp $scriptversion"
+ exit $?
+ ;;
+esac
+
+if test -z "$depmode" || test -z "$source" || test -z "$object"; then
+ echo "depcomp: Variables source, object and depmode must be set" 1>&2
+ exit 1
+fi
+
+# Dependencies for sub/bar.o or sub/bar.obj go into sub/.deps/bar.Po.
+depfile=${depfile-`echo "$object" |
+ sed 's|[^\\/]*$|'${DEPDIR-.deps}'/&|;s|\.\([^.]*\)$|.P\1|;s|Pobj$|Po|'`}
+tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`}
+
+rm -f "$tmpdepfile"
+
+# Some modes work just like other modes, but use different flags. We
+# parameterize here, but still list the modes in the big case below,
+# to make depend.m4 easier to write. Note that we *cannot* use a case
+# here, because this file can only contain one case statement.
+if test "$depmode" = hp; then
+ # HP compiler uses -M and no extra arg.
+ gccflag=-M
+ depmode=gcc
+fi
+
+if test "$depmode" = dashXmstdout; then
+ # This is just like dashmstdout with a different argument.
+ dashmflag=-xM
+ depmode=dashmstdout
+fi
+
+cygpath_u="cygpath -u -f -"
+if test "$depmode" = msvcmsys; then
+ # This is just like msvisualcpp but w/o cygpath translation.
+ # Just convert the backslash-escaped backslashes to single forward
+ # slashes to satisfy depend.m4
+ cygpath_u="sed s,\\\\\\\\,/,g"
+ depmode=msvisualcpp
+fi
+
+case "$depmode" in
+gcc3)
+## gcc 3 implements dependency tracking that does exactly what
+## we want. Yay! Note: for some reason libtool 1.4 doesn't like
+## it if -MD -MP comes after the -MF stuff. Hmm.
+## Unfortunately, FreeBSD c89 acceptance of flags depends upon
+## the command line argument order; so add the flags where they
+## appear in depend2.am. Note that the slowdown incurred here
+## affects only configure: in makefiles, %FASTDEP% shortcuts this.
+ for arg
+ do
+ case $arg in
+ -c) set fnord "$@" -MT "$object" -MD -MP -MF "$tmpdepfile" "$arg" ;;
+ *) set fnord "$@" "$arg" ;;
+ esac
+ shift # fnord
+ shift # $arg
+ done
+ "$@"
+ stat=$?
+ if test $stat -eq 0; then :
+ else
+ rm -f "$tmpdepfile"
+ exit $stat
+ fi
+ mv "$tmpdepfile" "$depfile"
+ ;;
+
+gcc)
+## There are various ways to get dependency output from gcc. Here's
+## why we pick this rather obscure method:
+## - Don't want to use -MD because we'd like the dependencies to end
+## up in a subdir. Having to rename by hand is ugly.
+## (We might end up doing this anyway to support other compilers.)
+## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like
+## -MM, not -M (despite what the docs say).
+## - Using -M directly means running the compiler twice (even worse
+## than renaming).
+ if test -z "$gccflag"; then
+ gccflag=-MD,
+ fi
+ "$@" -Wp,"$gccflag$tmpdepfile"
+ stat=$?
+ if test $stat -eq 0; then :
+ else
+ rm -f "$tmpdepfile"
+ exit $stat
+ fi
+ rm -f "$depfile"
+ echo "$object : \\" > "$depfile"
+ alpha=ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
+## The second -e expression handles DOS-style file names with drive letters.
+ sed -e 's/^[^:]*: / /' \
+ -e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile"
+## This next piece of magic avoids the `deleted header file' problem.
+## The problem is that when a header file which appears in a .P file
+## is deleted, the dependency causes make to die (because there is
+## typically no way to rebuild the header). We avoid this by adding
+## dummy dependencies for each header file. Too bad gcc doesn't do
+## this for us directly.
+ tr ' ' '
+' < "$tmpdepfile" |
+## Some versions of gcc put a space before the `:'. On the theory
+## that the space means something, we add a space to the output as
+## well.
+## Some versions of the HPUX 10.20 sed can't process this invocation
+## correctly. Breaking it into two sed invocations is a workaround.
+ sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
+ rm -f "$tmpdepfile"
+ ;;
+
+hp)
+ # This case exists only to let depend.m4 do its work. It works by
+ # looking at the text of this script. This case will never be run,
+ # since it is checked for above.
+ exit 1
+ ;;
+
+sgi)
+ if test "$libtool" = yes; then
+ "$@" "-Wp,-MDupdate,$tmpdepfile"
+ else
+ "$@" -MDupdate "$tmpdepfile"
+ fi
+ stat=$?
+ if test $stat -eq 0; then :
+ else
+ rm -f "$tmpdepfile"
+ exit $stat
+ fi
+ rm -f "$depfile"
+
+ if test -f "$tmpdepfile"; then # yes, the sourcefile depend on other files
+ echo "$object : \\" > "$depfile"
+
+ # Clip off the initial element (the dependent). Don't try to be
+ # clever and replace this with sed code, as IRIX sed won't handle
+ # lines with more than a fixed number of characters (4096 in
+ # IRIX 6.2 sed, 8192 in IRIX 6.5). We also remove comment lines;
+ # the IRIX cc adds comments like `#:fec' to the end of the
+ # dependency line.
+ tr ' ' '
+' < "$tmpdepfile" \
+ | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' | \
+ tr '
+' ' ' >> "$depfile"
+ echo >> "$depfile"
+
+ # The second pass generates a dummy entry for each header file.
+ tr ' ' '
+' < "$tmpdepfile" \
+ | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \
+ >> "$depfile"
+ else
+ # The sourcefile does not contain any dependencies, so just
+ # store a dummy comment line, to avoid errors with the Makefile
+ # "include basename.Plo" scheme.
+ echo "#dummy" > "$depfile"
+ fi
+ rm -f "$tmpdepfile"
+ ;;
+
+aix)
+ # The C for AIX Compiler uses -M and outputs the dependencies
+ # in a .u file. In older versions, this file always lives in the
+ # current directory. Also, the AIX compiler puts `$object:' at the
+ # start of each line; $object doesn't have directory information.
+ # Version 6 uses the directory in both cases.
+ dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
+ test "x$dir" = "x$object" && dir=
+ base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
+ if test "$libtool" = yes; then
+ tmpdepfile1=$dir$base.u
+ tmpdepfile2=$base.u
+ tmpdepfile3=$dir.libs/$base.u
+ "$@" -Wc,-M
+ else
+ tmpdepfile1=$dir$base.u
+ tmpdepfile2=$dir$base.u
+ tmpdepfile3=$dir$base.u
+ "$@" -M
+ fi
+ stat=$?
+
+ if test $stat -eq 0; then :
+ else
+ rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
+ exit $stat
+ fi
+
+ for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
+ do
+ test -f "$tmpdepfile" && break
+ done
+ if test -f "$tmpdepfile"; then
+ # Each line is of the form `foo.o: dependent.h'.
+ # Do two passes, one to just change these to
+ # `$object: dependent.h' and one to simply `dependent.h:'.
+ sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile"
+ # That's a tab and a space in the [].
+ sed -e 's,^.*\.[a-z]*:[ ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile"
+ else
+ # The sourcefile does not contain any dependencies, so just
+ # store a dummy comment line, to avoid errors with the Makefile
+ # "include basename.Plo" scheme.
+ echo "#dummy" > "$depfile"
+ fi
+ rm -f "$tmpdepfile"
+ ;;
+
+icc)
+ # Intel's C compiler understands `-MD -MF file'. However on
+ # icc -MD -MF foo.d -c -o sub/foo.o sub/foo.c
+ # ICC 7.0 will fill foo.d with something like
+ # foo.o: sub/foo.c
+ # foo.o: sub/foo.h
+ # which is wrong. We want:
+ # sub/foo.o: sub/foo.c
+ # sub/foo.o: sub/foo.h
+ # sub/foo.c:
+ # sub/foo.h:
+ # ICC 7.1 will output
+ # foo.o: sub/foo.c sub/foo.h
+ # and will wrap long lines using \ :
+ # foo.o: sub/foo.c ... \
+ # sub/foo.h ... \
+ # ...
+
+ "$@" -MD -MF "$tmpdepfile"
+ stat=$?
+ if test $stat -eq 0; then :
+ else
+ rm -f "$tmpdepfile"
+ exit $stat
+ fi
+ rm -f "$depfile"
+ # Each line is of the form `foo.o: dependent.h',
+ # or `foo.o: dep1.h dep2.h \', or ` dep3.h dep4.h \'.
+ # Do two passes, one to just change these to
+ # `$object: dependent.h' and one to simply `dependent.h:'.
+ sed "s,^[^:]*:,$object :," < "$tmpdepfile" > "$depfile"
+ # Some versions of the HPUX 10.20 sed can't process this invocation
+ # correctly. Breaking it into two sed invocations is a workaround.
+ sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" |
+ sed -e 's/$/ :/' >> "$depfile"
+ rm -f "$tmpdepfile"
+ ;;
+
+hp2)
+ # The "hp" stanza above does not work with aCC (C++) and HP's ia64
+ # compilers, which have integrated preprocessors. The correct option
+ # to use with these is +Maked; it writes dependencies to a file named
+ # 'foo.d', which lands next to the object file, wherever that
+ # happens to be.
+ # Much of this is similar to the tru64 case; see comments there.
+ dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
+ test "x$dir" = "x$object" && dir=
+ base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
+ if test "$libtool" = yes; then
+ tmpdepfile1=$dir$base.d
+ tmpdepfile2=$dir.libs/$base.d
+ "$@" -Wc,+Maked
+ else
+ tmpdepfile1=$dir$base.d
+ tmpdepfile2=$dir$base.d
+ "$@" +Maked
+ fi
+ stat=$?
+ if test $stat -eq 0; then :
+ else
+ rm -f "$tmpdepfile1" "$tmpdepfile2"
+ exit $stat
+ fi
+
+ for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2"
+ do
+ test -f "$tmpdepfile" && break
+ done
+ if test -f "$tmpdepfile"; then
+ sed -e "s,^.*\.[a-z]*:,$object:," "$tmpdepfile" > "$depfile"
+ # Add `dependent.h:' lines.
+ sed -ne '2,${
+ s/^ *//
+ s/ \\*$//
+ s/$/:/
+ p
+ }' "$tmpdepfile" >> "$depfile"
+ else
+ echo "#dummy" > "$depfile"
+ fi
+ rm -f "$tmpdepfile" "$tmpdepfile2"
+ ;;
+
+tru64)
+ # The Tru64 compiler uses -MD to generate dependencies as a side
+ # effect. `cc -MD -o foo.o ...' puts the dependencies into `foo.o.d'.
+ # At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put
+ # dependencies in `foo.d' instead, so we check for that too.
+ # Subdirectories are respected.
+ dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
+ test "x$dir" = "x$object" && dir=
+ base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
+
+ if test "$libtool" = yes; then
+ # With Tru64 cc, shared objects can also be used to make a
+ # static library. This mechanism is used in libtool 1.4 series to
+ # handle both shared and static libraries in a single compilation.
+ # With libtool 1.4, dependencies were output in $dir.libs/$base.lo.d.
+ #
+ # With libtool 1.5 this exception was removed, and libtool now
+ # generates 2 separate objects for the 2 libraries. These two
+ # compilations output dependencies in $dir.libs/$base.o.d and
+ # in $dir$base.o.d. We have to check for both files, because
+ # one of the two compilations can be disabled. We should prefer
+ # $dir$base.o.d over $dir.libs/$base.o.d because the latter is
+ # automatically cleaned when .libs/ is deleted, while ignoring
+ # the former would cause a distcleancheck panic.
+ tmpdepfile1=$dir.libs/$base.lo.d # libtool 1.4
+ tmpdepfile2=$dir$base.o.d # libtool 1.5
+ tmpdepfile3=$dir.libs/$base.o.d # libtool 1.5
+ tmpdepfile4=$dir.libs/$base.d # Compaq CCC V6.2-504
+ "$@" -Wc,-MD
+ else
+ tmpdepfile1=$dir$base.o.d
+ tmpdepfile2=$dir$base.d
+ tmpdepfile3=$dir$base.d
+ tmpdepfile4=$dir$base.d
+ "$@" -MD
+ fi
+
+ stat=$?
+ if test $stat -eq 0; then :
+ else
+ rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4"
+ exit $stat
+ fi
+
+ for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4"
+ do
+ test -f "$tmpdepfile" && break
+ done
+ if test -f "$tmpdepfile"; then
+ sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile"
+ # That's a tab and a space in the [].
+ sed -e 's,^.*\.[a-z]*:[ ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile"
+ else
+ echo "#dummy" > "$depfile"
+ fi
+ rm -f "$tmpdepfile"
+ ;;
+
+#nosideeffect)
+ # This comment above is used by automake to tell side-effect
+ # dependency tracking mechanisms from slower ones.
+
+dashmstdout)
+ # Important note: in order to support this mode, a compiler *must*
+ # always write the preprocessed file to stdout, regardless of -o.
+ "$@" || exit $?
+
+ # Remove the call to Libtool.
+ if test "$libtool" = yes; then
+ while test "X$1" != 'X--mode=compile'; do
+ shift
+ done
+ shift
+ fi
+
+ # Remove `-o $object'.
+ IFS=" "
+ for arg
+ do
+ case $arg in
+ -o)
+ shift
+ ;;
+ $object)
+ shift
+ ;;
+ *)
+ set fnord "$@" "$arg"
+ shift # fnord
+ shift # $arg
+ ;;
+ esac
+ done
+
+ test -z "$dashmflag" && dashmflag=-M
+ # Require at least two characters before searching for `:'
+ # in the target name. This is to cope with DOS-style filenames:
+ # a dependency such as `c:/foo/bar' could be seen as target `c' otherwise.
+ "$@" $dashmflag |
+ sed 's:^[ ]*[^: ][^:][^:]*\:[ ]*:'"$object"'\: :' > "$tmpdepfile"
+ rm -f "$depfile"
+ cat < "$tmpdepfile" > "$depfile"
+ tr ' ' '
+' < "$tmpdepfile" | \
+## Some versions of the HPUX 10.20 sed can't process this invocation
+## correctly. Breaking it into two sed invocations is a workaround.
+ sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
+ rm -f "$tmpdepfile"
+ ;;
+
+dashXmstdout)
+ # This case only exists to satisfy depend.m4. It is never actually
+ # run, as this mode is specially recognized in the preamble.
+ exit 1
+ ;;
+
+makedepend)
+ "$@" || exit $?
+ # Remove any Libtool call
+ if test "$libtool" = yes; then
+ while test "X$1" != 'X--mode=compile'; do
+ shift
+ done
+ shift
+ fi
+ # X makedepend
+ shift
+ cleared=no eat=no
+ for arg
+ do
+ case $cleared in
+ no)
+ set ""; shift
+ cleared=yes ;;
+ esac
+ if test $eat = yes; then
+ eat=no
+ continue
+ fi
+ case "$arg" in
+ -D*|-I*)
+ set fnord "$@" "$arg"; shift ;;
+ # Strip any option that makedepend may not understand. Remove
+ # the object too, otherwise makedepend will parse it as a source file.
+ -arch)
+ eat=yes ;;
+ -*|$object)
+ ;;
+ *)
+ set fnord "$@" "$arg"; shift ;;
+ esac
+ done
+ obj_suffix=`echo "$object" | sed 's/^.*\././'`
+ touch "$tmpdepfile"
+ ${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@"
+ rm -f "$depfile"
+ cat < "$tmpdepfile" > "$depfile"
+ sed '1,2d' "$tmpdepfile" | tr ' ' '
+' | \
+## Some versions of the HPUX 10.20 sed can't process this invocation
+## correctly. Breaking it into two sed invocations is a workaround.
+ sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
+ rm -f "$tmpdepfile" "$tmpdepfile".bak
+ ;;
+
+cpp)
+ # Important note: in order to support this mode, a compiler *must*
+ # always write the preprocessed file to stdout.
+ "$@" || exit $?
+
+ # Remove the call to Libtool.
+ if test "$libtool" = yes; then
+ while test "X$1" != 'X--mode=compile'; do
+ shift
+ done
+ shift
+ fi
+
+ # Remove `-o $object'.
+ IFS=" "
+ for arg
+ do
+ case $arg in
+ -o)
+ shift
+ ;;
+ $object)
+ shift
+ ;;
+ *)
+ set fnord "$@" "$arg"
+ shift # fnord
+ shift # $arg
+ ;;
+ esac
+ done
+
+ "$@" -E |
+ sed -n -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \
+ -e '/^#line [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' |
+ sed '$ s: \\$::' > "$tmpdepfile"
+ rm -f "$depfile"
+ echo "$object : \\" > "$depfile"
+ cat < "$tmpdepfile" >> "$depfile"
+ sed < "$tmpdepfile" '/^$/d;s/^ //;s/ \\$//;s/$/ :/' >> "$depfile"
+ rm -f "$tmpdepfile"
+ ;;
+
+msvisualcpp)
+ # Important note: in order to support this mode, a compiler *must*
+ # always write the preprocessed file to stdout.
+ "$@" || exit $?
+
+ # Remove the call to Libtool.
+ if test "$libtool" = yes; then
+ while test "X$1" != 'X--mode=compile'; do
+ shift
+ done
+ shift
+ fi
+
+ IFS=" "
+ for arg
+ do
+ case "$arg" in
+ -o)
+ shift
+ ;;
+ $object)
+ shift
+ ;;
+ "-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI")
+ set fnord "$@"
+ shift
+ shift
+ ;;
+ *)
+ set fnord "$@" "$arg"
+ shift
+ shift
+ ;;
+ esac
+ done
+ "$@" -E 2>/dev/null |
+ sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::\1:p' | $cygpath_u | sort -u > "$tmpdepfile"
+ rm -f "$depfile"
+ echo "$object : \\" > "$depfile"
+ sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s:: \1 \\:p' >> "$depfile"
+ echo " " >> "$depfile"
+ sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::\1\::p' >> "$depfile"
+ rm -f "$tmpdepfile"
+ ;;
+
+msvcmsys)
+ # This case exists only to let depend.m4 do its work. It works by
+ # looking at the text of this script. This case will never be run,
+ # since it is checked for above.
+ exit 1
+ ;;
+
+none)
+ exec "$@"
+ ;;
+
+*)
+ echo "Unknown depmode $depmode" 1>&2
+ exit 1
+ ;;
+esac
+
+exit 0
+
+# Local Variables:
+# mode: shell-script
+# sh-indentation: 2
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "scriptversion="
+# time-stamp-format: "%:y-%02m-%02d.%02H"
+# time-stamp-time-zone: "UTC"
+# time-stamp-end: "; # UTC"
+# End:
--- /dev/null
+# gnome-doc-utils.make - make magic for building documentation
+# Copyright (C) 2004-2005 Shaun McCance <shaunm@gnome.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.
+
+################################################################################
+## @@ Generating Header Files
+
+## @ DOC_H_FILE
+## The name of the header file to generate
+DOC_H_FILE ?=
+
+## @ DOC_H_DOCS
+## The input DocBook files for generating the header file
+DOC_H_DOCS ?=
+
+$(DOC_H_FILE): $(DOC_H_DOCS);
+ @rm -f $@.tmp; touch $@.tmp;
+ echo 'const gchar* documentation_credits[] = {' >> $@.tmp
+ list='$(DOC_H_DOCS)'; for doc in $$list; do \
+ xmlpath="`echo $$doc | sed -e 's/^\(.*\/\).*/\1/' -e '/\//!s/.*//'`:$(srcdir)/`echo $$doc | sed -e 's/^\(.*\/\).*/\1/' -e '/\//!s/.*//'`"; \
+ if ! test -f "$$doc"; then doc="$(srcdir)/$$doc"; fi; \
+ xsltproc --path "$$xmlpath" $(_credits) $$doc; \
+ done | sort | uniq \
+ | awk 'BEGIN{s=""}{n=split($$0,w,"<");if(s!=""&&s!=substr(w[1],1,length(w[1])-1)){print s};if(n>1){print $$0;s=""}else{s=$$0}};END{if(s!=""){print s}}' \
+ | sed -e 's/\\/\\\\/' -e 's/"/\\"/' -e 's/\(.*\)/\t"\1",/' >> $@.tmp
+ echo ' NULL' >> $@.tmp
+ echo '};' >> $@.tmp
+ echo >> $@.tmp
+ list='$(DOC_H_DOCS)'; for doc in $$list; do \
+ xmlpath="`echo $$doc | sed -e 's/^\(.*\/\).*/\1/' -e '/\//!s/.*//'`:$(srcdir)/`echo $$doc | sed -e 's/^\(.*\/\).*/\1/' -e '/\//!s/.*//'`"; \
+ if ! test -f "$$doc"; then doc="$(srcdir)/$$doc"; fi; \
+ docid=`echo "$$doc" | sed -e 's/.*\/\([^/]*\)\.xml/\1/' \
+ | sed -e 's/[^a-zA-Z_]/_/g' | tr 'a-z' 'A-Z'`; \
+ echo $$xmlpath; \
+ ids=`xsltproc --xinclude --path "$$xmlpath" $(_ids) $$doc`; \
+ for id in $$ids; do \
+ echo '#define HELP_'`echo $$docid`'_'`echo $$id \
+ | sed -e 's/[^a-zA-Z_]/_/g' | tr 'a-z' 'A-Z'`' "'$$id'"' >> $@.tmp; \
+ done; \
+ echo >> $@.tmp; \
+ done;
+ cp $@.tmp $@ && rm -f $@.tmp
+
+dist-check-gdu:
+if !HAVE_GNOME_DOC_UTILS
+ @echo "*** GNOME Doc Utils must be installed in order to make dist"
+ @false
+endif
+
+.PHONY: dist-doc-header
+dist-doc-header: $(DOC_H_FILE)
+ @if test -f "$(DOC_H_FILE)"; then d=; else d="$(srcdir)/"; fi; \
+ echo "$(INSTALL_DATA) $${d}$(DOC_H_FILE) $(distdir)/$(DOC_H_FILE)"; \
+ $(INSTALL_DATA) "$${d}$(DOC_H_FILE)" "$(distdir)/$(DOC_H_FILE)";
+
+doc-dist-hook: dist-check-gdu $(if $(DOC_H_FILE),dist-doc-header)
+
+.PHONY: clean-doc-header
+_clean_doc_header = $(if $(DOC_H_FILE),clean-doc-header)
+clean-local: $(_clean_doc_header)
+distclean-local: $(_clean_doc_header)
+mostlyclean-local: $(_clean_doc_header)
+maintainer-clean-local: $(_clean_doc_header)
+clean-doc-header:
+ rm -f $(DOC_H_FILE)
+
+all: $(DOC_H_FILE)
+
+
+################################################################################
+## @@ Generating Documentation Files
+
+## @ DOC_MODULE
+## The name of the document being built
+DOC_MODULE ?=
+
+## @ DOC_ID
+## The unique identifier for a Mallard document
+DOC_ID ?=
+
+## @ DOC_PAGES
+## Page files in a Mallard document
+DOC_PAGES ?=
+
+## @ DOC_ENTITIES
+## Files included with a SYSTEM entity
+DOC_ENTITIES ?=
+
+## @ DOC_INCLUDES
+## Files included with XInclude
+DOC_INCLUDES ?=
+
+## @ DOC_FIGURES
+## Figures and other external data
+DOC_FIGURES ?=
+
+## @ DOC_FORMATS
+## The default formats to be built and installed
+DOC_FORMATS ?= docbook
+_DOC_REAL_FORMATS = $(if $(DOC_USER_FORMATS),$(DOC_USER_FORMATS),$(DOC_FORMATS))
+
+## @ DOC_LINGUAS
+## The languages this document is translated into
+DOC_LINGUAS ?=
+_DOC_REAL_LINGUAS = $(if $(filter environment,$(origin LINGUAS)), \
+ $(filter $(LINGUAS),$(DOC_LINGUAS)), \
+ $(DOC_LINGUAS))
+
+_DOC_ABS_SRCDIR = @abs_srcdir@
+
+
+################################################################################
+## Variables for Bootstrapping
+
+_xml2po ?= `which xml2po`
+_xml2po_mode = $(if $(DOC_ID),mallard,docbook)
+
+_db2html ?= `$(PKG_CONFIG) --variable db2html gnome-doc-utils`
+_db2omf ?= `$(PKG_CONFIG) --variable db2omf gnome-doc-utils`
+_malrng ?= `$(PKG_CONFIG) --variable malrng gnome-doc-utils`
+_chunks ?= `$(PKG_CONFIG) --variable xmldir gnome-doc-utils`/gnome/xslt/docbook/utils/chunks.xsl
+_credits ?= `$(PKG_CONFIG) --variable xmldir gnome-doc-utils`/gnome/xslt/docbook/utils/credits.xsl
+_ids ?= `$(PKG_CONFIG) --variable xmldir gnome-doc-utils`/gnome/xslt/docbook/utils/ids.xsl
+
+if ENABLE_SK
+_ENABLE_SK = true
+_skpkgdatadir ?= `scrollkeeper-config --pkgdatadir`
+_sklocalstatedir ?= `scrollkeeper-config --pkglocalstatedir`
+_skcontentslist ?= $(_skpkgdatadir)/Templates/C/scrollkeeper_cl.xml
+endif
+
+
+################################################################################
+## @@ Rules for OMF Files
+
+db2omf_args = \
+ --stringparam db2omf.basename $(DOC_MODULE) \
+ --stringparam db2omf.format $(3) \
+ --stringparam db2omf.dtd \
+ $(shell xmllint --format $(2) | grep -h PUBLIC | head -n 1 \
+ | sed -e 's/.*PUBLIC \(\"[^\"]*\"\).*/\1/') \
+ --stringparam db2omf.lang $(notdir $(patsubst %/$(notdir $(2)),%,$(2))) \
+ --stringparam db2omf.omf_dir "$(OMF_DIR)" \
+ --stringparam db2omf.help_dir "$(HELP_DIR)" \
+ --stringparam db2omf.omf_in "$(_DOC_OMF_IN)" \
+ $(if $(_ENABLE_SK), \
+ --stringparam db2omf.scrollkeeper_cl "$(_skcontentslist)") \
+ $(_db2omf) $(2)
+
+## @ _DOC_OMF_IN
+## The OMF input file
+_DOC_OMF_IN = $(if $(DOC_MODULE),$(wildcard $(_DOC_ABS_SRCDIR)/$(DOC_MODULE).omf.in))
+
+## @ _DOC_OMF_DB
+## The OMF files for DocBook output
+_DOC_OMF_DB = $(if $(_DOC_OMF_IN), \
+ $(foreach lc,C $(_DOC_REAL_LINGUAS),$(DOC_MODULE)-$(lc).omf))
+
+$(_DOC_OMF_DB) : $(_DOC_OMF_IN)
+$(_DOC_OMF_DB) : $(DOC_MODULE)-%.omf : %/$(DOC_MODULE).xml
+ @test "x$(_ENABLE_SK)" != "xtrue" -o -f "$(_skcontentslist)" || { \
+ echo "The file '$(_skcontentslist)' does not exist." >&2; \
+ echo "Please check your ScrollKeeper installation." >&2; \
+ exit 1; }
+ xsltproc -o $@ $(call db2omf_args,$@,$<,'docbook') || { rm -f "$@"; exit 1; }
+
+## @ _DOC_OMF_HTML
+## The OMF files for HTML output
+_DOC_OMF_HTML = $(if $(_DOC_OMF_IN), \
+ $(foreach lc,C $(_DOC_REAL_LINGUAS),$(DOC_MODULE)-html-$(lc).omf))
+
+$(_DOC_OMF_HTML) : $(_DOC_OMF_IN)
+$(_DOC_OMF_HTML) : $(DOC_MODULE)-html-%.omf : %/$(DOC_MODULE).xml
+if ENABLE_SK
+ @test "x$(_ENABLE_SK)" != "xtrue" -o -f "$(_skcontentslist)" || { \
+ echo "The file '$(_skcontentslist)' does not exist" >&2; \
+ echo "Please check your ScrollKeeper installation." >&2; \
+ exit 1; }
+endif
+ xsltproc -o $@ $(call db2omf_args,$@,$<,'xhtml') || { rm -f "$@"; exit 1; }
+
+## @ _DOC_OMF_ALL
+## All OMF output files to be built
+# FIXME
+_DOC_OMF_ALL = \
+ $(if $(filter docbook,$(_DOC_REAL_FORMATS)),$(_DOC_OMF_DB)) \
+ $(if $(filter html HTML,$(_DOC_REAL_FORMATS)),$(_DOC_OMF_HTML))
+
+.PHONY: omf
+omf: $(_DOC_OMF_ALL)
+
+
+################################################################################
+## @@ C Locale Documents
+
+## @ _DOC_C_MODULE
+## The top-level documentation file in the C locale
+_DOC_C_MODULE = $(if $(DOC_MODULE),C/$(DOC_MODULE).xml)
+
+## @ _DOC_C_PAGES
+## Page files in a Mallard document in the C locale
+_DOC_C_PAGES = $(foreach page,$(DOC_PAGES),C/$(page))
+
+## @ _DOC_C_ENTITIES
+## Files included with a SYSTEM entity in the C locale
+_DOC_C_ENTITIES = $(foreach ent,$(DOC_ENTITIES),C/$(ent))
+
+## @ _DOC_C_XINCLUDES
+## Files included with XInclude in the C locale
+_DOC_C_INCLUDES = $(foreach inc,$(DOC_INCLUDES),C/$(inc))
+
+## @ _DOC_C_DOCS
+## All documentation files in the C locale
+_DOC_C_DOCS = \
+ $(_DOC_C_ENTITIES) $(_DOC_C_INCLUDES) \
+ $(_DOC_C_PAGES) $(_DOC_C_MODULE)
+
+## @ _DOC_C_DOCS_NOENT
+## All documentation files in the C locale,
+## except files included with a SYSTEM entity
+_DOC_C_DOCS_NOENT = \
+ $(_DOC_C_MODULE) $(_DOC_C_INCLUDES) \
+ $(_DOC_C_PAGES)
+
+## @ _DOC_C_FIGURES
+## All figures and other external data in the C locale
+_DOC_C_FIGURES = $(if $(DOC_FIGURES), \
+ $(foreach fig,$(DOC_FIGURES),C/$(fig)), \
+ $(patsubst $(srcdir)/%,%,$(wildcard $(srcdir)/C/figures/*.png)))
+
+## @ _DOC_C_HTML
+## All HTML documentation in the C locale
+# FIXME: probably have to shell escape to determine the file names
+_DOC_C_HTML = $(foreach f, \
+ $(shell xsltproc --xinclude \
+ --stringparam db.chunk.basename "$(DOC_MODULE)" \
+ $(_chunks) "C/$(DOC_MODULE).xml"), \
+ C/$(f).xhtml)
+
+###############################################################################
+## @@ Other Locale Documentation
+
+## @ _DOC_POFILES
+## The .po files used for translating the document
+_DOC_POFILES = $(if $(DOC_MODULE)$(DOC_ID), \
+ $(foreach lc,$(_DOC_REAL_LINGUAS),$(lc)/$(lc).po))
+
+.PHONY: po
+po: $(_DOC_POFILES)
+
+## @ _DOC_MOFILES
+## The .mo files used for translating the document
+_DOC_MOFILES = $(patsubst %.po,%.mo,$(_DOC_POFILES))
+
+.PHONY: mo
+mo: $(_DOC_MOFILES)
+
+## @ _DOC_LC_MODULES
+## The top-level documentation files in all other locales
+_DOC_LC_MODULES = $(if $(DOC_MODULE), \
+ $(foreach lc,$(_DOC_REAL_LINGUAS),$(lc)/$(DOC_MODULE).xml))
+
+## @ _DOC_LC_PAGES
+## Page files in a Mallard document in all other locales
+_DOC_LC_PAGES = \
+ $(foreach lc,$(_DOC_REAL_LINGUAS),$(foreach page,$(_DOC_C_PAGES), \
+ $(lc)/$(notdir $(page)) ))
+
+## @ _DOC_LC_XINCLUDES
+## Files included with XInclude in all other locales
+_DOC_LC_INCLUDES = \
+ $(foreach lc,$(_DOC_REAL_LINGUAS),$(foreach inc,$(_DOC_C_INCLUDES), \
+ $(lc)/$(notdir $(inc)) ))
+
+## @ _DOC_LC_HTML
+## All HTML documentation in all other locales
+# FIXME: probably have to shell escape to determine the file names
+_DOC_LC_HTML = \
+ $(foreach lc,$(_DOC_REAL_LINGUAS),$(foreach doc,$(_DOC_C_HTML), \
+ $(lc)/$(notdir $(doc)) ))
+
+## @ _DOC_LC_DOCS
+## All documentation files in all other locales
+_DOC_LC_DOCS = \
+ $(_DOC_LC_MODULES) $(_DOC_LC_INCLUDES) $(_DOC_LC_PAGES) \
+ $(if $(filter html HTML,$(_DOC_REAL_FORMATS)),$(_DOC_LC_HTML))
+
+## @ _DOC_LC_FIGURES
+## All figures and other external data in all other locales
+_DOC_LC_FIGURES = $(foreach lc,$(_DOC_REAL_LINGUAS), \
+ $(patsubst C/%,$(lc)/%,$(_DOC_C_FIGURES)) )
+
+_DOC_SRC_FIGURES = \
+ $(foreach fig,$(_DOC_C_FIGURES), $(foreach lc,C $(_DOC_REAL_LINGUAS), \
+ $(wildcard $(srcdir)/$(lc)/$(patsubst C/%,%,$(fig))) ))
+
+$(_DOC_POFILES):
+ @if ! test -d $(dir $@); then \
+ echo "mkdir $(dir $@)"; \
+ mkdir "$(dir $@)"; \
+ fi
+ @if test ! -f $@ -a -f $(srcdir)/$@; then \
+ echo "cp $(srcdir)/$@ $@"; \
+ cp "$(srcdir)/$@" "$@"; \
+ fi;
+ @docs=; \
+ list='$(_DOC_C_DOCS_NOENT)'; for doc in $$list; do \
+ docs="$$docs $(_DOC_ABS_SRCDIR)/$$doc"; \
+ done; \
+ if ! test -f $@; then \
+ echo "(cd $(dir $@) && \
+ $(_xml2po) -m $(_xml2po_mode) -e $$docs > $(notdir $@).tmp && \
+ cp $(notdir $@).tmp $(notdir $@) && rm -f $(notdir $@).tmp)"; \
+ (cd $(dir $@) && \
+ $(_xml2po) -m $(_xml2po_mode) -e $$docs > $(notdir $@).tmp && \
+ cp $(notdir $@).tmp $(notdir $@) && rm -f $(notdir $@).tmp); \
+ else \
+ echo "(cd $(dir $@) && \
+ $(_xml2po) -m $(_xml2po_mode) -e -u $(notdir $@) $$docs)"; \
+ (cd $(dir $@) && \
+ $(_xml2po) -m $(_xml2po_mode) -e -u $(notdir $@) $$docs); \
+ fi
+
+$(_DOC_MOFILES): %.mo: %.po
+ @if ! test -d $(dir $@); then \
+ echo "mkdir $(dir $@)"; \
+ mkdir "$(dir $@)"; \
+ fi
+ msgfmt -o $@ $<
+
+# FIXME: fix the dependancy
+# FIXME: hook xml2po up
+$(_DOC_LC_DOCS) : $(_DOC_MOFILES)
+$(_DOC_LC_DOCS) : $(_DOC_C_DOCS)
+ if ! test -d $(dir $@); then mkdir $(dir $@); fi
+ if [ -f "C/$(notdir $@)" ]; then d="../"; else d="$(_DOC_ABS_SRCDIR)/"; fi; \
+ mo="$(dir $@)$(patsubst %/$(notdir $@),%,$@).mo"; \
+ if [ -f "$${mo}" ]; then mo="../$${mo}"; else mo="$(_DOC_ABS_SRCDIR)/$${mo}"; fi; \
+ (cd $(dir $@) && \
+ $(_xml2po) -m $(_xml2po_mode) -e -t "$${mo}" \
+ "$${d}C/$(notdir $@)" > $(notdir $@).tmp && \
+ cp $(notdir $@).tmp $(notdir $@) && rm -f $(notdir $@).tmp)
+
+## @ _DOC_POT
+## A pot file
+_DOC_POT = $(if $(DOC_MODULE),$(DOC_MODULE).pot)
+.PHONY: pot
+pot: $(_DOC_POT)
+$(_DOC_POT): $(_DOC_C_DOCS_NOENT)
+ $(_xml2po) -m $(_xml2po_mode) -e -o $@ $^
+
+
+################################################################################
+## @@ All Documentation
+
+## @ _DOC_HTML_ALL
+## All HTML documentation, only if it's built
+_DOC_HTML_ALL = $(if $(filter html HTML,$(_DOC_REAL_FORMATS)), \
+ $(_DOC_C_HTML) $(_DOC_LC_HTML))
+
+_DOC_HTML_TOPS = $(foreach lc,C $(_DOC_REAL_LINGUAS),$(lc)/$(DOC_MODULE).xhtml)
+
+$(_DOC_HTML_TOPS): $(_DOC_C_DOCS) $(_DOC_LC_DOCS)
+ xsltproc -o $@ --xinclude --param db.chunk.chunk_top "false()" --stringparam db.chunk.basename "$(DOC_MODULE)" --stringparam db.chunk.extension ".xhtml" $(_db2html) $(patsubst %.xhtml,%.xml,$@)
+
+
+################################################################################
+## All
+
+all: \
+ $(_DOC_C_DOCS) $(_DOC_LC_DOCS) \
+ $(_DOC_OMF_ALL) $(_DOC_DSK_ALL) \
+ $(_DOC_HTML_ALL) $(_DOC_POFILES)
+
+
+################################################################################
+## Clean
+
+.PHONY: clean-doc-omf clean-doc-dsk clean-doc-lc clean-doc-dir
+
+clean-doc-omf: ; rm -f $(_DOC_OMF_DB) $(_DOC_OMF_HTML)
+clean-doc-dsk: ; rm -f $(_DOC_DSK_DB) $(_DOC_DSK_HTML)
+clean-doc-lc:
+ rm -f $(_DOC_LC_DOCS)
+ rm -f $(_DOC_MOFILES)
+ @list='$(_DOC_POFILES)'; for po in $$list; do \
+ if ! test "$$po" -ef "$(srcdir)/$$po"; then \
+ echo "rm -f $$po"; \
+ rm -f "$$po"; \
+ fi; \
+ done
+# .xml2.po.mo cleaning is obsolete as of 0.18.1 and could be removed in 0.20.x
+ @for lc in C $(_DOC_REAL_LINGUAS); do \
+ if test -f "$$lc/.xml2po.mo"; then \
+ echo "rm -f $$lc/.xml2po.mo"; \
+ rm -f "$$lc/.xml2po.mo"; \
+ fi; \
+ done
+clean-doc-dir: clean-doc-lc
+ @for lc in C $(_DOC_REAL_LINGUAS); do \
+ for dir in `find $$lc -depth -type d`; do \
+ if ! test $$dir -ef $(srcdir)/$$dir; then \
+ echo "rmdir $$dir"; \
+ rmdir "$$dir"; \
+ fi; \
+ done; \
+ done
+
+_clean_omf = $(if $(_DOC_OMF_IN),clean-doc-omf)
+_clean_dsk = $(if $(_DOC_DSK_IN),clean-doc-dsk)
+_clean_lc = $(if $(_DOC_REAL_LINGUAS),clean-doc-lc)
+_clean_dir = $(if $(DOC_MODULE)$(DOC_ID),clean-doc-dir)
+
+clean-local: \
+ $(_clean_omf) $(_clean_dsk) \
+ $(_clean_lc) $(_clean_dir)
+distclean-local: \
+ $(_clean_omf) $(_clean_dsk) \
+ $(_clean_lc) $(_clean_dir)
+mostlyclean-local: \
+ $(_clean_omf) $(_clean_dsk) \
+ $(_clean_lc) $(_clean_dir)
+maintainer-clean-local: \
+ $(_clean_omf) $(_clean_dsk) \
+ $(_clean_lc) $(_clean_dir)
+
+
+
+################################################################################
+## Dist
+
+.PHONY: dist-doc-docs dist-doc-pages dist-doc-figs dist-doc-omf dist-doc-dsk
+doc-dist-hook: \
+ $(if $(DOC_MODULE)$(DOC_ID),dist-doc-docs) \
+ $(if $(_DOC_C_FIGURES),dist-doc-figs) \
+ $(if $(_DOC_OMF_IN),dist-doc-omf)
+# $(if $(_DOC_DSK_IN),dist-doc-dsk)
+
+dist-doc-docs: $(_DOC_C_DOCS) $(_DOC_LC_DOCS) $(_DOC_POFILES)
+ @for lc in C $(_DOC_REAL_LINGUAS); do \
+ echo " $(mkinstalldirs) $(distdir)/$$lc"; \
+ $(mkinstalldirs) "$(distdir)/$$lc"; \
+ done
+ @list='$(_DOC_C_DOCS) $(_DOC_LC_DOCS) $(_DOC_POFILES)'; \
+ for doc in $$list; do \
+ if test -f "$$doc"; then d=; else d="$(srcdir)/"; fi; \
+ docdir=`echo $$doc | sed -e 's/^\(.*\/\).*/\1/' -e '/\//!s/.*//'`; \
+ if ! test -d "$(distdir)/$$docdir"; then \
+ echo "$(mkinstalldirs) $(distdir)/$$docdir"; \
+ $(mkinstalldirs) "$(distdir)/$$docdir"; \
+ fi; \
+ echo "$(INSTALL_DATA) $$d$$doc $(distdir)/$$doc"; \
+ $(INSTALL_DATA) "$$d$$doc" "$(distdir)/$$doc"; \
+ done
+
+dist-doc-figs: $(_DOC_SRC_FIGURES)
+ @list='$(_DOC_C_FIGURES) $(_DOC_LC_FIGURES)'; \
+ for fig in $$list; do \
+ if test -f "$$fig"; then d=; else d="$(srcdir)/"; fi; \
+ if test -f "$$d$$fig"; then \
+ figdir=`echo $$fig | sed -e 's/^\(.*\/\).*/\1/' -e '/\//!s/.*//'`; \
+ if ! test -d "$(distdir)/$$figdir"; then \
+ echo "$(mkinstalldirs) $(distdir)/$$figdir"; \
+ $(mkinstalldirs) "$(distdir)/$$figdir"; \
+ fi; \
+ echo "$(INSTALL_DATA) $$d$$fig $(distdir)/$$fig"; \
+ $(INSTALL_DATA) "$$d$$fig" "$(distdir)/$$fig"; \
+ fi; \
+ done;
+
+dist-doc-omf:
+ @if test -f "$(_DOC_OMF_IN)"; then d=; else d="$(srcdir)/"; fi; \
+ echo "$(INSTALL_DATA) $$d$(_DOC_OMF_IN) $(distdir)/$(notdir $(_DOC_OMF_IN))"; \
+ $(INSTALL_DATA) "$$d$(_DOC_OMF_IN)" "$(distdir)/$(notdir $(_DOC_OMF_IN))"
+
+dist-doc-dsk:
+ @if test -f "$(_DOC_DSK_IN)"; then d=; else d="$(srcdir)/"; fi; \
+ echo "$(INSTALL_DATA) $$d$(_DOC_DSK_IN) $(distdir)/$(notdir $(_DOC_DSK_IN))"; \
+ $(INSTALL_DATA) "$$d$(_DOC_DSK_IN)" "$(distdir)/$(notdir $(_DOC_DSK_IN))"
+
+
+
+################################################################################
+## Check
+
+.PHONY: check-doc-docs check-doc-omf
+check: \
+ $(if $(DOC_MODULE),check-doc-docs) \
+ $(if $(DOC_ID),check-doc-pages) \
+ $(if $(_DOC_OMF_IN),check-doc-omf)
+
+check-doc-docs: $(_DOC_C_DOCS) $(_DOC_LC_DOCS)
+ @for lc in C $(_DOC_REAL_LINGUAS); do \
+ if test -f "$$lc"; \
+ then d=; \
+ xmlpath="$$lc"; \
+ else \
+ d="$(srcdir)/"; \
+ xmlpath="$$lc:$(srcdir)/$$lc"; \
+ fi; \
+ echo "xmllint --noout --noent --path $$xmlpath --xinclude --postvalid $$d$$lc/$(DOC_MODULE).xml"; \
+ xmllint --noout --noent --path "$$xmlpath" --xinclude --postvalid "$$d$$lc/$(DOC_MODULE).xml"; \
+ done
+
+check-doc-pages: $(_DOC_C_PAGES) $(_DOC_LC_PAGES)
+ for lc in C $(_DOC_REAL_LINGUAS); do \
+ if test -f "$$lc"; \
+ then d=; \
+ xmlpath="$$lc"; \
+ else \
+ d="$(srcdir)/"; \
+ xmlpath="$$lc:$(srcdir)/$$lc"; \
+ fi; \
+ for page in $(DOC_PAGES); do \
+ echo "xmllint --noout --noent --path $$xmlpath --xinclude --relaxng $(_malrng) $$d$$lc/$$page"; \
+ xmllint --noout --noent --path "$$xmlpath" --xinclude --relaxng "$(_malrng)" "$$d$$lc/$$page"; \
+ done; \
+ done
+
+check-doc-omf: $(_DOC_OMF_ALL)
+ @list='$(_DOC_OMF_ALL)'; for omf in $$list; do \
+ echo "xmllint --noout --xinclude --dtdvalid 'http://scrollkeeper.sourceforge.net/dtds/scrollkeeper-omf-1.0/scrollkeeper-omf.dtd' $$omf"; \
+ xmllint --noout --xinclude --dtdvalid 'http://scrollkeeper.sourceforge.net/dtds/scrollkeeper-omf-1.0/scrollkeeper-omf.dtd' $$omf; \
+ done
+
+
+
+################################################################################
+## Install
+
+.PHONY: install-doc-docs install-doc-html install-doc-figs install-doc-omf install-doc-dsk
+
+_doc_install_dir = $(if $(DOC_ID),$(DOC_ID),$(DOC_MODULE))
+
+install-data-local: \
+ $(if $(DOC_MODULE)$(DOC_ID),install-doc-docs) \
+ $(if $(_DOC_HTML_ALL),install-doc-html) \
+ $(if $(_DOC_C_FIGURES),install-doc-figs) \
+ $(if $(_DOC_OMF_IN),install-doc-omf)
+# $(if $(_DOC_DSK_IN),install-doc-dsk)
+
+install-doc-docs:
+ @for lc in C $(_DOC_REAL_LINGUAS); do \
+ echo "$(mkinstalldirs) $(DESTDIR)$(HELP_DIR)/$(_doc_install_dir)/$$lc"; \
+ $(mkinstalldirs) $(DESTDIR)$(HELP_DIR)/$(_doc_install_dir)/$$lc; \
+ done
+ @list='$(_DOC_C_DOCS) $(_DOC_LC_DOCS)'; for doc in $$list; do \
+ if test -f "$$doc"; then d=; else d="$(srcdir)/"; fi; \
+ docdir="$$lc/"`echo $$doc | sed -e 's/^\(.*\/\).*/\1/' -e '/\//!s/.*//'`; \
+ docdir="$(DESTDIR)$(HELP_DIR)/$(_doc_install_dir)/$$docdir"; \
+ if ! test -d "$$docdir"; then \
+ echo "$(mkinstalldirs) $$docdir"; \
+ $(mkinstalldirs) "$$docdir"; \
+ fi; \
+ echo "$(INSTALL_DATA) $$d$$doc $(DESTDIR)$(HELP_DIR)/$(_doc_install_dir)/$$doc"; \
+ $(INSTALL_DATA) $$d$$doc $(DESTDIR)$(HELP_DIR)/$(_doc_install_dir)/$$doc; \
+ done
+
+install-doc-figs:
+ @list='$(patsubst C/%,%,$(_DOC_C_FIGURES))'; for fig in $$list; do \
+ for lc in C $(_DOC_REAL_LINGUAS); do \
+ figsymlink=false; \
+ if test -f "$$lc/$$fig"; then \
+ figfile="$$lc/$$fig"; \
+ elif test -f "$(srcdir)/$$lc/$$fig"; then \
+ figfile="$(srcdir)/$$lc/$$fig"; \
+ else \
+ figsymlink=true; \
+ fi; \
+ figdir="$$lc/"`echo $$fig | sed -e 's/^\(.*\/\).*/\1/' -e '/\//!s/.*//'`; \
+ figdir="$(DESTDIR)$(HELP_DIR)/$(_doc_install_dir)/$$figdir"; \
+ if ! test -d "$$figdir"; then \
+ echo "$(mkinstalldirs) $$figdir"; \
+ $(mkinstalldirs) "$$figdir"; \
+ fi; \
+ figbase=`echo $$fig | sed -e 's/^.*\///'`; \
+ if $$figsymlink; then \
+ echo "cd $$figdir && $(LN_S) -f ../../C/$$fig $$figbase"; \
+ ( cd "$$figdir" && $(LN_S) -f "../../C/$$fig" "$$figbase" ); \
+ else \
+ echo "$(INSTALL_DATA) $$figfile $$figdir$$figbase"; \
+ $(INSTALL_DATA) "$$figfile" "$$figdir$$figbase"; \
+ fi; \
+ done; \
+ done
+
+install-doc-html:
+ echo install-html
+
+install-doc-omf:
+ $(mkinstalldirs) $(DESTDIR)$(OMF_DIR)/$(_doc_install_dir)
+ @list='$(_DOC_OMF_ALL)'; for omf in $$list; do \
+ echo "$(INSTALL_DATA) $$omf $(DESTDIR)$(OMF_DIR)/$(_doc_install_dir)/$$omf"; \
+ $(INSTALL_DATA) $$omf $(DESTDIR)$(OMF_DIR)/$(_doc_install_dir)/$$omf; \
+ done
+ @if test "x$(_ENABLE_SK)" = "xtrue"; then \
+ echo "scrollkeeper-update -p $(DESTDIR)$(_sklocalstatedir) -o $(DESTDIR)$(OMF_DIR)/$(_doc_install_dir)"; \
+ scrollkeeper-update -p "$(DESTDIR)$(_sklocalstatedir)" -o "$(DESTDIR)$(OMF_DIR)/$(_doc_install_dir)"; \
+ fi;
+
+install-doc-dsk:
+ echo install-dsk
+
+
+
+################################################################################
+## Uninstall
+
+.PHONY: uninstall-doc-docs uninstall-doc-html uninstall-doc-figs uninstall-doc-omf uninstall-doc-dsk
+uninstall-local: \
+ $(if $(DOC_MODULE)$(DOC_ID),uninstall-doc-docs) \
+ $(if $(_DOC_HTML_ALL),uninstall-doc-html) \
+ $(if $(_DOC_C_FIGURES),uninstall-doc-figs) \
+ $(if $(_DOC_OMF_IN),uninstall-doc-omf)
+# $(if $(_DOC_DSK_IN),uninstall-doc-dsk)
+
+uninstall-doc-docs:
+ @list='$(_DOC_C_DOCS) $(_DOC_LC_DOCS)'; for doc in $$list; do \
+ echo " rm -f $(DESTDIR)$(HELP_DIR)/$(_doc_install_dir)/$$doc"; \
+ rm -f "$(DESTDIR)$(HELP_DIR)/$(_doc_install_dir)/$$doc"; \
+ done
+
+uninstall-doc-figs:
+ @list='$(_DOC_C_FIGURES) $(_DOC_LC_FIGURES)'; for fig in $$list; do \
+ echo "rm -f $(DESTDIR)$(HELP_DIR)/$(_doc_install_dir)/$$fig"; \
+ rm -f "$(DESTDIR)$(HELP_DIR)/$(_doc_install_dir)/$$fig"; \
+ done;
+
+uninstall-doc-omf:
+ @list='$(_DOC_OMF_ALL)'; for omf in $$list; do \
+ if test "x$(_ENABLE_SK)" = "xtrue"; then \
+ echo "scrollkeeper-uninstall -p $(_sklocalstatedir) $(DESTDIR)$(OMF_DIR)/$(_doc_install_dir)/$$omf"; \
+ scrollkeeper-uninstall -p "$(_sklocalstatedir)" "$(DESTDIR)$(OMF_DIR)/$(_doc_install_dir)/$$omf"; \
+ fi; \
+ echo "rm -f $(DESTDIR)$(OMF_DIR)/$(_doc_install_dir)/$$omf"; \
+ rm -f "$(DESTDIR)$(OMF_DIR)/$(_doc_install_dir)/$$omf"; \
+ done
--- /dev/null
+#!/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:
--- /dev/null
+# Generated from ltmain.m4sh.
+
+# ltmain.sh (GNU libtool) 2.2.6b
+# Written by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
+
+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, 2006, 2007 2008 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.
+
+# GNU Libtool is free software; you can redistribute 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.
+#
+# As a special exception to the GNU General Public License,
+# if you distribute this file as part of a program or library that
+# is built using GNU Libtool, you may include this file under the
+# same distribution terms that you use for the rest of that program.
+#
+# GNU Libtool is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with GNU Libtool; see the file COPYING. If not, a copy
+# can be downloaded from http://www.gnu.org/licenses/gpl.html,
+# or obtained by writing to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+
+# Usage: $progname [OPTION]... [MODE-ARG]...
+#
+# Provide generalized library-building support services.
+#
+# --config show all configuration variables
+# --debug enable verbose shell tracing
+# -n, --dry-run display commands without modifying any files
+# --features display basic configuration information and exit
+# --mode=MODE use operation mode MODE
+# --preserve-dup-deps don't remove duplicate dependency libraries
+# --quiet, --silent don't print informational messages
+# --tag=TAG use configuration variables from tag TAG
+# -v, --verbose print informational messages (default)
+# --version print version information
+# -h, --help print short or long help message
+#
+# MODE must be one of the following:
+#
+# clean remove files from the build directory
+# compile compile a source file into a libtool object
+# execute automatically set library path, then run a program
+# finish complete the installation of libtool libraries
+# install install libraries or executables
+# link create a library or an executable
+# uninstall remove libraries from an installed directory
+#
+# MODE-ARGS vary depending on the MODE.
+# Try `$progname --help --mode=MODE' for a more detailed description of MODE.
+#
+# When reporting a bug, please describe a test case to reproduce it and
+# include the following information:
+#
+# host-triplet: $host
+# shell: $SHELL
+# compiler: $LTCC
+# compiler flags: $LTCFLAGS
+# linker: $LD (gnu? $with_gnu_ld)
+# $progname: (GNU libtool) 2.2.6b Debian-2.2.6b-2ubuntu1
+# automake: $automake_version
+# autoconf: $autoconf_version
+#
+# Report bugs to <bug-libtool@gnu.org>.
+
+PROGRAM=ltmain.sh
+PACKAGE=libtool
+VERSION="2.2.6b Debian-2.2.6b-2ubuntu1"
+TIMESTAMP=""
+package_revision=1.3017
+
+# Be Bourne compatible
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
+ emulate sh
+ NULLCMD=:
+ # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
+ # is contrary to our usage. Disable this feature.
+ alias -g '${1+"$@"}'='"$@"'
+ setopt NO_GLOB_SUBST
+else
+ case `(set -o) 2>/dev/null` in *posix*) set -o posix;; esac
+fi
+BIN_SH=xpg4; export BIN_SH # for Tru64
+DUALCASE=1; export DUALCASE # for MKS sh
+
+# NLS nuisances: We save the old values to restore during execute mode.
+# Only set LANG and LC_ALL to C if already set.
+# These must not be set unconditionally because not all systems understand
+# e.g. LANG=C (notably SCO).
+lt_user_locale=
+lt_safe_locale=
+for lt_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES
+do
+ eval "if test \"\${$lt_var+set}\" = set; then
+ save_$lt_var=\$$lt_var
+ $lt_var=C
+ export $lt_var
+ lt_user_locale=\"$lt_var=\\\$save_\$lt_var; \$lt_user_locale\"
+ lt_safe_locale=\"$lt_var=C; \$lt_safe_locale\"
+ fi"
+done
+
+$lt_unset CDPATH
+
+
+
+
+
+: ${CP="cp -f"}
+: ${ECHO="echo"}
+: ${EGREP="/bin/grep -E"}
+: ${FGREP="/bin/grep -F"}
+: ${GREP="/bin/grep"}
+: ${LN_S="ln -s"}
+: ${MAKE="make"}
+: ${MKDIR="mkdir"}
+: ${MV="mv -f"}
+: ${RM="rm -f"}
+: ${SED="/bin/sed"}
+: ${SHELL="${CONFIG_SHELL-/bin/sh}"}
+: ${Xsed="$SED -e 1s/^X//"}
+
+# Global variables:
+EXIT_SUCCESS=0
+EXIT_FAILURE=1
+EXIT_MISMATCH=63 # $? = 63 is used to indicate version mismatch to missing.
+EXIT_SKIP=77 # $? = 77 is used to indicate a skipped test to automake.
+
+exit_status=$EXIT_SUCCESS
+
+# Make sure IFS has a sensible default
+lt_nl='
+'
+IFS=" $lt_nl"
+
+dirname="s,/[^/]*$,,"
+basename="s,^.*/,,"
+
+# func_dirname_and_basename file append nondir_replacement
+# perform func_basename and func_dirname in a single function
+# call:
+# dirname: Compute the dirname of FILE. If nonempty,
+# add APPEND to the result, otherwise set result
+# to NONDIR_REPLACEMENT.
+# value returned in "$func_dirname_result"
+# basename: Compute filename of FILE.
+# value retuned in "$func_basename_result"
+# Implementation must be kept synchronized with func_dirname
+# and func_basename. For efficiency, we do not delegate to
+# those functions but instead duplicate the functionality here.
+func_dirname_and_basename ()
+{
+ # Extract subdirectory from the argument.
+ func_dirname_result=`$ECHO "X${1}" | $Xsed -e "$dirname"`
+ if test "X$func_dirname_result" = "X${1}"; then
+ func_dirname_result="${3}"
+ else
+ func_dirname_result="$func_dirname_result${2}"
+ fi
+ func_basename_result=`$ECHO "X${1}" | $Xsed -e "$basename"`
+}
+
+# Generated shell functions inserted here.
+
+# Work around backward compatibility issue on IRIX 6.5. On IRIX 6.4+, sh
+# is ksh but when the shell is invoked as "sh" and the current value of
+# the _XPG environment variable is not equal to 1 (one), the special
+# positional parameter $0, within a function call, is the name of the
+# function.
+progpath="$0"
+
+# The name of this program:
+# In the unlikely event $progname began with a '-', it would play havoc with
+# func_echo (imagine progname=-n), so we prepend ./ in that case:
+func_dirname_and_basename "$progpath"
+progname=$func_basename_result
+case $progname in
+ -*) progname=./$progname ;;
+esac
+
+# Make sure we have an absolute path for reexecution:
+case $progpath in
+ [\\/]*|[A-Za-z]:\\*) ;;
+ *[\\/]*)
+ progdir=$func_dirname_result
+ progdir=`cd "$progdir" && pwd`
+ progpath="$progdir/$progname"
+ ;;
+ *)
+ save_IFS="$IFS"
+ IFS=:
+ for progdir in $PATH; do
+ IFS="$save_IFS"
+ test -x "$progdir/$progname" && break
+ done
+ IFS="$save_IFS"
+ test -n "$progdir" || progdir=`pwd`
+ progpath="$progdir/$progname"
+ ;;
+esac
+
+# Sed substitution that helps us do robust quoting. It backslashifies
+# metacharacters that are still active within double-quoted strings.
+Xsed="${SED}"' -e 1s/^X//'
+sed_quote_subst='s/\([`"$\\]\)/\\\1/g'
+
+# Same as above, but do not quote variable references.
+double_quote_subst='s/\(["`\\]\)/\\\1/g'
+
+# Re-`\' parameter expansions in output of double_quote_subst that were
+# `\'-ed in input to the same. If an odd number of `\' preceded a '$'
+# in input to double_quote_subst, that '$' was protected from expansion.
+# Since each input `\' is now two `\'s, look for any number of runs of
+# four `\'s followed by two `\'s and then a '$'. `\' that '$'.
+bs='\\'
+bs2='\\\\'
+bs4='\\\\\\\\'
+dollar='\$'
+sed_double_backslash="\
+ s/$bs4/&\\
+/g
+ s/^$bs2$dollar/$bs&/
+ s/\\([^$bs]\\)$bs2$dollar/\\1$bs2$bs$dollar/g
+ s/\n//g"
+
+# Standard options:
+opt_dry_run=false
+opt_help=false
+opt_quiet=false
+opt_verbose=false
+opt_warning=:
+
+# func_echo arg...
+# Echo program name prefixed message, along with the current mode
+# name if it has been set yet.
+func_echo ()
+{
+ $ECHO "$progname${mode+: }$mode: $*"
+}
+
+# func_verbose arg...
+# Echo program name prefixed message in verbose mode only.
+func_verbose ()
+{
+ $opt_verbose && func_echo ${1+"$@"}
+
+ # A bug in bash halts the script if the last line of a function
+ # fails when set -e is in force, so we need another command to
+ # work around that:
+ :
+}
+
+# func_error arg...
+# Echo program name prefixed message to standard error.
+func_error ()
+{
+ $ECHO "$progname${mode+: }$mode: "${1+"$@"} 1>&2
+}
+
+# func_warning arg...
+# Echo program name prefixed warning message to standard error.
+func_warning ()
+{
+ $opt_warning && $ECHO "$progname${mode+: }$mode: warning: "${1+"$@"} 1>&2
+
+ # bash bug again:
+ :
+}
+
+# func_fatal_error arg...
+# Echo program name prefixed message to standard error, and exit.
+func_fatal_error ()
+{
+ func_error ${1+"$@"}
+ exit $EXIT_FAILURE
+}
+
+# func_fatal_help arg...
+# Echo program name prefixed message to standard error, followed by
+# a help hint, and exit.
+func_fatal_help ()
+{
+ func_error ${1+"$@"}
+ func_fatal_error "$help"
+}
+help="Try \`$progname --help' for more information." ## default
+
+
+# func_grep expression filename
+# Check whether EXPRESSION matches any line of FILENAME, without output.
+func_grep ()
+{
+ $GREP "$1" "$2" >/dev/null 2>&1
+}
+
+
+# func_mkdir_p directory-path
+# Make sure the entire path to DIRECTORY-PATH is available.
+func_mkdir_p ()
+{
+ my_directory_path="$1"
+ my_dir_list=
+
+ if test -n "$my_directory_path" && test "$opt_dry_run" != ":"; then
+
+ # Protect directory names starting with `-'
+ case $my_directory_path in
+ -*) my_directory_path="./$my_directory_path" ;;
+ esac
+
+ # While some portion of DIR does not yet exist...
+ while test ! -d "$my_directory_path"; do
+ # ...make a list in topmost first order. Use a colon delimited
+ # list incase some portion of path contains whitespace.
+ my_dir_list="$my_directory_path:$my_dir_list"
+
+ # If the last portion added has no slash in it, the list is done
+ case $my_directory_path in */*) ;; *) break ;; esac
+
+ # ...otherwise throw away the child directory and loop
+ my_directory_path=`$ECHO "X$my_directory_path" | $Xsed -e "$dirname"`
+ done
+ my_dir_list=`$ECHO "X$my_dir_list" | $Xsed -e 's,:*$,,'`
+
+ save_mkdir_p_IFS="$IFS"; IFS=':'
+ for my_dir in $my_dir_list; do
+ IFS="$save_mkdir_p_IFS"
+ # mkdir can fail with a `File exist' error if two processes
+ # try to create one of the directories concurrently. Don't
+ # stop in that case!
+ $MKDIR "$my_dir" 2>/dev/null || :
+ done
+ IFS="$save_mkdir_p_IFS"
+
+ # Bail out if we (or some other process) failed to create a directory.
+ test -d "$my_directory_path" || \
+ func_fatal_error "Failed to create \`$1'"
+ fi
+}
+
+
+# func_mktempdir [string]
+# Make a temporary directory that won't clash with other running
+# libtool processes, and avoids race conditions if possible. If
+# given, STRING is the basename for that directory.
+func_mktempdir ()
+{
+ my_template="${TMPDIR-/tmp}/${1-$progname}"
+
+ if test "$opt_dry_run" = ":"; then
+ # Return a directory name, but don't create it in dry-run mode
+ my_tmpdir="${my_template}-$$"
+ else
+
+ # If mktemp works, use that first and foremost
+ my_tmpdir=`mktemp -d "${my_template}-XXXXXXXX" 2>/dev/null`
+
+ if test ! -d "$my_tmpdir"; then
+ # Failing that, at least try and use $RANDOM to avoid a race
+ my_tmpdir="${my_template}-${RANDOM-0}$$"
+
+ save_mktempdir_umask=`umask`
+ umask 0077
+ $MKDIR "$my_tmpdir"
+ umask $save_mktempdir_umask
+ fi
+
+ # If we're not in dry-run mode, bomb out on failure
+ test -d "$my_tmpdir" || \
+ func_fatal_error "cannot create temporary directory \`$my_tmpdir'"
+ fi
+
+ $ECHO "X$my_tmpdir" | $Xsed
+}
+
+
+# func_quote_for_eval arg
+# Aesthetically quote ARG to be evaled later.
+# This function returns two values: FUNC_QUOTE_FOR_EVAL_RESULT
+# is double-quoted, suitable for a subsequent eval, whereas
+# FUNC_QUOTE_FOR_EVAL_UNQUOTED_RESULT has merely all characters
+# which are still active within double quotes backslashified.
+func_quote_for_eval ()
+{
+ case $1 in
+ *[\\\`\"\$]*)
+ func_quote_for_eval_unquoted_result=`$ECHO "X$1" | $Xsed -e "$sed_quote_subst"` ;;
+ *)
+ func_quote_for_eval_unquoted_result="$1" ;;
+ esac
+
+ case $func_quote_for_eval_unquoted_result in
+ # Double-quote args containing shell metacharacters to delay
+ # word splitting, command substitution and and variable
+ # expansion for a subsequent eval.
+ # Many Bourne shells cannot handle close brackets correctly
+ # in scan sets, so we specify it separately.
+ *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
+ func_quote_for_eval_result="\"$func_quote_for_eval_unquoted_result\""
+ ;;
+ *)
+ func_quote_for_eval_result="$func_quote_for_eval_unquoted_result"
+ esac
+}
+
+
+# func_quote_for_expand arg
+# Aesthetically quote ARG to be evaled later; same as above,
+# but do not quote variable references.
+func_quote_for_expand ()
+{
+ case $1 in
+ *[\\\`\"]*)
+ my_arg=`$ECHO "X$1" | $Xsed \
+ -e "$double_quote_subst" -e "$sed_double_backslash"` ;;
+ *)
+ my_arg="$1" ;;
+ esac
+
+ case $my_arg in
+ # Double-quote args containing shell metacharacters to delay
+ # word splitting and command substitution for a subsequent eval.
+ # Many Bourne shells cannot handle close brackets correctly
+ # in scan sets, so we specify it separately.
+ *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
+ my_arg="\"$my_arg\""
+ ;;
+ esac
+
+ func_quote_for_expand_result="$my_arg"
+}
+
+
+# func_show_eval cmd [fail_exp]
+# Unless opt_silent is true, then output CMD. Then, if opt_dryrun is
+# not true, evaluate CMD. If the evaluation of CMD fails, and FAIL_EXP
+# is given, then evaluate it.
+func_show_eval ()
+{
+ my_cmd="$1"
+ my_fail_exp="${2-:}"
+
+ ${opt_silent-false} || {
+ func_quote_for_expand "$my_cmd"
+ eval "func_echo $func_quote_for_expand_result"
+ }
+
+ if ${opt_dry_run-false}; then :; else
+ eval "$my_cmd"
+ my_status=$?
+ if test "$my_status" -eq 0; then :; else
+ eval "(exit $my_status); $my_fail_exp"
+ fi
+ fi
+}
+
+
+# func_show_eval_locale cmd [fail_exp]
+# Unless opt_silent is true, then output CMD. Then, if opt_dryrun is
+# not true, evaluate CMD. If the evaluation of CMD fails, and FAIL_EXP
+# is given, then evaluate it. Use the saved locale for evaluation.
+func_show_eval_locale ()
+{
+ my_cmd="$1"
+ my_fail_exp="${2-:}"
+
+ ${opt_silent-false} || {
+ func_quote_for_expand "$my_cmd"
+ eval "func_echo $func_quote_for_expand_result"
+ }
+
+ if ${opt_dry_run-false}; then :; else
+ eval "$lt_user_locale
+ $my_cmd"
+ my_status=$?
+ eval "$lt_safe_locale"
+ if test "$my_status" -eq 0; then :; else
+ eval "(exit $my_status); $my_fail_exp"
+ fi
+ fi
+}
+
+
+
+
+
+# func_version
+# Echo version message to standard output and exit.
+func_version ()
+{
+ $SED -n '/^# '$PROGRAM' (GNU /,/# warranty; / {
+ s/^# //
+ s/^# *$//
+ s/\((C)\)[ 0-9,-]*\( [1-9][0-9]*\)/\1\2/
+ p
+ }' < "$progpath"
+ exit $?
+}
+
+# func_usage
+# Echo short help message to standard output and exit.
+func_usage ()
+{
+ $SED -n '/^# Usage:/,/# -h/ {
+ s/^# //
+ s/^# *$//
+ s/\$progname/'$progname'/
+ p
+ }' < "$progpath"
+ $ECHO
+ $ECHO "run \`$progname --help | more' for full usage"
+ exit $?
+}
+
+# func_help
+# Echo long help message to standard output and exit.
+func_help ()
+{
+ $SED -n '/^# Usage:/,/# Report bugs to/ {
+ s/^# //
+ s/^# *$//
+ s*\$progname*'$progname'*
+ s*\$host*'"$host"'*
+ s*\$SHELL*'"$SHELL"'*
+ s*\$LTCC*'"$LTCC"'*
+ s*\$LTCFLAGS*'"$LTCFLAGS"'*
+ s*\$LD*'"$LD"'*
+ s/\$with_gnu_ld/'"$with_gnu_ld"'/
+ s/\$automake_version/'"`(automake --version) 2>/dev/null |$SED 1q`"'/
+ s/\$autoconf_version/'"`(autoconf --version) 2>/dev/null |$SED 1q`"'/
+ p
+ }' < "$progpath"
+ exit $?
+}
+
+# func_missing_arg argname
+# Echo program name prefixed message to standard error and set global
+# exit_cmd.
+func_missing_arg ()
+{
+ func_error "missing argument for $1"
+ exit_cmd=exit
+}
+
+exit_cmd=:
+
+
+
+
+
+# Check that we have a working $ECHO.
+if test "X$1" = X--no-reexec; then
+ # Discard the --no-reexec flag, and continue.
+ shift
+elif test "X$1" = X--fallback-echo; then
+ # Avoid inline document here, it may be left over
+ :
+elif test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t'; then
+ # Yippee, $ECHO works!
+ :
+else
+ # Restart under the correct shell, and then maybe $ECHO will work.
+ exec $SHELL "$progpath" --no-reexec ${1+"$@"}
+fi
+
+if test "X$1" = X--fallback-echo; then
+ # used as fallback echo
+ shift
+ cat <<EOF
+$*
+EOF
+ exit $EXIT_SUCCESS
+fi
+
+magic="%%%MAGIC variable%%%"
+magic_exe="%%%MAGIC EXE variable%%%"
+
+# Global variables.
+# $mode is unset
+nonopt=
+execute_dlfiles=
+preserve_args=
+lo2o="s/\\.lo\$/.${objext}/"
+o2lo="s/\\.${objext}\$/.lo/"
+extracted_archives=
+extracted_serial=0
+
+opt_dry_run=false
+opt_duplicate_deps=false
+opt_silent=false
+opt_debug=:
+
+# If this variable is set in any of the actions, the command in it
+# will be execed at the end. This prevents here-documents from being
+# left over by shells.
+exec_cmd=
+
+# func_fatal_configuration arg...
+# Echo program name prefixed message to standard error, followed by
+# a configuration failure hint, and exit.
+func_fatal_configuration ()
+{
+ func_error ${1+"$@"}
+ func_error "See the $PACKAGE documentation for more information."
+ func_fatal_error "Fatal configuration error."
+}
+
+
+# func_config
+# Display the configuration for all the tags in this script.
+func_config ()
+{
+ re_begincf='^# ### BEGIN LIBTOOL'
+ re_endcf='^# ### END LIBTOOL'
+
+ # Default configuration.
+ $SED "1,/$re_begincf CONFIG/d;/$re_endcf CONFIG/,\$d" < "$progpath"
+
+ # Now print the configurations for the tags.
+ for tagname in $taglist; do
+ $SED -n "/$re_begincf TAG CONFIG: $tagname\$/,/$re_endcf TAG CONFIG: $tagname\$/p" < "$progpath"
+ done
+
+ exit $?
+}
+
+# func_features
+# Display the features supported by this script.
+func_features ()
+{
+ $ECHO "host: $host"
+ if test "$build_libtool_libs" = yes; then
+ $ECHO "enable shared libraries"
+ else
+ $ECHO "disable shared libraries"
+ fi
+ if test "$build_old_libs" = yes; then
+ $ECHO "enable static libraries"
+ else
+ $ECHO "disable static libraries"
+ fi
+
+ exit $?
+}
+
+# func_enable_tag tagname
+# Verify that TAGNAME is valid, and either flag an error and exit, or
+# enable the TAGNAME tag. We also add TAGNAME to the global $taglist
+# variable here.
+func_enable_tag ()
+{
+ # Global variable:
+ tagname="$1"
+
+ re_begincf="^# ### BEGIN LIBTOOL TAG CONFIG: $tagname\$"
+ re_endcf="^# ### END LIBTOOL TAG CONFIG: $tagname\$"
+ sed_extractcf="/$re_begincf/,/$re_endcf/p"
+
+ # Validate tagname.
+ case $tagname in
+ *[!-_A-Za-z0-9,/]*)
+ func_fatal_error "invalid tag name: $tagname"
+ ;;
+ esac
+
+ # Don't test for the "default" C tag, as we know it's
+ # there but not specially marked.
+ case $tagname in
+ CC) ;;
+ *)
+ if $GREP "$re_begincf" "$progpath" >/dev/null 2>&1; then
+ taglist="$taglist $tagname"
+
+ # Evaluate the configuration. Be careful to quote the path
+ # and the sed script, to avoid splitting on whitespace, but
+ # also don't use non-portable quotes within backquotes within
+ # quotes we have to do it in 2 steps:
+ extractedcf=`$SED -n -e "$sed_extractcf" < "$progpath"`
+ eval "$extractedcf"
+ else
+ func_error "ignoring unknown tag $tagname"
+ fi
+ ;;
+ esac
+}
+
+# Parse options once, thoroughly. This comes as soon as possible in
+# the script to make things like `libtool --version' happen quickly.
+{
+
+ # Shorthand for --mode=foo, only valid as the first argument
+ case $1 in
+ clean|clea|cle|cl)
+ shift; set dummy --mode clean ${1+"$@"}; shift
+ ;;
+ compile|compil|compi|comp|com|co|c)
+ shift; set dummy --mode compile ${1+"$@"}; shift
+ ;;
+ execute|execut|execu|exec|exe|ex|e)
+ shift; set dummy --mode execute ${1+"$@"}; shift
+ ;;
+ finish|finis|fini|fin|fi|f)
+ shift; set dummy --mode finish ${1+"$@"}; shift
+ ;;
+ install|instal|insta|inst|ins|in|i)
+ shift; set dummy --mode install ${1+"$@"}; shift
+ ;;
+ link|lin|li|l)
+ shift; set dummy --mode link ${1+"$@"}; shift
+ ;;
+ uninstall|uninstal|uninsta|uninst|unins|unin|uni|un|u)
+ shift; set dummy --mode uninstall ${1+"$@"}; shift
+ ;;
+ esac
+
+ # Parse non-mode specific arguments:
+ while test "$#" -gt 0; do
+ opt="$1"
+ shift
+
+ case $opt in
+ --config) func_config ;;
+
+ --debug) preserve_args="$preserve_args $opt"
+ func_echo "enabling shell trace mode"
+ opt_debug='set -x'
+ $opt_debug
+ ;;
+
+ -dlopen) test "$#" -eq 0 && func_missing_arg "$opt" && break
+ execute_dlfiles="$execute_dlfiles $1"
+ shift
+ ;;
+
+ --dry-run | -n) opt_dry_run=: ;;
+ --features) func_features ;;
+ --finish) mode="finish" ;;
+
+ --mode) test "$#" -eq 0 && func_missing_arg "$opt" && break
+ case $1 in
+ # Valid mode arguments:
+ clean) ;;
+ compile) ;;
+ execute) ;;
+ finish) ;;
+ install) ;;
+ link) ;;
+ relink) ;;
+ uninstall) ;;
+
+ # Catch anything else as an error
+ *) func_error "invalid argument for $opt"
+ exit_cmd=exit
+ break
+ ;;
+ esac
+
+ mode="$1"
+ shift
+ ;;
+
+ --preserve-dup-deps)
+ opt_duplicate_deps=: ;;
+
+ --quiet|--silent) preserve_args="$preserve_args $opt"
+ opt_silent=:
+ ;;
+
+ --verbose| -v) preserve_args="$preserve_args $opt"
+ opt_silent=false
+ ;;
+
+ --tag) test "$#" -eq 0 && func_missing_arg "$opt" && break
+ preserve_args="$preserve_args $opt $1"
+ func_enable_tag "$1" # tagname is set here
+ shift
+ ;;
+
+ # Separate optargs to long options:
+ -dlopen=*|--mode=*|--tag=*)
+ func_opt_split "$opt"
+ set dummy "$func_opt_split_opt" "$func_opt_split_arg" ${1+"$@"}
+ shift
+ ;;
+
+ -\?|-h) func_usage ;;
+ --help) opt_help=: ;;
+ --version) func_version ;;
+
+ -*) func_fatal_help "unrecognized option \`$opt'" ;;
+
+ *) nonopt="$opt"
+ break
+ ;;
+ esac
+ done
+
+
+ case $host in
+ *cygwin* | *mingw* | *pw32* | *cegcc*)
+ # don't eliminate duplications in $postdeps and $predeps
+ opt_duplicate_compiler_generated_deps=:
+ ;;
+ *)
+ opt_duplicate_compiler_generated_deps=$opt_duplicate_deps
+ ;;
+ esac
+
+ # Having warned about all mis-specified options, bail out if
+ # anything was wrong.
+ $exit_cmd $EXIT_FAILURE
+}
+
+# func_check_version_match
+# Ensure that we are using m4 macros, and libtool script from the same
+# release of libtool.
+func_check_version_match ()
+{
+ if test "$package_revision" != "$macro_revision"; then
+ if test "$VERSION" != "$macro_version"; then
+ if test -z "$macro_version"; then
+ cat >&2 <<_LT_EOF
+$progname: Version mismatch error. This is $PACKAGE $VERSION, but the
+$progname: definition of this LT_INIT comes from an older release.
+$progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION
+$progname: and run autoconf again.
+_LT_EOF
+ else
+ cat >&2 <<_LT_EOF
+$progname: Version mismatch error. This is $PACKAGE $VERSION, but the
+$progname: definition of this LT_INIT comes from $PACKAGE $macro_version.
+$progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION
+$progname: and run autoconf again.
+_LT_EOF
+ fi
+ else
+ cat >&2 <<_LT_EOF
+$progname: Version mismatch error. This is $PACKAGE $VERSION, revision $package_revision,
+$progname: but the definition of this LT_INIT comes from revision $macro_revision.
+$progname: You should recreate aclocal.m4 with macros from revision $package_revision
+$progname: of $PACKAGE $VERSION and run autoconf again.
+_LT_EOF
+ fi
+
+ exit $EXIT_MISMATCH
+ fi
+}
+
+
+## ----------- ##
+## Main. ##
+## ----------- ##
+
+$opt_help || {
+ # Sanity checks first:
+ func_check_version_match
+
+ if test "$build_libtool_libs" != yes && test "$build_old_libs" != yes; then
+ func_fatal_configuration "not configured to build any kind of library"
+ fi
+
+ test -z "$mode" && func_fatal_error "error: you must specify a MODE."
+
+
+ # Darwin sucks
+ eval std_shrext=\"$shrext_cmds\"
+
+
+ # Only execute mode is allowed to have -dlopen flags.
+ if test -n "$execute_dlfiles" && test "$mode" != execute; then
+ func_error "unrecognized option \`-dlopen'"
+ $ECHO "$help" 1>&2
+ exit $EXIT_FAILURE
+ fi
+
+ # Change the help message to a mode-specific one.
+ generic_help="$help"
+ help="Try \`$progname --help --mode=$mode' for more information."
+}
+
+
+# func_lalib_p file
+# True iff FILE is a libtool `.la' library or `.lo' object file.
+# This function is only a basic sanity check; it will hardly flush out
+# determined imposters.
+func_lalib_p ()
+{
+ test -f "$1" &&
+ $SED -e 4q "$1" 2>/dev/null \
+ | $GREP "^# Generated by .*$PACKAGE" > /dev/null 2>&1
+}
+
+# func_lalib_unsafe_p file
+# True iff FILE is a libtool `.la' library or `.lo' object file.
+# This function implements the same check as func_lalib_p without
+# resorting to external programs. To this end, it redirects stdin and
+# closes it afterwards, without saving the original file descriptor.
+# As a safety measure, use it only where a negative result would be
+# fatal anyway. Works if `file' does not exist.
+func_lalib_unsafe_p ()
+{
+ lalib_p=no
+ if test -f "$1" && test -r "$1" && exec 5<&0 <"$1"; then
+ for lalib_p_l in 1 2 3 4
+ do
+ read lalib_p_line
+ case "$lalib_p_line" in
+ \#\ Generated\ by\ *$PACKAGE* ) lalib_p=yes; break;;
+ esac
+ done
+ exec 0<&5 5<&-
+ fi
+ test "$lalib_p" = yes
+}
+
+# func_ltwrapper_script_p file
+# True iff FILE is a libtool wrapper script
+# This function is only a basic sanity check; it will hardly flush out
+# determined imposters.
+func_ltwrapper_script_p ()
+{
+ func_lalib_p "$1"
+}
+
+# func_ltwrapper_executable_p file
+# True iff FILE is a libtool wrapper executable
+# This function is only a basic sanity check; it will hardly flush out
+# determined imposters.
+func_ltwrapper_executable_p ()
+{
+ func_ltwrapper_exec_suffix=
+ case $1 in
+ *.exe) ;;
+ *) func_ltwrapper_exec_suffix=.exe ;;
+ esac
+ $GREP "$magic_exe" "$1$func_ltwrapper_exec_suffix" >/dev/null 2>&1
+}
+
+# func_ltwrapper_scriptname file
+# Assumes file is an ltwrapper_executable
+# uses $file to determine the appropriate filename for a
+# temporary ltwrapper_script.
+func_ltwrapper_scriptname ()
+{
+ func_ltwrapper_scriptname_result=""
+ if func_ltwrapper_executable_p "$1"; then
+ func_dirname_and_basename "$1" "" "."
+ func_stripname '' '.exe' "$func_basename_result"
+ func_ltwrapper_scriptname_result="$func_dirname_result/$objdir/${func_stripname_result}_ltshwrapper"
+ fi
+}
+
+# func_ltwrapper_p file
+# True iff FILE is a libtool wrapper script or wrapper executable
+# This function is only a basic sanity check; it will hardly flush out
+# determined imposters.
+func_ltwrapper_p ()
+{
+ func_ltwrapper_script_p "$1" || func_ltwrapper_executable_p "$1"
+}
+
+
+# func_execute_cmds commands fail_cmd
+# Execute tilde-delimited COMMANDS.
+# If FAIL_CMD is given, eval that upon failure.
+# FAIL_CMD may read-access the current command in variable CMD!
+func_execute_cmds ()
+{
+ $opt_debug
+ save_ifs=$IFS; IFS='~'
+ for cmd in $1; do
+ IFS=$save_ifs
+ eval cmd=\"$cmd\"
+ func_show_eval "$cmd" "${2-:}"
+ done
+ IFS=$save_ifs
+}
+
+
+# func_source file
+# Source FILE, adding directory component if necessary.
+# Note that it is not necessary on cygwin/mingw to append a dot to
+# FILE even if both FILE and FILE.exe exist: automatic-append-.exe
+# behavior happens only for exec(3), not for open(2)! Also, sourcing
+# `FILE.' does not work on cygwin managed mounts.
+func_source ()
+{
+ $opt_debug
+ case $1 in
+ */* | *\\*) . "$1" ;;
+ *) . "./$1" ;;
+ esac
+}
+
+
+# func_infer_tag arg
+# Infer tagged configuration to use if any are available and
+# if one wasn't chosen via the "--tag" command line option.
+# Only attempt this if the compiler in the base compile
+# command doesn't match the default compiler.
+# arg is usually of the form 'gcc ...'
+func_infer_tag ()
+{
+ $opt_debug
+ if test -n "$available_tags" && test -z "$tagname"; then
+ CC_quoted=
+ for arg in $CC; do
+ func_quote_for_eval "$arg"
+ CC_quoted="$CC_quoted $func_quote_for_eval_result"
+ done
+ case $@ in
+ # Blanks in the command may have been stripped by the calling shell,
+ # but not from the CC environment variable when configure was run.
+ " $CC "* | "$CC "* | " `$ECHO $CC` "* | "`$ECHO $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$ECHO $CC_quoted` "* | "`$ECHO $CC_quoted` "*) ;;
+ # Blanks at the start of $base_compile will cause this to fail
+ # if we don't check for them as well.
+ *)
+ for z in $available_tags; do
+ if $GREP "^# ### BEGIN LIBTOOL TAG CONFIG: $z$" < "$progpath" > /dev/null; then
+ # Evaluate the configuration.
+ eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$z'$/,/^# ### END LIBTOOL TAG CONFIG: '$z'$/p' < $progpath`"
+ CC_quoted=
+ for arg in $CC; do
+ # Double-quote args containing other shell metacharacters.
+ func_quote_for_eval "$arg"
+ CC_quoted="$CC_quoted $func_quote_for_eval_result"
+ done
+ case "$@ " in
+ " $CC "* | "$CC "* | " `$ECHO $CC` "* | "`$ECHO $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$ECHO $CC_quoted` "* | "`$ECHO $CC_quoted` "*)
+ # The compiler in the base compile command matches
+ # the one in the tagged configuration.
+ # Assume this is the tagged configuration we want.
+ tagname=$z
+ break
+ ;;
+ esac
+ fi
+ done
+ # If $tagname still isn't set, then no tagged configuration
+ # was found and let the user know that the "--tag" command
+ # line option must be used.
+ if test -z "$tagname"; then
+ func_echo "unable to infer tagged configuration"
+ func_fatal_error "specify a tag with \`--tag'"
+# else
+# func_verbose "using $tagname tagged configuration"
+ fi
+ ;;
+ esac
+ fi
+}
+
+
+
+# func_write_libtool_object output_name pic_name nonpic_name
+# Create a libtool object file (analogous to a ".la" file),
+# but don't create it if we're doing a dry run.
+func_write_libtool_object ()
+{
+ write_libobj=${1}
+ if test "$build_libtool_libs" = yes; then
+ write_lobj=\'${2}\'
+ else
+ write_lobj=none
+ fi
+
+ if test "$build_old_libs" = yes; then
+ write_oldobj=\'${3}\'
+ else
+ write_oldobj=none
+ fi
+
+ $opt_dry_run || {
+ cat >${write_libobj}T <<EOF
+# $write_libobj - a libtool object file
+# Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object=$write_lobj
+
+# Name of the non-PIC object
+non_pic_object=$write_oldobj
+
+EOF
+ $MV "${write_libobj}T" "${write_libobj}"
+ }
+}
+
+# func_mode_compile arg...
+func_mode_compile ()
+{
+ $opt_debug
+ # Get the compilation command and the source file.
+ base_compile=
+ srcfile="$nonopt" # always keep a non-empty value in "srcfile"
+ suppress_opt=yes
+ suppress_output=
+ arg_mode=normal
+ libobj=
+ later=
+ pie_flag=
+
+ for arg
+ do
+ case $arg_mode in
+ arg )
+ # do not "continue". Instead, add this to base_compile
+ lastarg="$arg"
+ arg_mode=normal
+ ;;
+
+ target )
+ libobj="$arg"
+ arg_mode=normal
+ continue
+ ;;
+
+ normal )
+ # Accept any command-line options.
+ case $arg in
+ -o)
+ test -n "$libobj" && \
+ func_fatal_error "you cannot specify \`-o' more than once"
+ arg_mode=target
+ continue
+ ;;
+
+ -pie | -fpie | -fPIE)
+ pie_flag="$pie_flag $arg"
+ continue
+ ;;
+
+ -shared | -static | -prefer-pic | -prefer-non-pic)
+ later="$later $arg"
+ continue
+ ;;
+
+ -no-suppress)
+ suppress_opt=no
+ continue
+ ;;
+
+ -Xcompiler)
+ arg_mode=arg # the next one goes into the "base_compile" arg list
+ continue # The current "srcfile" will either be retained or
+ ;; # replaced later. I would guess that would be a bug.
+
+ -Wc,*)
+ func_stripname '-Wc,' '' "$arg"
+ args=$func_stripname_result
+ lastarg=
+ save_ifs="$IFS"; IFS=','
+ for arg in $args; do
+ IFS="$save_ifs"
+ func_quote_for_eval "$arg"
+ lastarg="$lastarg $func_quote_for_eval_result"
+ done
+ IFS="$save_ifs"
+ func_stripname ' ' '' "$lastarg"
+ lastarg=$func_stripname_result
+
+ # Add the arguments to base_compile.
+ base_compile="$base_compile $lastarg"
+ continue
+ ;;
+
+ *)
+ # Accept the current argument as the source file.
+ # The previous "srcfile" becomes the current argument.
+ #
+ lastarg="$srcfile"
+ srcfile="$arg"
+ ;;
+ esac # case $arg
+ ;;
+ esac # case $arg_mode
+
+ # Aesthetically quote the previous argument.
+ func_quote_for_eval "$lastarg"
+ base_compile="$base_compile $func_quote_for_eval_result"
+ done # for arg
+
+ case $arg_mode in
+ arg)
+ func_fatal_error "you must specify an argument for -Xcompile"
+ ;;
+ target)
+ func_fatal_error "you must specify a target with \`-o'"
+ ;;
+ *)
+ # Get the name of the library object.
+ test -z "$libobj" && {
+ func_basename "$srcfile"
+ libobj="$func_basename_result"
+ }
+ ;;
+ esac
+
+ # Recognize several different file suffixes.
+ # If the user specifies -o file.o, it is replaced with file.lo
+ case $libobj in
+ *.[cCFSifmso] | \
+ *.ada | *.adb | *.ads | *.asm | \
+ *.c++ | *.cc | *.ii | *.class | *.cpp | *.cxx | \
+ *.[fF][09]? | *.for | *.java | *.obj | *.sx)
+ func_xform "$libobj"
+ libobj=$func_xform_result
+ ;;
+ esac
+
+ case $libobj in
+ *.lo) func_lo2o "$libobj"; obj=$func_lo2o_result ;;
+ *)
+ func_fatal_error "cannot determine name of library object from \`$libobj'"
+ ;;
+ esac
+
+ func_infer_tag $base_compile
+
+ for arg in $later; do
+ case $arg in
+ -shared)
+ test "$build_libtool_libs" != yes && \
+ func_fatal_configuration "can not build a shared library"
+ build_old_libs=no
+ continue
+ ;;
+
+ -static)
+ build_libtool_libs=no
+ build_old_libs=yes
+ continue
+ ;;
+
+ -prefer-pic)
+ pic_mode=yes
+ continue
+ ;;
+
+ -prefer-non-pic)
+ pic_mode=no
+ continue
+ ;;
+ esac
+ done
+
+ func_quote_for_eval "$libobj"
+ test "X$libobj" != "X$func_quote_for_eval_result" \
+ && $ECHO "X$libobj" | $GREP '[]~#^*{};<>?"'"'"' &()|`$[]' \
+ && func_warning "libobj name \`$libobj' may not contain shell special characters."
+ func_dirname_and_basename "$obj" "/" ""
+ objname="$func_basename_result"
+ xdir="$func_dirname_result"
+ lobj=${xdir}$objdir/$objname
+
+ test -z "$base_compile" && \
+ func_fatal_help "you must specify a compilation command"
+
+ # Delete any leftover library objects.
+ if test "$build_old_libs" = yes; then
+ removelist="$obj $lobj $libobj ${libobj}T"
+ else
+ removelist="$lobj $libobj ${libobj}T"
+ fi
+
+ # On Cygwin there's no "real" PIC flag so we must build both object types
+ case $host_os in
+ cygwin* | mingw* | pw32* | os2* | cegcc*)
+ pic_mode=default
+ ;;
+ esac
+ if test "$pic_mode" = no && test "$deplibs_check_method" != pass_all; then
+ # non-PIC code in shared libraries is not supported
+ pic_mode=default
+ fi
+
+ # Calculate the filename of the output object if compiler does
+ # not support -o with -c
+ if test "$compiler_c_o" = no; then
+ output_obj=`$ECHO "X$srcfile" | $Xsed -e 's%^.*/%%' -e 's%\.[^.]*$%%'`.${objext}
+ lockfile="$output_obj.lock"
+ else
+ output_obj=
+ need_locks=no
+ lockfile=
+ fi
+
+ # Lock this critical section if it is needed
+ # We use this script file to make the link, it avoids creating a new file
+ if test "$need_locks" = yes; then
+ until $opt_dry_run || ln "$progpath" "$lockfile" 2>/dev/null; do
+ func_echo "Waiting for $lockfile to be removed"
+ sleep 2
+ done
+ elif test "$need_locks" = warn; then
+ if test -f "$lockfile"; then
+ $ECHO "\
+*** ERROR, $lockfile exists and contains:
+`cat $lockfile 2>/dev/null`
+
+This indicates that another process is trying to use the same
+temporary object file, and libtool could not work around it because
+your compiler does not support \`-c' and \`-o' together. If you
+repeat this compilation, it may succeed, by chance, but you had better
+avoid parallel builds (make -j) in this platform, or get a better
+compiler."
+
+ $opt_dry_run || $RM $removelist
+ exit $EXIT_FAILURE
+ fi
+ removelist="$removelist $output_obj"
+ $ECHO "$srcfile" > "$lockfile"
+ fi
+
+ $opt_dry_run || $RM $removelist
+ removelist="$removelist $lockfile"
+ trap '$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE' 1 2 15
+
+ if test -n "$fix_srcfile_path"; then
+ eval srcfile=\"$fix_srcfile_path\"
+ fi
+ func_quote_for_eval "$srcfile"
+ qsrcfile=$func_quote_for_eval_result
+
+ # Only build a PIC object if we are building libtool libraries.
+ if test "$build_libtool_libs" = yes; then
+ # Without this assignment, base_compile gets emptied.
+ fbsd_hideous_sh_bug=$base_compile
+
+ if test "$pic_mode" != no; then
+ command="$base_compile $qsrcfile $pic_flag"
+ else
+ # Don't build PIC code
+ command="$base_compile $qsrcfile"
+ fi
+
+ func_mkdir_p "$xdir$objdir"
+
+ if test -z "$output_obj"; then
+ # Place PIC objects in $objdir
+ command="$command -o $lobj"
+ fi
+
+ func_show_eval_locale "$command" \
+ 'test -n "$output_obj" && $RM $removelist; exit $EXIT_FAILURE'
+
+ if test "$need_locks" = warn &&
+ test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then
+ $ECHO "\
+*** ERROR, $lockfile contains:
+`cat $lockfile 2>/dev/null`
+
+but it should contain:
+$srcfile
+
+This indicates that another process is trying to use the same
+temporary object file, and libtool could not work around it because
+your compiler does not support \`-c' and \`-o' together. If you
+repeat this compilation, it may succeed, by chance, but you had better
+avoid parallel builds (make -j) in this platform, or get a better
+compiler."
+
+ $opt_dry_run || $RM $removelist
+ exit $EXIT_FAILURE
+ fi
+
+ # Just move the object if needed, then go on to compile the next one
+ if test -n "$output_obj" && test "X$output_obj" != "X$lobj"; then
+ func_show_eval '$MV "$output_obj" "$lobj"' \
+ 'error=$?; $opt_dry_run || $RM $removelist; exit $error'
+ fi
+
+ # Allow error messages only from the first compilation.
+ if test "$suppress_opt" = yes; then
+ suppress_output=' >/dev/null 2>&1'
+ fi
+ fi
+
+ # Only build a position-dependent object if we build old libraries.
+ if test "$build_old_libs" = yes; then
+ if test "$pic_mode" != yes; then
+ # Don't build PIC code
+ command="$base_compile $qsrcfile$pie_flag"
+ else
+ command="$base_compile $qsrcfile $pic_flag"
+ fi
+ if test "$compiler_c_o" = yes; then
+ command="$command -o $obj"
+ fi
+
+ # Suppress compiler output if we already did a PIC compilation.
+ command="$command$suppress_output"
+ func_show_eval_locale "$command" \
+ '$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE'
+
+ if test "$need_locks" = warn &&
+ test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then
+ $ECHO "\
+*** ERROR, $lockfile contains:
+`cat $lockfile 2>/dev/null`
+
+but it should contain:
+$srcfile
+
+This indicates that another process is trying to use the same
+temporary object file, and libtool could not work around it because
+your compiler does not support \`-c' and \`-o' together. If you
+repeat this compilation, it may succeed, by chance, but you had better
+avoid parallel builds (make -j) in this platform, or get a better
+compiler."
+
+ $opt_dry_run || $RM $removelist
+ exit $EXIT_FAILURE
+ fi
+
+ # Just move the object if needed
+ if test -n "$output_obj" && test "X$output_obj" != "X$obj"; then
+ func_show_eval '$MV "$output_obj" "$obj"' \
+ 'error=$?; $opt_dry_run || $RM $removelist; exit $error'
+ fi
+ fi
+
+ $opt_dry_run || {
+ func_write_libtool_object "$libobj" "$objdir/$objname" "$objname"
+
+ # Unlock the critical section if it was locked
+ if test "$need_locks" != no; then
+ removelist=$lockfile
+ $RM "$lockfile"
+ fi
+ }
+
+ exit $EXIT_SUCCESS
+}
+
+$opt_help || {
+test "$mode" = compile && func_mode_compile ${1+"$@"}
+}
+
+func_mode_help ()
+{
+ # We need to display help for each of the modes.
+ case $mode in
+ "")
+ # Generic help is extracted from the usage comments
+ # at the start of this file.
+ func_help
+ ;;
+
+ clean)
+ $ECHO \
+"Usage: $progname [OPTION]... --mode=clean RM [RM-OPTION]... FILE...
+
+Remove files from the build directory.
+
+RM is the name of the program to use to delete files associated with each FILE
+(typically \`/bin/rm'). RM-OPTIONS are options (such as \`-f') to be passed
+to RM.
+
+If FILE is a libtool library, object or program, all the files associated
+with it are deleted. Otherwise, only FILE itself is deleted using RM."
+ ;;
+
+ compile)
+ $ECHO \
+"Usage: $progname [OPTION]... --mode=compile COMPILE-COMMAND... SOURCEFILE
+
+Compile a source file into a libtool library object.
+
+This mode accepts the following additional options:
+
+ -o OUTPUT-FILE set the output file name to OUTPUT-FILE
+ -no-suppress do not suppress compiler output for multiple passes
+ -prefer-pic try to building PIC objects only
+ -prefer-non-pic try to building non-PIC objects only
+ -shared do not build a \`.o' file suitable for static linking
+ -static only build a \`.o' file suitable for static linking
+
+COMPILE-COMMAND is a command to be used in creating a \`standard' object file
+from the given SOURCEFILE.
+
+The output file name is determined by removing the directory component from
+SOURCEFILE, then substituting the C source code suffix \`.c' with the
+library object suffix, \`.lo'."
+ ;;
+
+ execute)
+ $ECHO \
+"Usage: $progname [OPTION]... --mode=execute COMMAND [ARGS]...
+
+Automatically set library path, then run a program.
+
+This mode accepts the following additional options:
+
+ -dlopen FILE add the directory containing FILE to the library path
+
+This mode sets the library path environment variable according to \`-dlopen'
+flags.
+
+If any of the ARGS are libtool executable wrappers, then they are translated
+into their corresponding uninstalled binary, and any of their required library
+directories are added to the library path.
+
+Then, COMMAND is executed, with ARGS as arguments."
+ ;;
+
+ finish)
+ $ECHO \
+"Usage: $progname [OPTION]... --mode=finish [LIBDIR]...
+
+Complete the installation of libtool libraries.
+
+Each LIBDIR is a directory that contains libtool libraries.
+
+The commands that this mode executes may require superuser privileges. Use
+the \`--dry-run' option if you just want to see what would be executed."
+ ;;
+
+ install)
+ $ECHO \
+"Usage: $progname [OPTION]... --mode=install INSTALL-COMMAND...
+
+Install executables or libraries.
+
+INSTALL-COMMAND is the installation command. The first component should be
+either the \`install' or \`cp' program.
+
+The following components of INSTALL-COMMAND are treated specially:
+
+ -inst-prefix PREFIX-DIR Use PREFIX-DIR as a staging area for installation
+
+The rest of the components are interpreted as arguments to that command (only
+BSD-compatible install options are recognized)."
+ ;;
+
+ link)
+ $ECHO \
+"Usage: $progname [OPTION]... --mode=link LINK-COMMAND...
+
+Link object files or libraries together to form another library, or to
+create an executable program.
+
+LINK-COMMAND is a command using the C compiler that you would use to create
+a program from several object files.
+
+The following components of LINK-COMMAND are treated specially:
+
+ -all-static do not do any dynamic linking at all
+ -avoid-version do not add a version suffix if possible
+ -dlopen FILE \`-dlpreopen' FILE if it cannot be dlopened at runtime
+ -dlpreopen FILE link in FILE and add its symbols to lt_preloaded_symbols
+ -export-dynamic allow symbols from OUTPUT-FILE to be resolved with dlsym(3)
+ -export-symbols SYMFILE
+ try to export only the symbols listed in SYMFILE
+ -export-symbols-regex REGEX
+ try to export only the symbols matching REGEX
+ -LLIBDIR search LIBDIR for required installed libraries
+ -lNAME OUTPUT-FILE requires the installed library libNAME
+ -module build a library that can dlopened
+ -no-fast-install disable the fast-install mode
+ -no-install link a not-installable executable
+ -no-undefined declare that a library does not refer to external symbols
+ -o OUTPUT-FILE create OUTPUT-FILE from the specified objects
+ -objectlist FILE Use a list of object files found in FILE to specify objects
+ -precious-files-regex REGEX
+ don't remove output files matching REGEX
+ -release RELEASE specify package release information
+ -rpath LIBDIR the created library will eventually be installed in LIBDIR
+ -R[ ]LIBDIR add LIBDIR to the runtime path of programs and libraries
+ -shared only do dynamic linking of libtool libraries
+ -shrext SUFFIX override the standard shared library file extension
+ -static do not do any dynamic linking of uninstalled libtool libraries
+ -static-libtool-libs
+ do not do any dynamic linking of libtool libraries
+ -version-info CURRENT[:REVISION[:AGE]]
+ specify library version info [each variable defaults to 0]
+ -weak LIBNAME declare that the target provides the LIBNAME interface
+
+All other options (arguments beginning with \`-') are ignored.
+
+Every other argument is treated as a filename. Files ending in \`.la' are
+treated as uninstalled libtool libraries, other files are standard or library
+object files.
+
+If the OUTPUT-FILE ends in \`.la', then a libtool library is created,
+only library objects (\`.lo' files) may be specified, and \`-rpath' is
+required, except when creating a convenience library.
+
+If OUTPUT-FILE ends in \`.a' or \`.lib', then a standard library is created
+using \`ar' and \`ranlib', or on Windows using \`lib'.
+
+If OUTPUT-FILE ends in \`.lo' or \`.${objext}', then a reloadable object file
+is created, otherwise an executable program is created."
+ ;;
+
+ uninstall)
+ $ECHO \
+"Usage: $progname [OPTION]... --mode=uninstall RM [RM-OPTION]... FILE...
+
+Remove libraries from an installation directory.
+
+RM is the name of the program to use to delete files associated with each FILE
+(typically \`/bin/rm'). RM-OPTIONS are options (such as \`-f') to be passed
+to RM.
+
+If FILE is a libtool library, all the files associated with it are deleted.
+Otherwise, only FILE itself is deleted using RM."
+ ;;
+
+ *)
+ func_fatal_help "invalid operation mode \`$mode'"
+ ;;
+ esac
+
+ $ECHO
+ $ECHO "Try \`$progname --help' for more information about other modes."
+
+ exit $?
+}
+
+ # Now that we've collected a possible --mode arg, show help if necessary
+ $opt_help && func_mode_help
+
+
+# func_mode_execute arg...
+func_mode_execute ()
+{
+ $opt_debug
+ # The first argument is the command name.
+ cmd="$nonopt"
+ test -z "$cmd" && \
+ func_fatal_help "you must specify a COMMAND"
+
+ # Handle -dlopen flags immediately.
+ for file in $execute_dlfiles; do
+ test -f "$file" \
+ || func_fatal_help "\`$file' is not a file"
+
+ dir=
+ case $file in
+ *.la)
+ # Check to see that this really is a libtool archive.
+ func_lalib_unsafe_p "$file" \
+ || func_fatal_help "\`$lib' is not a valid libtool archive"
+
+ # Read the libtool library.
+ dlname=
+ library_names=
+ func_source "$file"
+
+ # Skip this library if it cannot be dlopened.
+ if test -z "$dlname"; then
+ # Warn if it was a shared library.
+ test -n "$library_names" && \
+ func_warning "\`$file' was not linked with \`-export-dynamic'"
+ continue
+ fi
+
+ func_dirname "$file" "" "."
+ dir="$func_dirname_result"
+
+ if test -f "$dir/$objdir/$dlname"; then
+ dir="$dir/$objdir"
+ else
+ if test ! -f "$dir/$dlname"; then
+ func_fatal_error "cannot find \`$dlname' in \`$dir' or \`$dir/$objdir'"
+ fi
+ fi
+ ;;
+
+ *.lo)
+ # Just add the directory containing the .lo file.
+ func_dirname "$file" "" "."
+ dir="$func_dirname_result"
+ ;;
+
+ *)
+ func_warning "\`-dlopen' is ignored for non-libtool libraries and objects"
+ continue
+ ;;
+ esac
+
+ # Get the absolute pathname.
+ absdir=`cd "$dir" && pwd`
+ test -n "$absdir" && dir="$absdir"
+
+ # Now add the directory to shlibpath_var.
+ if eval "test -z \"\$$shlibpath_var\""; then
+ eval "$shlibpath_var=\"\$dir\""
+ else
+ eval "$shlibpath_var=\"\$dir:\$$shlibpath_var\""
+ fi
+ done
+
+ # This variable tells wrapper scripts just to set shlibpath_var
+ # rather than running their programs.
+ libtool_execute_magic="$magic"
+
+ # Check if any of the arguments is a wrapper script.
+ args=
+ for file
+ do
+ case $file in
+ -*) ;;
+ *)
+ # Do a test to see if this is really a libtool program.
+ if func_ltwrapper_script_p "$file"; then
+ func_source "$file"
+ # Transform arg to wrapped name.
+ file="$progdir/$program"
+ elif func_ltwrapper_executable_p "$file"; then
+ func_ltwrapper_scriptname "$file"
+ func_source "$func_ltwrapper_scriptname_result"
+ # Transform arg to wrapped name.
+ file="$progdir/$program"
+ fi
+ ;;
+ esac
+ # Quote arguments (to preserve shell metacharacters).
+ func_quote_for_eval "$file"
+ args="$args $func_quote_for_eval_result"
+ done
+
+ if test "X$opt_dry_run" = Xfalse; then
+ if test -n "$shlibpath_var"; then
+ # Export the shlibpath_var.
+ eval "export $shlibpath_var"
+ fi
+
+ # Restore saved environment variables
+ for lt_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES
+ do
+ eval "if test \"\${save_$lt_var+set}\" = set; then
+ $lt_var=\$save_$lt_var; export $lt_var
+ else
+ $lt_unset $lt_var
+ fi"
+ done
+
+ # Now prepare to actually exec the command.
+ exec_cmd="\$cmd$args"
+ else
+ # Display what would be done.
+ if test -n "$shlibpath_var"; then
+ eval "\$ECHO \"\$shlibpath_var=\$$shlibpath_var\""
+ $ECHO "export $shlibpath_var"
+ fi
+ $ECHO "$cmd$args"
+ exit $EXIT_SUCCESS
+ fi
+}
+
+test "$mode" = execute && func_mode_execute ${1+"$@"}
+
+
+# func_mode_finish arg...
+func_mode_finish ()
+{
+ $opt_debug
+ libdirs="$nonopt"
+ admincmds=
+
+ if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then
+ for dir
+ do
+ libdirs="$libdirs $dir"
+ done
+
+ for libdir in $libdirs; do
+ if test -n "$finish_cmds"; then
+ # Do each command in the finish commands.
+ func_execute_cmds "$finish_cmds" 'admincmds="$admincmds
+'"$cmd"'"'
+ fi
+ if test -n "$finish_eval"; then
+ # Do the single finish_eval.
+ eval cmds=\"$finish_eval\"
+ $opt_dry_run || eval "$cmds" || admincmds="$admincmds
+ $cmds"
+ fi
+ done
+ fi
+
+ # Exit here if they wanted silent mode.
+ $opt_silent && exit $EXIT_SUCCESS
+
+ $ECHO "X----------------------------------------------------------------------" | $Xsed
+ $ECHO "Libraries have been installed in:"
+ for libdir in $libdirs; do
+ $ECHO " $libdir"
+ done
+ $ECHO
+ $ECHO "If you ever happen to want to link against installed libraries"
+ $ECHO "in a given directory, LIBDIR, you must either use libtool, and"
+ $ECHO "specify the full pathname of the library, or use the \`-LLIBDIR'"
+ $ECHO "flag during linking and do at least one of the following:"
+ if test -n "$shlibpath_var"; then
+ $ECHO " - add LIBDIR to the \`$shlibpath_var' environment variable"
+ $ECHO " during execution"
+ fi
+ if test -n "$runpath_var"; then
+ $ECHO " - add LIBDIR to the \`$runpath_var' environment variable"
+ $ECHO " during linking"
+ fi
+ if test -n "$hardcode_libdir_flag_spec"; then
+ libdir=LIBDIR
+ eval flag=\"$hardcode_libdir_flag_spec\"
+
+ $ECHO " - use the \`$flag' linker flag"
+ fi
+ if test -n "$admincmds"; then
+ $ECHO " - have your system administrator run these commands:$admincmds"
+ fi
+ if test -f /etc/ld.so.conf; then
+ $ECHO " - have your system administrator add LIBDIR to \`/etc/ld.so.conf'"
+ fi
+ $ECHO
+
+ $ECHO "See any operating system documentation about shared libraries for"
+ case $host in
+ solaris2.[6789]|solaris2.1[0-9])
+ $ECHO "more information, such as the ld(1), crle(1) and ld.so(8) manual"
+ $ECHO "pages."
+ ;;
+ *)
+ $ECHO "more information, such as the ld(1) and ld.so(8) manual pages."
+ ;;
+ esac
+ $ECHO "X----------------------------------------------------------------------" | $Xsed
+ exit $EXIT_SUCCESS
+}
+
+test "$mode" = finish && func_mode_finish ${1+"$@"}
+
+
+# func_mode_install arg...
+func_mode_install ()
+{
+ $opt_debug
+ # There may be an optional sh(1) argument at the beginning of
+ # install_prog (especially on Windows NT).
+ if test "$nonopt" = "$SHELL" || test "$nonopt" = /bin/sh ||
+ # Allow the use of GNU shtool's install command.
+ $ECHO "X$nonopt" | $GREP shtool >/dev/null; then
+ # Aesthetically quote it.
+ func_quote_for_eval "$nonopt"
+ install_prog="$func_quote_for_eval_result "
+ arg=$1
+ shift
+ else
+ install_prog=
+ arg=$nonopt
+ fi
+
+ # The real first argument should be the name of the installation program.
+ # Aesthetically quote it.
+ func_quote_for_eval "$arg"
+ install_prog="$install_prog$func_quote_for_eval_result"
+
+ # We need to accept at least all the BSD install flags.
+ dest=
+ files=
+ opts=
+ prev=
+ install_type=
+ isdir=no
+ stripme=
+ for arg
+ do
+ if test -n "$dest"; then
+ files="$files $dest"
+ dest=$arg
+ continue
+ fi
+
+ case $arg in
+ -d) isdir=yes ;;
+ -f)
+ case " $install_prog " in
+ *[\\\ /]cp\ *) ;;
+ *) prev=$arg ;;
+ esac
+ ;;
+ -g | -m | -o)
+ prev=$arg
+ ;;
+ -s)
+ stripme=" -s"
+ continue
+ ;;
+ -*)
+ ;;
+ *)
+ # If the previous option needed an argument, then skip it.
+ if test -n "$prev"; then
+ prev=
+ else
+ dest=$arg
+ continue
+ fi
+ ;;
+ esac
+
+ # Aesthetically quote the argument.
+ func_quote_for_eval "$arg"
+ install_prog="$install_prog $func_quote_for_eval_result"
+ done
+
+ test -z "$install_prog" && \
+ func_fatal_help "you must specify an install program"
+
+ test -n "$prev" && \
+ func_fatal_help "the \`$prev' option requires an argument"
+
+ if test -z "$files"; then
+ if test -z "$dest"; then
+ func_fatal_help "no file or destination specified"
+ else
+ func_fatal_help "you must specify a destination"
+ fi
+ fi
+
+ # Strip any trailing slash from the destination.
+ func_stripname '' '/' "$dest"
+ dest=$func_stripname_result
+
+ # Check to see that the destination is a directory.
+ test -d "$dest" && isdir=yes
+ if test "$isdir" = yes; then
+ destdir="$dest"
+ destname=
+ else
+ func_dirname_and_basename "$dest" "" "."
+ destdir="$func_dirname_result"
+ destname="$func_basename_result"
+
+ # Not a directory, so check to see that there is only one file specified.
+ set dummy $files; shift
+ test "$#" -gt 1 && \
+ func_fatal_help "\`$dest' is not a directory"
+ fi
+ case $destdir in
+ [\\/]* | [A-Za-z]:[\\/]*) ;;
+ *)
+ for file in $files; do
+ case $file in
+ *.lo) ;;
+ *)
+ func_fatal_help "\`$destdir' must be an absolute directory name"
+ ;;
+ esac
+ done
+ ;;
+ esac
+
+ # This variable tells wrapper scripts just to set variables rather
+ # than running their programs.
+ libtool_install_magic="$magic"
+
+ staticlibs=
+ future_libdirs=
+ current_libdirs=
+ for file in $files; do
+
+ # Do each installation.
+ case $file in
+ *.$libext)
+ # Do the static libraries later.
+ staticlibs="$staticlibs $file"
+ ;;
+
+ *.la)
+ # Check to see that this really is a libtool archive.
+ func_lalib_unsafe_p "$file" \
+ || func_fatal_help "\`$file' is not a valid libtool archive"
+
+ library_names=
+ old_library=
+ relink_command=
+ func_source "$file"
+
+ # Add the libdir to current_libdirs if it is the destination.
+ if test "X$destdir" = "X$libdir"; then
+ case "$current_libdirs " in
+ *" $libdir "*) ;;
+ *) current_libdirs="$current_libdirs $libdir" ;;
+ esac
+ else
+ # Note the libdir as a future libdir.
+ case "$future_libdirs " in
+ *" $libdir "*) ;;
+ *) future_libdirs="$future_libdirs $libdir" ;;
+ esac
+ fi
+
+ func_dirname "$file" "/" ""
+ dir="$func_dirname_result"
+ dir="$dir$objdir"
+
+ if test -n "$relink_command"; then
+ # Determine the prefix the user has applied to our future dir.
+ inst_prefix_dir=`$ECHO "X$destdir" | $Xsed -e "s%$libdir\$%%"`
+
+ # Don't allow the user to place us outside of our expected
+ # location b/c this prevents finding dependent libraries that
+ # are installed to the same prefix.
+ # At present, this check doesn't affect windows .dll's that
+ # are installed into $libdir/../bin (currently, that works fine)
+ # but it's something to keep an eye on.
+ test "$inst_prefix_dir" = "$destdir" && \
+ func_fatal_error "error: cannot install \`$file' to a directory not ending in $libdir"
+
+ if test -n "$inst_prefix_dir"; then
+ # Stick the inst_prefix_dir data into the link command.
+ relink_command=`$ECHO "X$relink_command" | $Xsed -e "s%@inst_prefix_dir@%-inst-prefix-dir $inst_prefix_dir%"`
+ else
+ relink_command=`$ECHO "X$relink_command" | $Xsed -e "s%@inst_prefix_dir@%%"`
+ fi
+
+ func_warning "relinking \`$file'"
+ func_show_eval "$relink_command" \
+ 'func_fatal_error "error: relink \`$file'\'' with the above command before installing it"'
+ fi
+
+ # See the names of the shared library.
+ set dummy $library_names; shift
+ if test -n "$1"; then
+ realname="$1"
+ shift
+
+ srcname="$realname"
+ test -n "$relink_command" && srcname="$realname"T
+
+ # Install the shared library and build the symlinks.
+ func_show_eval "$install_prog $dir/$srcname $destdir/$realname" \
+ 'exit $?'
+ tstripme="$stripme"
+ case $host_os in
+ cygwin* | mingw* | pw32* | cegcc*)
+ case $realname in
+ *.dll.a)
+ tstripme=""
+ ;;
+ esac
+ ;;
+ esac
+ if test -n "$tstripme" && test -n "$striplib"; then
+ func_show_eval "$striplib $destdir/$realname" 'exit $?'
+ fi
+
+ if test "$#" -gt 0; then
+ # Delete the old symlinks, and create new ones.
+ # Try `ln -sf' first, because the `ln' binary might depend on
+ # the symlink we replace! Solaris /bin/ln does not understand -f,
+ # so we also need to try rm && ln -s.
+ for linkname
+ do
+ test "$linkname" != "$realname" \
+ && func_show_eval "(cd $destdir && { $LN_S -f $realname $linkname || { $RM $linkname && $LN_S $realname $linkname; }; })"
+ done
+ fi
+
+ # Do each command in the postinstall commands.
+ lib="$destdir/$realname"
+ func_execute_cmds "$postinstall_cmds" 'exit $?'
+ fi
+
+ # Install the pseudo-library for information purposes.
+ func_basename "$file"
+ name="$func_basename_result"
+ instname="$dir/$name"i
+ func_show_eval "$install_prog $instname $destdir/$name" 'exit $?'
+
+ # Maybe install the static library, too.
+ test -n "$old_library" && staticlibs="$staticlibs $dir/$old_library"
+ ;;
+
+ *.lo)
+ # Install (i.e. copy) a libtool object.
+
+ # Figure out destination file name, if it wasn't already specified.
+ if test -n "$destname"; then
+ destfile="$destdir/$destname"
+ else
+ func_basename "$file"
+ destfile="$func_basename_result"
+ destfile="$destdir/$destfile"
+ fi
+
+ # Deduce the name of the destination old-style object file.
+ case $destfile in
+ *.lo)
+ func_lo2o "$destfile"
+ staticdest=$func_lo2o_result
+ ;;
+ *.$objext)
+ staticdest="$destfile"
+ destfile=
+ ;;
+ *)
+ func_fatal_help "cannot copy a libtool object to \`$destfile'"
+ ;;
+ esac
+
+ # Install the libtool object if requested.
+ test -n "$destfile" && \
+ func_show_eval "$install_prog $file $destfile" 'exit $?'
+
+ # Install the old object if enabled.
+ if test "$build_old_libs" = yes; then
+ # Deduce the name of the old-style object file.
+ func_lo2o "$file"
+ staticobj=$func_lo2o_result
+ func_show_eval "$install_prog \$staticobj \$staticdest" 'exit $?'
+ fi
+ exit $EXIT_SUCCESS
+ ;;
+
+ *)
+ # Figure out destination file name, if it wasn't already specified.
+ if test -n "$destname"; then
+ destfile="$destdir/$destname"
+ else
+ func_basename "$file"
+ destfile="$func_basename_result"
+ destfile="$destdir/$destfile"
+ fi
+
+ # If the file is missing, and there is a .exe on the end, strip it
+ # because it is most likely a libtool script we actually want to
+ # install
+ stripped_ext=""
+ case $file in
+ *.exe)
+ if test ! -f "$file"; then
+ func_stripname '' '.exe' "$file"
+ file=$func_stripname_result
+ stripped_ext=".exe"
+ fi
+ ;;
+ esac
+
+ # Do a test to see if this is really a libtool program.
+ case $host in
+ *cygwin* | *mingw*)
+ if func_ltwrapper_executable_p "$file"; then
+ func_ltwrapper_scriptname "$file"
+ wrapper=$func_ltwrapper_scriptname_result
+ else
+ func_stripname '' '.exe' "$file"
+ wrapper=$func_stripname_result
+ fi
+ ;;
+ *)
+ wrapper=$file
+ ;;
+ esac
+ if func_ltwrapper_script_p "$wrapper"; then
+ notinst_deplibs=
+ relink_command=
+
+ func_source "$wrapper"
+
+ # Check the variables that should have been set.
+ test -z "$generated_by_libtool_version" && \
+ func_fatal_error "invalid libtool wrapper script \`$wrapper'"
+
+ finalize=yes
+ for lib in $notinst_deplibs; do
+ # Check to see that each library is installed.
+ libdir=
+ if test -f "$lib"; then
+ func_source "$lib"
+ fi
+ libfile="$libdir/"`$ECHO "X$lib" | $Xsed -e 's%^.*/%%g'` ### testsuite: skip nested quoting test
+ if test -n "$libdir" && test ! -f "$libfile"; then
+ func_warning "\`$lib' has not been installed in \`$libdir'"
+ finalize=no
+ fi
+ done
+
+ relink_command=
+ func_source "$wrapper"
+
+ outputname=
+ if test "$fast_install" = no && test -n "$relink_command"; then
+ $opt_dry_run || {
+ if test "$finalize" = yes; then
+ tmpdir=`func_mktempdir`
+ func_basename "$file$stripped_ext"
+ file="$func_basename_result"
+ outputname="$tmpdir/$file"
+ # Replace the output file specification.
+ relink_command=`$ECHO "X$relink_command" | $Xsed -e 's%@OUTPUT@%'"$outputname"'%g'`
+
+ $opt_silent || {
+ func_quote_for_expand "$relink_command"
+ eval "func_echo $func_quote_for_expand_result"
+ }
+ if eval "$relink_command"; then :
+ else
+ func_error "error: relink \`$file' with the above command before installing it"
+ $opt_dry_run || ${RM}r "$tmpdir"
+ continue
+ fi
+ file="$outputname"
+ else
+ func_warning "cannot relink \`$file'"
+ fi
+ }
+ else
+ # Install the binary that we compiled earlier.
+ file=`$ECHO "X$file$stripped_ext" | $Xsed -e "s%\([^/]*\)$%$objdir/\1%"`
+ fi
+ fi
+
+ # remove .exe since cygwin /usr/bin/install will append another
+ # one anyway
+ case $install_prog,$host in
+ */usr/bin/install*,*cygwin*)
+ case $file:$destfile in
+ *.exe:*.exe)
+ # this is ok
+ ;;
+ *.exe:*)
+ destfile=$destfile.exe
+ ;;
+ *:*.exe)
+ func_stripname '' '.exe' "$destfile"
+ destfile=$func_stripname_result
+ ;;
+ esac
+ ;;
+ esac
+ func_show_eval "$install_prog\$stripme \$file \$destfile" 'exit $?'
+ $opt_dry_run || if test -n "$outputname"; then
+ ${RM}r "$tmpdir"
+ fi
+ ;;
+ esac
+ done
+
+ for file in $staticlibs; do
+ func_basename "$file"
+ name="$func_basename_result"
+
+ # Set up the ranlib parameters.
+ oldlib="$destdir/$name"
+
+ func_show_eval "$install_prog \$file \$oldlib" 'exit $?'
+
+ if test -n "$stripme" && test -n "$old_striplib"; then
+ func_show_eval "$old_striplib $oldlib" 'exit $?'
+ fi
+
+ # Do each command in the postinstall commands.
+ func_execute_cmds "$old_postinstall_cmds" 'exit $?'
+ done
+
+ test -n "$future_libdirs" && \
+ func_warning "remember to run \`$progname --finish$future_libdirs'"
+
+ if test -n "$current_libdirs"; then
+ # Maybe just do a dry run.
+ $opt_dry_run && current_libdirs=" -n$current_libdirs"
+ exec_cmd='$SHELL $progpath $preserve_args --finish$current_libdirs'
+ else
+ exit $EXIT_SUCCESS
+ fi
+}
+
+test "$mode" = install && func_mode_install ${1+"$@"}
+
+
+# func_generate_dlsyms outputname originator pic_p
+# Extract symbols from dlprefiles and create ${outputname}S.o with
+# a dlpreopen symbol table.
+func_generate_dlsyms ()
+{
+ $opt_debug
+ my_outputname="$1"
+ my_originator="$2"
+ my_pic_p="${3-no}"
+ my_prefix=`$ECHO "$my_originator" | sed 's%[^a-zA-Z0-9]%_%g'`
+ my_dlsyms=
+
+ if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
+ if test -n "$NM" && test -n "$global_symbol_pipe"; then
+ my_dlsyms="${my_outputname}S.c"
+ else
+ func_error "not configured to extract global symbols from dlpreopened files"
+ fi
+ fi
+
+ if test -n "$my_dlsyms"; then
+ case $my_dlsyms in
+ "") ;;
+ *.c)
+ # Discover the nlist of each of the dlfiles.
+ nlist="$output_objdir/${my_outputname}.nm"
+
+ func_show_eval "$RM $nlist ${nlist}S ${nlist}T"
+
+ # Parse the name list into a source file.
+ func_verbose "creating $output_objdir/$my_dlsyms"
+
+ $opt_dry_run || $ECHO > "$output_objdir/$my_dlsyms" "\
+/* $my_dlsyms - symbol resolution table for \`$my_outputname' dlsym emulation. */
+/* Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION */
+
+#ifdef __cplusplus
+extern \"C\" {
+#endif
+
+/* External symbol declarations for the compiler. */\
+"
+
+ if test "$dlself" = yes; then
+ func_verbose "generating symbol list for \`$output'"
+
+ $opt_dry_run || echo ': @PROGRAM@ ' > "$nlist"
+
+ # Add our own program objects to the symbol list.
+ progfiles=`$ECHO "X$objs$old_deplibs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
+ for progfile in $progfiles; do
+ func_verbose "extracting global C symbols from \`$progfile'"
+ $opt_dry_run || eval "$NM $progfile | $global_symbol_pipe >> '$nlist'"
+ done
+
+ if test -n "$exclude_expsyms"; then
+ $opt_dry_run || {
+ eval '$EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T'
+ eval '$MV "$nlist"T "$nlist"'
+ }
+ fi
+
+ if test -n "$export_symbols_regex"; then
+ $opt_dry_run || {
+ eval '$EGREP -e "$export_symbols_regex" "$nlist" > "$nlist"T'
+ eval '$MV "$nlist"T "$nlist"'
+ }
+ fi
+
+ # Prepare the list of exported symbols
+ if test -z "$export_symbols"; then
+ export_symbols="$output_objdir/$outputname.exp"
+ $opt_dry_run || {
+ $RM $export_symbols
+ eval "${SED} -n -e '/^: @PROGRAM@ $/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"'
+ case $host in
+ *cygwin* | *mingw* | *cegcc* )
+ eval "echo EXPORTS "'> "$output_objdir/$outputname.def"'
+ eval 'cat "$export_symbols" >> "$output_objdir/$outputname.def"'
+ ;;
+ esac
+ }
+ else
+ $opt_dry_run || {
+ eval "${SED} -e 's/\([].[*^$]\)/\\\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$outputname.exp"'
+ eval '$GREP -f "$output_objdir/$outputname.exp" < "$nlist" > "$nlist"T'
+ eval '$MV "$nlist"T "$nlist"'
+ case $host in
+ *cygwin | *mingw* | *cegcc* )
+ eval "echo EXPORTS "'> "$output_objdir/$outputname.def"'
+ eval 'cat "$nlist" >> "$output_objdir/$outputname.def"'
+ ;;
+ esac
+ }
+ fi
+ fi
+
+ for dlprefile in $dlprefiles; do
+ func_verbose "extracting global C symbols from \`$dlprefile'"
+ func_basename "$dlprefile"
+ name="$func_basename_result"
+ $opt_dry_run || {
+ eval '$ECHO ": $name " >> "$nlist"'
+ eval "$NM $dlprefile 2>/dev/null | $global_symbol_pipe >> '$nlist'"
+ }
+ done
+
+ $opt_dry_run || {
+ # Make sure we have at least an empty file.
+ test -f "$nlist" || : > "$nlist"
+
+ if test -n "$exclude_expsyms"; then
+ $EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T
+ $MV "$nlist"T "$nlist"
+ fi
+
+ # Try sorting and uniquifying the output.
+ if $GREP -v "^: " < "$nlist" |
+ if sort -k 3 </dev/null >/dev/null 2>&1; then
+ sort -k 3
+ else
+ sort +2
+ fi |
+ uniq > "$nlist"S; then
+ :
+ else
+ $GREP -v "^: " < "$nlist" > "$nlist"S
+ fi
+
+ if test -f "$nlist"S; then
+ eval "$global_symbol_to_cdecl"' < "$nlist"S >> "$output_objdir/$my_dlsyms"'
+ else
+ $ECHO '/* NONE */' >> "$output_objdir/$my_dlsyms"
+ fi
+
+ $ECHO >> "$output_objdir/$my_dlsyms" "\
+
+/* The mapping between symbol names and symbols. */
+typedef struct {
+ const char *name;
+ void *address;
+} lt_dlsymlist;
+"
+ case $host in
+ *cygwin* | *mingw* | *cegcc* )
+ $ECHO >> "$output_objdir/$my_dlsyms" "\
+/* DATA imports from DLLs on WIN32 con't be const, because
+ runtime relocations are performed -- see ld's documentation
+ on pseudo-relocs. */"
+ lt_dlsym_const= ;;
+ *osf5*)
+ echo >> "$output_objdir/$my_dlsyms" "\
+/* This system does not cope well with relocations in const data */"
+ lt_dlsym_const= ;;
+ *)
+ lt_dlsym_const=const ;;
+ esac
+
+ $ECHO >> "$output_objdir/$my_dlsyms" "\
+extern $lt_dlsym_const lt_dlsymlist
+lt_${my_prefix}_LTX_preloaded_symbols[];
+$lt_dlsym_const lt_dlsymlist
+lt_${my_prefix}_LTX_preloaded_symbols[] =
+{\
+ { \"$my_originator\", (void *) 0 },"
+
+ case $need_lib_prefix in
+ no)
+ eval "$global_symbol_to_c_name_address" < "$nlist" >> "$output_objdir/$my_dlsyms"
+ ;;
+ *)
+ eval "$global_symbol_to_c_name_address_lib_prefix" < "$nlist" >> "$output_objdir/$my_dlsyms"
+ ;;
+ esac
+ $ECHO >> "$output_objdir/$my_dlsyms" "\
+ {0, (void *) 0}
+};
+
+/* This works around a problem in FreeBSD linker */
+#ifdef FREEBSD_WORKAROUND
+static const void *lt_preloaded_setup() {
+ return lt_${my_prefix}_LTX_preloaded_symbols;
+}
+#endif
+
+#ifdef __cplusplus
+}
+#endif\
+"
+ } # !$opt_dry_run
+
+ pic_flag_for_symtable=
+ case "$compile_command " in
+ *" -static "*) ;;
+ *)
+ case $host in
+ # compiling the symbol table file with pic_flag works around
+ # a FreeBSD bug that causes programs to crash when -lm is
+ # linked before any other PIC object. But we must not use
+ # pic_flag when linking with -static. The problem exists in
+ # FreeBSD 2.2.6 and is fixed in FreeBSD 3.1.
+ *-*-freebsd2*|*-*-freebsd3.0*|*-*-freebsdelf3.0*)
+ pic_flag_for_symtable=" $pic_flag -DFREEBSD_WORKAROUND" ;;
+ *-*-hpux*)
+ pic_flag_for_symtable=" $pic_flag" ;;
+ *)
+ if test "X$my_pic_p" != Xno; then
+ pic_flag_for_symtable=" $pic_flag"
+ fi
+ ;;
+ esac
+ ;;
+ esac
+ symtab_cflags=
+ for arg in $LTCFLAGS; do
+ case $arg in
+ -pie | -fpie | -fPIE) ;;
+ *) symtab_cflags="$symtab_cflags $arg" ;;
+ esac
+ done
+
+ # Now compile the dynamic symbol file.
+ func_show_eval '(cd $output_objdir && $LTCC$symtab_cflags -c$no_builtin_flag$pic_flag_for_symtable "$my_dlsyms")' 'exit $?'
+
+ # Clean up the generated files.
+ func_show_eval '$RM "$output_objdir/$my_dlsyms" "$nlist" "${nlist}S" "${nlist}T"'
+
+ # Transform the symbol file into the correct name.
+ symfileobj="$output_objdir/${my_outputname}S.$objext"
+ case $host in
+ *cygwin* | *mingw* | *cegcc* )
+ if test -f "$output_objdir/$my_outputname.def"; then
+ compile_command=`$ECHO "X$compile_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"`
+ finalize_command=`$ECHO "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"`
+ else
+ compile_command=`$ECHO "X$compile_command" | $Xsed -e "s%@SYMFILE@%$symfileobj%"`
+ finalize_command=`$ECHO "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$symfileobj%"`
+ fi
+ ;;
+ *)
+ compile_command=`$ECHO "X$compile_command" | $Xsed -e "s%@SYMFILE@%$symfileobj%"`
+ finalize_command=`$ECHO "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$symfileobj%"`
+ ;;
+ esac
+ ;;
+ *)
+ func_fatal_error "unknown suffix for \`$my_dlsyms'"
+ ;;
+ esac
+ else
+ # We keep going just in case the user didn't refer to
+ # lt_preloaded_symbols. The linker will fail if global_symbol_pipe
+ # really was required.
+
+ # Nullify the symbol file.
+ compile_command=`$ECHO "X$compile_command" | $Xsed -e "s% @SYMFILE@%%"`
+ finalize_command=`$ECHO "X$finalize_command" | $Xsed -e "s% @SYMFILE@%%"`
+ fi
+}
+
+# func_win32_libid arg
+# return the library type of file 'arg'
+#
+# Need a lot of goo to handle *both* DLLs and import libs
+# Has to be a shell function in order to 'eat' the argument
+# that is supplied when $file_magic_command is called.
+func_win32_libid ()
+{
+ $opt_debug
+ win32_libid_type="unknown"
+ win32_fileres=`file -L $1 2>/dev/null`
+ case $win32_fileres in
+ *ar\ archive\ import\ library*) # definitely import
+ win32_libid_type="x86 archive import"
+ ;;
+ *ar\ archive*) # could be an import, or static
+ if eval $OBJDUMP -f $1 | $SED -e '10q' 2>/dev/null |
+ $EGREP 'file format pe-i386(.*architecture: i386)?' >/dev/null ; then
+ win32_nmres=`eval $NM -f posix -A $1 |
+ $SED -n -e '
+ 1,100{
+ / I /{
+ s,.*,import,
+ p
+ q
+ }
+ }'`
+ case $win32_nmres in
+ import*) win32_libid_type="x86 archive import";;
+ *) win32_libid_type="x86 archive static";;
+ esac
+ fi
+ ;;
+ *DLL*)
+ win32_libid_type="x86 DLL"
+ ;;
+ *executable*) # but shell scripts are "executable" too...
+ case $win32_fileres in
+ *MS\ Windows\ PE\ Intel*)
+ win32_libid_type="x86 DLL"
+ ;;
+ esac
+ ;;
+ esac
+ $ECHO "$win32_libid_type"
+}
+
+
+
+# func_extract_an_archive dir oldlib
+func_extract_an_archive ()
+{
+ $opt_debug
+ f_ex_an_ar_dir="$1"; shift
+ f_ex_an_ar_oldlib="$1"
+ func_show_eval "(cd \$f_ex_an_ar_dir && $AR x \"\$f_ex_an_ar_oldlib\")" 'exit $?'
+ if ($AR t "$f_ex_an_ar_oldlib" | sort | sort -uc >/dev/null 2>&1); then
+ :
+ else
+ func_fatal_error "object name conflicts in archive: $f_ex_an_ar_dir/$f_ex_an_ar_oldlib"
+ fi
+}
+
+
+# func_extract_archives gentop oldlib ...
+func_extract_archives ()
+{
+ $opt_debug
+ my_gentop="$1"; shift
+ my_oldlibs=${1+"$@"}
+ my_oldobjs=""
+ my_xlib=""
+ my_xabs=""
+ my_xdir=""
+
+ for my_xlib in $my_oldlibs; do
+ # Extract the objects.
+ case $my_xlib in
+ [\\/]* | [A-Za-z]:[\\/]*) my_xabs="$my_xlib" ;;
+ *) my_xabs=`pwd`"/$my_xlib" ;;
+ esac
+ func_basename "$my_xlib"
+ my_xlib="$func_basename_result"
+ my_xlib_u=$my_xlib
+ while :; do
+ case " $extracted_archives " in
+ *" $my_xlib_u "*)
+ func_arith $extracted_serial + 1
+ extracted_serial=$func_arith_result
+ my_xlib_u=lt$extracted_serial-$my_xlib ;;
+ *) break ;;
+ esac
+ done
+ extracted_archives="$extracted_archives $my_xlib_u"
+ my_xdir="$my_gentop/$my_xlib_u"
+
+ func_mkdir_p "$my_xdir"
+
+ case $host in
+ *-darwin*)
+ func_verbose "Extracting $my_xabs"
+ # Do not bother doing anything if just a dry run
+ $opt_dry_run || {
+ darwin_orig_dir=`pwd`
+ cd $my_xdir || exit $?
+ darwin_archive=$my_xabs
+ darwin_curdir=`pwd`
+ darwin_base_archive=`basename "$darwin_archive"`
+ darwin_arches=`$LIPO -info "$darwin_archive" 2>/dev/null | $GREP Architectures 2>/dev/null || true`
+ if test -n "$darwin_arches"; then
+ darwin_arches=`$ECHO "$darwin_arches" | $SED -e 's/.*are://'`
+ darwin_arch=
+ func_verbose "$darwin_base_archive has multiple architectures $darwin_arches"
+ for darwin_arch in $darwin_arches ; do
+ func_mkdir_p "unfat-$$/${darwin_base_archive}-${darwin_arch}"
+ $LIPO -thin $darwin_arch -output "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}" "${darwin_archive}"
+ cd "unfat-$$/${darwin_base_archive}-${darwin_arch}"
+ func_extract_an_archive "`pwd`" "${darwin_base_archive}"
+ cd "$darwin_curdir"
+ $RM "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}"
+ done # $darwin_arches
+ ## Okay now we've a bunch of thin objects, gotta fatten them up :)
+ darwin_filelist=`find unfat-$$ -type f -name \*.o -print -o -name \*.lo -print | $SED -e "$basename" | sort -u`
+ darwin_file=
+ darwin_files=
+ for darwin_file in $darwin_filelist; do
+ darwin_files=`find unfat-$$ -name $darwin_file -print | $NL2SP`
+ $LIPO -create -output "$darwin_file" $darwin_files
+ done # $darwin_filelist
+ $RM -rf unfat-$$
+ cd "$darwin_orig_dir"
+ else
+ cd $darwin_orig_dir
+ func_extract_an_archive "$my_xdir" "$my_xabs"
+ fi # $darwin_arches
+ } # !$opt_dry_run
+ ;;
+ *)
+ func_extract_an_archive "$my_xdir" "$my_xabs"
+ ;;
+ esac
+ my_oldobjs="$my_oldobjs "`find $my_xdir -name \*.$objext -print -o -name \*.lo -print | $NL2SP`
+ done
+
+ func_extract_archives_result="$my_oldobjs"
+}
+
+
+
+# func_emit_wrapper_part1 [arg=no]
+#
+# Emit the first part of a libtool wrapper script on stdout.
+# For more information, see the description associated with
+# func_emit_wrapper(), below.
+func_emit_wrapper_part1 ()
+{
+ func_emit_wrapper_part1_arg1=no
+ if test -n "$1" ; then
+ func_emit_wrapper_part1_arg1=$1
+ fi
+
+ $ECHO "\
+#! $SHELL
+
+# $output - temporary wrapper script for $objdir/$outputname
+# Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION
+#
+# The $output program cannot be directly executed until all the libtool
+# libraries that it depends on are installed.
+#
+# This wrapper script should never be moved out of the build directory.
+# If it is, it will not operate correctly.
+
+# Sed substitution that helps us do robust quoting. It backslashifies
+# metacharacters that are still active within double-quoted strings.
+Xsed='${SED} -e 1s/^X//'
+sed_quote_subst='$sed_quote_subst'
+
+# Be Bourne compatible
+if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then
+ emulate sh
+ NULLCMD=:
+ # Zsh 3.x and 4.x performs word splitting on \${1+\"\$@\"}, which
+ # is contrary to our usage. Disable this feature.
+ alias -g '\${1+\"\$@\"}'='\"\$@\"'
+ setopt NO_GLOB_SUBST
+else
+ case \`(set -o) 2>/dev/null\` in *posix*) set -o posix;; esac
+fi
+BIN_SH=xpg4; export BIN_SH # for Tru64
+DUALCASE=1; export DUALCASE # for MKS sh
+
+# The HP-UX ksh and POSIX shell print the target directory to stdout
+# if CDPATH is set.
+(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
+
+relink_command=\"$relink_command\"
+
+# This environment variable determines our operation mode.
+if test \"\$libtool_install_magic\" = \"$magic\"; then
+ # install mode needs the following variables:
+ generated_by_libtool_version='$macro_version'
+ notinst_deplibs='$notinst_deplibs'
+else
+ # When we are sourced in execute mode, \$file and \$ECHO are already set.
+ if test \"\$libtool_execute_magic\" != \"$magic\"; then
+ ECHO=\"$qecho\"
+ file=\"\$0\"
+ # Make sure echo works.
+ if test \"X\$1\" = X--no-reexec; then
+ # Discard the --no-reexec flag, and continue.
+ shift
+ elif test \"X\`{ \$ECHO '\t'; } 2>/dev/null\`\" = 'X\t'; then
+ # Yippee, \$ECHO works!
+ :
+ else
+ # Restart under the correct shell, and then maybe \$ECHO will work.
+ exec $SHELL \"\$0\" --no-reexec \${1+\"\$@\"}
+ fi
+ fi\
+"
+ $ECHO "\
+
+ # Find the directory that this script lives in.
+ thisdir=\`\$ECHO \"X\$file\" | \$Xsed -e 's%/[^/]*$%%'\`
+ test \"x\$thisdir\" = \"x\$file\" && thisdir=.
+
+ # Follow symbolic links until we get to the real thisdir.
+ file=\`ls -ld \"\$file\" | ${SED} -n 's/.*-> //p'\`
+ while test -n \"\$file\"; do
+ destdir=\`\$ECHO \"X\$file\" | \$Xsed -e 's%/[^/]*\$%%'\`
+
+ # If there was a directory component, then change thisdir.
+ if test \"x\$destdir\" != \"x\$file\"; then
+ case \"\$destdir\" in
+ [\\\\/]* | [A-Za-z]:[\\\\/]*) thisdir=\"\$destdir\" ;;
+ *) thisdir=\"\$thisdir/\$destdir\" ;;
+ esac
+ fi
+
+ file=\`\$ECHO \"X\$file\" | \$Xsed -e 's%^.*/%%'\`
+ file=\`ls -ld \"\$thisdir/\$file\" | ${SED} -n 's/.*-> //p'\`
+ done
+"
+}
+# end: func_emit_wrapper_part1
+
+# func_emit_wrapper_part2 [arg=no]
+#
+# Emit the second part of a libtool wrapper script on stdout.
+# For more information, see the description associated with
+# func_emit_wrapper(), below.
+func_emit_wrapper_part2 ()
+{
+ func_emit_wrapper_part2_arg1=no
+ if test -n "$1" ; then
+ func_emit_wrapper_part2_arg1=$1
+ fi
+
+ $ECHO "\
+
+ # Usually 'no', except on cygwin/mingw when embedded into
+ # the cwrapper.
+ WRAPPER_SCRIPT_BELONGS_IN_OBJDIR=$func_emit_wrapper_part2_arg1
+ if test \"\$WRAPPER_SCRIPT_BELONGS_IN_OBJDIR\" = \"yes\"; then
+ # special case for '.'
+ if test \"\$thisdir\" = \".\"; then
+ thisdir=\`pwd\`
+ fi
+ # remove .libs from thisdir
+ case \"\$thisdir\" in
+ *[\\\\/]$objdir ) thisdir=\`\$ECHO \"X\$thisdir\" | \$Xsed -e 's%[\\\\/][^\\\\/]*$%%'\` ;;
+ $objdir ) thisdir=. ;;
+ esac
+ fi
+
+ # Try to get the absolute directory name.
+ absdir=\`cd \"\$thisdir\" && pwd\`
+ test -n \"\$absdir\" && thisdir=\"\$absdir\"
+"
+
+ if test "$fast_install" = yes; then
+ $ECHO "\
+ program=lt-'$outputname'$exeext
+ progdir=\"\$thisdir/$objdir\"
+
+ if test ! -f \"\$progdir/\$program\" ||
+ { file=\`ls -1dt \"\$progdir/\$program\" \"\$progdir/../\$program\" 2>/dev/null | ${SED} 1q\`; \\
+ test \"X\$file\" != \"X\$progdir/\$program\"; }; then
+
+ file=\"\$\$-\$program\"
+
+ if test ! -d \"\$progdir\"; then
+ $MKDIR \"\$progdir\"
+ else
+ $RM \"\$progdir/\$file\"
+ fi"
+
+ $ECHO "\
+
+ # relink executable if necessary
+ if test -n \"\$relink_command\"; then
+ if relink_command_output=\`eval \$relink_command 2>&1\`; then :
+ else
+ $ECHO \"\$relink_command_output\" >&2
+ $RM \"\$progdir/\$file\"
+ exit 1
+ fi
+ fi
+
+ $MV \"\$progdir/\$file\" \"\$progdir/\$program\" 2>/dev/null ||
+ { $RM \"\$progdir/\$program\";
+ $MV \"\$progdir/\$file\" \"\$progdir/\$program\"; }
+ $RM \"\$progdir/\$file\"
+ fi"
+ else
+ $ECHO "\
+ program='$outputname'
+ progdir=\"\$thisdir/$objdir\"
+"
+ fi
+
+ $ECHO "\
+
+ if test -f \"\$progdir/\$program\"; then"
+
+ # Export our shlibpath_var if we have one.
+ if test "$shlibpath_overrides_runpath" = yes && test -n "$shlibpath_var" && test -n "$temp_rpath"; then
+ $ECHO "\
+ # Add our own library path to $shlibpath_var
+ $shlibpath_var=\"$temp_rpath\$$shlibpath_var\"
+
+ # Some systems cannot cope with colon-terminated $shlibpath_var
+ # The second colon is a workaround for a bug in BeOS R4 sed
+ $shlibpath_var=\`\$ECHO \"X\$$shlibpath_var\" | \$Xsed -e 's/::*\$//'\`
+
+ export $shlibpath_var
+"
+ fi
+
+ # fixup the dll searchpath if we need to.
+ if test -n "$dllsearchpath"; then
+ $ECHO "\
+ # Add the dll search path components to the executable PATH
+ PATH=$dllsearchpath:\$PATH
+"
+ fi
+
+ $ECHO "\
+ if test \"\$libtool_execute_magic\" != \"$magic\"; then
+ # Run the actual program with our arguments.
+"
+ case $host in
+ # Backslashes separate directories on plain windows
+ *-*-mingw | *-*-os2* | *-cegcc*)
+ $ECHO "\
+ exec \"\$progdir\\\\\$program\" \${1+\"\$@\"}
+"
+ ;;
+
+ *)
+ $ECHO "\
+ exec \"\$progdir/\$program\" \${1+\"\$@\"}
+"
+ ;;
+ esac
+ $ECHO "\
+ \$ECHO \"\$0: cannot exec \$program \$*\" 1>&2
+ exit 1
+ fi
+ else
+ # The program doesn't exist.
+ \$ECHO \"\$0: error: \\\`\$progdir/\$program' does not exist\" 1>&2
+ \$ECHO \"This script is just a wrapper for \$program.\" 1>&2
+ $ECHO \"See the $PACKAGE documentation for more information.\" 1>&2
+ exit 1
+ fi
+fi\
+"
+}
+# end: func_emit_wrapper_part2
+
+
+# func_emit_wrapper [arg=no]
+#
+# Emit a libtool wrapper script on stdout.
+# Don't directly open a file because we may want to
+# incorporate the script contents within a cygwin/mingw
+# wrapper executable. Must ONLY be called from within
+# func_mode_link because it depends on a number of variables
+# set therein.
+#
+# ARG is the value that the WRAPPER_SCRIPT_BELONGS_IN_OBJDIR
+# variable will take. If 'yes', then the emitted script
+# will assume that the directory in which it is stored is
+# the $objdir directory. This is a cygwin/mingw-specific
+# behavior.
+func_emit_wrapper ()
+{
+ func_emit_wrapper_arg1=no
+ if test -n "$1" ; then
+ func_emit_wrapper_arg1=$1
+ fi
+
+ # split this up so that func_emit_cwrapperexe_src
+ # can call each part independently.
+ func_emit_wrapper_part1 "${func_emit_wrapper_arg1}"
+ func_emit_wrapper_part2 "${func_emit_wrapper_arg1}"
+}
+
+
+# func_to_host_path arg
+#
+# Convert paths to host format when used with build tools.
+# Intended for use with "native" mingw (where libtool itself
+# is running under the msys shell), or in the following cross-
+# build environments:
+# $build $host
+# mingw (msys) mingw [e.g. native]
+# cygwin mingw
+# *nix + wine mingw
+# where wine is equipped with the `winepath' executable.
+# In the native mingw case, the (msys) shell automatically
+# converts paths for any non-msys applications it launches,
+# but that facility isn't available from inside the cwrapper.
+# Similar accommodations are necessary for $host mingw and
+# $build cygwin. Calling this function does no harm for other
+# $host/$build combinations not listed above.
+#
+# ARG is the path (on $build) that should be converted to
+# the proper representation for $host. The result is stored
+# in $func_to_host_path_result.
+func_to_host_path ()
+{
+ func_to_host_path_result="$1"
+ if test -n "$1" ; then
+ case $host in
+ *mingw* )
+ lt_sed_naive_backslashify='s|\\\\*|\\|g;s|/|\\|g;s|\\|\\\\|g'
+ case $build in
+ *mingw* ) # actually, msys
+ # awkward: cmd appends spaces to result
+ lt_sed_strip_trailing_spaces="s/[ ]*\$//"
+ func_to_host_path_tmp1=`( cmd //c echo "$1" |\
+ $SED -e "$lt_sed_strip_trailing_spaces" ) 2>/dev/null || echo ""`
+ func_to_host_path_result=`echo "$func_to_host_path_tmp1" |\
+ $SED -e "$lt_sed_naive_backslashify"`
+ ;;
+ *cygwin* )
+ func_to_host_path_tmp1=`cygpath -w "$1"`
+ func_to_host_path_result=`echo "$func_to_host_path_tmp1" |\
+ $SED -e "$lt_sed_naive_backslashify"`
+ ;;
+ * )
+ # Unfortunately, winepath does not exit with a non-zero
+ # error code, so we are forced to check the contents of
+ # stdout. On the other hand, if the command is not
+ # found, the shell will set an exit code of 127 and print
+ # *an error message* to stdout. So we must check for both
+ # error code of zero AND non-empty stdout, which explains
+ # the odd construction:
+ func_to_host_path_tmp1=`winepath -w "$1" 2>/dev/null`
+ if test "$?" -eq 0 && test -n "${func_to_host_path_tmp1}"; then
+ func_to_host_path_result=`echo "$func_to_host_path_tmp1" |\
+ $SED -e "$lt_sed_naive_backslashify"`
+ else
+ # Allow warning below.
+ func_to_host_path_result=""
+ fi
+ ;;
+ esac
+ if test -z "$func_to_host_path_result" ; then
+ func_error "Could not determine host path corresponding to"
+ func_error " '$1'"
+ func_error "Continuing, but uninstalled executables may not work."
+ # Fallback:
+ func_to_host_path_result="$1"
+ fi
+ ;;
+ esac
+ fi
+}
+# end: func_to_host_path
+
+# func_to_host_pathlist arg
+#
+# Convert pathlists to host format when used with build tools.
+# See func_to_host_path(), above. This function supports the
+# following $build/$host combinations (but does no harm for
+# combinations not listed here):
+# $build $host
+# mingw (msys) mingw [e.g. native]
+# cygwin mingw
+# *nix + wine mingw
+#
+# Path separators are also converted from $build format to
+# $host format. If ARG begins or ends with a path separator
+# character, it is preserved (but converted to $host format)
+# on output.
+#
+# ARG is a pathlist (on $build) that should be converted to
+# the proper representation on $host. The result is stored
+# in $func_to_host_pathlist_result.
+func_to_host_pathlist ()
+{
+ func_to_host_pathlist_result="$1"
+ if test -n "$1" ; then
+ case $host in
+ *mingw* )
+ lt_sed_naive_backslashify='s|\\\\*|\\|g;s|/|\\|g;s|\\|\\\\|g'
+ # Remove leading and trailing path separator characters from
+ # ARG. msys behavior is inconsistent here, cygpath turns them
+ # into '.;' and ';.', and winepath ignores them completely.
+ func_to_host_pathlist_tmp2="$1"
+ # Once set for this call, this variable should not be
+ # reassigned. It is used in tha fallback case.
+ func_to_host_pathlist_tmp1=`echo "$func_to_host_pathlist_tmp2" |\
+ $SED -e 's|^:*||' -e 's|:*$||'`
+ case $build in
+ *mingw* ) # Actually, msys.
+ # Awkward: cmd appends spaces to result.
+ lt_sed_strip_trailing_spaces="s/[ ]*\$//"
+ func_to_host_pathlist_tmp2=`( cmd //c echo "$func_to_host_pathlist_tmp1" |\
+ $SED -e "$lt_sed_strip_trailing_spaces" ) 2>/dev/null || echo ""`
+ func_to_host_pathlist_result=`echo "$func_to_host_pathlist_tmp2" |\
+ $SED -e "$lt_sed_naive_backslashify"`
+ ;;
+ *cygwin* )
+ func_to_host_pathlist_tmp2=`cygpath -w -p "$func_to_host_pathlist_tmp1"`
+ func_to_host_pathlist_result=`echo "$func_to_host_pathlist_tmp2" |\
+ $SED -e "$lt_sed_naive_backslashify"`
+ ;;
+ * )
+ # unfortunately, winepath doesn't convert pathlists
+ func_to_host_pathlist_result=""
+ func_to_host_pathlist_oldIFS=$IFS
+ IFS=:
+ for func_to_host_pathlist_f in $func_to_host_pathlist_tmp1 ; do
+ IFS=$func_to_host_pathlist_oldIFS
+ if test -n "$func_to_host_pathlist_f" ; then
+ func_to_host_path "$func_to_host_pathlist_f"
+ if test -n "$func_to_host_path_result" ; then
+ if test -z "$func_to_host_pathlist_result" ; then
+ func_to_host_pathlist_result="$func_to_host_path_result"
+ else
+ func_to_host_pathlist_result="$func_to_host_pathlist_result;$func_to_host_path_result"
+ fi
+ fi
+ fi
+ IFS=:
+ done
+ IFS=$func_to_host_pathlist_oldIFS
+ ;;
+ esac
+ if test -z "$func_to_host_pathlist_result" ; then
+ func_error "Could not determine the host path(s) corresponding to"
+ func_error " '$1'"
+ func_error "Continuing, but uninstalled executables may not work."
+ # Fallback. This may break if $1 contains DOS-style drive
+ # specifications. The fix is not to complicate the expression
+ # below, but for the user to provide a working wine installation
+ # with winepath so that path translation in the cross-to-mingw
+ # case works properly.
+ lt_replace_pathsep_nix_to_dos="s|:|;|g"
+ func_to_host_pathlist_result=`echo "$func_to_host_pathlist_tmp1" |\
+ $SED -e "$lt_replace_pathsep_nix_to_dos"`
+ fi
+ # Now, add the leading and trailing path separators back
+ case "$1" in
+ :* ) func_to_host_pathlist_result=";$func_to_host_pathlist_result"
+ ;;
+ esac
+ case "$1" in
+ *: ) func_to_host_pathlist_result="$func_to_host_pathlist_result;"
+ ;;
+ esac
+ ;;
+ esac
+ fi
+}
+# end: func_to_host_pathlist
+
+# func_emit_cwrapperexe_src
+# emit the source code for a wrapper executable on stdout
+# Must ONLY be called from within func_mode_link because
+# it depends on a number of variable set therein.
+func_emit_cwrapperexe_src ()
+{
+ cat <<EOF
+
+/* $cwrappersource - temporary wrapper executable for $objdir/$outputname
+ Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION
+
+ The $output program cannot be directly executed until all the libtool
+ libraries that it depends on are installed.
+
+ This wrapper executable should never be moved out of the build directory.
+ If it is, it will not operate correctly.
+
+ Currently, it simply execs the wrapper *script* "$SHELL $output",
+ but could eventually absorb all of the scripts functionality and
+ exec $objdir/$outputname directly.
+*/
+EOF
+ cat <<"EOF"
+#include <stdio.h>
+#include <stdlib.h>
+#ifdef _MSC_VER
+# include <direct.h>
+# include <process.h>
+# include <io.h>
+# define setmode _setmode
+#else
+# include <unistd.h>
+# include <stdint.h>
+# ifdef __CYGWIN__
+# include <io.h>
+# define HAVE_SETENV
+# ifdef __STRICT_ANSI__
+char *realpath (const char *, char *);
+int putenv (char *);
+int setenv (const char *, const char *, int);
+# endif
+# endif
+#endif
+#include <malloc.h>
+#include <stdarg.h>
+#include <assert.h>
+#include <string.h>
+#include <ctype.h>
+#include <errno.h>
+#include <fcntl.h>
+#include <sys/stat.h>
+
+#if defined(PATH_MAX)
+# define LT_PATHMAX PATH_MAX
+#elif defined(MAXPATHLEN)
+# define LT_PATHMAX MAXPATHLEN
+#else
+# define LT_PATHMAX 1024
+#endif
+
+#ifndef S_IXOTH
+# define S_IXOTH 0
+#endif
+#ifndef S_IXGRP
+# define S_IXGRP 0
+#endif
+
+#ifdef _MSC_VER
+# define S_IXUSR _S_IEXEC
+# define stat _stat
+# ifndef _INTPTR_T_DEFINED
+# define intptr_t int
+# endif
+#endif
+
+#ifndef DIR_SEPARATOR
+# define DIR_SEPARATOR '/'
+# define PATH_SEPARATOR ':'
+#endif
+
+#if defined (_WIN32) || defined (__MSDOS__) || defined (__DJGPP__) || \
+ defined (__OS2__)
+# define HAVE_DOS_BASED_FILE_SYSTEM
+# define FOPEN_WB "wb"
+# ifndef DIR_SEPARATOR_2
+# define DIR_SEPARATOR_2 '\\'
+# endif
+# ifndef PATH_SEPARATOR_2
+# define PATH_SEPARATOR_2 ';'
+# endif
+#endif
+
+#ifndef DIR_SEPARATOR_2
+# define IS_DIR_SEPARATOR(ch) ((ch) == DIR_SEPARATOR)
+#else /* DIR_SEPARATOR_2 */
+# define IS_DIR_SEPARATOR(ch) \
+ (((ch) == DIR_SEPARATOR) || ((ch) == DIR_SEPARATOR_2))
+#endif /* DIR_SEPARATOR_2 */
+
+#ifndef PATH_SEPARATOR_2
+# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR)
+#else /* PATH_SEPARATOR_2 */
+# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR_2)
+#endif /* PATH_SEPARATOR_2 */
+
+#ifdef __CYGWIN__
+# define FOPEN_WB "wb"
+#endif
+
+#ifndef FOPEN_WB
+# define FOPEN_WB "w"
+#endif
+#ifndef _O_BINARY
+# define _O_BINARY 0
+#endif
+
+#define XMALLOC(type, num) ((type *) xmalloc ((num) * sizeof(type)))
+#define XFREE(stale) do { \
+ if (stale) { free ((void *) stale); stale = 0; } \
+} while (0)
+
+#undef LTWRAPPER_DEBUGPRINTF
+#if defined DEBUGWRAPPER
+# define LTWRAPPER_DEBUGPRINTF(args) ltwrapper_debugprintf args
+static void
+ltwrapper_debugprintf (const char *fmt, ...)
+{
+ va_list args;
+ va_start (args, fmt);
+ (void) vfprintf (stderr, fmt, args);
+ va_end (args);
+}
+#else
+# define LTWRAPPER_DEBUGPRINTF(args)
+#endif
+
+const char *program_name = NULL;
+
+void *xmalloc (size_t num);
+char *xstrdup (const char *string);
+const char *base_name (const char *name);
+char *find_executable (const char *wrapper);
+char *chase_symlinks (const char *pathspec);
+int make_executable (const char *path);
+int check_executable (const char *path);
+char *strendzap (char *str, const char *pat);
+void lt_fatal (const char *message, ...);
+void lt_setenv (const char *name, const char *value);
+char *lt_extend_str (const char *orig_value, const char *add, int to_end);
+void lt_opt_process_env_set (const char *arg);
+void lt_opt_process_env_prepend (const char *arg);
+void lt_opt_process_env_append (const char *arg);
+int lt_split_name_value (const char *arg, char** name, char** value);
+void lt_update_exe_path (const char *name, const char *value);
+void lt_update_lib_path (const char *name, const char *value);
+
+static const char *script_text_part1 =
+EOF
+
+ func_emit_wrapper_part1 yes |
+ $SED -e 's/\([\\"]\)/\\\1/g' \
+ -e 's/^/ "/' -e 's/$/\\n"/'
+ echo ";"
+ cat <<EOF
+
+static const char *script_text_part2 =
+EOF
+ func_emit_wrapper_part2 yes |
+ $SED -e 's/\([\\"]\)/\\\1/g' \
+ -e 's/^/ "/' -e 's/$/\\n"/'
+ echo ";"
+
+ cat <<EOF
+const char * MAGIC_EXE = "$magic_exe";
+const char * LIB_PATH_VARNAME = "$shlibpath_var";
+EOF
+
+ if test "$shlibpath_overrides_runpath" = yes && test -n "$shlibpath_var" && test -n "$temp_rpath"; then
+ func_to_host_pathlist "$temp_rpath"
+ cat <<EOF
+const char * LIB_PATH_VALUE = "$func_to_host_pathlist_result";
+EOF
+ else
+ cat <<"EOF"
+const char * LIB_PATH_VALUE = "";
+EOF
+ fi
+
+ if test -n "$dllsearchpath"; then
+ func_to_host_pathlist "$dllsearchpath:"
+ cat <<EOF
+const char * EXE_PATH_VARNAME = "PATH";
+const char * EXE_PATH_VALUE = "$func_to_host_pathlist_result";
+EOF
+ else
+ cat <<"EOF"
+const char * EXE_PATH_VARNAME = "";
+const char * EXE_PATH_VALUE = "";
+EOF
+ fi
+
+ if test "$fast_install" = yes; then
+ cat <<EOF
+const char * TARGET_PROGRAM_NAME = "lt-$outputname"; /* hopefully, no .exe */
+EOF
+ else
+ cat <<EOF
+const char * TARGET_PROGRAM_NAME = "$outputname"; /* hopefully, no .exe */
+EOF
+ fi
+
+
+ cat <<"EOF"
+
+#define LTWRAPPER_OPTION_PREFIX "--lt-"
+#define LTWRAPPER_OPTION_PREFIX_LENGTH 5
+
+static const size_t opt_prefix_len = LTWRAPPER_OPTION_PREFIX_LENGTH;
+static const char *ltwrapper_option_prefix = LTWRAPPER_OPTION_PREFIX;
+
+static const char *dumpscript_opt = LTWRAPPER_OPTION_PREFIX "dump-script";
+
+static const size_t env_set_opt_len = LTWRAPPER_OPTION_PREFIX_LENGTH + 7;
+static const char *env_set_opt = LTWRAPPER_OPTION_PREFIX "env-set";
+ /* argument is putenv-style "foo=bar", value of foo is set to bar */
+
+static const size_t env_prepend_opt_len = LTWRAPPER_OPTION_PREFIX_LENGTH + 11;
+static const char *env_prepend_opt = LTWRAPPER_OPTION_PREFIX "env-prepend";
+ /* argument is putenv-style "foo=bar", new value of foo is bar${foo} */
+
+static const size_t env_append_opt_len = LTWRAPPER_OPTION_PREFIX_LENGTH + 10;
+static const char *env_append_opt = LTWRAPPER_OPTION_PREFIX "env-append";
+ /* argument is putenv-style "foo=bar", new value of foo is ${foo}bar */
+
+int
+main (int argc, char *argv[])
+{
+ char **newargz;
+ int newargc;
+ char *tmp_pathspec;
+ char *actual_cwrapper_path;
+ char *actual_cwrapper_name;
+ char *target_name;
+ char *lt_argv_zero;
+ intptr_t rval = 127;
+
+ int i;
+
+ program_name = (char *) xstrdup (base_name (argv[0]));
+ LTWRAPPER_DEBUGPRINTF (("(main) argv[0] : %s\n", argv[0]));
+ LTWRAPPER_DEBUGPRINTF (("(main) program_name : %s\n", program_name));
+
+ /* very simple arg parsing; don't want to rely on getopt */
+ for (i = 1; i < argc; i++)
+ {
+ if (strcmp (argv[i], dumpscript_opt) == 0)
+ {
+EOF
+ case "$host" in
+ *mingw* | *cygwin* )
+ # make stdout use "unix" line endings
+ echo " setmode(1,_O_BINARY);"
+ ;;
+ esac
+
+ cat <<"EOF"
+ printf ("%s", script_text_part1);
+ printf ("%s", script_text_part2);
+ return 0;
+ }
+ }
+
+ newargz = XMALLOC (char *, argc + 1);
+ tmp_pathspec = find_executable (argv[0]);
+ if (tmp_pathspec == NULL)
+ lt_fatal ("Couldn't find %s", argv[0]);
+ LTWRAPPER_DEBUGPRINTF (("(main) found exe (before symlink chase) at : %s\n",
+ tmp_pathspec));
+
+ actual_cwrapper_path = chase_symlinks (tmp_pathspec);
+ LTWRAPPER_DEBUGPRINTF (("(main) found exe (after symlink chase) at : %s\n",
+ actual_cwrapper_path));
+ XFREE (tmp_pathspec);
+
+ actual_cwrapper_name = xstrdup( base_name (actual_cwrapper_path));
+ strendzap (actual_cwrapper_path, actual_cwrapper_name);
+
+ /* wrapper name transforms */
+ strendzap (actual_cwrapper_name, ".exe");
+ tmp_pathspec = lt_extend_str (actual_cwrapper_name, ".exe", 1);
+ XFREE (actual_cwrapper_name);
+ actual_cwrapper_name = tmp_pathspec;
+ tmp_pathspec = 0;
+
+ /* target_name transforms -- use actual target program name; might have lt- prefix */
+ target_name = xstrdup (base_name (TARGET_PROGRAM_NAME));
+ strendzap (target_name, ".exe");
+ tmp_pathspec = lt_extend_str (target_name, ".exe", 1);
+ XFREE (target_name);
+ target_name = tmp_pathspec;
+ tmp_pathspec = 0;
+
+ LTWRAPPER_DEBUGPRINTF (("(main) libtool target name: %s\n",
+ target_name));
+EOF
+
+ cat <<EOF
+ newargz[0] =
+ XMALLOC (char, (strlen (actual_cwrapper_path) +
+ strlen ("$objdir") + 1 + strlen (actual_cwrapper_name) + 1));
+ strcpy (newargz[0], actual_cwrapper_path);
+ strcat (newargz[0], "$objdir");
+ strcat (newargz[0], "/");
+EOF
+
+ cat <<"EOF"
+ /* stop here, and copy so we don't have to do this twice */
+ tmp_pathspec = xstrdup (newargz[0]);
+
+ /* do NOT want the lt- prefix here, so use actual_cwrapper_name */
+ strcat (newargz[0], actual_cwrapper_name);
+
+ /* DO want the lt- prefix here if it exists, so use target_name */
+ lt_argv_zero = lt_extend_str (tmp_pathspec, target_name, 1);
+ XFREE (tmp_pathspec);
+ tmp_pathspec = NULL;
+EOF
+
+ case $host_os in
+ mingw*)
+ cat <<"EOF"
+ {
+ char* p;
+ while ((p = strchr (newargz[0], '\\')) != NULL)
+ {
+ *p = '/';
+ }
+ while ((p = strchr (lt_argv_zero, '\\')) != NULL)
+ {
+ *p = '/';
+ }
+ }
+EOF
+ ;;
+ esac
+
+ cat <<"EOF"
+ XFREE (target_name);
+ XFREE (actual_cwrapper_path);
+ XFREE (actual_cwrapper_name);
+
+ lt_setenv ("BIN_SH", "xpg4"); /* for Tru64 */
+ lt_setenv ("DUALCASE", "1"); /* for MSK sh */
+ lt_update_lib_path (LIB_PATH_VARNAME, LIB_PATH_VALUE);
+ lt_update_exe_path (EXE_PATH_VARNAME, EXE_PATH_VALUE);
+
+ newargc=0;
+ for (i = 1; i < argc; i++)
+ {
+ if (strncmp (argv[i], env_set_opt, env_set_opt_len) == 0)
+ {
+ if (argv[i][env_set_opt_len] == '=')
+ {
+ const char *p = argv[i] + env_set_opt_len + 1;
+ lt_opt_process_env_set (p);
+ }
+ else if (argv[i][env_set_opt_len] == '\0' && i + 1 < argc)
+ {
+ lt_opt_process_env_set (argv[++i]); /* don't copy */
+ }
+ else
+ lt_fatal ("%s missing required argument", env_set_opt);
+ continue;
+ }
+ if (strncmp (argv[i], env_prepend_opt, env_prepend_opt_len) == 0)
+ {
+ if (argv[i][env_prepend_opt_len] == '=')
+ {
+ const char *p = argv[i] + env_prepend_opt_len + 1;
+ lt_opt_process_env_prepend (p);
+ }
+ else if (argv[i][env_prepend_opt_len] == '\0' && i + 1 < argc)
+ {
+ lt_opt_process_env_prepend (argv[++i]); /* don't copy */
+ }
+ else
+ lt_fatal ("%s missing required argument", env_prepend_opt);
+ continue;
+ }
+ if (strncmp (argv[i], env_append_opt, env_append_opt_len) == 0)
+ {
+ if (argv[i][env_append_opt_len] == '=')
+ {
+ const char *p = argv[i] + env_append_opt_len + 1;
+ lt_opt_process_env_append (p);
+ }
+ else if (argv[i][env_append_opt_len] == '\0' && i + 1 < argc)
+ {
+ lt_opt_process_env_append (argv[++i]); /* don't copy */
+ }
+ else
+ lt_fatal ("%s missing required argument", env_append_opt);
+ continue;
+ }
+ if (strncmp (argv[i], ltwrapper_option_prefix, opt_prefix_len) == 0)
+ {
+ /* however, if there is an option in the LTWRAPPER_OPTION_PREFIX
+ namespace, but it is not one of the ones we know about and
+ have already dealt with, above (inluding dump-script), then
+ report an error. Otherwise, targets might begin to believe
+ they are allowed to use options in the LTWRAPPER_OPTION_PREFIX
+ namespace. The first time any user complains about this, we'll
+ need to make LTWRAPPER_OPTION_PREFIX a configure-time option
+ or a configure.ac-settable value.
+ */
+ lt_fatal ("Unrecognized option in %s namespace: '%s'",
+ ltwrapper_option_prefix, argv[i]);
+ }
+ /* otherwise ... */
+ newargz[++newargc] = xstrdup (argv[i]);
+ }
+ newargz[++newargc] = NULL;
+
+ LTWRAPPER_DEBUGPRINTF (("(main) lt_argv_zero : %s\n", (lt_argv_zero ? lt_argv_zero : "<NULL>")));
+ for (i = 0; i < newargc; i++)
+ {
+ LTWRAPPER_DEBUGPRINTF (("(main) newargz[%d] : %s\n", i, (newargz[i] ? newargz[i] : "<NULL>")));
+ }
+
+EOF
+
+ case $host_os in
+ mingw*)
+ cat <<"EOF"
+ /* execv doesn't actually work on mingw as expected on unix */
+ rval = _spawnv (_P_WAIT, lt_argv_zero, (const char * const *) newargz);
+ if (rval == -1)
+ {
+ /* failed to start process */
+ LTWRAPPER_DEBUGPRINTF (("(main) failed to launch target \"%s\": errno = %d\n", lt_argv_zero, errno));
+ return 127;
+ }
+ return rval;
+EOF
+ ;;
+ *)
+ cat <<"EOF"
+ execv (lt_argv_zero, newargz);
+ return rval; /* =127, but avoids unused variable warning */
+EOF
+ ;;
+ esac
+
+ cat <<"EOF"
+}
+
+void *
+xmalloc (size_t num)
+{
+ void *p = (void *) malloc (num);
+ if (!p)
+ lt_fatal ("Memory exhausted");
+
+ return p;
+}
+
+char *
+xstrdup (const char *string)
+{
+ return string ? strcpy ((char *) xmalloc (strlen (string) + 1),
+ string) : NULL;
+}
+
+const char *
+base_name (const char *name)
+{
+ const char *base;
+
+#if defined (HAVE_DOS_BASED_FILE_SYSTEM)
+ /* Skip over the disk name in MSDOS pathnames. */
+ if (isalpha ((unsigned char) name[0]) && name[1] == ':')
+ name += 2;
+#endif
+
+ for (base = name; *name; name++)
+ if (IS_DIR_SEPARATOR (*name))
+ base = name + 1;
+ return base;
+}
+
+int
+check_executable (const char *path)
+{
+ struct stat st;
+
+ LTWRAPPER_DEBUGPRINTF (("(check_executable) : %s\n",
+ path ? (*path ? path : "EMPTY!") : "NULL!"));
+ if ((!path) || (!*path))
+ return 0;
+
+ if ((stat (path, &st) >= 0)
+ && (st.st_mode & (S_IXUSR | S_IXGRP | S_IXOTH)))
+ return 1;
+ else
+ return 0;
+}
+
+int
+make_executable (const char *path)
+{
+ int rval = 0;
+ struct stat st;
+
+ LTWRAPPER_DEBUGPRINTF (("(make_executable) : %s\n",
+ path ? (*path ? path : "EMPTY!") : "NULL!"));
+ if ((!path) || (!*path))
+ return 0;
+
+ if (stat (path, &st) >= 0)
+ {
+ rval = chmod (path, st.st_mode | S_IXOTH | S_IXGRP | S_IXUSR);
+ }
+ return rval;
+}
+
+/* Searches for the full path of the wrapper. Returns
+ newly allocated full path name if found, NULL otherwise
+ Does not chase symlinks, even on platforms that support them.
+*/
+char *
+find_executable (const char *wrapper)
+{
+ int has_slash = 0;
+ const char *p;
+ const char *p_next;
+ /* static buffer for getcwd */
+ char tmp[LT_PATHMAX + 1];
+ int tmp_len;
+ char *concat_name;
+
+ LTWRAPPER_DEBUGPRINTF (("(find_executable) : %s\n",
+ wrapper ? (*wrapper ? wrapper : "EMPTY!") : "NULL!"));
+
+ if ((wrapper == NULL) || (*wrapper == '\0'))
+ return NULL;
+
+ /* Absolute path? */
+#if defined (HAVE_DOS_BASED_FILE_SYSTEM)
+ if (isalpha ((unsigned char) wrapper[0]) && wrapper[1] == ':')
+ {
+ concat_name = xstrdup (wrapper);
+ if (check_executable (concat_name))
+ return concat_name;
+ XFREE (concat_name);
+ }
+ else
+ {
+#endif
+ if (IS_DIR_SEPARATOR (wrapper[0]))
+ {
+ concat_name = xstrdup (wrapper);
+ if (check_executable (concat_name))
+ return concat_name;
+ XFREE (concat_name);
+ }
+#if defined (HAVE_DOS_BASED_FILE_SYSTEM)
+ }
+#endif
+
+ for (p = wrapper; *p; p++)
+ if (*p == '/')
+ {
+ has_slash = 1;
+ break;
+ }
+ if (!has_slash)
+ {
+ /* no slashes; search PATH */
+ const char *path = getenv ("PATH");
+ if (path != NULL)
+ {
+ for (p = path; *p; p = p_next)
+ {
+ const char *q;
+ size_t p_len;
+ for (q = p; *q; q++)
+ if (IS_PATH_SEPARATOR (*q))
+ break;
+ p_len = q - p;
+ p_next = (*q == '\0' ? q : q + 1);
+ if (p_len == 0)
+ {
+ /* empty path: current directory */
+ if (getcwd (tmp, LT_PATHMAX) == NULL)
+ lt_fatal ("getcwd failed");
+ tmp_len = strlen (tmp);
+ concat_name =
+ XMALLOC (char, tmp_len + 1 + strlen (wrapper) + 1);
+ memcpy (concat_name, tmp, tmp_len);
+ concat_name[tmp_len] = '/';
+ strcpy (concat_name + tmp_len + 1, wrapper);
+ }
+ else
+ {
+ concat_name =
+ XMALLOC (char, p_len + 1 + strlen (wrapper) + 1);
+ memcpy (concat_name, p, p_len);
+ concat_name[p_len] = '/';
+ strcpy (concat_name + p_len + 1, wrapper);
+ }
+ if (check_executable (concat_name))
+ return concat_name;
+ XFREE (concat_name);
+ }
+ }
+ /* not found in PATH; assume curdir */
+ }
+ /* Relative path | not found in path: prepend cwd */
+ if (getcwd (tmp, LT_PATHMAX) == NULL)
+ lt_fatal ("getcwd failed");
+ tmp_len = strlen (tmp);
+ concat_name = XMALLOC (char, tmp_len + 1 + strlen (wrapper) + 1);
+ memcpy (concat_name, tmp, tmp_len);
+ concat_name[tmp_len] = '/';
+ strcpy (concat_name + tmp_len + 1, wrapper);
+
+ if (check_executable (concat_name))
+ return concat_name;
+ XFREE (concat_name);
+ return NULL;
+}
+
+char *
+chase_symlinks (const char *pathspec)
+{
+#ifndef S_ISLNK
+ return xstrdup (pathspec);
+#else
+ char buf[LT_PATHMAX];
+ struct stat s;
+ char *tmp_pathspec = xstrdup (pathspec);
+ char *p;
+ int has_symlinks = 0;
+ while (strlen (tmp_pathspec) && !has_symlinks)
+ {
+ LTWRAPPER_DEBUGPRINTF (("checking path component for symlinks: %s\n",
+ tmp_pathspec));
+ if (lstat (tmp_pathspec, &s) == 0)
+ {
+ if (S_ISLNK (s.st_mode) != 0)
+ {
+ has_symlinks = 1;
+ break;
+ }
+
+ /* search backwards for last DIR_SEPARATOR */
+ p = tmp_pathspec + strlen (tmp_pathspec) - 1;
+ while ((p > tmp_pathspec) && (!IS_DIR_SEPARATOR (*p)))
+ p--;
+ if ((p == tmp_pathspec) && (!IS_DIR_SEPARATOR (*p)))
+ {
+ /* no more DIR_SEPARATORS left */
+ break;
+ }
+ *p = '\0';
+ }
+ else
+ {
+ char *errstr = strerror (errno);
+ lt_fatal ("Error accessing file %s (%s)", tmp_pathspec, errstr);
+ }
+ }
+ XFREE (tmp_pathspec);
+
+ if (!has_symlinks)
+ {
+ return xstrdup (pathspec);
+ }
+
+ tmp_pathspec = realpath (pathspec, buf);
+ if (tmp_pathspec == 0)
+ {
+ lt_fatal ("Could not follow symlinks for %s", pathspec);
+ }
+ return xstrdup (tmp_pathspec);
+#endif
+}
+
+char *
+strendzap (char *str, const char *pat)
+{
+ size_t len, patlen;
+
+ assert (str != NULL);
+ assert (pat != NULL);
+
+ len = strlen (str);
+ patlen = strlen (pat);
+
+ if (patlen <= len)
+ {
+ str += len - patlen;
+ if (strcmp (str, pat) == 0)
+ *str = '\0';
+ }
+ return str;
+}
+
+static void
+lt_error_core (int exit_status, const char *mode,
+ const char *message, va_list ap)
+{
+ fprintf (stderr, "%s: %s: ", program_name, mode);
+ vfprintf (stderr, message, ap);
+ fprintf (stderr, ".\n");
+
+ if (exit_status >= 0)
+ exit (exit_status);
+}
+
+void
+lt_fatal (const char *message, ...)
+{
+ va_list ap;
+ va_start (ap, message);
+ lt_error_core (EXIT_FAILURE, "FATAL", message, ap);
+ va_end (ap);
+}
+
+void
+lt_setenv (const char *name, const char *value)
+{
+ LTWRAPPER_DEBUGPRINTF (("(lt_setenv) setting '%s' to '%s'\n",
+ (name ? name : "<NULL>"),
+ (value ? value : "<NULL>")));
+ {
+#ifdef HAVE_SETENV
+ /* always make a copy, for consistency with !HAVE_SETENV */
+ char *str = xstrdup (value);
+ setenv (name, str, 1);
+#else
+ int len = strlen (name) + 1 + strlen (value) + 1;
+ char *str = XMALLOC (char, len);
+ sprintf (str, "%s=%s", name, value);
+ if (putenv (str) != EXIT_SUCCESS)
+ {
+ XFREE (str);
+ }
+#endif
+ }
+}
+
+char *
+lt_extend_str (const char *orig_value, const char *add, int to_end)
+{
+ char *new_value;
+ if (orig_value && *orig_value)
+ {
+ int orig_value_len = strlen (orig_value);
+ int add_len = strlen (add);
+ new_value = XMALLOC (char, add_len + orig_value_len + 1);
+ if (to_end)
+ {
+ strcpy (new_value, orig_value);
+ strcpy (new_value + orig_value_len, add);
+ }
+ else
+ {
+ strcpy (new_value, add);
+ strcpy (new_value + add_len, orig_value);
+ }
+ }
+ else
+ {
+ new_value = xstrdup (add);
+ }
+ return new_value;
+}
+
+int
+lt_split_name_value (const char *arg, char** name, char** value)
+{
+ const char *p;
+ int len;
+ if (!arg || !*arg)
+ return 1;
+
+ p = strchr (arg, (int)'=');
+
+ if (!p)
+ return 1;
+
+ *value = xstrdup (++p);
+
+ len = strlen (arg) - strlen (*value);
+ *name = XMALLOC (char, len);
+ strncpy (*name, arg, len-1);
+ (*name)[len - 1] = '\0';
+
+ return 0;
+}
+
+void
+lt_opt_process_env_set (const char *arg)
+{
+ char *name = NULL;
+ char *value = NULL;
+
+ if (lt_split_name_value (arg, &name, &value) != 0)
+ {
+ XFREE (name);
+ XFREE (value);
+ lt_fatal ("bad argument for %s: '%s'", env_set_opt, arg);
+ }
+
+ lt_setenv (name, value);
+ XFREE (name);
+ XFREE (value);
+}
+
+void
+lt_opt_process_env_prepend (const char *arg)
+{
+ char *name = NULL;
+ char *value = NULL;
+ char *new_value = NULL;
+
+ if (lt_split_name_value (arg, &name, &value) != 0)
+ {
+ XFREE (name);
+ XFREE (value);
+ lt_fatal ("bad argument for %s: '%s'", env_prepend_opt, arg);
+ }
+
+ new_value = lt_extend_str (getenv (name), value, 0);
+ lt_setenv (name, new_value);
+ XFREE (new_value);
+ XFREE (name);
+ XFREE (value);
+}
+
+void
+lt_opt_process_env_append (const char *arg)
+{
+ char *name = NULL;
+ char *value = NULL;
+ char *new_value = NULL;
+
+ if (lt_split_name_value (arg, &name, &value) != 0)
+ {
+ XFREE (name);
+ XFREE (value);
+ lt_fatal ("bad argument for %s: '%s'", env_append_opt, arg);
+ }
+
+ new_value = lt_extend_str (getenv (name), value, 1);
+ lt_setenv (name, new_value);
+ XFREE (new_value);
+ XFREE (name);
+ XFREE (value);
+}
+
+void
+lt_update_exe_path (const char *name, const char *value)
+{
+ LTWRAPPER_DEBUGPRINTF (("(lt_update_exe_path) modifying '%s' by prepending '%s'\n",
+ (name ? name : "<NULL>"),
+ (value ? value : "<NULL>")));
+
+ if (name && *name && value && *value)
+ {
+ char *new_value = lt_extend_str (getenv (name), value, 0);
+ /* some systems can't cope with a ':'-terminated path #' */
+ int len = strlen (new_value);
+ while (((len = strlen (new_value)) > 0) && IS_PATH_SEPARATOR (new_value[len-1]))
+ {
+ new_value[len-1] = '\0';
+ }
+ lt_setenv (name, new_value);
+ XFREE (new_value);
+ }
+}
+
+void
+lt_update_lib_path (const char *name, const char *value)
+{
+ LTWRAPPER_DEBUGPRINTF (("(lt_update_lib_path) modifying '%s' by prepending '%s'\n",
+ (name ? name : "<NULL>"),
+ (value ? value : "<NULL>")));
+
+ if (name && *name && value && *value)
+ {
+ char *new_value = lt_extend_str (getenv (name), value, 0);
+ lt_setenv (name, new_value);
+ XFREE (new_value);
+ }
+}
+
+
+EOF
+}
+# end: func_emit_cwrapperexe_src
+
+# func_mode_link arg...
+func_mode_link ()
+{
+ $opt_debug
+ case $host in
+ *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*)
+ # It is impossible to link a dll without this setting, and
+ # we shouldn't force the makefile maintainer to figure out
+ # which system we are compiling for in order to pass an extra
+ # flag for every libtool invocation.
+ # allow_undefined=no
+
+ # FIXME: Unfortunately, there are problems with the above when trying
+ # to make a dll which has undefined symbols, in which case not
+ # even a static library is built. For now, we need to specify
+ # -no-undefined on the libtool link line when we can be certain
+ # that all symbols are satisfied, otherwise we get a static library.
+ allow_undefined=yes
+ ;;
+ *)
+ allow_undefined=yes
+ ;;
+ esac
+ libtool_args=$nonopt
+ base_compile="$nonopt $@"
+ compile_command=$nonopt
+ finalize_command=$nonopt
+
+ compile_rpath=
+ finalize_rpath=
+ compile_shlibpath=
+ finalize_shlibpath=
+ convenience=
+ old_convenience=
+ deplibs=
+ old_deplibs=
+ compiler_flags=
+ linker_flags=
+ dllsearchpath=
+ lib_search_path=`pwd`
+ inst_prefix_dir=
+ new_inherited_linker_flags=
+
+ avoid_version=no
+ dlfiles=
+ dlprefiles=
+ dlself=no
+ export_dynamic=no
+ export_symbols=
+ export_symbols_regex=
+ generated=
+ libobjs=
+ ltlibs=
+ module=no
+ no_install=no
+ objs=
+ non_pic_objects=
+ precious_files_regex=
+ prefer_static_libs=no
+ preload=no
+ prev=
+ prevarg=
+ release=
+ rpath=
+ xrpath=
+ perm_rpath=
+ temp_rpath=
+ thread_safe=no
+ vinfo=
+ vinfo_number=no
+ weak_libs=
+ single_module="${wl}-single_module"
+ func_infer_tag $base_compile
+
+ # We need to know -static, to get the right output filenames.
+ for arg
+ do
+ case $arg in
+ -shared)
+ test "$build_libtool_libs" != yes && \
+ func_fatal_configuration "can not build a shared library"
+ build_old_libs=no
+ break
+ ;;
+ -all-static | -static | -static-libtool-libs)
+ case $arg in
+ -all-static)
+ if test "$build_libtool_libs" = yes && test -z "$link_static_flag"; then
+ func_warning "complete static linking is impossible in this configuration"
+ fi
+ if test -n "$link_static_flag"; then
+ dlopen_self=$dlopen_self_static
+ fi
+ prefer_static_libs=yes
+ ;;
+ -static)
+ if test -z "$pic_flag" && test -n "$link_static_flag"; then
+ dlopen_self=$dlopen_self_static
+ fi
+ prefer_static_libs=built
+ ;;
+ -static-libtool-libs)
+ if test -z "$pic_flag" && test -n "$link_static_flag"; then
+ dlopen_self=$dlopen_self_static
+ fi
+ prefer_static_libs=yes
+ ;;
+ esac
+ build_libtool_libs=no
+ build_old_libs=yes
+ break
+ ;;
+ esac
+ done
+
+ # See if our shared archives depend on static archives.
+ test -n "$old_archive_from_new_cmds" && build_old_libs=yes
+
+ # Go through the arguments, transforming them on the way.
+ while test "$#" -gt 0; do
+ arg="$1"
+ shift
+ func_quote_for_eval "$arg"
+ qarg=$func_quote_for_eval_unquoted_result
+ func_append libtool_args " $func_quote_for_eval_result"
+
+ # If the previous option needs an argument, assign it.
+ if test -n "$prev"; then
+ case $prev in
+ output)
+ func_append compile_command " @OUTPUT@"
+ func_append finalize_command " @OUTPUT@"
+ ;;
+ esac
+
+ case $prev in
+ dlfiles|dlprefiles)
+ if test "$preload" = no; then
+ # Add the symbol object into the linking commands.
+ func_append compile_command " @SYMFILE@"
+ func_append finalize_command " @SYMFILE@"
+ preload=yes
+ fi
+ case $arg in
+ *.la | *.lo) ;; # We handle these cases below.
+ force)
+ if test "$dlself" = no; then
+ dlself=needless
+ export_dynamic=yes
+ fi
+ prev=
+ continue
+ ;;
+ self)
+ if test "$prev" = dlprefiles; then
+ dlself=yes
+ elif test "$prev" = dlfiles && test "$dlopen_self" != yes; then
+ dlself=yes
+ else
+ dlself=needless
+ export_dynamic=yes
+ fi
+ prev=
+ continue
+ ;;
+ *)
+ if test "$prev" = dlfiles; then
+ dlfiles="$dlfiles $arg"
+ else
+ dlprefiles="$dlprefiles $arg"
+ fi
+ prev=
+ continue
+ ;;
+ esac
+ ;;
+ expsyms)
+ export_symbols="$arg"
+ test -f "$arg" \
+ || func_fatal_error "symbol file \`$arg' does not exist"
+ prev=
+ continue
+ ;;
+ expsyms_regex)
+ export_symbols_regex="$arg"
+ prev=
+ continue
+ ;;
+ framework)
+ case $host in
+ *-*-darwin*)
+ case "$deplibs " in
+ *" $qarg.ltframework "*) ;;
+ *) deplibs="$deplibs $qarg.ltframework" # this is fixed later
+ ;;
+ esac
+ ;;
+ esac
+ prev=
+ continue
+ ;;
+ inst_prefix)
+ inst_prefix_dir="$arg"
+ prev=
+ continue
+ ;;
+ objectlist)
+ if test -f "$arg"; then
+ save_arg=$arg
+ moreargs=
+ for fil in `cat "$save_arg"`
+ do
+# moreargs="$moreargs $fil"
+ arg=$fil
+ # A libtool-controlled object.
+
+ # Check to see that this really is a libtool object.
+ if func_lalib_unsafe_p "$arg"; then
+ pic_object=
+ non_pic_object=
+
+ # Read the .lo file
+ func_source "$arg"
+
+ if test -z "$pic_object" ||
+ test -z "$non_pic_object" ||
+ test "$pic_object" = none &&
+ test "$non_pic_object" = none; then
+ func_fatal_error "cannot find name of object for \`$arg'"
+ fi
+
+ # Extract subdirectory from the argument.
+ func_dirname "$arg" "/" ""
+ xdir="$func_dirname_result"
+
+ if test "$pic_object" != none; then
+ # Prepend the subdirectory the object is found in.
+ pic_object="$xdir$pic_object"
+
+ if test "$prev" = dlfiles; then
+ if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then
+ dlfiles="$dlfiles $pic_object"
+ prev=
+ continue
+ else
+ # If libtool objects are unsupported, then we need to preload.
+ prev=dlprefiles
+ fi
+ fi
+
+ # CHECK ME: I think I busted this. -Ossama
+ if test "$prev" = dlprefiles; then
+ # Preload the old-style object.
+ dlprefiles="$dlprefiles $pic_object"
+ prev=
+ fi
+
+ # A PIC object.
+ func_append libobjs " $pic_object"
+ arg="$pic_object"
+ fi
+
+ # Non-PIC object.
+ if test "$non_pic_object" != none; then
+ # Prepend the subdirectory the object is found in.
+ non_pic_object="$xdir$non_pic_object"
+
+ # A standard non-PIC object
+ func_append non_pic_objects " $non_pic_object"
+ if test -z "$pic_object" || test "$pic_object" = none ; then
+ arg="$non_pic_object"
+ fi
+ else
+ # If the PIC object exists, use it instead.
+ # $xdir was prepended to $pic_object above.
+ non_pic_object="$pic_object"
+ func_append non_pic_objects " $non_pic_object"
+ fi
+ else
+ # Only an error if not doing a dry-run.
+ if $opt_dry_run; then
+ # Extract subdirectory from the argument.
+ func_dirname "$arg" "/" ""
+ xdir="$func_dirname_result"
+
+ func_lo2o "$arg"
+ pic_object=$xdir$objdir/$func_lo2o_result
+ non_pic_object=$xdir$func_lo2o_result
+ func_append libobjs " $pic_object"
+ func_append non_pic_objects " $non_pic_object"
+ else
+ func_fatal_error "\`$arg' is not a valid libtool object"
+ fi
+ fi
+ done
+ else
+ func_fatal_error "link input file \`$arg' does not exist"
+ fi
+ arg=$save_arg
+ prev=
+ continue
+ ;;
+ precious_regex)
+ precious_files_regex="$arg"
+ prev=
+ continue
+ ;;
+ release)
+ release="-$arg"
+ prev=
+ continue
+ ;;
+ rpath | xrpath)
+ # We need an absolute path.
+ case $arg in
+ [\\/]* | [A-Za-z]:[\\/]*) ;;
+ *)
+ func_fatal_error "only absolute run-paths are allowed"
+ ;;
+ esac
+ if test "$prev" = rpath; then
+ case "$rpath " in
+ *" $arg "*) ;;
+ *) rpath="$rpath $arg" ;;
+ esac
+ else
+ case "$xrpath " in
+ *" $arg "*) ;;
+ *) xrpath="$xrpath $arg" ;;
+ esac
+ fi
+ prev=
+ continue
+ ;;
+ shrext)
+ shrext_cmds="$arg"
+ prev=
+ continue
+ ;;
+ weak)
+ weak_libs="$weak_libs $arg"
+ prev=
+ continue
+ ;;
+ xcclinker)
+ linker_flags="$linker_flags $qarg"
+ compiler_flags="$compiler_flags $qarg"
+ prev=
+ func_append compile_command " $qarg"
+ func_append finalize_command " $qarg"
+ continue
+ ;;
+ xcompiler)
+ compiler_flags="$compiler_flags $qarg"
+ prev=
+ func_append compile_command " $qarg"
+ func_append finalize_command " $qarg"
+ continue
+ ;;
+ xlinker)
+ linker_flags="$linker_flags $qarg"
+ compiler_flags="$compiler_flags $wl$qarg"
+ prev=
+ func_append compile_command " $wl$qarg"
+ func_append finalize_command " $wl$qarg"
+ continue
+ ;;
+ *)
+ eval "$prev=\"\$arg\""
+ prev=
+ continue
+ ;;
+ esac
+ fi # test -n "$prev"
+
+ prevarg="$arg"
+
+ case $arg in
+ -all-static)
+ if test -n "$link_static_flag"; then
+ # See comment for -static flag below, for more details.
+ func_append compile_command " $link_static_flag"
+ func_append finalize_command " $link_static_flag"
+ fi
+ continue
+ ;;
+
+ -allow-undefined)
+ # FIXME: remove this flag sometime in the future.
+ func_fatal_error "\`-allow-undefined' must not be used because it is the default"
+ ;;
+
+ -avoid-version)
+ avoid_version=yes
+ continue
+ ;;
+
+ -dlopen)
+ prev=dlfiles
+ continue
+ ;;
+
+ -dlpreopen)
+ prev=dlprefiles
+ continue
+ ;;
+
+ -export-dynamic)
+ export_dynamic=yes
+ continue
+ ;;
+
+ -export-symbols | -export-symbols-regex)
+ if test -n "$export_symbols" || test -n "$export_symbols_regex"; then
+ func_fatal_error "more than one -exported-symbols argument is not allowed"
+ fi
+ if test "X$arg" = "X-export-symbols"; then
+ prev=expsyms
+ else
+ prev=expsyms_regex
+ fi
+ continue
+ ;;
+
+ -framework)
+ prev=framework
+ continue
+ ;;
+
+ -inst-prefix-dir)
+ prev=inst_prefix
+ continue
+ ;;
+
+ # The native IRIX linker understands -LANG:*, -LIST:* and -LNO:*
+ # so, if we see these flags be careful not to treat them like -L
+ -L[A-Z][A-Z]*:*)
+ case $with_gcc/$host in
+ no/*-*-irix* | /*-*-irix*)
+ func_append compile_command " $arg"
+ func_append finalize_command " $arg"
+ ;;
+ esac
+ continue
+ ;;
+
+ -L*)
+ func_stripname '-L' '' "$arg"
+ dir=$func_stripname_result
+ if test -z "$dir"; then
+ if test "$#" -gt 0; then
+ func_fatal_error "require no space between \`-L' and \`$1'"
+ else
+ func_fatal_error "need path for \`-L' option"
+ fi
+ fi
+ # We need an absolute path.
+ case $dir in
+ [\\/]* | [A-Za-z]:[\\/]*) ;;
+ *)
+ absdir=`cd "$dir" && pwd`
+ test -z "$absdir" && \
+ func_fatal_error "cannot determine absolute directory name of \`$dir'"
+ dir="$absdir"
+ ;;
+ esac
+ case "$deplibs " in
+ *" -L$dir "*) ;;
+ *)
+ deplibs="$deplibs -L$dir"
+ lib_search_path="$lib_search_path $dir"
+ ;;
+ esac
+ case $host in
+ *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*)
+ testbindir=`$ECHO "X$dir" | $Xsed -e 's*/lib$*/bin*'`
+ case :$dllsearchpath: in
+ *":$dir:"*) ;;
+ ::) dllsearchpath=$dir;;
+ *) dllsearchpath="$dllsearchpath:$dir";;
+ esac
+ case :$dllsearchpath: in
+ *":$testbindir:"*) ;;
+ ::) dllsearchpath=$testbindir;;
+ *) dllsearchpath="$dllsearchpath:$testbindir";;
+ esac
+ ;;
+ esac
+ continue
+ ;;
+
+ -l*)
+ if test "X$arg" = "X-lc" || test "X$arg" = "X-lm"; then
+ case $host in
+ *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-beos* | *-cegcc*)
+ # These systems don't actually have a C or math library (as such)
+ continue
+ ;;
+ *-*-os2*)
+ # These systems don't actually have a C library (as such)
+ test "X$arg" = "X-lc" && continue
+ ;;
+ *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*)
+ # Do not include libc due to us having libc/libc_r.
+ test "X$arg" = "X-lc" && continue
+ ;;
+ *-*-rhapsody* | *-*-darwin1.[012])
+ # Rhapsody C and math libraries are in the System framework
+ deplibs="$deplibs System.ltframework"
+ continue
+ ;;
+ *-*-sco3.2v5* | *-*-sco5v6*)
+ # Causes problems with __ctype
+ test "X$arg" = "X-lc" && continue
+ ;;
+ *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*)
+ # Compiler inserts libc in the correct place for threads to work
+ test "X$arg" = "X-lc" && continue
+ ;;
+ esac
+ elif test "X$arg" = "X-lc_r"; then
+ case $host in
+ *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*)
+ # Do not include libc_r directly, use -pthread flag.
+ continue
+ ;;
+ esac
+ fi
+ deplibs="$deplibs $arg"
+ continue
+ ;;
+
+ -module)
+ module=yes
+ continue
+ ;;
+
+ # Tru64 UNIX uses -model [arg] to determine the layout of C++
+ # classes, name mangling, and exception handling.
+ # Darwin uses the -arch flag to determine output architecture.
+ -model|-arch|-isysroot)
+ compiler_flags="$compiler_flags $arg"
+ func_append compile_command " $arg"
+ func_append finalize_command " $arg"
+ prev=xcompiler
+ continue
+ ;;
+
+ -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe|-threads)
+ compiler_flags="$compiler_flags $arg"
+ func_append compile_command " $arg"
+ func_append finalize_command " $arg"
+ case "$new_inherited_linker_flags " in
+ *" $arg "*) ;;
+ * ) new_inherited_linker_flags="$new_inherited_linker_flags $arg" ;;
+ esac
+ continue
+ ;;
+
+ -multi_module)
+ single_module="${wl}-multi_module"
+ continue
+ ;;
+
+ -no-fast-install)
+ fast_install=no
+ continue
+ ;;
+
+ -no-install)
+ case $host in
+ *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-darwin* | *-cegcc*)
+ # The PATH hackery in wrapper scripts is required on Windows
+ # and Darwin in order for the loader to find any dlls it needs.
+ func_warning "\`-no-install' is ignored for $host"
+ func_warning "assuming \`-no-fast-install' instead"
+ fast_install=no
+ ;;
+ *) no_install=yes ;;
+ esac
+ continue
+ ;;
+
+ -no-undefined)
+ allow_undefined=no
+ continue
+ ;;
+
+ -objectlist)
+ prev=objectlist
+ continue
+ ;;
+
+ -o) prev=output ;;
+
+ -precious-files-regex)
+ prev=precious_regex
+ continue
+ ;;
+
+ -release)
+ prev=release
+ continue
+ ;;
+
+ -rpath)
+ prev=rpath
+ continue
+ ;;
+
+ -R)
+ prev=xrpath
+ continue
+ ;;
+
+ -R*)
+ func_stripname '-R' '' "$arg"
+ dir=$func_stripname_result
+ # We need an absolute path.
+ case $dir in
+ [\\/]* | [A-Za-z]:[\\/]*) ;;
+ *)
+ func_fatal_error "only absolute run-paths are allowed"
+ ;;
+ esac
+ case "$xrpath " in
+ *" $dir "*) ;;
+ *) xrpath="$xrpath $dir" ;;
+ esac
+ continue
+ ;;
+
+ -shared)
+ # The effects of -shared are defined in a previous loop.
+ continue
+ ;;
+
+ -shrext)
+ prev=shrext
+ continue
+ ;;
+
+ -static | -static-libtool-libs)
+ # The effects of -static are defined in a previous loop.
+ # We used to do the same as -all-static on platforms that
+ # didn't have a PIC flag, but the assumption that the effects
+ # would be equivalent was wrong. It would break on at least
+ # Digital Unix and AIX.
+ continue
+ ;;
+
+ -thread-safe)
+ thread_safe=yes
+ continue
+ ;;
+
+ -version-info)
+ prev=vinfo
+ continue
+ ;;
+
+ -version-number)
+ prev=vinfo
+ vinfo_number=yes
+ continue
+ ;;
+
+ -weak)
+ prev=weak
+ continue
+ ;;
+
+ -Wc,*)
+ func_stripname '-Wc,' '' "$arg"
+ args=$func_stripname_result
+ arg=
+ save_ifs="$IFS"; IFS=','
+ for flag in $args; do
+ IFS="$save_ifs"
+ func_quote_for_eval "$flag"
+ arg="$arg $wl$func_quote_for_eval_result"
+ compiler_flags="$compiler_flags $func_quote_for_eval_result"
+ done
+ IFS="$save_ifs"
+ func_stripname ' ' '' "$arg"
+ arg=$func_stripname_result
+ ;;
+
+ -Wl,*)
+ func_stripname '-Wl,' '' "$arg"
+ args=$func_stripname_result
+ arg=
+ save_ifs="$IFS"; IFS=','
+ for flag in $args; do
+ IFS="$save_ifs"
+ func_quote_for_eval "$flag"
+ arg="$arg $wl$func_quote_for_eval_result"
+ compiler_flags="$compiler_flags $wl$func_quote_for_eval_result"
+ linker_flags="$linker_flags $func_quote_for_eval_result"
+ done
+ IFS="$save_ifs"
+ func_stripname ' ' '' "$arg"
+ arg=$func_stripname_result
+ ;;
+
+ -Xcompiler)
+ prev=xcompiler
+ continue
+ ;;
+
+ -Xlinker)
+ prev=xlinker
+ continue
+ ;;
+
+ -XCClinker)
+ prev=xcclinker
+ continue
+ ;;
+
+ # -msg_* for osf cc
+ -msg_*)
+ func_quote_for_eval "$arg"
+ arg="$func_quote_for_eval_result"
+ ;;
+
+ # -64, -mips[0-9] enable 64-bit mode on the SGI compiler
+ # -r[0-9][0-9]* specifies the processor on the SGI compiler
+ # -xarch=*, -xtarget=* enable 64-bit mode on the Sun compiler
+ # +DA*, +DD* enable 64-bit mode on the HP compiler
+ # -q* pass through compiler args for the IBM compiler
+ # -m*, -t[45]*, -txscale* pass through architecture-specific
+ # compiler args for GCC
+ # -F/path gives path to uninstalled frameworks, gcc on darwin
+ # -p, -pg, --coverage, -fprofile-* pass through profiling flag for GCC
+ # @file GCC response files
+ -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \
+ -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*)
+ func_quote_for_eval "$arg"
+ arg="$func_quote_for_eval_result"
+ func_append compile_command " $arg"
+ func_append finalize_command " $arg"
+ compiler_flags="$compiler_flags $arg"
+ continue
+ ;;
+
+ # Some other compiler flag.
+ -* | +*)
+ func_quote_for_eval "$arg"
+ arg="$func_quote_for_eval_result"
+ ;;
+
+ *.$objext)
+ # A standard object.
+ objs="$objs $arg"
+ ;;
+
+ *.lo)
+ # A libtool-controlled object.
+
+ # Check to see that this really is a libtool object.
+ if func_lalib_unsafe_p "$arg"; then
+ pic_object=
+ non_pic_object=
+
+ # Read the .lo file
+ func_source "$arg"
+
+ if test -z "$pic_object" ||
+ test -z "$non_pic_object" ||
+ test "$pic_object" = none &&
+ test "$non_pic_object" = none; then
+ func_fatal_error "cannot find name of object for \`$arg'"
+ fi
+
+ # Extract subdirectory from the argument.
+ func_dirname "$arg" "/" ""
+ xdir="$func_dirname_result"
+
+ if test "$pic_object" != none; then
+ # Prepend the subdirectory the object is found in.
+ pic_object="$xdir$pic_object"
+
+ if test "$prev" = dlfiles; then
+ if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then
+ dlfiles="$dlfiles $pic_object"
+ prev=
+ continue
+ else
+ # If libtool objects are unsupported, then we need to preload.
+ prev=dlprefiles
+ fi
+ fi
+
+ # CHECK ME: I think I busted this. -Ossama
+ if test "$prev" = dlprefiles; then
+ # Preload the old-style object.
+ dlprefiles="$dlprefiles $pic_object"
+ prev=
+ fi
+
+ # A PIC object.
+ func_append libobjs " $pic_object"
+ arg="$pic_object"
+ fi
+
+ # Non-PIC object.
+ if test "$non_pic_object" != none; then
+ # Prepend the subdirectory the object is found in.
+ non_pic_object="$xdir$non_pic_object"
+
+ # A standard non-PIC object
+ func_append non_pic_objects " $non_pic_object"
+ if test -z "$pic_object" || test "$pic_object" = none ; then
+ arg="$non_pic_object"
+ fi
+ else
+ # If the PIC object exists, use it instead.
+ # $xdir was prepended to $pic_object above.
+ non_pic_object="$pic_object"
+ func_append non_pic_objects " $non_pic_object"
+ fi
+ else
+ # Only an error if not doing a dry-run.
+ if $opt_dry_run; then
+ # Extract subdirectory from the argument.
+ func_dirname "$arg" "/" ""
+ xdir="$func_dirname_result"
+
+ func_lo2o "$arg"
+ pic_object=$xdir$objdir/$func_lo2o_result
+ non_pic_object=$xdir$func_lo2o_result
+ func_append libobjs " $pic_object"
+ func_append non_pic_objects " $non_pic_object"
+ else
+ func_fatal_error "\`$arg' is not a valid libtool object"
+ fi
+ fi
+ ;;
+
+ *.$libext)
+ # An archive.
+ deplibs="$deplibs $arg"
+ old_deplibs="$old_deplibs $arg"
+ continue
+ ;;
+
+ *.la)
+ # A libtool-controlled library.
+
+ if test "$prev" = dlfiles; then
+ # This library was specified with -dlopen.
+ dlfiles="$dlfiles $arg"
+ prev=
+ elif test "$prev" = dlprefiles; then
+ # The library was specified with -dlpreopen.
+ dlprefiles="$dlprefiles $arg"
+ prev=
+ else
+ deplibs="$deplibs $arg"
+ fi
+ continue
+ ;;
+
+ # Some other compiler argument.
+ *)
+ # Unknown arguments in both finalize_command and compile_command need
+ # to be aesthetically quoted because they are evaled later.
+ func_quote_for_eval "$arg"
+ arg="$func_quote_for_eval_result"
+ ;;
+ esac # arg
+
+ # Now actually substitute the argument into the commands.
+ if test -n "$arg"; then
+ func_append compile_command " $arg"
+ func_append finalize_command " $arg"
+ fi
+ done # argument parsing loop
+
+ test -n "$prev" && \
+ func_fatal_help "the \`$prevarg' option requires an argument"
+
+ if test "$export_dynamic" = yes && test -n "$export_dynamic_flag_spec"; then
+ eval arg=\"$export_dynamic_flag_spec\"
+ func_append compile_command " $arg"
+ func_append finalize_command " $arg"
+ fi
+
+ oldlibs=
+ # calculate the name of the file, without its directory
+ func_basename "$output"
+ outputname="$func_basename_result"
+ libobjs_save="$libobjs"
+
+ if test -n "$shlibpath_var"; then
+ # get the directories listed in $shlibpath_var
+ eval shlib_search_path=\`\$ECHO \"X\${$shlibpath_var}\" \| \$Xsed -e \'s/:/ /g\'\`
+ else
+ shlib_search_path=
+ fi
+ eval sys_lib_search_path=\"$sys_lib_search_path_spec\"
+ eval sys_lib_dlsearch_path=\"$sys_lib_dlsearch_path_spec\"
+
+ func_dirname "$output" "/" ""
+ output_objdir="$func_dirname_result$objdir"
+ # Create the object directory.
+ func_mkdir_p "$output_objdir"
+
+ # Determine the type of output
+ case $output in
+ "")
+ func_fatal_help "you must specify an output file"
+ ;;
+ *.$libext) linkmode=oldlib ;;
+ *.lo | *.$objext) linkmode=obj ;;
+ *.la) linkmode=lib ;;
+ *) linkmode=prog ;; # Anything else should be a program.
+ esac
+
+ specialdeplibs=
+
+ libs=
+ # Find all interdependent deplibs by searching for libraries
+ # that are linked more than once (e.g. -la -lb -la)
+ for deplib in $deplibs; do
+ if $opt_duplicate_deps ; then
+ case "$libs " in
+ *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
+ esac
+ fi
+ libs="$libs $deplib"
+ done
+
+ if test "$linkmode" = lib; then
+ libs="$predeps $libs $compiler_lib_search_path $postdeps"
+
+ # Compute libraries that are listed more than once in $predeps
+ # $postdeps and mark them as special (i.e., whose duplicates are
+ # not to be eliminated).
+ pre_post_deps=
+ if $opt_duplicate_compiler_generated_deps; then
+ for pre_post_dep in $predeps $postdeps; do
+ case "$pre_post_deps " in
+ *" $pre_post_dep "*) specialdeplibs="$specialdeplibs $pre_post_deps" ;;
+ esac
+ pre_post_deps="$pre_post_deps $pre_post_dep"
+ done
+ fi
+ pre_post_deps=
+ fi
+
+ deplibs=
+ newdependency_libs=
+ newlib_search_path=
+ need_relink=no # whether we're linking any uninstalled libtool libraries
+ notinst_deplibs= # not-installed libtool libraries
+ notinst_path= # paths that contain not-installed libtool libraries
+
+ case $linkmode in
+ lib)
+ passes="conv dlpreopen link"
+ for file in $dlfiles $dlprefiles; do
+ case $file in
+ *.la) ;;
+ *)
+ func_fatal_help "libraries can \`-dlopen' only libtool libraries: $file"
+ ;;
+ esac
+ done
+ ;;
+ prog)
+ compile_deplibs=
+ finalize_deplibs=
+ alldeplibs=no
+ newdlfiles=
+ newdlprefiles=
+ passes="conv scan dlopen dlpreopen link"
+ ;;
+ *) passes="conv"
+ ;;
+ esac
+
+ for pass in $passes; do
+ # The preopen pass in lib mode reverses $deplibs; put it back here
+ # so that -L comes before libs that need it for instance...
+ if test "$linkmode,$pass" = "lib,link"; then
+ ## FIXME: Find the place where the list is rebuilt in the wrong
+ ## order, and fix it there properly
+ tmp_deplibs=
+ for deplib in $deplibs; do
+ tmp_deplibs="$deplib $tmp_deplibs"
+ done
+ deplibs="$tmp_deplibs"
+ fi
+
+ if test "$linkmode,$pass" = "lib,link" ||
+ test "$linkmode,$pass" = "prog,scan"; then
+ libs="$deplibs"
+ deplibs=
+ fi
+ if test "$linkmode" = prog; then
+ case $pass in
+ dlopen) libs="$dlfiles" ;;
+ dlpreopen) libs="$dlprefiles" ;;
+ link)
+ libs="$deplibs %DEPLIBS%"
+ test "X$link_all_deplibs" != Xno && libs="$libs $dependency_libs"
+ ;;
+ esac
+ fi
+ if test "$linkmode,$pass" = "lib,dlpreopen"; then
+ # Collect and forward deplibs of preopened libtool libs
+ for lib in $dlprefiles; do
+ # Ignore non-libtool-libs
+ dependency_libs=
+ case $lib in
+ *.la) func_source "$lib" ;;
+ esac
+
+ # Collect preopened libtool deplibs, except any this library
+ # has declared as weak libs
+ for deplib in $dependency_libs; do
+ deplib_base=`$ECHO "X$deplib" | $Xsed -e "$basename"`
+ case " $weak_libs " in
+ *" $deplib_base "*) ;;
+ *) deplibs="$deplibs $deplib" ;;
+ esac
+ done
+ done
+ libs="$dlprefiles"
+ fi
+ if test "$pass" = dlopen; then
+ # Collect dlpreopened libraries
+ save_deplibs="$deplibs"
+ deplibs=
+ fi
+
+ for deplib in $libs; do
+ lib=
+ found=no
+ case $deplib in
+ -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe|-threads)
+ if test "$linkmode,$pass" = "prog,link"; then
+ compile_deplibs="$deplib $compile_deplibs"
+ finalize_deplibs="$deplib $finalize_deplibs"
+ else
+ compiler_flags="$compiler_flags $deplib"
+ if test "$linkmode" = lib ; then
+ case "$new_inherited_linker_flags " in
+ *" $deplib "*) ;;
+ * ) new_inherited_linker_flags="$new_inherited_linker_flags $deplib" ;;
+ esac
+ fi
+ fi
+ continue
+ ;;
+ -l*)
+ if test "$linkmode" != lib && test "$linkmode" != prog; then
+ func_warning "\`-l' is ignored for archives/objects"
+ continue
+ fi
+ func_stripname '-l' '' "$deplib"
+ name=$func_stripname_result
+ if test "$linkmode" = lib; then
+ searchdirs="$newlib_search_path $lib_search_path $compiler_lib_search_dirs $sys_lib_search_path $shlib_search_path"
+ else
+ searchdirs="$newlib_search_path $lib_search_path $sys_lib_search_path $shlib_search_path"
+ fi
+ for searchdir in $searchdirs; do
+ for search_ext in .la $std_shrext .so .a; do
+ # Search the libtool library
+ lib="$searchdir/lib${name}${search_ext}"
+ if test -f "$lib"; then
+ if test "$search_ext" = ".la"; then
+ found=yes
+ else
+ found=no
+ fi
+ break 2
+ fi
+ done
+ done
+ if test "$found" != yes; then
+ # deplib doesn't seem to be a libtool library
+ if test "$linkmode,$pass" = "prog,link"; then
+ compile_deplibs="$deplib $compile_deplibs"
+ finalize_deplibs="$deplib $finalize_deplibs"
+ else
+ deplibs="$deplib $deplibs"
+ test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs"
+ fi
+ continue
+ else # deplib is a libtool library
+ # If $allow_libtool_libs_with_static_runtimes && $deplib is a stdlib,
+ # We need to do some special things here, and not later.
+ if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
+ case " $predeps $postdeps " in
+ *" $deplib "*)
+ if func_lalib_p "$lib"; then
+ library_names=
+ old_library=
+ func_source "$lib"
+ for l in $old_library $library_names; do
+ ll="$l"
+ done
+ if test "X$ll" = "X$old_library" ; then # only static version available
+ found=no
+ func_dirname "$lib" "" "."
+ ladir="$func_dirname_result"
+ lib=$ladir/$old_library
+ if test "$linkmode,$pass" = "prog,link"; then
+ compile_deplibs="$deplib $compile_deplibs"
+ finalize_deplibs="$deplib $finalize_deplibs"
+ else
+ deplibs="$deplib $deplibs"
+ test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs"
+ fi
+ continue
+ fi
+ fi
+ ;;
+ *) ;;
+ esac
+ fi
+ fi
+ ;; # -l
+ *.ltframework)
+ if test "$linkmode,$pass" = "prog,link"; then
+ compile_deplibs="$deplib $compile_deplibs"
+ finalize_deplibs="$deplib $finalize_deplibs"
+ else
+ deplibs="$deplib $deplibs"
+ if test "$linkmode" = lib ; then
+ case "$new_inherited_linker_flags " in
+ *" $deplib "*) ;;
+ * ) new_inherited_linker_flags="$new_inherited_linker_flags $deplib" ;;
+ esac
+ fi
+ fi
+ continue
+ ;;
+ -L*)
+ case $linkmode in
+ lib)
+ deplibs="$deplib $deplibs"
+ test "$pass" = conv && continue
+ newdependency_libs="$deplib $newdependency_libs"
+ func_stripname '-L' '' "$deplib"
+ newlib_search_path="$newlib_search_path $func_stripname_result"
+ ;;
+ prog)
+ if test "$pass" = conv; then
+ deplibs="$deplib $deplibs"
+ continue
+ fi
+ if test "$pass" = scan; then
+ deplibs="$deplib $deplibs"
+ else
+ compile_deplibs="$deplib $compile_deplibs"
+ finalize_deplibs="$deplib $finalize_deplibs"
+ fi
+ func_stripname '-L' '' "$deplib"
+ newlib_search_path="$newlib_search_path $func_stripname_result"
+ ;;
+ *)
+ func_warning "\`-L' is ignored for archives/objects"
+ ;;
+ esac # linkmode
+ continue
+ ;; # -L
+ -R*)
+ if test "$pass" = link; then
+ func_stripname '-R' '' "$deplib"
+ dir=$func_stripname_result
+ # Make sure the xrpath contains only unique directories.
+ case "$xrpath " in
+ *" $dir "*) ;;
+ *) xrpath="$xrpath $dir" ;;
+ esac
+ fi
+ deplibs="$deplib $deplibs"
+ continue
+ ;;
+ *.la) lib="$deplib" ;;
+ *.$libext)
+ if test "$pass" = conv; then
+ deplibs="$deplib $deplibs"
+ continue
+ fi
+ case $linkmode in
+ lib)
+ # Linking convenience modules into shared libraries is allowed,
+ # but linking other static libraries is non-portable.
+ case " $dlpreconveniencelibs " in
+ *" $deplib "*) ;;
+ *)
+ valid_a_lib=no
+ case $deplibs_check_method in
+ match_pattern*)
+ set dummy $deplibs_check_method; shift
+ match_pattern_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"`
+ if eval "\$ECHO \"X$deplib\"" 2>/dev/null | $Xsed -e 10q \
+ | $EGREP "$match_pattern_regex" > /dev/null; then
+ valid_a_lib=yes
+ fi
+ ;;
+ pass_all)
+ valid_a_lib=yes
+ ;;
+ esac
+ if test "$valid_a_lib" != yes; then
+ $ECHO
+ $ECHO "*** Warning: Trying to link with static lib archive $deplib."
+ $ECHO "*** I have the capability to make that library automatically link in when"
+ $ECHO "*** you link to this library. But I can only do this if you have a"
+ $ECHO "*** shared version of the library, which you do not appear to have"
+ $ECHO "*** because the file extensions .$libext of this argument makes me believe"
+ $ECHO "*** that it is just a static archive that I should not use here."
+ else
+ $ECHO
+ $ECHO "*** Warning: Linking the shared library $output against the"
+ $ECHO "*** static library $deplib is not portable!"
+ deplibs="$deplib $deplibs"
+ fi
+ ;;
+ esac
+ continue
+ ;;
+ prog)
+ if test "$pass" != link; then
+ deplibs="$deplib $deplibs"
+ else
+ compile_deplibs="$deplib $compile_deplibs"
+ finalize_deplibs="$deplib $finalize_deplibs"
+ fi
+ continue
+ ;;
+ esac # linkmode
+ ;; # *.$libext
+ *.lo | *.$objext)
+ if test "$pass" = conv; then
+ deplibs="$deplib $deplibs"
+ elif test "$linkmode" = prog; then
+ if test "$pass" = dlpreopen || test "$dlopen_support" != yes || test "$build_libtool_libs" = no; then
+ # If there is no dlopen support or we're linking statically,
+ # we need to preload.
+ newdlprefiles="$newdlprefiles $deplib"
+ compile_deplibs="$deplib $compile_deplibs"
+ finalize_deplibs="$deplib $finalize_deplibs"
+ else
+ newdlfiles="$newdlfiles $deplib"
+ fi
+ fi
+ continue
+ ;;
+ %DEPLIBS%)
+ alldeplibs=yes
+ continue
+ ;;
+ esac # case $deplib
+
+ if test "$found" = yes || test -f "$lib"; then :
+ else
+ func_fatal_error "cannot find the library \`$lib' or unhandled argument \`$deplib'"
+ fi
+
+ # Check to see that this really is a libtool archive.
+ func_lalib_unsafe_p "$lib" \
+ || func_fatal_error "\`$lib' is not a valid libtool archive"
+
+ func_dirname "$lib" "" "."
+ ladir="$func_dirname_result"
+
+ dlname=
+ dlopen=
+ dlpreopen=
+ libdir=
+ library_names=
+ old_library=
+ inherited_linker_flags=
+ # If the library was installed with an old release of libtool,
+ # it will not redefine variables installed, or shouldnotlink
+ installed=yes
+ shouldnotlink=no
+ avoidtemprpath=
+
+
+ # Read the .la file
+ func_source "$lib"
+
+ # Convert "-framework foo" to "foo.ltframework"
+ if test -n "$inherited_linker_flags"; then
+ tmp_inherited_linker_flags=`$ECHO "X$inherited_linker_flags" | $Xsed -e 's/-framework \([^ $]*\)/\1.ltframework/g'`
+ for tmp_inherited_linker_flag in $tmp_inherited_linker_flags; do
+ case " $new_inherited_linker_flags " in
+ *" $tmp_inherited_linker_flag "*) ;;
+ *) new_inherited_linker_flags="$new_inherited_linker_flags $tmp_inherited_linker_flag";;
+ esac
+ done
+ fi
+ dependency_libs=`$ECHO "X $dependency_libs" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'`
+ if test "$linkmode,$pass" = "lib,link" ||
+ test "$linkmode,$pass" = "prog,scan" ||
+ { test "$linkmode" != prog && test "$linkmode" != lib; }; then
+ test -n "$dlopen" && dlfiles="$dlfiles $dlopen"
+ test -n "$dlpreopen" && dlprefiles="$dlprefiles $dlpreopen"
+ fi
+
+ if test "$pass" = conv; then
+ # Only check for convenience libraries
+ deplibs="$lib $deplibs"
+ if test -z "$libdir"; then
+ if test -z "$old_library"; then
+ func_fatal_error "cannot find name of link library for \`$lib'"
+ fi
+ # It is a libtool convenience library, so add in its objects.
+ convenience="$convenience $ladir/$objdir/$old_library"
+ old_convenience="$old_convenience $ladir/$objdir/$old_library"
+ tmp_libs=
+ for deplib in $dependency_libs; do
+ deplibs="$deplib $deplibs"
+ if $opt_duplicate_deps ; then
+ case "$tmp_libs " in
+ *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
+ esac
+ fi
+ tmp_libs="$tmp_libs $deplib"
+ done
+ elif test "$linkmode" != prog && test "$linkmode" != lib; then
+ func_fatal_error "\`$lib' is not a convenience library"
+ fi
+ continue
+ fi # $pass = conv
+
+
+ # Get the name of the library we link against.
+ linklib=
+ for l in $old_library $library_names; do
+ linklib="$l"
+ done
+ if test -z "$linklib"; then
+ func_fatal_error "cannot find name of link library for \`$lib'"
+ fi
+
+ # This library was specified with -dlopen.
+ if test "$pass" = dlopen; then
+ if test -z "$libdir"; then
+ func_fatal_error "cannot -dlopen a convenience library: \`$lib'"
+ fi
+ if test -z "$dlname" ||
+ test "$dlopen_support" != yes ||
+ test "$build_libtool_libs" = no; then
+ # If there is no dlname, no dlopen support or we're linking
+ # statically, we need to preload. We also need to preload any
+ # dependent libraries so libltdl's deplib preloader doesn't
+ # bomb out in the load deplibs phase.
+ dlprefiles="$dlprefiles $lib $dependency_libs"
+ else
+ newdlfiles="$newdlfiles $lib"
+ fi
+ continue
+ fi # $pass = dlopen
+
+ # We need an absolute path.
+ case $ladir in
+ [\\/]* | [A-Za-z]:[\\/]*) abs_ladir="$ladir" ;;
+ *)
+ abs_ladir=`cd "$ladir" && pwd`
+ if test -z "$abs_ladir"; then
+ func_warning "cannot determine absolute directory name of \`$ladir'"
+ func_warning "passing it literally to the linker, although it might fail"
+ abs_ladir="$ladir"
+ fi
+ ;;
+ esac
+ func_basename "$lib"
+ laname="$func_basename_result"
+
+ # Find the relevant object directory and library name.
+ if test "X$installed" = Xyes; then
+ if test ! -f "$libdir/$linklib" && test -f "$abs_ladir/$linklib"; then
+ func_warning "library \`$lib' was moved."
+ dir="$ladir"
+ absdir="$abs_ladir"
+ libdir="$abs_ladir"
+ else
+ dir="$libdir"
+ absdir="$libdir"
+ fi
+ test "X$hardcode_automatic" = Xyes && avoidtemprpath=yes
+ else
+ if test ! -f "$ladir/$objdir/$linklib" && test -f "$abs_ladir/$linklib"; then
+ dir="$ladir"
+ absdir="$abs_ladir"
+ # Remove this search path later
+ notinst_path="$notinst_path $abs_ladir"
+ else
+ dir="$ladir/$objdir"
+ absdir="$abs_ladir/$objdir"
+ # Remove this search path later
+ notinst_path="$notinst_path $abs_ladir"
+ fi
+ fi # $installed = yes
+ func_stripname 'lib' '.la' "$laname"
+ name=$func_stripname_result
+
+ # This library was specified with -dlpreopen.
+ if test "$pass" = dlpreopen; then
+ if test -z "$libdir" && test "$linkmode" = prog; then
+ func_fatal_error "only libraries may -dlpreopen a convenience library: \`$lib'"
+ fi
+ # Prefer using a static library (so that no silly _DYNAMIC symbols
+ # are required to link).
+ if test -n "$old_library"; then
+ newdlprefiles="$newdlprefiles $dir/$old_library"
+ # Keep a list of preopened convenience libraries to check
+ # that they are being used correctly in the link pass.
+ test -z "$libdir" && \
+ dlpreconveniencelibs="$dlpreconveniencelibs $dir/$old_library"
+ # Otherwise, use the dlname, so that lt_dlopen finds it.
+ elif test -n "$dlname"; then
+ newdlprefiles="$newdlprefiles $dir/$dlname"
+ else
+ newdlprefiles="$newdlprefiles $dir/$linklib"
+ fi
+ fi # $pass = dlpreopen
+
+ if test -z "$libdir"; then
+ # Link the convenience library
+ if test "$linkmode" = lib; then
+ deplibs="$dir/$old_library $deplibs"
+ elif test "$linkmode,$pass" = "prog,link"; then
+ compile_deplibs="$dir/$old_library $compile_deplibs"
+ finalize_deplibs="$dir/$old_library $finalize_deplibs"
+ else
+ deplibs="$lib $deplibs" # used for prog,scan pass
+ fi
+ continue
+ fi
+
+
+ if test "$linkmode" = prog && test "$pass" != link; then
+ newlib_search_path="$newlib_search_path $ladir"
+ deplibs="$lib $deplibs"
+
+ linkalldeplibs=no
+ if test "$link_all_deplibs" != no || test -z "$library_names" ||
+ test "$build_libtool_libs" = no; then
+ linkalldeplibs=yes
+ fi
+
+ tmp_libs=
+ for deplib in $dependency_libs; do
+ case $deplib in
+ -L*) func_stripname '-L' '' "$deplib"
+ newlib_search_path="$newlib_search_path $func_stripname_result"
+ ;;
+ esac
+ # Need to link against all dependency_libs?
+ if test "$linkalldeplibs" = yes; then
+ deplibs="$deplib $deplibs"
+ else
+ # Need to hardcode shared library paths
+ # or/and link against static libraries
+ newdependency_libs="$deplib $newdependency_libs"
+ fi
+ if $opt_duplicate_deps ; then
+ case "$tmp_libs " in
+ *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
+ esac
+ fi
+ tmp_libs="$tmp_libs $deplib"
+ done # for deplib
+ continue
+ fi # $linkmode = prog...
+
+ if test "$linkmode,$pass" = "prog,link"; then
+ if test -n "$library_names" &&
+ { { test "$prefer_static_libs" = no ||
+ test "$prefer_static_libs,$installed" = "built,yes"; } ||
+ test -z "$old_library"; }; then
+ # We need to hardcode the library path
+ if test -n "$shlibpath_var" && test -z "$avoidtemprpath" ; then
+ # Make sure the rpath contains only unique directories.
+ case "$temp_rpath:" in
+ *"$absdir:"*) ;;
+ *) temp_rpath="$temp_rpath$absdir:" ;;
+ esac
+ fi
+
+ # Hardcode the library path.
+ # Skip directories that are in the system default run-time
+ # search path.
+ case " $sys_lib_dlsearch_path " in
+ *" $absdir "*) ;;
+ *)
+ case "$compile_rpath " in
+ *" $absdir "*) ;;
+ *) compile_rpath="$compile_rpath $absdir"
+ esac
+ ;;
+ esac
+ case " $sys_lib_dlsearch_path " in
+ *" $libdir "*) ;;
+ *)
+ case "$finalize_rpath " in
+ *" $libdir "*) ;;
+ *) finalize_rpath="$finalize_rpath $libdir"
+ esac
+ ;;
+ esac
+ fi # $linkmode,$pass = prog,link...
+
+ if test "$alldeplibs" = yes &&
+ { test "$deplibs_check_method" = pass_all ||
+ { test "$build_libtool_libs" = yes &&
+ test -n "$library_names"; }; }; then
+ # We only need to search for static libraries
+ continue
+ fi
+ fi
+
+ link_static=no # Whether the deplib will be linked statically
+ use_static_libs=$prefer_static_libs
+ if test "$use_static_libs" = built && test "$installed" = yes; then
+ use_static_libs=no
+ fi
+ if test -n "$library_names" &&
+ { test "$use_static_libs" = no || test -z "$old_library"; }; then
+ case $host in
+ *cygwin* | *mingw* | *cegcc*)
+ # No point in relinking DLLs because paths are not encoded
+ notinst_deplibs="$notinst_deplibs $lib"
+ need_relink=no
+ ;;
+ *)
+ if test "$installed" = no; then
+ notinst_deplibs="$notinst_deplibs $lib"
+ need_relink=yes
+ fi
+ ;;
+ esac
+ # This is a shared library
+
+ # Warn about portability, can't link against -module's on some
+ # systems (darwin). Don't bleat about dlopened modules though!
+ dlopenmodule=""
+ for dlpremoduletest in $dlprefiles; do
+ if test "X$dlpremoduletest" = "X$lib"; then
+ dlopenmodule="$dlpremoduletest"
+ break
+ fi
+ done
+ if test -z "$dlopenmodule" && test "$shouldnotlink" = yes && test "$pass" = link; then
+ $ECHO
+ if test "$linkmode" = prog; then
+ $ECHO "*** Warning: Linking the executable $output against the loadable module"
+ else
+ $ECHO "*** Warning: Linking the shared library $output against the loadable module"
+ fi
+ $ECHO "*** $linklib is not portable!"
+ fi
+ if test "$linkmode" = lib &&
+ test "$hardcode_into_libs" = yes; then
+ # Hardcode the library path.
+ # Skip directories that are in the system default run-time
+ # search path.
+ case " $sys_lib_dlsearch_path " in
+ *" $absdir "*) ;;
+ *)
+ case "$compile_rpath " in
+ *" $absdir "*) ;;
+ *) compile_rpath="$compile_rpath $absdir"
+ esac
+ ;;
+ esac
+ case " $sys_lib_dlsearch_path " in
+ *" $libdir "*) ;;
+ *)
+ case "$finalize_rpath " in
+ *" $libdir "*) ;;
+ *) finalize_rpath="$finalize_rpath $libdir"
+ esac
+ ;;
+ esac
+ fi
+
+ if test -n "$old_archive_from_expsyms_cmds"; then
+ # figure out the soname
+ set dummy $library_names
+ shift
+ realname="$1"
+ shift
+ libname=`eval "\\$ECHO \"$libname_spec\""`
+ # use dlname if we got it. it's perfectly good, no?
+ if test -n "$dlname"; then
+ soname="$dlname"
+ elif test -n "$soname_spec"; then
+ # bleh windows
+ case $host in
+ *cygwin* | mingw* | *cegcc*)
+ func_arith $current - $age
+ major=$func_arith_result
+ versuffix="-$major"
+ ;;
+ esac
+ eval soname=\"$soname_spec\"
+ else
+ soname="$realname"
+ fi
+
+ # Make a new name for the extract_expsyms_cmds to use
+ soroot="$soname"
+ func_basename "$soroot"
+ soname="$func_basename_result"
+ func_stripname 'lib' '.dll' "$soname"
+ newlib=libimp-$func_stripname_result.a
+
+ # If the library has no export list, then create one now
+ if test -f "$output_objdir/$soname-def"; then :
+ else
+ func_verbose "extracting exported symbol list from \`$soname'"
+ func_execute_cmds "$extract_expsyms_cmds" 'exit $?'
+ fi
+
+ # Create $newlib
+ if test -f "$output_objdir/$newlib"; then :; else
+ func_verbose "generating import library for \`$soname'"
+ func_execute_cmds "$old_archive_from_expsyms_cmds" 'exit $?'
+ fi
+ # make sure the library variables are pointing to the new library
+ dir=$output_objdir
+ linklib=$newlib
+ fi # test -n "$old_archive_from_expsyms_cmds"
+
+ if test "$linkmode" = prog || test "$mode" != relink; then
+ add_shlibpath=
+ add_dir=
+ add=
+ lib_linked=yes
+ case $hardcode_action in
+ immediate | unsupported)
+ if test "$hardcode_direct" = no; then
+ add="$dir/$linklib"
+ case $host in
+ *-*-sco3.2v5.0.[024]*) add_dir="-L$dir" ;;
+ *-*-sysv4*uw2*) add_dir="-L$dir" ;;
+ *-*-sysv5OpenUNIX* | *-*-sysv5UnixWare7.[01].[10]* | \
+ *-*-unixware7*) add_dir="-L$dir" ;;
+ *-*-darwin* )
+ # if the lib is a (non-dlopened) module then we can not
+ # link against it, someone is ignoring the earlier warnings
+ if /usr/bin/file -L $add 2> /dev/null |
+ $GREP ": [^:]* bundle" >/dev/null ; then
+ if test "X$dlopenmodule" != "X$lib"; then
+ $ECHO "*** Warning: lib $linklib is a module, not a shared library"
+ if test -z "$old_library" ; then
+ $ECHO
+ $ECHO "*** And there doesn't seem to be a static archive available"
+ $ECHO "*** The link will probably fail, sorry"
+ else
+ add="$dir/$old_library"
+ fi
+ elif test -n "$old_library"; then
+ add="$dir/$old_library"
+ fi
+ fi
+ esac
+ elif test "$hardcode_minus_L" = no; then
+ case $host in
+ *-*-sunos*) add_shlibpath="$dir" ;;
+ esac
+ add_dir="-L$dir"
+ add="-l$name"
+ elif test "$hardcode_shlibpath_var" = no; then
+ add_shlibpath="$dir"
+ add="-l$name"
+ else
+ lib_linked=no
+ fi
+ ;;
+ relink)
+ if test "$hardcode_direct" = yes &&
+ test "$hardcode_direct_absolute" = no; then
+ add="$dir/$linklib"
+ elif test "$hardcode_minus_L" = yes; then
+ add_dir="-L$dir"
+ # Try looking first in the location we're being installed to.
+ if test -n "$inst_prefix_dir"; then
+ case $libdir in
+ [\\/]*)
+ add_dir="$add_dir -L$inst_prefix_dir$libdir"
+ ;;
+ esac
+ fi
+ add="-l$name"
+ elif test "$hardcode_shlibpath_var" = yes; then
+ add_shlibpath="$dir"
+ add="-l$name"
+ else
+ lib_linked=no
+ fi
+ ;;
+ *) lib_linked=no ;;
+ esac
+
+ if test "$lib_linked" != yes; then
+ func_fatal_configuration "unsupported hardcode properties"
+ fi
+
+ if test -n "$add_shlibpath"; then
+ case :$compile_shlibpath: in
+ *":$add_shlibpath:"*) ;;
+ *) compile_shlibpath="$compile_shlibpath$add_shlibpath:" ;;
+ esac
+ fi
+ if test "$linkmode" = prog; then
+ test -n "$add_dir" && compile_deplibs="$add_dir $compile_deplibs"
+ test -n "$add" && compile_deplibs="$add $compile_deplibs"
+ else
+ test -n "$add_dir" && deplibs="$add_dir $deplibs"
+ test -n "$add" && deplibs="$add $deplibs"
+ if test "$hardcode_direct" != yes &&
+ test "$hardcode_minus_L" != yes &&
+ test "$hardcode_shlibpath_var" = yes; then
+ case :$finalize_shlibpath: in
+ *":$libdir:"*) ;;
+ *) finalize_shlibpath="$finalize_shlibpath$libdir:" ;;
+ esac
+ fi
+ fi
+ fi
+
+ if test "$linkmode" = prog || test "$mode" = relink; then
+ add_shlibpath=
+ add_dir=
+ add=
+ # Finalize command for both is simple: just hardcode it.
+ if test "$hardcode_direct" = yes &&
+ test "$hardcode_direct_absolute" = no; then
+ add="$libdir/$linklib"
+ elif test "$hardcode_minus_L" = yes; then
+ add_dir="-L$libdir"
+ add="-l$name"
+ elif test "$hardcode_shlibpath_var" = yes; then
+ case :$finalize_shlibpath: in
+ *":$libdir:"*) ;;
+ *) finalize_shlibpath="$finalize_shlibpath$libdir:" ;;
+ esac
+ add="-l$name"
+ elif test "$hardcode_automatic" = yes; then
+ if test -n "$inst_prefix_dir" &&
+ test -f "$inst_prefix_dir$libdir/$linklib" ; then
+ add="$inst_prefix_dir$libdir/$linklib"
+ else
+ add="$libdir/$linklib"
+ fi
+ else
+ # We cannot seem to hardcode it, guess we'll fake it.
+ add_dir="-L$libdir"
+ # Try looking first in the location we're being installed to.
+ if test -n "$inst_prefix_dir"; then
+ case $libdir in
+ [\\/]*)
+ add_dir="$add_dir -L$inst_prefix_dir$libdir"
+ ;;
+ esac
+ fi
+ add="-l$name"
+ fi
+
+ if test "$linkmode" = prog; then
+ test -n "$add_dir" && finalize_deplibs="$add_dir $finalize_deplibs"
+ test -n "$add" && finalize_deplibs="$add $finalize_deplibs"
+ else
+ test -n "$add_dir" && deplibs="$add_dir $deplibs"
+ test -n "$add" && deplibs="$add $deplibs"
+ fi
+ fi
+ elif test "$linkmode" = prog; then
+ # Here we assume that one of hardcode_direct or hardcode_minus_L
+ # is not unsupported. This is valid on all known static and
+ # shared platforms.
+ if test "$hardcode_direct" != unsupported; then
+ test -n "$old_library" && linklib="$old_library"
+ compile_deplibs="$dir/$linklib $compile_deplibs"
+ finalize_deplibs="$dir/$linklib $finalize_deplibs"
+ else
+ compile_deplibs="-l$name -L$dir $compile_deplibs"
+ finalize_deplibs="-l$name -L$dir $finalize_deplibs"
+ fi
+ elif test "$build_libtool_libs" = yes; then
+ # Not a shared library
+ if test "$deplibs_check_method" != pass_all; then
+ # We're trying link a shared library against a static one
+ # but the system doesn't support it.
+
+ # Just print a warning and add the library to dependency_libs so
+ # that the program can be linked against the static library.
+ $ECHO
+ $ECHO "*** Warning: This system can not link to static lib archive $lib."
+ $ECHO "*** I have the capability to make that library automatically link in when"
+ $ECHO "*** you link to this library. But I can only do this if you have a"
+ $ECHO "*** shared version of the library, which you do not appear to have."
+ if test "$module" = yes; then
+ $ECHO "*** But as you try to build a module library, libtool will still create "
+ $ECHO "*** a static module, that should work as long as the dlopening application"
+ $ECHO "*** is linked with the -dlopen flag to resolve symbols at runtime."
+ if test -z "$global_symbol_pipe"; then
+ $ECHO
+ $ECHO "*** However, this would only work if libtool was able to extract symbol"
+ $ECHO "*** lists from a program, using \`nm' or equivalent, but libtool could"
+ $ECHO "*** not find such a program. So, this module is probably useless."
+ $ECHO "*** \`nm' from GNU binutils and a full rebuild may help."
+ fi
+ if test "$build_old_libs" = no; then
+ build_libtool_libs=module
+ build_old_libs=yes
+ else
+ build_libtool_libs=no
+ fi
+ fi
+ else
+ deplibs="$dir/$old_library $deplibs"
+ link_static=yes
+ fi
+ fi # link shared/static library?
+
+ if test "$linkmode" = lib; then
+ if test -n "$dependency_libs" &&
+ { test "$hardcode_into_libs" != yes ||
+ test "$build_old_libs" = yes ||
+ test "$link_static" = yes; }; then
+ # Extract -R from dependency_libs
+ temp_deplibs=
+ for libdir in $dependency_libs; do
+ case $libdir in
+ -R*) func_stripname '-R' '' "$libdir"
+ temp_xrpath=$func_stripname_result
+ case " $xrpath " in
+ *" $temp_xrpath "*) ;;
+ *) xrpath="$xrpath $temp_xrpath";;
+ esac;;
+ *) temp_deplibs="$temp_deplibs $libdir";;
+ esac
+ done
+ dependency_libs="$temp_deplibs"
+ fi
+
+ newlib_search_path="$newlib_search_path $absdir"
+ # Link against this library
+ test "$link_static" = no && newdependency_libs="$abs_ladir/$laname $newdependency_libs"
+ # ... and its dependency_libs
+ tmp_libs=
+ for deplib in $dependency_libs; do
+ newdependency_libs="$deplib $newdependency_libs"
+ if $opt_duplicate_deps ; then
+ case "$tmp_libs " in
+ *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
+ esac
+ fi
+ tmp_libs="$tmp_libs $deplib"
+ done
+
+ if test "$link_all_deplibs" != no; then
+ # Add the search paths of all dependency libraries
+ for deplib in $dependency_libs; do
+ path=
+ case $deplib in
+ -L*) path="$deplib" ;;
+ *.la)
+ func_dirname "$deplib" "" "."
+ dir="$func_dirname_result"
+ # We need an absolute path.
+ case $dir in
+ [\\/]* | [A-Za-z]:[\\/]*) absdir="$dir" ;;
+ *)
+ absdir=`cd "$dir" && pwd`
+ if test -z "$absdir"; then
+ func_warning "cannot determine absolute directory name of \`$dir'"
+ absdir="$dir"
+ fi
+ ;;
+ esac
+ if $GREP "^installed=no" $deplib > /dev/null; then
+ case $host in
+ *-*-darwin*)
+ depdepl=
+ eval deplibrary_names=`${SED} -n -e 's/^library_names=\(.*\)$/\1/p' $deplib`
+ if test -n "$deplibrary_names" ; then
+ for tmp in $deplibrary_names ; do
+ depdepl=$tmp
+ done
+ if test -f "$absdir/$objdir/$depdepl" ; then
+ depdepl="$absdir/$objdir/$depdepl"
+ darwin_install_name=`${OTOOL} -L $depdepl | awk '{if (NR == 2) {print $1;exit}}'`
+ if test -z "$darwin_install_name"; then
+ darwin_install_name=`${OTOOL64} -L $depdepl | awk '{if (NR == 2) {print $1;exit}}'`
+ fi
+ compiler_flags="$compiler_flags ${wl}-dylib_file ${wl}${darwin_install_name}:${depdepl}"
+ linker_flags="$linker_flags -dylib_file ${darwin_install_name}:${depdepl}"
+ path=
+ fi
+ fi
+ ;;
+ *)
+ path="-L$absdir/$objdir"
+ ;;
+ esac
+ else
+ eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
+ test -z "$libdir" && \
+ func_fatal_error "\`$deplib' is not a valid libtool archive"
+ test "$absdir" != "$libdir" && \
+ func_warning "\`$deplib' seems to be moved"
+
+ path="-L$absdir"
+ fi
+ ;;
+ esac
+ case " $deplibs " in
+ *" $path "*) ;;
+ *) deplibs="$path $deplibs" ;;
+ esac
+ done
+ fi # link_all_deplibs != no
+ fi # linkmode = lib
+ done # for deplib in $libs
+ if test "$pass" = link; then
+ if test "$linkmode" = "prog"; then
+ compile_deplibs="$new_inherited_linker_flags $compile_deplibs"
+ finalize_deplibs="$new_inherited_linker_flags $finalize_deplibs"
+ else
+ compiler_flags="$compiler_flags "`$ECHO "X $new_inherited_linker_flags" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'`
+ fi
+ fi
+ dependency_libs="$newdependency_libs"
+ if test "$pass" = dlpreopen; then
+ # Link the dlpreopened libraries before other libraries
+ for deplib in $save_deplibs; do
+ deplibs="$deplib $deplibs"
+ done
+ fi
+ if test "$pass" != dlopen; then
+ if test "$pass" != conv; then
+ # Make sure lib_search_path contains only unique directories.
+ lib_search_path=
+ for dir in $newlib_search_path; do
+ case "$lib_search_path " in
+ *" $dir "*) ;;
+ *) lib_search_path="$lib_search_path $dir" ;;
+ esac
+ done
+ newlib_search_path=
+ fi
+
+ if test "$linkmode,$pass" != "prog,link"; then
+ vars="deplibs"
+ else
+ vars="compile_deplibs finalize_deplibs"
+ fi
+ for var in $vars dependency_libs; do
+ # Add libraries to $var in reverse order
+ eval tmp_libs=\"\$$var\"
+ new_libs=
+ for deplib in $tmp_libs; do
+ # FIXME: Pedantically, this is the right thing to do, so
+ # that some nasty dependency loop isn't accidentally
+ # broken:
+ #new_libs="$deplib $new_libs"
+ # Pragmatically, this seems to cause very few problems in
+ # practice:
+ case $deplib in
+ -L*) new_libs="$deplib $new_libs" ;;
+ -R*) ;;
+ *)
+ # And here is the reason: when a library appears more
+ # than once as an explicit dependence of a library, or
+ # is implicitly linked in more than once by the
+ # compiler, it is considered special, and multiple
+ # occurrences thereof are not removed. Compare this
+ # with having the same library being listed as a
+ # dependency of multiple other libraries: in this case,
+ # we know (pedantically, we assume) the library does not
+ # need to be listed more than once, so we keep only the
+ # last copy. This is not always right, but it is rare
+ # enough that we require users that really mean to play
+ # such unportable linking tricks to link the library
+ # using -Wl,-lname, so that libtool does not consider it
+ # for duplicate removal.
+ case " $specialdeplibs " in
+ *" $deplib "*) new_libs="$deplib $new_libs" ;;
+ *)
+ case " $new_libs " in
+ *" $deplib "*) ;;
+ *) new_libs="$deplib $new_libs" ;;
+ esac
+ ;;
+ esac
+ ;;
+ esac
+ done
+ tmp_libs=
+ for deplib in $new_libs; do
+ case $deplib in
+ -L*)
+ case " $tmp_libs " in
+ *" $deplib "*) ;;
+ *) tmp_libs="$tmp_libs $deplib" ;;
+ esac
+ ;;
+ *) tmp_libs="$tmp_libs $deplib" ;;
+ esac
+ done
+ eval $var=\"$tmp_libs\"
+ done # for var
+ fi
+ # Last step: remove runtime libs from dependency_libs
+ # (they stay in deplibs)
+ tmp_libs=
+ for i in $dependency_libs ; do
+ case " $predeps $postdeps $compiler_lib_search_path " in
+ *" $i "*)
+ i=""
+ ;;
+ esac
+ if test -n "$i" ; then
+ tmp_libs="$tmp_libs $i"
+ fi
+ done
+ dependency_libs=$tmp_libs
+ done # for pass
+ if test "$linkmode" = prog; then
+ dlfiles="$newdlfiles"
+ fi
+ if test "$linkmode" = prog || test "$linkmode" = lib; then
+ dlprefiles="$newdlprefiles"
+ fi
+
+ case $linkmode in
+ oldlib)
+ if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
+ func_warning "\`-dlopen' is ignored for archives"
+ fi
+
+ case " $deplibs" in
+ *\ -l* | *\ -L*)
+ func_warning "\`-l' and \`-L' are ignored for archives" ;;
+ esac
+
+ test -n "$rpath" && \
+ func_warning "\`-rpath' is ignored for archives"
+
+ test -n "$xrpath" && \
+ func_warning "\`-R' is ignored for archives"
+
+ test -n "$vinfo" && \
+ func_warning "\`-version-info/-version-number' is ignored for archives"
+
+ test -n "$release" && \
+ func_warning "\`-release' is ignored for archives"
+
+ test -n "$export_symbols$export_symbols_regex" && \
+ func_warning "\`-export-symbols' is ignored for archives"
+
+ # Now set the variables for building old libraries.
+ build_libtool_libs=no
+ oldlibs="$output"
+ objs="$objs$old_deplibs"
+ ;;
+
+ lib)
+ # Make sure we only generate libraries of the form `libNAME.la'.
+ case $outputname in
+ lib*)
+ func_stripname 'lib' '.la' "$outputname"
+ name=$func_stripname_result
+ eval shared_ext=\"$shrext_cmds\"
+ eval libname=\"$libname_spec\"
+ ;;
+ *)
+ test "$module" = no && \
+ func_fatal_help "libtool library \`$output' must begin with \`lib'"
+
+ if test "$need_lib_prefix" != no; then
+ # Add the "lib" prefix for modules if required
+ func_stripname '' '.la' "$outputname"
+ name=$func_stripname_result
+ eval shared_ext=\"$shrext_cmds\"
+ eval libname=\"$libname_spec\"
+ else
+ func_stripname '' '.la' "$outputname"
+ libname=$func_stripname_result
+ fi
+ ;;
+ esac
+
+ if test -n "$objs"; then
+ if test "$deplibs_check_method" != pass_all; then
+ func_fatal_error "cannot build libtool library \`$output' from non-libtool objects on this host:$objs"
+ else
+ $ECHO
+ $ECHO "*** Warning: Linking the shared library $output against the non-libtool"
+ $ECHO "*** objects $objs is not portable!"
+ libobjs="$libobjs $objs"
+ fi
+ fi
+
+ test "$dlself" != no && \
+ func_warning "\`-dlopen self' is ignored for libtool libraries"
+
+ set dummy $rpath
+ shift
+ test "$#" -gt 1 && \
+ func_warning "ignoring multiple \`-rpath's for a libtool library"
+
+ install_libdir="$1"
+
+ oldlibs=
+ if test -z "$rpath"; then
+ if test "$build_libtool_libs" = yes; then
+ # Building a libtool convenience library.
+ # Some compilers have problems with a `.al' extension so
+ # convenience libraries should have the same extension an
+ # archive normally would.
+ oldlibs="$output_objdir/$libname.$libext $oldlibs"
+ build_libtool_libs=convenience
+ build_old_libs=yes
+ fi
+
+ test -n "$vinfo" && \
+ func_warning "\`-version-info/-version-number' is ignored for convenience libraries"
+
+ test -n "$release" && \
+ func_warning "\`-release' is ignored for convenience libraries"
+ else
+
+ # Parse the version information argument.
+ save_ifs="$IFS"; IFS=':'
+ set dummy $vinfo 0 0 0
+ shift
+ IFS="$save_ifs"
+
+ test -n "$7" && \
+ func_fatal_help "too many parameters to \`-version-info'"
+
+ # convert absolute version numbers to libtool ages
+ # this retains compatibility with .la files and attempts
+ # to make the code below a bit more comprehensible
+
+ case $vinfo_number in
+ yes)
+ number_major="$1"
+ number_minor="$2"
+ number_revision="$3"
+ #
+ # There are really only two kinds -- those that
+ # use the current revision as the major version
+ # and those that subtract age and use age as
+ # a minor version. But, then there is irix
+ # which has an extra 1 added just for fun
+ #
+ case $version_type in
+ darwin|linux|osf|windows|none)
+ func_arith $number_major + $number_minor
+ current=$func_arith_result
+ age="$number_minor"
+ revision="$number_revision"
+ ;;
+ freebsd-aout|freebsd-elf|sunos)
+ current="$number_major"
+ revision="$number_minor"
+ age="0"
+ ;;
+ irix|nonstopux)
+ func_arith $number_major + $number_minor
+ current=$func_arith_result
+ age="$number_minor"
+ revision="$number_minor"
+ lt_irix_increment=no
+ ;;
+ *)
+ func_fatal_configuration "$modename: unknown library version type \`$version_type'"
+ ;;
+ esac
+ ;;
+ no)
+ current="$1"
+ revision="$2"
+ age="$3"
+ ;;
+ esac
+
+ # Check that each of the things are valid numbers.
+ case $current in
+ 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;;
+ *)
+ func_error "CURRENT \`$current' must be a nonnegative integer"
+ func_fatal_error "\`$vinfo' is not valid version information"
+ ;;
+ esac
+
+ case $revision in
+ 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;;
+ *)
+ func_error "REVISION \`$revision' must be a nonnegative integer"
+ func_fatal_error "\`$vinfo' is not valid version information"
+ ;;
+ esac
+
+ case $age in
+ 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;;
+ *)
+ func_error "AGE \`$age' must be a nonnegative integer"
+ func_fatal_error "\`$vinfo' is not valid version information"
+ ;;
+ esac
+
+ if test "$age" -gt "$current"; then
+ func_error "AGE \`$age' is greater than the current interface number \`$current'"
+ func_fatal_error "\`$vinfo' is not valid version information"
+ fi
+
+ # Calculate the version variables.
+ major=
+ versuffix=
+ verstring=
+ case $version_type in
+ none) ;;
+
+ darwin)
+ # Like Linux, but with the current version available in
+ # verstring for coding it into the library header
+ func_arith $current - $age
+ major=.$func_arith_result
+ versuffix="$major.$age.$revision"
+ # Darwin ld doesn't like 0 for these options...
+ func_arith $current + 1
+ minor_current=$func_arith_result
+ xlcverstring="${wl}-compatibility_version ${wl}$minor_current ${wl}-current_version ${wl}$minor_current.$revision"
+ verstring="-compatibility_version $minor_current -current_version $minor_current.$revision"
+ ;;
+
+ freebsd-aout)
+ major=".$current"
+ versuffix=".$current.$revision";
+ ;;
+
+ freebsd-elf)
+ major=".$current"
+ versuffix=".$current"
+ ;;
+
+ irix | nonstopux)
+ if test "X$lt_irix_increment" = "Xno"; then
+ func_arith $current - $age
+ else
+ func_arith $current - $age + 1
+ fi
+ major=$func_arith_result
+
+ case $version_type in
+ nonstopux) verstring_prefix=nonstopux ;;
+ *) verstring_prefix=sgi ;;
+ esac
+ verstring="$verstring_prefix$major.$revision"
+
+ # Add in all the interfaces that we are compatible with.
+ loop=$revision
+ while test "$loop" -ne 0; do
+ func_arith $revision - $loop
+ iface=$func_arith_result
+ func_arith $loop - 1
+ loop=$func_arith_result
+ verstring="$verstring_prefix$major.$iface:$verstring"
+ done
+
+ # Before this point, $major must not contain `.'.
+ major=.$major
+ versuffix="$major.$revision"
+ ;;
+
+ linux)
+ func_arith $current - $age
+ major=.$func_arith_result
+ versuffix="$major.$age.$revision"
+ ;;
+
+ osf)
+ func_arith $current - $age
+ major=.$func_arith_result
+ versuffix=".$current.$age.$revision"
+ verstring="$current.$age.$revision"
+
+ # Add in all the interfaces that we are compatible with.
+ loop=$age
+ while test "$loop" -ne 0; do
+ func_arith $current - $loop
+ iface=$func_arith_result
+ func_arith $loop - 1
+ loop=$func_arith_result
+ verstring="$verstring:${iface}.0"
+ done
+
+ # Make executables depend on our current version.
+ verstring="$verstring:${current}.0"
+ ;;
+
+ qnx)
+ major=".$current"
+ versuffix=".$current"
+ ;;
+
+ sunos)
+ major=".$current"
+ versuffix=".$current.$revision"
+ ;;
+
+ windows)
+ # Use '-' rather than '.', since we only want one
+ # extension on DOS 8.3 filesystems.
+ func_arith $current - $age
+ major=$func_arith_result
+ versuffix="-$major"
+ ;;
+
+ *)
+ func_fatal_configuration "unknown library version type \`$version_type'"
+ ;;
+ esac
+
+ # Clear the version info if we defaulted, and they specified a release.
+ if test -z "$vinfo" && test -n "$release"; then
+ major=
+ case $version_type in
+ darwin)
+ # we can't check for "0.0" in archive_cmds due to quoting
+ # problems, so we reset it completely
+ verstring=
+ ;;
+ *)
+ verstring="0.0"
+ ;;
+ esac
+ if test "$need_version" = no; then
+ versuffix=
+ else
+ versuffix=".0.0"
+ fi
+ fi
+
+ # Remove version info from name if versioning should be avoided
+ if test "$avoid_version" = yes && test "$need_version" = no; then
+ major=
+ versuffix=
+ verstring=""
+ fi
+
+ # Check to see if the archive will have undefined symbols.
+ if test "$allow_undefined" = yes; then
+ if test "$allow_undefined_flag" = unsupported; then
+ func_warning "undefined symbols not allowed in $host shared libraries"
+ build_libtool_libs=no
+ build_old_libs=yes
+ fi
+ else
+ # Don't allow undefined symbols.
+ allow_undefined_flag="$no_undefined_flag"
+ fi
+
+ fi
+
+ func_generate_dlsyms "$libname" "$libname" "yes"
+ libobjs="$libobjs $symfileobj"
+ test "X$libobjs" = "X " && libobjs=
+
+ if test "$mode" != relink; then
+ # Remove our outputs, but don't remove object files since they
+ # may have been created when compiling PIC objects.
+ removelist=
+ tempremovelist=`$ECHO "$output_objdir/*"`
+ for p in $tempremovelist; do
+ case $p in
+ *.$objext | *.gcno)
+ ;;
+ $output_objdir/$outputname | $output_objdir/$libname.* | $output_objdir/${libname}${release}.*)
+ if test "X$precious_files_regex" != "X"; then
+ if $ECHO "$p" | $EGREP -e "$precious_files_regex" >/dev/null 2>&1
+ then
+ continue
+ fi
+ fi
+ removelist="$removelist $p"
+ ;;
+ *) ;;
+ esac
+ done
+ test -n "$removelist" && \
+ func_show_eval "${RM}r \$removelist"
+ fi
+
+ # Now set the variables for building old libraries.
+ if test "$build_old_libs" = yes && test "$build_libtool_libs" != convenience ; then
+ oldlibs="$oldlibs $output_objdir/$libname.$libext"
+
+ # Transform .lo files to .o files.
+ oldobjs="$objs "`$ECHO "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}'$/d' -e "$lo2o" | $NL2SP`
+ fi
+
+ # Eliminate all temporary directories.
+ #for path in $notinst_path; do
+ # lib_search_path=`$ECHO "X$lib_search_path " | $Xsed -e "s% $path % %g"`
+ # deplibs=`$ECHO "X$deplibs " | $Xsed -e "s% -L$path % %g"`
+ # dependency_libs=`$ECHO "X$dependency_libs " | $Xsed -e "s% -L$path % %g"`
+ #done
+
+ if test -n "$xrpath"; then
+ # If the user specified any rpath flags, then add them.
+ temp_xrpath=
+ for libdir in $xrpath; do
+ temp_xrpath="$temp_xrpath -R$libdir"
+ case "$finalize_rpath " in
+ *" $libdir "*) ;;
+ *) finalize_rpath="$finalize_rpath $libdir" ;;
+ esac
+ done
+ if test "$hardcode_into_libs" != yes || test "$build_old_libs" = yes; then
+ dependency_libs="$temp_xrpath $dependency_libs"
+ fi
+ fi
+
+ # Make sure dlfiles contains only unique files that won't be dlpreopened
+ old_dlfiles="$dlfiles"
+ dlfiles=
+ for lib in $old_dlfiles; do
+ case " $dlprefiles $dlfiles " in
+ *" $lib "*) ;;
+ *) dlfiles="$dlfiles $lib" ;;
+ esac
+ done
+
+ # Make sure dlprefiles contains only unique files
+ old_dlprefiles="$dlprefiles"
+ dlprefiles=
+ for lib in $old_dlprefiles; do
+ case "$dlprefiles " in
+ *" $lib "*) ;;
+ *) dlprefiles="$dlprefiles $lib" ;;
+ esac
+ done
+
+ if test "$build_libtool_libs" = yes; then
+ if test -n "$rpath"; then
+ case $host in
+ *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-beos* | *-cegcc*)
+ # these systems don't actually have a c library (as such)!
+ ;;
+ *-*-rhapsody* | *-*-darwin1.[012])
+ # Rhapsody C library is in the System framework
+ deplibs="$deplibs System.ltframework"
+ ;;
+ *-*-netbsd*)
+ # Don't link with libc until the a.out ld.so is fixed.
+ ;;
+ *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*)
+ # Do not include libc due to us having libc/libc_r.
+ ;;
+ *-*-sco3.2v5* | *-*-sco5v6*)
+ # Causes problems with __ctype
+ ;;
+ *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*)
+ # Compiler inserts libc in the correct place for threads to work
+ ;;
+ *)
+ # Add libc to deplibs on all other systems if necessary.
+ if test "$build_libtool_need_lc" = "yes"; then
+ deplibs="$deplibs -lc"
+ fi
+ ;;
+ esac
+ fi
+
+ # Transform deplibs into only deplibs that can be linked in shared.
+ name_save=$name
+ libname_save=$libname
+ release_save=$release
+ versuffix_save=$versuffix
+ major_save=$major
+ # I'm not sure if I'm treating the release correctly. I think
+ # release should show up in the -l (ie -lgmp5) so we don't want to
+ # add it in twice. Is that correct?
+ release=""
+ versuffix=""
+ major=""
+ newdeplibs=
+ droppeddeps=no
+ case $deplibs_check_method in
+ pass_all)
+ # Don't check for shared/static. Everything works.
+ # This might be a little naive. We might want to check
+ # whether the library exists or not. But this is on
+ # osf3 & osf4 and I'm not really sure... Just
+ # implementing what was already the behavior.
+ newdeplibs=$deplibs
+ ;;
+ test_compile)
+ # This code stresses the "libraries are programs" paradigm to its
+ # limits. Maybe even breaks it. We compile a program, linking it
+ # against the deplibs as a proxy for the library. Then we can check
+ # whether they linked in statically or dynamically with ldd.
+ $opt_dry_run || $RM conftest.c
+ cat > conftest.c <<EOF
+ int main() { return 0; }
+EOF
+ $opt_dry_run || $RM conftest
+ if $LTCC $LTCFLAGS -o conftest conftest.c $deplibs; then
+ ldd_output=`ldd conftest`
+ for i in $deplibs; do
+ case $i in
+ -l*)
+ func_stripname -l '' "$i"
+ name=$func_stripname_result
+ if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
+ case " $predeps $postdeps " in
+ *" $i "*)
+ newdeplibs="$newdeplibs $i"
+ i=""
+ ;;
+ esac
+ fi
+ if test -n "$i" ; then
+ libname=`eval "\\$ECHO \"$libname_spec\""`
+ deplib_matches=`eval "\\$ECHO \"$library_names_spec\""`
+ set dummy $deplib_matches; shift
+ deplib_match=$1
+ if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; then
+ newdeplibs="$newdeplibs $i"
+ else
+ droppeddeps=yes
+ $ECHO
+ $ECHO "*** Warning: dynamic linker does not accept needed library $i."
+ $ECHO "*** I have the capability to make that library automatically link in when"
+ $ECHO "*** you link to this library. But I can only do this if you have a"
+ $ECHO "*** shared version of the library, which I believe you do not have"
+ $ECHO "*** because a test_compile did reveal that the linker did not use it for"
+ $ECHO "*** its dynamic dependency list that programs get resolved with at runtime."
+ fi
+ fi
+ ;;
+ *)
+ newdeplibs="$newdeplibs $i"
+ ;;
+ esac
+ done
+ else
+ # Error occurred in the first compile. Let's try to salvage
+ # the situation: Compile a separate program for each library.
+ for i in $deplibs; do
+ case $i in
+ -l*)
+ func_stripname -l '' "$i"
+ name=$func_stripname_result
+ $opt_dry_run || $RM conftest
+ if $LTCC $LTCFLAGS -o conftest conftest.c $i; then
+ ldd_output=`ldd conftest`
+ if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
+ case " $predeps $postdeps " in
+ *" $i "*)
+ newdeplibs="$newdeplibs $i"
+ i=""
+ ;;
+ esac
+ fi
+ if test -n "$i" ; then
+ libname=`eval "\\$ECHO \"$libname_spec\""`
+ deplib_matches=`eval "\\$ECHO \"$library_names_spec\""`
+ set dummy $deplib_matches; shift
+ deplib_match=$1
+ if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; then
+ newdeplibs="$newdeplibs $i"
+ else
+ droppeddeps=yes
+ $ECHO
+ $ECHO "*** Warning: dynamic linker does not accept needed library $i."
+ $ECHO "*** I have the capability to make that library automatically link in when"
+ $ECHO "*** you link to this library. But I can only do this if you have a"
+ $ECHO "*** shared version of the library, which you do not appear to have"
+ $ECHO "*** because a test_compile did reveal that the linker did not use this one"
+ $ECHO "*** as a dynamic dependency that programs can get resolved with at runtime."
+ fi
+ fi
+ else
+ droppeddeps=yes
+ $ECHO
+ $ECHO "*** Warning! Library $i is needed by this library but I was not able to"
+ $ECHO "*** make it link in! You will probably need to install it or some"
+ $ECHO "*** library that it depends on before this library will be fully"
+ $ECHO "*** functional. Installing it before continuing would be even better."
+ fi
+ ;;
+ *)
+ newdeplibs="$newdeplibs $i"
+ ;;
+ esac
+ done
+ fi
+ ;;
+ file_magic*)
+ set dummy $deplibs_check_method; shift
+ file_magic_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"`
+ for a_deplib in $deplibs; do
+ case $a_deplib in
+ -l*)
+ func_stripname -l '' "$a_deplib"
+ name=$func_stripname_result
+ if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
+ case " $predeps $postdeps " in
+ *" $a_deplib "*)
+ newdeplibs="$newdeplibs $a_deplib"
+ a_deplib=""
+ ;;
+ esac
+ fi
+ if test -n "$a_deplib" ; then
+ libname=`eval "\\$ECHO \"$libname_spec\""`
+ for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do
+ potential_libs=`ls $i/$libname[.-]* 2>/dev/null`
+ for potent_lib in $potential_libs; do
+ # Follow soft links.
+ if ls -lLd "$potent_lib" 2>/dev/null |
+ $GREP " -> " >/dev/null; then
+ continue
+ fi
+ # The statement above tries to avoid entering an
+ # endless loop below, in case of cyclic links.
+ # We might still enter an endless loop, since a link
+ # loop can be closed while we follow links,
+ # but so what?
+ potlib="$potent_lib"
+ while test -h "$potlib" 2>/dev/null; do
+ potliblink=`ls -ld $potlib | ${SED} 's/.* -> //'`
+ case $potliblink in
+ [\\/]* | [A-Za-z]:[\\/]*) potlib="$potliblink";;
+ *) potlib=`$ECHO "X$potlib" | $Xsed -e 's,[^/]*$,,'`"$potliblink";;
+ esac
+ done
+ if eval $file_magic_cmd \"\$potlib\" 2>/dev/null |
+ $SED -e 10q |
+ $EGREP "$file_magic_regex" > /dev/null; then
+ newdeplibs="$newdeplibs $a_deplib"
+ a_deplib=""
+ break 2
+ fi
+ done
+ done
+ fi
+ if test -n "$a_deplib" ; then
+ droppeddeps=yes
+ $ECHO
+ $ECHO "*** Warning: linker path does not have real file for library $a_deplib."
+ $ECHO "*** I have the capability to make that library automatically link in when"
+ $ECHO "*** you link to this library. But I can only do this if you have a"
+ $ECHO "*** shared version of the library, which you do not appear to have"
+ $ECHO "*** because I did check the linker path looking for a file starting"
+ if test -z "$potlib" ; then
+ $ECHO "*** with $libname but no candidates were found. (...for file magic test)"
+ else
+ $ECHO "*** with $libname and none of the candidates passed a file format test"
+ $ECHO "*** using a file magic. Last file checked: $potlib"
+ fi
+ fi
+ ;;
+ *)
+ # Add a -L argument.
+ newdeplibs="$newdeplibs $a_deplib"
+ ;;
+ esac
+ done # Gone through all deplibs.
+ ;;
+ match_pattern*)
+ set dummy $deplibs_check_method; shift
+ match_pattern_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"`
+ for a_deplib in $deplibs; do
+ case $a_deplib in
+ -l*)
+ func_stripname -l '' "$a_deplib"
+ name=$func_stripname_result
+ if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
+ case " $predeps $postdeps " in
+ *" $a_deplib "*)
+ newdeplibs="$newdeplibs $a_deplib"
+ a_deplib=""
+ ;;
+ esac
+ fi
+ if test -n "$a_deplib" ; then
+ libname=`eval "\\$ECHO \"$libname_spec\""`
+ for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do
+ potential_libs=`ls $i/$libname[.-]* 2>/dev/null`
+ for potent_lib in $potential_libs; do
+ potlib="$potent_lib" # see symlink-check above in file_magic test
+ if eval "\$ECHO \"X$potent_lib\"" 2>/dev/null | $Xsed -e 10q | \
+ $EGREP "$match_pattern_regex" > /dev/null; then
+ newdeplibs="$newdeplibs $a_deplib"
+ a_deplib=""
+ break 2
+ fi
+ done
+ done
+ fi
+ if test -n "$a_deplib" ; then
+ droppeddeps=yes
+ $ECHO
+ $ECHO "*** Warning: linker path does not have real file for library $a_deplib."
+ $ECHO "*** I have the capability to make that library automatically link in when"
+ $ECHO "*** you link to this library. But I can only do this if you have a"
+ $ECHO "*** shared version of the library, which you do not appear to have"
+ $ECHO "*** because I did check the linker path looking for a file starting"
+ if test -z "$potlib" ; then
+ $ECHO "*** with $libname but no candidates were found. (...for regex pattern test)"
+ else
+ $ECHO "*** with $libname and none of the candidates passed a file format test"
+ $ECHO "*** using a regex pattern. Last file checked: $potlib"
+ fi
+ fi
+ ;;
+ *)
+ # Add a -L argument.
+ newdeplibs="$newdeplibs $a_deplib"
+ ;;
+ esac
+ done # Gone through all deplibs.
+ ;;
+ none | unknown | *)
+ newdeplibs=""
+ tmp_deplibs=`$ECHO "X $deplibs" | $Xsed \
+ -e 's/ -lc$//' -e 's/ -[LR][^ ]*//g'`
+ if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
+ for i in $predeps $postdeps ; do
+ # can't use Xsed below, because $i might contain '/'
+ tmp_deplibs=`$ECHO "X $tmp_deplibs" | $Xsed -e "s,$i,,"`
+ done
+ fi
+ if $ECHO "X $tmp_deplibs" | $Xsed -e 's/[ ]//g' |
+ $GREP . >/dev/null; then
+ $ECHO
+ if test "X$deplibs_check_method" = "Xnone"; then
+ $ECHO "*** Warning: inter-library dependencies are not supported in this platform."
+ else
+ $ECHO "*** Warning: inter-library dependencies are not known to be supported."
+ fi
+ $ECHO "*** All declared inter-library dependencies are being dropped."
+ droppeddeps=yes
+ fi
+ ;;
+ esac
+ versuffix=$versuffix_save
+ major=$major_save
+ release=$release_save
+ libname=$libname_save
+ name=$name_save
+
+ case $host in
+ *-*-rhapsody* | *-*-darwin1.[012])
+ # On Rhapsody replace the C library with the System framework
+ newdeplibs=`$ECHO "X $newdeplibs" | $Xsed -e 's/ -lc / System.ltframework /'`
+ ;;
+ esac
+
+ if test "$droppeddeps" = yes; then
+ if test "$module" = yes; then
+ $ECHO
+ $ECHO "*** Warning: libtool could not satisfy all declared inter-library"
+ $ECHO "*** dependencies of module $libname. Therefore, libtool will create"
+ $ECHO "*** a static module, that should work as long as the dlopening"
+ $ECHO "*** application is linked with the -dlopen flag."
+ if test -z "$global_symbol_pipe"; then
+ $ECHO
+ $ECHO "*** However, this would only work if libtool was able to extract symbol"
+ $ECHO "*** lists from a program, using \`nm' or equivalent, but libtool could"
+ $ECHO "*** not find such a program. So, this module is probably useless."
+ $ECHO "*** \`nm' from GNU binutils and a full rebuild may help."
+ fi
+ if test "$build_old_libs" = no; then
+ oldlibs="$output_objdir/$libname.$libext"
+ build_libtool_libs=module
+ build_old_libs=yes
+ else
+ build_libtool_libs=no
+ fi
+ else
+ $ECHO "*** The inter-library dependencies that have been dropped here will be"
+ $ECHO "*** automatically added whenever a program is linked with this library"
+ $ECHO "*** or is declared to -dlopen it."
+
+ if test "$allow_undefined" = no; then
+ $ECHO
+ $ECHO "*** Since this library must not contain undefined symbols,"
+ $ECHO "*** because either the platform does not support them or"
+ $ECHO "*** it was explicitly requested with -no-undefined,"
+ $ECHO "*** libtool will only create a static version of it."
+ if test "$build_old_libs" = no; then
+ oldlibs="$output_objdir/$libname.$libext"
+ build_libtool_libs=module
+ build_old_libs=yes
+ else
+ build_libtool_libs=no
+ fi
+ fi
+ fi
+ fi
+ # Done checking deplibs!
+ deplibs=$newdeplibs
+ fi
+ # Time to change all our "foo.ltframework" stuff back to "-framework foo"
+ case $host in
+ *-*-darwin*)
+ newdeplibs=`$ECHO "X $newdeplibs" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'`
+ new_inherited_linker_flags=`$ECHO "X $new_inherited_linker_flags" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'`
+ deplibs=`$ECHO "X $deplibs" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'`
+ ;;
+ esac
+
+ # move library search paths that coincide with paths to not yet
+ # installed libraries to the beginning of the library search list
+ new_libs=
+ for path in $notinst_path; do
+ case " $new_libs " in
+ *" -L$path/$objdir "*) ;;
+ *)
+ case " $deplibs " in
+ *" -L$path/$objdir "*)
+ new_libs="$new_libs -L$path/$objdir" ;;
+ esac
+ ;;
+ esac
+ done
+ for deplib in $deplibs; do
+ case $deplib in
+ -L*)
+ case " $new_libs " in
+ *" $deplib "*) ;;
+ *) new_libs="$new_libs $deplib" ;;
+ esac
+ ;;
+ *) new_libs="$new_libs $deplib" ;;
+ esac
+ done
+ deplibs="$new_libs"
+
+ # All the library-specific variables (install_libdir is set above).
+ library_names=
+ old_library=
+ dlname=
+
+ # Test again, we may have decided not to build it any more
+ if test "$build_libtool_libs" = yes; then
+ if test "$hardcode_into_libs" = yes; then
+ # Hardcode the library paths
+ hardcode_libdirs=
+ dep_rpath=
+ rpath="$finalize_rpath"
+ test "$mode" != relink && rpath="$compile_rpath$rpath"
+ for libdir in $rpath; do
+ if test -n "$hardcode_libdir_flag_spec"; then
+ if test -n "$hardcode_libdir_separator"; then
+ if test -z "$hardcode_libdirs"; then
+ hardcode_libdirs="$libdir"
+ else
+ # Just accumulate the unique libdirs.
+ case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in
+ *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
+ ;;
+ *)
+ hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir"
+ ;;
+ esac
+ fi
+ else
+ eval flag=\"$hardcode_libdir_flag_spec\"
+ dep_rpath="$dep_rpath $flag"
+ fi
+ elif test -n "$runpath_var"; then
+ case "$perm_rpath " in
+ *" $libdir "*) ;;
+ *) perm_rpath="$perm_rpath $libdir" ;;
+ esac
+ fi
+ done
+ # Substitute the hardcoded libdirs into the rpath.
+ if test -n "$hardcode_libdir_separator" &&
+ test -n "$hardcode_libdirs"; then
+ libdir="$hardcode_libdirs"
+ if test -n "$hardcode_libdir_flag_spec_ld"; then
+ eval dep_rpath=\"$hardcode_libdir_flag_spec_ld\"
+ else
+ eval dep_rpath=\"$hardcode_libdir_flag_spec\"
+ fi
+ fi
+ if test -n "$runpath_var" && test -n "$perm_rpath"; then
+ # We should set the runpath_var.
+ rpath=
+ for dir in $perm_rpath; do
+ rpath="$rpath$dir:"
+ done
+ eval "$runpath_var='$rpath\$$runpath_var'; export $runpath_var"
+ fi
+ test -n "$dep_rpath" && deplibs="$dep_rpath $deplibs"
+ fi
+
+ shlibpath="$finalize_shlibpath"
+ test "$mode" != relink && shlibpath="$compile_shlibpath$shlibpath"
+ if test -n "$shlibpath"; then
+ eval "$shlibpath_var='$shlibpath\$$shlibpath_var'; export $shlibpath_var"
+ fi
+
+ # Get the real and link names of the library.
+ eval shared_ext=\"$shrext_cmds\"
+ eval library_names=\"$library_names_spec\"
+ set dummy $library_names
+ shift
+ realname="$1"
+ shift
+
+ if test -n "$soname_spec"; then
+ eval soname=\"$soname_spec\"
+ else
+ soname="$realname"
+ fi
+ if test -z "$dlname"; then
+ dlname=$soname
+ fi
+
+ lib="$output_objdir/$realname"
+ linknames=
+ for link
+ do
+ linknames="$linknames $link"
+ done
+
+ # Use standard objects if they are pic
+ test -z "$pic_flag" && libobjs=`$ECHO "X$libobjs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
+ test "X$libobjs" = "X " && libobjs=
+
+ delfiles=
+ if test -n "$export_symbols" && test -n "$include_expsyms"; then
+ $opt_dry_run || cp "$export_symbols" "$output_objdir/$libname.uexp"
+ export_symbols="$output_objdir/$libname.uexp"
+ delfiles="$delfiles $export_symbols"
+ fi
+
+ orig_export_symbols=
+ case $host_os in
+ cygwin* | mingw* | cegcc*)
+ if test -n "$export_symbols" && test -z "$export_symbols_regex"; then
+ # exporting using user supplied symfile
+ if test "x`$SED 1q $export_symbols`" != xEXPORTS; then
+ # and it's NOT already a .def file. Must figure out
+ # which of the given symbols are data symbols and tag
+ # them as such. So, trigger use of export_symbols_cmds.
+ # export_symbols gets reassigned inside the "prepare
+ # the list of exported symbols" if statement, so the
+ # include_expsyms logic still works.
+ orig_export_symbols="$export_symbols"
+ export_symbols=
+ always_export_symbols=yes
+ fi
+ fi
+ ;;
+ esac
+
+ # Prepare the list of exported symbols
+ if test -z "$export_symbols"; then
+ if test "$always_export_symbols" = yes || test -n "$export_symbols_regex"; then
+ func_verbose "generating symbol list for \`$libname.la'"
+ export_symbols="$output_objdir/$libname.exp"
+ $opt_dry_run || $RM $export_symbols
+ cmds=$export_symbols_cmds
+ save_ifs="$IFS"; IFS='~'
+ for cmd in $cmds; do
+ IFS="$save_ifs"
+ eval cmd=\"$cmd\"
+ func_len " $cmd"
+ len=$func_len_result
+ if test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then
+ func_show_eval "$cmd" 'exit $?'
+ skipped_export=false
+ else
+ # The command line is too long to execute in one step.
+ func_verbose "using reloadable object file for export list..."
+ skipped_export=:
+ # Break out early, otherwise skipped_export may be
+ # set to false by a later but shorter cmd.
+ break
+ fi
+ done
+ IFS="$save_ifs"
+ if test -n "$export_symbols_regex" && test "X$skipped_export" != "X:"; then
+ func_show_eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"'
+ func_show_eval '$MV "${export_symbols}T" "$export_symbols"'
+ fi
+ fi
+ fi
+
+ if test -n "$export_symbols" && test -n "$include_expsyms"; then
+ tmp_export_symbols="$export_symbols"
+ test -n "$orig_export_symbols" && tmp_export_symbols="$orig_export_symbols"
+ $opt_dry_run || eval '$ECHO "X$include_expsyms" | $Xsed | $SP2NL >> "$tmp_export_symbols"'
+ fi
+
+ if test "X$skipped_export" != "X:" && test -n "$orig_export_symbols"; then
+ # The given exports_symbols file has to be filtered, so filter it.
+ func_verbose "filter symbol list for \`$libname.la' to tag DATA exports"
+ # FIXME: $output_objdir/$libname.filter potentially contains lots of
+ # 's' commands which not all seds can handle. GNU sed should be fine
+ # though. Also, the filter scales superlinearly with the number of
+ # global variables. join(1) would be nice here, but unfortunately
+ # isn't a blessed tool.
+ $opt_dry_run || $SED -e '/[ ,]DATA/!d;s,\(.*\)\([ \,].*\),s|^\1$|\1\2|,' < $export_symbols > $output_objdir/$libname.filter
+ delfiles="$delfiles $export_symbols $output_objdir/$libname.filter"
+ export_symbols=$output_objdir/$libname.def
+ $opt_dry_run || $SED -f $output_objdir/$libname.filter < $orig_export_symbols > $export_symbols
+ fi
+
+ tmp_deplibs=
+ for test_deplib in $deplibs; do
+ case " $convenience " in
+ *" $test_deplib "*) ;;
+ *)
+ tmp_deplibs="$tmp_deplibs $test_deplib"
+ ;;
+ esac
+ done
+ deplibs="$tmp_deplibs"
+
+ if test -n "$convenience"; then
+ if test -n "$whole_archive_flag_spec" &&
+ test "$compiler_needs_object" = yes &&
+ test -z "$libobjs"; then
+ # extract the archives, so we have objects to list.
+ # TODO: could optimize this to just extract one archive.
+ whole_archive_flag_spec=
+ fi
+ if test -n "$whole_archive_flag_spec"; then
+ save_libobjs=$libobjs
+ eval libobjs=\"\$libobjs $whole_archive_flag_spec\"
+ test "X$libobjs" = "X " && libobjs=
+ else
+ gentop="$output_objdir/${outputname}x"
+ generated="$generated $gentop"
+
+ func_extract_archives $gentop $convenience
+ libobjs="$libobjs $func_extract_archives_result"
+ test "X$libobjs" = "X " && libobjs=
+ fi
+ fi
+
+ if test "$thread_safe" = yes && test -n "$thread_safe_flag_spec"; then
+ eval flag=\"$thread_safe_flag_spec\"
+ linker_flags="$linker_flags $flag"
+ fi
+
+ # Make a backup of the uninstalled library when relinking
+ if test "$mode" = relink; then
+ $opt_dry_run || eval '(cd $output_objdir && $RM ${realname}U && $MV $realname ${realname}U)' || exit $?
+ fi
+
+ # Do each of the archive commands.
+ if test "$module" = yes && test -n "$module_cmds" ; then
+ if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then
+ eval test_cmds=\"$module_expsym_cmds\"
+ cmds=$module_expsym_cmds
+ else
+ eval test_cmds=\"$module_cmds\"
+ cmds=$module_cmds
+ fi
+ else
+ if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then
+ eval test_cmds=\"$archive_expsym_cmds\"
+ cmds=$archive_expsym_cmds
+ else
+ eval test_cmds=\"$archive_cmds\"
+ cmds=$archive_cmds
+ fi
+ fi
+
+ if test "X$skipped_export" != "X:" &&
+ func_len " $test_cmds" &&
+ len=$func_len_result &&
+ test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then
+ :
+ else
+ # The command line is too long to link in one step, link piecewise
+ # or, if using GNU ld and skipped_export is not :, use a linker
+ # script.
+
+ # Save the value of $output and $libobjs because we want to
+ # use them later. If we have whole_archive_flag_spec, we
+ # want to use save_libobjs as it was before
+ # whole_archive_flag_spec was expanded, because we can't
+ # assume the linker understands whole_archive_flag_spec.
+ # This may have to be revisited, in case too many
+ # convenience libraries get linked in and end up exceeding
+ # the spec.
+ if test -z "$convenience" || test -z "$whole_archive_flag_spec"; then
+ save_libobjs=$libobjs
+ fi
+ save_output=$output
+ output_la=`$ECHO "X$output" | $Xsed -e "$basename"`
+
+ # Clear the reloadable object creation command queue and
+ # initialize k to one.
+ test_cmds=
+ concat_cmds=
+ objlist=
+ last_robj=
+ k=1
+
+ if test -n "$save_libobjs" && test "X$skipped_export" != "X:" && test "$with_gnu_ld" = yes; then
+ output=${output_objdir}/${output_la}.lnkscript
+ func_verbose "creating GNU ld script: $output"
+ $ECHO 'INPUT (' > $output
+ for obj in $save_libobjs
+ do
+ $ECHO "$obj" >> $output
+ done
+ $ECHO ')' >> $output
+ delfiles="$delfiles $output"
+ elif test -n "$save_libobjs" && test "X$skipped_export" != "X:" && test "X$file_list_spec" != X; then
+ output=${output_objdir}/${output_la}.lnk
+ func_verbose "creating linker input file list: $output"
+ : > $output
+ set x $save_libobjs
+ shift
+ firstobj=
+ if test "$compiler_needs_object" = yes; then
+ firstobj="$1 "
+ shift
+ fi
+ for obj
+ do
+ $ECHO "$obj" >> $output
+ done
+ delfiles="$delfiles $output"
+ output=$firstobj\"$file_list_spec$output\"
+ else
+ if test -n "$save_libobjs"; then
+ func_verbose "creating reloadable object files..."
+ output=$output_objdir/$output_la-${k}.$objext
+ eval test_cmds=\"$reload_cmds\"
+ func_len " $test_cmds"
+ len0=$func_len_result
+ len=$len0
+
+ # Loop over the list of objects to be linked.
+ for obj in $save_libobjs
+ do
+ func_len " $obj"
+ func_arith $len + $func_len_result
+ len=$func_arith_result
+ if test "X$objlist" = X ||
+ test "$len" -lt "$max_cmd_len"; then
+ func_append objlist " $obj"
+ else
+ # The command $test_cmds is almost too long, add a
+ # command to the queue.
+ if test "$k" -eq 1 ; then
+ # The first file doesn't have a previous command to add.
+ eval concat_cmds=\"$reload_cmds $objlist $last_robj\"
+ else
+ # All subsequent reloadable object files will link in
+ # the last one created.
+ eval concat_cmds=\"\$concat_cmds~$reload_cmds $objlist $last_robj~\$RM $last_robj\"
+ fi
+ last_robj=$output_objdir/$output_la-${k}.$objext
+ func_arith $k + 1
+ k=$func_arith_result
+ output=$output_objdir/$output_la-${k}.$objext
+ objlist=$obj
+ func_len " $last_robj"
+ func_arith $len0 + $func_len_result
+ len=$func_arith_result
+ fi
+ done
+ # Handle the remaining objects by creating one last
+ # reloadable object file. All subsequent reloadable object
+ # files will link in the last one created.
+ test -z "$concat_cmds" || concat_cmds=$concat_cmds~
+ eval concat_cmds=\"\${concat_cmds}$reload_cmds $objlist $last_robj\"
+ if test -n "$last_robj"; then
+ eval concat_cmds=\"\${concat_cmds}~\$RM $last_robj\"
+ fi
+ delfiles="$delfiles $output"
+
+ else
+ output=
+ fi
+
+ if ${skipped_export-false}; then
+ func_verbose "generating symbol list for \`$libname.la'"
+ export_symbols="$output_objdir/$libname.exp"
+ $opt_dry_run || $RM $export_symbols
+ libobjs=$output
+ # Append the command to create the export file.
+ test -z "$concat_cmds" || concat_cmds=$concat_cmds~
+ eval concat_cmds=\"\$concat_cmds$export_symbols_cmds\"
+ if test -n "$last_robj"; then
+ eval concat_cmds=\"\$concat_cmds~\$RM $last_robj\"
+ fi
+ fi
+
+ test -n "$save_libobjs" &&
+ func_verbose "creating a temporary reloadable object file: $output"
+
+ # Loop through the commands generated above and execute them.
+ save_ifs="$IFS"; IFS='~'
+ for cmd in $concat_cmds; do
+ IFS="$save_ifs"
+ $opt_silent || {
+ func_quote_for_expand "$cmd"
+ eval "func_echo $func_quote_for_expand_result"
+ }
+ $opt_dry_run || eval "$cmd" || {
+ lt_exit=$?
+
+ # Restore the uninstalled library and exit
+ if test "$mode" = relink; then
+ ( cd "$output_objdir" && \
+ $RM "${realname}T" && \
+ $MV "${realname}U" "$realname" )
+ fi
+
+ exit $lt_exit
+ }
+ done
+ IFS="$save_ifs"
+
+ if test -n "$export_symbols_regex" && ${skipped_export-false}; then
+ func_show_eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"'
+ func_show_eval '$MV "${export_symbols}T" "$export_symbols"'
+ fi
+ fi
+
+ if ${skipped_export-false}; then
+ if test -n "$export_symbols" && test -n "$include_expsyms"; then
+ tmp_export_symbols="$export_symbols"
+ test -n "$orig_export_symbols" && tmp_export_symbols="$orig_export_symbols"
+ $opt_dry_run || eval '$ECHO "X$include_expsyms" | $Xsed | $SP2NL >> "$tmp_export_symbols"'
+ fi
+
+ if test -n "$orig_export_symbols"; then
+ # The given exports_symbols file has to be filtered, so filter it.
+ func_verbose "filter symbol list for \`$libname.la' to tag DATA exports"
+ # FIXME: $output_objdir/$libname.filter potentially contains lots of
+ # 's' commands which not all seds can handle. GNU sed should be fine
+ # though. Also, the filter scales superlinearly with the number of
+ # global variables. join(1) would be nice here, but unfortunately
+ # isn't a blessed tool.
+ $opt_dry_run || $SED -e '/[ ,]DATA/!d;s,\(.*\)\([ \,].*\),s|^\1$|\1\2|,' < $export_symbols > $output_objdir/$libname.filter
+ delfiles="$delfiles $export_symbols $output_objdir/$libname.filter"
+ export_symbols=$output_objdir/$libname.def
+ $opt_dry_run || $SED -f $output_objdir/$libname.filter < $orig_export_symbols > $export_symbols
+ fi
+ fi
+
+ libobjs=$output
+ # Restore the value of output.
+ output=$save_output
+
+ if test -n "$convenience" && test -n "$whole_archive_flag_spec"; then
+ eval libobjs=\"\$libobjs $whole_archive_flag_spec\"
+ test "X$libobjs" = "X " && libobjs=
+ fi
+ # Expand the library linking commands again to reset the
+ # value of $libobjs for piecewise linking.
+
+ # Do each of the archive commands.
+ if test "$module" = yes && test -n "$module_cmds" ; then
+ if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then
+ cmds=$module_expsym_cmds
+ else
+ cmds=$module_cmds
+ fi
+ else
+ if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then
+ cmds=$archive_expsym_cmds
+ else
+ cmds=$archive_cmds
+ fi
+ fi
+ fi
+
+ if test -n "$delfiles"; then
+ # Append the command to remove temporary files to $cmds.
+ eval cmds=\"\$cmds~\$RM $delfiles\"
+ fi
+
+ # Add any objects from preloaded convenience libraries
+ if test -n "$dlprefiles"; then
+ gentop="$output_objdir/${outputname}x"
+ generated="$generated $gentop"
+
+ func_extract_archives $gentop $dlprefiles
+ libobjs="$libobjs $func_extract_archives_result"
+ test "X$libobjs" = "X " && libobjs=
+ fi
+
+ save_ifs="$IFS"; IFS='~'
+ for cmd in $cmds; do
+ IFS="$save_ifs"
+ eval cmd=\"$cmd\"
+ $opt_silent || {
+ func_quote_for_expand "$cmd"
+ eval "func_echo $func_quote_for_expand_result"
+ }
+ $opt_dry_run || eval "$cmd" || {
+ lt_exit=$?
+
+ # Restore the uninstalled library and exit
+ if test "$mode" = relink; then
+ ( cd "$output_objdir" && \
+ $RM "${realname}T" && \
+ $MV "${realname}U" "$realname" )
+ fi
+
+ exit $lt_exit
+ }
+ done
+ IFS="$save_ifs"
+
+ # Restore the uninstalled library and exit
+ if test "$mode" = relink; then
+ $opt_dry_run || eval '(cd $output_objdir && $RM ${realname}T && $MV $realname ${realname}T && $MV ${realname}U $realname)' || exit $?
+
+ if test -n "$convenience"; then
+ if test -z "$whole_archive_flag_spec"; then
+ func_show_eval '${RM}r "$gentop"'
+ fi
+ fi
+
+ exit $EXIT_SUCCESS
+ fi
+
+ # Create links to the real library.
+ for linkname in $linknames; do
+ if test "$realname" != "$linkname"; then
+ func_show_eval '(cd "$output_objdir" && $RM "$linkname" && $LN_S "$realname" "$linkname")' 'exit $?'
+ fi
+ done
+
+ # If -module or -export-dynamic was specified, set the dlname.
+ if test "$module" = yes || test "$export_dynamic" = yes; then
+ # On all known operating systems, these are identical.
+ dlname="$soname"
+ fi
+ fi
+ ;;
+
+ obj)
+ if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
+ func_warning "\`-dlopen' is ignored for objects"
+ fi
+
+ case " $deplibs" in
+ *\ -l* | *\ -L*)
+ func_warning "\`-l' and \`-L' are ignored for objects" ;;
+ esac
+
+ test -n "$rpath" && \
+ func_warning "\`-rpath' is ignored for objects"
+
+ test -n "$xrpath" && \
+ func_warning "\`-R' is ignored for objects"
+
+ test -n "$vinfo" && \
+ func_warning "\`-version-info' is ignored for objects"
+
+ test -n "$release" && \
+ func_warning "\`-release' is ignored for objects"
+
+ case $output in
+ *.lo)
+ test -n "$objs$old_deplibs" && \
+ func_fatal_error "cannot build library object \`$output' from non-libtool objects"
+
+ libobj=$output
+ func_lo2o "$libobj"
+ obj=$func_lo2o_result
+ ;;
+ *)
+ libobj=
+ obj="$output"
+ ;;
+ esac
+
+ # Delete the old objects.
+ $opt_dry_run || $RM $obj $libobj
+
+ # Objects from convenience libraries. This assumes
+ # single-version convenience libraries. Whenever we create
+ # different ones for PIC/non-PIC, this we'll have to duplicate
+ # the extraction.
+ reload_conv_objs=
+ gentop=
+ # reload_cmds runs $LD directly, so let us get rid of
+ # -Wl from whole_archive_flag_spec and hope we can get by with
+ # turning comma into space..
+ wl=
+
+ if test -n "$convenience"; then
+ if test -n "$whole_archive_flag_spec"; then
+ eval tmp_whole_archive_flags=\"$whole_archive_flag_spec\"
+ reload_conv_objs=$reload_objs\ `$ECHO "X$tmp_whole_archive_flags" | $Xsed -e 's|,| |g'`
+ else
+ gentop="$output_objdir/${obj}x"
+ generated="$generated $gentop"
+
+ func_extract_archives $gentop $convenience
+ reload_conv_objs="$reload_objs $func_extract_archives_result"
+ fi
+ fi
+
+ # Create the old-style object.
+ reload_objs="$objs$old_deplibs "`$ECHO "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}$'/d' -e '/\.lib$/d' -e "$lo2o" | $NL2SP`" $reload_conv_objs" ### testsuite: skip nested quoting test
+
+ output="$obj"
+ func_execute_cmds "$reload_cmds" 'exit $?'
+
+ # Exit if we aren't doing a library object file.
+ if test -z "$libobj"; then
+ if test -n "$gentop"; then
+ func_show_eval '${RM}r "$gentop"'
+ fi
+
+ exit $EXIT_SUCCESS
+ fi
+
+ if test "$build_libtool_libs" != yes; then
+ if test -n "$gentop"; then
+ func_show_eval '${RM}r "$gentop"'
+ fi
+
+ # Create an invalid libtool object if no PIC, so that we don't
+ # accidentally link it into a program.
+ # $show "echo timestamp > $libobj"
+ # $opt_dry_run || eval "echo timestamp > $libobj" || exit $?
+ exit $EXIT_SUCCESS
+ fi
+
+ if test -n "$pic_flag" || test "$pic_mode" != default; then
+ # Only do commands if we really have different PIC objects.
+ reload_objs="$libobjs $reload_conv_objs"
+ output="$libobj"
+ func_execute_cmds "$reload_cmds" 'exit $?'
+ fi
+
+ if test -n "$gentop"; then
+ func_show_eval '${RM}r "$gentop"'
+ fi
+
+ exit $EXIT_SUCCESS
+ ;;
+
+ prog)
+ case $host in
+ *cygwin*) func_stripname '' '.exe' "$output"
+ output=$func_stripname_result.exe;;
+ esac
+ test -n "$vinfo" && \
+ func_warning "\`-version-info' is ignored for programs"
+
+ test -n "$release" && \
+ func_warning "\`-release' is ignored for programs"
+
+ test "$preload" = yes \
+ && test "$dlopen_support" = unknown \
+ && test "$dlopen_self" = unknown \
+ && test "$dlopen_self_static" = unknown && \
+ func_warning "\`LT_INIT([dlopen])' not used. Assuming no dlopen support."
+
+ case $host in
+ *-*-rhapsody* | *-*-darwin1.[012])
+ # On Rhapsody replace the C library is the System framework
+ compile_deplibs=`$ECHO "X $compile_deplibs" | $Xsed -e 's/ -lc / System.ltframework /'`
+ finalize_deplibs=`$ECHO "X $finalize_deplibs" | $Xsed -e 's/ -lc / System.ltframework /'`
+ ;;
+ esac
+
+ case $host in
+ *-*-darwin*)
+ # Don't allow lazy linking, it breaks C++ global constructors
+ # But is supposedly fixed on 10.4 or later (yay!).
+ if test "$tagname" = CXX ; then
+ case ${MACOSX_DEPLOYMENT_TARGET-10.0} in
+ 10.[0123])
+ compile_command="$compile_command ${wl}-bind_at_load"
+ finalize_command="$finalize_command ${wl}-bind_at_load"
+ ;;
+ esac
+ fi
+ # Time to change all our "foo.ltframework" stuff back to "-framework foo"
+ compile_deplibs=`$ECHO "X $compile_deplibs" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'`
+ finalize_deplibs=`$ECHO "X $finalize_deplibs" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'`
+ ;;
+ esac
+
+
+ # move library search paths that coincide with paths to not yet
+ # installed libraries to the beginning of the library search list
+ new_libs=
+ for path in $notinst_path; do
+ case " $new_libs " in
+ *" -L$path/$objdir "*) ;;
+ *)
+ case " $compile_deplibs " in
+ *" -L$path/$objdir "*)
+ new_libs="$new_libs -L$path/$objdir" ;;
+ esac
+ ;;
+ esac
+ done
+ for deplib in $compile_deplibs; do
+ case $deplib in
+ -L*)
+ case " $new_libs " in
+ *" $deplib "*) ;;
+ *) new_libs="$new_libs $deplib" ;;
+ esac
+ ;;
+ *) new_libs="$new_libs $deplib" ;;
+ esac
+ done
+ compile_deplibs="$new_libs"
+
+
+ compile_command="$compile_command $compile_deplibs"
+ finalize_command="$finalize_command $finalize_deplibs"
+
+ if test -n "$rpath$xrpath"; then
+ # If the user specified any rpath flags, then add them.
+ for libdir in $rpath $xrpath; do
+ # This is the magic to use -rpath.
+ case "$finalize_rpath " in
+ *" $libdir "*) ;;
+ *) finalize_rpath="$finalize_rpath $libdir" ;;
+ esac
+ done
+ fi
+
+ # Now hardcode the library paths
+ rpath=
+ hardcode_libdirs=
+ for libdir in $compile_rpath $finalize_rpath; do
+ if test -n "$hardcode_libdir_flag_spec"; then
+ if test -n "$hardcode_libdir_separator"; then
+ if test -z "$hardcode_libdirs"; then
+ hardcode_libdirs="$libdir"
+ else
+ # Just accumulate the unique libdirs.
+ case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in
+ *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
+ ;;
+ *)
+ hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir"
+ ;;
+ esac
+ fi
+ else
+ eval flag=\"$hardcode_libdir_flag_spec\"
+ rpath="$rpath $flag"
+ fi
+ elif test -n "$runpath_var"; then
+ case "$perm_rpath " in
+ *" $libdir "*) ;;
+ *) perm_rpath="$perm_rpath $libdir" ;;
+ esac
+ fi
+ case $host in
+ *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*)
+ testbindir=`${ECHO} "$libdir" | ${SED} -e 's*/lib$*/bin*'`
+ case :$dllsearchpath: in
+ *":$libdir:"*) ;;
+ ::) dllsearchpath=$libdir;;
+ *) dllsearchpath="$dllsearchpath:$libdir";;
+ esac
+ case :$dllsearchpath: in
+ *":$testbindir:"*) ;;
+ ::) dllsearchpath=$testbindir;;
+ *) dllsearchpath="$dllsearchpath:$testbindir";;
+ esac
+ ;;
+ esac
+ done
+ # Substitute the hardcoded libdirs into the rpath.
+ if test -n "$hardcode_libdir_separator" &&
+ test -n "$hardcode_libdirs"; then
+ libdir="$hardcode_libdirs"
+ eval rpath=\" $hardcode_libdir_flag_spec\"
+ fi
+ compile_rpath="$rpath"
+
+ rpath=
+ hardcode_libdirs=
+ for libdir in $finalize_rpath; do
+ if test -n "$hardcode_libdir_flag_spec"; then
+ if test -n "$hardcode_libdir_separator"; then
+ if test -z "$hardcode_libdirs"; then
+ hardcode_libdirs="$libdir"
+ else
+ # Just accumulate the unique libdirs.
+ case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in
+ *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
+ ;;
+ *)
+ hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir"
+ ;;
+ esac
+ fi
+ else
+ eval flag=\"$hardcode_libdir_flag_spec\"
+ rpath="$rpath $flag"
+ fi
+ elif test -n "$runpath_var"; then
+ case "$finalize_perm_rpath " in
+ *" $libdir "*) ;;
+ *) finalize_perm_rpath="$finalize_perm_rpath $libdir" ;;
+ esac
+ fi
+ done
+ # Substitute the hardcoded libdirs into the rpath.
+ if test -n "$hardcode_libdir_separator" &&
+ test -n "$hardcode_libdirs"; then
+ libdir="$hardcode_libdirs"
+ eval rpath=\" $hardcode_libdir_flag_spec\"
+ fi
+ finalize_rpath="$rpath"
+
+ if test -n "$libobjs" && test "$build_old_libs" = yes; then
+ # Transform all the library objects into standard objects.
+ compile_command=`$ECHO "X$compile_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
+ finalize_command=`$ECHO "X$finalize_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
+ fi
+
+ func_generate_dlsyms "$outputname" "@PROGRAM@" "no"
+
+ # template prelinking step
+ if test -n "$prelink_cmds"; then
+ func_execute_cmds "$prelink_cmds" 'exit $?'
+ fi
+
+ wrappers_required=yes
+ case $host in
+ *cygwin* | *mingw* )
+ if test "$build_libtool_libs" != yes; then
+ wrappers_required=no
+ fi
+ ;;
+ *cegcc)
+ # Disable wrappers for cegcc, we are cross compiling anyway.
+ wrappers_required=no
+ ;;
+ *)
+ if test "$need_relink" = no || test "$build_libtool_libs" != yes; then
+ wrappers_required=no
+ fi
+ ;;
+ esac
+ if test "$wrappers_required" = no; then
+ # Replace the output file specification.
+ compile_command=`$ECHO "X$compile_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'`
+ link_command="$compile_command$compile_rpath"
+
+ # We have no uninstalled library dependencies, so finalize right now.
+ exit_status=0
+ func_show_eval "$link_command" 'exit_status=$?'
+
+ # Delete the generated files.
+ if test -f "$output_objdir/${outputname}S.${objext}"; then
+ func_show_eval '$RM "$output_objdir/${outputname}S.${objext}"'
+ fi
+
+ exit $exit_status
+ fi
+
+ if test -n "$compile_shlibpath$finalize_shlibpath"; then
+ compile_command="$shlibpath_var=\"$compile_shlibpath$finalize_shlibpath\$$shlibpath_var\" $compile_command"
+ fi
+ if test -n "$finalize_shlibpath"; then
+ finalize_command="$shlibpath_var=\"$finalize_shlibpath\$$shlibpath_var\" $finalize_command"
+ fi
+
+ compile_var=
+ finalize_var=
+ if test -n "$runpath_var"; then
+ if test -n "$perm_rpath"; then
+ # We should set the runpath_var.
+ rpath=
+ for dir in $perm_rpath; do
+ rpath="$rpath$dir:"
+ done
+ compile_var="$runpath_var=\"$rpath\$$runpath_var\" "
+ fi
+ if test -n "$finalize_perm_rpath"; then
+ # We should set the runpath_var.
+ rpath=
+ for dir in $finalize_perm_rpath; do
+ rpath="$rpath$dir:"
+ done
+ finalize_var="$runpath_var=\"$rpath\$$runpath_var\" "
+ fi
+ fi
+
+ if test "$no_install" = yes; then
+ # We don't need to create a wrapper script.
+ link_command="$compile_var$compile_command$compile_rpath"
+ # Replace the output file specification.
+ link_command=`$ECHO "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'`
+ # Delete the old output file.
+ $opt_dry_run || $RM $output
+ # Link the executable and exit
+ func_show_eval "$link_command" 'exit $?'
+ exit $EXIT_SUCCESS
+ fi
+
+ if test "$hardcode_action" = relink; then
+ # Fast installation is not supported
+ link_command="$compile_var$compile_command$compile_rpath"
+ relink_command="$finalize_var$finalize_command$finalize_rpath"
+
+ func_warning "this platform does not like uninstalled shared libraries"
+ func_warning "\`$output' will be relinked during installation"
+ else
+ if test "$fast_install" != no; then
+ link_command="$finalize_var$compile_command$finalize_rpath"
+ if test "$fast_install" = yes; then
+ relink_command=`$ECHO "X$compile_var$compile_command$compile_rpath" | $Xsed -e 's%@OUTPUT@%\$progdir/\$file%g'`
+ else
+ # fast_install is set to needless
+ relink_command=
+ fi
+ else
+ link_command="$compile_var$compile_command$compile_rpath"
+ relink_command="$finalize_var$finalize_command$finalize_rpath"
+ fi
+ fi
+
+ # Replace the output file specification.
+ link_command=`$ECHO "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output_objdir/$outputname"'%g'`
+
+ # Delete the old output files.
+ $opt_dry_run || $RM $output $output_objdir/$outputname $output_objdir/lt-$outputname
+
+ func_show_eval "$link_command" 'exit $?'
+
+ # Now create the wrapper script.
+ func_verbose "creating $output"
+
+ # Quote the relink command for shipping.
+ if test -n "$relink_command"; then
+ # Preserve any variables that may affect compiler behavior
+ for var in $variables_saved_for_relink; do
+ if eval test -z \"\${$var+set}\"; then
+ relink_command="{ test -z \"\${$var+set}\" || $lt_unset $var || { $var=; export $var; }; }; $relink_command"
+ elif eval var_value=\$$var; test -z "$var_value"; then
+ relink_command="$var=; export $var; $relink_command"
+ else
+ func_quote_for_eval "$var_value"
+ relink_command="$var=$func_quote_for_eval_result; export $var; $relink_command"
+ fi
+ done
+ relink_command="(cd `pwd`; $relink_command)"
+ relink_command=`$ECHO "X$relink_command" | $Xsed -e "$sed_quote_subst"`
+ fi
+
+ # Quote $ECHO for shipping.
+ if test "X$ECHO" = "X$SHELL $progpath --fallback-echo"; then
+ case $progpath in
+ [\\/]* | [A-Za-z]:[\\/]*) qecho="$SHELL $progpath --fallback-echo";;
+ *) qecho="$SHELL `pwd`/$progpath --fallback-echo";;
+ esac
+ qecho=`$ECHO "X$qecho" | $Xsed -e "$sed_quote_subst"`
+ else
+ qecho=`$ECHO "X$ECHO" | $Xsed -e "$sed_quote_subst"`
+ fi
+
+ # Only actually do things if not in dry run mode.
+ $opt_dry_run || {
+ # win32 will think the script is a binary if it has
+ # a .exe suffix, so we strip it off here.
+ case $output in
+ *.exe) func_stripname '' '.exe' "$output"
+ output=$func_stripname_result ;;
+ esac
+ # test for cygwin because mv fails w/o .exe extensions
+ case $host in
+ *cygwin*)
+ exeext=.exe
+ func_stripname '' '.exe' "$outputname"
+ outputname=$func_stripname_result ;;
+ *) exeext= ;;
+ esac
+ case $host in
+ *cygwin* | *mingw* )
+ func_dirname_and_basename "$output" "" "."
+ output_name=$func_basename_result
+ output_path=$func_dirname_result
+ cwrappersource="$output_path/$objdir/lt-$output_name.c"
+ cwrapper="$output_path/$output_name.exe"
+ $RM $cwrappersource $cwrapper
+ trap "$RM $cwrappersource $cwrapper; exit $EXIT_FAILURE" 1 2 15
+
+ func_emit_cwrapperexe_src > $cwrappersource
+
+ # The wrapper executable is built using the $host compiler,
+ # because it contains $host paths and files. If cross-
+ # compiling, it, like the target executable, must be
+ # executed on the $host or under an emulation environment.
+ $opt_dry_run || {
+ $LTCC $LTCFLAGS -o $cwrapper $cwrappersource
+ $STRIP $cwrapper
+ }
+
+ # Now, create the wrapper script for func_source use:
+ func_ltwrapper_scriptname $cwrapper
+ $RM $func_ltwrapper_scriptname_result
+ trap "$RM $func_ltwrapper_scriptname_result; exit $EXIT_FAILURE" 1 2 15
+ $opt_dry_run || {
+ # note: this script will not be executed, so do not chmod.
+ if test "x$build" = "x$host" ; then
+ $cwrapper --lt-dump-script > $func_ltwrapper_scriptname_result
+ else
+ func_emit_wrapper no > $func_ltwrapper_scriptname_result
+ fi
+ }
+ ;;
+ * )
+ $RM $output
+ trap "$RM $output; exit $EXIT_FAILURE" 1 2 15
+
+ func_emit_wrapper no > $output
+ chmod +x $output
+ ;;
+ esac
+ }
+ exit $EXIT_SUCCESS
+ ;;
+ esac
+
+ # See if we need to build an old-fashioned archive.
+ for oldlib in $oldlibs; do
+
+ if test "$build_libtool_libs" = convenience; then
+ oldobjs="$libobjs_save $symfileobj"
+ addlibs="$convenience"
+ build_libtool_libs=no
+ else
+ if test "$build_libtool_libs" = module; then
+ oldobjs="$libobjs_save"
+ build_libtool_libs=no
+ else
+ oldobjs="$old_deplibs $non_pic_objects"
+ if test "$preload" = yes && test -f "$symfileobj"; then
+ oldobjs="$oldobjs $symfileobj"
+ fi
+ fi
+ addlibs="$old_convenience"
+ fi
+
+ if test -n "$addlibs"; then
+ gentop="$output_objdir/${outputname}x"
+ generated="$generated $gentop"
+
+ func_extract_archives $gentop $addlibs
+ oldobjs="$oldobjs $func_extract_archives_result"
+ fi
+
+ # Do each command in the archive commands.
+ if test -n "$old_archive_from_new_cmds" && test "$build_libtool_libs" = yes; then
+ cmds=$old_archive_from_new_cmds
+ else
+
+ # Add any objects from preloaded convenience libraries
+ if test -n "$dlprefiles"; then
+ gentop="$output_objdir/${outputname}x"
+ generated="$generated $gentop"
+
+ func_extract_archives $gentop $dlprefiles
+ oldobjs="$oldobjs $func_extract_archives_result"
+ fi
+
+ # POSIX demands no paths to be encoded in archives. We have
+ # to avoid creating archives with duplicate basenames if we
+ # might have to extract them afterwards, e.g., when creating a
+ # static archive out of a convenience library, or when linking
+ # the entirety of a libtool archive into another (currently
+ # not supported by libtool).
+ if (for obj in $oldobjs
+ do
+ func_basename "$obj"
+ $ECHO "$func_basename_result"
+ done | sort | sort -uc >/dev/null 2>&1); then
+ :
+ else
+ $ECHO "copying selected object files to avoid basename conflicts..."
+ gentop="$output_objdir/${outputname}x"
+ generated="$generated $gentop"
+ func_mkdir_p "$gentop"
+ save_oldobjs=$oldobjs
+ oldobjs=
+ counter=1
+ for obj in $save_oldobjs
+ do
+ func_basename "$obj"
+ objbase="$func_basename_result"
+ case " $oldobjs " in
+ " ") oldobjs=$obj ;;
+ *[\ /]"$objbase "*)
+ while :; do
+ # Make sure we don't pick an alternate name that also
+ # overlaps.
+ newobj=lt$counter-$objbase
+ func_arith $counter + 1
+ counter=$func_arith_result
+ case " $oldobjs " in
+ *[\ /]"$newobj "*) ;;
+ *) if test ! -f "$gentop/$newobj"; then break; fi ;;
+ esac
+ done
+ func_show_eval "ln $obj $gentop/$newobj || cp $obj $gentop/$newobj"
+ oldobjs="$oldobjs $gentop/$newobj"
+ ;;
+ *) oldobjs="$oldobjs $obj" ;;
+ esac
+ done
+ fi
+ eval cmds=\"$old_archive_cmds\"
+
+ func_len " $cmds"
+ len=$func_len_result
+ if test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then
+ cmds=$old_archive_cmds
+ else
+ # the command line is too long to link in one step, link in parts
+ func_verbose "using piecewise archive linking..."
+ save_RANLIB=$RANLIB
+ RANLIB=:
+ objlist=
+ concat_cmds=
+ save_oldobjs=$oldobjs
+ oldobjs=
+ # Is there a better way of finding the last object in the list?
+ for obj in $save_oldobjs
+ do
+ last_oldobj=$obj
+ done
+ eval test_cmds=\"$old_archive_cmds\"
+ func_len " $test_cmds"
+ len0=$func_len_result
+ len=$len0
+ for obj in $save_oldobjs
+ do
+ func_len " $obj"
+ func_arith $len + $func_len_result
+ len=$func_arith_result
+ func_append objlist " $obj"
+ if test "$len" -lt "$max_cmd_len"; then
+ :
+ else
+ # the above command should be used before it gets too long
+ oldobjs=$objlist
+ if test "$obj" = "$last_oldobj" ; then
+ RANLIB=$save_RANLIB
+ fi
+ test -z "$concat_cmds" || concat_cmds=$concat_cmds~
+ eval concat_cmds=\"\${concat_cmds}$old_archive_cmds\"
+ objlist=
+ len=$len0
+ fi
+ done
+ RANLIB=$save_RANLIB
+ oldobjs=$objlist
+ if test "X$oldobjs" = "X" ; then
+ eval cmds=\"\$concat_cmds\"
+ else
+ eval cmds=\"\$concat_cmds~\$old_archive_cmds\"
+ fi
+ fi
+ fi
+ func_execute_cmds "$cmds" 'exit $?'
+ done
+
+ test -n "$generated" && \
+ func_show_eval "${RM}r$generated"
+
+ # Now create the libtool archive.
+ case $output in
+ *.la)
+ old_library=
+ test "$build_old_libs" = yes && old_library="$libname.$libext"
+ func_verbose "creating $output"
+
+ # Preserve any variables that may affect compiler behavior
+ for var in $variables_saved_for_relink; do
+ if eval test -z \"\${$var+set}\"; then
+ relink_command="{ test -z \"\${$var+set}\" || $lt_unset $var || { $var=; export $var; }; }; $relink_command"
+ elif eval var_value=\$$var; test -z "$var_value"; then
+ relink_command="$var=; export $var; $relink_command"
+ else
+ func_quote_for_eval "$var_value"
+ relink_command="$var=$func_quote_for_eval_result; export $var; $relink_command"
+ fi
+ done
+ # Quote the link command for shipping.
+ relink_command="(cd `pwd`; $SHELL $progpath $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)"
+ relink_command=`$ECHO "X$relink_command" | $Xsed -e "$sed_quote_subst"`
+ if test "$hardcode_automatic" = yes ; then
+ relink_command=
+ fi
+
+ # Only create the output if not a dry run.
+ $opt_dry_run || {
+ for installed in no yes; do
+ if test "$installed" = yes; then
+ if test -z "$install_libdir"; then
+ break
+ fi
+ output="$output_objdir/$outputname"i
+ # Replace all uninstalled libtool libraries with the installed ones
+ newdependency_libs=
+ for deplib in $dependency_libs; do
+ case $deplib in
+ *.la)
+ func_basename "$deplib"
+ name="$func_basename_result"
+ eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
+ test -z "$libdir" && \
+ func_fatal_error "\`$deplib' is not a valid libtool archive"
+ newdependency_libs="$newdependency_libs $libdir/$name"
+ ;;
+ *) newdependency_libs="$newdependency_libs $deplib" ;;
+ esac
+ done
+ dependency_libs="$newdependency_libs"
+ newdlfiles=
+
+ for lib in $dlfiles; do
+ case $lib in
+ *.la)
+ func_basename "$lib"
+ name="$func_basename_result"
+ eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib`
+ test -z "$libdir" && \
+ func_fatal_error "\`$lib' is not a valid libtool archive"
+ newdlfiles="$newdlfiles $libdir/$name"
+ ;;
+ *) newdlfiles="$newdlfiles $lib" ;;
+ esac
+ done
+ dlfiles="$newdlfiles"
+ newdlprefiles=
+ for lib in $dlprefiles; do
+ case $lib in
+ *.la)
+ # Only pass preopened files to the pseudo-archive (for
+ # eventual linking with the app. that links it) if we
+ # didn't already link the preopened objects directly into
+ # the library:
+ func_basename "$lib"
+ name="$func_basename_result"
+ eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib`
+ test -z "$libdir" && \
+ func_fatal_error "\`$lib' is not a valid libtool archive"
+ newdlprefiles="$newdlprefiles $libdir/$name"
+ ;;
+ esac
+ done
+ dlprefiles="$newdlprefiles"
+ else
+ newdlfiles=
+ for lib in $dlfiles; do
+ case $lib in
+ [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;;
+ *) abs=`pwd`"/$lib" ;;
+ esac
+ newdlfiles="$newdlfiles $abs"
+ done
+ dlfiles="$newdlfiles"
+ newdlprefiles=
+ for lib in $dlprefiles; do
+ case $lib in
+ [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;;
+ *) abs=`pwd`"/$lib" ;;
+ esac
+ newdlprefiles="$newdlprefiles $abs"
+ done
+ dlprefiles="$newdlprefiles"
+ fi
+ $RM $output
+ # place dlname in correct position for cygwin
+ tdlname=$dlname
+ case $host,$output,$installed,$module,$dlname in
+ *cygwin*,*lai,yes,no,*.dll | *mingw*,*lai,yes,no,*.dll | *cegcc*,*lai,yes,no,*.dll) tdlname=../bin/$dlname ;;
+ esac
+ $ECHO > $output "\
+# $outputname - a libtool library file
+# Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# The name that we can dlopen(3).
+dlname='$tdlname'
+
+# Names of this library.
+library_names='$library_names'
+
+# The name of the static archive.
+old_library='$old_library'
+
+# Linker flags that can not go in dependency_libs.
+inherited_linker_flags='$new_inherited_linker_flags'
+
+# Libraries that this one depends upon.
+dependency_libs='$dependency_libs'
+
+# Names of additional weak libraries provided by this library
+weak_library_names='$weak_libs'
+
+# Version information for $libname.
+current=$current
+age=$age
+revision=$revision
+
+# Is this an already installed library?
+installed=$installed
+
+# Should we warn about portability when linking against -modules?
+shouldnotlink=$module
+
+# Files to dlopen/dlpreopen
+dlopen='$dlfiles'
+dlpreopen='$dlprefiles'
+
+# Directory that this library needs to be installed in:
+libdir='$install_libdir'"
+ if test "$installed" = no && test "$need_relink" = yes; then
+ $ECHO >> $output "\
+relink_command=\"$relink_command\""
+ fi
+ done
+ }
+
+ # Do a symbolic link so that the libtool archive can be found in
+ # LD_LIBRARY_PATH before the program is installed.
+ func_show_eval '( cd "$output_objdir" && $RM "$outputname" && $LN_S "../$outputname" "$outputname" )' 'exit $?'
+ ;;
+ esac
+ exit $EXIT_SUCCESS
+}
+
+{ test "$mode" = link || test "$mode" = relink; } &&
+ func_mode_link ${1+"$@"}
+
+
+# func_mode_uninstall arg...
+func_mode_uninstall ()
+{
+ $opt_debug
+ RM="$nonopt"
+ files=
+ rmforce=
+ exit_status=0
+
+ # This variable tells wrapper scripts just to set variables rather
+ # than running their programs.
+ libtool_install_magic="$magic"
+
+ for arg
+ do
+ case $arg in
+ -f) RM="$RM $arg"; rmforce=yes ;;
+ -*) RM="$RM $arg" ;;
+ *) files="$files $arg" ;;
+ esac
+ done
+
+ test -z "$RM" && \
+ func_fatal_help "you must specify an RM program"
+
+ rmdirs=
+
+ origobjdir="$objdir"
+ for file in $files; do
+ func_dirname "$file" "" "."
+ dir="$func_dirname_result"
+ if test "X$dir" = X.; then
+ objdir="$origobjdir"
+ else
+ objdir="$dir/$origobjdir"
+ fi
+ func_basename "$file"
+ name="$func_basename_result"
+ test "$mode" = uninstall && objdir="$dir"
+
+ # Remember objdir for removal later, being careful to avoid duplicates
+ if test "$mode" = clean; then
+ case " $rmdirs " in
+ *" $objdir "*) ;;
+ *) rmdirs="$rmdirs $objdir" ;;
+ esac
+ fi
+
+ # Don't error if the file doesn't exist and rm -f was used.
+ if { test -L "$file"; } >/dev/null 2>&1 ||
+ { test -h "$file"; } >/dev/null 2>&1 ||
+ test -f "$file"; then
+ :
+ elif test -d "$file"; then
+ exit_status=1
+ continue
+ elif test "$rmforce" = yes; then
+ continue
+ fi
+
+ rmfiles="$file"
+
+ case $name in
+ *.la)
+ # Possibly a libtool archive, so verify it.
+ if func_lalib_p "$file"; then
+ func_source $dir/$name
+
+ # Delete the libtool libraries and symlinks.
+ for n in $library_names; do
+ rmfiles="$rmfiles $objdir/$n"
+ done
+ test -n "$old_library" && rmfiles="$rmfiles $objdir/$old_library"
+
+ case "$mode" in
+ clean)
+ case " $library_names " in
+ # " " in the beginning catches empty $dlname
+ *" $dlname "*) ;;
+ *) rmfiles="$rmfiles $objdir/$dlname" ;;
+ esac
+ test -n "$libdir" && rmfiles="$rmfiles $objdir/$name $objdir/${name}i"
+ ;;
+ uninstall)
+ if test -n "$library_names"; then
+ # Do each command in the postuninstall commands.
+ func_execute_cmds "$postuninstall_cmds" 'test "$rmforce" = yes || exit_status=1'
+ fi
+
+ if test -n "$old_library"; then
+ # Do each command in the old_postuninstall commands.
+ func_execute_cmds "$old_postuninstall_cmds" 'test "$rmforce" = yes || exit_status=1'
+ fi
+ # FIXME: should reinstall the best remaining shared library.
+ ;;
+ esac
+ fi
+ ;;
+
+ *.lo)
+ # Possibly a libtool object, so verify it.
+ if func_lalib_p "$file"; then
+
+ # Read the .lo file
+ func_source $dir/$name
+
+ # Add PIC object to the list of files to remove.
+ if test -n "$pic_object" &&
+ test "$pic_object" != none; then
+ rmfiles="$rmfiles $dir/$pic_object"
+ fi
+
+ # Add non-PIC object to the list of files to remove.
+ if test -n "$non_pic_object" &&
+ test "$non_pic_object" != none; then
+ rmfiles="$rmfiles $dir/$non_pic_object"
+ fi
+ fi
+ ;;
+
+ *)
+ if test "$mode" = clean ; then
+ noexename=$name
+ case $file in
+ *.exe)
+ func_stripname '' '.exe' "$file"
+ file=$func_stripname_result
+ func_stripname '' '.exe' "$name"
+ noexename=$func_stripname_result
+ # $file with .exe has already been added to rmfiles,
+ # add $file without .exe
+ rmfiles="$rmfiles $file"
+ ;;
+ esac
+ # Do a test to see if this is a libtool program.
+ if func_ltwrapper_p "$file"; then
+ if func_ltwrapper_executable_p "$file"; then
+ func_ltwrapper_scriptname "$file"
+ relink_command=
+ func_source $func_ltwrapper_scriptname_result
+ rmfiles="$rmfiles $func_ltwrapper_scriptname_result"
+ else
+ relink_command=
+ func_source $dir/$noexename
+ fi
+
+ # note $name still contains .exe if it was in $file originally
+ # as does the version of $file that was added into $rmfiles
+ rmfiles="$rmfiles $objdir/$name $objdir/${name}S.${objext}"
+ if test "$fast_install" = yes && test -n "$relink_command"; then
+ rmfiles="$rmfiles $objdir/lt-$name"
+ fi
+ if test "X$noexename" != "X$name" ; then
+ rmfiles="$rmfiles $objdir/lt-${noexename}.c"
+ fi
+ fi
+ fi
+ ;;
+ esac
+ func_show_eval "$RM $rmfiles" 'exit_status=1'
+ done
+ objdir="$origobjdir"
+
+ # Try to remove the ${objdir}s in the directories where we deleted files
+ for dir in $rmdirs; do
+ if test -d "$dir"; then
+ func_show_eval "rmdir $dir >/dev/null 2>&1"
+ fi
+ done
+
+ exit $exit_status
+}
+
+{ test "$mode" = uninstall || test "$mode" = clean; } &&
+ func_mode_uninstall ${1+"$@"}
+
+test -z "$mode" && {
+ help="$generic_help"
+ func_fatal_help "you must specify a MODE"
+}
+
+test -z "$exec_cmd" && \
+ func_fatal_help "invalid operation mode \`$mode'"
+
+if test -n "$exec_cmd"; then
+ eval exec "$exec_cmd"
+ exit $EXIT_FAILURE
+fi
+
+exit $exit_status
+
+
+# The TAGs below are defined such that we never get into a situation
+# in which we disable both kinds of libraries. Given conflicting
+# choices, we go for a static library, that is the most portable,
+# since we can't tell whether shared libraries were disabled because
+# the user asked for that or because the platform doesn't support
+# them. This is particularly important on AIX, because we don't
+# support having both static and shared libraries enabled at the same
+# time on that platform, so we default to a shared-only configuration.
+# If a disable-shared tag is given, we'll fallback to a static-only
+# configuration. But we'll never go from static-only to shared-only.
+
+# ### BEGIN LIBTOOL TAG CONFIG: disable-shared
+build_libtool_libs=no
+build_old_libs=yes
+# ### END LIBTOOL TAG CONFIG: disable-shared
+
+# ### BEGIN LIBTOOL TAG CONFIG: disable-static
+build_old_libs=`case $build_libtool_libs in yes) echo no;; *) echo yes;; esac`
+# ### END LIBTOOL TAG CONFIG: disable-static
+
+# Local Variables:
+# mode:shell-script
+# sh-indentation:2
+# End:
+# vi:sw=2
+
--- /dev/null
+#! /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:
--- /dev/null
+#! /bin/sh
+# Attempt to guess a canonical system name.
+# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
+# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009
+# Free Software Foundation, Inc.
+
+timestamp='2009-06-10'
+
+# This file is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
+# 02110-1301, USA.
+#
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+
+# Originally written by Per Bothner <per@bothner.com>.
+# Please send patches to <config-patches@gnu.org>. Submit a context
+# diff and a properly formatted ChangeLog entry.
+#
+# This script attempts to guess a canonical system name similar to
+# config.sub. If it succeeds, it prints the system name on stdout, and
+# exits with 0. Otherwise, it exits with 1.
+#
+# The plan is that this can be called by configure scripts if you
+# don't specify an explicit build system type.
+
+me=`echo "$0" | sed -e 's,.*/,,'`
+
+usage="\
+Usage: $0 [OPTION]
+
+Output the configuration name of the system \`$me' is run on.
+
+Operation modes:
+ -h, --help print this help, then exit
+ -t, --time-stamp print date of last modification, then exit
+ -v, --version print version number, then exit
+
+Report bugs and patches to <config-patches@gnu.org>."
+
+version="\
+GNU config.guess ($timestamp)
+
+Originally written by Per Bothner.
+Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
+2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+
+This is free software; see the source for copying conditions. There is NO
+warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
+
+help="
+Try \`$me --help' for more information."
+
+# Parse command line
+while test $# -gt 0 ; do
+ case $1 in
+ --time-stamp | --time* | -t )
+ echo "$timestamp" ; exit ;;
+ --version | -v )
+ echo "$version" ; exit ;;
+ --help | --h* | -h )
+ echo "$usage"; exit ;;
+ -- ) # Stop option processing
+ shift; break ;;
+ - ) # Use stdin as input.
+ break ;;
+ -* )
+ echo "$me: invalid option $1$help" >&2
+ exit 1 ;;
+ * )
+ break ;;
+ esac
+done
+
+if test $# != 0; then
+ echo "$me: too many arguments$help" >&2
+ exit 1
+fi
+
+trap 'exit 1' 1 2 15
+
+# CC_FOR_BUILD -- compiler used by this script. Note that the use of a
+# compiler to aid in system detection is discouraged as it requires
+# temporary files to be created and, as you can see below, it is a
+# headache to deal with in a portable fashion.
+
+# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still
+# use `HOST_CC' if defined, but it is deprecated.
+
+# Portable tmp directory creation inspired by the Autoconf team.
+
+set_cc_for_build='
+trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ;
+trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ;
+: ${TMPDIR=/tmp} ;
+ { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
+ { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } ||
+ { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } ||
+ { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ;
+dummy=$tmp/dummy ;
+tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ;
+case $CC_FOR_BUILD,$HOST_CC,$CC in
+ ,,) echo "int x;" > $dummy.c ;
+ for c in cc gcc c89 c99 ; do
+ if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then
+ CC_FOR_BUILD="$c"; break ;
+ fi ;
+ done ;
+ if test x"$CC_FOR_BUILD" = x ; then
+ CC_FOR_BUILD=no_compiler_found ;
+ fi
+ ;;
+ ,,*) CC_FOR_BUILD=$CC ;;
+ ,*,*) CC_FOR_BUILD=$HOST_CC ;;
+esac ; set_cc_for_build= ;'
+
+# This is needed to find uname on a Pyramid OSx when run in the BSD universe.
+# (ghazi@noc.rutgers.edu 1994-08-24)
+if (test -f /.attbin/uname) >/dev/null 2>&1 ; then
+ PATH=$PATH:/.attbin ; export PATH
+fi
+
+UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
+UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
+UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown
+UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
+
+# Note: order is significant - the case branches are not exclusive.
+
+case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
+ *:NetBSD:*:*)
+ # NetBSD (nbsd) targets should (where applicable) match one or
+ # more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*,
+ # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently
+ # switched to ELF, *-*-netbsd* would select the old
+ # object file format. This provides both forward
+ # compatibility and a consistent mechanism for selecting the
+ # object file format.
+ #
+ # Note: NetBSD doesn't particularly care about the vendor
+ # portion of the name. We always set it to "unknown".
+ sysctl="sysctl -n hw.machine_arch"
+ UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \
+ /usr/sbin/$sysctl 2>/dev/null || echo unknown)`
+ case "${UNAME_MACHINE_ARCH}" in
+ armeb) machine=armeb-unknown ;;
+ arm*) machine=arm-unknown ;;
+ sh3el) machine=shl-unknown ;;
+ sh3eb) machine=sh-unknown ;;
+ sh5el) machine=sh5le-unknown ;;
+ *) machine=${UNAME_MACHINE_ARCH}-unknown ;;
+ esac
+ # The Operating System including object format, if it has switched
+ # to ELF recently, or will in the future.
+ case "${UNAME_MACHINE_ARCH}" in
+ arm*|i386|m68k|ns32k|sh3*|sparc|vax)
+ eval $set_cc_for_build
+ if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
+ | grep -q __ELF__
+ then
+ # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
+ # Return netbsd for either. FIX?
+ os=netbsd
+ else
+ os=netbsdelf
+ fi
+ ;;
+ *)
+ os=netbsd
+ ;;
+ esac
+ # The OS release
+ # Debian GNU/NetBSD machines have a different userland, and
+ # thus, need a distinct triplet. However, they do not need
+ # kernel version information, so it can be replaced with a
+ # suitable tag, in the style of linux-gnu.
+ case "${UNAME_VERSION}" in
+ Debian*)
+ release='-gnu'
+ ;;
+ *)
+ release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
+ ;;
+ esac
+ # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
+ # contains redundant information, the shorter form:
+ # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
+ echo "${machine}-${os}${release}"
+ exit ;;
+ *:OpenBSD:*:*)
+ UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'`
+ echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE}
+ exit ;;
+ *:ekkoBSD:*:*)
+ echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE}
+ exit ;;
+ *:SolidBSD:*:*)
+ echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE}
+ exit ;;
+ macppc:MirBSD:*:*)
+ echo powerpc-unknown-mirbsd${UNAME_RELEASE}
+ exit ;;
+ *:MirBSD:*:*)
+ echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE}
+ exit ;;
+ alpha:OSF1:*:*)
+ case $UNAME_RELEASE in
+ *4.0)
+ UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
+ ;;
+ *5.*)
+ UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'`
+ ;;
+ esac
+ # According to Compaq, /usr/sbin/psrinfo has been available on
+ # OSF/1 and Tru64 systems produced since 1995. I hope that
+ # covers most systems running today. This code pipes the CPU
+ # types through head -n 1, so we only detect the type of CPU 0.
+ ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1`
+ case "$ALPHA_CPU_TYPE" in
+ "EV4 (21064)")
+ UNAME_MACHINE="alpha" ;;
+ "EV4.5 (21064)")
+ UNAME_MACHINE="alpha" ;;
+ "LCA4 (21066/21068)")
+ UNAME_MACHINE="alpha" ;;
+ "EV5 (21164)")
+ UNAME_MACHINE="alphaev5" ;;
+ "EV5.6 (21164A)")
+ UNAME_MACHINE="alphaev56" ;;
+ "EV5.6 (21164PC)")
+ UNAME_MACHINE="alphapca56" ;;
+ "EV5.7 (21164PC)")
+ UNAME_MACHINE="alphapca57" ;;
+ "EV6 (21264)")
+ UNAME_MACHINE="alphaev6" ;;
+ "EV6.7 (21264A)")
+ UNAME_MACHINE="alphaev67" ;;
+ "EV6.8CB (21264C)")
+ UNAME_MACHINE="alphaev68" ;;
+ "EV6.8AL (21264B)")
+ UNAME_MACHINE="alphaev68" ;;
+ "EV6.8CX (21264D)")
+ UNAME_MACHINE="alphaev68" ;;
+ "EV6.9A (21264/EV69A)")
+ UNAME_MACHINE="alphaev69" ;;
+ "EV7 (21364)")
+ UNAME_MACHINE="alphaev7" ;;
+ "EV7.9 (21364A)")
+ UNAME_MACHINE="alphaev79" ;;
+ esac
+ # A Pn.n version is a patched version.
+ # A Vn.n version is a released version.
+ # A Tn.n version is a released field test version.
+ # A Xn.n version is an unreleased experimental baselevel.
+ # 1.2 uses "1.2" for uname -r.
+ echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
+ exit ;;
+ Alpha\ *:Windows_NT*:*)
+ # How do we know it's Interix rather than the generic POSIX subsystem?
+ # Should we change UNAME_MACHINE based on the output of uname instead
+ # of the specific Alpha model?
+ echo alpha-pc-interix
+ exit ;;
+ 21064:Windows_NT:50:3)
+ echo alpha-dec-winnt3.5
+ exit ;;
+ Amiga*:UNIX_System_V:4.0:*)
+ echo m68k-unknown-sysv4
+ exit ;;
+ *:[Aa]miga[Oo][Ss]:*:*)
+ echo ${UNAME_MACHINE}-unknown-amigaos
+ exit ;;
+ *:[Mm]orph[Oo][Ss]:*:*)
+ echo ${UNAME_MACHINE}-unknown-morphos
+ exit ;;
+ *:OS/390:*:*)
+ echo i370-ibm-openedition
+ exit ;;
+ *:z/VM:*:*)
+ echo s390-ibm-zvmoe
+ exit ;;
+ *:OS400:*:*)
+ echo powerpc-ibm-os400
+ exit ;;
+ arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
+ echo arm-acorn-riscix${UNAME_RELEASE}
+ exit ;;
+ arm:riscos:*:*|arm:RISCOS:*:*)
+ echo arm-unknown-riscos
+ exit ;;
+ SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
+ echo hppa1.1-hitachi-hiuxmpp
+ exit ;;
+ Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)
+ # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
+ if test "`(/bin/universe) 2>/dev/null`" = att ; then
+ echo pyramid-pyramid-sysv3
+ else
+ echo pyramid-pyramid-bsd
+ fi
+ exit ;;
+ NILE*:*:*:dcosx)
+ echo pyramid-pyramid-svr4
+ exit ;;
+ DRS?6000:unix:4.0:6*)
+ echo sparc-icl-nx6
+ exit ;;
+ DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*)
+ case `/usr/bin/uname -p` in
+ sparc) echo sparc-icl-nx7; exit ;;
+ esac ;;
+ s390x:SunOS:*:*)
+ echo ${UNAME_MACHINE}-ibm-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+ exit ;;
+ sun4H:SunOS:5.*:*)
+ echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+ exit ;;
+ sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
+ echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+ exit ;;
+ i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*)
+ eval $set_cc_for_build
+ SUN_ARCH="i386"
+ # If there is a compiler, see if it is configured for 64-bit objects.
+ # Note that the Sun cc does not turn __LP64__ into 1 like gcc does.
+ # This test works for both compilers.
+ if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
+ if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \
+ (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
+ grep IS_64BIT_ARCH >/dev/null
+ then
+ SUN_ARCH="x86_64"
+ fi
+ fi
+ echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+ exit ;;
+ sun4*:SunOS:6*:*)
+ # According to config.sub, this is the proper way to canonicalize
+ # SunOS6. Hard to guess exactly what SunOS6 will be like, but
+ # it's likely to be more like Solaris than SunOS4.
+ echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+ exit ;;
+ sun4*:SunOS:*:*)
+ case "`/usr/bin/arch -k`" in
+ Series*|S4*)
+ UNAME_RELEASE=`uname -v`
+ ;;
+ esac
+ # Japanese Language versions have a version number like `4.1.3-JL'.
+ echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`
+ exit ;;
+ sun3*:SunOS:*:*)
+ echo m68k-sun-sunos${UNAME_RELEASE}
+ exit ;;
+ sun*:*:4.2BSD:*)
+ UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
+ test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3
+ case "`/bin/arch`" in
+ sun3)
+ echo m68k-sun-sunos${UNAME_RELEASE}
+ ;;
+ sun4)
+ echo sparc-sun-sunos${UNAME_RELEASE}
+ ;;
+ esac
+ exit ;;
+ aushp:SunOS:*:*)
+ echo sparc-auspex-sunos${UNAME_RELEASE}
+ exit ;;
+ # The situation for MiNT is a little confusing. The machine name
+ # can be virtually everything (everything which is not
+ # "atarist" or "atariste" at least should have a processor
+ # > m68000). The system name ranges from "MiNT" over "FreeMiNT"
+ # to the lowercase version "mint" (or "freemint"). Finally
+ # the system name "TOS" denotes a system which is actually not
+ # MiNT. But MiNT is downward compatible to TOS, so this should
+ # be no problem.
+ atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
+ echo m68k-atari-mint${UNAME_RELEASE}
+ exit ;;
+ atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
+ echo m68k-atari-mint${UNAME_RELEASE}
+ exit ;;
+ *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
+ echo m68k-atari-mint${UNAME_RELEASE}
+ exit ;;
+ milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
+ echo m68k-milan-mint${UNAME_RELEASE}
+ exit ;;
+ hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
+ echo m68k-hades-mint${UNAME_RELEASE}
+ exit ;;
+ *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
+ echo m68k-unknown-mint${UNAME_RELEASE}
+ exit ;;
+ m68k:machten:*:*)
+ echo m68k-apple-machten${UNAME_RELEASE}
+ exit ;;
+ powerpc:machten:*:*)
+ echo powerpc-apple-machten${UNAME_RELEASE}
+ exit ;;
+ RISC*:Mach:*:*)
+ echo mips-dec-mach_bsd4.3
+ exit ;;
+ RISC*:ULTRIX:*:*)
+ echo mips-dec-ultrix${UNAME_RELEASE}
+ exit ;;
+ VAX*:ULTRIX*:*:*)
+ echo vax-dec-ultrix${UNAME_RELEASE}
+ exit ;;
+ 2020:CLIX:*:* | 2430:CLIX:*:*)
+ echo clipper-intergraph-clix${UNAME_RELEASE}
+ exit ;;
+ mips:*:*:UMIPS | mips:*:*:RISCos)
+ eval $set_cc_for_build
+ sed 's/^ //' << EOF >$dummy.c
+#ifdef __cplusplus
+#include <stdio.h> /* for printf() prototype */
+ int main (int argc, char *argv[]) {
+#else
+ int main (argc, argv) int argc; char *argv[]; {
+#endif
+ #if defined (host_mips) && defined (MIPSEB)
+ #if defined (SYSTYPE_SYSV)
+ printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0);
+ #endif
+ #if defined (SYSTYPE_SVR4)
+ printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0);
+ #endif
+ #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
+ printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0);
+ #endif
+ #endif
+ exit (-1);
+ }
+EOF
+ $CC_FOR_BUILD -o $dummy $dummy.c &&
+ dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` &&
+ SYSTEM_NAME=`$dummy $dummyarg` &&
+ { echo "$SYSTEM_NAME"; exit; }
+ echo mips-mips-riscos${UNAME_RELEASE}
+ exit ;;
+ Motorola:PowerMAX_OS:*:*)
+ echo powerpc-motorola-powermax
+ exit ;;
+ Motorola:*:4.3:PL8-*)
+ echo powerpc-harris-powermax
+ exit ;;
+ Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*)
+ echo powerpc-harris-powermax
+ exit ;;
+ Night_Hawk:Power_UNIX:*:*)
+ echo powerpc-harris-powerunix
+ exit ;;
+ m88k:CX/UX:7*:*)
+ echo m88k-harris-cxux7
+ exit ;;
+ m88k:*:4*:R4*)
+ echo m88k-motorola-sysv4
+ exit ;;
+ m88k:*:3*:R3*)
+ echo m88k-motorola-sysv3
+ exit ;;
+ AViiON:dgux:*:*)
+ # DG/UX returns AViiON for all architectures
+ UNAME_PROCESSOR=`/usr/bin/uname -p`
+ if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ]
+ then
+ if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \
+ [ ${TARGET_BINARY_INTERFACE}x = x ]
+ then
+ echo m88k-dg-dgux${UNAME_RELEASE}
+ else
+ echo m88k-dg-dguxbcs${UNAME_RELEASE}
+ fi
+ else
+ echo i586-dg-dgux${UNAME_RELEASE}
+ fi
+ exit ;;
+ M88*:DolphinOS:*:*) # DolphinOS (SVR3)
+ echo m88k-dolphin-sysv3
+ exit ;;
+ M88*:*:R3*:*)
+ # Delta 88k system running SVR3
+ echo m88k-motorola-sysv3
+ exit ;;
+ XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
+ echo m88k-tektronix-sysv3
+ exit ;;
+ Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
+ echo m68k-tektronix-bsd
+ exit ;;
+ *:IRIX*:*:*)
+ echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
+ exit ;;
+ ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
+ echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id
+ exit ;; # Note that: echo "'`uname -s`'" gives 'AIX '
+ i*86:AIX:*:*)
+ echo i386-ibm-aix
+ exit ;;
+ ia64:AIX:*:*)
+ if [ -x /usr/bin/oslevel ] ; then
+ IBM_REV=`/usr/bin/oslevel`
+ else
+ IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
+ fi
+ echo ${UNAME_MACHINE}-ibm-aix${IBM_REV}
+ exit ;;
+ *:AIX:2:3)
+ if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
+ eval $set_cc_for_build
+ sed 's/^ //' << EOF >$dummy.c
+ #include <sys/systemcfg.h>
+
+ main()
+ {
+ if (!__power_pc())
+ exit(1);
+ puts("powerpc-ibm-aix3.2.5");
+ exit(0);
+ }
+EOF
+ if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy`
+ then
+ echo "$SYSTEM_NAME"
+ else
+ echo rs6000-ibm-aix3.2.5
+ fi
+ elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
+ echo rs6000-ibm-aix3.2.4
+ else
+ echo rs6000-ibm-aix3.2
+ fi
+ exit ;;
+ *:AIX:*:[456])
+ IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
+ if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
+ IBM_ARCH=rs6000
+ else
+ IBM_ARCH=powerpc
+ fi
+ if [ -x /usr/bin/oslevel ] ; then
+ IBM_REV=`/usr/bin/oslevel`
+ else
+ IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
+ fi
+ echo ${IBM_ARCH}-ibm-aix${IBM_REV}
+ exit ;;
+ *:AIX:*:*)
+ echo rs6000-ibm-aix
+ exit ;;
+ ibmrt:4.4BSD:*|romp-ibm:BSD:*)
+ echo romp-ibm-bsd4.4
+ exit ;;
+ ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and
+ echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to
+ exit ;; # report: romp-ibm BSD 4.3
+ *:BOSX:*:*)
+ echo rs6000-bull-bosx
+ exit ;;
+ DPX/2?00:B.O.S.:*:*)
+ echo m68k-bull-sysv3
+ exit ;;
+ 9000/[34]??:4.3bsd:1.*:*)
+ echo m68k-hp-bsd
+ exit ;;
+ hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
+ echo m68k-hp-bsd4.4
+ exit ;;
+ 9000/[34678]??:HP-UX:*:*)
+ HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
+ case "${UNAME_MACHINE}" in
+ 9000/31? ) HP_ARCH=m68000 ;;
+ 9000/[34]?? ) HP_ARCH=m68k ;;
+ 9000/[678][0-9][0-9])
+ if [ -x /usr/bin/getconf ]; then
+ sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
+ sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
+ case "${sc_cpu_version}" in
+ 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
+ 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
+ 532) # CPU_PA_RISC2_0
+ case "${sc_kernel_bits}" in
+ 32) HP_ARCH="hppa2.0n" ;;
+ 64) HP_ARCH="hppa2.0w" ;;
+ '') HP_ARCH="hppa2.0" ;; # HP-UX 10.20
+ esac ;;
+ esac
+ fi
+ if [ "${HP_ARCH}" = "" ]; then
+ eval $set_cc_for_build
+ sed 's/^ //' << EOF >$dummy.c
+
+ #define _HPUX_SOURCE
+ #include <stdlib.h>
+ #include <unistd.h>
+
+ int main ()
+ {
+ #if defined(_SC_KERNEL_BITS)
+ long bits = sysconf(_SC_KERNEL_BITS);
+ #endif
+ long cpu = sysconf (_SC_CPU_VERSION);
+
+ switch (cpu)
+ {
+ case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
+ case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
+ case CPU_PA_RISC2_0:
+ #if defined(_SC_KERNEL_BITS)
+ switch (bits)
+ {
+ case 64: puts ("hppa2.0w"); break;
+ case 32: puts ("hppa2.0n"); break;
+ default: puts ("hppa2.0"); break;
+ } break;
+ #else /* !defined(_SC_KERNEL_BITS) */
+ puts ("hppa2.0"); break;
+ #endif
+ default: puts ("hppa1.0"); break;
+ }
+ exit (0);
+ }
+EOF
+ (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy`
+ test -z "$HP_ARCH" && HP_ARCH=hppa
+ fi ;;
+ esac
+ if [ ${HP_ARCH} = "hppa2.0w" ]
+ then
+ eval $set_cc_for_build
+
+ # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating
+ # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler
+ # generating 64-bit code. GNU and HP use different nomenclature:
+ #
+ # $ CC_FOR_BUILD=cc ./config.guess
+ # => hppa2.0w-hp-hpux11.23
+ # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess
+ # => hppa64-hp-hpux11.23
+
+ if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) |
+ grep -q __LP64__
+ then
+ HP_ARCH="hppa2.0w"
+ else
+ HP_ARCH="hppa64"
+ fi
+ fi
+ echo ${HP_ARCH}-hp-hpux${HPUX_REV}
+ exit ;;
+ ia64:HP-UX:*:*)
+ HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
+ echo ia64-hp-hpux${HPUX_REV}
+ exit ;;
+ 3050*:HI-UX:*:*)
+ eval $set_cc_for_build
+ sed 's/^ //' << EOF >$dummy.c
+ #include <unistd.h>
+ int
+ main ()
+ {
+ long cpu = sysconf (_SC_CPU_VERSION);
+ /* The order matters, because CPU_IS_HP_MC68K erroneously returns
+ true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct
+ results, however. */
+ if (CPU_IS_PA_RISC (cpu))
+ {
+ switch (cpu)
+ {
+ case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break;
+ case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break;
+ case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break;
+ default: puts ("hppa-hitachi-hiuxwe2"); break;
+ }
+ }
+ else if (CPU_IS_HP_MC68K (cpu))
+ puts ("m68k-hitachi-hiuxwe2");
+ else puts ("unknown-hitachi-hiuxwe2");
+ exit (0);
+ }
+EOF
+ $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` &&
+ { echo "$SYSTEM_NAME"; exit; }
+ echo unknown-hitachi-hiuxwe2
+ exit ;;
+ 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )
+ echo hppa1.1-hp-bsd
+ exit ;;
+ 9000/8??:4.3bsd:*:*)
+ echo hppa1.0-hp-bsd
+ exit ;;
+ *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*)
+ echo hppa1.0-hp-mpeix
+ exit ;;
+ hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* )
+ echo hppa1.1-hp-osf
+ exit ;;
+ hp8??:OSF1:*:*)
+ echo hppa1.0-hp-osf
+ exit ;;
+ i*86:OSF1:*:*)
+ if [ -x /usr/sbin/sysversion ] ; then
+ echo ${UNAME_MACHINE}-unknown-osf1mk
+ else
+ echo ${UNAME_MACHINE}-unknown-osf1
+ fi
+ exit ;;
+ parisc*:Lites*:*:*)
+ echo hppa1.1-hp-lites
+ exit ;;
+ C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
+ echo c1-convex-bsd
+ exit ;;
+ C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
+ if getsysinfo -f scalar_acc
+ then echo c32-convex-bsd
+ else echo c2-convex-bsd
+ fi
+ exit ;;
+ C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
+ echo c34-convex-bsd
+ exit ;;
+ C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
+ echo c38-convex-bsd
+ exit ;;
+ C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
+ echo c4-convex-bsd
+ exit ;;
+ CRAY*Y-MP:*:*:*)
+ echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+ exit ;;
+ CRAY*[A-Z]90:*:*:*)
+ echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \
+ | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
+ -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \
+ -e 's/\.[^.]*$/.X/'
+ exit ;;
+ CRAY*TS:*:*:*)
+ echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+ exit ;;
+ CRAY*T3E:*:*:*)
+ echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+ exit ;;
+ CRAY*SV1:*:*:*)
+ echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+ exit ;;
+ *:UNICOS/mp:*:*)
+ echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+ exit ;;
+ F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
+ FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
+ FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
+ FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
+ echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
+ exit ;;
+ 5000:UNIX_System_V:4.*:*)
+ FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
+ FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'`
+ echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
+ exit ;;
+ i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
+ echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
+ exit ;;
+ sparc*:BSD/OS:*:*)
+ echo sparc-unknown-bsdi${UNAME_RELEASE}
+ exit ;;
+ *:BSD/OS:*:*)
+ echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
+ exit ;;
+ *:FreeBSD:*:*)
+ case ${UNAME_MACHINE} in
+ pc98)
+ echo i386-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
+ amd64)
+ echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
+ *)
+ echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
+ esac
+ exit ;;
+ i*:CYGWIN*:*)
+ echo ${UNAME_MACHINE}-pc-cygwin
+ exit ;;
+ *:MINGW*:*)
+ echo ${UNAME_MACHINE}-pc-mingw32
+ exit ;;
+ i*:windows32*:*)
+ # uname -m includes "-pc" on this system.
+ echo ${UNAME_MACHINE}-mingw32
+ exit ;;
+ i*:PW*:*)
+ echo ${UNAME_MACHINE}-pc-pw32
+ exit ;;
+ *:Interix*:[3456]*)
+ case ${UNAME_MACHINE} in
+ x86)
+ echo i586-pc-interix${UNAME_RELEASE}
+ exit ;;
+ EM64T | authenticamd | genuineintel)
+ echo x86_64-unknown-interix${UNAME_RELEASE}
+ exit ;;
+ IA64)
+ echo ia64-unknown-interix${UNAME_RELEASE}
+ exit ;;
+ esac ;;
+ [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)
+ echo i${UNAME_MACHINE}-pc-mks
+ exit ;;
+ 8664:Windows_NT:*)
+ echo x86_64-pc-mks
+ exit ;;
+ i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
+ # How do we know it's Interix rather than the generic POSIX subsystem?
+ # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
+ # UNAME_MACHINE based on the output of uname instead of i386?
+ echo i586-pc-interix
+ exit ;;
+ i*:UWIN*:*)
+ echo ${UNAME_MACHINE}-pc-uwin
+ exit ;;
+ amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*)
+ echo x86_64-unknown-cygwin
+ exit ;;
+ p*:CYGWIN*:*)
+ echo powerpcle-unknown-cygwin
+ exit ;;
+ prep*:SunOS:5.*:*)
+ echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+ exit ;;
+ *:GNU:*:*)
+ # the GNU system
+ echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
+ exit ;;
+ *:GNU/*:*:*)
+ # other systems with GNU libc and userland
+ echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu
+ exit ;;
+ i*86:Minix:*:*)
+ echo ${UNAME_MACHINE}-pc-minix
+ exit ;;
+ arm*:Linux:*:*)
+ eval $set_cc_for_build
+ if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \
+ | grep -q __ARM_EABI__
+ then
+ echo ${UNAME_MACHINE}-unknown-linux-gnu
+ else
+ echo ${UNAME_MACHINE}-unknown-linux-gnueabi
+ fi
+ exit ;;
+ avr32*:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-gnu
+ exit ;;
+ cris:Linux:*:*)
+ echo cris-axis-linux-gnu
+ exit ;;
+ crisv32:Linux:*:*)
+ echo crisv32-axis-linux-gnu
+ exit ;;
+ frv:Linux:*:*)
+ echo frv-unknown-linux-gnu
+ exit ;;
+ ia64:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-gnu
+ exit ;;
+ m32r*:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-gnu
+ exit ;;
+ m68*:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-gnu
+ exit ;;
+ mips:Linux:*:* | mips64:Linux:*:*)
+ eval $set_cc_for_build
+ sed 's/^ //' << EOF >$dummy.c
+ #undef CPU
+ #undef ${UNAME_MACHINE}
+ #undef ${UNAME_MACHINE}el
+ #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
+ CPU=${UNAME_MACHINE}el
+ #else
+ #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
+ CPU=${UNAME_MACHINE}
+ #else
+ CPU=
+ #endif
+ #endif
+EOF
+ eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '
+ /^CPU/{
+ s: ::g
+ p
+ }'`"
+ test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
+ ;;
+ or32:Linux:*:*)
+ echo or32-unknown-linux-gnu
+ exit ;;
+ ppc:Linux:*:*)
+ echo powerpc-unknown-linux-gnu
+ exit ;;
+ ppc64:Linux:*:*)
+ echo powerpc64-unknown-linux-gnu
+ exit ;;
+ alpha:Linux:*:*)
+ case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
+ EV5) UNAME_MACHINE=alphaev5 ;;
+ EV56) UNAME_MACHINE=alphaev56 ;;
+ PCA56) UNAME_MACHINE=alphapca56 ;;
+ PCA57) UNAME_MACHINE=alphapca56 ;;
+ EV6) UNAME_MACHINE=alphaev6 ;;
+ EV67) UNAME_MACHINE=alphaev67 ;;
+ EV68*) UNAME_MACHINE=alphaev68 ;;
+ esac
+ objdump --private-headers /bin/sh | grep -q ld.so.1
+ if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
+ echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
+ exit ;;
+ padre:Linux:*:*)
+ echo sparc-unknown-linux-gnu
+ exit ;;
+ parisc:Linux:*:* | hppa:Linux:*:*)
+ # Look for CPU level
+ case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
+ PA7*) echo hppa1.1-unknown-linux-gnu ;;
+ PA8*) echo hppa2.0-unknown-linux-gnu ;;
+ *) echo hppa-unknown-linux-gnu ;;
+ esac
+ exit ;;
+ parisc64:Linux:*:* | hppa64:Linux:*:*)
+ echo hppa64-unknown-linux-gnu
+ exit ;;
+ s390:Linux:*:* | s390x:Linux:*:*)
+ echo ${UNAME_MACHINE}-ibm-linux
+ exit ;;
+ sh64*:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-gnu
+ exit ;;
+ sh*:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-gnu
+ exit ;;
+ sparc:Linux:*:* | sparc64:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-gnu
+ exit ;;
+ vax:Linux:*:*)
+ echo ${UNAME_MACHINE}-dec-linux-gnu
+ exit ;;
+ x86_64:Linux:*:*)
+ echo x86_64-unknown-linux-gnu
+ exit ;;
+ xtensa*:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-gnu
+ exit ;;
+ i*86:Linux:*:*)
+ # The BFD linker knows what the default object file format is, so
+ # first see if it will tell us. cd to the root directory to prevent
+ # problems with other programs or directories called `ld' in the path.
+ # Set LC_ALL=C to ensure ld outputs messages in English.
+ ld_supported_targets=`cd /; LC_ALL=C ld --help 2>&1 \
+ | sed -ne '/supported targets:/!d
+ s/[ ][ ]*/ /g
+ s/.*supported targets: *//
+ s/ .*//
+ p'`
+ case "$ld_supported_targets" in
+ elf32-i386)
+ TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu"
+ ;;
+ esac
+ # Determine whether the default compiler is a.out or elf
+ eval $set_cc_for_build
+ sed 's/^ //' << EOF >$dummy.c
+ #include <features.h>
+ #ifdef __ELF__
+ # ifdef __GLIBC__
+ # if __GLIBC__ >= 2
+ LIBC=gnu
+ # else
+ LIBC=gnulibc1
+ # endif
+ # else
+ LIBC=gnulibc1
+ # endif
+ #else
+ #if defined(__INTEL_COMPILER) || defined(__PGI) || defined(__SUNPRO_C) || defined(__SUNPRO_CC)
+ LIBC=gnu
+ #else
+ LIBC=gnuaout
+ #endif
+ #endif
+ #ifdef __dietlibc__
+ LIBC=dietlibc
+ #endif
+EOF
+ eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '
+ /^LIBC/{
+ s: ::g
+ p
+ }'`"
+ test x"${LIBC}" != x && {
+ echo "${UNAME_MACHINE}-pc-linux-${LIBC}"
+ exit
+ }
+ test x"${TENTATIVE}" != x && { echo "${TENTATIVE}"; exit; }
+ ;;
+ i*86:DYNIX/ptx:4*:*)
+ # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
+ # earlier versions are messed up and put the nodename in both
+ # sysname and nodename.
+ echo i386-sequent-sysv4
+ exit ;;
+ i*86:UNIX_SV:4.2MP:2.*)
+ # Unixware is an offshoot of SVR4, but it has its own version
+ # number series starting with 2...
+ # I am not positive that other SVR4 systems won't match this,
+ # I just have to hope. -- rms.
+ # Use sysv4.2uw... so that sysv4* matches it.
+ echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
+ exit ;;
+ i*86:OS/2:*:*)
+ # If we were able to find `uname', then EMX Unix compatibility
+ # is probably installed.
+ echo ${UNAME_MACHINE}-pc-os2-emx
+ exit ;;
+ i*86:XTS-300:*:STOP)
+ echo ${UNAME_MACHINE}-unknown-stop
+ exit ;;
+ i*86:atheos:*:*)
+ echo ${UNAME_MACHINE}-unknown-atheos
+ exit ;;
+ i*86:syllable:*:*)
+ echo ${UNAME_MACHINE}-pc-syllable
+ exit ;;
+ i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*)
+ echo i386-unknown-lynxos${UNAME_RELEASE}
+ exit ;;
+ i*86:*DOS:*:*)
+ echo ${UNAME_MACHINE}-pc-msdosdjgpp
+ exit ;;
+ i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*)
+ UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
+ if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
+ echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL}
+ else
+ echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}
+ fi
+ exit ;;
+ i*86:*:5:[678]*)
+ # UnixWare 7.x, OpenUNIX and OpenServer 6.
+ case `/bin/uname -X | grep "^Machine"` in
+ *486*) UNAME_MACHINE=i486 ;;
+ *Pentium) UNAME_MACHINE=i586 ;;
+ *Pent*|*Celeron) UNAME_MACHINE=i686 ;;
+ esac
+ echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
+ exit ;;
+ i*86:*:3.2:*)
+ if test -f /usr/options/cb.name; then
+ UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
+ echo ${UNAME_MACHINE}-pc-isc$UNAME_REL
+ elif /bin/uname -X 2>/dev/null >/dev/null ; then
+ UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')`
+ (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486
+ (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \
+ && UNAME_MACHINE=i586
+ (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \
+ && UNAME_MACHINE=i686
+ (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \
+ && UNAME_MACHINE=i686
+ echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
+ else
+ echo ${UNAME_MACHINE}-pc-sysv32
+ fi
+ exit ;;
+ pc:*:*:*)
+ # Left here for compatibility:
+ # uname -m prints for DJGPP always 'pc', but it prints nothing about
+ # the processor, so we play safe by assuming i586.
+ # Note: whatever this is, it MUST be the same as what config.sub
+ # prints for the "djgpp" host, or else GDB configury will decide that
+ # this is a cross-build.
+ echo i586-pc-msdosdjgpp
+ exit ;;
+ Intel:Mach:3*:*)
+ echo i386-pc-mach3
+ exit ;;
+ paragon:*:*:*)
+ echo i860-intel-osf1
+ exit ;;
+ i860:*:4.*:*) # i860-SVR4
+ if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
+ echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
+ else # Add other i860-SVR4 vendors below as they are discovered.
+ echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4
+ fi
+ exit ;;
+ mini*:CTIX:SYS*5:*)
+ # "miniframe"
+ echo m68010-convergent-sysv
+ exit ;;
+ mc68k:UNIX:SYSTEM5:3.51m)
+ echo m68k-convergent-sysv
+ exit ;;
+ M680?0:D-NIX:5.3:*)
+ echo m68k-diab-dnix
+ exit ;;
+ M68*:*:R3V[5678]*:*)
+ test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;;
+ 3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0)
+ OS_REL=''
+ test -r /etc/.relid \
+ && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
+ /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
+ && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
+ /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
+ && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
+ 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
+ /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
+ && { echo i486-ncr-sysv4; exit; } ;;
+ NCR*:*:4.2:* | MPRAS*:*:4.2:*)
+ OS_REL='.3'
+ test -r /etc/.relid \
+ && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
+ /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
+ && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
+ /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
+ && { echo i586-ncr-sysv4.3${OS_REL}; exit; }
+ /bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \
+ && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
+ m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
+ echo m68k-unknown-lynxos${UNAME_RELEASE}
+ exit ;;
+ mc68030:UNIX_System_V:4.*:*)
+ echo m68k-atari-sysv4
+ exit ;;
+ TSUNAMI:LynxOS:2.*:*)
+ echo sparc-unknown-lynxos${UNAME_RELEASE}
+ exit ;;
+ rs6000:LynxOS:2.*:*)
+ echo rs6000-unknown-lynxos${UNAME_RELEASE}
+ exit ;;
+ PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*)
+ echo powerpc-unknown-lynxos${UNAME_RELEASE}
+ exit ;;
+ SM[BE]S:UNIX_SV:*:*)
+ echo mips-dde-sysv${UNAME_RELEASE}
+ exit ;;
+ RM*:ReliantUNIX-*:*:*)
+ echo mips-sni-sysv4
+ exit ;;
+ RM*:SINIX-*:*:*)
+ echo mips-sni-sysv4
+ exit ;;
+ *:SINIX-*:*:*)
+ if uname -p 2>/dev/null >/dev/null ; then
+ UNAME_MACHINE=`(uname -p) 2>/dev/null`
+ echo ${UNAME_MACHINE}-sni-sysv4
+ else
+ echo ns32k-sni-sysv
+ fi
+ exit ;;
+ PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
+ # says <Richard.M.Bartel@ccMail.Census.GOV>
+ echo i586-unisys-sysv4
+ exit ;;
+ *:UNIX_System_V:4*:FTX*)
+ # From Gerald Hewes <hewes@openmarket.com>.
+ # How about differentiating between stratus architectures? -djm
+ echo hppa1.1-stratus-sysv4
+ exit ;;
+ *:*:*:FTX*)
+ # From seanf@swdc.stratus.com.
+ echo i860-stratus-sysv4
+ exit ;;
+ i*86:VOS:*:*)
+ # From Paul.Green@stratus.com.
+ echo ${UNAME_MACHINE}-stratus-vos
+ exit ;;
+ *:VOS:*:*)
+ # From Paul.Green@stratus.com.
+ echo hppa1.1-stratus-vos
+ exit ;;
+ mc68*:A/UX:*:*)
+ echo m68k-apple-aux${UNAME_RELEASE}
+ exit ;;
+ news*:NEWS-OS:6*:*)
+ echo mips-sony-newsos6
+ exit ;;
+ R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
+ if [ -d /usr/nec ]; then
+ echo mips-nec-sysv${UNAME_RELEASE}
+ else
+ echo mips-unknown-sysv${UNAME_RELEASE}
+ fi
+ exit ;;
+ BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only.
+ echo powerpc-be-beos
+ exit ;;
+ BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only.
+ echo powerpc-apple-beos
+ exit ;;
+ BePC:BeOS:*:*) # BeOS running on Intel PC compatible.
+ echo i586-pc-beos
+ exit ;;
+ BePC:Haiku:*:*) # Haiku running on Intel PC compatible.
+ echo i586-pc-haiku
+ exit ;;
+ SX-4:SUPER-UX:*:*)
+ echo sx4-nec-superux${UNAME_RELEASE}
+ exit ;;
+ SX-5:SUPER-UX:*:*)
+ echo sx5-nec-superux${UNAME_RELEASE}
+ exit ;;
+ SX-6:SUPER-UX:*:*)
+ echo sx6-nec-superux${UNAME_RELEASE}
+ exit ;;
+ SX-7:SUPER-UX:*:*)
+ echo sx7-nec-superux${UNAME_RELEASE}
+ exit ;;
+ SX-8:SUPER-UX:*:*)
+ echo sx8-nec-superux${UNAME_RELEASE}
+ exit ;;
+ SX-8R:SUPER-UX:*:*)
+ echo sx8r-nec-superux${UNAME_RELEASE}
+ exit ;;
+ Power*:Rhapsody:*:*)
+ echo powerpc-apple-rhapsody${UNAME_RELEASE}
+ exit ;;
+ *:Rhapsody:*:*)
+ echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
+ exit ;;
+ *:Darwin:*:*)
+ UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown
+ case $UNAME_PROCESSOR in
+ unknown) UNAME_PROCESSOR=powerpc ;;
+ esac
+ echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
+ exit ;;
+ *:procnto*:*:* | *:QNX:[0123456789]*:*)
+ UNAME_PROCESSOR=`uname -p`
+ if test "$UNAME_PROCESSOR" = "x86"; then
+ UNAME_PROCESSOR=i386
+ UNAME_MACHINE=pc
+ fi
+ echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE}
+ exit ;;
+ *:QNX:*:4*)
+ echo i386-pc-qnx
+ exit ;;
+ NSE-?:NONSTOP_KERNEL:*:*)
+ echo nse-tandem-nsk${UNAME_RELEASE}
+ exit ;;
+ NSR-?:NONSTOP_KERNEL:*:*)
+ echo nsr-tandem-nsk${UNAME_RELEASE}
+ exit ;;
+ *:NonStop-UX:*:*)
+ echo mips-compaq-nonstopux
+ exit ;;
+ BS2000:POSIX*:*:*)
+ echo bs2000-siemens-sysv
+ exit ;;
+ DS/*:UNIX_System_V:*:*)
+ echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE}
+ exit ;;
+ *:Plan9:*:*)
+ # "uname -m" is not consistent, so use $cputype instead. 386
+ # is converted to i386 for consistency with other x86
+ # operating systems.
+ if test "$cputype" = "386"; then
+ UNAME_MACHINE=i386
+ else
+ UNAME_MACHINE="$cputype"
+ fi
+ echo ${UNAME_MACHINE}-unknown-plan9
+ exit ;;
+ *:TOPS-10:*:*)
+ echo pdp10-unknown-tops10
+ exit ;;
+ *:TENEX:*:*)
+ echo pdp10-unknown-tenex
+ exit ;;
+ KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*)
+ echo pdp10-dec-tops20
+ exit ;;
+ XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*)
+ echo pdp10-xkl-tops20
+ exit ;;
+ *:TOPS-20:*:*)
+ echo pdp10-unknown-tops20
+ exit ;;
+ *:ITS:*:*)
+ echo pdp10-unknown-its
+ exit ;;
+ SEI:*:*:SEIUX)
+ echo mips-sei-seiux${UNAME_RELEASE}
+ exit ;;
+ *:DragonFly:*:*)
+ echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
+ exit ;;
+ *:*VMS:*:*)
+ UNAME_MACHINE=`(uname -p) 2>/dev/null`
+ case "${UNAME_MACHINE}" in
+ A*) echo alpha-dec-vms ; exit ;;
+ I*) echo ia64-dec-vms ; exit ;;
+ V*) echo vax-dec-vms ; exit ;;
+ esac ;;
+ *:XENIX:*:SysV)
+ echo i386-pc-xenix
+ exit ;;
+ i*86:skyos:*:*)
+ echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//'
+ exit ;;
+ i*86:rdos:*:*)
+ echo ${UNAME_MACHINE}-pc-rdos
+ exit ;;
+ i*86:AROS:*:*)
+ echo ${UNAME_MACHINE}-pc-aros
+ exit ;;
+esac
+
+#echo '(No uname command or uname output not recognized.)' 1>&2
+#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2
+
+eval $set_cc_for_build
+cat >$dummy.c <<EOF
+#ifdef _SEQUENT_
+# include <sys/types.h>
+# include <sys/utsname.h>
+#endif
+main ()
+{
+#if defined (sony)
+#if defined (MIPSEB)
+ /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed,
+ I don't know.... */
+ printf ("mips-sony-bsd\n"); exit (0);
+#else
+#include <sys/param.h>
+ printf ("m68k-sony-newsos%s\n",
+#ifdef NEWSOS4
+ "4"
+#else
+ ""
+#endif
+ ); exit (0);
+#endif
+#endif
+
+#if defined (__arm) && defined (__acorn) && defined (__unix)
+ printf ("arm-acorn-riscix\n"); exit (0);
+#endif
+
+#if defined (hp300) && !defined (hpux)
+ printf ("m68k-hp-bsd\n"); exit (0);
+#endif
+
+#if defined (NeXT)
+#if !defined (__ARCHITECTURE__)
+#define __ARCHITECTURE__ "m68k"
+#endif
+ int version;
+ version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
+ if (version < 4)
+ printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
+ else
+ printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version);
+ exit (0);
+#endif
+
+#if defined (MULTIMAX) || defined (n16)
+#if defined (UMAXV)
+ printf ("ns32k-encore-sysv\n"); exit (0);
+#else
+#if defined (CMU)
+ printf ("ns32k-encore-mach\n"); exit (0);
+#else
+ printf ("ns32k-encore-bsd\n"); exit (0);
+#endif
+#endif
+#endif
+
+#if defined (__386BSD__)
+ printf ("i386-pc-bsd\n"); exit (0);
+#endif
+
+#if defined (sequent)
+#if defined (i386)
+ printf ("i386-sequent-dynix\n"); exit (0);
+#endif
+#if defined (ns32000)
+ printf ("ns32k-sequent-dynix\n"); exit (0);
+#endif
+#endif
+
+#if defined (_SEQUENT_)
+ struct utsname un;
+
+ uname(&un);
+
+ if (strncmp(un.version, "V2", 2) == 0) {
+ printf ("i386-sequent-ptx2\n"); exit (0);
+ }
+ if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
+ printf ("i386-sequent-ptx1\n"); exit (0);
+ }
+ printf ("i386-sequent-ptx\n"); exit (0);
+
+#endif
+
+#if defined (vax)
+# if !defined (ultrix)
+# include <sys/param.h>
+# if defined (BSD)
+# if BSD == 43
+ printf ("vax-dec-bsd4.3\n"); exit (0);
+# else
+# if BSD == 199006
+ printf ("vax-dec-bsd4.3reno\n"); exit (0);
+# else
+ printf ("vax-dec-bsd\n"); exit (0);
+# endif
+# endif
+# else
+ printf ("vax-dec-bsd\n"); exit (0);
+# endif
+# else
+ printf ("vax-dec-ultrix\n"); exit (0);
+# endif
+#endif
+
+#if defined (alliant) && defined (i860)
+ printf ("i860-alliant-bsd\n"); exit (0);
+#endif
+
+ exit (1);
+}
+EOF
+
+$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` &&
+ { echo "$SYSTEM_NAME"; exit; }
+
+# Apollos put the system type in the environment.
+
+test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; }
+
+# Convex versions that predate uname can use getsysinfo(1)
+
+if [ -x /usr/convex/getsysinfo ]
+then
+ case `getsysinfo -f cpu_type` in
+ c1*)
+ echo c1-convex-bsd
+ exit ;;
+ c2*)
+ if getsysinfo -f scalar_acc
+ then echo c32-convex-bsd
+ else echo c2-convex-bsd
+ fi
+ exit ;;
+ c34*)
+ echo c34-convex-bsd
+ exit ;;
+ c38*)
+ echo c38-convex-bsd
+ exit ;;
+ c4*)
+ echo c4-convex-bsd
+ exit ;;
+ esac
+fi
+
+cat >&2 <<EOF
+$0: unable to guess system type
+
+This script, last modified $timestamp, has failed to recognize
+the operating system you are using. It is advised that you
+download the most up to date version of the config scripts from
+
+ http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
+and
+ http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
+
+If the version you run ($0) is already up to date, please
+send the following data and any information you think might be
+pertinent to <config-patches@gnu.org> in order to provide the needed
+information to handle your system.
+
+config.guess timestamp = $timestamp
+
+uname -m = `(uname -m) 2>/dev/null || echo unknown`
+uname -r = `(uname -r) 2>/dev/null || echo unknown`
+uname -s = `(uname -s) 2>/dev/null || echo unknown`
+uname -v = `(uname -v) 2>/dev/null || echo unknown`
+
+/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null`
+/bin/uname -X = `(/bin/uname -X) 2>/dev/null`
+
+hostinfo = `(hostinfo) 2>/dev/null`
+/bin/universe = `(/bin/universe) 2>/dev/null`
+/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null`
+/bin/arch = `(/bin/arch) 2>/dev/null`
+/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null`
+/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`
+
+UNAME_MACHINE = ${UNAME_MACHINE}
+UNAME_RELEASE = ${UNAME_RELEASE}
+UNAME_SYSTEM = ${UNAME_SYSTEM}
+UNAME_VERSION = ${UNAME_VERSION}
+EOF
+
+exit 1
+
+# Local variables:
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "timestamp='"
+# time-stamp-format: "%:y-%02m-%02d"
+# time-stamp-end: "'"
+# End:
--- /dev/null
+#! /bin/sh
+# Configuration validation subroutine script.
+# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
+# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009
+# Free Software Foundation, Inc.
+
+timestamp='2009-06-11'
+
+# This file is (in principle) common to ALL GNU software.
+# The presence of a machine in this file suggests that SOME GNU software
+# can handle that machine. It does not imply ALL GNU software can.
+#
+# This file is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
+# 02110-1301, USA.
+#
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+
+# Please send patches to <config-patches@gnu.org>. Submit a context
+# diff and a properly formatted ChangeLog entry.
+#
+# Configuration subroutine to validate and canonicalize a configuration type.
+# Supply the specified configuration type as an argument.
+# If it is invalid, we print an error message on stderr and exit with code 1.
+# Otherwise, we print the canonical config type on stdout and succeed.
+
+# This file is supposed to be the same for all GNU packages
+# and recognize all the CPU types, system types and aliases
+# that are meaningful with *any* GNU software.
+# Each package is responsible for reporting which valid configurations
+# it does not support. The user should be able to distinguish
+# a failure to support a valid configuration from a meaningless
+# configuration.
+
+# The goal of this file is to map all the various variations of a given
+# machine specification into a single specification in the form:
+# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
+# or in some cases, the newer four-part form:
+# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
+# It is wrong to echo any other type of specification.
+
+me=`echo "$0" | sed -e 's,.*/,,'`
+
+usage="\
+Usage: $0 [OPTION] CPU-MFR-OPSYS
+ $0 [OPTION] ALIAS
+
+Canonicalize a configuration name.
+
+Operation modes:
+ -h, --help print this help, then exit
+ -t, --time-stamp print date of last modification, then exit
+ -v, --version print version number, then exit
+
+Report bugs and patches to <config-patches@gnu.org>."
+
+version="\
+GNU config.sub ($timestamp)
+
+Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
+2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+
+This is free software; see the source for copying conditions. There is NO
+warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
+
+help="
+Try \`$me --help' for more information."
+
+# Parse command line
+while test $# -gt 0 ; do
+ case $1 in
+ --time-stamp | --time* | -t )
+ echo "$timestamp" ; exit ;;
+ --version | -v )
+ echo "$version" ; exit ;;
+ --help | --h* | -h )
+ echo "$usage"; exit ;;
+ -- ) # Stop option processing
+ shift; break ;;
+ - ) # Use stdin as input.
+ break ;;
+ -* )
+ echo "$me: invalid option $1$help"
+ exit 1 ;;
+
+ *local*)
+ # First pass through any local machine types.
+ echo $1
+ exit ;;
+
+ * )
+ break ;;
+ esac
+done
+
+case $# in
+ 0) echo "$me: missing argument$help" >&2
+ exit 1;;
+ 1) ;;
+ *) echo "$me: too many arguments$help" >&2
+ exit 1;;
+esac
+
+# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
+# Here we must recognize all the valid KERNEL-OS combinations.
+maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
+case $maybe_os in
+ nto-qnx* | linux-gnu* | linux-dietlibc | linux-newlib* | linux-uclibc* | \
+ uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | \
+ kopensolaris*-gnu* | \
+ storm-chaos* | os2-emx* | rtmk-nova*)
+ os=-$maybe_os
+ basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
+ ;;
+ *)
+ basic_machine=`echo $1 | sed 's/-[^-]*$//'`
+ if [ $basic_machine != $1 ]
+ then os=`echo $1 | sed 's/.*-/-/'`
+ else os=; fi
+ ;;
+esac
+
+### Let's recognize common machines as not being operating systems so
+### that things like config.sub decstation-3100 work. We also
+### recognize some manufacturers as not being operating systems, so we
+### can provide default operating systems below.
+case $os in
+ -sun*os*)
+ # Prevent following clause from handling this invalid input.
+ ;;
+ -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
+ -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
+ -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
+ -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
+ -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
+ -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
+ -apple | -axis | -knuth | -cray)
+ os=
+ basic_machine=$1
+ ;;
+ -bluegene*)
+ os=-cnk
+ ;;
+ -sim | -cisco | -oki | -wec | -winbond)
+ os=
+ basic_machine=$1
+ ;;
+ -scout)
+ ;;
+ -wrs)
+ os=-vxworks
+ basic_machine=$1
+ ;;
+ -chorusos*)
+ os=-chorusos
+ basic_machine=$1
+ ;;
+ -chorusrdb)
+ os=-chorusrdb
+ basic_machine=$1
+ ;;
+ -hiux*)
+ os=-hiuxwe2
+ ;;
+ -sco6)
+ os=-sco5v6
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+ ;;
+ -sco5)
+ os=-sco3.2v5
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+ ;;
+ -sco4)
+ os=-sco3.2v4
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+ ;;
+ -sco3.2.[4-9]*)
+ os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+ ;;
+ -sco3.2v[4-9]*)
+ # Don't forget version if it is 3.2v4 or newer.
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+ ;;
+ -sco5v6*)
+ # Don't forget version if it is 3.2v4 or newer.
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+ ;;
+ -sco*)
+ os=-sco3.2v2
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+ ;;
+ -udk*)
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+ ;;
+ -isc)
+ os=-isc2.2
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+ ;;
+ -clix*)
+ basic_machine=clipper-intergraph
+ ;;
+ -isc*)
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+ ;;
+ -lynx*)
+ os=-lynxos
+ ;;
+ -ptx*)
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
+ ;;
+ -windowsnt*)
+ os=`echo $os | sed -e 's/windowsnt/winnt/'`
+ ;;
+ -psos*)
+ os=-psos
+ ;;
+ -mint | -mint[0-9]*)
+ basic_machine=m68k-atari
+ os=-mint
+ ;;
+esac
+
+# Decode aliases for certain CPU-COMPANY combinations.
+case $basic_machine in
+ # Recognize the basic CPU types without company name.
+ # Some are omitted here because they have special meanings below.
+ 1750a | 580 \
+ | a29k \
+ | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
+ | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
+ | am33_2.0 \
+ | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \
+ | bfin \
+ | c4x | clipper \
+ | d10v | d30v | dlx | dsp16xx \
+ | fido | fr30 | frv \
+ | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
+ | i370 | i860 | i960 | ia64 \
+ | ip2k | iq2000 \
+ | lm32 \
+ | m32c | m32r | m32rle | m68000 | m68k | m88k \
+ | maxq | mb | microblaze | mcore | mep | metag \
+ | mips | mipsbe | mipseb | mipsel | mipsle \
+ | mips16 \
+ | mips64 | mips64el \
+ | mips64octeon | mips64octeonel \
+ | mips64orion | mips64orionel \
+ | mips64r5900 | mips64r5900el \
+ | mips64vr | mips64vrel \
+ | mips64vr4100 | mips64vr4100el \
+ | mips64vr4300 | mips64vr4300el \
+ | mips64vr5000 | mips64vr5000el \
+ | mips64vr5900 | mips64vr5900el \
+ | mipsisa32 | mipsisa32el \
+ | mipsisa32r2 | mipsisa32r2el \
+ | mipsisa64 | mipsisa64el \
+ | mipsisa64r2 | mipsisa64r2el \
+ | mipsisa64sb1 | mipsisa64sb1el \
+ | mipsisa64sr71k | mipsisa64sr71kel \
+ | mipstx39 | mipstx39el \
+ | mn10200 | mn10300 \
+ | moxie \
+ | mt \
+ | msp430 \
+ | nios | nios2 \
+ | ns16k | ns32k \
+ | or32 \
+ | pdp10 | pdp11 | pj | pjl \
+ | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \
+ | pyramid \
+ | score \
+ | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
+ | sh64 | sh64le \
+ | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
+ | sparcv8 | sparcv9 | sparcv9b | sparcv9v \
+ | spu | strongarm \
+ | tahoe | thumb | tic4x | tic80 | tron \
+ | v850 | v850e \
+ | we32k \
+ | x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \
+ | z8k | z80)
+ basic_machine=$basic_machine-unknown
+ ;;
+ m6811 | m68hc11 | m6812 | m68hc12)
+ # Motorola 68HC11/12.
+ basic_machine=$basic_machine-unknown
+ os=-none
+ ;;
+ m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
+ ;;
+ ms1)
+ basic_machine=mt-unknown
+ ;;
+
+ # We use `pc' rather than `unknown'
+ # because (1) that's what they normally are, and
+ # (2) the word "unknown" tends to confuse beginning users.
+ i*86 | x86_64)
+ basic_machine=$basic_machine-pc
+ ;;
+ # Object if more than one company name word.
+ *-*-*)
+ echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
+ exit 1
+ ;;
+ # Recognize the basic CPU types with company name.
+ 580-* \
+ | a29k-* \
+ | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
+ | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
+ | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
+ | arm-* | armbe-* | armle-* | armeb-* | armv*-* \
+ | avr-* | avr32-* \
+ | bfin-* | bs2000-* \
+ | c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \
+ | clipper-* | craynv-* | cydra-* \
+ | d10v-* | d30v-* | dlx-* \
+ | elxsi-* \
+ | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
+ | h8300-* | h8500-* \
+ | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
+ | i*86-* | i860-* | i960-* | ia64-* \
+ | ip2k-* | iq2000-* \
+ | lm32-* \
+ | m32c-* | m32r-* | m32rle-* \
+ | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
+ | m88110-* | m88k-* | maxq-* | mcore-* | metag-* \
+ | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
+ | mips16-* \
+ | mips64-* | mips64el-* \
+ | mips64octeon-* | mips64octeonel-* \
+ | mips64orion-* | mips64orionel-* \
+ | mips64r5900-* | mips64r5900el-* \
+ | mips64vr-* | mips64vrel-* \
+ | mips64vr4100-* | mips64vr4100el-* \
+ | mips64vr4300-* | mips64vr4300el-* \
+ | mips64vr5000-* | mips64vr5000el-* \
+ | mips64vr5900-* | mips64vr5900el-* \
+ | mipsisa32-* | mipsisa32el-* \
+ | mipsisa32r2-* | mipsisa32r2el-* \
+ | mipsisa64-* | mipsisa64el-* \
+ | mipsisa64r2-* | mipsisa64r2el-* \
+ | mipsisa64sb1-* | mipsisa64sb1el-* \
+ | mipsisa64sr71k-* | mipsisa64sr71kel-* \
+ | mipstx39-* | mipstx39el-* \
+ | mmix-* \
+ | mt-* \
+ | msp430-* \
+ | nios-* | nios2-* \
+ | none-* | np1-* | ns16k-* | ns32k-* \
+ | orion-* \
+ | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
+ | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \
+ | pyramid-* \
+ | romp-* | rs6000-* \
+ | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
+ | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
+ | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
+ | sparclite-* \
+ | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \
+ | tahoe-* | thumb-* \
+ | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* | tile-* \
+ | tron-* \
+ | v850-* | v850e-* | vax-* \
+ | we32k-* \
+ | x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \
+ | xstormy16-* | xtensa*-* \
+ | ymp-* \
+ | z8k-* | z80-*)
+ ;;
+ # Recognize the basic CPU types without company name, with glob match.
+ xtensa*)
+ basic_machine=$basic_machine-unknown
+ ;;
+ # Recognize the various machine names and aliases which stand
+ # for a CPU type and a company and sometimes even an OS.
+ 386bsd)
+ basic_machine=i386-unknown
+ os=-bsd
+ ;;
+ 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
+ basic_machine=m68000-att
+ ;;
+ 3b*)
+ basic_machine=we32k-att
+ ;;
+ a29khif)
+ basic_machine=a29k-amd
+ os=-udi
+ ;;
+ abacus)
+ basic_machine=abacus-unknown
+ ;;
+ adobe68k)
+ basic_machine=m68010-adobe
+ os=-scout
+ ;;
+ alliant | fx80)
+ basic_machine=fx80-alliant
+ ;;
+ altos | altos3068)
+ basic_machine=m68k-altos
+ ;;
+ am29k)
+ basic_machine=a29k-none
+ os=-bsd
+ ;;
+ amd64)
+ basic_machine=x86_64-pc
+ ;;
+ amd64-*)
+ basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
+ amdahl)
+ basic_machine=580-amdahl
+ os=-sysv
+ ;;
+ amiga | amiga-*)
+ basic_machine=m68k-unknown
+ ;;
+ amigaos | amigados)
+ basic_machine=m68k-unknown
+ os=-amigaos
+ ;;
+ amigaunix | amix)
+ basic_machine=m68k-unknown
+ os=-sysv4
+ ;;
+ apollo68)
+ basic_machine=m68k-apollo
+ os=-sysv
+ ;;
+ apollo68bsd)
+ basic_machine=m68k-apollo
+ os=-bsd
+ ;;
+ aros)
+ basic_machine=i386-pc
+ os=-aros
+ ;;
+ aux)
+ basic_machine=m68k-apple
+ os=-aux
+ ;;
+ balance)
+ basic_machine=ns32k-sequent
+ os=-dynix
+ ;;
+ blackfin)
+ basic_machine=bfin-unknown
+ os=-linux
+ ;;
+ blackfin-*)
+ basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'`
+ os=-linux
+ ;;
+ bluegene*)
+ basic_machine=powerpc-ibm
+ os=-cnk
+ ;;
+ c90)
+ basic_machine=c90-cray
+ os=-unicos
+ ;;
+ cegcc)
+ basic_machine=arm-unknown
+ os=-cegcc
+ ;;
+ convex-c1)
+ basic_machine=c1-convex
+ os=-bsd
+ ;;
+ convex-c2)
+ basic_machine=c2-convex
+ os=-bsd
+ ;;
+ convex-c32)
+ basic_machine=c32-convex
+ os=-bsd
+ ;;
+ convex-c34)
+ basic_machine=c34-convex
+ os=-bsd
+ ;;
+ convex-c38)
+ basic_machine=c38-convex
+ os=-bsd
+ ;;
+ cray | j90)
+ basic_machine=j90-cray
+ os=-unicos
+ ;;
+ craynv)
+ basic_machine=craynv-cray
+ os=-unicosmp
+ ;;
+ cr16)
+ basic_machine=cr16-unknown
+ os=-elf
+ ;;
+ crds | unos)
+ basic_machine=m68k-crds
+ ;;
+ crisv32 | crisv32-* | etraxfs*)
+ basic_machine=crisv32-axis
+ ;;
+ cris | cris-* | etrax*)
+ basic_machine=cris-axis
+ ;;
+ crx)
+ basic_machine=crx-unknown
+ os=-elf
+ ;;
+ da30 | da30-*)
+ basic_machine=m68k-da30
+ ;;
+ decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
+ basic_machine=mips-dec
+ ;;
+ decsystem10* | dec10*)
+ basic_machine=pdp10-dec
+ os=-tops10
+ ;;
+ decsystem20* | dec20*)
+ basic_machine=pdp10-dec
+ os=-tops20
+ ;;
+ delta | 3300 | motorola-3300 | motorola-delta \
+ | 3300-motorola | delta-motorola)
+ basic_machine=m68k-motorola
+ ;;
+ delta88)
+ basic_machine=m88k-motorola
+ os=-sysv3
+ ;;
+ dicos)
+ basic_machine=i686-pc
+ os=-dicos
+ ;;
+ djgpp)
+ basic_machine=i586-pc
+ os=-msdosdjgpp
+ ;;
+ dpx20 | dpx20-*)
+ basic_machine=rs6000-bull
+ os=-bosx
+ ;;
+ dpx2* | dpx2*-bull)
+ basic_machine=m68k-bull
+ os=-sysv3
+ ;;
+ ebmon29k)
+ basic_machine=a29k-amd
+ os=-ebmon
+ ;;
+ elxsi)
+ basic_machine=elxsi-elxsi
+ os=-bsd
+ ;;
+ encore | umax | mmax)
+ basic_machine=ns32k-encore
+ ;;
+ es1800 | OSE68k | ose68k | ose | OSE)
+ basic_machine=m68k-ericsson
+ os=-ose
+ ;;
+ fx2800)
+ basic_machine=i860-alliant
+ ;;
+ genix)
+ basic_machine=ns32k-ns
+ ;;
+ gmicro)
+ basic_machine=tron-gmicro
+ os=-sysv
+ ;;
+ go32)
+ basic_machine=i386-pc
+ os=-go32
+ ;;
+ h3050r* | hiux*)
+ basic_machine=hppa1.1-hitachi
+ os=-hiuxwe2
+ ;;
+ h8300hms)
+ basic_machine=h8300-hitachi
+ os=-hms
+ ;;
+ h8300xray)
+ basic_machine=h8300-hitachi
+ os=-xray
+ ;;
+ h8500hms)
+ basic_machine=h8500-hitachi
+ os=-hms
+ ;;
+ harris)
+ basic_machine=m88k-harris
+ os=-sysv3
+ ;;
+ hp300-*)
+ basic_machine=m68k-hp
+ ;;
+ hp300bsd)
+ basic_machine=m68k-hp
+ os=-bsd
+ ;;
+ hp300hpux)
+ basic_machine=m68k-hp
+ os=-hpux
+ ;;
+ hp3k9[0-9][0-9] | hp9[0-9][0-9])
+ basic_machine=hppa1.0-hp
+ ;;
+ hp9k2[0-9][0-9] | hp9k31[0-9])
+ basic_machine=m68000-hp
+ ;;
+ hp9k3[2-9][0-9])
+ basic_machine=m68k-hp
+ ;;
+ hp9k6[0-9][0-9] | hp6[0-9][0-9])
+ basic_machine=hppa1.0-hp
+ ;;
+ hp9k7[0-79][0-9] | hp7[0-79][0-9])
+ basic_machine=hppa1.1-hp
+ ;;
+ hp9k78[0-9] | hp78[0-9])
+ # FIXME: really hppa2.0-hp
+ basic_machine=hppa1.1-hp
+ ;;
+ hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
+ # FIXME: really hppa2.0-hp
+ basic_machine=hppa1.1-hp
+ ;;
+ hp9k8[0-9][13679] | hp8[0-9][13679])
+ basic_machine=hppa1.1-hp
+ ;;
+ hp9k8[0-9][0-9] | hp8[0-9][0-9])
+ basic_machine=hppa1.0-hp
+ ;;
+ hppa-next)
+ os=-nextstep3
+ ;;
+ hppaosf)
+ basic_machine=hppa1.1-hp
+ os=-osf
+ ;;
+ hppro)
+ basic_machine=hppa1.1-hp
+ os=-proelf
+ ;;
+ i370-ibm* | ibm*)
+ basic_machine=i370-ibm
+ ;;
+# I'm not sure what "Sysv32" means. Should this be sysv3.2?
+ i*86v32)
+ basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
+ os=-sysv32
+ ;;
+ i*86v4*)
+ basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
+ os=-sysv4
+ ;;
+ i*86v)
+ basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
+ os=-sysv
+ ;;
+ i*86sol2)
+ basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
+ os=-solaris2
+ ;;
+ i386mach)
+ basic_machine=i386-mach
+ os=-mach
+ ;;
+ i386-vsta | vsta)
+ basic_machine=i386-unknown
+ os=-vsta
+ ;;
+ iris | iris4d)
+ basic_machine=mips-sgi
+ case $os in
+ -irix*)
+ ;;
+ *)
+ os=-irix4
+ ;;
+ esac
+ ;;
+ isi68 | isi)
+ basic_machine=m68k-isi
+ os=-sysv
+ ;;
+ m68knommu)
+ basic_machine=m68k-unknown
+ os=-linux
+ ;;
+ m68knommu-*)
+ basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'`
+ os=-linux
+ ;;
+ m88k-omron*)
+ basic_machine=m88k-omron
+ ;;
+ magnum | m3230)
+ basic_machine=mips-mips
+ os=-sysv
+ ;;
+ merlin)
+ basic_machine=ns32k-utek
+ os=-sysv
+ ;;
+ mingw32)
+ basic_machine=i386-pc
+ os=-mingw32
+ ;;
+ mingw32ce)
+ basic_machine=arm-unknown
+ os=-mingw32ce
+ ;;
+ miniframe)
+ basic_machine=m68000-convergent
+ ;;
+ *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
+ basic_machine=m68k-atari
+ os=-mint
+ ;;
+ mips3*-*)
+ basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
+ ;;
+ mips3*)
+ basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
+ ;;
+ monitor)
+ basic_machine=m68k-rom68k
+ os=-coff
+ ;;
+ morphos)
+ basic_machine=powerpc-unknown
+ os=-morphos
+ ;;
+ msdos)
+ basic_machine=i386-pc
+ os=-msdos
+ ;;
+ ms1-*)
+ basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
+ ;;
+ mvs)
+ basic_machine=i370-ibm
+ os=-mvs
+ ;;
+ ncr3000)
+ basic_machine=i486-ncr
+ os=-sysv4
+ ;;
+ netbsd386)
+ basic_machine=i386-unknown
+ os=-netbsd
+ ;;
+ netwinder)
+ basic_machine=armv4l-rebel
+ os=-linux
+ ;;
+ news | news700 | news800 | news900)
+ basic_machine=m68k-sony
+ os=-newsos
+ ;;
+ news1000)
+ basic_machine=m68030-sony
+ os=-newsos
+ ;;
+ news-3600 | risc-news)
+ basic_machine=mips-sony
+ os=-newsos
+ ;;
+ necv70)
+ basic_machine=v70-nec
+ os=-sysv
+ ;;
+ next | m*-next )
+ basic_machine=m68k-next
+ case $os in
+ -nextstep* )
+ ;;
+ -ns2*)
+ os=-nextstep2
+ ;;
+ *)
+ os=-nextstep3
+ ;;
+ esac
+ ;;
+ nh3000)
+ basic_machine=m68k-harris
+ os=-cxux
+ ;;
+ nh[45]000)
+ basic_machine=m88k-harris
+ os=-cxux
+ ;;
+ nindy960)
+ basic_machine=i960-intel
+ os=-nindy
+ ;;
+ mon960)
+ basic_machine=i960-intel
+ os=-mon960
+ ;;
+ nonstopux)
+ basic_machine=mips-compaq
+ os=-nonstopux
+ ;;
+ np1)
+ basic_machine=np1-gould
+ ;;
+ nsr-tandem)
+ basic_machine=nsr-tandem
+ ;;
+ op50n-* | op60c-*)
+ basic_machine=hppa1.1-oki
+ os=-proelf
+ ;;
+ openrisc | openrisc-*)
+ basic_machine=or32-unknown
+ ;;
+ os400)
+ basic_machine=powerpc-ibm
+ os=-os400
+ ;;
+ OSE68000 | ose68000)
+ basic_machine=m68000-ericsson
+ os=-ose
+ ;;
+ os68k)
+ basic_machine=m68k-none
+ os=-os68k
+ ;;
+ pa-hitachi)
+ basic_machine=hppa1.1-hitachi
+ os=-hiuxwe2
+ ;;
+ paragon)
+ basic_machine=i860-intel
+ os=-osf
+ ;;
+ parisc)
+ basic_machine=hppa-unknown
+ os=-linux
+ ;;
+ parisc-*)
+ basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'`
+ os=-linux
+ ;;
+ pbd)
+ basic_machine=sparc-tti
+ ;;
+ pbb)
+ basic_machine=m68k-tti
+ ;;
+ pc532 | pc532-*)
+ basic_machine=ns32k-pc532
+ ;;
+ pc98)
+ basic_machine=i386-pc
+ ;;
+ pc98-*)
+ basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
+ pentium | p5 | k5 | k6 | nexgen | viac3)
+ basic_machine=i586-pc
+ ;;
+ pentiumpro | p6 | 6x86 | athlon | athlon_*)
+ basic_machine=i686-pc
+ ;;
+ pentiumii | pentium2 | pentiumiii | pentium3)
+ basic_machine=i686-pc
+ ;;
+ pentium4)
+ basic_machine=i786-pc
+ ;;
+ pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
+ basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
+ pentiumpro-* | p6-* | 6x86-* | athlon-*)
+ basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
+ pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
+ basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
+ pentium4-*)
+ basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
+ pn)
+ basic_machine=pn-gould
+ ;;
+ power) basic_machine=power-ibm
+ ;;
+ ppc) basic_machine=powerpc-unknown
+ ;;
+ ppc-*) basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
+ ppcle | powerpclittle | ppc-le | powerpc-little)
+ basic_machine=powerpcle-unknown
+ ;;
+ ppcle-* | powerpclittle-*)
+ basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
+ ppc64) basic_machine=powerpc64-unknown
+ ;;
+ ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
+ ppc64le | powerpc64little | ppc64-le | powerpc64-little)
+ basic_machine=powerpc64le-unknown
+ ;;
+ ppc64le-* | powerpc64little-*)
+ basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
+ ps2)
+ basic_machine=i386-ibm
+ ;;
+ pw32)
+ basic_machine=i586-unknown
+ os=-pw32
+ ;;
+ rdos)
+ basic_machine=i386-pc
+ os=-rdos
+ ;;
+ rom68k)
+ basic_machine=m68k-rom68k
+ os=-coff
+ ;;
+ rm[46]00)
+ basic_machine=mips-siemens
+ ;;
+ rtpc | rtpc-*)
+ basic_machine=romp-ibm
+ ;;
+ s390 | s390-*)
+ basic_machine=s390-ibm
+ ;;
+ s390x | s390x-*)
+ basic_machine=s390x-ibm
+ ;;
+ sa29200)
+ basic_machine=a29k-amd
+ os=-udi
+ ;;
+ sb1)
+ basic_machine=mipsisa64sb1-unknown
+ ;;
+ sb1el)
+ basic_machine=mipsisa64sb1el-unknown
+ ;;
+ sde)
+ basic_machine=mipsisa32-sde
+ os=-elf
+ ;;
+ sei)
+ basic_machine=mips-sei
+ os=-seiux
+ ;;
+ sequent)
+ basic_machine=i386-sequent
+ ;;
+ sh)
+ basic_machine=sh-hitachi
+ os=-hms
+ ;;
+ sh5el)
+ basic_machine=sh5le-unknown
+ ;;
+ sh64)
+ basic_machine=sh64-unknown
+ ;;
+ sparclite-wrs | simso-wrs)
+ basic_machine=sparclite-wrs
+ os=-vxworks
+ ;;
+ sps7)
+ basic_machine=m68k-bull
+ os=-sysv2
+ ;;
+ spur)
+ basic_machine=spur-unknown
+ ;;
+ st2000)
+ basic_machine=m68k-tandem
+ ;;
+ stratus)
+ basic_machine=i860-stratus
+ os=-sysv4
+ ;;
+ sun2)
+ basic_machine=m68000-sun
+ ;;
+ sun2os3)
+ basic_machine=m68000-sun
+ os=-sunos3
+ ;;
+ sun2os4)
+ basic_machine=m68000-sun
+ os=-sunos4
+ ;;
+ sun3os3)
+ basic_machine=m68k-sun
+ os=-sunos3
+ ;;
+ sun3os4)
+ basic_machine=m68k-sun
+ os=-sunos4
+ ;;
+ sun4os3)
+ basic_machine=sparc-sun
+ os=-sunos3
+ ;;
+ sun4os4)
+ basic_machine=sparc-sun
+ os=-sunos4
+ ;;
+ sun4sol2)
+ basic_machine=sparc-sun
+ os=-solaris2
+ ;;
+ sun3 | sun3-*)
+ basic_machine=m68k-sun
+ ;;
+ sun4)
+ basic_machine=sparc-sun
+ ;;
+ sun386 | sun386i | roadrunner)
+ basic_machine=i386-sun
+ ;;
+ sv1)
+ basic_machine=sv1-cray
+ os=-unicos
+ ;;
+ symmetry)
+ basic_machine=i386-sequent
+ os=-dynix
+ ;;
+ t3e)
+ basic_machine=alphaev5-cray
+ os=-unicos
+ ;;
+ t90)
+ basic_machine=t90-cray
+ os=-unicos
+ ;;
+ tic54x | c54x*)
+ basic_machine=tic54x-unknown
+ os=-coff
+ ;;
+ tic55x | c55x*)
+ basic_machine=tic55x-unknown
+ os=-coff
+ ;;
+ tic6x | c6x*)
+ basic_machine=tic6x-unknown
+ os=-coff
+ ;;
+ tile*)
+ basic_machine=tile-unknown
+ os=-linux-gnu
+ ;;
+ tx39)
+ basic_machine=mipstx39-unknown
+ ;;
+ tx39el)
+ basic_machine=mipstx39el-unknown
+ ;;
+ toad1)
+ basic_machine=pdp10-xkl
+ os=-tops20
+ ;;
+ tower | tower-32)
+ basic_machine=m68k-ncr
+ ;;
+ tpf)
+ basic_machine=s390x-ibm
+ os=-tpf
+ ;;
+ udi29k)
+ basic_machine=a29k-amd
+ os=-udi
+ ;;
+ ultra3)
+ basic_machine=a29k-nyu
+ os=-sym1
+ ;;
+ v810 | necv810)
+ basic_machine=v810-nec
+ os=-none
+ ;;
+ vaxv)
+ basic_machine=vax-dec
+ os=-sysv
+ ;;
+ vms)
+ basic_machine=vax-dec
+ os=-vms
+ ;;
+ vpp*|vx|vx-*)
+ basic_machine=f301-fujitsu
+ ;;
+ vxworks960)
+ basic_machine=i960-wrs
+ os=-vxworks
+ ;;
+ vxworks68)
+ basic_machine=m68k-wrs
+ os=-vxworks
+ ;;
+ vxworks29k)
+ basic_machine=a29k-wrs
+ os=-vxworks
+ ;;
+ w65*)
+ basic_machine=w65-wdc
+ os=-none
+ ;;
+ w89k-*)
+ basic_machine=hppa1.1-winbond
+ os=-proelf
+ ;;
+ xbox)
+ basic_machine=i686-pc
+ os=-mingw32
+ ;;
+ xps | xps100)
+ basic_machine=xps100-honeywell
+ ;;
+ ymp)
+ basic_machine=ymp-cray
+ os=-unicos
+ ;;
+ z8k-*-coff)
+ basic_machine=z8k-unknown
+ os=-sim
+ ;;
+ z80-*-coff)
+ basic_machine=z80-unknown
+ os=-sim
+ ;;
+ none)
+ basic_machine=none-none
+ os=-none
+ ;;
+
+# Here we handle the default manufacturer of certain CPU types. It is in
+# some cases the only manufacturer, in others, it is the most popular.
+ w89k)
+ basic_machine=hppa1.1-winbond
+ ;;
+ op50n)
+ basic_machine=hppa1.1-oki
+ ;;
+ op60c)
+ basic_machine=hppa1.1-oki
+ ;;
+ romp)
+ basic_machine=romp-ibm
+ ;;
+ mmix)
+ basic_machine=mmix-knuth
+ ;;
+ rs6000)
+ basic_machine=rs6000-ibm
+ ;;
+ vax)
+ basic_machine=vax-dec
+ ;;
+ pdp10)
+ # there are many clones, so DEC is not a safe bet
+ basic_machine=pdp10-unknown
+ ;;
+ pdp11)
+ basic_machine=pdp11-dec
+ ;;
+ we32k)
+ basic_machine=we32k-att
+ ;;
+ sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele)
+ basic_machine=sh-unknown
+ ;;
+ sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
+ basic_machine=sparc-sun
+ ;;
+ cydra)
+ basic_machine=cydra-cydrome
+ ;;
+ orion)
+ basic_machine=orion-highlevel
+ ;;
+ orion105)
+ basic_machine=clipper-highlevel
+ ;;
+ mac | mpw | mac-mpw)
+ basic_machine=m68k-apple
+ ;;
+ pmac | pmac-mpw)
+ basic_machine=powerpc-apple
+ ;;
+ *-unknown)
+ # Make sure to match an already-canonicalized machine name.
+ ;;
+ *)
+ echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
+ exit 1
+ ;;
+esac
+
+# Here we canonicalize certain aliases for manufacturers.
+case $basic_machine in
+ *-digital*)
+ basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
+ ;;
+ *-commodore*)
+ basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
+ ;;
+ *)
+ ;;
+esac
+
+# Decode manufacturer-specific aliases for certain operating systems.
+
+if [ x"$os" != x"" ]
+then
+case $os in
+ # First match some system type aliases
+ # that might get confused with valid system types.
+ # -solaris* is a basic system type, with this one exception.
+ -solaris1 | -solaris1.*)
+ os=`echo $os | sed -e 's|solaris1|sunos4|'`
+ ;;
+ -solaris)
+ os=-solaris2
+ ;;
+ -svr4*)
+ os=-sysv4
+ ;;
+ -unixware*)
+ os=-sysv4.2uw
+ ;;
+ -gnu/linux*)
+ os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
+ ;;
+ # First accept the basic system types.
+ # The portable systems comes first.
+ # Each alternative MUST END IN A *, to match a version number.
+ # -sysv* is not here because it comes later, after sysvr4.
+ -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
+ | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
+ | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \
+ | -kopensolaris* \
+ | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
+ | -aos* | -aros* \
+ | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
+ | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
+ | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
+ | -openbsd* | -solidbsd* \
+ | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
+ | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
+ | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
+ | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
+ | -chorusos* | -chorusrdb* | -cegcc* \
+ | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
+ | -mingw32* | -linux-gnu* | -linux-newlib* | -linux-uclibc* \
+ | -uxpv* | -beos* | -mpeix* | -udk* \
+ | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
+ | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
+ | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
+ | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
+ | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
+ | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
+ | -skyos* | -haiku* | -rdos* | -toppers* | -drops*)
+ # Remember, each alternative MUST END IN *, to match a version number.
+ ;;
+ -qnx*)
+ case $basic_machine in
+ x86-* | i*86-*)
+ ;;
+ *)
+ os=-nto$os
+ ;;
+ esac
+ ;;
+ -nto-qnx*)
+ ;;
+ -nto*)
+ os=`echo $os | sed -e 's|nto|nto-qnx|'`
+ ;;
+ -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
+ | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \
+ | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
+ ;;
+ -mac*)
+ os=`echo $os | sed -e 's|mac|macos|'`
+ ;;
+ -linux-dietlibc)
+ os=-linux-dietlibc
+ ;;
+ -linux*)
+ os=`echo $os | sed -e 's|linux|linux-gnu|'`
+ ;;
+ -sunos5*)
+ os=`echo $os | sed -e 's|sunos5|solaris2|'`
+ ;;
+ -sunos6*)
+ os=`echo $os | sed -e 's|sunos6|solaris3|'`
+ ;;
+ -opened*)
+ os=-openedition
+ ;;
+ -os400*)
+ os=-os400
+ ;;
+ -wince*)
+ os=-wince
+ ;;
+ -osfrose*)
+ os=-osfrose
+ ;;
+ -osf*)
+ os=-osf
+ ;;
+ -utek*)
+ os=-bsd
+ ;;
+ -dynix*)
+ os=-bsd
+ ;;
+ -acis*)
+ os=-aos
+ ;;
+ -atheos*)
+ os=-atheos
+ ;;
+ -syllable*)
+ os=-syllable
+ ;;
+ -386bsd)
+ os=-bsd
+ ;;
+ -ctix* | -uts*)
+ os=-sysv
+ ;;
+ -nova*)
+ os=-rtmk-nova
+ ;;
+ -ns2 )
+ os=-nextstep2
+ ;;
+ -nsk*)
+ os=-nsk
+ ;;
+ # Preserve the version number of sinix5.
+ -sinix5.*)
+ os=`echo $os | sed -e 's|sinix|sysv|'`
+ ;;
+ -sinix*)
+ os=-sysv4
+ ;;
+ -tpf*)
+ os=-tpf
+ ;;
+ -triton*)
+ os=-sysv3
+ ;;
+ -oss*)
+ os=-sysv3
+ ;;
+ -svr4)
+ os=-sysv4
+ ;;
+ -svr3)
+ os=-sysv3
+ ;;
+ -sysvr4)
+ os=-sysv4
+ ;;
+ # This must come after -sysvr4.
+ -sysv*)
+ ;;
+ -ose*)
+ os=-ose
+ ;;
+ -es1800*)
+ os=-ose
+ ;;
+ -xenix)
+ os=-xenix
+ ;;
+ -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
+ os=-mint
+ ;;
+ -aros*)
+ os=-aros
+ ;;
+ -kaos*)
+ os=-kaos
+ ;;
+ -zvmoe)
+ os=-zvmoe
+ ;;
+ -dicos*)
+ os=-dicos
+ ;;
+ -none)
+ ;;
+ *)
+ # Get rid of the `-' at the beginning of $os.
+ os=`echo $os | sed 's/[^-]*-//'`
+ echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
+ exit 1
+ ;;
+esac
+else
+
+# Here we handle the default operating systems that come with various machines.
+# The value should be what the vendor currently ships out the door with their
+# machine or put another way, the most popular os provided with the machine.
+
+# Note that if you're going to try to match "-MANUFACTURER" here (say,
+# "-sun"), then you have to tell the case statement up towards the top
+# that MANUFACTURER isn't an operating system. Otherwise, code above
+# will signal an error saying that MANUFACTURER isn't an operating
+# system, and we'll never get to this point.
+
+case $basic_machine in
+ score-*)
+ os=-elf
+ ;;
+ spu-*)
+ os=-elf
+ ;;
+ *-acorn)
+ os=-riscix1.2
+ ;;
+ arm*-rebel)
+ os=-linux
+ ;;
+ arm*-semi)
+ os=-aout
+ ;;
+ c4x-* | tic4x-*)
+ os=-coff
+ ;;
+ # This must come before the *-dec entry.
+ pdp10-*)
+ os=-tops20
+ ;;
+ pdp11-*)
+ os=-none
+ ;;
+ *-dec | vax-*)
+ os=-ultrix4.2
+ ;;
+ m68*-apollo)
+ os=-domain
+ ;;
+ i386-sun)
+ os=-sunos4.0.2
+ ;;
+ m68000-sun)
+ os=-sunos3
+ # This also exists in the configure program, but was not the
+ # default.
+ # os=-sunos4
+ ;;
+ m68*-cisco)
+ os=-aout
+ ;;
+ mep-*)
+ os=-elf
+ ;;
+ mips*-cisco)
+ os=-elf
+ ;;
+ mips*-*)
+ os=-elf
+ ;;
+ or32-*)
+ os=-coff
+ ;;
+ *-tti) # must be before sparc entry or we get the wrong os.
+ os=-sysv3
+ ;;
+ sparc-* | *-sun)
+ os=-sunos4.1.1
+ ;;
+ *-be)
+ os=-beos
+ ;;
+ *-haiku)
+ os=-haiku
+ ;;
+ *-ibm)
+ os=-aix
+ ;;
+ *-knuth)
+ os=-mmixware
+ ;;
+ *-wec)
+ os=-proelf
+ ;;
+ *-winbond)
+ os=-proelf
+ ;;
+ *-oki)
+ os=-proelf
+ ;;
+ *-hp)
+ os=-hpux
+ ;;
+ *-hitachi)
+ os=-hiux
+ ;;
+ i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
+ os=-sysv
+ ;;
+ *-cbm)
+ os=-amigaos
+ ;;
+ *-dg)
+ os=-dgux
+ ;;
+ *-dolphin)
+ os=-sysv3
+ ;;
+ m68k-ccur)
+ os=-rtu
+ ;;
+ m88k-omron*)
+ os=-luna
+ ;;
+ *-next )
+ os=-nextstep
+ ;;
+ *-sequent)
+ os=-ptx
+ ;;
+ *-crds)
+ os=-unos
+ ;;
+ *-ns)
+ os=-genix
+ ;;
+ i370-*)
+ os=-mvs
+ ;;
+ *-next)
+ os=-nextstep3
+ ;;
+ *-gould)
+ os=-sysv
+ ;;
+ *-highlevel)
+ os=-bsd
+ ;;
+ *-encore)
+ os=-bsd
+ ;;
+ *-sgi)
+ os=-irix
+ ;;
+ *-siemens)
+ os=-sysv4
+ ;;
+ *-masscomp)
+ os=-rtu
+ ;;
+ f30[01]-fujitsu | f700-fujitsu)
+ os=-uxpv
+ ;;
+ *-rom68k)
+ os=-coff
+ ;;
+ *-*bug)
+ os=-coff
+ ;;
+ *-apple)
+ os=-macos
+ ;;
+ *-atari*)
+ os=-mint
+ ;;
+ *)
+ os=-none
+ ;;
+esac
+fi
+
+# Here we handle the case where we know the os, and the CPU type, but not the
+# manufacturer. We pick the logical manufacturer.
+vendor=unknown
+case $basic_machine in
+ *-unknown)
+ case $os in
+ -riscix*)
+ vendor=acorn
+ ;;
+ -sunos*)
+ vendor=sun
+ ;;
+ -cnk*|-aix*)
+ vendor=ibm
+ ;;
+ -beos*)
+ vendor=be
+ ;;
+ -hpux*)
+ vendor=hp
+ ;;
+ -mpeix*)
+ vendor=hp
+ ;;
+ -hiux*)
+ vendor=hitachi
+ ;;
+ -unos*)
+ vendor=crds
+ ;;
+ -dgux*)
+ vendor=dg
+ ;;
+ -luna*)
+ vendor=omron
+ ;;
+ -genix*)
+ vendor=ns
+ ;;
+ -mvs* | -opened*)
+ vendor=ibm
+ ;;
+ -os400*)
+ vendor=ibm
+ ;;
+ -ptx*)
+ vendor=sequent
+ ;;
+ -tpf*)
+ vendor=ibm
+ ;;
+ -vxsim* | -vxworks* | -windiss*)
+ vendor=wrs
+ ;;
+ -aux*)
+ vendor=apple
+ ;;
+ -hms*)
+ vendor=hitachi
+ ;;
+ -mpw* | -macos*)
+ vendor=apple
+ ;;
+ -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
+ vendor=atari
+ ;;
+ -vos*)
+ vendor=stratus
+ ;;
+ esac
+ basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
+ ;;
+esac
+
+echo $basic_machine$os
+exit
+
+# Local variables:
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "timestamp='"
+# time-stamp-format: "%:y-%02m-%02d"
+# time-stamp-end: "'"
+# End:
--- /dev/null
+#! /bin/sh
+# Guess values for system-dependent variables and create Makefiles.
+# Generated by GNU Autoconf 2.65 for gtk-doc 1.18.
+#
+# Report bugs to <http://bugzilla.gnome.org/enter_bug.cgi?product=gtk-doc>.
+#
+#
+# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
+# 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 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.
+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
+test \$(( 1 + 1 )) = 2 || 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.
+ BASH_ENV=/dev/null
+ ENV=/dev/null
+ (unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
+ export CONFIG_SHELL
+ exec "$CONFIG_SHELL" "$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 and
+$0: http://bugzilla.gnome.org/enter_bug.cgi?product=gtk-doc
+$0: about your system, including any error possibly output
+$0: before this message. Then install a modern shell, or
+$0: manually run the script under such a shell if you do
+$0: 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 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=$?; test $as_status -eq 0 && as_status=1
+ if test "$3"; then
+ as_lineno=${as_lineno-"$2"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+ $as_echo "$as_me:${as_lineno-$LINENO}: error: $1" >&$3
+ fi
+ $as_echo "$as_me: error: $1" >&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'"
+
+
+
+# Check that we are running under the correct shell.
+SHELL=${CONFIG_SHELL-/bin/sh}
+
+case X$lt_ECHO in
+X*--fallback-echo)
+ # Remove one level of quotation (which was required for Make).
+ ECHO=`echo "$lt_ECHO" | sed 's,\\\\\$\\$0,'$0','`
+ ;;
+esac
+
+ECHO=${lt_ECHO-echo}
+if test "X$1" = X--no-reexec; then
+ # Discard the --no-reexec flag, and continue.
+ shift
+elif test "X$1" = X--fallback-echo; then
+ # Avoid inline document here, it may be left over
+ :
+elif test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' ; then
+ # Yippee, $ECHO works!
+ :
+else
+ # Restart under the correct shell.
+ exec $SHELL "$0" --no-reexec ${1+"$@"}
+fi
+
+if test "X$1" = X--fallback-echo; then
+ # used as fallback echo
+ shift
+ cat <<_LT_EOF
+$*
+_LT_EOF
+ exit 0
+fi
+
+# The HP-UX ksh and POSIX shell print the target directory to stdout
+# if CDPATH is set.
+(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
+
+if test -z "$lt_ECHO"; then
+ if test "X${echo_test_string+set}" != Xset; then
+ # find a string as large as possible, as long as the shell can cope with it
+ for cmd in 'sed 50q "$0"' 'sed 20q "$0"' 'sed 10q "$0"' 'sed 2q "$0"' 'echo test'; do
+ # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ...
+ if { echo_test_string=`eval $cmd`; } 2>/dev/null &&
+ { test "X$echo_test_string" = "X$echo_test_string"; } 2>/dev/null
+ then
+ break
+ fi
+ done
+ fi
+
+ if test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' &&
+ echo_testing_string=`{ $ECHO "$echo_test_string"; } 2>/dev/null` &&
+ test "X$echo_testing_string" = "X$echo_test_string"; then
+ :
+ else
+ # The Solaris, AIX, and Digital Unix default echo programs unquote
+ # backslashes. This makes it impossible to quote backslashes using
+ # echo "$something" | sed 's/\\/\\\\/g'
+ #
+ # So, first we look for a working echo in the user's PATH.
+
+ lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+ for dir in $PATH /usr/ucb; do
+ IFS="$lt_save_ifs"
+ if (test -f $dir/echo || test -f $dir/echo$ac_exeext) &&
+ test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' &&
+ echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` &&
+ test "X$echo_testing_string" = "X$echo_test_string"; then
+ ECHO="$dir/echo"
+ break
+ fi
+ done
+ IFS="$lt_save_ifs"
+
+ if test "X$ECHO" = Xecho; then
+ # We didn't find a better echo, so look for alternatives.
+ if test "X`{ print -r '\t'; } 2>/dev/null`" = 'X\t' &&
+ echo_testing_string=`{ print -r "$echo_test_string"; } 2>/dev/null` &&
+ test "X$echo_testing_string" = "X$echo_test_string"; then
+ # This shell has a builtin print -r that does the trick.
+ ECHO='print -r'
+ elif { test -f /bin/ksh || test -f /bin/ksh$ac_exeext; } &&
+ test "X$CONFIG_SHELL" != X/bin/ksh; then
+ # If we have ksh, try running configure again with it.
+ ORIGINAL_CONFIG_SHELL=${CONFIG_SHELL-/bin/sh}
+ export ORIGINAL_CONFIG_SHELL
+ CONFIG_SHELL=/bin/ksh
+ export CONFIG_SHELL
+ exec $CONFIG_SHELL "$0" --no-reexec ${1+"$@"}
+ else
+ # Try using printf.
+ ECHO='printf %s\n'
+ if test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' &&
+ echo_testing_string=`{ $ECHO "$echo_test_string"; } 2>/dev/null` &&
+ test "X$echo_testing_string" = "X$echo_test_string"; then
+ # Cool, printf works
+ :
+ elif echo_testing_string=`($ORIGINAL_CONFIG_SHELL "$0" --fallback-echo '\t') 2>/dev/null` &&
+ test "X$echo_testing_string" = 'X\t' &&
+ echo_testing_string=`($ORIGINAL_CONFIG_SHELL "$0" --fallback-echo "$echo_test_string") 2>/dev/null` &&
+ test "X$echo_testing_string" = "X$echo_test_string"; then
+ CONFIG_SHELL=$ORIGINAL_CONFIG_SHELL
+ export CONFIG_SHELL
+ SHELL="$CONFIG_SHELL"
+ export SHELL
+ ECHO="$CONFIG_SHELL $0 --fallback-echo"
+ elif echo_testing_string=`($CONFIG_SHELL "$0" --fallback-echo '\t') 2>/dev/null` &&
+ test "X$echo_testing_string" = 'X\t' &&
+ echo_testing_string=`($CONFIG_SHELL "$0" --fallback-echo "$echo_test_string") 2>/dev/null` &&
+ test "X$echo_testing_string" = "X$echo_test_string"; then
+ ECHO="$CONFIG_SHELL $0 --fallback-echo"
+ else
+ # maybe with a smaller string...
+ prev=:
+
+ for cmd in 'echo test' 'sed 2q "$0"' 'sed 10q "$0"' 'sed 20q "$0"' 'sed 50q "$0"'; do
+ if { test "X$echo_test_string" = "X`eval $cmd`"; } 2>/dev/null
+ then
+ break
+ fi
+ prev="$cmd"
+ done
+
+ if test "$prev" != 'sed 50q "$0"'; then
+ echo_test_string=`eval $prev`
+ export echo_test_string
+ exec ${ORIGINAL_CONFIG_SHELL-${CONFIG_SHELL-/bin/sh}} "$0" ${1+"$@"}
+ else
+ # Oops. We lost completely, so just stick with echo.
+ ECHO=echo
+ fi
+ fi
+ fi
+ fi
+ fi
+fi
+
+# Copy echo and quote the copy suitably for passing to libtool from
+# the Makefile, instead of quoting the original, which is used later.
+lt_ECHO=$ECHO
+if test "X$lt_ECHO" = "X$CONFIG_SHELL $0 --fallback-echo"; then
+ lt_ECHO="$CONFIG_SHELL \\\$\$0 --fallback-echo"
+fi
+
+
+
+
+test -n "$DJDIR" || exec 7<&0 </dev/null
+exec 6>&1
+
+# Name of the host.
+# hostname on some systems (SVR3.2, Linux) returns a bogus exit status,
+# so uname gets run too.
+ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
+
+#
+# Initializations.
+#
+ac_default_prefix=/usr/local
+ac_clean_files=
+ac_config_libobj_dir=.
+LIBOBJS=
+cross_compiling=no
+subdirs=
+MFLAGS=
+MAKEFLAGS=
+
+# Identity of this package.
+PACKAGE_NAME='gtk-doc'
+PACKAGE_TARNAME='gtk-doc'
+PACKAGE_VERSION='1.18'
+PACKAGE_STRING='gtk-doc 1.18'
+PACKAGE_BUGREPORT='http://bugzilla.gnome.org/enter_bug.cgi?product=gtk-doc'
+PACKAGE_URL=''
+
+ac_unique_file="gtkdoc-common.pl.in"
+# Factoring default headers for most tests.
+ac_includes_default="\
+#include <stdio.h>
+#ifdef HAVE_SYS_TYPES_H
+# include <sys/types.h>
+#endif
+#ifdef HAVE_SYS_STAT_H
+# include <sys/stat.h>
+#endif
+#ifdef STDC_HEADERS
+# include <stdlib.h>
+# include <stddef.h>
+#else
+# ifdef HAVE_STDLIB_H
+# include <stdlib.h>
+# endif
+#endif
+#ifdef HAVE_STRING_H
+# if !defined STDC_HEADERS && defined HAVE_MEMORY_H
+# include <memory.h>
+# endif
+# include <string.h>
+#endif
+#ifdef HAVE_STRINGS_H
+# include <strings.h>
+#endif
+#ifdef HAVE_INTTYPES_H
+# include <inttypes.h>
+#endif
+#ifdef HAVE_STDINT_H
+# include <stdint.h>
+#endif
+#ifdef HAVE_UNISTD_H
+# include <unistd.h>
+#endif"
+
+ac_subst_vars='am__EXEEXT_FALSE
+am__EXEEXT_TRUE
+LTLIBOBJS
+LIBOBJS
+TRACE
+glib_prefix
+BUILD_TESTS_FALSE
+BUILD_TESTS_TRUE
+GTK_DOC_USE_LIBTOOL_FALSE
+GTK_DOC_USE_LIBTOOL_TRUE
+TEST_DEPS_LIBS
+TEST_DEPS_CFLAGS
+PACKAGE_DATA_DIR
+HIGHLIGHT_OPTIONS
+HIGHLIGHT
+XMLCATALOG
+XML_CATALOG_FILE
+FOP
+DBLATEX
+XSLTPROC
+SGML_FORMAT_TYPE
+JADE
+HAVE_PYTHON_FALSE
+HAVE_PYTHON_TRUE
+pkgpyexecdir
+pyexecdir
+pkgpythondir
+pythondir
+PYTHON_PLATFORM
+PYTHON_EXEC_PREFIX
+PYTHON_PREFIX
+PYTHON_VERSION
+PYTHON
+PERL
+CPP
+OTOOL64
+OTOOL
+LIPO
+NMEDIT
+DSYMUTIL
+lt_ECHO
+RANLIB
+AR
+OBJDUMP
+NM
+ac_ct_DUMPBIN
+DUMPBIN
+LD
+FGREP
+EGREP
+GREP
+SED
+host_os
+host_vendor
+host_cpu
+host
+build_os
+build_vendor
+build_cpu
+build
+LIBTOOL
+am__fastdepCC_FALSE
+am__fastdepCC_TRUE
+CCDEPMODE
+AMDEPBACKSLASH
+AMDEP_FALSE
+AMDEP_TRUE
+am__quote
+am__include
+DEPDIR
+OBJEXT
+EXEEXT
+ac_ct_CC
+CPPFLAGS
+LDFLAGS
+CFLAGS
+CC
+HAVE_GNOME_DOC_UTILS_FALSE
+HAVE_GNOME_DOC_UTILS_TRUE
+DISTCHECK_CONFIGURE_FLAGS
+ENABLE_SK_FALSE
+ENABLE_SK_TRUE
+DOC_USER_FORMATS
+OMF_DIR
+HELP_DIR
+PKG_CONFIG
+LN_S
+AM_BACKSLASH
+AM_DEFAULT_VERBOSITY
+MAINT
+MAINTAINER_MODE_FALSE
+MAINTAINER_MODE_TRUE
+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
+enable_maintainer_mode
+enable_silent_rules
+with_help_dir
+with_omf_dir
+with_help_formats
+enable_scrollkeeper
+enable_dependency_tracking
+enable_shared
+enable_static
+with_pic
+enable_fast_install
+with_gnu_ld
+enable_libtool_lock
+with_xml_catalog
+with_highlight
+enable_debug
+'
+ ac_precious_vars='build_alias
+host_alias
+target_alias
+PKG_CONFIG
+CC
+CFLAGS
+LDFLAGS
+LIBS
+CPPFLAGS
+CPP
+TEST_DEPS_CFLAGS
+TEST_DEPS_LIBS'
+
+
+# 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=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 gtk-doc 1.18 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/gtk-doc]
+ --htmldir=DIR html documentation [DOCDIR]
+ --dvidir=DIR dvi documentation [DOCDIR]
+ --pdfdir=DIR pdf documentation [DOCDIR]
+ --psdir=DIR ps documentation [DOCDIR]
+_ACEOF
+
+ cat <<\_ACEOF
+
+Program names:
+ --program-prefix=PREFIX prepend PREFIX to installed program names
+ --program-suffix=SUFFIX append SUFFIX to installed program names
+ --program-transform-name=PROGRAM run sed PROGRAM on installed program names
+
+System types:
+ --build=BUILD configure for building on BUILD [guessed]
+ --host=HOST cross-compile to build programs to run on HOST [BUILD]
+_ACEOF
+fi
+
+if test -n "$ac_init_help"; then
+ case $ac_init_help in
+ short | recursive ) echo "Configuration of gtk-doc 1.18:";;
+ esac
+ cat <<\_ACEOF
+
+Optional Features:
+ --disable-option-checking ignore unrecognized --enable/--with options
+ --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
+ --enable-FEATURE[=ARG] include FEATURE [ARG=yes]
+ --disable-maintainer-mode disable make rules and dependencies not useful
+ (and sometimes confusing) to the casual installer
+ --enable-silent-rules less verbose build output (undo: `make V=1')
+ --disable-silent-rules verbose build output (undo: `make V=0')
+ --disable-scrollkeeper do not make updates to the scrollkeeper database
+ --disable-dependency-tracking speeds up one-time build
+ --enable-dependency-tracking do not reject slow dependency extractors
+ --enable-shared[=PKGS] build shared libraries [default=yes]
+ --enable-static[=PKGS] build static libraries [default=yes]
+ --enable-fast-install[=PKGS]
+ optimize for fast installation [default=yes]
+ --disable-libtool-lock avoid locking (might break parallel builds)
+ --enable-debug enable runtime debugging code (default=no)
+
+Optional Packages:
+ --with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
+ --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
+ --with-help-dir=DIR path to help docs
+ --with-omf-dir=DIR path to OMF files
+ --with-help-formats=FORMATS
+ list of formats
+ --with-pic try to use only PIC/non-PIC objects [default=use
+ both]
+ --with-gnu-ld assume the C compiler uses GNU ld [default=no]
+ --with-xml-catalog=CATALOG
+ path to xml catalog to use
+ --with-highlight Select source code syntax highlighter
+ (no|source-highlight|highlight|vim|auto)
+
+Some influential environment variables:
+ PKG_CONFIG path to pkg-config utility
+ CC C compiler command
+ CFLAGS C compiler flags
+ LDFLAGS linker flags, e.g. -L<lib dir> if you have libraries in a
+ nonstandard directory <lib dir>
+ LIBS libraries to pass to the linker, e.g. -l<library>
+ CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I<include dir> if
+ you have headers in a nonstandard directory <include dir>
+ CPP C preprocessor
+ TEST_DEPS_CFLAGS
+ C compiler flags for TEST_DEPS, overriding pkg-config
+ TEST_DEPS_LIBS
+ linker flags for TEST_DEPS, overriding pkg-config
+
+Use these variables to override the choices made by `configure' or to help
+it to find libraries and programs with nonstandard names/locations.
+
+Report bugs to <http://bugzilla.gnome.org/enter_bug.cgi?product=gtk-doc>.
+_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
+gtk-doc configure 1.18
+generated by GNU Autoconf 2.65
+
+Copyright (C) 2009 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. ##
+## ------------------------ ##
+
+# ac_fn_c_try_compile LINENO
+# --------------------------
+# Try to compile conftest.$ac_ext, and return whether this succeeded.
+ac_fn_c_try_compile ()
+{
+ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+ rm -f conftest.$ac_objext
+ if { { ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+ (eval "$ac_compile") 2>conftest.err
+ ac_status=$?
+ if test -s conftest.err; then
+ grep -v '^ *+' conftest.err >conftest.er1
+ cat conftest.er1 >&5
+ mv -f conftest.er1 conftest.err
+ fi
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then :
+ ac_retval=0
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_retval=1
+fi
+ eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+ as_fn_set_status $ac_retval
+
+} # ac_fn_c_try_compile
+
+# ac_fn_c_try_link LINENO
+# -----------------------
+# Try to link conftest.$ac_ext, and return whether this succeeded.
+ac_fn_c_try_link ()
+{
+ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+ rm -f conftest.$ac_objext conftest$ac_exeext
+ if { { ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+ (eval "$ac_link") 2>conftest.err
+ ac_status=$?
+ if test -s conftest.err; then
+ grep -v '^ *+' conftest.err >conftest.er1
+ cat conftest.er1 >&5
+ mv -f conftest.er1 conftest.err
+ fi
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then :
+ ac_retval=0
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_retval=1
+fi
+ # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information
+ # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would
+ # interfere with the next link command; also delete a directory that is
+ # left behind by Apple's compiler. We do this before executing the actions.
+ rm -rf conftest.dSYM conftest_ipa8_conftest.oo
+ eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+ as_fn_set_status $ac_retval
+
+} # ac_fn_c_try_link
+
+# ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES
+# -------------------------------------------------------
+# Tests whether HEADER exists and can be compiled using the include files in
+# INCLUDES, setting the cache variable VAR accordingly.
+ac_fn_c_check_header_compile ()
+{
+ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
+$as_echo_n "checking for $2... " >&6; }
+if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+$4
+#include <$2>
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ eval "$3=yes"
+else
+ eval "$3=no"
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+eval ac_res=\$$3
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+ eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+
+} # ac_fn_c_check_header_compile
+
+# ac_fn_c_try_cpp LINENO
+# ----------------------
+# Try to preprocess conftest.$ac_ext, and return whether this succeeded.
+ac_fn_c_try_cpp ()
+{
+ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+ if { { ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err
+ ac_status=$?
+ if test -s conftest.err; then
+ grep -v '^ *+' conftest.err >conftest.er1
+ cat conftest.er1 >&5
+ mv -f conftest.er1 conftest.err
+ fi
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; } >/dev/null && {
+ test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ }; then :
+ ac_retval=0
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_retval=1
+fi
+ eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+ as_fn_set_status $ac_retval
+
+} # ac_fn_c_try_cpp
+
+# ac_fn_c_try_run LINENO
+# ----------------------
+# Try to link conftest.$ac_ext, and return whether this succeeded. Assumes
+# that executables *can* be run.
+ac_fn_c_try_run ()
+{
+ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+ if { { ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+ (eval "$ac_link") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; } && { ac_try='./conftest$ac_exeext'
+ { { case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+ (eval "$ac_try") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; }; then :
+ ac_retval=0
+else
+ $as_echo "$as_me: program exited with status $ac_status" >&5
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_retval=$ac_status
+fi
+ rm -rf conftest.dSYM conftest_ipa8_conftest.oo
+ eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+ as_fn_set_status $ac_retval
+
+} # ac_fn_c_try_run
+
+# ac_fn_c_check_func LINENO FUNC VAR
+# ----------------------------------
+# Tests whether FUNC exists, setting the cache variable VAR accordingly
+ac_fn_c_check_func ()
+{
+ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
+$as_echo_n "checking for $2... " >&6; }
+if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+/* Define $2 to an innocuous variant, in case <limits.h> declares $2.
+ For example, HP-UX 11i <limits.h> declares gettimeofday. */
+#define $2 innocuous_$2
+
+/* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char $2 (); below.
+ Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+ <limits.h> exists even on freestanding compilers. */
+
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+
+#undef $2
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char $2 ();
+/* The GNU C library defines this for functions which it implements
+ to always fail with ENOSYS. Some functions are actually named
+ something starting with __ and the normal name is an alias. */
+#if defined __stub_$2 || defined __stub___$2
+choke me
+#endif
+
+int
+main ()
+{
+return $2 ();
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ eval "$3=yes"
+else
+ eval "$3=no"
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+fi
+eval ac_res=\$$3
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+ eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+
+} # ac_fn_c_check_func
+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 gtk-doc $as_me 1.18, which was
+generated by GNU Autoconf 2.65. 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
+
+ cat <<\_ASBOX
+## ---------------- ##
+## Cache variables. ##
+## ---------------- ##
+_ASBOX
+ 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
+
+ cat <<\_ASBOX
+## ----------------- ##
+## Output variables. ##
+## ----------------- ##
+_ASBOX
+ 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
+ cat <<\_ASBOX
+## ------------------- ##
+## File substitutions. ##
+## ------------------- ##
+_ASBOX
+ 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
+ cat <<\_ASBOX
+## ----------- ##
+## confdefs.h. ##
+## ----------- ##
+_ASBOX
+ 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
+ ac_site_file1=$CONFIG_SITE
+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"
+ 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
+
+
+
+
+
+ac_aux_dir=
+for ac_dir in build-aux "$srcdir"/build-aux; do
+ for ac_t in install-sh install.sh shtool; do
+ if test -f "$ac_dir/$ac_t"; then
+ ac_aux_dir=$ac_dir
+ ac_install_sh="$ac_aux_dir/$ac_t -c"
+ break 2
+ fi
+ done
+done
+if test -z "$ac_aux_dir"; then
+ as_fn_error "cannot find install-sh, install.sh, or shtool in build-aux \"$srcdir\"/build-aux" "$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.
+
+
+
+am__api_version='1.11'
+
+# 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 test "${ac_cv_path_install+set}" = set; 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 test "${ac_cv_prog_STRIP+set}" = set; 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 test "${ac_cv_prog_ac_ct_STRIP+set}" = set; 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 test "${ac_cv_path_mkdir+set}" = set; 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 test "${ac_cv_prog_AWK+set}" = set; 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 { as_var=ac_cv_prog_make_${ac_make}_set; eval "test \"\${$as_var+set}\" = set"; }; 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='gtk-doc'
+ VERSION='1.18'
+
+
+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"}
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to create a ustar tar archive" >&5
+$as_echo_n "checking how to create a ustar tar archive... " >&6; }
+# Loop over all known methods to create a tar archive until one works.
+_am_tools='gnutar plaintar pax cpio none'
+_am_tools=${am_cv_prog_tar_ustar-$_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
+ { echo "$as_me:$LINENO: $_am_tar --version" >&5
+ ($_am_tar --version) >&5 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && break
+ done
+ am__tar="$_am_tar --format=ustar -chf - "'"$$tardir"'
+ am__tar_="$_am_tar --format=ustar -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 ustar -w "$$tardir"'
+ am__tar_='pax -L -x ustar -w "$tardir"'
+ am__untar='pax -r'
+ ;;
+ cpio)
+ am__tar='find "$$tardir" -print | cpio -o -H ustar -L'
+ am__tar_='find "$tardir" -print | cpio -o -H ustar -L'
+ am__untar='cpio -i -H ustar -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_ustar}" && break
+
+ # tar/untar a dummy directory, and stop if the command works
+ rm -rf conftest.dir
+ mkdir conftest.dir
+ echo GrepMe > conftest.dir/file
+ { echo "$as_me:$LINENO: tardir=conftest.dir && eval $am__tar_ >conftest.tar" >&5
+ (tardir=conftest.dir && eval $am__tar_ >conftest.tar) >&5 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }
+ rm -rf conftest.dir
+ if test -s conftest.tar; then
+ { echo "$as_me:$LINENO: $am__untar <conftest.tar" >&5
+ ($am__untar <conftest.tar) >&5 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }
+ grep GrepMe conftest.dir/file >/dev/null 2>&1 && break
+ fi
+done
+rm -rf conftest.dir
+
+if test "${am_cv_prog_tar_ustar+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ am_cv_prog_tar_ustar=$_am_tool
+fi
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_prog_tar_ustar" >&5
+$as_echo "$am_cv_prog_tar_ustar" >&6; }
+
+
+
+
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to disable maintainer-specific portions of Makefiles" >&5
+$as_echo_n "checking whether to disable maintainer-specific portions of Makefiles... " >&6; }
+ # Check whether --enable-maintainer-mode was given.
+if test "${enable_maintainer_mode+set}" = set; then :
+ enableval=$enable_maintainer_mode; USE_MAINTAINER_MODE=$enableval
+else
+ USE_MAINTAINER_MODE=yes
+fi
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $USE_MAINTAINER_MODE" >&5
+$as_echo "$USE_MAINTAINER_MODE" >&6; }
+ if test $USE_MAINTAINER_MODE = yes; then
+ MAINTAINER_MODE_TRUE=
+ MAINTAINER_MODE_FALSE='#'
+else
+ MAINTAINER_MODE_TRUE='#'
+ MAINTAINER_MODE_FALSE=
+fi
+
+ MAINT=$MAINTAINER_MODE_TRUE
+
+
+
+# Support silent build rules, requires at least automake-1.11. Disable
+# by either passing --disable-silent-rules to configure or passing V=1
+# to make
+# Check whether --enable-silent-rules was given.
+if test "${enable_silent_rules+set}" = set; then :
+ enableval=$enable_silent_rules;
+fi
+
+case $enable_silent_rules in
+yes) AM_DEFAULT_VERBOSITY=0;;
+no) AM_DEFAULT_VERBOSITY=1;;
+*) AM_DEFAULT_VERBOSITY=0;;
+esac
+AM_BACKSLASH='\'
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ln -s works" >&5
+$as_echo_n "checking whether ln -s works... " >&6; }
+LN_S=$as_ln_s
+if test "$LN_S" = "ln -s"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no, using $LN_S" >&5
+$as_echo "no, using $LN_S" >&6; }
+fi
+
+
+
+if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then
+ if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}pkg-config", so it can be a program name with args.
+set dummy ${ac_tool_prefix}pkg-config; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_path_PKG_CONFIG+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ case $PKG_CONFIG in
+ [\\/]* | ?:[\\/]*)
+ ac_cv_path_PKG_CONFIG="$PKG_CONFIG" # 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_PKG_CONFIG="$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
+PKG_CONFIG=$ac_cv_path_PKG_CONFIG
+if test -n "$PKG_CONFIG"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5
+$as_echo "$PKG_CONFIG" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_path_PKG_CONFIG"; then
+ ac_pt_PKG_CONFIG=$PKG_CONFIG
+ # Extract the first word of "pkg-config", so it can be a program name with args.
+set dummy pkg-config; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_path_ac_pt_PKG_CONFIG+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ case $ac_pt_PKG_CONFIG in
+ [\\/]* | ?:[\\/]*)
+ ac_cv_path_ac_pt_PKG_CONFIG="$ac_pt_PKG_CONFIG" # 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_ac_pt_PKG_CONFIG="$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
+ac_pt_PKG_CONFIG=$ac_cv_path_ac_pt_PKG_CONFIG
+if test -n "$ac_pt_PKG_CONFIG"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_pt_PKG_CONFIG" >&5
+$as_echo "$ac_pt_PKG_CONFIG" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+ if test "x$ac_pt_PKG_CONFIG" = x; then
+ PKG_CONFIG=""
+ 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
+ PKG_CONFIG=$ac_pt_PKG_CONFIG
+ fi
+else
+ PKG_CONFIG="$ac_cv_path_PKG_CONFIG"
+fi
+
+fi
+if test -n "$PKG_CONFIG"; then
+ _pkg_min_version=0.9.0
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking pkg-config is at least version $_pkg_min_version" >&5
+$as_echo_n "checking pkg-config is at least version $_pkg_min_version... " >&6; }
+ if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+ else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+ PKG_CONFIG=""
+ fi
+
+fi
+
+gdu_cv_version_required=0.3.2
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking gnome-doc-utils >= $gdu_cv_version_required" >&5
+$as_echo_n "checking gnome-doc-utils >= $gdu_cv_version_required... " >&6; }
+if test -n "$PKG_CONFIG" && \
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"gnome-doc-utils >= \$gdu_cv_version_required\""; } >&5
+ ($PKG_CONFIG --exists --print-errors "gnome-doc-utils >= $gdu_cv_version_required") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; then
+ gdu_cv_have_gdu=yes
+else
+ gdu_cv_have_gdu=no
+fi
+
+if test "$gdu_cv_have_gdu" = "yes"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+ :
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+ enable_scrollkeeper=no
+fi
+
+
+
+# Check whether --with-help-dir was given.
+if test "${with_help_dir+set}" = set; then :
+ withval=$with_help_dir;
+else
+ with_help_dir='${datadir}/gnome/help'
+fi
+
+HELP_DIR="$with_help_dir"
+
+
+
+# Check whether --with-omf-dir was given.
+if test "${with_omf_dir+set}" = set; then :
+ withval=$with_omf_dir;
+else
+ with_omf_dir='${datadir}/omf'
+fi
+
+OMF_DIR="$with_omf_dir"
+
+
+
+# Check whether --with-help-formats was given.
+if test "${with_help_formats+set}" = set; then :
+ withval=$with_help_formats;
+else
+ with_help_formats=''
+fi
+
+DOC_USER_FORMATS="$with_help_formats"
+
+
+# Check whether --enable-scrollkeeper was given.
+if test "${enable_scrollkeeper+set}" = set; then :
+ enableval=$enable_scrollkeeper;
+else
+ enable_scrollkeeper=yes
+fi
+
+ if test "$gdu_cv_have_gdu" = "yes" -a "$enable_scrollkeeper" = "yes"; then
+ ENABLE_SK_TRUE=
+ ENABLE_SK_FALSE='#'
+else
+ ENABLE_SK_TRUE='#'
+ ENABLE_SK_FALSE=
+fi
+
+
+DISTCHECK_CONFIGURE_FLAGS="--disable-scrollkeeper $DISTCHECK_CONFIGURE_FLAGS"
+
+
+ if test "$gdu_cv_have_gdu" = "yes"; then
+ HAVE_GNOME_DOC_UTILS_TRUE=
+ HAVE_GNOME_DOC_UTILS_FALSE='#'
+else
+ HAVE_GNOME_DOC_UTILS_TRUE='#'
+ HAVE_GNOME_DOC_UTILS_FALSE=
+fi
+
+
+
+
+# Check for programs
+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
+if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args.
+set dummy ${ac_tool_prefix}gcc; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_CC+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # 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_CC="${ac_tool_prefix}gcc"
+ $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
+CC=$ac_cv_prog_CC
+if test -n "$CC"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
+$as_echo "$CC" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_CC"; then
+ ac_ct_CC=$CC
+ # Extract the first word of "gcc", so it can be a program name with args.
+set dummy gcc; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_ac_ct_CC+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$ac_ct_CC"; then
+ ac_cv_prog_ac_ct_CC="$ac_ct_CC" # 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_CC="gcc"
+ $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_CC=$ac_cv_prog_ac_ct_CC
+if test -n "$ac_ct_CC"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
+$as_echo "$ac_ct_CC" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+ if test "x$ac_ct_CC" = x; then
+ CC=""
+ 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
+ CC=$ac_ct_CC
+ fi
+else
+ CC="$ac_cv_prog_CC"
+fi
+
+if test -z "$CC"; then
+ if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args.
+set dummy ${ac_tool_prefix}cc; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_CC+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # 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_CC="${ac_tool_prefix}cc"
+ $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
+CC=$ac_cv_prog_CC
+if test -n "$CC"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
+$as_echo "$CC" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+ fi
+fi
+if test -z "$CC"; then
+ # Extract the first word of "cc", so it can be a program name with args.
+set dummy cc; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_CC+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+ ac_prog_rejected=no
+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
+ if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
+ ac_prog_rejected=yes
+ continue
+ fi
+ ac_cv_prog_CC="cc"
+ $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
+
+if test $ac_prog_rejected = yes; then
+ # We found a bogon in the path, so make sure we never use it.
+ set dummy $ac_cv_prog_CC
+ shift
+ if test $# != 0; then
+ # We chose a different compiler from the bogus one.
+ # However, it has the same basename, so the bogon will be chosen
+ # first if we set CC to just the basename; use the full file name.
+ shift
+ ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@"
+ fi
+fi
+fi
+fi
+CC=$ac_cv_prog_CC
+if test -n "$CC"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
+$as_echo "$CC" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$CC"; then
+ if test -n "$ac_tool_prefix"; then
+ for ac_prog in cl.exe
+ do
+ # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
+set dummy $ac_tool_prefix$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 test "${ac_cv_prog_CC+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # 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_CC="$ac_tool_prefix$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
+CC=$ac_cv_prog_CC
+if test -n "$CC"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
+$as_echo "$CC" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+ test -n "$CC" && break
+ done
+fi
+if test -z "$CC"; then
+ ac_ct_CC=$CC
+ for ac_prog in cl.exe
+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 test "${ac_cv_prog_ac_ct_CC+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$ac_ct_CC"; then
+ ac_cv_prog_ac_ct_CC="$ac_ct_CC" # 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_CC="$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
+ac_ct_CC=$ac_cv_prog_ac_ct_CC
+if test -n "$ac_ct_CC"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
+$as_echo "$ac_ct_CC" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+ test -n "$ac_ct_CC" && break
+done
+
+ if test "x$ac_ct_CC" = x; then
+ CC=""
+ 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
+ CC=$ac_ct_CC
+ fi
+fi
+
+fi
+
+
+test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error "no acceptable C compiler found in \$PATH
+See \`config.log' for more details." "$LINENO" 5; }
+
+# Provide some information about the compiler.
+$as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5
+set X $ac_compile
+ac_compiler=$2
+for ac_option in --version -v -V -qversion; do
+ { { ac_try="$ac_compiler $ac_option >&5"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+ (eval "$ac_compiler $ac_option >&5") 2>conftest.err
+ ac_status=$?
+ if test -s conftest.err; then
+ sed '10a\
+... rest of stderr output deleted ...
+ 10q' conftest.err >conftest.er1
+ cat conftest.er1 >&5
+ fi
+ rm -f conftest.er1 conftest.err
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }
+done
+
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+ac_clean_files_save=$ac_clean_files
+ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out"
+# Try to create an executable without -o first, disregard a.out.
+# It will help us diagnose broken compilers, and finding out an intuition
+# of exeext.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5
+$as_echo_n "checking whether the C compiler works... " >&6; }
+ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
+
+# The possible output files:
+ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*"
+
+ac_rmfiles=
+for ac_file in $ac_files
+do
+ case $ac_file in
+ *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;;
+ * ) ac_rmfiles="$ac_rmfiles $ac_file";;
+ esac
+done
+rm -f $ac_rmfiles
+
+if { { ac_try="$ac_link_default"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+ (eval "$ac_link_default") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; then :
+ # Autoconf-2.13 could set the ac_cv_exeext variable to `no'.
+# So ignore a value of `no', otherwise this would lead to `EXEEXT = no'
+# in a Makefile. We should not override ac_cv_exeext if it was cached,
+# so that the user can short-circuit this test for compilers unknown to
+# Autoconf.
+for ac_file in $ac_files ''
+do
+ test -f "$ac_file" || continue
+ case $ac_file in
+ *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj )
+ ;;
+ [ab].out )
+ # We found the default executable, but exeext='' is most
+ # certainly right.
+ break;;
+ *.* )
+ if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no;
+ then :; else
+ ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
+ fi
+ # We set ac_cv_exeext here because the later test for it is not
+ # safe: cross compilers may not add the suffix if given an `-o'
+ # argument, so we may need to know it at that point already.
+ # Even if this section looks crufty: it has the advantage of
+ # actually working.
+ break;;
+ * )
+ break;;
+ esac
+done
+test "$ac_cv_exeext" = no && ac_cv_exeext=
+
+else
+ ac_file=''
+fi
+if test -z "$ac_file"; then :
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+$as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+{ as_fn_set_status 77
+as_fn_error "C compiler cannot create executables
+See \`config.log' for more details." "$LINENO" 5; }; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5
+$as_echo_n "checking for C compiler default output file name... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5
+$as_echo "$ac_file" >&6; }
+ac_exeext=$ac_cv_exeext
+
+rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out
+ac_clean_files=$ac_clean_files_save
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5
+$as_echo_n "checking for suffix of executables... " >&6; }
+if { { ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+ (eval "$ac_link") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; then :
+ # If both `conftest.exe' and `conftest' are `present' (well, observable)
+# catch `conftest.exe'. For instance with Cygwin, `ls conftest' will
+# work properly (i.e., refer to `conftest.exe'), while it won't with
+# `rm'.
+for ac_file in conftest.exe conftest conftest.*; do
+ test -f "$ac_file" || continue
+ case $ac_file in
+ *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;;
+ *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
+ break;;
+ * ) break;;
+ esac
+done
+else
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error "cannot compute suffix of executables: cannot compile and link
+See \`config.log' for more details." "$LINENO" 5; }
+fi
+rm -f conftest conftest$ac_cv_exeext
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5
+$as_echo "$ac_cv_exeext" >&6; }
+
+rm -f conftest.$ac_ext
+EXEEXT=$ac_cv_exeext
+ac_exeext=$EXEEXT
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <stdio.h>
+int
+main ()
+{
+FILE *f = fopen ("conftest.out", "w");
+ return ferror (f) || fclose (f) != 0;
+
+ ;
+ return 0;
+}
+_ACEOF
+ac_clean_files="$ac_clean_files conftest.out"
+# Check that the compiler produces executables we can run. If not, either
+# the compiler is broken, or we cross compile.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5
+$as_echo_n "checking whether we are cross compiling... " >&6; }
+if test "$cross_compiling" != yes; then
+ { { ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+ (eval "$ac_link") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }
+ if { ac_try='./conftest$ac_cv_exeext'
+ { { case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+ (eval "$ac_try") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; }; then
+ cross_compiling=no
+ else
+ if test "$cross_compiling" = maybe; then
+ cross_compiling=yes
+ else
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error "cannot run C compiled programs.
+If you meant to cross compile, use \`--host'.
+See \`config.log' for more details." "$LINENO" 5; }
+ fi
+ fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5
+$as_echo "$cross_compiling" >&6; }
+
+rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out
+ac_clean_files=$ac_clean_files_save
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5
+$as_echo_n "checking for suffix of object files... " >&6; }
+if test "${ac_cv_objext+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.o conftest.obj
+if { { ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+ (eval "$ac_compile") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; then :
+ for ac_file in conftest.o conftest.obj conftest.*; do
+ test -f "$ac_file" || continue;
+ case $ac_file in
+ *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM ) ;;
+ *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'`
+ break;;
+ esac
+done
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error "cannot compute suffix of object files: cannot compile
+See \`config.log' for more details." "$LINENO" 5; }
+fi
+rm -f conftest.$ac_cv_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5
+$as_echo "$ac_cv_objext" >&6; }
+OBJEXT=$ac_cv_objext
+ac_objext=$OBJEXT
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5
+$as_echo_n "checking whether we are using the GNU C compiler... " >&6; }
+if test "${ac_cv_c_compiler_gnu+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+#ifndef __GNUC__
+ choke me
+#endif
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ ac_compiler_gnu=yes
+else
+ ac_compiler_gnu=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ac_cv_c_compiler_gnu=$ac_compiler_gnu
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5
+$as_echo "$ac_cv_c_compiler_gnu" >&6; }
+if test $ac_compiler_gnu = yes; then
+ GCC=yes
+else
+ GCC=
+fi
+ac_test_CFLAGS=${CFLAGS+set}
+ac_save_CFLAGS=$CFLAGS
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5
+$as_echo_n "checking whether $CC accepts -g... " >&6; }
+if test "${ac_cv_prog_cc_g+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_save_c_werror_flag=$ac_c_werror_flag
+ ac_c_werror_flag=yes
+ ac_cv_prog_cc_g=no
+ CFLAGS="-g"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ ac_cv_prog_cc_g=yes
+else
+ CFLAGS=""
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+
+else
+ ac_c_werror_flag=$ac_save_c_werror_flag
+ CFLAGS="-g"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ ac_cv_prog_cc_g=yes
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ ac_c_werror_flag=$ac_save_c_werror_flag
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5
+$as_echo "$ac_cv_prog_cc_g" >&6; }
+if test "$ac_test_CFLAGS" = set; then
+ CFLAGS=$ac_save_CFLAGS
+elif test $ac_cv_prog_cc_g = yes; then
+ if test "$GCC" = yes; then
+ CFLAGS="-g -O2"
+ else
+ CFLAGS="-g"
+ fi
+else
+ if test "$GCC" = yes; then
+ CFLAGS="-O2"
+ else
+ CFLAGS=
+ fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5
+$as_echo_n "checking for $CC option to accept ISO C89... " >&6; }
+if test "${ac_cv_prog_cc_c89+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_cv_prog_cc_c89=no
+ac_save_CC=$CC
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <stdarg.h>
+#include <stdio.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */
+struct buf { int x; };
+FILE * (*rcsopen) (struct buf *, struct stat *, int);
+static char *e (p, i)
+ char **p;
+ int i;
+{
+ return p[i];
+}
+static char *f (char * (*g) (char **, int), char **p, ...)
+{
+ char *s;
+ va_list v;
+ va_start (v,p);
+ s = g (p, va_arg (v,int));
+ va_end (v);
+ return s;
+}
+
+/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has
+ function prototypes and stuff, but not '\xHH' hex character constants.
+ These don't provoke an error unfortunately, instead are silently treated
+ as 'x'. The following induces an error, until -std is added to get
+ proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an
+ array size at least. It's necessary to write '\x00'==0 to get something
+ that's true only with -std. */
+int osf4_cc_array ['\x00' == 0 ? 1 : -1];
+
+/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters
+ inside strings and character constants. */
+#define FOO(x) 'x'
+int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1];
+
+int test (int i, double x);
+struct s1 {int (*f) (int a);};
+struct s2 {int (*f) (double a);};
+int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int);
+int argc;
+char **argv;
+int
+main ()
+{
+return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1];
+ ;
+ return 0;
+}
+_ACEOF
+for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \
+ -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
+do
+ CC="$ac_save_CC $ac_arg"
+ if ac_fn_c_try_compile "$LINENO"; then :
+ ac_cv_prog_cc_c89=$ac_arg
+fi
+rm -f core conftest.err conftest.$ac_objext
+ test "x$ac_cv_prog_cc_c89" != "xno" && break
+done
+rm -f conftest.$ac_ext
+CC=$ac_save_CC
+
+fi
+# AC_CACHE_VAL
+case "x$ac_cv_prog_cc_c89" in
+ x)
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5
+$as_echo "none needed" >&6; } ;;
+ xno)
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5
+$as_echo "unsupported" >&6; } ;;
+ *)
+ CC="$CC $ac_cv_prog_cc_c89"
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5
+$as_echo "$ac_cv_prog_cc_c89" >&6; } ;;
+esac
+if test "x$ac_cv_prog_cc_c89" != xno; then :
+
+fi
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+DEPDIR="${am__leading_dot}deps"
+
+ac_config_commands="$ac_config_commands depfiles"
+
+
+am_make=${MAKE-make}
+cat > confinc << 'END'
+am__doit:
+ @echo this is the am__doit target
+.PHONY: am__doit
+END
+# If we don't find an include directive, just comment out the code.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for style of include used by $am_make" >&5
+$as_echo_n "checking for style of include used by $am_make... " >&6; }
+am__include="#"
+am__quote=
+_am_result=none
+# First try GNU make style include.
+echo "include confinc" > confmf
+# Ignore all kinds of additional output from `make'.
+case `$am_make -s -f confmf 2> /dev/null` in #(
+*the\ am__doit\ target*)
+ am__include=include
+ am__quote=
+ _am_result=GNU
+ ;;
+esac
+# Now try BSD make style include.
+if test "$am__include" = "#"; then
+ echo '.include "confinc"' > confmf
+ case `$am_make -s -f confmf 2> /dev/null` in #(
+ *the\ am__doit\ target*)
+ am__include=.include
+ am__quote="\""
+ _am_result=BSD
+ ;;
+ esac
+fi
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $_am_result" >&5
+$as_echo "$_am_result" >&6; }
+rm -f confinc confmf
+
+# Check whether --enable-dependency-tracking was given.
+if test "${enable_dependency_tracking+set}" = set; then :
+ enableval=$enable_dependency_tracking;
+fi
+
+if test "x$enable_dependency_tracking" != xno; then
+ am_depcomp="$ac_aux_dir/depcomp"
+ AMDEPBACKSLASH='\'
+fi
+ if test "x$enable_dependency_tracking" != xno; then
+ AMDEP_TRUE=
+ AMDEP_FALSE='#'
+else
+ AMDEP_TRUE='#'
+ AMDEP_FALSE=
+fi
+
+
+
+depcc="$CC" am_compiler_list=
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5
+$as_echo_n "checking dependency style of $depcc... " >&6; }
+if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
+ # We make a subdir and do the tests there. Otherwise we can end up
+ # making bogus files that we don't know about and never remove. For
+ # instance it was reported that on HP-UX the gcc test will end up
+ # making a dummy file named `D' -- because `-MD' means `put the output
+ # in D'.
+ mkdir conftest.dir
+ # Copy depcomp to subdir because otherwise we won't find it if we're
+ # using a relative directory.
+ cp "$am_depcomp" conftest.dir
+ cd conftest.dir
+ # We will build objects and dependencies in a subdirectory because
+ # it helps to detect inapplicable dependency modes. For instance
+ # both Tru64's cc and ICC support -MD to output dependencies as a
+ # side effect of compilation, but ICC will put the dependencies in
+ # the current directory while Tru64 will put them in the object
+ # directory.
+ mkdir sub
+
+ am_cv_CC_dependencies_compiler_type=none
+ if test "$am_compiler_list" = ""; then
+ am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp`
+ fi
+ am__universal=false
+ case " $depcc " in #(
+ *\ -arch\ *\ -arch\ *) am__universal=true ;;
+ esac
+
+ for depmode in $am_compiler_list; do
+ # Setup a source with many dependencies, because some compilers
+ # like to wrap large dependency lists on column 80 (with \), and
+ # we should not choose a depcomp mode which is confused by this.
+ #
+ # We need to recreate these files for each test, as the compiler may
+ # overwrite some of them when testing with obscure command lines.
+ # This happens at least with the AIX C compiler.
+ : > sub/conftest.c
+ for i in 1 2 3 4 5 6; do
+ echo '#include "conftst'$i'.h"' >> sub/conftest.c
+ # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
+ # Solaris 8's {/usr,}/bin/sh.
+ touch sub/conftst$i.h
+ done
+ echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
+
+ # We check with `-c' and `-o' for the sake of the "dashmstdout"
+ # mode. It turns out that the SunPro C++ compiler does not properly
+ # handle `-M -o', and we need to detect this. Also, some Intel
+ # versions had trouble with output in subdirs
+ am__obj=sub/conftest.${OBJEXT-o}
+ am__minus_obj="-o $am__obj"
+ case $depmode in
+ gcc)
+ # This depmode causes a compiler race in universal mode.
+ test "$am__universal" = false || continue
+ ;;
+ nosideeffect)
+ # after this tag, mechanisms are not by side-effect, so they'll
+ # only be used when explicitly requested
+ if test "x$enable_dependency_tracking" = xyes; then
+ continue
+ else
+ break
+ fi
+ ;;
+ msvisualcpp | msvcmsys)
+ # This compiler won't grok `-c -o', but also, the minuso test has
+ # not run yet. These depmodes are late enough in the game, and
+ # so weak that their functioning should not be impacted.
+ am__obj=conftest.${OBJEXT-o}
+ am__minus_obj=
+ ;;
+ none) break ;;
+ esac
+ if depmode=$depmode \
+ source=sub/conftest.c object=$am__obj \
+ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
+ $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
+ >/dev/null 2>conftest.err &&
+ grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
+ grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
+ grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
+ ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
+ # icc doesn't choke on unknown options, it will just issue warnings
+ # or remarks (even with -Werror). So we grep stderr for any message
+ # that says an option was ignored or not supported.
+ # When given -MP, icc 7.0 and 7.1 complain thusly:
+ # icc: Command line warning: ignoring option '-M'; no argument required
+ # The diagnosis changed in icc 8.0:
+ # icc: Command line remark: option '-MP' not supported
+ if (grep 'ignoring option' conftest.err ||
+ grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
+ am_cv_CC_dependencies_compiler_type=$depmode
+ break
+ fi
+ fi
+ done
+
+ cd ..
+ rm -rf conftest.dir
+else
+ am_cv_CC_dependencies_compiler_type=none
+fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5
+$as_echo "$am_cv_CC_dependencies_compiler_type" >&6; }
+CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type
+
+ if
+ test "x$enable_dependency_tracking" != xno \
+ && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then
+ am__fastdepCC_TRUE=
+ am__fastdepCC_FALSE='#'
+else
+ am__fastdepCC_TRUE='#'
+ am__fastdepCC_FALSE=
+fi
+
+
+
+# Initialize libtool
+
+case `pwd` in
+ *\ * | *\ *)
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&5
+$as_echo "$as_me: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&2;} ;;
+esac
+
+
+
+macro_version='2.2.6b'
+macro_revision='1.3017'
+
+
+
+
+
+
+
+
+
+
+
+
+
+ltmain="$ac_aux_dir/ltmain.sh"
+
+# Make sure we can run config.sub.
+$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 ||
+ as_fn_error "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5
+$as_echo_n "checking build system type... " >&6; }
+if test "${ac_cv_build+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_build_alias=$build_alias
+test "x$ac_build_alias" = x &&
+ ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"`
+test "x$ac_build_alias" = x &&
+ as_fn_error "cannot guess build type; you must specify one" "$LINENO" 5
+ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` ||
+ as_fn_error "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5
+$as_echo "$ac_cv_build" >&6; }
+case $ac_cv_build in
+*-*-*) ;;
+*) as_fn_error "invalid value of canonical build" "$LINENO" 5;;
+esac
+build=$ac_cv_build
+ac_save_IFS=$IFS; IFS='-'
+set x $ac_cv_build
+shift
+build_cpu=$1
+build_vendor=$2
+shift; shift
+# Remember, the first character of IFS is used to create $*,
+# except with old shells:
+build_os=$*
+IFS=$ac_save_IFS
+case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5
+$as_echo_n "checking host system type... " >&6; }
+if test "${ac_cv_host+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test "x$host_alias" = x; then
+ ac_cv_host=$ac_cv_build
+else
+ ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` ||
+ as_fn_error "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5
+fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5
+$as_echo "$ac_cv_host" >&6; }
+case $ac_cv_host in
+*-*-*) ;;
+*) as_fn_error "invalid value of canonical host" "$LINENO" 5;;
+esac
+host=$ac_cv_host
+ac_save_IFS=$IFS; IFS='-'
+set x $ac_cv_host
+shift
+host_cpu=$1
+host_vendor=$2
+shift; shift
+# Remember, the first character of IFS is used to create $*,
+# except with old shells:
+host_os=$*
+IFS=$ac_save_IFS
+case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5
+$as_echo_n "checking for a sed that does not truncate output... " >&6; }
+if test "${ac_cv_path_SED+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/
+ for ac_i in 1 2 3 4 5 6 7; do
+ ac_script="$ac_script$as_nl$ac_script"
+ done
+ echo "$ac_script" 2>/dev/null | sed 99q >conftest.sed
+ { ac_script=; unset ac_script;}
+ if test -z "$SED"; then
+ ac_path_SED_found=false
+ # Loop through the user's path and test for each of PROGNAME-LIST
+ 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_prog in sed gsed; do
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ ac_path_SED="$as_dir/$ac_prog$ac_exec_ext"
+ { test -f "$ac_path_SED" && $as_test_x "$ac_path_SED"; } || continue
+# Check for GNU ac_path_SED and select it if it is found.
+ # Check for GNU $ac_path_SED
+case `"$ac_path_SED" --version 2>&1` in
+*GNU*)
+ ac_cv_path_SED="$ac_path_SED" ac_path_SED_found=:;;
+*)
+ ac_count=0
+ $as_echo_n 0123456789 >"conftest.in"
+ while :
+ do
+ cat "conftest.in" "conftest.in" >"conftest.tmp"
+ mv "conftest.tmp" "conftest.in"
+ cp "conftest.in" "conftest.nl"
+ $as_echo '' >> "conftest.nl"
+ "$ac_path_SED" -f conftest.sed < "conftest.nl" >"conftest.out" 2>/dev/null || break
+ diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
+ as_fn_arith $ac_count + 1 && ac_count=$as_val
+ if test $ac_count -gt ${ac_path_SED_max-0}; then
+ # Best one so far, save it but keep looking for a better one
+ ac_cv_path_SED="$ac_path_SED"
+ ac_path_SED_max=$ac_count
+ fi
+ # 10*(2^10) chars as input seems more than enough
+ test $ac_count -gt 10 && break
+ done
+ rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
+esac
+
+ $ac_path_SED_found && break 3
+ done
+ done
+ done
+IFS=$as_save_IFS
+ if test -z "$ac_cv_path_SED"; then
+ as_fn_error "no acceptable sed could be found in \$PATH" "$LINENO" 5
+ fi
+else
+ ac_cv_path_SED=$SED
+fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_SED" >&5
+$as_echo "$ac_cv_path_SED" >&6; }
+ SED="$ac_cv_path_SED"
+ rm -f conftest.sed
+
+test -z "$SED" && SED=sed
+Xsed="$SED -e 1s/^X//"
+
+
+
+
+
+
+
+
+
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5
+$as_echo_n "checking for grep that handles long lines and -e... " >&6; }
+if test "${ac_cv_path_GREP+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -z "$GREP"; then
+ ac_path_GREP_found=false
+ # Loop through the user's path and test for each of PROGNAME-LIST
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_prog in grep ggrep; do
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext"
+ { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue
+# Check for GNU ac_path_GREP and select it if it is found.
+ # Check for GNU $ac_path_GREP
+case `"$ac_path_GREP" --version 2>&1` in
+*GNU*)
+ ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;;
+*)
+ ac_count=0
+ $as_echo_n 0123456789 >"conftest.in"
+ while :
+ do
+ cat "conftest.in" "conftest.in" >"conftest.tmp"
+ mv "conftest.tmp" "conftest.in"
+ cp "conftest.in" "conftest.nl"
+ $as_echo 'GREP' >> "conftest.nl"
+ "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break
+ diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
+ as_fn_arith $ac_count + 1 && ac_count=$as_val
+ if test $ac_count -gt ${ac_path_GREP_max-0}; then
+ # Best one so far, save it but keep looking for a better one
+ ac_cv_path_GREP="$ac_path_GREP"
+ ac_path_GREP_max=$ac_count
+ fi
+ # 10*(2^10) chars as input seems more than enough
+ test $ac_count -gt 10 && break
+ done
+ rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
+esac
+
+ $ac_path_GREP_found && break 3
+ done
+ done
+ done
+IFS=$as_save_IFS
+ if test -z "$ac_cv_path_GREP"; then
+ as_fn_error "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
+ fi
+else
+ ac_cv_path_GREP=$GREP
+fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5
+$as_echo "$ac_cv_path_GREP" >&6; }
+ GREP="$ac_cv_path_GREP"
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5
+$as_echo_n "checking for egrep... " >&6; }
+if test "${ac_cv_path_EGREP+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ if echo a | $GREP -E '(a|b)' >/dev/null 2>&1
+ then ac_cv_path_EGREP="$GREP -E"
+ else
+ if test -z "$EGREP"; then
+ ac_path_EGREP_found=false
+ # Loop through the user's path and test for each of PROGNAME-LIST
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_prog in egrep; do
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext"
+ { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue
+# Check for GNU ac_path_EGREP and select it if it is found.
+ # Check for GNU $ac_path_EGREP
+case `"$ac_path_EGREP" --version 2>&1` in
+*GNU*)
+ ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;;
+*)
+ ac_count=0
+ $as_echo_n 0123456789 >"conftest.in"
+ while :
+ do
+ cat "conftest.in" "conftest.in" >"conftest.tmp"
+ mv "conftest.tmp" "conftest.in"
+ cp "conftest.in" "conftest.nl"
+ $as_echo 'EGREP' >> "conftest.nl"
+ "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break
+ diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
+ as_fn_arith $ac_count + 1 && ac_count=$as_val
+ if test $ac_count -gt ${ac_path_EGREP_max-0}; then
+ # Best one so far, save it but keep looking for a better one
+ ac_cv_path_EGREP="$ac_path_EGREP"
+ ac_path_EGREP_max=$ac_count
+ fi
+ # 10*(2^10) chars as input seems more than enough
+ test $ac_count -gt 10 && break
+ done
+ rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
+esac
+
+ $ac_path_EGREP_found && break 3
+ done
+ done
+ done
+IFS=$as_save_IFS
+ if test -z "$ac_cv_path_EGREP"; then
+ as_fn_error "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
+ fi
+else
+ ac_cv_path_EGREP=$EGREP
+fi
+
+ fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5
+$as_echo "$ac_cv_path_EGREP" >&6; }
+ EGREP="$ac_cv_path_EGREP"
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for fgrep" >&5
+$as_echo_n "checking for fgrep... " >&6; }
+if test "${ac_cv_path_FGREP+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ if echo 'ab*c' | $GREP -F 'ab*c' >/dev/null 2>&1
+ then ac_cv_path_FGREP="$GREP -F"
+ else
+ if test -z "$FGREP"; then
+ ac_path_FGREP_found=false
+ # Loop through the user's path and test for each of PROGNAME-LIST
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_prog in fgrep; do
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ ac_path_FGREP="$as_dir/$ac_prog$ac_exec_ext"
+ { test -f "$ac_path_FGREP" && $as_test_x "$ac_path_FGREP"; } || continue
+# Check for GNU ac_path_FGREP and select it if it is found.
+ # Check for GNU $ac_path_FGREP
+case `"$ac_path_FGREP" --version 2>&1` in
+*GNU*)
+ ac_cv_path_FGREP="$ac_path_FGREP" ac_path_FGREP_found=:;;
+*)
+ ac_count=0
+ $as_echo_n 0123456789 >"conftest.in"
+ while :
+ do
+ cat "conftest.in" "conftest.in" >"conftest.tmp"
+ mv "conftest.tmp" "conftest.in"
+ cp "conftest.in" "conftest.nl"
+ $as_echo 'FGREP' >> "conftest.nl"
+ "$ac_path_FGREP" FGREP < "conftest.nl" >"conftest.out" 2>/dev/null || break
+ diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
+ as_fn_arith $ac_count + 1 && ac_count=$as_val
+ if test $ac_count -gt ${ac_path_FGREP_max-0}; then
+ # Best one so far, save it but keep looking for a better one
+ ac_cv_path_FGREP="$ac_path_FGREP"
+ ac_path_FGREP_max=$ac_count
+ fi
+ # 10*(2^10) chars as input seems more than enough
+ test $ac_count -gt 10 && break
+ done
+ rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
+esac
+
+ $ac_path_FGREP_found && break 3
+ done
+ done
+ done
+IFS=$as_save_IFS
+ if test -z "$ac_cv_path_FGREP"; then
+ as_fn_error "no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
+ fi
+else
+ ac_cv_path_FGREP=$FGREP
+fi
+
+ fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_FGREP" >&5
+$as_echo "$ac_cv_path_FGREP" >&6; }
+ FGREP="$ac_cv_path_FGREP"
+
+
+test -z "$GREP" && GREP=grep
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+# Check whether --with-gnu-ld was given.
+if test "${with_gnu_ld+set}" = set; then :
+ withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes
+else
+ with_gnu_ld=no
+fi
+
+ac_prog=ld
+if test "$GCC" = yes; then
+ # Check if gcc -print-prog-name=ld gives a path.
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5
+$as_echo_n "checking for ld used by $CC... " >&6; }
+ case $host in
+ *-*-mingw*)
+ # gcc leaves a trailing carriage return which upsets mingw
+ ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
+ *)
+ ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
+ esac
+ case $ac_prog in
+ # Accept absolute paths.
+ [\\/]* | ?:[\\/]*)
+ re_direlt='/[^/][^/]*/\.\./'
+ # Canonicalize the pathname of ld
+ ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'`
+ while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do
+ ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"`
+ done
+ test -z "$LD" && LD="$ac_prog"
+ ;;
+ "")
+ # If it fails, then pretend we aren't using GCC.
+ ac_prog=ld
+ ;;
+ *)
+ # If it is relative, then search for the first ld in PATH.
+ with_gnu_ld=unknown
+ ;;
+ esac
+elif test "$with_gnu_ld" = yes; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5
+$as_echo_n "checking for GNU ld... " >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5
+$as_echo_n "checking for non-GNU ld... " >&6; }
+fi
+if test "${lt_cv_path_LD+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -z "$LD"; then
+ lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+ for ac_dir in $PATH; do
+ IFS="$lt_save_ifs"
+ test -z "$ac_dir" && ac_dir=.
+ if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
+ lt_cv_path_LD="$ac_dir/$ac_prog"
+ # Check to see if the program is GNU ld. I'd rather use --version,
+ # but apparently some variants of GNU ld only accept -v.
+ # Break only if it was the GNU/non-GNU ld that we prefer.
+ case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in
+ *GNU* | *'with BFD'*)
+ test "$with_gnu_ld" != no && break
+ ;;
+ *)
+ test "$with_gnu_ld" != yes && break
+ ;;
+ esac
+ fi
+ done
+ IFS="$lt_save_ifs"
+else
+ lt_cv_path_LD="$LD" # Let the user override the test with a path.
+fi
+fi
+
+LD="$lt_cv_path_LD"
+if test -n "$LD"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LD" >&5
+$as_echo "$LD" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+test -z "$LD" && as_fn_error "no acceptable ld found in \$PATH" "$LINENO" 5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5
+$as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; }
+if test "${lt_cv_prog_gnu_ld+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ # I'd rather use --version here, but apparently some GNU lds only accept -v.
+case `$LD -v 2>&1 </dev/null` in
+*GNU* | *'with BFD'*)
+ lt_cv_prog_gnu_ld=yes
+ ;;
+*)
+ lt_cv_prog_gnu_ld=no
+ ;;
+esac
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_gnu_ld" >&5
+$as_echo "$lt_cv_prog_gnu_ld" >&6; }
+with_gnu_ld=$lt_cv_prog_gnu_ld
+
+
+
+
+
+
+
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for BSD- or MS-compatible name lister (nm)" >&5
+$as_echo_n "checking for BSD- or MS-compatible name lister (nm)... " >&6; }
+if test "${lt_cv_path_NM+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$NM"; then
+ # Let the user override the test.
+ lt_cv_path_NM="$NM"
+else
+ lt_nm_to_check="${ac_tool_prefix}nm"
+ if test -n "$ac_tool_prefix" && test "$build" = "$host"; then
+ lt_nm_to_check="$lt_nm_to_check nm"
+ fi
+ for lt_tmp_nm in $lt_nm_to_check; do
+ lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+ for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do
+ IFS="$lt_save_ifs"
+ test -z "$ac_dir" && ac_dir=.
+ tmp_nm="$ac_dir/$lt_tmp_nm"
+ if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then
+ # Check to see if the nm accepts a BSD-compat flag.
+ # Adding the `sed 1q' prevents false positives on HP-UX, which says:
+ # nm: unknown option "B" ignored
+ # Tru64's nm complains that /dev/null is an invalid object file
+ case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in
+ */dev/null* | *'Invalid file or object type'*)
+ lt_cv_path_NM="$tmp_nm -B"
+ break
+ ;;
+ *)
+ case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in
+ */dev/null*)
+ lt_cv_path_NM="$tmp_nm -p"
+ break
+ ;;
+ *)
+ lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but
+ continue # so that we can try to find one that supports BSD flags
+ ;;
+ esac
+ ;;
+ esac
+ fi
+ done
+ IFS="$lt_save_ifs"
+ done
+ : ${lt_cv_path_NM=no}
+fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_NM" >&5
+$as_echo "$lt_cv_path_NM" >&6; }
+if test "$lt_cv_path_NM" != "no"; then
+ NM="$lt_cv_path_NM"
+else
+ # Didn't find any BSD compatible name lister, look for dumpbin.
+ if test -n "$ac_tool_prefix"; then
+ for ac_prog in "dumpbin -symbols" "link -dump -symbols"
+ do
+ # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
+set dummy $ac_tool_prefix$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 test "${ac_cv_prog_DUMPBIN+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$DUMPBIN"; then
+ ac_cv_prog_DUMPBIN="$DUMPBIN" # 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_DUMPBIN="$ac_tool_prefix$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
+DUMPBIN=$ac_cv_prog_DUMPBIN
+if test -n "$DUMPBIN"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DUMPBIN" >&5
+$as_echo "$DUMPBIN" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+ test -n "$DUMPBIN" && break
+ done
+fi
+if test -z "$DUMPBIN"; then
+ ac_ct_DUMPBIN=$DUMPBIN
+ for ac_prog in "dumpbin -symbols" "link -dump -symbols"
+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 test "${ac_cv_prog_ac_ct_DUMPBIN+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$ac_ct_DUMPBIN"; then
+ ac_cv_prog_ac_ct_DUMPBIN="$ac_ct_DUMPBIN" # 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_DUMPBIN="$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
+ac_ct_DUMPBIN=$ac_cv_prog_ac_ct_DUMPBIN
+if test -n "$ac_ct_DUMPBIN"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DUMPBIN" >&5
+$as_echo "$ac_ct_DUMPBIN" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+ test -n "$ac_ct_DUMPBIN" && break
+done
+
+ if test "x$ac_ct_DUMPBIN" = x; then
+ DUMPBIN=":"
+ 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
+ DUMPBIN=$ac_ct_DUMPBIN
+ fi
+fi
+
+
+ if test "$DUMPBIN" != ":"; then
+ NM="$DUMPBIN"
+ fi
+fi
+test -z "$NM" && NM=nm
+
+
+
+
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the name lister ($NM) interface" >&5
+$as_echo_n "checking the name lister ($NM) interface... " >&6; }
+if test "${lt_cv_nm_interface+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ lt_cv_nm_interface="BSD nm"
+ echo "int some_variable = 0;" > conftest.$ac_ext
+ (eval echo "\"\$as_me:4793: $ac_compile\"" >&5)
+ (eval "$ac_compile" 2>conftest.err)
+ cat conftest.err >&5
+ (eval echo "\"\$as_me:4796: $NM \\\"conftest.$ac_objext\\\"\"" >&5)
+ (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out)
+ cat conftest.err >&5
+ (eval echo "\"\$as_me:4799: output\"" >&5)
+ cat conftest.out >&5
+ if $GREP 'External.*some_variable' conftest.out > /dev/null; then
+ lt_cv_nm_interface="MS dumpbin"
+ fi
+ rm -f conftest*
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_nm_interface" >&5
+$as_echo "$lt_cv_nm_interface" >&6; }
+
+# find the maximum length of command line arguments
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the maximum length of command line arguments" >&5
+$as_echo_n "checking the maximum length of command line arguments... " >&6; }
+if test "${lt_cv_sys_max_cmd_len+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ i=0
+ teststring="ABCD"
+
+ case $build_os in
+ msdosdjgpp*)
+ # On DJGPP, this test can blow up pretty badly due to problems in libc
+ # (any single argument exceeding 2000 bytes causes a buffer overrun
+ # during glob expansion). Even if it were fixed, the result of this
+ # check would be larger than it should be.
+ lt_cv_sys_max_cmd_len=12288; # 12K is about right
+ ;;
+
+ gnu*)
+ # Under GNU Hurd, this test is not required because there is
+ # no limit to the length of command line arguments.
+ # Libtool will interpret -1 as no limit whatsoever
+ lt_cv_sys_max_cmd_len=-1;
+ ;;
+
+ cygwin* | mingw* | cegcc*)
+ # On Win9x/ME, this test blows up -- it succeeds, but takes
+ # about 5 minutes as the teststring grows exponentially.
+ # Worse, since 9x/ME are not pre-emptively multitasking,
+ # you end up with a "frozen" computer, even though with patience
+ # the test eventually succeeds (with a max line length of 256k).
+ # Instead, let's just punt: use the minimum linelength reported by
+ # all of the supported platforms: 8192 (on NT/2K/XP).
+ lt_cv_sys_max_cmd_len=8192;
+ ;;
+
+ amigaos*)
+ # On AmigaOS with pdksh, this test takes hours, literally.
+ # So we just punt and use a minimum line length of 8192.
+ lt_cv_sys_max_cmd_len=8192;
+ ;;
+
+ netbsd* | freebsd* | openbsd* | darwin* | dragonfly*)
+ # This has been around since 386BSD, at least. Likely further.
+ if test -x /sbin/sysctl; then
+ lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax`
+ elif test -x /usr/sbin/sysctl; then
+ lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax`
+ else
+ lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs
+ fi
+ # And add a safety zone
+ lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
+ lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
+ ;;
+
+ interix*)
+ # We know the value 262144 and hardcode it with a safety zone (like BSD)
+ lt_cv_sys_max_cmd_len=196608
+ ;;
+
+ osf*)
+ # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure
+ # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not
+ # nice to cause kernel panics so lets avoid the loop below.
+ # First set a reasonable default.
+ lt_cv_sys_max_cmd_len=16384
+ #
+ if test -x /sbin/sysconfig; then
+ case `/sbin/sysconfig -q proc exec_disable_arg_limit` in
+ *1*) lt_cv_sys_max_cmd_len=-1 ;;
+ esac
+ fi
+ ;;
+ sco3.2v5*)
+ lt_cv_sys_max_cmd_len=102400
+ ;;
+ sysv5* | sco5v6* | sysv4.2uw2*)
+ kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null`
+ if test -n "$kargmax"; then
+ lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[ ]//'`
+ else
+ lt_cv_sys_max_cmd_len=32768
+ fi
+ ;;
+ *)
+ lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null`
+ if test -n "$lt_cv_sys_max_cmd_len"; then
+ lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
+ lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
+ else
+ # Make teststring a little bigger before we do anything with it.
+ # a 1K string should be a reasonable start.
+ for i in 1 2 3 4 5 6 7 8 ; do
+ teststring=$teststring$teststring
+ done
+ SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}}
+ # If test is not a shell built-in, we'll probably end up computing a
+ # maximum length that is only half of the actual maximum length, but
+ # we can't tell.
+ while { test "X"`$SHELL $0 --fallback-echo "X$teststring$teststring" 2>/dev/null` \
+ = "XX$teststring$teststring"; } >/dev/null 2>&1 &&
+ test $i != 17 # 1/2 MB should be enough
+ do
+ i=`expr $i + 1`
+ teststring=$teststring$teststring
+ done
+ # Only check the string length outside the loop.
+ lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1`
+ teststring=
+ # Add a significant safety factor because C++ compilers can tack on
+ # massive amounts of additional arguments before passing them to the
+ # linker. It appears as though 1/2 is a usable value.
+ lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2`
+ fi
+ ;;
+ esac
+
+fi
+
+if test -n $lt_cv_sys_max_cmd_len ; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sys_max_cmd_len" >&5
+$as_echo "$lt_cv_sys_max_cmd_len" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: none" >&5
+$as_echo "none" >&6; }
+fi
+max_cmd_len=$lt_cv_sys_max_cmd_len
+
+
+
+
+
+
+: ${CP="cp -f"}
+: ${MV="mv -f"}
+: ${RM="rm -f"}
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the shell understands some XSI constructs" >&5
+$as_echo_n "checking whether the shell understands some XSI constructs... " >&6; }
+# Try some XSI features
+xsi_shell=no
+( _lt_dummy="a/b/c"
+ test "${_lt_dummy##*/},${_lt_dummy%/*},"${_lt_dummy%"$_lt_dummy"}, \
+ = c,a/b,, \
+ && eval 'test $(( 1 + 1 )) -eq 2 \
+ && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \
+ && xsi_shell=yes
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $xsi_shell" >&5
+$as_echo "$xsi_shell" >&6; }
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the shell understands \"+=\"" >&5
+$as_echo_n "checking whether the shell understands \"+=\"... " >&6; }
+lt_shell_append=no
+( foo=bar; set foo baz; eval "$1+=\$2" && test "$foo" = barbaz ) \
+ >/dev/null 2>&1 \
+ && lt_shell_append=yes
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_shell_append" >&5
+$as_echo "$lt_shell_append" >&6; }
+
+
+if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
+ lt_unset=unset
+else
+ lt_unset=false
+fi
+
+
+
+
+
+# test EBCDIC or ASCII
+case `echo X|tr X '\101'` in
+ A) # ASCII based system
+ # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr
+ lt_SP2NL='tr \040 \012'
+ lt_NL2SP='tr \015\012 \040\040'
+ ;;
+ *) # EBCDIC based system
+ lt_SP2NL='tr \100 \n'
+ lt_NL2SP='tr \r\n \100\100'
+ ;;
+esac
+
+
+
+
+
+
+
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $LD option to reload object files" >&5
+$as_echo_n "checking for $LD option to reload object files... " >&6; }
+if test "${lt_cv_ld_reload_flag+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ lt_cv_ld_reload_flag='-r'
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_reload_flag" >&5
+$as_echo "$lt_cv_ld_reload_flag" >&6; }
+reload_flag=$lt_cv_ld_reload_flag
+case $reload_flag in
+"" | " "*) ;;
+*) reload_flag=" $reload_flag" ;;
+esac
+reload_cmds='$LD$reload_flag -o $output$reload_objs'
+case $host_os in
+ darwin*)
+ if test "$GCC" = yes; then
+ reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs'
+ else
+ reload_cmds='$LD$reload_flag -o $output$reload_objs'
+ fi
+ ;;
+esac
+
+
+
+
+
+
+
+
+
+if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}objdump", so it can be a program name with args.
+set dummy ${ac_tool_prefix}objdump; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_OBJDUMP+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$OBJDUMP"; then
+ ac_cv_prog_OBJDUMP="$OBJDUMP" # 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_OBJDUMP="${ac_tool_prefix}objdump"
+ $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
+OBJDUMP=$ac_cv_prog_OBJDUMP
+if test -n "$OBJDUMP"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OBJDUMP" >&5
+$as_echo "$OBJDUMP" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_OBJDUMP"; then
+ ac_ct_OBJDUMP=$OBJDUMP
+ # Extract the first word of "objdump", so it can be a program name with args.
+set dummy objdump; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_ac_ct_OBJDUMP+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$ac_ct_OBJDUMP"; then
+ ac_cv_prog_ac_ct_OBJDUMP="$ac_ct_OBJDUMP" # 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_OBJDUMP="objdump"
+ $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_OBJDUMP=$ac_cv_prog_ac_ct_OBJDUMP
+if test -n "$ac_ct_OBJDUMP"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OBJDUMP" >&5
+$as_echo "$ac_ct_OBJDUMP" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+ if test "x$ac_ct_OBJDUMP" = x; then
+ OBJDUMP="false"
+ 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
+ OBJDUMP=$ac_ct_OBJDUMP
+ fi
+else
+ OBJDUMP="$ac_cv_prog_OBJDUMP"
+fi
+
+test -z "$OBJDUMP" && OBJDUMP=objdump
+
+
+
+
+
+
+
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to recognize dependent libraries" >&5
+$as_echo_n "checking how to recognize dependent libraries... " >&6; }
+if test "${lt_cv_deplibs_check_method+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ lt_cv_file_magic_cmd='$MAGIC_CMD'
+lt_cv_file_magic_test_file=
+lt_cv_deplibs_check_method='unknown'
+# Need to set the preceding variable on all platforms that support
+# interlibrary dependencies.
+# 'none' -- dependencies not supported.
+# `unknown' -- same as none, but documents that we really don't know.
+# 'pass_all' -- all dependencies passed with no checks.
+# 'test_compile' -- check by making test program.
+# 'file_magic [[regex]]' -- check by looking for files in library path
+# which responds to the $file_magic_cmd with a given extended regex.
+# If you have `file' or equivalent on your system and you're not sure
+# whether `pass_all' will *always* work, you probably want this one.
+
+case $host_os in
+aix[4-9]*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+beos*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+bsdi[45]*)
+ lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)'
+ lt_cv_file_magic_cmd='/usr/bin/file -L'
+ lt_cv_file_magic_test_file=/shlib/libc.so
+ ;;
+
+cygwin*)
+ # func_win32_libid is a shell function defined in ltmain.sh
+ lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
+ lt_cv_file_magic_cmd='func_win32_libid'
+ ;;
+
+mingw* | pw32*)
+ # Base MSYS/MinGW do not provide the 'file' command needed by
+ # func_win32_libid shell function, so use a weaker test based on 'objdump',
+ # unless we find 'file', for example because we are cross-compiling.
+ if ( file / ) >/dev/null 2>&1; then
+ lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
+ lt_cv_file_magic_cmd='func_win32_libid'
+ else
+ lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?'
+ lt_cv_file_magic_cmd='$OBJDUMP -f'
+ fi
+ ;;
+
+cegcc)
+ # use the weaker test based on 'objdump'. See mingw*.
+ lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?'
+ lt_cv_file_magic_cmd='$OBJDUMP -f'
+ ;;
+
+darwin* | rhapsody*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+freebsd* | dragonfly*)
+ if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
+ case $host_cpu in
+ i*86 )
+ # Not sure whether the presence of OpenBSD here was a mistake.
+ # Let's accept both of them until this is cleared up.
+ lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[3-9]86 (compact )?demand paged shared library'
+ lt_cv_file_magic_cmd=/usr/bin/file
+ lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
+ ;;
+ esac
+ else
+ lt_cv_deplibs_check_method=pass_all
+ fi
+ ;;
+
+gnu*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+hpux10.20* | hpux11*)
+ lt_cv_file_magic_cmd=/usr/bin/file
+ case $host_cpu in
+ ia64*)
+ lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - IA64'
+ lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so
+ ;;
+ hppa*64*)
+ lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - PA-RISC [0-9].[0-9]'
+ lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl
+ ;;
+ *)
+ lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9].[0-9]) shared library'
+ lt_cv_file_magic_test_file=/usr/lib/libc.sl
+ ;;
+ esac
+ ;;
+
+interix[3-9]*)
+ # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here
+ lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|\.a)$'
+ ;;
+
+irix5* | irix6* | nonstopux*)
+ case $LD in
+ *-32|*"-32 ") libmagic=32-bit;;
+ *-n32|*"-n32 ") libmagic=N32;;
+ *-64|*"-64 ") libmagic=64-bit;;
+ *) libmagic=never-match;;
+ esac
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+# This must be Linux ELF.
+linux* | k*bsd*-gnu | kopensolaris*-gnu)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+netbsd* | netbsdelf*-gnu)
+ if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
+ lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$'
+ else
+ lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|_pic\.a)$'
+ fi
+ ;;
+
+newos6*)
+ lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (executable|dynamic lib)'
+ lt_cv_file_magic_cmd=/usr/bin/file
+ lt_cv_file_magic_test_file=/usr/lib/libnls.so
+ ;;
+
+*nto* | *qnx*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+openbsd*)
+ if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+ lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|\.so|_pic\.a)$'
+ else
+ lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$'
+ fi
+ ;;
+
+osf3* | osf4* | osf5*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+rdos*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+solaris*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+sysv4 | sysv4.3*)
+ case $host_vendor in
+ motorola)
+ lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib) M[0-9][0-9]* Version [0-9]'
+ lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*`
+ ;;
+ ncr)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+ sequent)
+ lt_cv_file_magic_cmd='/bin/file'
+ lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )'
+ ;;
+ sni)
+ lt_cv_file_magic_cmd='/bin/file'
+ lt_cv_deplibs_check_method="file_magic ELF [0-9][0-9]*-bit [LM]SB dynamic lib"
+ lt_cv_file_magic_test_file=/lib/libc.so
+ ;;
+ siemens)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+ pc)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+ esac
+ ;;
+
+tpf*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+esac
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_deplibs_check_method" >&5
+$as_echo "$lt_cv_deplibs_check_method" >&6; }
+file_magic_cmd=$lt_cv_file_magic_cmd
+deplibs_check_method=$lt_cv_deplibs_check_method
+test -z "$deplibs_check_method" && deplibs_check_method=unknown
+
+
+
+
+
+
+
+
+
+
+
+
+if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args.
+set dummy ${ac_tool_prefix}ar; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_AR+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$AR"; then
+ ac_cv_prog_AR="$AR" # 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_AR="${ac_tool_prefix}ar"
+ $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
+AR=$ac_cv_prog_AR
+if test -n "$AR"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AR" >&5
+$as_echo "$AR" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_AR"; then
+ ac_ct_AR=$AR
+ # Extract the first word of "ar", so it can be a program name with args.
+set dummy ar; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_ac_ct_AR+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$ac_ct_AR"; then
+ ac_cv_prog_ac_ct_AR="$ac_ct_AR" # 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_AR="ar"
+ $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_AR=$ac_cv_prog_ac_ct_AR
+if test -n "$ac_ct_AR"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5
+$as_echo "$ac_ct_AR" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+ if test "x$ac_ct_AR" = x; then
+ AR="false"
+ 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
+ AR=$ac_ct_AR
+ fi
+else
+ AR="$ac_cv_prog_AR"
+fi
+
+test -z "$AR" && AR=ar
+test -z "$AR_FLAGS" && AR_FLAGS=cru
+
+
+
+
+
+
+
+
+
+
+
+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 test "${ac_cv_prog_STRIP+set}" = set; 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 test "${ac_cv_prog_ac_ct_STRIP+set}" = set; 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
+
+test -z "$STRIP" && STRIP=:
+
+
+
+
+
+
+if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
+set dummy ${ac_tool_prefix}ranlib; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_RANLIB+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$RANLIB"; then
+ ac_cv_prog_RANLIB="$RANLIB" # 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_RANLIB="${ac_tool_prefix}ranlib"
+ $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
+RANLIB=$ac_cv_prog_RANLIB
+if test -n "$RANLIB"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5
+$as_echo "$RANLIB" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_RANLIB"; then
+ ac_ct_RANLIB=$RANLIB
+ # Extract the first word of "ranlib", so it can be a program name with args.
+set dummy ranlib; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$ac_ct_RANLIB"; then
+ ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # 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_RANLIB="ranlib"
+ $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_RANLIB=$ac_cv_prog_ac_ct_RANLIB
+if test -n "$ac_ct_RANLIB"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5
+$as_echo "$ac_ct_RANLIB" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+ if test "x$ac_ct_RANLIB" = x; then
+ RANLIB=":"
+ 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
+ RANLIB=$ac_ct_RANLIB
+ fi
+else
+ RANLIB="$ac_cv_prog_RANLIB"
+fi
+
+test -z "$RANLIB" && RANLIB=:
+
+
+
+
+
+
+# Determine commands to create old-style static archives.
+old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs'
+old_postinstall_cmds='chmod 644 $oldlib'
+old_postuninstall_cmds=
+
+if test -n "$RANLIB"; then
+ case $host_os in
+ openbsd*)
+ old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib"
+ ;;
+ *)
+ old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib"
+ ;;
+ esac
+ old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib"
+fi
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+# If no C compiler was specified, use CC.
+LTCC=${LTCC-"$CC"}
+
+# If no C compiler flags were specified, use CFLAGS.
+LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
+
+# Allow CC to be a program name with arguments.
+compiler=$CC
+
+
+# Check for command to grab the raw symbol name followed by C symbol from nm.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking command to parse $NM output from $compiler object" >&5
+$as_echo_n "checking command to parse $NM output from $compiler object... " >&6; }
+if test "${lt_cv_sys_global_symbol_pipe+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+
+# These are sane defaults that work on at least a few old systems.
+# [They come from Ultrix. What could be older than Ultrix?!! ;)]
+
+# Character class describing NM global symbol codes.
+symcode='[BCDEGRST]'
+
+# Regexp to match symbols that can be accessed directly from C.
+sympat='\([_A-Za-z][_A-Za-z0-9]*\)'
+
+# Define system-specific variables.
+case $host_os in
+aix*)
+ symcode='[BCDT]'
+ ;;
+cygwin* | mingw* | pw32* | cegcc*)
+ symcode='[ABCDGISTW]'
+ ;;
+hpux*)
+ if test "$host_cpu" = ia64; then
+ symcode='[ABCDEGRST]'
+ fi
+ ;;
+irix* | nonstopux*)
+ symcode='[BCDEGRST]'
+ ;;
+osf*)
+ symcode='[BCDEGQRST]'
+ ;;
+solaris*)
+ symcode='[BDRT]'
+ ;;
+sco3.2v5*)
+ symcode='[DT]'
+ ;;
+sysv4.2uw2*)
+ symcode='[DT]'
+ ;;
+sysv5* | sco5v6* | unixware* | OpenUNIX*)
+ symcode='[ABDT]'
+ ;;
+sysv4)
+ symcode='[DFNSTU]'
+ ;;
+esac
+
+# If we're using GNU nm, then use its standard symbol codes.
+case `$NM -V 2>&1` in
+*GNU* | *'with BFD'*)
+ symcode='[ABCDGIRSTW]' ;;
+esac
+
+# Transform an extracted symbol line into a proper C declaration.
+# Some systems (esp. on ia64) link data and code symbols differently,
+# so use this general approach.
+lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
+
+# Transform an extracted symbol line into symbol name and symbol address
+lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\) $/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"\2\", (void *) \&\2},/p'"
+lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \([^ ]*\) $/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \(lib[^ ]*\)$/ {\"\2\", (void *) \&\2},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"lib\2\", (void *) \&\2},/p'"
+
+# Handle CRLF in mingw tool chain
+opt_cr=
+case $build_os in
+mingw*)
+ opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp
+ ;;
+esac
+
+# Try without a prefix underscore, then with it.
+for ac_symprfx in "" "_"; do
+
+ # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol.
+ symxfrm="\\1 $ac_symprfx\\2 \\2"
+
+ # Write the raw and C identifiers.
+ if test "$lt_cv_nm_interface" = "MS dumpbin"; then
+ # Fake it for dumpbin and say T for any non-static function
+ # and D for any global variable.
+ # Also find C++ and __fastcall symbols from MSVC++,
+ # which start with @ or ?.
+ lt_cv_sys_global_symbol_pipe="$AWK '"\
+" {last_section=section; section=\$ 3};"\
+" /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\
+" \$ 0!~/External *\|/{next};"\
+" / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\
+" {if(hide[section]) next};"\
+" {f=0}; \$ 0~/\(\).*\|/{f=1}; {printf f ? \"T \" : \"D \"};"\
+" {split(\$ 0, a, /\||\r/); split(a[2], s)};"\
+" s[1]~/^[@?]/{print s[1], s[1]; next};"\
+" s[1]~prfx {split(s[1],t,\"@\"); print t[1], substr(t[1],length(prfx))}"\
+" ' prfx=^$ac_symprfx"
+ else
+ lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[ ]\($symcode$symcode*\)[ ][ ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
+ fi
+
+ # Check to see that the pipe works correctly.
+ pipe_works=no
+
+ rm -f conftest*
+ cat > conftest.$ac_ext <<_LT_EOF
+#ifdef __cplusplus
+extern "C" {
+#endif
+char nm_test_var;
+void nm_test_func(void);
+void nm_test_func(void){}
+#ifdef __cplusplus
+}
+#endif
+int main(){nm_test_var='a';nm_test_func();return(0);}
+_LT_EOF
+
+ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; then
+ # Now try to grab the symbols.
+ nlist=conftest.nm
+ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist\""; } >&5
+ (eval $NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist) 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; } && test -s "$nlist"; then
+ # Try sorting and uniquifying the output.
+ if sort "$nlist" | uniq > "$nlist"T; then
+ mv -f "$nlist"T "$nlist"
+ else
+ rm -f "$nlist"T
+ fi
+
+ # Make sure that we snagged all the symbols we need.
+ if $GREP ' nm_test_var$' "$nlist" >/dev/null; then
+ if $GREP ' nm_test_func$' "$nlist" >/dev/null; then
+ cat <<_LT_EOF > conftest.$ac_ext
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+_LT_EOF
+ # Now generate the symbol file.
+ eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext'
+
+ cat <<_LT_EOF >> conftest.$ac_ext
+
+/* The mapping between symbol names and symbols. */
+const struct {
+ const char *name;
+ void *address;
+}
+lt__PROGRAM__LTX_preloaded_symbols[] =
+{
+ { "@PROGRAM@", (void *) 0 },
+_LT_EOF
+ $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (void *) \&\2},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext
+ cat <<\_LT_EOF >> conftest.$ac_ext
+ {0, (void *) 0}
+};
+
+/* This works around a problem in FreeBSD linker */
+#ifdef FREEBSD_WORKAROUND
+static const void *lt_preloaded_setup() {
+ return lt__PROGRAM__LTX_preloaded_symbols;
+}
+#endif
+
+#ifdef __cplusplus
+}
+#endif
+_LT_EOF
+ # Now try linking the two files.
+ mv conftest.$ac_objext conftstm.$ac_objext
+ lt_save_LIBS="$LIBS"
+ lt_save_CFLAGS="$CFLAGS"
+ LIBS="conftstm.$ac_objext"
+ CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag"
+ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; } && test -s conftest${ac_exeext}; then
+ pipe_works=yes
+ fi
+ LIBS="$lt_save_LIBS"
+ CFLAGS="$lt_save_CFLAGS"
+ else
+ echo "cannot find nm_test_func in $nlist" >&5
+ fi
+ else
+ echo "cannot find nm_test_var in $nlist" >&5
+ fi
+ else
+ echo "cannot run $lt_cv_sys_global_symbol_pipe" >&5
+ fi
+ else
+ echo "$progname: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ fi
+ rm -rf conftest* conftst*
+
+ # Do not use the global_symbol_pipe unless it works.
+ if test "$pipe_works" = yes; then
+ break
+ else
+ lt_cv_sys_global_symbol_pipe=
+ fi
+done
+
+fi
+
+if test -z "$lt_cv_sys_global_symbol_pipe"; then
+ lt_cv_sys_global_symbol_to_cdecl=
+fi
+if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: failed" >&5
+$as_echo "failed" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&5
+$as_echo "ok" >&6; }
+fi
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+# Check whether --enable-libtool-lock was given.
+if test "${enable_libtool_lock+set}" = set; then :
+ enableval=$enable_libtool_lock;
+fi
+
+test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes
+
+# Some flags need to be propagated to the compiler or linker for good
+# libtool support.
+case $host in
+ia64-*-hpux*)
+ # Find out which ABI we are using.
+ echo 'int i;' > conftest.$ac_ext
+ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; then
+ case `/usr/bin/file conftest.$ac_objext` in
+ *ELF-32*)
+ HPUX_IA64_MODE="32"
+ ;;
+ *ELF-64*)
+ HPUX_IA64_MODE="64"
+ ;;
+ esac
+ fi
+ rm -rf conftest*
+ ;;
+*-*-irix6*)
+ # Find out which ABI we are using.
+ echo '#line 5994 "configure"' > conftest.$ac_ext
+ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; then
+ if test "$lt_cv_prog_gnu_ld" = yes; then
+ case `/usr/bin/file conftest.$ac_objext` in
+ *32-bit*)
+ LD="${LD-ld} -melf32bsmip"
+ ;;
+ *N32*)
+ LD="${LD-ld} -melf32bmipn32"
+ ;;
+ *64-bit*)
+ LD="${LD-ld} -melf64bmip"
+ ;;
+ esac
+ else
+ case `/usr/bin/file conftest.$ac_objext` in
+ *32-bit*)
+ LD="${LD-ld} -32"
+ ;;
+ *N32*)
+ LD="${LD-ld} -n32"
+ ;;
+ *64-bit*)
+ LD="${LD-ld} -64"
+ ;;
+ esac
+ fi
+ fi
+ rm -rf conftest*
+ ;;
+
+x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \
+s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
+ # Find out which ABI we are using.
+ echo 'int i;' > conftest.$ac_ext
+ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; then
+ case `/usr/bin/file conftest.o` in
+ *32-bit*)
+ case $host in
+ x86_64-*kfreebsd*-gnu)
+ LD="${LD-ld} -m elf_i386_fbsd"
+ ;;
+ x86_64-*linux*)
+ LD="${LD-ld} -m elf_i386"
+ ;;
+ ppc64-*linux*|powerpc64-*linux*)
+ LD="${LD-ld} -m elf32ppclinux"
+ ;;
+ s390x-*linux*)
+ LD="${LD-ld} -m elf_s390"
+ ;;
+ sparc64-*linux*)
+ LD="${LD-ld} -m elf32_sparc"
+ ;;
+ esac
+ ;;
+ *64-bit*)
+ case $host in
+ x86_64-*kfreebsd*-gnu)
+ LD="${LD-ld} -m elf_x86_64_fbsd"
+ ;;
+ x86_64-*linux*)
+ LD="${LD-ld} -m elf_x86_64"
+ ;;
+ ppc*-*linux*|powerpc*-*linux*)
+ LD="${LD-ld} -m elf64ppc"
+ ;;
+ s390*-*linux*|s390*-*tpf*)
+ LD="${LD-ld} -m elf64_s390"
+ ;;
+ sparc*-*linux*)
+ LD="${LD-ld} -m elf64_sparc"
+ ;;
+ esac
+ ;;
+ esac
+ fi
+ rm -rf conftest*
+ ;;
+
+*-*-sco3.2v5*)
+ # On SCO OpenServer 5, we need -belf to get full-featured binaries.
+ SAVE_CFLAGS="$CFLAGS"
+ CFLAGS="$CFLAGS -belf"
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler needs -belf" >&5
+$as_echo_n "checking whether the C compiler needs -belf... " >&6; }
+if test "${lt_cv_cc_needs_belf+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ 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
+
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ lt_cv_cc_needs_belf=yes
+else
+ lt_cv_cc_needs_belf=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+ 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
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_cc_needs_belf" >&5
+$as_echo "$lt_cv_cc_needs_belf" >&6; }
+ if test x"$lt_cv_cc_needs_belf" != x"yes"; then
+ # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
+ CFLAGS="$SAVE_CFLAGS"
+ fi
+ ;;
+sparc*-*solaris*)
+ # Find out which ABI we are using.
+ echo 'int i;' > conftest.$ac_ext
+ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; then
+ case `/usr/bin/file conftest.o` in
+ *64-bit*)
+ case $lt_cv_prog_gnu_ld in
+ yes*) LD="${LD-ld} -m elf64_sparc" ;;
+ *)
+ if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then
+ LD="${LD-ld} -64"
+ fi
+ ;;
+ esac
+ ;;
+ esac
+ fi
+ rm -rf conftest*
+ ;;
+esac
+
+need_locks="$enable_libtool_lock"
+
+
+ case $host_os in
+ rhapsody* | darwin*)
+ if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}dsymutil", so it can be a program name with args.
+set dummy ${ac_tool_prefix}dsymutil; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_DSYMUTIL+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$DSYMUTIL"; then
+ ac_cv_prog_DSYMUTIL="$DSYMUTIL" # 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_DSYMUTIL="${ac_tool_prefix}dsymutil"
+ $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
+DSYMUTIL=$ac_cv_prog_DSYMUTIL
+if test -n "$DSYMUTIL"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DSYMUTIL" >&5
+$as_echo "$DSYMUTIL" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_DSYMUTIL"; then
+ ac_ct_DSYMUTIL=$DSYMUTIL
+ # Extract the first word of "dsymutil", so it can be a program name with args.
+set dummy dsymutil; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_ac_ct_DSYMUTIL+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$ac_ct_DSYMUTIL"; then
+ ac_cv_prog_ac_ct_DSYMUTIL="$ac_ct_DSYMUTIL" # 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_DSYMUTIL="dsymutil"
+ $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_DSYMUTIL=$ac_cv_prog_ac_ct_DSYMUTIL
+if test -n "$ac_ct_DSYMUTIL"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DSYMUTIL" >&5
+$as_echo "$ac_ct_DSYMUTIL" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+ if test "x$ac_ct_DSYMUTIL" = x; then
+ DSYMUTIL=":"
+ 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
+ DSYMUTIL=$ac_ct_DSYMUTIL
+ fi
+else
+ DSYMUTIL="$ac_cv_prog_DSYMUTIL"
+fi
+
+ if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}nmedit", so it can be a program name with args.
+set dummy ${ac_tool_prefix}nmedit; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_NMEDIT+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$NMEDIT"; then
+ ac_cv_prog_NMEDIT="$NMEDIT" # 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_NMEDIT="${ac_tool_prefix}nmedit"
+ $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
+NMEDIT=$ac_cv_prog_NMEDIT
+if test -n "$NMEDIT"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $NMEDIT" >&5
+$as_echo "$NMEDIT" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_NMEDIT"; then
+ ac_ct_NMEDIT=$NMEDIT
+ # Extract the first word of "nmedit", so it can be a program name with args.
+set dummy nmedit; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_ac_ct_NMEDIT+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$ac_ct_NMEDIT"; then
+ ac_cv_prog_ac_ct_NMEDIT="$ac_ct_NMEDIT" # 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_NMEDIT="nmedit"
+ $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_NMEDIT=$ac_cv_prog_ac_ct_NMEDIT
+if test -n "$ac_ct_NMEDIT"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_NMEDIT" >&5
+$as_echo "$ac_ct_NMEDIT" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+ if test "x$ac_ct_NMEDIT" = x; then
+ NMEDIT=":"
+ 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
+ NMEDIT=$ac_ct_NMEDIT
+ fi
+else
+ NMEDIT="$ac_cv_prog_NMEDIT"
+fi
+
+ if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}lipo", so it can be a program name with args.
+set dummy ${ac_tool_prefix}lipo; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_LIPO+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$LIPO"; then
+ ac_cv_prog_LIPO="$LIPO" # 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_LIPO="${ac_tool_prefix}lipo"
+ $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
+LIPO=$ac_cv_prog_LIPO
+if test -n "$LIPO"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIPO" >&5
+$as_echo "$LIPO" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_LIPO"; then
+ ac_ct_LIPO=$LIPO
+ # Extract the first word of "lipo", so it can be a program name with args.
+set dummy lipo; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_ac_ct_LIPO+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$ac_ct_LIPO"; then
+ ac_cv_prog_ac_ct_LIPO="$ac_ct_LIPO" # 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_LIPO="lipo"
+ $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_LIPO=$ac_cv_prog_ac_ct_LIPO
+if test -n "$ac_ct_LIPO"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_LIPO" >&5
+$as_echo "$ac_ct_LIPO" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+ if test "x$ac_ct_LIPO" = x; then
+ LIPO=":"
+ 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
+ LIPO=$ac_ct_LIPO
+ fi
+else
+ LIPO="$ac_cv_prog_LIPO"
+fi
+
+ if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}otool", so it can be a program name with args.
+set dummy ${ac_tool_prefix}otool; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_OTOOL+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$OTOOL"; then
+ ac_cv_prog_OTOOL="$OTOOL" # 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_OTOOL="${ac_tool_prefix}otool"
+ $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
+OTOOL=$ac_cv_prog_OTOOL
+if test -n "$OTOOL"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL" >&5
+$as_echo "$OTOOL" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_OTOOL"; then
+ ac_ct_OTOOL=$OTOOL
+ # Extract the first word of "otool", so it can be a program name with args.
+set dummy otool; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_ac_ct_OTOOL+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$ac_ct_OTOOL"; then
+ ac_cv_prog_ac_ct_OTOOL="$ac_ct_OTOOL" # 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_OTOOL="otool"
+ $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_OTOOL=$ac_cv_prog_ac_ct_OTOOL
+if test -n "$ac_ct_OTOOL"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL" >&5
+$as_echo "$ac_ct_OTOOL" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+ if test "x$ac_ct_OTOOL" = x; then
+ OTOOL=":"
+ 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
+ OTOOL=$ac_ct_OTOOL
+ fi
+else
+ OTOOL="$ac_cv_prog_OTOOL"
+fi
+
+ if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}otool64", so it can be a program name with args.
+set dummy ${ac_tool_prefix}otool64; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_OTOOL64+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$OTOOL64"; then
+ ac_cv_prog_OTOOL64="$OTOOL64" # 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_OTOOL64="${ac_tool_prefix}otool64"
+ $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
+OTOOL64=$ac_cv_prog_OTOOL64
+if test -n "$OTOOL64"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL64" >&5
+$as_echo "$OTOOL64" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_OTOOL64"; then
+ ac_ct_OTOOL64=$OTOOL64
+ # Extract the first word of "otool64", so it can be a program name with args.
+set dummy otool64; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_ac_ct_OTOOL64+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$ac_ct_OTOOL64"; then
+ ac_cv_prog_ac_ct_OTOOL64="$ac_ct_OTOOL64" # 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_OTOOL64="otool64"
+ $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_OTOOL64=$ac_cv_prog_ac_ct_OTOOL64
+if test -n "$ac_ct_OTOOL64"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL64" >&5
+$as_echo "$ac_ct_OTOOL64" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+ if test "x$ac_ct_OTOOL64" = x; then
+ OTOOL64=":"
+ 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
+ OTOOL64=$ac_ct_OTOOL64
+ fi
+else
+ OTOOL64="$ac_cv_prog_OTOOL64"
+fi
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -single_module linker flag" >&5
+$as_echo_n "checking for -single_module linker flag... " >&6; }
+if test "${lt_cv_apple_cc_single_mod+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ lt_cv_apple_cc_single_mod=no
+ if test -z "${LT_MULTI_MODULE}"; then
+ # By default we will add the -single_module flag. You can override
+ # by either setting the environment variable LT_MULTI_MODULE
+ # non-empty at configure time, or by adding -multi_module to the
+ # link flags.
+ rm -rf libconftest.dylib*
+ echo "int foo(void){return 1;}" > conftest.c
+ echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
+-dynamiclib -Wl,-single_module conftest.c" >&5
+ $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
+ -dynamiclib -Wl,-single_module conftest.c 2>conftest.err
+ _lt_result=$?
+ if test -f libconftest.dylib && test ! -s conftest.err && test $_lt_result = 0; then
+ lt_cv_apple_cc_single_mod=yes
+ else
+ cat conftest.err >&5
+ fi
+ rm -rf libconftest.dylib*
+ rm -f conftest.*
+ fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_apple_cc_single_mod" >&5
+$as_echo "$lt_cv_apple_cc_single_mod" >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -exported_symbols_list linker flag" >&5
+$as_echo_n "checking for -exported_symbols_list linker flag... " >&6; }
+if test "${lt_cv_ld_exported_symbols_list+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ lt_cv_ld_exported_symbols_list=no
+ save_LDFLAGS=$LDFLAGS
+ echo "_main" > conftest.sym
+ LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ lt_cv_ld_exported_symbols_list=yes
+else
+ lt_cv_ld_exported_symbols_list=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+ LDFLAGS="$save_LDFLAGS"
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_exported_symbols_list" >&5
+$as_echo "$lt_cv_ld_exported_symbols_list" >&6; }
+ case $host_os in
+ rhapsody* | darwin1.[012])
+ _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;;
+ darwin1.*)
+ _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
+ darwin*) # darwin 5.x on
+ # if running on 10.5 or later, the deployment target defaults
+ # to the OS version, if on x86, and 10.4, the deployment
+ # target defaults to 10.4. Don't you love it?
+ case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in
+ 10.0,*86*-darwin8*|10.0,*-darwin[91]*)
+ _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
+ 10.[012]*)
+ _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
+ 10.*)
+ _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
+ esac
+ ;;
+ esac
+ if test "$lt_cv_apple_cc_single_mod" = "yes"; then
+ _lt_dar_single_mod='$single_module'
+ fi
+ if test "$lt_cv_ld_exported_symbols_list" = "yes"; then
+ _lt_dar_export_syms=' ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym'
+ else
+ _lt_dar_export_syms='~$NMEDIT -s $output_objdir/${libname}-symbols.expsym ${lib}'
+ fi
+ if test "$DSYMUTIL" != ":"; then
+ _lt_dsymutil='~$DSYMUTIL $lib || :'
+ else
+ _lt_dsymutil=
+ fi
+ ;;
+ esac
+
+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
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5
+$as_echo_n "checking how to run the C preprocessor... " >&6; }
+# On Suns, sometimes $CPP names a directory.
+if test -n "$CPP" && test -d "$CPP"; then
+ CPP=
+fi
+if test -z "$CPP"; then
+ if test "${ac_cv_prog_CPP+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ # Double quotes because CPP needs to be expanded
+ for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp"
+ do
+ ac_preproc_ok=false
+for ac_c_preproc_warn_flag in '' yes
+do
+ # Use a header file that comes with gcc, so configuring glibc
+ # with a fresh cross-compiler works.
+ # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+ # <limits.h> exists even on freestanding compilers.
+ # On the NeXT, cc -E runs the code through the compiler's parser,
+ # not just through cpp. "Syntax error" is here to catch this case.
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+ Syntax error
+_ACEOF
+if ac_fn_c_try_cpp "$LINENO"; then :
+
+else
+ # Broken: fails on valid input.
+continue
+fi
+rm -f conftest.err conftest.$ac_ext
+
+ # OK, works on sane cases. Now check whether nonexistent headers
+ # can be detected and how.
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <ac_nonexistent.h>
+_ACEOF
+if ac_fn_c_try_cpp "$LINENO"; then :
+ # Broken: success on invalid input.
+continue
+else
+ # Passes both tests.
+ac_preproc_ok=:
+break
+fi
+rm -f conftest.err conftest.$ac_ext
+
+done
+# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
+rm -f conftest.err conftest.$ac_ext
+if $ac_preproc_ok; then :
+ break
+fi
+
+ done
+ ac_cv_prog_CPP=$CPP
+
+fi
+ CPP=$ac_cv_prog_CPP
+else
+ ac_cv_prog_CPP=$CPP
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5
+$as_echo "$CPP" >&6; }
+ac_preproc_ok=false
+for ac_c_preproc_warn_flag in '' yes
+do
+ # Use a header file that comes with gcc, so configuring glibc
+ # with a fresh cross-compiler works.
+ # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+ # <limits.h> exists even on freestanding compilers.
+ # On the NeXT, cc -E runs the code through the compiler's parser,
+ # not just through cpp. "Syntax error" is here to catch this case.
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+ Syntax error
+_ACEOF
+if ac_fn_c_try_cpp "$LINENO"; then :
+
+else
+ # Broken: fails on valid input.
+continue
+fi
+rm -f conftest.err conftest.$ac_ext
+
+ # OK, works on sane cases. Now check whether nonexistent headers
+ # can be detected and how.
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <ac_nonexistent.h>
+_ACEOF
+if ac_fn_c_try_cpp "$LINENO"; then :
+ # Broken: success on invalid input.
+continue
+else
+ # Passes both tests.
+ac_preproc_ok=:
+break
+fi
+rm -f conftest.err conftest.$ac_ext
+
+done
+# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
+rm -f conftest.err conftest.$ac_ext
+if $ac_preproc_ok; then :
+
+else
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error "C preprocessor \"$CPP\" fails sanity check
+See \`config.log' for more details." "$LINENO" 5; }
+fi
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5
+$as_echo_n "checking for ANSI C header files... " >&6; }
+if test "${ac_cv_header_stdc+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <stdlib.h>
+#include <stdarg.h>
+#include <string.h>
+#include <float.h>
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ ac_cv_header_stdc=yes
+else
+ ac_cv_header_stdc=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
+if test $ac_cv_header_stdc = yes; then
+ # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <string.h>
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+ $EGREP "memchr" >/dev/null 2>&1; then :
+
+else
+ ac_cv_header_stdc=no
+fi
+rm -f conftest*
+
+fi
+
+if test $ac_cv_header_stdc = yes; then
+ # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <stdlib.h>
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+ $EGREP "free" >/dev/null 2>&1; then :
+
+else
+ ac_cv_header_stdc=no
+fi
+rm -f conftest*
+
+fi
+
+if test $ac_cv_header_stdc = yes; then
+ # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
+ if test "$cross_compiling" = yes; then :
+ :
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <ctype.h>
+#include <stdlib.h>
+#if ((' ' & 0x0FF) == 0x020)
+# define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
+# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
+#else
+# define ISLOWER(c) \
+ (('a' <= (c) && (c) <= 'i') \
+ || ('j' <= (c) && (c) <= 'r') \
+ || ('s' <= (c) && (c) <= 'z'))
+# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))
+#endif
+
+#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
+int
+main ()
+{
+ int i;
+ for (i = 0; i < 256; i++)
+ if (XOR (islower (i), ISLOWER (i))
+ || toupper (i) != TOUPPER (i))
+ return 2;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+
+else
+ ac_cv_header_stdc=no
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+ conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5
+$as_echo "$ac_cv_header_stdc" >&6; }
+if test $ac_cv_header_stdc = yes; then
+
+$as_echo "#define STDC_HEADERS 1" >>confdefs.h
+
+fi
+
+# On IRIX 5.3, sys/types and inttypes.h are conflicting.
+for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \
+ inttypes.h stdint.h unistd.h
+do :
+ as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
+ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default
+"
+eval as_val=\$$as_ac_Header
+ if test "x$as_val" = x""yes; then :
+ cat >>confdefs.h <<_ACEOF
+#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+
+done
+
+
+for ac_header in dlfcn.h
+do :
+ ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default
+"
+if test "x$ac_cv_header_dlfcn_h" = x""yes; then :
+ cat >>confdefs.h <<_ACEOF
+#define HAVE_DLFCN_H 1
+_ACEOF
+
+fi
+
+done
+
+
+
+# Set options
+
+
+
+ enable_dlopen=no
+
+
+ enable_win32_dll=no
+
+
+ # Check whether --enable-shared was given.
+if test "${enable_shared+set}" = set; then :
+ enableval=$enable_shared; p=${PACKAGE-default}
+ case $enableval in
+ yes) enable_shared=yes ;;
+ no) enable_shared=no ;;
+ *)
+ enable_shared=no
+ # Look at the argument we got. We use all the common list separators.
+ lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
+ for pkg in $enableval; do
+ IFS="$lt_save_ifs"
+ if test "X$pkg" = "X$p"; then
+ enable_shared=yes
+ fi
+ done
+ IFS="$lt_save_ifs"
+ ;;
+ esac
+else
+ enable_shared=yes
+fi
+
+
+
+
+
+
+
+
+
+ # Check whether --enable-static was given.
+if test "${enable_static+set}" = set; then :
+ enableval=$enable_static; p=${PACKAGE-default}
+ case $enableval in
+ yes) enable_static=yes ;;
+ no) enable_static=no ;;
+ *)
+ enable_static=no
+ # Look at the argument we got. We use all the common list separators.
+ lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
+ for pkg in $enableval; do
+ IFS="$lt_save_ifs"
+ if test "X$pkg" = "X$p"; then
+ enable_static=yes
+ fi
+ done
+ IFS="$lt_save_ifs"
+ ;;
+ esac
+else
+ enable_static=yes
+fi
+
+
+
+
+
+
+
+
+
+
+# Check whether --with-pic was given.
+if test "${with_pic+set}" = set; then :
+ withval=$with_pic; pic_mode="$withval"
+else
+ pic_mode=default
+fi
+
+
+test -z "$pic_mode" && pic_mode=default
+
+
+
+
+
+
+
+ # Check whether --enable-fast-install was given.
+if test "${enable_fast_install+set}" = set; then :
+ enableval=$enable_fast_install; p=${PACKAGE-default}
+ case $enableval in
+ yes) enable_fast_install=yes ;;
+ no) enable_fast_install=no ;;
+ *)
+ enable_fast_install=no
+ # Look at the argument we got. We use all the common list separators.
+ lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
+ for pkg in $enableval; do
+ IFS="$lt_save_ifs"
+ if test "X$pkg" = "X$p"; then
+ enable_fast_install=yes
+ fi
+ done
+ IFS="$lt_save_ifs"
+ ;;
+ esac
+else
+ enable_fast_install=yes
+fi
+
+
+
+
+
+
+
+
+
+
+
+# This can be used to rebuild libtool when needed
+LIBTOOL_DEPS="$ltmain"
+
+# Always use our own libtool.
+LIBTOOL='$(SHELL) $(top_builddir)/libtool'
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+test -z "$LN_S" && LN_S="ln -s"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+if test -n "${ZSH_VERSION+set}" ; then
+ setopt NO_GLOB_SUBST
+fi
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for objdir" >&5
+$as_echo_n "checking for objdir... " >&6; }
+if test "${lt_cv_objdir+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ rm -f .libs 2>/dev/null
+mkdir .libs 2>/dev/null
+if test -d .libs; then
+ lt_cv_objdir=.libs
+else
+ # MS-DOS does not allow filenames that begin with a dot.
+ lt_cv_objdir=_libs
+fi
+rmdir .libs 2>/dev/null
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_objdir" >&5
+$as_echo "$lt_cv_objdir" >&6; }
+objdir=$lt_cv_objdir
+
+
+
+
+
+cat >>confdefs.h <<_ACEOF
+#define LT_OBJDIR "$lt_cv_objdir/"
+_ACEOF
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+case $host_os in
+aix3*)
+ # AIX sometimes has problems with the GCC collect2 program. For some
+ # reason, if we set the COLLECT_NAMES environment variable, the problems
+ # vanish in a puff of smoke.
+ if test "X${COLLECT_NAMES+set}" != Xset; then
+ COLLECT_NAMES=
+ export COLLECT_NAMES
+ fi
+ ;;
+esac
+
+# Sed substitution that helps us do robust quoting. It backslashifies
+# metacharacters that are still active within double-quoted strings.
+sed_quote_subst='s/\(["`$\\]\)/\\\1/g'
+
+# Same as above, but do not quote variable references.
+double_quote_subst='s/\(["`\\]\)/\\\1/g'
+
+# Sed substitution to delay expansion of an escaped shell variable in a
+# double_quote_subst'ed string.
+delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g'
+
+# Sed substitution to delay expansion of an escaped single quote.
+delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g'
+
+# Sed substitution to avoid accidental globbing in evaled expressions
+no_glob_subst='s/\*/\\\*/g'
+
+# Global variables:
+ofile=libtool
+can_build_shared=yes
+
+# All known linkers require a `.a' archive for static linking (except MSVC,
+# which needs '.lib').
+libext=a
+
+with_gnu_ld="$lt_cv_prog_gnu_ld"
+
+old_CC="$CC"
+old_CFLAGS="$CFLAGS"
+
+# Set sane defaults for various variables
+test -z "$CC" && CC=cc
+test -z "$LTCC" && LTCC=$CC
+test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS
+test -z "$LD" && LD=ld
+test -z "$ac_objext" && ac_objext=o
+
+for cc_temp in $compiler""; do
+ case $cc_temp in
+ compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
+ distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
+ \-*) ;;
+ *) break;;
+ esac
+done
+cc_basename=`$ECHO "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
+
+
+# Only perform the check for file, if the check method requires it
+test -z "$MAGIC_CMD" && MAGIC_CMD=file
+case $deplibs_check_method in
+file_magic*)
+ if test "$file_magic_cmd" = '$MAGIC_CMD'; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${ac_tool_prefix}file" >&5
+$as_echo_n "checking for ${ac_tool_prefix}file... " >&6; }
+if test "${lt_cv_path_MAGIC_CMD+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ case $MAGIC_CMD in
+[\\/*] | ?:[\\/]*)
+ lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
+ ;;
+*)
+ lt_save_MAGIC_CMD="$MAGIC_CMD"
+ lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+ ac_dummy="/usr/bin$PATH_SEPARATOR$PATH"
+ for ac_dir in $ac_dummy; do
+ IFS="$lt_save_ifs"
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/${ac_tool_prefix}file; then
+ lt_cv_path_MAGIC_CMD="$ac_dir/${ac_tool_prefix}file"
+ if test -n "$file_magic_test_file"; then
+ case $deplibs_check_method in
+ "file_magic "*)
+ file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
+ MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
+ if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
+ $EGREP "$file_magic_regex" > /dev/null; then
+ :
+ else
+ cat <<_LT_EOF 1>&2
+
+*** Warning: the command libtool uses to detect shared libraries,
+*** $file_magic_cmd, produces output that libtool cannot recognize.
+*** The result is that libtool may fail to recognize shared libraries
+*** as such. This will affect the creation of libtool libraries that
+*** depend on shared libraries, but programs linked with such libtool
+*** libraries will work regardless of this problem. Nevertheless, you
+*** may want to report the problem to your system manager and/or to
+*** bug-libtool@gnu.org
+
+_LT_EOF
+ fi ;;
+ esac
+ fi
+ break
+ fi
+ done
+ IFS="$lt_save_ifs"
+ MAGIC_CMD="$lt_save_MAGIC_CMD"
+ ;;
+esac
+fi
+
+MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
+if test -n "$MAGIC_CMD"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5
+$as_echo "$MAGIC_CMD" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+
+
+
+if test -z "$lt_cv_path_MAGIC_CMD"; then
+ if test -n "$ac_tool_prefix"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for file" >&5
+$as_echo_n "checking for file... " >&6; }
+if test "${lt_cv_path_MAGIC_CMD+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ case $MAGIC_CMD in
+[\\/*] | ?:[\\/]*)
+ lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
+ ;;
+*)
+ lt_save_MAGIC_CMD="$MAGIC_CMD"
+ lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+ ac_dummy="/usr/bin$PATH_SEPARATOR$PATH"
+ for ac_dir in $ac_dummy; do
+ IFS="$lt_save_ifs"
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/file; then
+ lt_cv_path_MAGIC_CMD="$ac_dir/file"
+ if test -n "$file_magic_test_file"; then
+ case $deplibs_check_method in
+ "file_magic "*)
+ file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
+ MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
+ if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
+ $EGREP "$file_magic_regex" > /dev/null; then
+ :
+ else
+ cat <<_LT_EOF 1>&2
+
+*** Warning: the command libtool uses to detect shared libraries,
+*** $file_magic_cmd, produces output that libtool cannot recognize.
+*** The result is that libtool may fail to recognize shared libraries
+*** as such. This will affect the creation of libtool libraries that
+*** depend on shared libraries, but programs linked with such libtool
+*** libraries will work regardless of this problem. Nevertheless, you
+*** may want to report the problem to your system manager and/or to
+*** bug-libtool@gnu.org
+
+_LT_EOF
+ fi ;;
+ esac
+ fi
+ break
+ fi
+ done
+ IFS="$lt_save_ifs"
+ MAGIC_CMD="$lt_save_MAGIC_CMD"
+ ;;
+esac
+fi
+
+MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
+if test -n "$MAGIC_CMD"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5
+$as_echo "$MAGIC_CMD" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+ else
+ MAGIC_CMD=:
+ fi
+fi
+
+ fi
+ ;;
+esac
+
+# Use C for the default configuration in the libtool script
+
+lt_save_CC="$CC"
+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
+
+
+# Source file extension for C test sources.
+ac_ext=c
+
+# Object file extension for compiled C test sources.
+objext=o
+objext=$objext
+
+# Code to be used in simple compile tests
+lt_simple_compile_test_code="int some_variable = 0;"
+
+# Code to be used in simple link tests
+lt_simple_link_test_code='int main(){return(0);}'
+
+
+
+
+
+
+
+# If no C compiler was specified, use CC.
+LTCC=${LTCC-"$CC"}
+
+# If no C compiler flags were specified, use CFLAGS.
+LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
+
+# Allow CC to be a program name with arguments.
+compiler=$CC
+
+# Save the default compiler, since it gets overwritten when the other
+# tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP.
+compiler_DEFAULT=$CC
+
+# save warnings/boilerplate of simple test code
+ac_outfile=conftest.$ac_objext
+echo "$lt_simple_compile_test_code" >conftest.$ac_ext
+eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
+_lt_compiler_boilerplate=`cat conftest.err`
+$RM conftest*
+
+ac_outfile=conftest.$ac_objext
+echo "$lt_simple_link_test_code" >conftest.$ac_ext
+eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
+_lt_linker_boilerplate=`cat conftest.err`
+$RM -r conftest*
+
+
+## CAVEAT EMPTOR:
+## There is no encapsulation within the following macros, do not change
+## the running order or otherwise move them around unless you know exactly
+## what you are doing...
+if test -n "$compiler"; then
+
+lt_prog_compiler_no_builtin_flag=
+
+if test "$GCC" = yes; then
+ lt_prog_compiler_no_builtin_flag=' -fno-builtin'
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -fno-rtti -fno-exceptions" >&5
+$as_echo_n "checking if $compiler supports -fno-rtti -fno-exceptions... " >&6; }
+if test "${lt_cv_prog_compiler_rtti_exceptions+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ lt_cv_prog_compiler_rtti_exceptions=no
+ ac_outfile=conftest.$ac_objext
+ echo "$lt_simple_compile_test_code" > conftest.$ac_ext
+ lt_compiler_flag="-fno-rtti -fno-exceptions"
+ # Insert the option either (1) after the last *FLAGS variable, or
+ # (2) before a word containing "conftest.", or (3) at the end.
+ # Note that $ac_compile itself does not contain backslashes and begins
+ # with a dollar sign (not a hyphen), so the echo should work correctly.
+ # The option is referenced via a variable to avoid confusing sed.
+ lt_compile=`echo "$ac_compile" | $SED \
+ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
+ -e 's:$: $lt_compiler_flag:'`
+ (eval echo "\"\$as_me:7524: $lt_compile\"" >&5)
+ (eval "$lt_compile" 2>conftest.err)
+ ac_status=$?
+ cat conftest.err >&5
+ echo "$as_me:7528: \$? = $ac_status" >&5
+ if (exit $ac_status) && test -s "$ac_outfile"; then
+ # The compiler can only warn and ignore the option if not recognized
+ # So say no if there are warnings other than the usual output.
+ $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp
+ $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
+ if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
+ lt_cv_prog_compiler_rtti_exceptions=yes
+ fi
+ fi
+ $RM conftest*
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_rtti_exceptions" >&5
+$as_echo "$lt_cv_prog_compiler_rtti_exceptions" >&6; }
+
+if test x"$lt_cv_prog_compiler_rtti_exceptions" = xyes; then
+ lt_prog_compiler_no_builtin_flag="$lt_prog_compiler_no_builtin_flag -fno-rtti -fno-exceptions"
+else
+ :
+fi
+
+fi
+
+
+
+
+
+
+ lt_prog_compiler_wl=
+lt_prog_compiler_pic=
+lt_prog_compiler_static=
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5
+$as_echo_n "checking for $compiler option to produce PIC... " >&6; }
+
+ if test "$GCC" = yes; then
+ lt_prog_compiler_wl='-Wl,'
+ lt_prog_compiler_static='-static'
+
+ case $host_os in
+ aix*)
+ # All AIX code is PIC.
+ if test "$host_cpu" = ia64; then
+ # AIX 5 now supports IA64 processor
+ lt_prog_compiler_static='-Bstatic'
+ fi
+ ;;
+
+ amigaos*)
+ case $host_cpu in
+ powerpc)
+ # see comment about AmigaOS4 .so support
+ lt_prog_compiler_pic='-fPIC'
+ ;;
+ m68k)
+ # FIXME: we need at least 68020 code to build shared libraries, but
+ # adding the `-m68020' flag to GCC prevents building anything better,
+ # like `-m68040'.
+ lt_prog_compiler_pic='-m68020 -resident32 -malways-restore-a4'
+ ;;
+ esac
+ ;;
+
+ beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
+ # PIC is the default for these OSes.
+ ;;
+
+ mingw* | cygwin* | pw32* | os2* | cegcc*)
+ # This hack is so that the source file can tell whether it is being
+ # built for inclusion in a dll (and should export symbols for example).
+ # Although the cygwin gcc ignores -fPIC, still need this for old-style
+ # (--disable-auto-import) libraries
+ lt_prog_compiler_pic='-DDLL_EXPORT'
+ ;;
+
+ darwin* | rhapsody*)
+ # PIC is the default on this platform
+ # Common symbols not allowed in MH_DYLIB files
+ lt_prog_compiler_pic='-fno-common'
+ ;;
+
+ hpux*)
+ # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
+ # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag
+ # sets the default TLS model and affects inlining.
+ case $host_cpu in
+ hppa*64*)
+ # +Z the default
+ ;;
+ *)
+ lt_prog_compiler_pic='-fPIC'
+ ;;
+ esac
+ ;;
+
+ interix[3-9]*)
+ # Interix 3.x gcc -fpic/-fPIC options generate broken code.
+ # Instead, we relocate shared libraries at runtime.
+ ;;
+
+ msdosdjgpp*)
+ # Just because we use GCC doesn't mean we suddenly get shared libraries
+ # on systems that don't support them.
+ lt_prog_compiler_can_build_shared=no
+ enable_shared=no
+ ;;
+
+ *nto* | *qnx*)
+ # QNX uses GNU C++, but need to define -shared option too, otherwise
+ # it will coredump.
+ lt_prog_compiler_pic='-fPIC -shared'
+ ;;
+
+ sysv4*MP*)
+ if test -d /usr/nec; then
+ lt_prog_compiler_pic=-Kconform_pic
+ fi
+ ;;
+
+ *)
+ lt_prog_compiler_pic='-fPIC'
+ ;;
+ esac
+ else
+ # PORTME Check for flag to pass linker flags through the system compiler.
+ case $host_os in
+ aix*)
+ lt_prog_compiler_wl='-Wl,'
+ if test "$host_cpu" = ia64; then
+ # AIX 5 now supports IA64 processor
+ lt_prog_compiler_static='-Bstatic'
+ else
+ lt_prog_compiler_static='-bnso -bI:/lib/syscalls.exp'
+ fi
+ ;;
+
+ mingw* | cygwin* | pw32* | os2* | cegcc*)
+ # This hack is so that the source file can tell whether it is being
+ # built for inclusion in a dll (and should export symbols for example).
+ lt_prog_compiler_pic='-DDLL_EXPORT'
+ ;;
+
+ hpux9* | hpux10* | hpux11*)
+ lt_prog_compiler_wl='-Wl,'
+ # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
+ # not for PA HP-UX.
+ case $host_cpu in
+ hppa*64*|ia64*)
+ # +Z the default
+ ;;
+ *)
+ lt_prog_compiler_pic='+Z'
+ ;;
+ esac
+ # Is there a better lt_prog_compiler_static that works with the bundled CC?
+ lt_prog_compiler_static='${wl}-a ${wl}archive'
+ ;;
+
+ irix5* | irix6* | nonstopux*)
+ lt_prog_compiler_wl='-Wl,'
+ # PIC (with -KPIC) is the default.
+ lt_prog_compiler_static='-non_shared'
+ ;;
+
+ linux* | k*bsd*-gnu | kopensolaris*-gnu)
+ case $cc_basename in
+ # old Intel for x86_64 which still supported -KPIC.
+ ecc*)
+ lt_prog_compiler_wl='-Wl,'
+ lt_prog_compiler_pic='-KPIC'
+ lt_prog_compiler_static='-static'
+ ;;
+ # icc used to be incompatible with GCC.
+ # ICC 10 doesn't accept -KPIC any more.
+ icc* | ifort*)
+ lt_prog_compiler_wl='-Wl,'
+ lt_prog_compiler_pic='-fPIC'
+ lt_prog_compiler_static='-static'
+ ;;
+ # Lahey Fortran 8.1.
+ lf95*)
+ lt_prog_compiler_wl='-Wl,'
+ lt_prog_compiler_pic='--shared'
+ lt_prog_compiler_static='--static'
+ ;;
+ pgcc* | pgf77* | pgf90* | pgf95*)
+ # Portland Group compilers (*not* the Pentium gcc compiler,
+ # which looks to be a dead project)
+ lt_prog_compiler_wl='-Wl,'
+ lt_prog_compiler_pic='-fpic'
+ lt_prog_compiler_static='-Bstatic'
+ ;;
+ ccc*)
+ lt_prog_compiler_wl='-Wl,'
+ # All Alpha code is PIC.
+ lt_prog_compiler_static='-non_shared'
+ ;;
+ xl*)
+ # IBM XL C 8.0/Fortran 10.1 on PPC
+ lt_prog_compiler_wl='-Wl,'
+ lt_prog_compiler_pic='-qpic'
+ lt_prog_compiler_static='-qstaticlink'
+ ;;
+ *)
+ case `$CC -V 2>&1 | sed 5q` in
+ *Sun\ C*)
+ # Sun C 5.9
+ lt_prog_compiler_pic='-KPIC'
+ lt_prog_compiler_static='-Bstatic'
+ lt_prog_compiler_wl='-Wl,'
+ ;;
+ *Sun\ F*)
+ # Sun Fortran 8.3 passes all unrecognized flags to the linker
+ lt_prog_compiler_pic='-KPIC'
+ lt_prog_compiler_static='-Bstatic'
+ lt_prog_compiler_wl=''
+ ;;
+ esac
+ ;;
+ esac
+ ;;
+
+ newsos6)
+ lt_prog_compiler_pic='-KPIC'
+ lt_prog_compiler_static='-Bstatic'
+ ;;
+
+ *nto* | *qnx*)
+ # QNX uses GNU C++, but need to define -shared option too, otherwise
+ # it will coredump.
+ lt_prog_compiler_pic='-fPIC -shared'
+ ;;
+
+ osf3* | osf4* | osf5*)
+ lt_prog_compiler_wl='-Wl,'
+ # All OSF/1 code is PIC.
+ lt_prog_compiler_static='-non_shared'
+ ;;
+
+ rdos*)
+ lt_prog_compiler_static='-non_shared'
+ ;;
+
+ solaris*)
+ lt_prog_compiler_pic='-KPIC'
+ lt_prog_compiler_static='-Bstatic'
+ case $cc_basename in
+ f77* | f90* | f95*)
+ lt_prog_compiler_wl='-Qoption ld ';;
+ *)
+ lt_prog_compiler_wl='-Wl,';;
+ esac
+ ;;
+
+ sunos4*)
+ lt_prog_compiler_wl='-Qoption ld '
+ lt_prog_compiler_pic='-PIC'
+ lt_prog_compiler_static='-Bstatic'
+ ;;
+
+ sysv4 | sysv4.2uw2* | sysv4.3*)
+ lt_prog_compiler_wl='-Wl,'
+ lt_prog_compiler_pic='-KPIC'
+ lt_prog_compiler_static='-Bstatic'
+ ;;
+
+ sysv4*MP*)
+ if test -d /usr/nec ;then
+ lt_prog_compiler_pic='-Kconform_pic'
+ lt_prog_compiler_static='-Bstatic'
+ fi
+ ;;
+
+ sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
+ lt_prog_compiler_wl='-Wl,'
+ lt_prog_compiler_pic='-KPIC'
+ lt_prog_compiler_static='-Bstatic'
+ ;;
+
+ unicos*)
+ lt_prog_compiler_wl='-Wl,'
+ lt_prog_compiler_can_build_shared=no
+ ;;
+
+ uts4*)
+ lt_prog_compiler_pic='-pic'
+ lt_prog_compiler_static='-Bstatic'
+ ;;
+
+ *)
+ lt_prog_compiler_can_build_shared=no
+ ;;
+ esac
+ fi
+
+case $host_os in
+ # For platforms which do not support PIC, -DPIC is meaningless:
+ *djgpp*)
+ lt_prog_compiler_pic=
+ ;;
+ *)
+ lt_prog_compiler_pic="$lt_prog_compiler_pic -DPIC"
+ ;;
+esac
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_prog_compiler_pic" >&5
+$as_echo "$lt_prog_compiler_pic" >&6; }
+
+
+
+
+
+
+#
+# Check to make sure the PIC flag actually works.
+#
+if test -n "$lt_prog_compiler_pic"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5
+$as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic works... " >&6; }
+if test "${lt_cv_prog_compiler_pic_works+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ lt_cv_prog_compiler_pic_works=no
+ ac_outfile=conftest.$ac_objext
+ echo "$lt_simple_compile_test_code" > conftest.$ac_ext
+ lt_compiler_flag="$lt_prog_compiler_pic -DPIC"
+ # Insert the option either (1) after the last *FLAGS variable, or
+ # (2) before a word containing "conftest.", or (3) at the end.
+ # Note that $ac_compile itself does not contain backslashes and begins
+ # with a dollar sign (not a hyphen), so the echo should work correctly.
+ # The option is referenced via a variable to avoid confusing sed.
+ lt_compile=`echo "$ac_compile" | $SED \
+ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
+ -e 's:$: $lt_compiler_flag:'`
+ (eval echo "\"\$as_me:7863: $lt_compile\"" >&5)
+ (eval "$lt_compile" 2>conftest.err)
+ ac_status=$?
+ cat conftest.err >&5
+ echo "$as_me:7867: \$? = $ac_status" >&5
+ if (exit $ac_status) && test -s "$ac_outfile"; then
+ # The compiler can only warn and ignore the option if not recognized
+ # So say no if there are warnings other than the usual output.
+ $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp
+ $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
+ if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
+ lt_cv_prog_compiler_pic_works=yes
+ fi
+ fi
+ $RM conftest*
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works" >&5
+$as_echo "$lt_cv_prog_compiler_pic_works" >&6; }
+
+if test x"$lt_cv_prog_compiler_pic_works" = xyes; then
+ case $lt_prog_compiler_pic in
+ "" | " "*) ;;
+ *) lt_prog_compiler_pic=" $lt_prog_compiler_pic" ;;
+ esac
+else
+ lt_prog_compiler_pic=
+ lt_prog_compiler_can_build_shared=no
+fi
+
+fi
+
+
+
+
+
+
+#
+# Check to make sure the static flag actually works.
+#
+wl=$lt_prog_compiler_wl eval lt_tmp_static_flag=\"$lt_prog_compiler_static\"
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5
+$as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; }
+if test "${lt_cv_prog_compiler_static_works+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ lt_cv_prog_compiler_static_works=no
+ save_LDFLAGS="$LDFLAGS"
+ LDFLAGS="$LDFLAGS $lt_tmp_static_flag"
+ echo "$lt_simple_link_test_code" > conftest.$ac_ext
+ if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
+ # The linker can only warn and ignore the option if not recognized
+ # So say no if there are warnings
+ if test -s conftest.err; then
+ # Append any errors to the config.log.
+ cat conftest.err 1>&5
+ $ECHO "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp
+ $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
+ if diff conftest.exp conftest.er2 >/dev/null; then
+ lt_cv_prog_compiler_static_works=yes
+ fi
+ else
+ lt_cv_prog_compiler_static_works=yes
+ fi
+ fi
+ $RM -r conftest*
+ LDFLAGS="$save_LDFLAGS"
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works" >&5
+$as_echo "$lt_cv_prog_compiler_static_works" >&6; }
+
+if test x"$lt_cv_prog_compiler_static_works" = xyes; then
+ :
+else
+ lt_prog_compiler_static=
+fi
+
+
+
+
+
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5
+$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
+if test "${lt_cv_prog_compiler_c_o+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ lt_cv_prog_compiler_c_o=no
+ $RM -r conftest 2>/dev/null
+ mkdir conftest
+ cd conftest
+ mkdir out
+ echo "$lt_simple_compile_test_code" > conftest.$ac_ext
+
+ lt_compiler_flag="-o out/conftest2.$ac_objext"
+ # Insert the option either (1) after the last *FLAGS variable, or
+ # (2) before a word containing "conftest.", or (3) at the end.
+ # Note that $ac_compile itself does not contain backslashes and begins
+ # with a dollar sign (not a hyphen), so the echo should work correctly.
+ lt_compile=`echo "$ac_compile" | $SED \
+ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
+ -e 's:$: $lt_compiler_flag:'`
+ (eval echo "\"\$as_me:7968: $lt_compile\"" >&5)
+ (eval "$lt_compile" 2>out/conftest.err)
+ ac_status=$?
+ cat out/conftest.err >&5
+ echo "$as_me:7972: \$? = $ac_status" >&5
+ if (exit $ac_status) && test -s out/conftest2.$ac_objext
+ then
+ # The compiler can only warn and ignore the option if not recognized
+ # So say no if there are warnings
+ $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp
+ $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
+ if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
+ lt_cv_prog_compiler_c_o=yes
+ fi
+ fi
+ chmod u+w . 2>&5
+ $RM conftest*
+ # SGI C++ compiler will create directory out/ii_files/ for
+ # template instantiation
+ test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
+ $RM out/* && rmdir out
+ cd ..
+ $RM -r conftest
+ $RM conftest*
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5
+$as_echo "$lt_cv_prog_compiler_c_o" >&6; }
+
+
+
+
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5
+$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
+if test "${lt_cv_prog_compiler_c_o+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ lt_cv_prog_compiler_c_o=no
+ $RM -r conftest 2>/dev/null
+ mkdir conftest
+ cd conftest
+ mkdir out
+ echo "$lt_simple_compile_test_code" > conftest.$ac_ext
+
+ lt_compiler_flag="-o out/conftest2.$ac_objext"
+ # Insert the option either (1) after the last *FLAGS variable, or
+ # (2) before a word containing "conftest.", or (3) at the end.
+ # Note that $ac_compile itself does not contain backslashes and begins
+ # with a dollar sign (not a hyphen), so the echo should work correctly.
+ lt_compile=`echo "$ac_compile" | $SED \
+ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
+ -e 's:$: $lt_compiler_flag:'`
+ (eval echo "\"\$as_me:8023: $lt_compile\"" >&5)
+ (eval "$lt_compile" 2>out/conftest.err)
+ ac_status=$?
+ cat out/conftest.err >&5
+ echo "$as_me:8027: \$? = $ac_status" >&5
+ if (exit $ac_status) && test -s out/conftest2.$ac_objext
+ then
+ # The compiler can only warn and ignore the option if not recognized
+ # So say no if there are warnings
+ $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp
+ $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
+ if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
+ lt_cv_prog_compiler_c_o=yes
+ fi
+ fi
+ chmod u+w . 2>&5
+ $RM conftest*
+ # SGI C++ compiler will create directory out/ii_files/ for
+ # template instantiation
+ test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
+ $RM out/* && rmdir out
+ cd ..
+ $RM -r conftest
+ $RM conftest*
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5
+$as_echo "$lt_cv_prog_compiler_c_o" >&6; }
+
+
+
+
+hard_links="nottested"
+if test "$lt_cv_prog_compiler_c_o" = no && test "$need_locks" != no; then
+ # do not overwrite the value of need_locks provided by the user
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5
+$as_echo_n "checking if we can lock with hard links... " >&6; }
+ hard_links=yes
+ $RM conftest*
+ ln conftest.a conftest.b 2>/dev/null && hard_links=no
+ touch conftest.a
+ ln conftest.a conftest.b 2>&5 || hard_links=no
+ ln conftest.a conftest.b 2>/dev/null && hard_links=no
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5
+$as_echo "$hard_links" >&6; }
+ if test "$hard_links" = no; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5
+$as_echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;}
+ need_locks=warn
+ fi
+else
+ need_locks=no
+fi
+
+
+
+
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5
+$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; }
+
+ runpath_var=
+ allow_undefined_flag=
+ always_export_symbols=no
+ archive_cmds=
+ archive_expsym_cmds=
+ compiler_needs_object=no
+ enable_shared_with_static_runtimes=no
+ export_dynamic_flag_spec=
+ export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
+ hardcode_automatic=no
+ hardcode_direct=no
+ hardcode_direct_absolute=no
+ hardcode_libdir_flag_spec=
+ hardcode_libdir_flag_spec_ld=
+ hardcode_libdir_separator=
+ hardcode_minus_L=no
+ hardcode_shlibpath_var=unsupported
+ inherit_rpath=no
+ link_all_deplibs=unknown
+ module_cmds=
+ module_expsym_cmds=
+ old_archive_from_new_cmds=
+ old_archive_from_expsyms_cmds=
+ thread_safe_flag_spec=
+ whole_archive_flag_spec=
+ # include_expsyms should be a list of space-separated symbols to be *always*
+ # included in the symbol list
+ include_expsyms=
+ # exclude_expsyms can be an extended regexp of symbols to exclude
+ # it will be wrapped by ` (' and `)$', so one must not match beginning or
+ # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc',
+ # as well as any symbol that contains `d'.
+ exclude_expsyms='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'
+ # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
+ # platforms (ab)use it in PIC code, but their linkers get confused if
+ # the symbol is explicitly referenced. Since portable code cannot
+ # rely on this symbol name, it's probably fine to never include it in
+ # preloaded symbol tables.
+ # Exclude shared library initialization/finalization symbols.
+ extract_expsyms_cmds=
+
+ case $host_os in
+ cygwin* | mingw* | pw32* | cegcc*)
+ # FIXME: the MSVC++ port hasn't been tested in a loooong time
+ # When not using gcc, we currently assume that we are using
+ # Microsoft Visual C++.
+ if test "$GCC" != yes; then
+ with_gnu_ld=no
+ fi
+ ;;
+ interix*)
+ # we just hope/assume this is gcc and not c89 (= MSVC++)
+ with_gnu_ld=yes
+ ;;
+ openbsd*)
+ with_gnu_ld=no
+ ;;
+ linux* | k*bsd*-gnu)
+ link_all_deplibs=no
+ ;;
+ esac
+
+ ld_shlibs=yes
+ if test "$with_gnu_ld" = yes; then
+ # If archive_cmds runs LD, not CC, wlarc should be empty
+ wlarc='${wl}'
+
+ # Set some defaults for GNU ld with shared library support. These
+ # are reset later if shared libraries are not supported. Putting them
+ # here allows them to be overridden if necessary.
+ runpath_var=LD_RUN_PATH
+ hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+ export_dynamic_flag_spec='${wl}--export-dynamic'
+ # ancient GNU ld didn't support --whole-archive et. al.
+ if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then
+ whole_archive_flag_spec="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
+ else
+ whole_archive_flag_spec=
+ fi
+ supports_anon_versioning=no
+ case `$LD -v 2>&1` in
+ *GNU\ gold*) supports_anon_versioning=yes ;;
+ *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11
+ *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
+ *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
+ *\ 2.11.*) ;; # other 2.11 versions
+ *) supports_anon_versioning=yes ;;
+ esac
+
+ # See if GNU ld supports shared libraries.
+ case $host_os in
+ aix[3-9]*)
+ # On AIX/PPC, the GNU linker is very broken
+ if test "$host_cpu" != ia64; then
+ ld_shlibs=no
+ cat <<_LT_EOF 1>&2
+
+*** Warning: the GNU linker, at least up to release 2.9.1, is reported
+*** to be unable to reliably create shared libraries on AIX.
+*** Therefore, libtool is disabling shared libraries support. If you
+*** really care for shared libraries, you may want to modify your PATH
+*** so that a non-GNU linker is found, and then restart.
+
+_LT_EOF
+ fi
+ ;;
+
+ amigaos*)
+ case $host_cpu in
+ powerpc)
+ # see comment about AmigaOS4 .so support
+ archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ archive_expsym_cmds=''
+ ;;
+ m68k)
+ archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
+ hardcode_libdir_flag_spec='-L$libdir'
+ hardcode_minus_L=yes
+ ;;
+ esac
+ ;;
+
+ beos*)
+ if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
+ allow_undefined_flag=unsupported
+ # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
+ # support --undefined. This deserves some investigation. FIXME
+ archive_cmds='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ else
+ ld_shlibs=no
+ fi
+ ;;
+
+ cygwin* | mingw* | pw32* | cegcc*)
+ # _LT_TAGVAR(hardcode_libdir_flag_spec, ) is actually meaningless,
+ # as there is no search path for DLLs.
+ hardcode_libdir_flag_spec='-L$libdir'
+ allow_undefined_flag=unsupported
+ always_export_symbols=no
+ enable_shared_with_static_runtimes=yes
+ export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/'\'' | $SED -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols'
+
+ if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
+ archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+ # If the export-symbols file already is a .def file (1st line
+ # is EXPORTS), use it as is; otherwise, prepend...
+ archive_expsym_cmds='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
+ cp $export_symbols $output_objdir/$soname.def;
+ else
+ echo EXPORTS > $output_objdir/$soname.def;
+ cat $export_symbols >> $output_objdir/$soname.def;
+ fi~
+ $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+ else
+ ld_shlibs=no
+ fi
+ ;;
+
+ interix[3-9]*)
+ hardcode_direct=no
+ hardcode_shlibpath_var=no
+ hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
+ export_dynamic_flag_spec='${wl}-E'
+ # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
+ # Instead, shared libraries are loaded at an image base (0x10000000 by
+ # default) and relocated if they conflict, which is a slow very memory
+ # consuming and fragmenting process. To avoid this, we pick a random,
+ # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
+ # time. Moving up from 0x10000000 also allows more sbrk(2) space.
+ archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+ archive_expsym_cmds='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+ ;;
+
+ gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu)
+ tmp_diet=no
+ if test "$host_os" = linux-dietlibc; then
+ case $cc_basename in
+ diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn)
+ esac
+ fi
+ if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \
+ && test "$tmp_diet" = no
+ then
+ tmp_addflag=
+ tmp_sharedflag='-shared'
+ case $cc_basename,$host_cpu in
+ pgcc*) # Portland Group C compiler
+ whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
+ tmp_addflag=' $pic_flag'
+ ;;
+ pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers
+ whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
+ tmp_addflag=' $pic_flag -Mnomain' ;;
+ ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64
+ tmp_addflag=' -i_dynamic' ;;
+ efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64
+ tmp_addflag=' -i_dynamic -nofor_main' ;;
+ ifc* | ifort*) # Intel Fortran compiler
+ tmp_addflag=' -nofor_main' ;;
+ lf95*) # Lahey Fortran 8.1
+ whole_archive_flag_spec=
+ tmp_sharedflag='--shared' ;;
+ xl[cC]*) # IBM XL C 8.0 on PPC (deal with xlf below)
+ tmp_sharedflag='-qmkshrobj'
+ tmp_addflag= ;;
+ esac
+ case `$CC -V 2>&1 | sed 5q` in
+ *Sun\ C*) # Sun C 5.9
+ whole_archive_flag_spec='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
+ compiler_needs_object=yes
+ tmp_sharedflag='-G' ;;
+ *Sun\ F*) # Sun Fortran 8.3
+ tmp_sharedflag='-G' ;;
+ esac
+ archive_cmds='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+
+ if test "x$supports_anon_versioning" = xyes; then
+ archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~
+ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
+ echo "local: *; };" >> $output_objdir/$libname.ver~
+ $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
+ fi
+
+ case $cc_basename in
+ xlf*)
+ # IBM XL Fortran 10.1 on PPC cannot create shared libs itself
+ whole_archive_flag_spec='--whole-archive$convenience --no-whole-archive'
+ hardcode_libdir_flag_spec=
+ hardcode_libdir_flag_spec_ld='-rpath $libdir'
+ archive_cmds='$LD -shared $libobjs $deplibs $compiler_flags -soname $soname -o $lib'
+ if test "x$supports_anon_versioning" = xyes; then
+ archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~
+ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
+ echo "local: *; };" >> $output_objdir/$libname.ver~
+ $LD -shared $libobjs $deplibs $compiler_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib'
+ fi
+ ;;
+ esac
+ else
+ ld_shlibs=no
+ fi
+ ;;
+
+ netbsd* | netbsdelf*-gnu)
+ if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
+ archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
+ wlarc=
+ else
+ archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ fi
+ ;;
+
+ solaris*)
+ if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then
+ ld_shlibs=no
+ cat <<_LT_EOF 1>&2
+
+*** Warning: The releases 2.8.* of the GNU linker cannot reliably
+*** create shared libraries on Solaris systems. Therefore, libtool
+*** is disabling shared libraries support. We urge you to upgrade GNU
+*** binutils to release 2.9.1 or newer. Another option is to modify
+*** your PATH or compiler configuration so that the native linker is
+*** used, and then restart.
+
+_LT_EOF
+ elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
+ archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ else
+ ld_shlibs=no
+ fi
+ ;;
+
+ sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
+ case `$LD -v 2>&1` in
+ *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*)
+ ld_shlibs=no
+ cat <<_LT_EOF 1>&2
+
+*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not
+*** reliably create shared libraries on SCO systems. Therefore, libtool
+*** is disabling shared libraries support. We urge you to upgrade GNU
+*** binutils to release 2.16.91.0.3 or newer. Another option is to modify
+*** your PATH or compiler configuration so that the native linker is
+*** used, and then restart.
+
+_LT_EOF
+ ;;
+ *)
+ # For security reasons, it is highly recommended that you always
+ # use absolute paths for naming shared libraries, and exclude the
+ # DT_RUNPATH tag from executables and libraries. But doing so
+ # requires that you compile everything twice, which is a pain.
+ if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
+ hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+ archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ else
+ ld_shlibs=no
+ fi
+ ;;
+ esac
+ ;;
+
+ sunos4*)
+ archive_cmds='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+ wlarc=
+ hardcode_direct=yes
+ hardcode_shlibpath_var=no
+ ;;
+
+ *)
+ if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
+ archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ else
+ ld_shlibs=no
+ fi
+ ;;
+ esac
+
+ if test "$ld_shlibs" = no; then
+ runpath_var=
+ hardcode_libdir_flag_spec=
+ export_dynamic_flag_spec=
+ whole_archive_flag_spec=
+ fi
+ else
+ # PORTME fill in a description of your system's linker (not GNU ld)
+ case $host_os in
+ aix3*)
+ allow_undefined_flag=unsupported
+ always_export_symbols=yes
+ archive_expsym_cmds='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname'
+ # Note: this linker hardcodes the directories in LIBPATH if there
+ # are no directories specified by -L.
+ hardcode_minus_L=yes
+ if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then
+ # Neither direct hardcoding nor static linking is supported with a
+ # broken collect2.
+ hardcode_direct=unsupported
+ fi
+ ;;
+
+ aix[4-9]*)
+ if test "$host_cpu" = ia64; then
+ # On IA64, the linker does run time linking by default, so we don't
+ # have to do anything special.
+ aix_use_runtimelinking=no
+ exp_sym_flag='-Bexport'
+ no_entry_flag=""
+ else
+ # If we're using GNU nm, then we don't want the "-C" option.
+ # -C means demangle to AIX nm, but means don't demangle with GNU nm
+ if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
+ export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
+ else
+ export_symbols_cmds='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
+ fi
+ aix_use_runtimelinking=no
+
+ # Test if we are trying to use run time linking or normal
+ # AIX style linking. If -brtl is somewhere in LDFLAGS, we
+ # need to do runtime linking.
+ case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*)
+ for ld_flag in $LDFLAGS; do
+ if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
+ aix_use_runtimelinking=yes
+ break
+ fi
+ done
+ ;;
+ esac
+
+ exp_sym_flag='-bexport'
+ no_entry_flag='-bnoentry'
+ fi
+
+ # When large executables or shared objects are built, AIX ld can
+ # have problems creating the table of contents. If linking a library
+ # or program results in "error TOC overflow" add -mminimal-toc to
+ # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not
+ # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
+
+ archive_cmds=''
+ hardcode_direct=yes
+ hardcode_direct_absolute=yes
+ hardcode_libdir_separator=':'
+ link_all_deplibs=yes
+ file_list_spec='${wl}-f,'
+
+ if test "$GCC" = yes; then
+ case $host_os in aix4.[012]|aix4.[012].*)
+ # We only want to do this on AIX 4.2 and lower, the check
+ # below for broken collect2 doesn't work under 4.3+
+ collect2name=`${CC} -print-prog-name=collect2`
+ if test -f "$collect2name" &&
+ strings "$collect2name" | $GREP resolve_lib_name >/dev/null
+ then
+ # We have reworked collect2
+ :
+ else
+ # We have old collect2
+ hardcode_direct=unsupported
+ # It fails to find uninstalled libraries when the uninstalled
+ # path is not listed in the libpath. Setting hardcode_minus_L
+ # to unsupported forces relinking
+ hardcode_minus_L=yes
+ hardcode_libdir_flag_spec='-L$libdir'
+ hardcode_libdir_separator=
+ fi
+ ;;
+ esac
+ shared_flag='-shared'
+ if test "$aix_use_runtimelinking" = yes; then
+ shared_flag="$shared_flag "'${wl}-G'
+ fi
+ link_all_deplibs=no
+ else
+ # not using gcc
+ if test "$host_cpu" = ia64; then
+ # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
+ # chokes on -Wl,-G. The following line is correct:
+ shared_flag='-G'
+ else
+ if test "$aix_use_runtimelinking" = yes; then
+ shared_flag='${wl}-G'
+ else
+ shared_flag='${wl}-bM:SRE'
+ fi
+ fi
+ fi
+
+ export_dynamic_flag_spec='${wl}-bexpall'
+ # It seems that -bexpall does not export symbols beginning with
+ # underscore (_), so it is better to generate a list of symbols to export.
+ always_export_symbols=yes
+ if test "$aix_use_runtimelinking" = yes; then
+ # Warning - without using the other runtime loading flags (-brtl),
+ # -berok will link without error, but may produce a broken library.
+ allow_undefined_flag='-berok'
+ # Determine the default libpath from the value encoded in an
+ # empty executable.
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+
+lt_aix_libpath_sed='
+ /Import File Strings/,/^$/ {
+ /^0/ {
+ s/^0 *\(.*\)$/\1/
+ p
+ }
+ }'
+aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+# Check for a 64-bit object if we didn't find anything.
+if test -z "$aix_libpath"; then
+ aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+fi
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+
+ hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
+ archive_expsym_cmds='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then $ECHO "X${wl}${allow_undefined_flag}" | $Xsed; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
+ else
+ if test "$host_cpu" = ia64; then
+ hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib'
+ allow_undefined_flag="-z nodefs"
+ archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
+ else
+ # Determine the default libpath from the value encoded in an
+ # empty executable.
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+
+lt_aix_libpath_sed='
+ /Import File Strings/,/^$/ {
+ /^0/ {
+ s/^0 *\(.*\)$/\1/
+ p
+ }
+ }'
+aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+# Check for a 64-bit object if we didn't find anything.
+if test -z "$aix_libpath"; then
+ aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+fi
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+
+ hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
+ # Warning - without using the other run time loading flags,
+ # -berok will link without error, but may produce a broken library.
+ no_undefined_flag=' ${wl}-bernotok'
+ allow_undefined_flag=' ${wl}-berok'
+ # Exported symbols can be pulled into shared objects from archives
+ whole_archive_flag_spec='$convenience'
+ archive_cmds_need_lc=yes
+ # This is similar to how AIX traditionally builds its shared libraries.
+ archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
+ fi
+ fi
+ ;;
+
+ amigaos*)
+ case $host_cpu in
+ powerpc)
+ # see comment about AmigaOS4 .so support
+ archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ archive_expsym_cmds=''
+ ;;
+ m68k)
+ archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
+ hardcode_libdir_flag_spec='-L$libdir'
+ hardcode_minus_L=yes
+ ;;
+ esac
+ ;;
+
+ bsdi[45]*)
+ export_dynamic_flag_spec=-rdynamic
+ ;;
+
+ cygwin* | mingw* | pw32* | cegcc*)
+ # When not using gcc, we currently assume that we are using
+ # Microsoft Visual C++.
+ # hardcode_libdir_flag_spec is actually meaningless, as there is
+ # no search path for DLLs.
+ hardcode_libdir_flag_spec=' '
+ allow_undefined_flag=unsupported
+ # Tell ltmain to make .lib files, not .a files.
+ libext=lib
+ # Tell ltmain to make .dll files, not .so files.
+ shrext_cmds=".dll"
+ # FIXME: Setting linknames here is a bad hack.
+ archive_cmds='$CC -o $lib $libobjs $compiler_flags `$ECHO "X$deplibs" | $Xsed -e '\''s/ -lc$//'\''` -link -dll~linknames='
+ # The linker will automatically build a .lib file if we build a DLL.
+ old_archive_from_new_cmds='true'
+ # FIXME: Should let the user specify the lib program.
+ old_archive_cmds='lib -OUT:$oldlib$oldobjs$old_deplibs'
+ fix_srcfile_path='`cygpath -w "$srcfile"`'
+ enable_shared_with_static_runtimes=yes
+ ;;
+
+ darwin* | rhapsody*)
+
+
+ archive_cmds_need_lc=no
+ hardcode_direct=no
+ hardcode_automatic=yes
+ hardcode_shlibpath_var=unsupported
+ whole_archive_flag_spec=''
+ link_all_deplibs=yes
+ allow_undefined_flag="$_lt_dar_allow_undefined"
+ case $cc_basename in
+ ifort*) _lt_dar_can_shared=yes ;;
+ *) _lt_dar_can_shared=$GCC ;;
+ esac
+ if test "$_lt_dar_can_shared" = "yes"; then
+ output_verbose_link_cmd=echo
+ archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
+ module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
+ archive_expsym_cmds="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
+ module_expsym_cmds="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
+
+ else
+ ld_shlibs=no
+ fi
+
+ ;;
+
+ dgux*)
+ archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ hardcode_libdir_flag_spec='-L$libdir'
+ hardcode_shlibpath_var=no
+ ;;
+
+ freebsd1*)
+ ld_shlibs=no
+ ;;
+
+ # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
+ # support. Future versions do this automatically, but an explicit c++rt0.o
+ # does not break anything, and helps significantly (at the cost of a little
+ # extra space).
+ freebsd2.2*)
+ archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'
+ hardcode_libdir_flag_spec='-R$libdir'
+ hardcode_direct=yes
+ hardcode_shlibpath_var=no
+ ;;
+
+ # Unfortunately, older versions of FreeBSD 2 do not have this feature.
+ freebsd2*)
+ archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+ hardcode_direct=yes
+ hardcode_minus_L=yes
+ hardcode_shlibpath_var=no
+ ;;
+
+ # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
+ freebsd* | dragonfly*)
+ archive_cmds='$CC -shared -o $lib $libobjs $deplibs $compiler_flags'
+ hardcode_libdir_flag_spec='-R$libdir'
+ hardcode_direct=yes
+ hardcode_shlibpath_var=no
+ ;;
+
+ hpux9*)
+ if test "$GCC" = yes; then
+ archive_cmds='$RM $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+ else
+ archive_cmds='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+ fi
+ hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
+ hardcode_libdir_separator=:
+ hardcode_direct=yes
+
+ # hardcode_minus_L: Not really in the search PATH,
+ # but as the default location of the library.
+ hardcode_minus_L=yes
+ export_dynamic_flag_spec='${wl}-E'
+ ;;
+
+ hpux10*)
+ if test "$GCC" = yes -a "$with_gnu_ld" = no; then
+ archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+ else
+ archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
+ fi
+ if test "$with_gnu_ld" = no; then
+ hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
+ hardcode_libdir_flag_spec_ld='+b $libdir'
+ hardcode_libdir_separator=:
+ hardcode_direct=yes
+ hardcode_direct_absolute=yes
+ export_dynamic_flag_spec='${wl}-E'
+ # hardcode_minus_L: Not really in the search PATH,
+ # but as the default location of the library.
+ hardcode_minus_L=yes
+ fi
+ ;;
+
+ hpux11*)
+ if test "$GCC" = yes -a "$with_gnu_ld" = no; then
+ case $host_cpu in
+ hppa*64*)
+ archive_cmds='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ ia64*)
+ archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ *)
+ archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ esac
+ else
+ case $host_cpu in
+ hppa*64*)
+ archive_cmds='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ ia64*)
+ archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ *)
+ archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ esac
+ fi
+ if test "$with_gnu_ld" = no; then
+ hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
+ hardcode_libdir_separator=:
+
+ case $host_cpu in
+ hppa*64*|ia64*)
+ hardcode_direct=no
+ hardcode_shlibpath_var=no
+ ;;
+ *)
+ hardcode_direct=yes
+ hardcode_direct_absolute=yes
+ export_dynamic_flag_spec='${wl}-E'
+
+ # hardcode_minus_L: Not really in the search PATH,
+ # but as the default location of the library.
+ hardcode_minus_L=yes
+ ;;
+ esac
+ fi
+ ;;
+
+ irix5* | irix6* | nonstopux*)
+ if test "$GCC" = yes; then
+ archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ # Try to use the -exported_symbol ld option, if it does not
+ # work, assume that -exports_file does not work either and
+ # implicitly export all symbols.
+ save_LDFLAGS="$LDFLAGS"
+ LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+int foo(void) {}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib'
+
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+ LDFLAGS="$save_LDFLAGS"
+ else
+ archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
+ archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib'
+ fi
+ archive_cmds_need_lc='no'
+ hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+ hardcode_libdir_separator=:
+ inherit_rpath=yes
+ link_all_deplibs=yes
+ ;;
+
+ netbsd* | netbsdelf*-gnu)
+ if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
+ archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out
+ else
+ archive_cmds='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF
+ fi
+ hardcode_libdir_flag_spec='-R$libdir'
+ hardcode_direct=yes
+ hardcode_shlibpath_var=no
+ ;;
+
+ newsos6)
+ archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ hardcode_direct=yes
+ hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+ hardcode_libdir_separator=:
+ hardcode_shlibpath_var=no
+ ;;
+
+ *nto* | *qnx*)
+ ;;
+
+ openbsd*)
+ if test -f /usr/libexec/ld.so; then
+ hardcode_direct=yes
+ hardcode_shlibpath_var=no
+ hardcode_direct_absolute=yes
+ if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+ archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+ archive_expsym_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
+ hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
+ export_dynamic_flag_spec='${wl}-E'
+ else
+ case $host_os in
+ openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*)
+ archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+ hardcode_libdir_flag_spec='-R$libdir'
+ ;;
+ *)
+ archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+ hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
+ ;;
+ esac
+ fi
+ else
+ ld_shlibs=no
+ fi
+ ;;
+
+ os2*)
+ hardcode_libdir_flag_spec='-L$libdir'
+ hardcode_minus_L=yes
+ allow_undefined_flag=unsupported
+ archive_cmds='$ECHO "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$ECHO DATA >> $output_objdir/$libname.def~$ECHO " SINGLE NONSHARED" >> $output_objdir/$libname.def~$ECHO EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def'
+ old_archive_from_new_cmds='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def'
+ ;;
+
+ osf3*)
+ if test "$GCC" = yes; then
+ allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
+ archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ else
+ allow_undefined_flag=' -expect_unresolved \*'
+ archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
+ fi
+ archive_cmds_need_lc='no'
+ hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+ hardcode_libdir_separator=:
+ ;;
+
+ osf4* | osf5*) # as osf3* with the addition of -msym flag
+ if test "$GCC" = yes; then
+ allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
+ archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+ else
+ allow_undefined_flag=' -expect_unresolved \*'
+ archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
+ archive_expsym_cmds='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~
+ $CC -shared${allow_undefined_flag} ${wl}-input ${wl}$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib~$RM $lib.exp'
+
+ # Both c and cxx compiler support -rpath directly
+ hardcode_libdir_flag_spec='-rpath $libdir'
+ fi
+ archive_cmds_need_lc='no'
+ hardcode_libdir_separator=:
+ ;;
+
+ solaris*)
+ no_undefined_flag=' -z defs'
+ if test "$GCC" = yes; then
+ wlarc='${wl}'
+ archive_cmds='$CC -shared ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+ archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+ $CC -shared ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
+ else
+ case `$CC -V 2>&1` in
+ *"Compilers 5.0"*)
+ wlarc=''
+ archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+ $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp'
+ ;;
+ *)
+ wlarc='${wl}'
+ archive_cmds='$CC -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $compiler_flags'
+ archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+ $CC -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
+ ;;
+ esac
+ fi
+ hardcode_libdir_flag_spec='-R$libdir'
+ hardcode_shlibpath_var=no
+ case $host_os in
+ solaris2.[0-5] | solaris2.[0-5].*) ;;
+ *)
+ # The compiler driver will combine and reorder linker options,
+ # but understands `-z linker_flag'. GCC discards it without `$wl',
+ # but is careful enough not to reorder.
+ # Supported since Solaris 2.6 (maybe 2.5.1?)
+ if test "$GCC" = yes; then
+ whole_archive_flag_spec='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
+ else
+ whole_archive_flag_spec='-z allextract$convenience -z defaultextract'
+ fi
+ ;;
+ esac
+ link_all_deplibs=yes
+ ;;
+
+ sunos4*)
+ if test "x$host_vendor" = xsequent; then
+ # Use $CC to link under sequent, because it throws in some extra .o
+ # files that make .init and .fini sections work.
+ archive_cmds='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags'
+ else
+ archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
+ fi
+ hardcode_libdir_flag_spec='-L$libdir'
+ hardcode_direct=yes
+ hardcode_minus_L=yes
+ hardcode_shlibpath_var=no
+ ;;
+
+ sysv4)
+ case $host_vendor in
+ sni)
+ archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ hardcode_direct=yes # is this really true???
+ ;;
+ siemens)
+ ## LD is ld it makes a PLAMLIB
+ ## CC just makes a GrossModule.
+ archive_cmds='$LD -G -o $lib $libobjs $deplibs $linker_flags'
+ reload_cmds='$CC -r -o $output$reload_objs'
+ hardcode_direct=no
+ ;;
+ motorola)
+ archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ hardcode_direct=no #Motorola manual says yes, but my tests say they lie
+ ;;
+ esac
+ runpath_var='LD_RUN_PATH'
+ hardcode_shlibpath_var=no
+ ;;
+
+ sysv4.3*)
+ archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ hardcode_shlibpath_var=no
+ export_dynamic_flag_spec='-Bexport'
+ ;;
+
+ sysv4*MP*)
+ if test -d /usr/nec; then
+ archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ hardcode_shlibpath_var=no
+ runpath_var=LD_RUN_PATH
+ hardcode_runpath_var=yes
+ ld_shlibs=yes
+ fi
+ ;;
+
+ sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*)
+ no_undefined_flag='${wl}-z,text'
+ archive_cmds_need_lc=no
+ hardcode_shlibpath_var=no
+ runpath_var='LD_RUN_PATH'
+
+ if test "$GCC" = yes; then
+ archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ else
+ archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ fi
+ ;;
+
+ sysv5* | sco3.2v5* | sco5v6*)
+ # Note: We can NOT use -z defs as we might desire, because we do not
+ # link with -lc, and that would cause any symbols used from libc to
+ # always be unresolved, which means just about no library would
+ # ever link correctly. If we're not using GNU ld we use -z text
+ # though, which does catch some bad symbols but isn't as heavy-handed
+ # as -z defs.
+ no_undefined_flag='${wl}-z,text'
+ allow_undefined_flag='${wl}-z,nodefs'
+ archive_cmds_need_lc=no
+ hardcode_shlibpath_var=no
+ hardcode_libdir_flag_spec='${wl}-R,$libdir'
+ hardcode_libdir_separator=':'
+ link_all_deplibs=yes
+ export_dynamic_flag_spec='${wl}-Bexport'
+ runpath_var='LD_RUN_PATH'
+
+ if test "$GCC" = yes; then
+ archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ else
+ archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ fi
+ ;;
+
+ uts4*)
+ archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ hardcode_libdir_flag_spec='-L$libdir'
+ hardcode_shlibpath_var=no
+ ;;
+
+ *)
+ ld_shlibs=no
+ ;;
+ esac
+
+ if test x$host_vendor = xsni; then
+ case $host in
+ sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
+ export_dynamic_flag_spec='${wl}-Blargedynsym'
+ ;;
+ esac
+ fi
+ fi
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs" >&5
+$as_echo "$ld_shlibs" >&6; }
+test "$ld_shlibs" = no && can_build_shared=no
+
+with_gnu_ld=$with_gnu_ld
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+#
+# Do we need to explicitly link libc?
+#
+case "x$archive_cmds_need_lc" in
+x|xyes)
+ # Assume -lc should be added
+ archive_cmds_need_lc=yes
+
+ if test "$enable_shared" = yes && test "$GCC" = yes; then
+ case $archive_cmds in
+ *'~'*)
+ # FIXME: we may have to deal with multi-command sequences.
+ ;;
+ '$CC '*)
+ # Test whether the compiler implicitly links with -lc since on some
+ # systems, -lgcc has to come before -lc. If gcc already passes -lc
+ # to ld, don't add -lc before -lgcc.
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5
+$as_echo_n "checking whether -lc should be explicitly linked in... " >&6; }
+ $RM conftest*
+ echo "$lt_simple_compile_test_code" > conftest.$ac_ext
+
+ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; } 2>conftest.err; then
+ soname=conftest
+ lib=conftest
+ libobjs=conftest.$ac_objext
+ deplibs=
+ wl=$lt_prog_compiler_wl
+ pic_flag=$lt_prog_compiler_pic
+ compiler_flags=-v
+ linker_flags=-v
+ verstring=
+ output_objdir=.
+ libname=conftest
+ lt_save_allow_undefined_flag=$allow_undefined_flag
+ allow_undefined_flag=
+ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\""; } >&5
+ (eval $archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }
+ then
+ archive_cmds_need_lc=no
+ else
+ archive_cmds_need_lc=yes
+ fi
+ allow_undefined_flag=$lt_save_allow_undefined_flag
+ else
+ cat conftest.err 1>&5
+ fi
+ $RM conftest*
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $archive_cmds_need_lc" >&5
+$as_echo "$archive_cmds_need_lc" >&6; }
+ ;;
+ esac
+ fi
+ ;;
+esac
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5
+$as_echo_n "checking dynamic linker characteristics... " >&6; }
+
+if test "$GCC" = yes; then
+ case $host_os in
+ darwin*) lt_awk_arg="/^libraries:/,/LR/" ;;
+ *) lt_awk_arg="/^libraries:/" ;;
+ esac
+ lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e "s,=/,/,g"`
+ if $ECHO "$lt_search_path_spec" | $GREP ';' >/dev/null ; then
+ # if the path contains ";" then we assume it to be the separator
+ # otherwise default to the standard path separator (i.e. ":") - it is
+ # assumed that no part of a normal pathname contains ";" but that should
+ # okay in the real world where ";" in dirpaths is itself problematic.
+ lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED -e 's/;/ /g'`
+ else
+ lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
+ fi
+ # Ok, now we have the path, separated by spaces, we can step through it
+ # and add multilib dir if necessary.
+ lt_tmp_lt_search_path_spec=
+ lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null`
+ for lt_sys_path in $lt_search_path_spec; do
+ if test -d "$lt_sys_path/$lt_multi_os_dir"; then
+ lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir"
+ else
+ test -d "$lt_sys_path" && \
+ lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path"
+ fi
+ done
+ lt_search_path_spec=`$ECHO $lt_tmp_lt_search_path_spec | awk '
+BEGIN {RS=" "; FS="/|\n";} {
+ lt_foo="";
+ lt_count=0;
+ for (lt_i = NF; lt_i > 0; lt_i--) {
+ if ($lt_i != "" && $lt_i != ".") {
+ if ($lt_i == "..") {
+ lt_count++;
+ } else {
+ if (lt_count == 0) {
+ lt_foo="/" $lt_i lt_foo;
+ } else {
+ lt_count--;
+ }
+ }
+ }
+ }
+ if (lt_foo != "") { lt_freq[lt_foo]++; }
+ if (lt_freq[lt_foo] == 1) { print lt_foo; }
+}'`
+ sys_lib_search_path_spec=`$ECHO $lt_search_path_spec`
+else
+ sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
+fi
+library_names_spec=
+libname_spec='lib$name'
+soname_spec=
+shrext_cmds=".so"
+postinstall_cmds=
+postuninstall_cmds=
+finish_cmds=
+finish_eval=
+shlibpath_var=
+shlibpath_overrides_runpath=unknown
+version_type=none
+dynamic_linker="$host_os ld.so"
+sys_lib_dlsearch_path_spec="/lib /usr/lib"
+need_lib_prefix=unknown
+hardcode_into_libs=no
+
+# when you set need_version to no, make sure it does not cause -set_version
+# flags to be left without arguments
+need_version=unknown
+
+case $host_os in
+aix3*)
+ version_type=linux
+ library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a'
+ shlibpath_var=LIBPATH
+
+ # AIX 3 has no versioning support, so we append a major version to the name.
+ soname_spec='${libname}${release}${shared_ext}$major'
+ ;;
+
+aix[4-9]*)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ hardcode_into_libs=yes
+ if test "$host_cpu" = ia64; then
+ # AIX 5 supports IA64
+ library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}'
+ shlibpath_var=LD_LIBRARY_PATH
+ else
+ # With GCC up to 2.95.x, collect2 would create an import file
+ # for dependence libraries. The import file would start with
+ # the line `#! .'. This would cause the generated library to
+ # depend on `.', always an invalid library. This was fixed in
+ # development snapshots of GCC prior to 3.0.
+ case $host_os in
+ aix4 | aix4.[01] | aix4.[01].*)
+ if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
+ echo ' yes '
+ echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then
+ :
+ else
+ can_build_shared=no
+ fi
+ ;;
+ esac
+ # AIX (on Power*) has no versioning support, so currently we can not hardcode correct
+ # soname into executable. Probably we can add versioning support to
+ # collect2, so additional links can be useful in future.
+ if test "$aix_use_runtimelinking" = yes; then
+ # If using run time linking (on AIX 4.2 or later) use lib<name>.so
+ # instead of lib<name>.a to let people know that these are not
+ # typical AIX shared libraries.
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ else
+ # We preserve .a as extension for shared libraries through AIX4.2
+ # and later when we are not doing run time linking.
+ library_names_spec='${libname}${release}.a $libname.a'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ fi
+ shlibpath_var=LIBPATH
+ fi
+ ;;
+
+amigaos*)
+ case $host_cpu in
+ powerpc)
+ # Since July 2007 AmigaOS4 officially supports .so libraries.
+ # When compiling the executable, add -use-dynld -Lsobjs: to the compileline.
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ ;;
+ m68k)
+ library_names_spec='$libname.ixlibrary $libname.a'
+ # Create ${libname}_ixlibrary.a entries in /sys/libs.
+ finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$ECHO "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
+ ;;
+ esac
+ ;;
+
+beos*)
+ library_names_spec='${libname}${shared_ext}'
+ dynamic_linker="$host_os ld.so"
+ shlibpath_var=LIBRARY_PATH
+ ;;
+
+bsdi[45]*)
+ version_type=linux
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
+ shlibpath_var=LD_LIBRARY_PATH
+ sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
+ sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
+ # the default ld.so.conf also contains /usr/contrib/lib and
+ # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
+ # libtool to hard-code these into programs
+ ;;
+
+cygwin* | mingw* | pw32* | cegcc*)
+ version_type=windows
+ shrext_cmds=".dll"
+ need_version=no
+ need_lib_prefix=no
+
+ case $GCC,$host_os in
+ yes,cygwin* | yes,mingw* | yes,pw32* | yes,cegcc*)
+ library_names_spec='$libname.dll.a'
+ # DLL is installed to $(libdir)/../bin by postinstall_cmds
+ postinstall_cmds='base_file=`basename \${file}`~
+ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~
+ dldir=$destdir/`dirname \$dlpath`~
+ test -d \$dldir || mkdir -p \$dldir~
+ $install_prog $dir/$dlname \$dldir/$dlname~
+ chmod a+x \$dldir/$dlname~
+ if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
+ eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;
+ fi'
+ postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
+ dlpath=$dir/\$dldll~
+ $RM \$dlpath'
+ shlibpath_overrides_runpath=yes
+
+ case $host_os in
+ cygwin*)
+ # Cygwin DLLs use 'cyg' prefix rather than 'lib'
+ soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
+ sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib"
+ ;;
+ mingw* | cegcc*)
+ # MinGW DLLs use traditional 'lib' prefix
+ soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
+ sys_lib_search_path_spec=`$CC -print-search-dirs | $GREP "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
+ if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then
+ # It is most probably a Windows format PATH printed by
+ # mingw gcc, but we are running on Cygwin. Gcc prints its search
+ # path with ; separators, and with drive letters. We can handle the
+ # drive letters (cygwin fileutils understands them), so leave them,
+ # especially as we might pass files found there to a mingw objdump,
+ # which wouldn't understand a cygwinified path. Ahh.
+ sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
+ else
+ sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
+ fi
+ ;;
+ pw32*)
+ # pw32 DLLs use 'pw' prefix rather than 'lib'
+ library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
+ ;;
+ esac
+ ;;
+
+ *)
+ library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib'
+ ;;
+ esac
+ dynamic_linker='Win32 ld.exe'
+ # FIXME: first we should search . and the directory the executable is in
+ shlibpath_var=PATH
+ ;;
+
+darwin* | rhapsody*)
+ dynamic_linker="$host_os dyld"
+ version_type=darwin
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext'
+ soname_spec='${libname}${release}${major}$shared_ext'
+ shlibpath_overrides_runpath=yes
+ shlibpath_var=DYLD_LIBRARY_PATH
+ shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
+
+ sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"
+ sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
+ ;;
+
+dgux*)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ ;;
+
+freebsd1*)
+ dynamic_linker=no
+ ;;
+
+freebsd* | dragonfly*)
+ # DragonFly does not have aout. When/if they implement a new
+ # versioning mechanism, adjust this.
+ if test -x /usr/bin/objformat; then
+ objformat=`/usr/bin/objformat`
+ else
+ case $host_os in
+ freebsd[123]*) objformat=aout ;;
+ *) objformat=elf ;;
+ esac
+ fi
+ version_type=freebsd-$objformat
+ case $version_type in
+ freebsd-elf*)
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
+ need_version=no
+ need_lib_prefix=no
+ ;;
+ freebsd-*)
+ library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix'
+ need_version=yes
+ ;;
+ esac
+ shlibpath_var=LD_LIBRARY_PATH
+ case $host_os in
+ freebsd2*)
+ shlibpath_overrides_runpath=yes
+ ;;
+ freebsd3.[01]* | freebsdelf3.[01]*)
+ shlibpath_overrides_runpath=yes
+ hardcode_into_libs=yes
+ ;;
+ freebsd3.[2-9]* | freebsdelf3.[2-9]* | \
+ freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1)
+ shlibpath_overrides_runpath=no
+ hardcode_into_libs=yes
+ ;;
+ *) # from 4.6 on, and DragonFly
+ shlibpath_overrides_runpath=yes
+ hardcode_into_libs=yes
+ ;;
+ esac
+ ;;
+
+gnu*)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ hardcode_into_libs=yes
+ ;;
+
+hpux9* | hpux10* | hpux11*)
+ # Give a soname corresponding to the major version so that dld.sl refuses to
+ # link against other versions.
+ version_type=sunos
+ need_lib_prefix=no
+ need_version=no
+ case $host_cpu in
+ ia64*)
+ shrext_cmds='.so'
+ hardcode_into_libs=yes
+ dynamic_linker="$host_os dld.so"
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ if test "X$HPUX_IA64_MODE" = X32; then
+ sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
+ else
+ sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
+ fi
+ sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
+ ;;
+ hppa*64*)
+ shrext_cmds='.sl'
+ hardcode_into_libs=yes
+ dynamic_linker="$host_os dld.sl"
+ shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
+ shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
+ sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
+ ;;
+ *)
+ shrext_cmds='.sl'
+ dynamic_linker="$host_os dld.sl"
+ shlibpath_var=SHLIB_PATH
+ shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ ;;
+ esac
+ # HP-UX runs *really* slowly unless shared libraries are mode 555.
+ postinstall_cmds='chmod 555 $lib'
+ ;;
+
+interix[3-9]*)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=no
+ hardcode_into_libs=yes
+ ;;
+
+irix5* | irix6* | nonstopux*)
+ case $host_os in
+ nonstopux*) version_type=nonstopux ;;
+ *)
+ if test "$lt_cv_prog_gnu_ld" = yes; then
+ version_type=linux
+ else
+ version_type=irix
+ fi ;;
+ esac
+ need_lib_prefix=no
+ need_version=no
+ soname_spec='${libname}${release}${shared_ext}$major'
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}'
+ case $host_os in
+ irix5* | nonstopux*)
+ libsuff= shlibsuff=
+ ;;
+ *)
+ case $LD in # libtool.m4 will add one of these switches to LD
+ *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")
+ libsuff= shlibsuff= libmagic=32-bit;;
+ *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")
+ libsuff=32 shlibsuff=N32 libmagic=N32;;
+ *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")
+ libsuff=64 shlibsuff=64 libmagic=64-bit;;
+ *) libsuff= shlibsuff= libmagic=never-match;;
+ esac
+ ;;
+ esac
+ shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
+ shlibpath_overrides_runpath=no
+ sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
+ sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
+ hardcode_into_libs=yes
+ ;;
+
+# No shared lib support for Linux oldld, aout, or coff.
+linux*oldld* | linux*aout* | linux*coff*)
+ dynamic_linker=no
+ ;;
+
+# This must be Linux ELF.
+linux* | k*bsd*-gnu | kopensolaris*-gnu)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=no
+ # Some binutils ld are patched to set DT_RUNPATH
+ save_LDFLAGS=$LDFLAGS
+ save_libdir=$libdir
+ eval "libdir=/foo; wl=\"$lt_prog_compiler_wl\"; \
+ LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec\""
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ if ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null; then :
+ shlibpath_overrides_runpath=yes
+fi
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+ LDFLAGS=$save_LDFLAGS
+ libdir=$save_libdir
+
+ # This implies no fast_install, which is unacceptable.
+ # Some rework will be needed to allow for fast_install
+ # before this can be enabled.
+ hardcode_into_libs=yes
+
+ # Append ld.so.conf contents to the search path
+ if test -f /etc/ld.so.conf; then
+ lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
+ sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
+ fi
+
+ # We used to test for /lib/ld.so.1 and disable shared libraries on
+ # powerpc, because MkLinux only supported shared libraries with the
+ # GNU dynamic linker. Since this was broken with cross compilers,
+ # most powerpc-linux boxes support dynamic linking these days and
+ # people can always --disable-shared, the test was removed, and we
+ # assume the GNU/Linux dynamic linker is in use.
+ dynamic_linker='GNU/Linux ld.so'
+ ;;
+
+netbsdelf*-gnu)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=no
+ hardcode_into_libs=yes
+ dynamic_linker='NetBSD ld.elf_so'
+ ;;
+
+netbsd*)
+ version_type=sunos
+ need_lib_prefix=no
+ need_version=no
+ if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
+ finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
+ dynamic_linker='NetBSD (a.out) ld.so'
+ else
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ dynamic_linker='NetBSD ld.elf_so'
+ fi
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+ hardcode_into_libs=yes
+ ;;
+
+newsos6)
+ version_type=linux
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+ ;;
+
+*nto* | *qnx*)
+ version_type=qnx
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=no
+ hardcode_into_libs=yes
+ dynamic_linker='ldqnx.so'
+ ;;
+
+openbsd*)
+ version_type=sunos
+ sys_lib_dlsearch_path_spec="/usr/lib"
+ need_lib_prefix=no
+ # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs.
+ case $host_os in
+ openbsd3.3 | openbsd3.3.*) need_version=yes ;;
+ *) need_version=no ;;
+ esac
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
+ finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
+ shlibpath_var=LD_LIBRARY_PATH
+ if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+ case $host_os in
+ openbsd2.[89] | openbsd2.[89].*)
+ shlibpath_overrides_runpath=no
+ ;;
+ *)
+ shlibpath_overrides_runpath=yes
+ ;;
+ esac
+ else
+ shlibpath_overrides_runpath=yes
+ fi
+ ;;
+
+os2*)
+ libname_spec='$name'
+ shrext_cmds=".dll"
+ need_lib_prefix=no
+ library_names_spec='$libname${shared_ext} $libname.a'
+ dynamic_linker='OS/2 ld.exe'
+ shlibpath_var=LIBPATH
+ ;;
+
+osf3* | osf4* | osf5*)
+ version_type=osf
+ need_lib_prefix=no
+ need_version=no
+ soname_spec='${libname}${release}${shared_ext}$major'
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ shlibpath_var=LD_LIBRARY_PATH
+ sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
+ sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
+ ;;
+
+rdos*)
+ dynamic_linker=no
+ ;;
+
+solaris*)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+ hardcode_into_libs=yes
+ # ldd complains unless libraries are executable
+ postinstall_cmds='chmod +x $lib'
+ ;;
+
+sunos4*)
+ version_type=sunos
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
+ finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+ if test "$with_gnu_ld" = yes; then
+ need_lib_prefix=no
+ fi
+ need_version=yes
+ ;;
+
+sysv4 | sysv4.3*)
+ version_type=linux
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ case $host_vendor in
+ sni)
+ shlibpath_overrides_runpath=no
+ need_lib_prefix=no
+ runpath_var=LD_RUN_PATH
+ ;;
+ siemens)
+ need_lib_prefix=no
+ ;;
+ motorola)
+ need_lib_prefix=no
+ need_version=no
+ shlibpath_overrides_runpath=no
+ sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
+ ;;
+ esac
+ ;;
+
+sysv4*MP*)
+ if test -d /usr/nec ;then
+ version_type=linux
+ library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}'
+ soname_spec='$libname${shared_ext}.$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ fi
+ ;;
+
+sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
+ version_type=freebsd-elf
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+ hardcode_into_libs=yes
+ if test "$with_gnu_ld" = yes; then
+ sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
+ else
+ sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
+ case $host_os in
+ sco3.2v5*)
+ sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
+ ;;
+ esac
+ fi
+ sys_lib_dlsearch_path_spec='/usr/lib'
+ ;;
+
+tpf*)
+ # TPF is a cross-target only. Preferred cross-host = GNU/Linux.
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=no
+ hardcode_into_libs=yes
+ ;;
+
+uts4*)
+ version_type=linux
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ ;;
+
+*)
+ dynamic_linker=no
+ ;;
+esac
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5
+$as_echo "$dynamic_linker" >&6; }
+test "$dynamic_linker" = no && can_build_shared=no
+
+variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
+if test "$GCC" = yes; then
+ variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
+fi
+
+if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then
+ sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec"
+fi
+if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then
+ sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec"
+fi
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5
+$as_echo_n "checking how to hardcode library paths into programs... " >&6; }
+hardcode_action=
+if test -n "$hardcode_libdir_flag_spec" ||
+ test -n "$runpath_var" ||
+ test "X$hardcode_automatic" = "Xyes" ; then
+
+ # We can hardcode non-existent directories.
+ if test "$hardcode_direct" != no &&
+ # If the only mechanism to avoid hardcoding is shlibpath_var, we
+ # have to relink, otherwise we might link with an installed library
+ # when we should be linking with a yet-to-be-installed one
+ ## test "$_LT_TAGVAR(hardcode_shlibpath_var, )" != no &&
+ test "$hardcode_minus_L" != no; then
+ # Linking always hardcodes the temporary library directory.
+ hardcode_action=relink
+ else
+ # We can link without hardcoding, and we can hardcode nonexisting dirs.
+ hardcode_action=immediate
+ fi
+else
+ # We cannot hardcode anything, or else we can only hardcode existing
+ # directories.
+ hardcode_action=unsupported
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $hardcode_action" >&5
+$as_echo "$hardcode_action" >&6; }
+
+if test "$hardcode_action" = relink ||
+ test "$inherit_rpath" = yes; then
+ # Fast installation is not supported
+ enable_fast_install=no
+elif test "$shlibpath_overrides_runpath" = yes ||
+ test "$enable_shared" = no; then
+ # Fast installation is not necessary
+ enable_fast_install=needless
+fi
+
+
+
+
+
+
+ if test "x$enable_dlopen" != xyes; then
+ enable_dlopen=unknown
+ enable_dlopen_self=unknown
+ enable_dlopen_self_static=unknown
+else
+ lt_cv_dlopen=no
+ lt_cv_dlopen_libs=
+
+ case $host_os in
+ beos*)
+ lt_cv_dlopen="load_add_on"
+ lt_cv_dlopen_libs=
+ lt_cv_dlopen_self=yes
+ ;;
+
+ mingw* | pw32* | cegcc*)
+ lt_cv_dlopen="LoadLibrary"
+ lt_cv_dlopen_libs=
+ ;;
+
+ cygwin*)
+ lt_cv_dlopen="dlopen"
+ lt_cv_dlopen_libs=
+ ;;
+
+ darwin*)
+ # if libdl is installed we need to link against it
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5
+$as_echo_n "checking for dlopen in -ldl... " >&6; }
+if test "${ac_cv_lib_dl_dlopen+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-ldl $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char dlopen ();
+int
+main ()
+{
+return dlopen ();
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ ac_cv_lib_dl_dlopen=yes
+else
+ ac_cv_lib_dl_dlopen=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5
+$as_echo "$ac_cv_lib_dl_dlopen" >&6; }
+if test "x$ac_cv_lib_dl_dlopen" = x""yes; then :
+ lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
+else
+
+ lt_cv_dlopen="dyld"
+ lt_cv_dlopen_libs=
+ lt_cv_dlopen_self=yes
+
+fi
+
+ ;;
+
+ *)
+ ac_fn_c_check_func "$LINENO" "shl_load" "ac_cv_func_shl_load"
+if test "x$ac_cv_func_shl_load" = x""yes; then :
+ lt_cv_dlopen="shl_load"
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shl_load in -ldld" >&5
+$as_echo_n "checking for shl_load in -ldld... " >&6; }
+if test "${ac_cv_lib_dld_shl_load+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-ldld $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char shl_load ();
+int
+main ()
+{
+return shl_load ();
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ ac_cv_lib_dld_shl_load=yes
+else
+ ac_cv_lib_dld_shl_load=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_shl_load" >&5
+$as_echo "$ac_cv_lib_dld_shl_load" >&6; }
+if test "x$ac_cv_lib_dld_shl_load" = x""yes; then :
+ lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld"
+else
+ ac_fn_c_check_func "$LINENO" "dlopen" "ac_cv_func_dlopen"
+if test "x$ac_cv_func_dlopen" = x""yes; then :
+ lt_cv_dlopen="dlopen"
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5
+$as_echo_n "checking for dlopen in -ldl... " >&6; }
+if test "${ac_cv_lib_dl_dlopen+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-ldl $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char dlopen ();
+int
+main ()
+{
+return dlopen ();
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ ac_cv_lib_dl_dlopen=yes
+else
+ ac_cv_lib_dl_dlopen=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5
+$as_echo "$ac_cv_lib_dl_dlopen" >&6; }
+if test "x$ac_cv_lib_dl_dlopen" = x""yes; then :
+ lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -lsvld" >&5
+$as_echo_n "checking for dlopen in -lsvld... " >&6; }
+if test "${ac_cv_lib_svld_dlopen+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-lsvld $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char dlopen ();
+int
+main ()
+{
+return dlopen ();
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ ac_cv_lib_svld_dlopen=yes
+else
+ ac_cv_lib_svld_dlopen=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_svld_dlopen" >&5
+$as_echo "$ac_cv_lib_svld_dlopen" >&6; }
+if test "x$ac_cv_lib_svld_dlopen" = x""yes; then :
+ lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dld_link in -ldld" >&5
+$as_echo_n "checking for dld_link in -ldld... " >&6; }
+if test "${ac_cv_lib_dld_dld_link+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-ldld $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char dld_link ();
+int
+main ()
+{
+return dld_link ();
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ ac_cv_lib_dld_dld_link=yes
+else
+ ac_cv_lib_dld_dld_link=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_dld_link" >&5
+$as_echo "$ac_cv_lib_dld_dld_link" >&6; }
+if test "x$ac_cv_lib_dld_dld_link" = x""yes; then :
+ lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"
+fi
+
+
+fi
+
+
+fi
+
+
+fi
+
+
+fi
+
+
+fi
+
+ ;;
+ esac
+
+ if test "x$lt_cv_dlopen" != xno; then
+ enable_dlopen=yes
+ else
+ enable_dlopen=no
+ fi
+
+ case $lt_cv_dlopen in
+ dlopen)
+ save_CPPFLAGS="$CPPFLAGS"
+ test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H"
+
+ save_LDFLAGS="$LDFLAGS"
+ wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\"
+
+ save_LIBS="$LIBS"
+ LIBS="$lt_cv_dlopen_libs $LIBS"
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a program can dlopen itself" >&5
+$as_echo_n "checking whether a program can dlopen itself... " >&6; }
+if test "${lt_cv_dlopen_self+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test "$cross_compiling" = yes; then :
+ lt_cv_dlopen_self=cross
+else
+ lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
+ lt_status=$lt_dlunknown
+ cat > conftest.$ac_ext <<_LT_EOF
+#line 10407 "configure"
+#include "confdefs.h"
+
+#if HAVE_DLFCN_H
+#include <dlfcn.h>
+#endif
+
+#include <stdio.h>
+
+#ifdef RTLD_GLOBAL
+# define LT_DLGLOBAL RTLD_GLOBAL
+#else
+# ifdef DL_GLOBAL
+# define LT_DLGLOBAL DL_GLOBAL
+# else
+# define LT_DLGLOBAL 0
+# endif
+#endif
+
+/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
+ find out it does not work in some platform. */
+#ifndef LT_DLLAZY_OR_NOW
+# ifdef RTLD_LAZY
+# define LT_DLLAZY_OR_NOW RTLD_LAZY
+# else
+# ifdef DL_LAZY
+# define LT_DLLAZY_OR_NOW DL_LAZY
+# else
+# ifdef RTLD_NOW
+# define LT_DLLAZY_OR_NOW RTLD_NOW
+# else
+# ifdef DL_NOW
+# define LT_DLLAZY_OR_NOW DL_NOW
+# else
+# define LT_DLLAZY_OR_NOW 0
+# endif
+# endif
+# endif
+# endif
+#endif
+
+void fnord() { int i=42;}
+int main ()
+{
+ void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
+ int status = $lt_dlunknown;
+
+ if (self)
+ {
+ if (dlsym (self,"fnord")) status = $lt_dlno_uscore;
+ else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
+ /* dlclose (self); */
+ }
+ else
+ puts (dlerror ());
+
+ return status;
+}
+_LT_EOF
+ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; } && test -s conftest${ac_exeext} 2>/dev/null; then
+ (./conftest; exit; ) >&5 2>/dev/null
+ lt_status=$?
+ case x$lt_status in
+ x$lt_dlno_uscore) lt_cv_dlopen_self=yes ;;
+ x$lt_dlneed_uscore) lt_cv_dlopen_self=yes ;;
+ x$lt_dlunknown|x*) lt_cv_dlopen_self=no ;;
+ esac
+ else :
+ # compilation failed
+ lt_cv_dlopen_self=no
+ fi
+fi
+rm -fr conftest*
+
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self" >&5
+$as_echo "$lt_cv_dlopen_self" >&6; }
+
+ if test "x$lt_cv_dlopen_self" = xyes; then
+ wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\"
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a statically linked program can dlopen itself" >&5
+$as_echo_n "checking whether a statically linked program can dlopen itself... " >&6; }
+if test "${lt_cv_dlopen_self_static+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test "$cross_compiling" = yes; then :
+ lt_cv_dlopen_self_static=cross
+else
+ lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
+ lt_status=$lt_dlunknown
+ cat > conftest.$ac_ext <<_LT_EOF
+#line 10503 "configure"
+#include "confdefs.h"
+
+#if HAVE_DLFCN_H
+#include <dlfcn.h>
+#endif
+
+#include <stdio.h>
+
+#ifdef RTLD_GLOBAL
+# define LT_DLGLOBAL RTLD_GLOBAL
+#else
+# ifdef DL_GLOBAL
+# define LT_DLGLOBAL DL_GLOBAL
+# else
+# define LT_DLGLOBAL 0
+# endif
+#endif
+
+/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
+ find out it does not work in some platform. */
+#ifndef LT_DLLAZY_OR_NOW
+# ifdef RTLD_LAZY
+# define LT_DLLAZY_OR_NOW RTLD_LAZY
+# else
+# ifdef DL_LAZY
+# define LT_DLLAZY_OR_NOW DL_LAZY
+# else
+# ifdef RTLD_NOW
+# define LT_DLLAZY_OR_NOW RTLD_NOW
+# else
+# ifdef DL_NOW
+# define LT_DLLAZY_OR_NOW DL_NOW
+# else
+# define LT_DLLAZY_OR_NOW 0
+# endif
+# endif
+# endif
+# endif
+#endif
+
+void fnord() { int i=42;}
+int main ()
+{
+ void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
+ int status = $lt_dlunknown;
+
+ if (self)
+ {
+ if (dlsym (self,"fnord")) status = $lt_dlno_uscore;
+ else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
+ /* dlclose (self); */
+ }
+ else
+ puts (dlerror ());
+
+ return status;
+}
+_LT_EOF
+ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; } && test -s conftest${ac_exeext} 2>/dev/null; then
+ (./conftest; exit; ) >&5 2>/dev/null
+ lt_status=$?
+ case x$lt_status in
+ x$lt_dlno_uscore) lt_cv_dlopen_self_static=yes ;;
+ x$lt_dlneed_uscore) lt_cv_dlopen_self_static=yes ;;
+ x$lt_dlunknown|x*) lt_cv_dlopen_self_static=no ;;
+ esac
+ else :
+ # compilation failed
+ lt_cv_dlopen_self_static=no
+ fi
+fi
+rm -fr conftest*
+
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self_static" >&5
+$as_echo "$lt_cv_dlopen_self_static" >&6; }
+ fi
+
+ CPPFLAGS="$save_CPPFLAGS"
+ LDFLAGS="$save_LDFLAGS"
+ LIBS="$save_LIBS"
+ ;;
+ esac
+
+ case $lt_cv_dlopen_self in
+ yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;;
+ *) enable_dlopen_self=unknown ;;
+ esac
+
+ case $lt_cv_dlopen_self_static in
+ yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;;
+ *) enable_dlopen_self_static=unknown ;;
+ esac
+fi
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+striplib=
+old_striplib=
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether stripping libraries is possible" >&5
+$as_echo_n "checking whether stripping libraries is possible... " >&6; }
+if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then
+ test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
+ test -z "$striplib" && striplib="$STRIP --strip-unneeded"
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+else
+# FIXME - insert some real tests, host_os isn't really good enough
+ case $host_os in
+ darwin*)
+ if test -n "$STRIP" ; then
+ striplib="$STRIP -x"
+ old_striplib="$STRIP -S"
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+ else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+ fi
+ ;;
+ *)
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+ ;;
+ esac
+fi
+
+
+
+
+
+
+
+
+
+
+
+
+ # Report which library types will actually be built
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking if libtool supports shared libraries" >&5
+$as_echo_n "checking if libtool supports shared libraries... " >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $can_build_shared" >&5
+$as_echo "$can_build_shared" >&6; }
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build shared libraries" >&5
+$as_echo_n "checking whether to build shared libraries... " >&6; }
+ test "$can_build_shared" = "no" && enable_shared=no
+
+ # On AIX, shared libraries and static libraries use the same namespace, and
+ # are all built from PIC.
+ case $host_os in
+ aix3*)
+ test "$enable_shared" = yes && enable_static=no
+ if test -n "$RANLIB"; then
+ archive_cmds="$archive_cmds~\$RANLIB \$lib"
+ postinstall_cmds='$RANLIB $lib'
+ fi
+ ;;
+
+ aix[4-9]*)
+ if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
+ test "$enable_shared" = yes && enable_static=no
+ fi
+ ;;
+ esac
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_shared" >&5
+$as_echo "$enable_shared" >&6; }
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build static libraries" >&5
+$as_echo_n "checking whether to build static libraries... " >&6; }
+ # Make sure either enable_shared or enable_static is yes.
+ test "$enable_shared" = yes || enable_static=yes
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_static" >&5
+$as_echo "$enable_static" >&6; }
+
+
+
+
+fi
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+CC="$lt_save_CC"
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ac_config_commands="$ac_config_commands libtool"
+
+
+
+
+# Only expand once:
+
+
+
+
+
+if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then
+ if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}pkg-config", so it can be a program name with args.
+set dummy ${ac_tool_prefix}pkg-config; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_path_PKG_CONFIG+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ case $PKG_CONFIG in
+ [\\/]* | ?:[\\/]*)
+ ac_cv_path_PKG_CONFIG="$PKG_CONFIG" # 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_PKG_CONFIG="$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
+PKG_CONFIG=$ac_cv_path_PKG_CONFIG
+if test -n "$PKG_CONFIG"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5
+$as_echo "$PKG_CONFIG" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_path_PKG_CONFIG"; then
+ ac_pt_PKG_CONFIG=$PKG_CONFIG
+ # Extract the first word of "pkg-config", so it can be a program name with args.
+set dummy pkg-config; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_path_ac_pt_PKG_CONFIG+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ case $ac_pt_PKG_CONFIG in
+ [\\/]* | ?:[\\/]*)
+ ac_cv_path_ac_pt_PKG_CONFIG="$ac_pt_PKG_CONFIG" # 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_ac_pt_PKG_CONFIG="$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
+ac_pt_PKG_CONFIG=$ac_cv_path_ac_pt_PKG_CONFIG
+if test -n "$ac_pt_PKG_CONFIG"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_pt_PKG_CONFIG" >&5
+$as_echo "$ac_pt_PKG_CONFIG" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+ if test "x$ac_pt_PKG_CONFIG" = x; then
+ PKG_CONFIG=""
+ 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
+ PKG_CONFIG=$ac_pt_PKG_CONFIG
+ fi
+else
+ PKG_CONFIG="$ac_cv_path_PKG_CONFIG"
+fi
+
+fi
+if test -n "$PKG_CONFIG"; then
+ _pkg_min_version=0.19
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking pkg-config is at least version $_pkg_min_version" >&5
+$as_echo_n "checking pkg-config is at least version $_pkg_min_version... " >&6; }
+ if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+ else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+ PKG_CONFIG=""
+ fi
+
+fi
+
+# 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 test "${ac_cv_path_PERL+set}" = set; 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 if Perl version >= 5.6.0" >&5
+$as_echo_n "checking if Perl version >= 5.6.0... " >&6; }
+if "$PERL" -e "require v5.6.0"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+ as_fn_error "perl >= 5.6.0 is required for gtk-doc" "$LINENO" 5
+fi
+
+
+
+
+
+ if test -n "$PYTHON"; then
+ # If the user set $PYTHON, use it and don't search something else.
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $PYTHON version >= 2.3" >&5
+$as_echo_n "checking whether $PYTHON version >= 2.3... " >&6; }
+ prog="import sys
+# split strings by '.' and convert to numeric. Append some zeros
+# because we need at least 4 digits for the hex conversion.
+# map returns an iterator in Python 3.0 and a list in 2.x
+minver = list(map(int, '2.3'.split('.'))) + [0, 0, 0]
+minverhex = 0
+# xrange is not present in Python 3.0 and range returns an iterator
+for i in list(range(0, 4)): minverhex = (minverhex << 8) + minver[i]
+sys.exit(sys.hexversion < minverhex)"
+ if { echo "$as_me:$LINENO: $PYTHON -c "$prog"" >&5
+ ($PYTHON -c "$prog") >&5 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; then :
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+else
+ as_fn_error "too old" "$LINENO" 5
+fi
+ am_display_PYTHON=$PYTHON
+ else
+ # Otherwise, try each interpreter until we find one that satisfies
+ # VERSION.
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a Python interpreter with version >= 2.3" >&5
+$as_echo_n "checking for a Python interpreter with version >= 2.3... " >&6; }
+if test "${am_cv_pathless_PYTHON+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+
+ for am_cv_pathless_PYTHON in python python2 python3 python3.0 python2.5 python2.4 python2.3 python2.2 python2.1 python2.0 none; do
+ test "$am_cv_pathless_PYTHON" = none && break
+ prog="import sys
+# split strings by '.' and convert to numeric. Append some zeros
+# because we need at least 4 digits for the hex conversion.
+# map returns an iterator in Python 3.0 and a list in 2.x
+minver = list(map(int, '2.3'.split('.'))) + [0, 0, 0]
+minverhex = 0
+# xrange is not present in Python 3.0 and range returns an iterator
+for i in list(range(0, 4)): minverhex = (minverhex << 8) + minver[i]
+sys.exit(sys.hexversion < minverhex)"
+ if { echo "$as_me:$LINENO: $am_cv_pathless_PYTHON -c "$prog"" >&5
+ ($am_cv_pathless_PYTHON -c "$prog") >&5 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; then :
+ break
+fi
+ done
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_pathless_PYTHON" >&5
+$as_echo "$am_cv_pathless_PYTHON" >&6; }
+ # Set $PYTHON to the absolute path of $am_cv_pathless_PYTHON.
+ if test "$am_cv_pathless_PYTHON" = none; then
+ PYTHON=:
+ else
+ # Extract the first word of "$am_cv_pathless_PYTHON", so it can be a program name with args.
+set dummy $am_cv_pathless_PYTHON; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_path_PYTHON+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ case $PYTHON in
+ [\\/]* | ?:[\\/]*)
+ ac_cv_path_PYTHON="$PYTHON" # 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_PYTHON="$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
+PYTHON=$ac_cv_path_PYTHON
+if test -n "$PYTHON"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PYTHON" >&5
+$as_echo "$PYTHON" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+ fi
+ am_display_PYTHON=$am_cv_pathless_PYTHON
+ fi
+
+
+ if test "$PYTHON" = :; then
+ :
+ else
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $am_display_PYTHON version" >&5
+$as_echo_n "checking for $am_display_PYTHON version... " >&6; }
+if test "${am_cv_python_version+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ am_cv_python_version=`$PYTHON -c "import sys; sys.stdout.write(sys.version[:3])"`
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_python_version" >&5
+$as_echo "$am_cv_python_version" >&6; }
+ PYTHON_VERSION=$am_cv_python_version
+
+
+
+ PYTHON_PREFIX='${prefix}'
+
+ PYTHON_EXEC_PREFIX='${exec_prefix}'
+
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $am_display_PYTHON platform" >&5
+$as_echo_n "checking for $am_display_PYTHON platform... " >&6; }
+if test "${am_cv_python_platform+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ am_cv_python_platform=`$PYTHON -c "import sys; sys.stdout.write(sys.platform)"`
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_python_platform" >&5
+$as_echo "$am_cv_python_platform" >&6; }
+ PYTHON_PLATFORM=$am_cv_python_platform
+
+
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $am_display_PYTHON script directory" >&5
+$as_echo_n "checking for $am_display_PYTHON script directory... " >&6; }
+if test "${am_cv_python_pythondir+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test "x$prefix" = xNONE
+ then
+ am_py_prefix=$ac_default_prefix
+ else
+ am_py_prefix=$prefix
+ fi
+ am_cv_python_pythondir=`$PYTHON -c "import sys; from distutils import sysconfig; sys.stdout.write(sysconfig.get_python_lib(0,0,prefix='$am_py_prefix'))" 2>/dev/null ||
+ echo "$PYTHON_PREFIX/lib/python$PYTHON_VERSION/site-packages"`
+ case $am_cv_python_pythondir in
+ $am_py_prefix*)
+ am__strip_prefix=`echo "$am_py_prefix" | sed 's|.|.|g'`
+ am_cv_python_pythondir=`echo "$am_cv_python_pythondir" | sed "s,^$am__strip_prefix,$PYTHON_PREFIX,"`
+ ;;
+ *)
+ case $am_py_prefix in
+ /usr|/System*) ;;
+ *)
+ am_cv_python_pythondir=$PYTHON_PREFIX/lib/python$PYTHON_VERSION/site-packages
+ ;;
+ esac
+ ;;
+ esac
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_python_pythondir" >&5
+$as_echo "$am_cv_python_pythondir" >&6; }
+ pythondir=$am_cv_python_pythondir
+
+
+
+ pkgpythondir=\${pythondir}/$PACKAGE
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $am_display_PYTHON extension module directory" >&5
+$as_echo_n "checking for $am_display_PYTHON extension module directory... " >&6; }
+if test "${am_cv_python_pyexecdir+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test "x$exec_prefix" = xNONE
+ then
+ am_py_exec_prefix=$am_py_prefix
+ else
+ am_py_exec_prefix=$exec_prefix
+ fi
+ am_cv_python_pyexecdir=`$PYTHON -c "import sys; from distutils import sysconfig; sys.stdout.write(sysconfig.get_python_lib(1,0,prefix='$am_py_exec_prefix'))" 2>/dev/null ||
+ echo "$PYTHON_EXEC_PREFIX/lib/python$PYTHON_VERSION/site-packages"`
+ case $am_cv_python_pyexecdir in
+ $am_py_exec_prefix*)
+ am__strip_prefix=`echo "$am_py_exec_prefix" | sed 's|.|.|g'`
+ am_cv_python_pyexecdir=`echo "$am_cv_python_pyexecdir" | sed "s,^$am__strip_prefix,$PYTHON_EXEC_PREFIX,"`
+ ;;
+ *)
+ case $am_py_exec_prefix in
+ /usr|/System*) ;;
+ *)
+ am_cv_python_pyexecdir=$PYTHON_EXEC_PREFIX/lib/python$PYTHON_VERSION/site-packages
+ ;;
+ esac
+ ;;
+ esac
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_python_pyexecdir" >&5
+$as_echo "$am_cv_python_pyexecdir" >&6; }
+ pyexecdir=$am_cv_python_pyexecdir
+
+
+
+ pkgpyexecdir=\${pyexecdir}/$PACKAGE
+
+
+
+ fi
+
+
+ if test "$PYTHON" != :; then
+ HAVE_PYTHON_TRUE=
+ HAVE_PYTHON_FALSE='#'
+else
+ HAVE_PYTHON_TRUE='#'
+ HAVE_PYTHON_FALSE=
+fi
+
+
+SGML_FORMAT_TYPE=sgml-raw
+# Extract the first word of "openjade", so it can be a program name with args.
+set dummy openjade; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_path_JADE+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ case $JADE in
+ [\\/]* | ?:[\\/]*)
+ ac_cv_path_JADE="$JADE" # 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_JADE="$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
+JADE=$ac_cv_path_JADE
+if test -n "$JADE"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $JADE" >&5
+$as_echo "$JADE" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+if test -z "$JADE"; then
+ SGML_FORMAT_TYPE=sgml
+ # Extract the first word of "jade", so it can be a program name with args.
+set dummy jade; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_path_JADE+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ case $JADE in
+ [\\/]* | ?:[\\/]*)
+ ac_cv_path_JADE="$JADE" # 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_JADE="$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
+JADE=$ac_cv_path_JADE
+if test -n "$JADE"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $JADE" >&5
+$as_echo "$JADE" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+ if test -z "$JADE"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Could not find openjade or jade, so SGML is not supported" >&5
+$as_echo "$as_me: WARNING: Could not find openjade or jade, so SGML is not supported" >&2;}
+ fi
+fi
+
+
+# Extract the first word of "xsltproc", so it can be a program name with args.
+set dummy xsltproc; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_path_XSLTPROC+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ case $XSLTPROC in
+ [\\/]* | ?:[\\/]*)
+ ac_cv_path_XSLTPROC="$XSLTPROC" # 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_XSLTPROC="$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
+XSLTPROC=$ac_cv_path_XSLTPROC
+if test -n "$XSLTPROC"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $XSLTPROC" >&5
+$as_echo "$XSLTPROC" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+if test -z "$XSLTPROC"; then
+ as_fn_error "xsltproc not found" "$LINENO" 5
+fi
+
+# Extract the first word of "dblatex", so it can be a program name with args.
+set dummy dblatex; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_path_DBLATEX+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ case $DBLATEX in
+ [\\/]* | ?:[\\/]*)
+ ac_cv_path_DBLATEX="$DBLATEX" # 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_DBLATEX="$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
+DBLATEX=$ac_cv_path_DBLATEX
+if test -n "$DBLATEX"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DBLATEX" >&5
+$as_echo "$DBLATEX" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+if test -z "$DBLATEX"; then
+ # Extract the first word of "fop", so it can be a program name with args.
+set dummy fop; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_path_FOP+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ case $FOP in
+ [\\/]* | ?:[\\/]*)
+ ac_cv_path_FOP="$FOP" # 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_FOP="$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
+FOP=$ac_cv_path_FOP
+if test -n "$FOP"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $FOP" >&5
+$as_echo "$FOP" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+ if test -z "$FOP"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: neither dblatex nor fop found, so no pdf output from xml" >&5
+$as_echo "$as_me: WARNING: neither dblatex nor fop found, so no pdf output from xml" >&2;}
+ fi
+fi
+
+
+ # check for the presence of the XML catalog
+
+# Check whether --with-xml-catalog was given.
+if test "${with_xml_catalog+set}" = set; then :
+ withval=$with_xml_catalog;
+else
+ with_xml_catalog=/etc/xml/catalog
+fi
+
+ jh_found_xmlcatalog=true
+ XML_CATALOG_FILE="$with_xml_catalog"
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for XML catalog ($XML_CATALOG_FILE)" >&5
+$as_echo_n "checking for XML catalog ($XML_CATALOG_FILE)... " >&6; }
+ if test -f "$XML_CATALOG_FILE"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: found" >&5
+$as_echo "found" >&6; }
+ else
+ jh_found_xmlcatalog=false
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: not found" >&5
+$as_echo "not found" >&6; }
+ fi
+
+ # check for the xmlcatalog program
+ # Extract the first word of "xmlcatalog", so it can be a program name with args.
+set dummy xmlcatalog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_path_XMLCATALOG+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ case $XMLCATALOG in
+ [\\/]* | ?:[\\/]*)
+ ac_cv_path_XMLCATALOG="$XMLCATALOG" # 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_XMLCATALOG="$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
+
+ test -z "$ac_cv_path_XMLCATALOG" && ac_cv_path_XMLCATALOG="no"
+ ;;
+esac
+fi
+XMLCATALOG=$ac_cv_path_XMLCATALOG
+if test -n "$XMLCATALOG"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $XMLCATALOG" >&5
+$as_echo "$XMLCATALOG" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+ if test "x$XMLCATALOG" = xno; then
+ jh_found_xmlcatalog=false
+ fi
+
+ if $jh_found_xmlcatalog; then
+ :
+ else
+ :
+ fi
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for DocBook XML DTD V4.3 in XML catalog" >&5
+$as_echo_n "checking for DocBook XML DTD V4.3 in XML catalog... " >&6; }
+ if $jh_found_xmlcatalog && \
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$XMLCATALOG --noout \"\$XML_CATALOG_FILE\" \"-//OASIS//DTD DocBook XML V4.3//EN\" >&2"; } >&5
+ ($XMLCATALOG --noout "$XML_CATALOG_FILE" "-//OASIS//DTD DocBook XML V4.3//EN" >&2) 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: found" >&5
+$as_echo "found" >&6; }
+ else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: not found" >&5
+$as_echo "not found" >&6; }
+ as_fn_error "could not find DocBook XML DTD V4.3 in XML catalog" "$LINENO" 5
+ fi
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for DocBook XSL Stylesheets in XML catalog" >&5
+$as_echo_n "checking for DocBook XSL Stylesheets in XML catalog... " >&6; }
+ if $jh_found_xmlcatalog && \
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$XMLCATALOG --noout \"\$XML_CATALOG_FILE\" \"http://docbook.sourceforge.net/release/xsl/current/html/chunk.xsl\" >&2"; } >&5
+ ($XMLCATALOG --noout "$XML_CATALOG_FILE" "http://docbook.sourceforge.net/release/xsl/current/html/chunk.xsl" >&2) 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: found" >&5
+$as_echo "found" >&6; }
+ else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: not found" >&5
+$as_echo "not found" >&6; }
+ as_fn_error "could not find DocBook XSL Stylesheets in XML catalog" "$LINENO" 5
+ fi
+
+
+
+# Check whether --with-highlight was given.
+if test "${with_highlight+set}" = set; then :
+ withval=$with_highlight;
+else
+ with_highlight=auto
+fi
+
+
+case $with_highlight in
+ no|source-highlight|highlight|vim|auto) ;;
+ *) as_fn_error "Invalid value for syntax highlighting option." "$LINENO" 5 ;;
+esac
+
+HIGHLIGHT_OPTIONS=""
+if test "$with_highlight" = "auto"; then
+ # Extract the first word of "source-highlight", so it can be a program name with args.
+set dummy source-highlight; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_path_HIGHLIGHT+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ case $HIGHLIGHT in
+ [\\/]* | ?:[\\/]*)
+ ac_cv_path_HIGHLIGHT="$HIGHLIGHT" # 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_HIGHLIGHT="$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
+HIGHLIGHT=$ac_cv_path_HIGHLIGHT
+if test -n "$HIGHLIGHT"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $HIGHLIGHT" >&5
+$as_echo "$HIGHLIGHT" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+ if test -n "$HIGHLIGHT"; then
+ HIGHLIGHT_OPTIONS="-t4 -sc -cstyle.css --no-doc -i"
+ else
+ # Extract the first word of "highlight", so it can be a program name with args.
+set dummy highlight; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_path_HIGHLIGHT+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ case $HIGHLIGHT in
+ [\\/]* | ?:[\\/]*)
+ ac_cv_path_HIGHLIGHT="$HIGHLIGHT" # 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_HIGHLIGHT="$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
+HIGHLIGHT=$ac_cv_path_HIGHLIGHT
+if test -n "$HIGHLIGHT"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $HIGHLIGHT" >&5
+$as_echo "$HIGHLIGHT" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+ if test -n "$HIGHLIGHT"; then
+ HIGHLIGHT_OPTIONS="--out-format=xhtml -f --class-name=gtkdoc "
+ else
+ # Extract the first word of "vim", so it can be a program name with args.
+set dummy vim; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_path_HIGHLIGHT+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ case $HIGHLIGHT in
+ [\\/]* | ?:[\\/]*)
+ ac_cv_path_HIGHLIGHT="$HIGHLIGHT" # 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_HIGHLIGHT="$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
+HIGHLIGHT=$ac_cv_path_HIGHLIGHT
+if test -n "$HIGHLIGHT"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $HIGHLIGHT" >&5
+$as_echo "$HIGHLIGHT" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+ if test -n "$HIGHLIGHT"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether vim has +syntax feature" >&5
+$as_echo_n "checking whether vim has +syntax feature... " >&6; }
+ if $HIGHLIGHT --version | grep '+syntax' >/dev/null; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+ else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+ HIGHLIGHT=
+ fi
+ fi
+ fi
+ fi
+else
+ if test "$with_highlight" != "no"; then
+ # Extract the first word of "$with_highlight", so it can be a program name with args.
+set dummy $with_highlight; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_path_HIGHLIGHT+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ case $HIGHLIGHT in
+ [\\/]* | ?:[\\/]*)
+ ac_cv_path_HIGHLIGHT="$HIGHLIGHT" # 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_HIGHLIGHT="$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
+
+ test -z "$ac_cv_path_HIGHLIGHT" && ac_cv_path_HIGHLIGHT="no"
+ ;;
+esac
+fi
+HIGHLIGHT=$ac_cv_path_HIGHLIGHT
+if test -n "$HIGHLIGHT"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $HIGHLIGHT" >&5
+$as_echo "$HIGHLIGHT" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+ fi
+
+ case $with_highlight in
+ source-highlight) HIGHLIGHT_OPTIONS="-t4 -sc -cstyle.css --no-doc -i";;
+ highlight) HIGHLIGHT_OPTIONS="--out-format=xhtml -f --class-name=gtkdoc ";;
+ vim)
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether vim has +syntax feature" >&5
+$as_echo_n "checking whether vim has +syntax feature... " >&6; }
+ if $HIGHLIGHT --version | grep '+syntax' >/dev/null; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+ else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+ HIGHLIGHT=no
+ fi
+ ;;
+ esac
+
+ if test "$HIGHLIGHT" = "no" && test "$with_highlight" != "no"; then
+ as_fn_error "Could not find requested syntax highlighter" "$LINENO" 5
+ fi
+fi
+
+
+
+PACKAGE_DATA_DIR="${datadir}/${PACKAGE}/data"
+
+ prefix_NONE=
+ exec_prefix_NONE=
+ test "x$prefix" = xNONE && prefix_NONE=yes && prefix=$ac_default_prefix
+ test "x$exec_prefix" = xNONE && exec_prefix_NONE=yes && exec_prefix=$prefix
+ eval ac_define_dir="\"$PACKAGE_DATA_DIR\""
+ eval ac_define_dir="\"$ac_define_dir\""
+ PACKAGE_DATA_DIR="$ac_define_dir"
+
+ test "$prefix_NONE" && prefix=NONE
+ test "$exec_prefix_NONE" && exec_prefix=NONE
+
+
+if test "x$GCC" = "xyes"; then
+ if test -z "`echo "$CFLAGS" | grep "\-Wall" 2> /dev/null`" ; then
+ CFLAGS="$CFLAGS -Wall"
+ fi
+fi
+
+
+pkg_failed=no
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for TEST_DEPS" >&5
+$as_echo_n "checking for TEST_DEPS... " >&6; }
+
+if test -n "$PKG_CONFIG"; then
+ if test -n "$TEST_DEPS_CFLAGS"; then
+ pkg_cv_TEST_DEPS_CFLAGS="$TEST_DEPS_CFLAGS"
+ else
+ if test -n "$PKG_CONFIG" && \
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"glib-2.0 >= 2.6.0 gobject-2.0 >= 2.6.0\""; } >&5
+ ($PKG_CONFIG --exists --print-errors "glib-2.0 >= 2.6.0 gobject-2.0 >= 2.6.0") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; then
+ pkg_cv_TEST_DEPS_CFLAGS=`$PKG_CONFIG --cflags "glib-2.0 >= 2.6.0 gobject-2.0 >= 2.6.0" 2>/dev/null`
+else
+ pkg_failed=yes
+fi
+ fi
+else
+ pkg_failed=untried
+fi
+if test -n "$PKG_CONFIG"; then
+ if test -n "$TEST_DEPS_LIBS"; then
+ pkg_cv_TEST_DEPS_LIBS="$TEST_DEPS_LIBS"
+ else
+ if test -n "$PKG_CONFIG" && \
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"glib-2.0 >= 2.6.0 gobject-2.0 >= 2.6.0\""; } >&5
+ ($PKG_CONFIG --exists --print-errors "glib-2.0 >= 2.6.0 gobject-2.0 >= 2.6.0") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; then
+ pkg_cv_TEST_DEPS_LIBS=`$PKG_CONFIG --libs "glib-2.0 >= 2.6.0 gobject-2.0 >= 2.6.0" 2>/dev/null`
+else
+ pkg_failed=yes
+fi
+ fi
+else
+ pkg_failed=untried
+fi
+
+
+
+if test $pkg_failed = yes; then
+
+if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
+ _pkg_short_errors_supported=yes
+else
+ _pkg_short_errors_supported=no
+fi
+ if test $_pkg_short_errors_supported = yes; then
+ TEST_DEPS_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "glib-2.0 >= 2.6.0 gobject-2.0 >= 2.6.0"`
+ else
+ TEST_DEPS_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "glib-2.0 >= 2.6.0 gobject-2.0 >= 2.6.0"`
+ fi
+ # Put the nasty error message in config.log where it belongs
+ echo "$TEST_DEPS_PKG_ERRORS" >&5
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+ gtk_doc_use_libtool="no"
+ build_tests="no"
+
+
+elif test $pkg_failed = untried; then
+ gtk_doc_use_libtool="no"
+ build_tests="no"
+
+
+else
+ TEST_DEPS_CFLAGS=$pkg_cv_TEST_DEPS_CFLAGS
+ TEST_DEPS_LIBS=$pkg_cv_TEST_DEPS_LIBS
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+ glib_prefix="`$PKG_CONFIG --variable=prefix glib-2.0`"
+ gtk_doc_use_libtool="yes"
+ build_tests="yes"
+
+fi
+ if test -n "$LIBTOOL" -a x$gtk_doc_use_libtool = xyes ; then
+ GTK_DOC_USE_LIBTOOL_TRUE=
+ GTK_DOC_USE_LIBTOOL_FALSE='#'
+else
+ GTK_DOC_USE_LIBTOOL_TRUE='#'
+ GTK_DOC_USE_LIBTOOL_FALSE=
+fi
+
+ if test x$build_tests = xyes; then
+ BUILD_TESTS_TRUE=
+ BUILD_TESTS_FALSE='#'
+else
+ BUILD_TESTS_TRUE='#'
+ BUILD_TESTS_FALSE=
+fi
+
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable runtime debugging code" >&5
+$as_echo_n "checking whether to enable runtime debugging code... " >&6; }
+# Check whether --enable-debug was given.
+if test "${enable_debug+set}" = set; then :
+ enableval=$enable_debug;
+else
+ enable_debug="no"
+fi
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_debug" >&5
+$as_echo "$enable_debug" >&6; }
+
+if test "x$enable_debug" != "xno"; then
+ TRACE="LogTrace"
+else
+ TRACE="#"
+fi
+
+
+ac_config_files="$ac_config_files Makefile gtk-doc.pc gtk-doc.dsl gtk-doc.spec gtk-doc.cat gtkdoc-common.pl help/Makefile help/manual/Makefile tests/Makefile tests/gobject/Makefile tests/gobject/src/Makefile tests/gobject/docs/Makefile tests/gobject/docs-tmpl/Makefile tests/bugs/Makefile tests/bugs/src/Makefile tests/bugs/docs/Makefile tests/annotations/Makefile tests/annotations/src/Makefile tests/annotations/docs/Makefile tests/fail/Makefile tests/fail/src/Makefile tests/fail/docs/Makefile tests/empty/Makefile tests/empty/src/Makefile tests/empty/docs/Makefile"
+
+
+ac_config_files="$ac_config_files gtkdoc-check"
+
+ac_config_files="$ac_config_files gtkdoc-depscan"
+
+ac_config_files="$ac_config_files gtkdoc-fixxref"
+
+ac_config_files="$ac_config_files gtkdoc-mkdb"
+
+ac_config_files="$ac_config_files gtkdoc-mkhtml"
+
+ac_config_files="$ac_config_files gtkdoc-mkman"
+
+ac_config_files="$ac_config_files gtkdoc-mkpdf"
+
+ac_config_files="$ac_config_files gtkdoc-mktmpl"
+
+ac_config_files="$ac_config_files gtkdoc-rebase"
+
+ac_config_files="$ac_config_files gtkdoc-scan"
+
+ac_config_files="$ac_config_files gtkdoc-scangobj"
+
+ac_config_files="$ac_config_files gtkdoc-scanobj"
+
+ac_config_files="$ac_config_files gtkdocize"
+
+ac_config_files="$ac_config_files tests/tools.sh"
+
+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
+ test "x$cache_file" != "x/dev/null" &&
+ { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5
+$as_echo "$as_me: updating cache $cache_file" >&6;}
+ cat confcache >$cache_file
+ 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=
+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
+
+
+ if test -n "$EXEEXT"; then
+ am__EXEEXT_TRUE=
+ am__EXEEXT_FALSE='#'
+else
+ am__EXEEXT_TRUE='#'
+ am__EXEEXT_FALSE=
+fi
+
+if test -z "${MAINTAINER_MODE_TRUE}" && test -z "${MAINTAINER_MODE_FALSE}"; then
+ as_fn_error "conditional \"MAINTAINER_MODE\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${ENABLE_SK_TRUE}" && test -z "${ENABLE_SK_FALSE}"; then
+ as_fn_error "conditional \"ENABLE_SK\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${HAVE_GNOME_DOC_UTILS_TRUE}" && test -z "${HAVE_GNOME_DOC_UTILS_FALSE}"; then
+ as_fn_error "conditional \"HAVE_GNOME_DOC_UTILS\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then
+ as_fn_error "conditional \"AMDEP\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then
+ as_fn_error "conditional \"am__fastdepCC\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${HAVE_PYTHON_TRUE}" && test -z "${HAVE_PYTHON_FALSE}"; then
+ as_fn_error "conditional \"HAVE_PYTHON\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${GTK_DOC_USE_LIBTOOL_TRUE}" && test -z "${GTK_DOC_USE_LIBTOOL_FALSE}"; then
+ as_fn_error "conditional \"GTK_DOC_USE_LIBTOOL\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${BUILD_TESTS_TRUE}" && test -z "${BUILD_TESTS_FALSE}"; then
+ as_fn_error "conditional \"BUILD_TESTS\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+
+: ${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.
+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 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=$?; test $as_status -eq 0 && as_status=1
+ if test "$3"; then
+ as_lineno=${as_lineno-"$2"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+ $as_echo "$as_me:${as_lineno-$LINENO}: error: $1" >&$3
+ fi
+ $as_echo "$as_me: error: $1" >&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 gtk-doc $as_me 1.18, which was
+generated by GNU Autoconf 2.65. 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"
+config_commands="$ac_config_commands"
+
+_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
+
+Configuration commands:
+$config_commands
+
+Report bugs to <http://bugzilla.gnome.org/enter_bug.cgi?product=gtk-doc>."
+
+_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
+ac_cs_version="\\
+gtk-doc config.status 1.18
+configured by $0, generated by GNU Autoconf 2.65,
+ with options \\"\$ac_cs_config\\"
+
+Copyright (C) 2009 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=$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"` ;;
+ 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
+#
+# INIT-COMMANDS
+#
+AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"
+
+
+# The HP-UX ksh and POSIX shell print the target directory to stdout
+# if CDPATH is set.
+(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
+
+sed_quote_subst='$sed_quote_subst'
+double_quote_subst='$double_quote_subst'
+delay_variable_subst='$delay_variable_subst'
+macro_version='`$ECHO "X$macro_version" | $Xsed -e "$delay_single_quote_subst"`'
+macro_revision='`$ECHO "X$macro_revision" | $Xsed -e "$delay_single_quote_subst"`'
+enable_shared='`$ECHO "X$enable_shared" | $Xsed -e "$delay_single_quote_subst"`'
+enable_static='`$ECHO "X$enable_static" | $Xsed -e "$delay_single_quote_subst"`'
+pic_mode='`$ECHO "X$pic_mode" | $Xsed -e "$delay_single_quote_subst"`'
+enable_fast_install='`$ECHO "X$enable_fast_install" | $Xsed -e "$delay_single_quote_subst"`'
+host_alias='`$ECHO "X$host_alias" | $Xsed -e "$delay_single_quote_subst"`'
+host='`$ECHO "X$host" | $Xsed -e "$delay_single_quote_subst"`'
+host_os='`$ECHO "X$host_os" | $Xsed -e "$delay_single_quote_subst"`'
+build_alias='`$ECHO "X$build_alias" | $Xsed -e "$delay_single_quote_subst"`'
+build='`$ECHO "X$build" | $Xsed -e "$delay_single_quote_subst"`'
+build_os='`$ECHO "X$build_os" | $Xsed -e "$delay_single_quote_subst"`'
+SED='`$ECHO "X$SED" | $Xsed -e "$delay_single_quote_subst"`'
+Xsed='`$ECHO "X$Xsed" | $Xsed -e "$delay_single_quote_subst"`'
+GREP='`$ECHO "X$GREP" | $Xsed -e "$delay_single_quote_subst"`'
+EGREP='`$ECHO "X$EGREP" | $Xsed -e "$delay_single_quote_subst"`'
+FGREP='`$ECHO "X$FGREP" | $Xsed -e "$delay_single_quote_subst"`'
+LD='`$ECHO "X$LD" | $Xsed -e "$delay_single_quote_subst"`'
+NM='`$ECHO "X$NM" | $Xsed -e "$delay_single_quote_subst"`'
+LN_S='`$ECHO "X$LN_S" | $Xsed -e "$delay_single_quote_subst"`'
+max_cmd_len='`$ECHO "X$max_cmd_len" | $Xsed -e "$delay_single_quote_subst"`'
+ac_objext='`$ECHO "X$ac_objext" | $Xsed -e "$delay_single_quote_subst"`'
+exeext='`$ECHO "X$exeext" | $Xsed -e "$delay_single_quote_subst"`'
+lt_unset='`$ECHO "X$lt_unset" | $Xsed -e "$delay_single_quote_subst"`'
+lt_SP2NL='`$ECHO "X$lt_SP2NL" | $Xsed -e "$delay_single_quote_subst"`'
+lt_NL2SP='`$ECHO "X$lt_NL2SP" | $Xsed -e "$delay_single_quote_subst"`'
+reload_flag='`$ECHO "X$reload_flag" | $Xsed -e "$delay_single_quote_subst"`'
+reload_cmds='`$ECHO "X$reload_cmds" | $Xsed -e "$delay_single_quote_subst"`'
+OBJDUMP='`$ECHO "X$OBJDUMP" | $Xsed -e "$delay_single_quote_subst"`'
+deplibs_check_method='`$ECHO "X$deplibs_check_method" | $Xsed -e "$delay_single_quote_subst"`'
+file_magic_cmd='`$ECHO "X$file_magic_cmd" | $Xsed -e "$delay_single_quote_subst"`'
+AR='`$ECHO "X$AR" | $Xsed -e "$delay_single_quote_subst"`'
+AR_FLAGS='`$ECHO "X$AR_FLAGS" | $Xsed -e "$delay_single_quote_subst"`'
+STRIP='`$ECHO "X$STRIP" | $Xsed -e "$delay_single_quote_subst"`'
+RANLIB='`$ECHO "X$RANLIB" | $Xsed -e "$delay_single_quote_subst"`'
+old_postinstall_cmds='`$ECHO "X$old_postinstall_cmds" | $Xsed -e "$delay_single_quote_subst"`'
+old_postuninstall_cmds='`$ECHO "X$old_postuninstall_cmds" | $Xsed -e "$delay_single_quote_subst"`'
+old_archive_cmds='`$ECHO "X$old_archive_cmds" | $Xsed -e "$delay_single_quote_subst"`'
+CC='`$ECHO "X$CC" | $Xsed -e "$delay_single_quote_subst"`'
+CFLAGS='`$ECHO "X$CFLAGS" | $Xsed -e "$delay_single_quote_subst"`'
+compiler='`$ECHO "X$compiler" | $Xsed -e "$delay_single_quote_subst"`'
+GCC='`$ECHO "X$GCC" | $Xsed -e "$delay_single_quote_subst"`'
+lt_cv_sys_global_symbol_pipe='`$ECHO "X$lt_cv_sys_global_symbol_pipe" | $Xsed -e "$delay_single_quote_subst"`'
+lt_cv_sys_global_symbol_to_cdecl='`$ECHO "X$lt_cv_sys_global_symbol_to_cdecl" | $Xsed -e "$delay_single_quote_subst"`'
+lt_cv_sys_global_symbol_to_c_name_address='`$ECHO "X$lt_cv_sys_global_symbol_to_c_name_address" | $Xsed -e "$delay_single_quote_subst"`'
+lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='`$ECHO "X$lt_cv_sys_global_symbol_to_c_name_address_lib_prefix" | $Xsed -e "$delay_single_quote_subst"`'
+objdir='`$ECHO "X$objdir" | $Xsed -e "$delay_single_quote_subst"`'
+SHELL='`$ECHO "X$SHELL" | $Xsed -e "$delay_single_quote_subst"`'
+ECHO='`$ECHO "X$ECHO" | $Xsed -e "$delay_single_quote_subst"`'
+MAGIC_CMD='`$ECHO "X$MAGIC_CMD" | $Xsed -e "$delay_single_quote_subst"`'
+lt_prog_compiler_no_builtin_flag='`$ECHO "X$lt_prog_compiler_no_builtin_flag" | $Xsed -e "$delay_single_quote_subst"`'
+lt_prog_compiler_wl='`$ECHO "X$lt_prog_compiler_wl" | $Xsed -e "$delay_single_quote_subst"`'
+lt_prog_compiler_pic='`$ECHO "X$lt_prog_compiler_pic" | $Xsed -e "$delay_single_quote_subst"`'
+lt_prog_compiler_static='`$ECHO "X$lt_prog_compiler_static" | $Xsed -e "$delay_single_quote_subst"`'
+lt_cv_prog_compiler_c_o='`$ECHO "X$lt_cv_prog_compiler_c_o" | $Xsed -e "$delay_single_quote_subst"`'
+need_locks='`$ECHO "X$need_locks" | $Xsed -e "$delay_single_quote_subst"`'
+DSYMUTIL='`$ECHO "X$DSYMUTIL" | $Xsed -e "$delay_single_quote_subst"`'
+NMEDIT='`$ECHO "X$NMEDIT" | $Xsed -e "$delay_single_quote_subst"`'
+LIPO='`$ECHO "X$LIPO" | $Xsed -e "$delay_single_quote_subst"`'
+OTOOL='`$ECHO "X$OTOOL" | $Xsed -e "$delay_single_quote_subst"`'
+OTOOL64='`$ECHO "X$OTOOL64" | $Xsed -e "$delay_single_quote_subst"`'
+libext='`$ECHO "X$libext" | $Xsed -e "$delay_single_quote_subst"`'
+shrext_cmds='`$ECHO "X$shrext_cmds" | $Xsed -e "$delay_single_quote_subst"`'
+extract_expsyms_cmds='`$ECHO "X$extract_expsyms_cmds" | $Xsed -e "$delay_single_quote_subst"`'
+archive_cmds_need_lc='`$ECHO "X$archive_cmds_need_lc" | $Xsed -e "$delay_single_quote_subst"`'
+enable_shared_with_static_runtimes='`$ECHO "X$enable_shared_with_static_runtimes" | $Xsed -e "$delay_single_quote_subst"`'
+export_dynamic_flag_spec='`$ECHO "X$export_dynamic_flag_spec" | $Xsed -e "$delay_single_quote_subst"`'
+whole_archive_flag_spec='`$ECHO "X$whole_archive_flag_spec" | $Xsed -e "$delay_single_quote_subst"`'
+compiler_needs_object='`$ECHO "X$compiler_needs_object" | $Xsed -e "$delay_single_quote_subst"`'
+old_archive_from_new_cmds='`$ECHO "X$old_archive_from_new_cmds" | $Xsed -e "$delay_single_quote_subst"`'
+old_archive_from_expsyms_cmds='`$ECHO "X$old_archive_from_expsyms_cmds" | $Xsed -e "$delay_single_quote_subst"`'
+archive_cmds='`$ECHO "X$archive_cmds" | $Xsed -e "$delay_single_quote_subst"`'
+archive_expsym_cmds='`$ECHO "X$archive_expsym_cmds" | $Xsed -e "$delay_single_quote_subst"`'
+module_cmds='`$ECHO "X$module_cmds" | $Xsed -e "$delay_single_quote_subst"`'
+module_expsym_cmds='`$ECHO "X$module_expsym_cmds" | $Xsed -e "$delay_single_quote_subst"`'
+with_gnu_ld='`$ECHO "X$with_gnu_ld" | $Xsed -e "$delay_single_quote_subst"`'
+allow_undefined_flag='`$ECHO "X$allow_undefined_flag" | $Xsed -e "$delay_single_quote_subst"`'
+no_undefined_flag='`$ECHO "X$no_undefined_flag" | $Xsed -e "$delay_single_quote_subst"`'
+hardcode_libdir_flag_spec='`$ECHO "X$hardcode_libdir_flag_spec" | $Xsed -e "$delay_single_quote_subst"`'
+hardcode_libdir_flag_spec_ld='`$ECHO "X$hardcode_libdir_flag_spec_ld" | $Xsed -e "$delay_single_quote_subst"`'
+hardcode_libdir_separator='`$ECHO "X$hardcode_libdir_separator" | $Xsed -e "$delay_single_quote_subst"`'
+hardcode_direct='`$ECHO "X$hardcode_direct" | $Xsed -e "$delay_single_quote_subst"`'
+hardcode_direct_absolute='`$ECHO "X$hardcode_direct_absolute" | $Xsed -e "$delay_single_quote_subst"`'
+hardcode_minus_L='`$ECHO "X$hardcode_minus_L" | $Xsed -e "$delay_single_quote_subst"`'
+hardcode_shlibpath_var='`$ECHO "X$hardcode_shlibpath_var" | $Xsed -e "$delay_single_quote_subst"`'
+hardcode_automatic='`$ECHO "X$hardcode_automatic" | $Xsed -e "$delay_single_quote_subst"`'
+inherit_rpath='`$ECHO "X$inherit_rpath" | $Xsed -e "$delay_single_quote_subst"`'
+link_all_deplibs='`$ECHO "X$link_all_deplibs" | $Xsed -e "$delay_single_quote_subst"`'
+fix_srcfile_path='`$ECHO "X$fix_srcfile_path" | $Xsed -e "$delay_single_quote_subst"`'
+always_export_symbols='`$ECHO "X$always_export_symbols" | $Xsed -e "$delay_single_quote_subst"`'
+export_symbols_cmds='`$ECHO "X$export_symbols_cmds" | $Xsed -e "$delay_single_quote_subst"`'
+exclude_expsyms='`$ECHO "X$exclude_expsyms" | $Xsed -e "$delay_single_quote_subst"`'
+include_expsyms='`$ECHO "X$include_expsyms" | $Xsed -e "$delay_single_quote_subst"`'
+prelink_cmds='`$ECHO "X$prelink_cmds" | $Xsed -e "$delay_single_quote_subst"`'
+file_list_spec='`$ECHO "X$file_list_spec" | $Xsed -e "$delay_single_quote_subst"`'
+variables_saved_for_relink='`$ECHO "X$variables_saved_for_relink" | $Xsed -e "$delay_single_quote_subst"`'
+need_lib_prefix='`$ECHO "X$need_lib_prefix" | $Xsed -e "$delay_single_quote_subst"`'
+need_version='`$ECHO "X$need_version" | $Xsed -e "$delay_single_quote_subst"`'
+version_type='`$ECHO "X$version_type" | $Xsed -e "$delay_single_quote_subst"`'
+runpath_var='`$ECHO "X$runpath_var" | $Xsed -e "$delay_single_quote_subst"`'
+shlibpath_var='`$ECHO "X$shlibpath_var" | $Xsed -e "$delay_single_quote_subst"`'
+shlibpath_overrides_runpath='`$ECHO "X$shlibpath_overrides_runpath" | $Xsed -e "$delay_single_quote_subst"`'
+libname_spec='`$ECHO "X$libname_spec" | $Xsed -e "$delay_single_quote_subst"`'
+library_names_spec='`$ECHO "X$library_names_spec" | $Xsed -e "$delay_single_quote_subst"`'
+soname_spec='`$ECHO "X$soname_spec" | $Xsed -e "$delay_single_quote_subst"`'
+postinstall_cmds='`$ECHO "X$postinstall_cmds" | $Xsed -e "$delay_single_quote_subst"`'
+postuninstall_cmds='`$ECHO "X$postuninstall_cmds" | $Xsed -e "$delay_single_quote_subst"`'
+finish_cmds='`$ECHO "X$finish_cmds" | $Xsed -e "$delay_single_quote_subst"`'
+finish_eval='`$ECHO "X$finish_eval" | $Xsed -e "$delay_single_quote_subst"`'
+hardcode_into_libs='`$ECHO "X$hardcode_into_libs" | $Xsed -e "$delay_single_quote_subst"`'
+sys_lib_search_path_spec='`$ECHO "X$sys_lib_search_path_spec" | $Xsed -e "$delay_single_quote_subst"`'
+sys_lib_dlsearch_path_spec='`$ECHO "X$sys_lib_dlsearch_path_spec" | $Xsed -e "$delay_single_quote_subst"`'
+hardcode_action='`$ECHO "X$hardcode_action" | $Xsed -e "$delay_single_quote_subst"`'
+enable_dlopen='`$ECHO "X$enable_dlopen" | $Xsed -e "$delay_single_quote_subst"`'
+enable_dlopen_self='`$ECHO "X$enable_dlopen_self" | $Xsed -e "$delay_single_quote_subst"`'
+enable_dlopen_self_static='`$ECHO "X$enable_dlopen_self_static" | $Xsed -e "$delay_single_quote_subst"`'
+old_striplib='`$ECHO "X$old_striplib" | $Xsed -e "$delay_single_quote_subst"`'
+striplib='`$ECHO "X$striplib" | $Xsed -e "$delay_single_quote_subst"`'
+
+LTCC='$LTCC'
+LTCFLAGS='$LTCFLAGS'
+compiler='$compiler_DEFAULT'
+
+# Quote evaled strings.
+for var in SED \
+GREP \
+EGREP \
+FGREP \
+LD \
+NM \
+LN_S \
+lt_SP2NL \
+lt_NL2SP \
+reload_flag \
+OBJDUMP \
+deplibs_check_method \
+file_magic_cmd \
+AR \
+AR_FLAGS \
+STRIP \
+RANLIB \
+CC \
+CFLAGS \
+compiler \
+lt_cv_sys_global_symbol_pipe \
+lt_cv_sys_global_symbol_to_cdecl \
+lt_cv_sys_global_symbol_to_c_name_address \
+lt_cv_sys_global_symbol_to_c_name_address_lib_prefix \
+SHELL \
+ECHO \
+lt_prog_compiler_no_builtin_flag \
+lt_prog_compiler_wl \
+lt_prog_compiler_pic \
+lt_prog_compiler_static \
+lt_cv_prog_compiler_c_o \
+need_locks \
+DSYMUTIL \
+NMEDIT \
+LIPO \
+OTOOL \
+OTOOL64 \
+shrext_cmds \
+export_dynamic_flag_spec \
+whole_archive_flag_spec \
+compiler_needs_object \
+with_gnu_ld \
+allow_undefined_flag \
+no_undefined_flag \
+hardcode_libdir_flag_spec \
+hardcode_libdir_flag_spec_ld \
+hardcode_libdir_separator \
+fix_srcfile_path \
+exclude_expsyms \
+include_expsyms \
+file_list_spec \
+variables_saved_for_relink \
+libname_spec \
+library_names_spec \
+soname_spec \
+finish_eval \
+old_striplib \
+striplib; do
+ case \`eval \\\\\$ECHO "X\\\\\$\$var"\` in
+ *[\\\\\\\`\\"\\\$]*)
+ eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"X\\\$\$var\\" | \\\$Xsed -e \\"\\\$sed_quote_subst\\"\\\`\\\\\\""
+ ;;
+ *)
+ eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
+ ;;
+ esac
+done
+
+# Double-quote double-evaled strings.
+for var in reload_cmds \
+old_postinstall_cmds \
+old_postuninstall_cmds \
+old_archive_cmds \
+extract_expsyms_cmds \
+old_archive_from_new_cmds \
+old_archive_from_expsyms_cmds \
+archive_cmds \
+archive_expsym_cmds \
+module_cmds \
+module_expsym_cmds \
+export_symbols_cmds \
+prelink_cmds \
+postinstall_cmds \
+postuninstall_cmds \
+finish_cmds \
+sys_lib_search_path_spec \
+sys_lib_dlsearch_path_spec; do
+ case \`eval \\\\\$ECHO "X\\\\\$\$var"\` in
+ *[\\\\\\\`\\"\\\$]*)
+ eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"X\\\$\$var\\" | \\\$Xsed -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\""
+ ;;
+ *)
+ eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
+ ;;
+ esac
+done
+
+# Fix-up fallback echo if it was mangled by the above quoting rules.
+case \$lt_ECHO in
+*'\\\$0 --fallback-echo"') lt_ECHO=\`\$ECHO "X\$lt_ECHO" | \$Xsed -e 's/\\\\\\\\\\\\\\\$0 --fallback-echo"\$/\$0 --fallback-echo"/'\`
+ ;;
+esac
+
+ac_aux_dir='$ac_aux_dir'
+xsi_shell='$xsi_shell'
+lt_shell_append='$lt_shell_append'
+
+# See if we are running on zsh, and set the options which allow our
+# commands through without removal of \ escapes INIT.
+if test -n "\${ZSH_VERSION+set}" ; then
+ setopt NO_GLOB_SUBST
+fi
+
+
+ PACKAGE='$PACKAGE'
+ VERSION='$VERSION'
+ TIMESTAMP='$TIMESTAMP'
+ RM='$RM'
+ ofile='$ofile'
+
+
+
+
+_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
+ "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;;
+ "libtool") CONFIG_COMMANDS="$CONFIG_COMMANDS libtool" ;;
+ "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
+ "gtk-doc.pc") CONFIG_FILES="$CONFIG_FILES gtk-doc.pc" ;;
+ "gtk-doc.dsl") CONFIG_FILES="$CONFIG_FILES gtk-doc.dsl" ;;
+ "gtk-doc.spec") CONFIG_FILES="$CONFIG_FILES gtk-doc.spec" ;;
+ "gtk-doc.cat") CONFIG_FILES="$CONFIG_FILES gtk-doc.cat" ;;
+ "gtkdoc-common.pl") CONFIG_FILES="$CONFIG_FILES gtkdoc-common.pl" ;;
+ "help/Makefile") CONFIG_FILES="$CONFIG_FILES help/Makefile" ;;
+ "help/manual/Makefile") CONFIG_FILES="$CONFIG_FILES help/manual/Makefile" ;;
+ "tests/Makefile") CONFIG_FILES="$CONFIG_FILES tests/Makefile" ;;
+ "tests/gobject/Makefile") CONFIG_FILES="$CONFIG_FILES tests/gobject/Makefile" ;;
+ "tests/gobject/src/Makefile") CONFIG_FILES="$CONFIG_FILES tests/gobject/src/Makefile" ;;
+ "tests/gobject/docs/Makefile") CONFIG_FILES="$CONFIG_FILES tests/gobject/docs/Makefile" ;;
+ "tests/gobject/docs-tmpl/Makefile") CONFIG_FILES="$CONFIG_FILES tests/gobject/docs-tmpl/Makefile" ;;
+ "tests/bugs/Makefile") CONFIG_FILES="$CONFIG_FILES tests/bugs/Makefile" ;;
+ "tests/bugs/src/Makefile") CONFIG_FILES="$CONFIG_FILES tests/bugs/src/Makefile" ;;
+ "tests/bugs/docs/Makefile") CONFIG_FILES="$CONFIG_FILES tests/bugs/docs/Makefile" ;;
+ "tests/annotations/Makefile") CONFIG_FILES="$CONFIG_FILES tests/annotations/Makefile" ;;
+ "tests/annotations/src/Makefile") CONFIG_FILES="$CONFIG_FILES tests/annotations/src/Makefile" ;;
+ "tests/annotations/docs/Makefile") CONFIG_FILES="$CONFIG_FILES tests/annotations/docs/Makefile" ;;
+ "tests/fail/Makefile") CONFIG_FILES="$CONFIG_FILES tests/fail/Makefile" ;;
+ "tests/fail/src/Makefile") CONFIG_FILES="$CONFIG_FILES tests/fail/src/Makefile" ;;
+ "tests/fail/docs/Makefile") CONFIG_FILES="$CONFIG_FILES tests/fail/docs/Makefile" ;;
+ "tests/empty/Makefile") CONFIG_FILES="$CONFIG_FILES tests/empty/Makefile" ;;
+ "tests/empty/src/Makefile") CONFIG_FILES="$CONFIG_FILES tests/empty/src/Makefile" ;;
+ "tests/empty/docs/Makefile") CONFIG_FILES="$CONFIG_FILES tests/empty/docs/Makefile" ;;
+ "gtkdoc-check") CONFIG_FILES="$CONFIG_FILES gtkdoc-check" ;;
+ "gtkdoc-depscan") CONFIG_FILES="$CONFIG_FILES gtkdoc-depscan" ;;
+ "gtkdoc-fixxref") CONFIG_FILES="$CONFIG_FILES gtkdoc-fixxref" ;;
+ "gtkdoc-mkdb") CONFIG_FILES="$CONFIG_FILES gtkdoc-mkdb" ;;
+ "gtkdoc-mkhtml") CONFIG_FILES="$CONFIG_FILES gtkdoc-mkhtml" ;;
+ "gtkdoc-mkman") CONFIG_FILES="$CONFIG_FILES gtkdoc-mkman" ;;
+ "gtkdoc-mkpdf") CONFIG_FILES="$CONFIG_FILES gtkdoc-mkpdf" ;;
+ "gtkdoc-mktmpl") CONFIG_FILES="$CONFIG_FILES gtkdoc-mktmpl" ;;
+ "gtkdoc-rebase") CONFIG_FILES="$CONFIG_FILES gtkdoc-rebase" ;;
+ "gtkdoc-scan") CONFIG_FILES="$CONFIG_FILES gtkdoc-scan" ;;
+ "gtkdoc-scangobj") CONFIG_FILES="$CONFIG_FILES gtkdoc-scangobj" ;;
+ "gtkdoc-scanobj") CONFIG_FILES="$CONFIG_FILES gtkdoc-scanobj" ;;
+ "gtkdocize") CONFIG_FILES="$CONFIG_FILES gtkdocize" ;;
+ "tests/tools.sh") CONFIG_FILES="$CONFIG_FILES tests/tools.sh" ;;
+
+ *) 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
+ test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands
+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=
+ trap 'exit_status=$?
+ { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$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 -n "$tmp" && test -d "$tmp"
+} ||
+{
+ tmp=./conf$$-$RANDOM
+ (umask 077 && mkdir "$tmp")
+} || as_fn_error "cannot create a temporary directory in ." "$LINENO" 5
+
+# 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 {' >"$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 >>"\$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 >>"\$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 < "$tmp/subs1.awk" > "$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 $(srcdir),
+# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and
+# trailing colons and then remove the whole line if VPATH becomes empty
+# (actually we leave an empty line to preserve line numbers).
+if test "x$srcdir" = x.; then
+ ac_vpsub='/^[ ]*VPATH[ ]*=/{
+s/:*\$(srcdir):*/:/
+s/:*\${srcdir}:*/:/
+s/:*@srcdir@:*/:/
+s/^\([^=]*=[ ]*\):*/\1/
+s/:*$//
+s/^[^=]*=[ ]*$//
+}'
+fi
+
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+fi # test -n "$CONFIG_FILES"
+
+
+eval set X " :F $CONFIG_FILES :C $CONFIG_COMMANDS"
+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="$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 "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 >"$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 "$tmp/subs.awk" >$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' "$tmp/out"`; test -n "$ac_out"; } &&
+ { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' "$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 "$tmp/stdin"
+ case $ac_file in
+ -) cat "$tmp/out" && rm -f "$tmp/out";;
+ *) rm -f "$ac_file" && mv "$tmp/out" "$ac_file";;
+ esac \
+ || as_fn_error "could not create $ac_file" "$LINENO" 5
+ ;;
+
+
+ :C) { $as_echo "$as_me:${as_lineno-$LINENO}: executing $ac_file commands" >&5
+$as_echo "$as_me: executing $ac_file commands" >&6;}
+ ;;
+ esac
+
+
+ case $ac_file$ac_mode in
+ "depfiles":C) test x"$AMDEP_TRUE" != x"" || {
+ # Autoconf 2.62 quotes --file arguments for eval, but not when files
+ # are listed without --file. Let's play safe and only enable the eval
+ # if we detect the quoting.
+ case $CONFIG_FILES in
+ *\'*) eval set x "$CONFIG_FILES" ;;
+ *) set x $CONFIG_FILES ;;
+ esac
+ shift
+ for mf
+ do
+ # Strip MF so we end up with the name of the file.
+ mf=`echo "$mf" | sed -e 's/:.*$//'`
+ # Check whether this is an Automake generated Makefile or not.
+ # We used to match only the files named `Makefile.in', but
+ # some people rename them; so instead we look at the file content.
+ # Grep'ing the first line is not enough: some people post-process
+ # each Makefile.in and add a new line on top of each file to say so.
+ # Grep'ing the whole file is not good either: AIX grep has a line
+ # limit of 2048, but all sed's we know have understand at least 4000.
+ if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then
+ dirpart=`$as_dirname -- "$mf" ||
+$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$mf" : 'X\(//\)[^/]' \| \
+ X"$mf" : 'X\(//\)$' \| \
+ X"$mf" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X"$mf" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)[^/].*/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`
+ else
+ continue
+ fi
+ # Extract the definition of DEPDIR, am__include, and am__quote
+ # from the Makefile without running `make'.
+ DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
+ test -z "$DEPDIR" && continue
+ am__include=`sed -n 's/^am__include = //p' < "$mf"`
+ test -z "am__include" && continue
+ am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
+ # When using ansi2knr, U may be empty or an underscore; expand it
+ U=`sed -n 's/^U = //p' < "$mf"`
+ # Find all dependency output files, they are included files with
+ # $(DEPDIR) in their names. We invoke sed twice because it is the
+ # simplest approach to changing $(DEPDIR) to its actual value in the
+ # expansion.
+ for file in `sed -n "
+ s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
+ sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
+ # Make sure the directory exists.
+ test -f "$dirpart/$file" && continue
+ fdir=`$as_dirname -- "$file" ||
+$as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$file" : 'X\(//\)[^/]' \| \
+ X"$file" : 'X\(//\)$' \| \
+ X"$file" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X"$file" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)[^/].*/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`
+ as_dir=$dirpart/$fdir; as_fn_mkdir_p
+ # echo "creating $dirpart/$file"
+ echo '# dummy' > "$dirpart/$file"
+ done
+ done
+}
+ ;;
+ "libtool":C)
+
+ # See if we are running on zsh, and set the options which allow our
+ # commands through without removal of \ escapes.
+ if test -n "${ZSH_VERSION+set}" ; then
+ setopt NO_GLOB_SUBST
+ fi
+
+ cfgfile="${ofile}T"
+ trap "$RM \"$cfgfile\"; exit 1" 1 2 15
+ $RM "$cfgfile"
+
+ cat <<_LT_EOF >> "$cfgfile"
+#! $SHELL
+
+# `$ECHO "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services.
+# Generated automatically by $as_me ($PACKAGE$TIMESTAMP) $VERSION
+# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
+# NOTE: Changes made to this file will be lost: look at ltmain.sh.
+#
+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
+# 2006, 2007, 2008 Free Software Foundation, Inc.
+# Written by Gordon Matzigkeit, 1996
+#
+# This file is part of GNU Libtool.
+#
+# GNU Libtool is free software; you can redistribute 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.
+#
+# As a special exception to the GNU General Public License,
+# if you distribute this file as part of a program or library that
+# is built using GNU Libtool, you may include this file under the
+# same distribution terms that you use for the rest of that program.
+#
+# GNU Libtool is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with GNU Libtool; see the file COPYING. If not, a copy
+# can be downloaded from http://www.gnu.org/licenses/gpl.html, or
+# obtained by writing to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+
+
+# The names of the tagged configurations supported by this script.
+available_tags=""
+
+# ### BEGIN LIBTOOL CONFIG
+
+# Which release of libtool.m4 was used?
+macro_version=$macro_version
+macro_revision=$macro_revision
+
+# Whether or not to build shared libraries.
+build_libtool_libs=$enable_shared
+
+# Whether or not to build static libraries.
+build_old_libs=$enable_static
+
+# What type of objects to build.
+pic_mode=$pic_mode
+
+# Whether or not to optimize for fast installation.
+fast_install=$enable_fast_install
+
+# The host system.
+host_alias=$host_alias
+host=$host
+host_os=$host_os
+
+# The build system.
+build_alias=$build_alias
+build=$build
+build_os=$build_os
+
+# A sed program that does not truncate output.
+SED=$lt_SED
+
+# Sed that helps us avoid accidentally triggering echo(1) options like -n.
+Xsed="\$SED -e 1s/^X//"
+
+# A grep program that handles long lines.
+GREP=$lt_GREP
+
+# An ERE matcher.
+EGREP=$lt_EGREP
+
+# A literal string matcher.
+FGREP=$lt_FGREP
+
+# A BSD- or MS-compatible name lister.
+NM=$lt_NM
+
+# Whether we need soft or hard links.
+LN_S=$lt_LN_S
+
+# What is the maximum length of a command?
+max_cmd_len=$max_cmd_len
+
+# Object file suffix (normally "o").
+objext=$ac_objext
+
+# Executable file suffix (normally "").
+exeext=$exeext
+
+# whether the shell understands "unset".
+lt_unset=$lt_unset
+
+# turn spaces into newlines.
+SP2NL=$lt_lt_SP2NL
+
+# turn newlines into spaces.
+NL2SP=$lt_lt_NL2SP
+
+# How to create reloadable object files.
+reload_flag=$lt_reload_flag
+reload_cmds=$lt_reload_cmds
+
+# An object symbol dumper.
+OBJDUMP=$lt_OBJDUMP
+
+# Method to check whether dependent libraries are shared objects.
+deplibs_check_method=$lt_deplibs_check_method
+
+# Command to use when deplibs_check_method == "file_magic".
+file_magic_cmd=$lt_file_magic_cmd
+
+# The archiver.
+AR=$lt_AR
+AR_FLAGS=$lt_AR_FLAGS
+
+# A symbol stripping program.
+STRIP=$lt_STRIP
+
+# Commands used to install an old-style archive.
+RANLIB=$lt_RANLIB
+old_postinstall_cmds=$lt_old_postinstall_cmds
+old_postuninstall_cmds=$lt_old_postuninstall_cmds
+
+# A C compiler.
+LTCC=$lt_CC
+
+# LTCC compiler flags.
+LTCFLAGS=$lt_CFLAGS
+
+# Take the output of nm and produce a listing of raw symbols and C names.
+global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe
+
+# Transform the output of nm in a proper C declaration.
+global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl
+
+# Transform the output of nm in a C name address pair.
+global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
+
+# Transform the output of nm in a C name address pair when lib prefix is needed.
+global_symbol_to_c_name_address_lib_prefix=$lt_lt_cv_sys_global_symbol_to_c_name_address_lib_prefix
+
+# The name of the directory that contains temporary libtool files.
+objdir=$objdir
+
+# Shell to use when invoking shell scripts.
+SHELL=$lt_SHELL
+
+# An echo program that does not interpret backslashes.
+ECHO=$lt_ECHO
+
+# Used to examine libraries when file_magic_cmd begins with "file".
+MAGIC_CMD=$MAGIC_CMD
+
+# Must we lock files when doing compilation?
+need_locks=$lt_need_locks
+
+# Tool to manipulate archived DWARF debug symbol files on Mac OS X.
+DSYMUTIL=$lt_DSYMUTIL
+
+# Tool to change global to local symbols on Mac OS X.
+NMEDIT=$lt_NMEDIT
+
+# Tool to manipulate fat objects and archives on Mac OS X.
+LIPO=$lt_LIPO
+
+# ldd/readelf like tool for Mach-O binaries on Mac OS X.
+OTOOL=$lt_OTOOL
+
+# ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4.
+OTOOL64=$lt_OTOOL64
+
+# Old archive suffix (normally "a").
+libext=$libext
+
+# Shared library suffix (normally ".so").
+shrext_cmds=$lt_shrext_cmds
+
+# The commands to extract the exported symbol list from a shared archive.
+extract_expsyms_cmds=$lt_extract_expsyms_cmds
+
+# Variables whose values should be saved in libtool wrapper scripts and
+# restored at link time.
+variables_saved_for_relink=$lt_variables_saved_for_relink
+
+# Do we need the "lib" prefix for modules?
+need_lib_prefix=$need_lib_prefix
+
+# Do we need a version for libraries?
+need_version=$need_version
+
+# Library versioning type.
+version_type=$version_type
+
+# Shared library runtime path variable.
+runpath_var=$runpath_var
+
+# Shared library path variable.
+shlibpath_var=$shlibpath_var
+
+# Is shlibpath searched before the hard-coded library search path?
+shlibpath_overrides_runpath=$shlibpath_overrides_runpath
+
+# Format of library name prefix.
+libname_spec=$lt_libname_spec
+
+# List of archive names. First name is the real one, the rest are links.
+# The last name is the one that the linker finds with -lNAME
+library_names_spec=$lt_library_names_spec
+
+# The coded name of the library, if different from the real name.
+soname_spec=$lt_soname_spec
+
+# Command to use after installation of a shared archive.
+postinstall_cmds=$lt_postinstall_cmds
+
+# Command to use after uninstallation of a shared archive.
+postuninstall_cmds=$lt_postuninstall_cmds
+
+# Commands used to finish a libtool library installation in a directory.
+finish_cmds=$lt_finish_cmds
+
+# As "finish_cmds", except a single script fragment to be evaled but
+# not shown.
+finish_eval=$lt_finish_eval
+
+# Whether we should hardcode library paths into libraries.
+hardcode_into_libs=$hardcode_into_libs
+
+# Compile-time system search path for libraries.
+sys_lib_search_path_spec=$lt_sys_lib_search_path_spec
+
+# Run-time system search path for libraries.
+sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec
+
+# Whether dlopen is supported.
+dlopen_support=$enable_dlopen
+
+# Whether dlopen of programs is supported.
+dlopen_self=$enable_dlopen_self
+
+# Whether dlopen of statically linked programs is supported.
+dlopen_self_static=$enable_dlopen_self_static
+
+# Commands to strip libraries.
+old_striplib=$lt_old_striplib
+striplib=$lt_striplib
+
+
+# The linker used to build libraries.
+LD=$lt_LD
+
+# Commands used to build an old-style archive.
+old_archive_cmds=$lt_old_archive_cmds
+
+# A language specific compiler.
+CC=$lt_compiler
+
+# Is the compiler the GNU compiler?
+with_gcc=$GCC
+
+# Compiler flag to turn off builtin functions.
+no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag
+
+# How to pass a linker flag through the compiler.
+wl=$lt_lt_prog_compiler_wl
+
+# Additional compiler flags for building library objects.
+pic_flag=$lt_lt_prog_compiler_pic
+
+# Compiler flag to prevent dynamic linking.
+link_static_flag=$lt_lt_prog_compiler_static
+
+# Does compiler simultaneously support -c and -o options?
+compiler_c_o=$lt_lt_cv_prog_compiler_c_o
+
+# Whether or not to add -lc for building shared libraries.
+build_libtool_need_lc=$archive_cmds_need_lc
+
+# Whether or not to disallow shared libs when runtime libs are static.
+allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes
+
+# Compiler flag to allow reflexive dlopens.
+export_dynamic_flag_spec=$lt_export_dynamic_flag_spec
+
+# Compiler flag to generate shared objects directly from archives.
+whole_archive_flag_spec=$lt_whole_archive_flag_spec
+
+# Whether the compiler copes with passing no objects directly.
+compiler_needs_object=$lt_compiler_needs_object
+
+# Create an old-style archive from a shared archive.
+old_archive_from_new_cmds=$lt_old_archive_from_new_cmds
+
+# Create a temporary old-style archive to link instead of a shared archive.
+old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds
+
+# Commands used to build a shared archive.
+archive_cmds=$lt_archive_cmds
+archive_expsym_cmds=$lt_archive_expsym_cmds
+
+# Commands used to build a loadable module if different from building
+# a shared archive.
+module_cmds=$lt_module_cmds
+module_expsym_cmds=$lt_module_expsym_cmds
+
+# Whether we are building with GNU ld or not.
+with_gnu_ld=$lt_with_gnu_ld
+
+# Flag that allows shared libraries with undefined symbols to be built.
+allow_undefined_flag=$lt_allow_undefined_flag
+
+# Flag that enforces no undefined symbols.
+no_undefined_flag=$lt_no_undefined_flag
+
+# Flag to hardcode \$libdir into a binary during linking.
+# This must work even if \$libdir does not exist
+hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec
+
+# If ld is used when linking, flag to hardcode \$libdir into a binary
+# during linking. This must work even if \$libdir does not exist.
+hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld
+
+# Whether we need a single "-rpath" flag with a separated argument.
+hardcode_libdir_separator=$lt_hardcode_libdir_separator
+
+# Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes
+# DIR into the resulting binary.
+hardcode_direct=$hardcode_direct
+
+# Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes
+# DIR into the resulting binary and the resulting library dependency is
+# "absolute",i.e impossible to change by setting \${shlibpath_var} if the
+# library is relocated.
+hardcode_direct_absolute=$hardcode_direct_absolute
+
+# Set to "yes" if using the -LDIR flag during linking hardcodes DIR
+# into the resulting binary.
+hardcode_minus_L=$hardcode_minus_L
+
+# Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR
+# into the resulting binary.
+hardcode_shlibpath_var=$hardcode_shlibpath_var
+
+# Set to "yes" if building a shared library automatically hardcodes DIR
+# into the library and all subsequent libraries and executables linked
+# against it.
+hardcode_automatic=$hardcode_automatic
+
+# Set to yes if linker adds runtime paths of dependent libraries
+# to runtime path list.
+inherit_rpath=$inherit_rpath
+
+# Whether libtool must link a program against all its dependency libraries.
+link_all_deplibs=$link_all_deplibs
+
+# Fix the shell variable \$srcfile for the compiler.
+fix_srcfile_path=$lt_fix_srcfile_path
+
+# Set to "yes" if exported symbols are required.
+always_export_symbols=$always_export_symbols
+
+# The commands to list exported symbols.
+export_symbols_cmds=$lt_export_symbols_cmds
+
+# Symbols that should not be listed in the preloaded symbols.
+exclude_expsyms=$lt_exclude_expsyms
+
+# Symbols that must always be exported.
+include_expsyms=$lt_include_expsyms
+
+# Commands necessary for linking programs (against libraries) with templates.
+prelink_cmds=$lt_prelink_cmds
+
+# Specify filename containing input files.
+file_list_spec=$lt_file_list_spec
+
+# How to hardcode a shared library path into an executable.
+hardcode_action=$hardcode_action
+
+# ### END LIBTOOL CONFIG
+
+_LT_EOF
+
+ case $host_os in
+ aix3*)
+ cat <<\_LT_EOF >> "$cfgfile"
+# AIX sometimes has problems with the GCC collect2 program. For some
+# reason, if we set the COLLECT_NAMES environment variable, the problems
+# vanish in a puff of smoke.
+if test "X${COLLECT_NAMES+set}" != Xset; then
+ COLLECT_NAMES=
+ export COLLECT_NAMES
+fi
+_LT_EOF
+ ;;
+ esac
+
+
+ltmain="$ac_aux_dir/ltmain.sh"
+
+
+ # We use sed instead of cat because bash on DJGPP gets confused if
+ # if finds mixed CR/LF and LF-only lines. Since sed operates in
+ # text mode, it properly converts lines to CR/LF. This bash problem
+ # is reportedly fixed, but why not run on old versions too?
+ sed '/^# Generated shell functions inserted here/q' "$ltmain" >> "$cfgfile" \
+ || (rm -f "$cfgfile"; exit 1)
+
+ case $xsi_shell in
+ yes)
+ cat << \_LT_EOF >> "$cfgfile"
+
+# func_dirname file append nondir_replacement
+# Compute the dirname of FILE. If nonempty, add APPEND to the result,
+# otherwise set result to NONDIR_REPLACEMENT.
+func_dirname ()
+{
+ case ${1} in
+ */*) func_dirname_result="${1%/*}${2}" ;;
+ * ) func_dirname_result="${3}" ;;
+ esac
+}
+
+# func_basename file
+func_basename ()
+{
+ func_basename_result="${1##*/}"
+}
+
+# func_dirname_and_basename file append nondir_replacement
+# perform func_basename and func_dirname in a single function
+# call:
+# dirname: Compute the dirname of FILE. If nonempty,
+# add APPEND to the result, otherwise set result
+# to NONDIR_REPLACEMENT.
+# value returned in "$func_dirname_result"
+# basename: Compute filename of FILE.
+# value retuned in "$func_basename_result"
+# Implementation must be kept synchronized with func_dirname
+# and func_basename. For efficiency, we do not delegate to
+# those functions but instead duplicate the functionality here.
+func_dirname_and_basename ()
+{
+ case ${1} in
+ */*) func_dirname_result="${1%/*}${2}" ;;
+ * ) func_dirname_result="${3}" ;;
+ esac
+ func_basename_result="${1##*/}"
+}
+
+# func_stripname prefix suffix name
+# strip PREFIX and SUFFIX off of NAME.
+# PREFIX and SUFFIX must not contain globbing or regex special
+# characters, hashes, percent signs, but SUFFIX may contain a leading
+# dot (in which case that matches only a dot).
+func_stripname ()
+{
+ # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are
+ # positional parameters, so assign one to ordinary parameter first.
+ func_stripname_result=${3}
+ func_stripname_result=${func_stripname_result#"${1}"}
+ func_stripname_result=${func_stripname_result%"${2}"}
+}
+
+# func_opt_split
+func_opt_split ()
+{
+ func_opt_split_opt=${1%%=*}
+ func_opt_split_arg=${1#*=}
+}
+
+# func_lo2o object
+func_lo2o ()
+{
+ case ${1} in
+ *.lo) func_lo2o_result=${1%.lo}.${objext} ;;
+ *) func_lo2o_result=${1} ;;
+ esac
+}
+
+# func_xform libobj-or-source
+func_xform ()
+{
+ func_xform_result=${1%.*}.lo
+}
+
+# func_arith arithmetic-term...
+func_arith ()
+{
+ func_arith_result=$(( $* ))
+}
+
+# func_len string
+# STRING may not start with a hyphen.
+func_len ()
+{
+ func_len_result=${#1}
+}
+
+_LT_EOF
+ ;;
+ *) # Bourne compatible functions.
+ cat << \_LT_EOF >> "$cfgfile"
+
+# func_dirname file append nondir_replacement
+# Compute the dirname of FILE. If nonempty, add APPEND to the result,
+# otherwise set result to NONDIR_REPLACEMENT.
+func_dirname ()
+{
+ # Extract subdirectory from the argument.
+ func_dirname_result=`$ECHO "X${1}" | $Xsed -e "$dirname"`
+ if test "X$func_dirname_result" = "X${1}"; then
+ func_dirname_result="${3}"
+ else
+ func_dirname_result="$func_dirname_result${2}"
+ fi
+}
+
+# func_basename file
+func_basename ()
+{
+ func_basename_result=`$ECHO "X${1}" | $Xsed -e "$basename"`
+}
+
+
+# func_stripname prefix suffix name
+# strip PREFIX and SUFFIX off of NAME.
+# PREFIX and SUFFIX must not contain globbing or regex special
+# characters, hashes, percent signs, but SUFFIX may contain a leading
+# dot (in which case that matches only a dot).
+# func_strip_suffix prefix name
+func_stripname ()
+{
+ case ${2} in
+ .*) func_stripname_result=`$ECHO "X${3}" \
+ | $Xsed -e "s%^${1}%%" -e "s%\\\\${2}\$%%"`;;
+ *) func_stripname_result=`$ECHO "X${3}" \
+ | $Xsed -e "s%^${1}%%" -e "s%${2}\$%%"`;;
+ esac
+}
+
+# sed scripts:
+my_sed_long_opt='1s/^\(-[^=]*\)=.*/\1/;q'
+my_sed_long_arg='1s/^-[^=]*=//'
+
+# func_opt_split
+func_opt_split ()
+{
+ func_opt_split_opt=`$ECHO "X${1}" | $Xsed -e "$my_sed_long_opt"`
+ func_opt_split_arg=`$ECHO "X${1}" | $Xsed -e "$my_sed_long_arg"`
+}
+
+# func_lo2o object
+func_lo2o ()
+{
+ func_lo2o_result=`$ECHO "X${1}" | $Xsed -e "$lo2o"`
+}
+
+# func_xform libobj-or-source
+func_xform ()
+{
+ func_xform_result=`$ECHO "X${1}" | $Xsed -e 's/\.[^.]*$/.lo/'`
+}
+
+# func_arith arithmetic-term...
+func_arith ()
+{
+ func_arith_result=`expr "$@"`
+}
+
+# func_len string
+# STRING may not start with a hyphen.
+func_len ()
+{
+ func_len_result=`expr "$1" : ".*" 2>/dev/null || echo $max_cmd_len`
+}
+
+_LT_EOF
+esac
+
+case $lt_shell_append in
+ yes)
+ cat << \_LT_EOF >> "$cfgfile"
+
+# func_append var value
+# Append VALUE to the end of shell variable VAR.
+func_append ()
+{
+ eval "$1+=\$2"
+}
+_LT_EOF
+ ;;
+ *)
+ cat << \_LT_EOF >> "$cfgfile"
+
+# func_append var value
+# Append VALUE to the end of shell variable VAR.
+func_append ()
+{
+ eval "$1=\$$1\$2"
+}
+
+_LT_EOF
+ ;;
+ esac
+
+
+ sed -n '/^# Generated shell functions inserted here/,$p' "$ltmain" >> "$cfgfile" \
+ || (rm -f "$cfgfile"; exit 1)
+
+ mv -f "$cfgfile" "$ofile" ||
+ (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
+ chmod +x "$ofile"
+
+ ;;
+ "gtkdoc-check":F) chmod +x gtkdoc-check ;;
+ "gtkdoc-depscan":F) chmod +x gtkdoc-depscan ;;
+ "gtkdoc-fixxref":F) chmod +x gtkdoc-fixxref ;;
+ "gtkdoc-mkdb":F) chmod +x gtkdoc-mkdb ;;
+ "gtkdoc-mkhtml":F) chmod +x gtkdoc-mkhtml ;;
+ "gtkdoc-mkman":F) chmod +x gtkdoc-mkman ;;
+ "gtkdoc-mkpdf":F) chmod +x gtkdoc-mkpdf ;;
+ "gtkdoc-mktmpl":F) chmod +x gtkdoc-mktmpl ;;
+ "gtkdoc-rebase":F) chmod +x gtkdoc-rebase ;;
+ "gtkdoc-scan":F) chmod +x gtkdoc-scan ;;
+ "gtkdoc-scangobj":F) chmod +x gtkdoc-scangobj ;;
+ "gtkdoc-scanobj":F) chmod +x gtkdoc-scanobj ;;
+ "gtkdocize":F) chmod +x gtkdocize ;;
+ "tests/tools.sh":F) chmod +x tests/tools.sh ;;
+
+ 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 $?
+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
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}:
+gtk-doc was configured with the following options:
+==================================================" >&5
+$as_echo "$as_me:
+gtk-doc was configured with the following options:
+==================================================" >&6;}
+
+test "$PYTHON" != : \
+ && { $as_echo "$as_me:${as_lineno-$LINENO}: ** Python based tools enabled, using $PYTHON" >&5
+$as_echo "$as_me: ** Python based tools enabled, using $PYTHON" >&6;} \
+ || { $as_echo "$as_me:${as_lineno-$LINENO}: Python based tools disabled" >&5
+$as_echo "$as_me: Python based tools disabled" >&6;}
+test -n "$JADE" \
+ && { $as_echo "$as_me:${as_lineno-$LINENO}: ** SGML support enabled, using $JADE" >&5
+$as_echo "$as_me: ** SGML support enabled, using $JADE" >&6;} \
+ || { $as_echo "$as_me:${as_lineno-$LINENO}: SGML support disabled, no jade processor available" >&5
+$as_echo "$as_me: SGML support disabled, no jade processor available" >&6;}
+test -n "$DBLATEX$FOP" \
+ && { $as_echo "$as_me:${as_lineno-$LINENO}: ** XML PDF support enabled, using $DBLATEX$FOP" >&5
+$as_echo "$as_me: ** XML PDF support enabled, using $DBLATEX$FOP" >&6;} \
+ || { $as_echo "$as_me:${as_lineno-$LINENO}: XML PDF support disabled, no fop available" >&5
+$as_echo "$as_me: XML PDF support disabled, no fop available" >&6;}
+test "x$gdu_cv_have_gdu" = "xyes" \
+ && { $as_echo "$as_me:${as_lineno-$LINENO}: ** Gnome-doc-utils support enabled" >&5
+$as_echo "$as_me: ** Gnome-doc-utils support enabled" >&6;} \
+ || { $as_echo "$as_me:${as_lineno-$LINENO}: Gnome-doc-utils support disabled" >&5
+$as_echo "$as_me: Gnome-doc-utils support disabled" >&6;}
+test "x$enable_scrollkeeper" = "xyes" \
+ && { $as_echo "$as_me:${as_lineno-$LINENO}: ** Scrollkeeper support enabled" >&5
+$as_echo "$as_me: ** Scrollkeeper support enabled" >&6;} \
+ || { $as_echo "$as_me:${as_lineno-$LINENO}: Scrollkeeper support disabled" >&5
+$as_echo "$as_me: Scrollkeeper support disabled" >&6;}
+test -n "$HIGHLIGHT" \
+ && { $as_echo "$as_me:${as_lineno-$LINENO}: ** Syntax highlighting of examples enabled, using $HIGHLIGHT" >&5
+$as_echo "$as_me: ** Syntax highlighting of examples enabled, using $HIGHLIGHT" >&6;} \
+ || { $as_echo "$as_me:${as_lineno-$LINENO}: Syntax highlighting of examples disabled" >&5
+$as_echo "$as_me: Syntax highlighting of examples disabled" >&6;}
+test "x$build_tests" != "xno" \
+ && { $as_echo "$as_me:${as_lineno-$LINENO}: ** Building regression tests" >&5
+$as_echo "$as_me: ** Building regression tests" >&6;} \
+ || { $as_echo "$as_me:${as_lineno-$LINENO}: Skipping regression tests" >&5
+$as_echo "$as_me: Skipping regression tests" >&6;}
+test "x$enable_debug" != "xno" \
+ && { $as_echo "$as_me:${as_lineno-$LINENO}: ** Debug tracing enabled" >&5
+$as_echo "$as_me: ** Debug tracing enabled" >&6;} \
+ || { $as_echo "$as_me:${as_lineno-$LINENO}: Debug tracing disabled" >&5
+$as_echo "$as_me: Debug tracing disabled" >&6;}
+
--- /dev/null
+dnl Process this file with autoconf to produce a configure script.
+AC_PREREQ([2.63])
+
+dnl Use a simple 2-digit version number for a while, since our old example
+dnl Makefile can only cope with that, i.e. use 1.1, 1.2, 1.3 ... 9.9.
+dnl FIXME: I can't see anything failing (1.14.1), lets try to use a three digit
+dnl number for the development version
+m4_define(gtk_doc_version, 1.18)
+
+AC_INIT([gtk-doc],[gtk_doc_version],[http://bugzilla.gnome.org/enter_bug.cgi?product=gtk-doc],[gtk-doc])
+
+AC_CONFIG_MACRO_DIR([m4])
+AC_CONFIG_SRCDIR([gtkdoc-common.pl.in])
+AC_CONFIG_AUX_DIR([build-aux])
+
+AM_INIT_AUTOMAKE([1.11 check-news std-options -Wno-portability tar-ustar no-dist-gzip dist-xz])
+AM_MAINTAINER_MODE([enable])
+
+# Support silent build rules, requires at least automake-1.11. Disable
+# by either passing --disable-silent-rules to configure or passing V=1
+# to make
+AM_SILENT_RULES([yes])
+
+dnl Forcing a non-null ACTION-IF-NOT-FOUND disables scrollkeeper if
+dnl gnome-doc-utils is not found but does not invalidate the build.
+GNOME_DOC_INIT([],[],enable_scrollkeeper=no)
+
+# Check for programs
+AC_PROG_CC
+
+# Initialize libtool
+LT_PREREQ([2.2])
+LT_INIT
+
+dnl Make sure we have pkg-config >= 0.19, so installing in $(datadir) is OK.
+PKG_PROG_PKG_CONFIG([0.19])
+
+dnl
+dnl Check for Perl.
+dnl
+AC_PATH_PROG([PERL], [perl])
+if test -z "$PERL"; then
+ AC_MSG_ERROR([perl not found])
+fi
+
+AC_MSG_CHECKING([if Perl version >= 5.6.0])
+if "$PERL" -e "require v5.6.0"; then
+ AC_MSG_RESULT([yes])
+else
+ AC_MSG_RESULT([no])
+ AC_MSG_ERROR([perl >= 5.6.0 is required for gtk-doc])
+fi
+
+dnl
+dnl Check for Python.
+dnl
+AM_PATH_PYTHON([2.3],,[:])
+AM_CONDITIONAL([HAVE_PYTHON], [test "$PYTHON" != :])
+
+dnl
+dnl Check for jade or openjade.
+dnl
+dnl We prefer to use openjade with the '-t sgml-raw' option, since '-t sgml'
+dnl adds a newline before the closing '>' of HTML tags. lynx can't parse
+dnl that, which is bad for accessibility.
+dnl
+SGML_FORMAT_TYPE=sgml-raw
+AC_PATH_PROG([JADE], [openjade])
+if test -z "$JADE"; then
+ SGML_FORMAT_TYPE=sgml
+ AC_PATH_PROG([JADE], [jade])
+ if test -z "$JADE"; then
+ AC_MSG_WARN([Could not find openjade or jade, so SGML is not supported])
+ fi
+fi
+AC_SUBST([SGML_FORMAT_TYPE])
+
+dnl
+dnl Check for xsltproc
+dnl
+AC_PATH_PROG([XSLTPROC], [xsltproc])
+if test -z "$XSLTPROC"; then
+ AC_MSG_ERROR([xsltproc not found])
+fi
+
+dnl
+dnl Check for dblatex/fop (for pdf output)
+dnl
+AC_PATH_PROG([DBLATEX], [dblatex])
+if test -z "$DBLATEX"; then
+ AC_PATH_PROG([FOP], [fop])
+ if test -z "$FOP"; then
+ AC_MSG_WARN([neither dblatex nor fop found, so no pdf output from xml])
+ fi
+fi
+
+dnl check for DocBook DTD and stylesheets in the local catalog.
+JH_CHECK_XML_CATALOG([-//OASIS//DTD DocBook XML V4.3//EN], [DocBook XML DTD V4.3])
+JH_CHECK_XML_CATALOG([http://docbook.sourceforge.net/release/xsl/current/html/chunk.xsl], [DocBook XSL Stylesheets])
+
+dnl
+dnl Check for syntax highlighters
+dnl
+AC_ARG_WITH([highlight],
+ AS_HELP_STRING([--with-highlight], [Select source code syntax highlighter (no|source-highlight|highlight|vim|auto)]),
+ , [with_highlight=auto])
+
+case $with_highlight in
+ no|source-highlight|highlight|vim|auto) ;;
+ *) AC_MSG_ERROR([Invalid value for syntax highlighting option.]) ;;
+esac
+
+HIGHLIGHT_OPTIONS=""
+if test "$with_highlight" = "auto"; then
+ AC_PATH_PROG([HIGHLIGHT], [source-highlight])
+ if test -n "$HIGHLIGHT"; then
+ HIGHLIGHT_OPTIONS="-t4 -sc -cstyle.css --no-doc -i"
+ else
+ AC_PATH_PROG([HIGHLIGHT], [highlight])
+ if test -n "$HIGHLIGHT"; then
+ HIGHLIGHT_OPTIONS="--out-format=xhtml -f --class-name=gtkdoc "
+ else
+ AC_PATH_PROG([HIGHLIGHT], [vim])
+ if test -n "$HIGHLIGHT"; then
+ dnl vim is useless if it does not support syntax highlighting
+ AC_MSG_CHECKING([whether vim has +syntax feature])
+ if $HIGHLIGHT --version | grep '+syntax' >/dev/null; then
+ AC_MSG_RESULT([yes])
+ else
+ AC_MSG_RESULT([no])
+ HIGHLIGHT=
+ fi
+ fi
+ fi
+ fi
+else
+ if test "$with_highlight" != "no"; then
+ AC_PATH_PROG([HIGHLIGHT], [$with_highlight], [no])
+ fi
+
+ case $with_highlight in
+ source-highlight) HIGHLIGHT_OPTIONS="-t4 -sc -cstyle.css --no-doc -i";;
+ highlight) HIGHLIGHT_OPTIONS="--out-format=xhtml -f --class-name=gtkdoc ";;
+ vim)
+ AC_MSG_CHECKING([whether vim has +syntax feature])
+ if $HIGHLIGHT --version | grep '+syntax' >/dev/null; then
+ AC_MSG_RESULT([yes])
+ else
+ AC_MSG_RESULT([no])
+ HIGHLIGHT=no
+ fi
+ ;;
+ esac
+
+ if test "$HIGHLIGHT" = "no" && test "$with_highlight" != "no"; then
+ AC_MSG_ERROR([Could not find requested syntax highlighter])
+ fi
+fi
+AC_SUBST([HIGHLIGHT_OPTIONS])
+
+dnl
+dnl Set PACKAGE_DATA_DIR so we can find the script containing common routines.
+dnl
+dnl From Autoconf Macro Archive:
+m4_define([AC_DEFINE_DIR], [
+ prefix_NONE=
+ exec_prefix_NONE=
+ test "x$prefix" = xNONE && prefix_NONE=yes && prefix=$ac_default_prefix
+ test "x$exec_prefix" = xNONE && exec_prefix_NONE=yes && exec_prefix=$prefix
+ eval ac_define_dir="\"[$]$2\""
+ eval ac_define_dir="\"$ac_define_dir\""
+ AC_SUBST($1, "$ac_define_dir")
+ test "$prefix_NONE" && prefix=NONE
+ test "$exec_prefix_NONE" && exec_prefix=NONE
+])
+PACKAGE_DATA_DIR="${datadir}/${PACKAGE}/data"
+AC_DEFINE_DIR([PACKAGE_DATA_DIR], [PACKAGE_DATA_DIR])
+
+dnl Only use -Wall if we have gcc
+if test "x$GCC" = "xyes"; then
+ if test -z "`echo "$CFLAGS" | grep "\-Wall" 2> /dev/null`" ; then
+ CFLAGS="$CFLAGS -Wall"
+ fi
+fi
+
+dnl if glib is available we can enable the tests
+PKG_CHECK_MODULES(TEST_DEPS, [glib-2.0 >= 2.6.0 gobject-2.0 >= 2.6.0],
+ [ glib_prefix="`$PKG_CONFIG --variable=prefix glib-2.0`"
+ gtk_doc_use_libtool="yes"
+ build_tests="yes"
+ ],
+ [ gtk_doc_use_libtool="no"
+ build_tests="no"
+ ]
+)
+AM_CONDITIONAL(GTK_DOC_USE_LIBTOOL, test -n "$LIBTOOL" -a x$gtk_doc_use_libtool = xyes )
+dnl this enable the rule in test/Makefile.am
+AM_CONDITIONAL(BUILD_TESTS, test x$build_tests = xyes)
+AC_SUBST(glib_prefix)
+
+dnl enable runtime debugging code
+AC_MSG_CHECKING(whether to enable runtime debugging code)
+AC_ARG_ENABLE([debug],
+ AS_HELP_STRING([--enable-debug],
+ [enable runtime debugging code (default=no)]),,
+ [enable_debug="no"])
+AC_MSG_RESULT($enable_debug)
+
+if test "x$enable_debug" != "xno"; then
+ TRACE="LogTrace"
+else
+ TRACE="#"
+fi
+AC_SUBST(TRACE)
+
+AC_CONFIG_FILES([Makefile
+gtk-doc.pc
+gtk-doc.dsl
+gtk-doc.spec
+gtk-doc.cat
+gtkdoc-common.pl
+help/Makefile
+help/manual/Makefile
+tests/Makefile
+tests/gobject/Makefile
+tests/gobject/src/Makefile
+tests/gobject/docs/Makefile
+tests/gobject/docs-tmpl/Makefile
+tests/bugs/Makefile
+tests/bugs/src/Makefile
+tests/bugs/docs/Makefile
+tests/annotations/Makefile
+tests/annotations/src/Makefile
+tests/annotations/docs/Makefile
+tests/fail/Makefile
+tests/fail/src/Makefile
+tests/fail/docs/Makefile
+tests/empty/Makefile
+tests/empty/src/Makefile
+tests/empty/docs/Makefile
+])
+
+dnl run chmod on these after parsing them.
+AC_CONFIG_FILES([gtkdoc-check], [chmod +x gtkdoc-check])
+AC_CONFIG_FILES([gtkdoc-depscan], [chmod +x gtkdoc-depscan])
+AC_CONFIG_FILES([gtkdoc-fixxref], [chmod +x gtkdoc-fixxref])
+dnl that would be nice, but would fail if perl is in a non-std path
+dnl AC_CONFIG_FILES([gtkdoc-mkdb], [chmod +x gtkdoc-mkdb && perl -cwT gtkdoc-mkdb])
+AC_CONFIG_FILES([gtkdoc-mkdb], [chmod +x gtkdoc-mkdb])
+AC_CONFIG_FILES([gtkdoc-mkhtml], [chmod +x gtkdoc-mkhtml])
+AC_CONFIG_FILES([gtkdoc-mkman], [chmod +x gtkdoc-mkman])
+AC_CONFIG_FILES([gtkdoc-mkpdf], [chmod +x gtkdoc-mkpdf])
+AC_CONFIG_FILES([gtkdoc-mktmpl], [chmod +x gtkdoc-mktmpl])
+AC_CONFIG_FILES([gtkdoc-rebase], [chmod +x gtkdoc-rebase])
+AC_CONFIG_FILES([gtkdoc-scan], [chmod +x gtkdoc-scan])
+AC_CONFIG_FILES([gtkdoc-scangobj], [chmod +x gtkdoc-scangobj])
+AC_CONFIG_FILES([gtkdoc-scanobj], [chmod +x gtkdoc-scanobj])
+AC_CONFIG_FILES([gtkdocize], [chmod +x gtkdocize])
+AC_CONFIG_FILES([tests/tools.sh], [chmod +x tests/tools.sh])
+AC_OUTPUT
+
+AC_MSG_NOTICE([
+gtk-doc was configured with the following options:
+==================================================])
+
+test "$PYTHON" != : \
+ && AC_MSG_NOTICE([** Python based tools enabled, using $PYTHON]) \
+ || AC_MSG_NOTICE([ Python based tools disabled])
+test -n "$JADE" \
+ && AC_MSG_NOTICE([** SGML support enabled, using $JADE]) \
+ || AC_MSG_NOTICE([ SGML support disabled, no jade processor available])
+test -n "$DBLATEX$FOP" \
+ && AC_MSG_NOTICE([** XML PDF support enabled, using $DBLATEX$FOP]) \
+ || AC_MSG_NOTICE([ XML PDF support disabled, no fop available])
+test "x$gdu_cv_have_gdu" = "xyes" \
+ && AC_MSG_NOTICE([** Gnome-doc-utils support enabled]) \
+ || AC_MSG_NOTICE([ Gnome-doc-utils support disabled])
+test "x$enable_scrollkeeper" = "xyes" \
+ && AC_MSG_NOTICE([** Scrollkeeper support enabled]) \
+ || AC_MSG_NOTICE([ Scrollkeeper support disabled])
+test -n "$HIGHLIGHT" \
+ && AC_MSG_NOTICE([** Syntax highlighting of examples enabled, using $HIGHLIGHT]) \
+ || AC_MSG_NOTICE([ Syntax highlighting of examples disabled])
+test "x$build_tests" != "xno" \
+ && AC_MSG_NOTICE([** Building regression tests]) \
+ || AC_MSG_NOTICE([ Skipping regression tests])
+test "x$enable_debug" != "xno" \
+ && AC_MSG_NOTICE([** Debug tracing enabled]) \
+ || AC_MSG_NOTICE([ Debug tracing disabled])
+
--- /dev/null
+
+FILES
+=====
+
+docbook-to-man
+ my customized version of the docbook-to-man script. Note that it has
+ paths in it that you may need to change.
+ I also used the PROLOG stuff to specify the DocBook DTD when passing
+ the man pages to instant.
+
+docbook-to-man.ts
+ my customized version of the instant 'translation spec'.
+ I added support for the central title at the top of the pages, and the
+ revision date at the end. I also converted section 1 headings to all caps.
\ No newline at end of file
--- /dev/null
+#!/bin/sh
+#############################################################################
+#
+# docbook-to-man.sh
+#
+#############################################################################
+#
+# Copyright (c) 1996 X Consortium
+# Copyright (c) 1996 Dalrymple Consulting
+#
+# 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 OR DALRYMPLE CONSULTING BE LIABLE FOR ANY CLAIM, DAMAGES OR
+# OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+# ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+# OTHER DEALINGS IN THE SOFTWARE.
+#
+# Except as contained in this notice, the names of the X Consortium and
+# Dalrymple Consulting shall not be used in advertising or otherwise to
+# promote the sale, use or other dealings in this Software without prior
+# written authorization.
+#
+#############################################################################
+#
+# Written 5/29/96 by Fred Dalrymple
+#
+#############################################################################
+
+# ***** change the following paths if your installation of nsgmls and / or
+# ***** DocBook isn't into the default places.
+
+ROOT=/usr
+SGMLS=$ROOT/lib/sgml
+DOCBOOK=$SGMLS/davenport
+
+
+# ***** modify the following line (to "=false") if you're not using the
+# ***** Elan Documentor's Workbench
+
+doElanPSInclude=false
+
+
+
+# Everything below this line should be pretty standard and not require
+# modification.
+
+#ulimit -c unlimited
+
+PARSER=nsgmls
+INSTANT=instant
+INSTANT_OPT=-d
+
+#CATALOG=$DOCBOOK/docbook.cat
+CATALOG=/etc/sgml.catalog
+DECL=$DOCBOOK/docbook.dcl
+
+error=false
+
+if [ $# -eq 1 ]
+then INSTANCE=$1
+else error=true
+fi
+
+if `$error`
+then echo "usage: docbook-to-man docbook-instance"
+ exit 1
+fi
+
+if `$doElanPSInclude`
+then cat > /tmp/dtm.$$.psinc <<\!
+...\" $Header$
+...\"
+...\" transcript compatibility for postscript use.
+...\"
+...\" synopsis: .P! <file.ps>
+...\"
+.de P!
+\\&.
+.fl \" force out current output buffer
+\\!%PB
+\\!/showpage{}def
+...\" the following is from Ken Flowers -- it prevents dictionary overflows
+\\!/tempdict 200 dict def tempdict begin
+.fl \" prolog
+.sy cat \\$1\" bring in postscript file
+...\" the following line matches the tempdict above
+\\!end % tempdict %
+\\!PE
+\\!.
+.sp \\$2u \" move below the image
+..
+!
+else cat > /tmp/dtm.$$.psinc <<\!
+...\" $Header$
+...\"
+...\" transcript compatibility for postscript use.
+...\"
+...\" synopsis: .P! <file.ps>
+...\"
+.de P!
+.fl
+\!!1 setgray
+.fl
+\\&.\"
+.fl
+\!!0 setgray
+.fl \" force out current output buffer
+\!!save /psv exch def currentpoint translate 0 0 moveto
+\!!/showpage{}def
+.fl \" prolog
+.sy sed -e 's/^/!/' \\$1\" bring in postscript file
+\!!psv restore
+.
+!
+fi
+
+cat >> /tmp/dtm.$$.psinc <<\!
+.de pF
+.ie \a\\*(f1\a\a .ds f1 \\n(.f
+.el .ie \a\\*(f2\a\a .ds f2 \\n(.f
+.el .ie \a\\*(f3\a\a .ds f3 \\n(.f
+.el .ie \a\\*(f4\a\a .ds f4 \\n(.f
+.el .tm ? font overflow
+.ft \\$1
+..
+.de fP
+.ie !\a\\*(f4\a\a \{\
+. ft \\*(f4
+. ds f4\"
+' br \}
+.el .ie !\a\\*(f3\a\a \{\
+. ft \\*(f3
+. ds f3\"
+' br \}
+.el .ie !\a\\*(f2\a\a \{\
+. ft \\*(f2
+. ds f2\"
+' br \}
+.el .ie !\a\\*(f1\a\a \{\
+. ft \\*(f1
+. ds f1\"
+' br \}
+.el .tm ? font underflow
+..
+.ds f1\"
+.ds f2\"
+.ds f3\"
+.ds f4\"
+!
+
+
+cat > /tmp/dtm.$$.prolog <<!
+<!DOCTYPE RefEntry PUBLIC "-//Davenport//DTD DocBook V3.0//EN" [
+<!ENTITY npzwc "">
+]>
+!
+
+(cat /tmp/dtm.$$.psinc;
+ $PARSER -gl -wno-idref -m$CATALOG $DECL /tmp/dtm.$$.prolog $INSTANCE |
+ $INSTANT $INSTANT_OPT -croff.cmap -sroff.sdata -tdocbook-to-man.ts)
+
+#(cat /tmp/dtm.$$.psinc;
+# $PARSER -gl -wno-idref -m$CATALOG $DECL $INSTANCE |
+# $INSTANT $INSTANT_OPT -croff.cmap -sroff.sdata -tdocbook-to-man.ts)
+
+rm -f /tmp/dtm.$$.psinc
+rm -f /tmp/dtm.$$.prolog
--- /dev/null
+#############################################################################
+#
+# docbook-to-man.ts
+#
+#############################################################################
+#
+# Copyright (c) 1996 X Consortium
+# Copyright (c) 1996 Dalrymple Consulting
+#
+# 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 OR DALRYMPLE CONSULTING BE LIABLE FOR ANY CLAIM, DAMAGES OR
+# OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+# ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+# OTHER DEALINGS IN THE SOFTWARE.
+#
+# Except as contained in this notice, the names of the X Consortium and
+# Dalrymple Consulting shall not be used in advertising or otherwise to
+# promote the sale, use or other dealings in this Software without prior
+# written authorization.
+#
+#############################################################################
+#
+# Written 5/29/96 by Fred Dalrymple
+#
+#############################################################################
+#
+# Variables
+#
+Var: callout 0
+Var: orderlist 0
+Var: procstep 0
+Var: procsubstep 0
+#
+#
+#
+#
+#############################################################################
+#
+# Hierarchy (and document meta stuff)
+#
+# #### ##### ##### ##### ##### ##### #### #####
+#
+GI: REFENTRY
+StartText: ^.ta 8n 16n 24n 32n 40n 48n 56n 64n 72n
+ ^.TH "${_followrel descendant REFENTRYTITLE 1000}"
+ "${_followrel descendant MANVOLNUM 1000}"
+ "${REVISION}" ""
+ "${_followrel descendant REFMISCINFO 1000}"^
+EndText: ^...\\" created by instant / docbook-to-man, ${date}^
+-
+#
+GI: DOCINFO
+Ignore: all
+-
+#
+GI: TITLE
+Context: DOCINFO
+# inside DocInfo, which we're ignoring
+-
+#
+GI: REFMETA
+Ignore: all
+-
+#
+GI: REFNAMEDIV
+StartText: ^.SH "NAME"^
+-
+#
+GI: REFDESCRIPTOR
+StartText: \\fB
+EndText: \\fR\s
+-
+#
+GI: REFNAME
+Relation: sibling- REFDESCRIPTOR
+# inhibit REFNAMEs when a REFDESCRIPTOR is present
+Ignore: all
+-
+#
+GI: REFNAME
+StartText: ${_isset refnameseen xxx 20}
+EndText: ${_set refnameseen xxx}
+-
+#
+GI: _refname
+SpecID: 20
+StartText: ,\s
+-
+#
+GI: REFPURPOSE
+StartText: \s\\-\s
+EndText: ^
+-
+#
+GI: REFCLASS
+StartText: ^.PP^
+EndText: ^
+-
+#
+GI: REFSYNOPSISDIV
+StartText: ^.SH "SYNOPSIS"^
+EndText: ^
+-
+#
+GI: REFSECT1
+StartText: ^.SH "${_followrel child TITLE 1001}"^
+EndText: ^
+-
+#
+GI: REFSECT2
+StartText: ^.SS "${_followrel child TITLE 1000}"^
+EndText: ^
+-
+#
+GI: REFSECT3
+StartText: ^.SS "${_followrel child TITLE 1000}"^
+EndText: ^
+-
+#
+GI: BRIDGEHEAD
+StartText: ^.PP^\\fB
+EndText: \\fP^.PP^
+-
+#
+GI: TITLE
+Context: REFSECT1
+Ignore: all
+-
+#
+GI: TITLE
+Context: REFSECT2
+Ignore: all
+-
+#
+GI: TITLE
+Context: REFSECT3
+Ignore: all
+-
+#
+GI: LEGALNOTICE
+# part of the DocInfo structure, which is ignored
+Ignore: all
+-
+#
+GI: TITLE
+Context: LEGALNOTICE
+# part of the DocInfo structure, which is ignored
+Ignore: all
+-
+#
+GI: REFENTRYTITLE
+Context: REFMETA
+# part of the DocInfo structure, which is ignored
+Ignore: all
+-
+#
+GI: MANVOLNUM
+Context: REFMETA
+# part of the DocInfo structure, which is ignored, though this element
+# if accessed directly by the _followrel call from the REFENTRY element.
+Ignore: all
+-
+#
+GI: REFMISCINFO
+# part of the DocInfo structure, which is ignored
+Ignore: all
+-
+#
+GI: SUBTITLE
+# part of the DocInfo structure, which is ignored
+Ignore: all
+-
+#
+GI: AUTHORGROUP
+# part of the DocInfo structure, which is ignored
+Ignore: all
+-
+#
+GI: AUTHOR
+Context: AUTHORGROUP
+# part of the DocInfo structure, which is ignored
+Ignore: all
+-
+#
+GI: EDITOR
+Context: AUTHORGROUP
+# part of the DocInfo structure, which is ignored
+Ignore: all
+-
+#
+GI: COLLAB
+Context: AUTHORGROUP
+# part of the DocInfo structure, which is ignored
+Ignore: all
+-
+#
+GI: COLLABNAME
+Context: COLLAB
+# part of the DocInfo structure, which is ignored
+Ignore: all
+-
+#
+GI: CORPAUTHOR
+Context: AUTHORGROUP
+# part of the DocInfo structure, which is ignored
+Ignore: all
+-
+#
+GI: OTHERCREDIT
+Context: AUTHORGROUP
+# part of the DocInfo structure, which is ignored
+Ignore: all
+-
+#
+#
+#############################################################################
+#
+# (before we get into the branch stuff, we turn off paragraphs in some
+# contexts where they would break the flow. Generally, this happens
+# within indented areas, such as within lists.
+#
+# #### ##### ##### ##### ##### ##### #### #####
+#
+GI: PARA
+Context: LISTITEM
+NthChild: 1
+# nothing in this context
+-
+#
+GI: PARA
+Context: GLOSSDEF
+NthChild: 1
+# nothing in this context
+-
+#
+GI: PARA
+Context: STEP
+NthChild: 1
+# nothing in this context
+-
+#
+GI: PARA
+Context: CALLOUT
+NthChild: 1
+# nothing in this context
+-
+#
+GI: PARA
+Context: MSGTEXT
+NthChild: 1
+# nothing in this context
+-
+#
+GI: PARA
+Relation: parent ENTRY
+NthChild: 1
+# first one does nothing in this context
+-
+#
+GI: PARA
+Relation: parent ENTRY
+StartText: ^.br^
+-
+#
+#
+#
+#############################################################################
+#
+# Regular "branch" stuff
+#
+# #### ##### ##### ##### ##### ##### #### #####
+#
+GI: FORMALPARA
+# it's all done in TITLE (FORMALPARA) and PARA
+-
+#
+GI: TITLE
+Context: FORMALPARA
+StartText: ^.PP^\\fB
+EndText: \\fR^
+-
+#
+GI: PARA
+Relation: ancestor LISTITEM
+StartText: ^.IP "" 10^
+-
+#
+GI: PARA
+Relation: ancestor STEP
+StartText: ^.IP "" 10^
+-
+#
+GI: PARA
+StartText: ^.PP^
+-
+#
+GI: SIMPARA
+StartText: ^.PP^
+-
+#
+GI: PROGRAMLISTING
+StartText: ^.PP^.nf^\\f(CW
+EndText: \\fR^.fi^.PP^
+-
+#
+GI: LITERALLAYOUT
+StartText: ^.PP^.nf^
+EndText: ^.fi^
+-
+#
+GI: BLOCKQUOTE
+StartText: ^.PP^.RS^
+EndText: ^.RE^
+-
+#
+GI: TITLE
+Context: BLOCKQUOTE
+StartText: ^\\fB
+EndText: \\fR^.PP^
+-
+#
+GI: EPIGRAPH
+StartText: ^.PP^.RS^
+EndText: ^.RE^
+-
+#
+GI: ATTRIBUTION
+StartText: ^\\fI
+EndText: \\fR^.PP^
+-
+#
+GI: ABSTRACT
+Relation: child TITLE
+-
+#
+GI: ABSTRACT
+StartText: ^.SS "Abstract"^
+-
+#
+GI: TITLE
+Context: ABSTRACT
+StartText: ^.SS "
+EndText: "^
+Substitute: " ""
+-
+#
+GI: REVHISTORY
+StartText: ^.SS "Revision History"^
+EndText: ^
+-
+#
+GI: REVISION
+StartText: ^.PP^\\fBRevision:\\fR\s
+EndText: ^
+-
+#
+GI: REVNUMBER
+StartText: #\s
+EndText: ;\s
+-
+#
+GI: DATE
+EndText: ;\s
+-
+#
+GI: AUTHORINITIALS
+Context: REVISION
+StartText: \s
+-
+#
+GI: REVREMARK
+StartText: ;\s\s
+EndText: ^
+-
+#
+GI: PROGRAMLISTINGCO
+# nothing to do specifically in ProgramListingCO -- it falls to
+# the content of ProgramListing and any callout list
+-
+#
+GI: SCREEN
+StartText: ^.PP^.nf^
+EndText: ^.fi^
+-
+#
+GI: SCREENCO
+# nothing to do specifically in ScreenCO -- it falls to
+# the content of Screen and any callout list
+-
+#
+GI: SCREENSHOT
+# nothing specific to do here -- defer to any ScreenInfo or the
+# included graphic
+-
+#
+GI: SCREENINFO
+StartText: ^.PP^\\fI
+EndText: \\fR^.PP^
+-
+#
+GI: GRAPHICCO
+# nothing to do specifically in GraphicCO -- it falls to
+# the content of Graphic and any callout list
+-
+#
+GI: INFORMALEXAMPLE
+# nothing special to do here -- it falls to the content.
+-
+#
+GI: EXAMPLE
+# nothing special to do here -- it falls to the content.
+-
+#
+GI: TITLE
+Context: EXAMPLE
+StartText: ^.PP^\\fB
+EndText: \\fR^
+-
+#
+GI: FIGURE
+# nothing special to do here -- it falls to the content.
+-
+#
+GI: TITLE
+Context: FIGURE
+StartText: ^.PP^\\fB
+EndText: \\fR^
+-
+#
+GI: SIDEBAR
+Relation: child TITLE
+StartText: ^.PP^.RS^
+EndText: ^.RE^
+-
+#
+GI: SIDEBAR
+StartText: ^.PP^.RS^\\fB[ Sidebar ]\\fR^
+EndText: ^.RE^
+-
+#
+GI: TITLE
+Context: SIDEBAR
+StartText: ^\\fB[ Sidebar:\s
+EndText: \s]\\fR^
+-
+#
+GI: HIGHLIGHTS
+StartText: ^.SS "Highlights"^
+-
+#
+GI: AUTHORBLURB
+# nothing to do specially -- an included title may occur
+-
+#
+GI: TITLE
+Context: AUTHORBLURB
+StartText: ^.PP^\\fB
+EndText: \\fR^
+-
+#
+#
+#############################################################################
+#
+# Call-out material
+#
+# #### ##### ##### ##### ##### ##### #### #####
+#
+GI: CO
+# nothing to do for the anchor of a callout
+-
+#
+GI: AREASPEC
+Ignore: all
+# not much to do with representing the anchor of callouts in n/troff
+-
+#
+GI: AREA
+Ignore: all
+# part of AreaSpec, which is being ignored
+-
+#
+GI: AREASET
+Ignore: all
+# part of AreaSpec, which is being ignored
+-
+#
+#
+#############################################################################
+#
+# Address block
+#
+# #### ##### ##### ##### ##### ##### #### #####
+#
+GI: ADDRESS
+StartText: ^.PP^.nf^
+EndText: ^.fi^
+-
+#
+GI: STREET
+# just the content...
+-
+#
+GI: POB
+# just the content...
+-
+#
+GI: POSTCODE
+# just the content...
+-
+#
+GI: CITY
+EndText: ,\s
+-
+#
+GI: STATE
+# just the content
+-
+#
+GI: COUNTRY
+# just the content
+-
+#
+GI: PHONE
+StartText: ^voice:\s
+-
+#
+GI: FAX
+StartText: ^fax:\s
+-
+#
+GI: OTHERADDR
+# just the content..
+-
+#
+GI: EMAIL
+Context: ADDRESS
+# just the content..
+-
+#
+#
+#############################################################################
+#
+# Lists
+#
+# #### ##### ##### ##### ##### ##### #### #####
+#
+GI: GLOSSLIST
+Relation: ancestor ITEMIZEDLIST
+StartText: ^.RS^
+EndText: ^.RE^
+-
+#
+GI: GLOSSLIST
+Relation: ancestor GLOSSLIST
+StartText: ^.RS^
+EndText: ^.RE^
+-
+#
+GI: GLOSSLIST
+Relation: ancestor ORDEREDLIST
+StartText: ^.RS^
+EndText: ^.RE^
+-
+#
+GI: GLOSSLIST
+Relation: ancestor SIMPLELIST
+StartText: ^.RS^
+EndText: ^.RE^
+-
+#
+GI: GLOSSLIST
+Relation: ancestor VARIABLELIST
+StartText: ^.RS^
+EndText: ^.RE^
+-
+#
+GI: GLOSSLIST
+Relation: ancestor SEGMENTEDLIST
+StartText: ^.RS^
+EndText: ^.RE^
+-
+#
+GI: GLOSSLIST
+# Nothing to do here.. see glossentry, etc
+-
+#
+GI: GLOSSENTRY
+# nothing to do..
+-
+#
+GI: GLOSSTERM
+Context: GLOSSENTRY
+StartText: ^.IP "
+EndText: " 10^
+Substitute: " ""
+-
+#
+GI: GLOSSTERM
+StartText: \\fB
+EndText: \\fP
+-
+#
+GI: ACRONYM
+Context: GLOSSENTRY
+StartText: (\\fIacronym:\s\\fR
+EndText: )\s\s
+-
+#
+GI: ABBREV
+Context: GLOSSENTRY
+StartText: (\\fIabbreviation:\s\\fR
+EndText: )\s\s
+-
+#
+GI: GLOSSSEE
+StartText: ^\\fISee \\fR
+-
+#
+GI: GLOSSDEF
+# nothing special to do -- just pass the content.
+-
+#
+GI: GLOSSSEEALSO
+StartText: ^^\\fISee Also \\fR
+-
+#
+GI: ITEMIZEDLIST
+Relation: ancestor ITEMIZEDLIST
+StartText: ^.RS^
+EndText: ^.RE^
+-
+#
+GI: ITEMIZEDLIST
+Relation: ancestor GLOSSLIST
+StartText: ^.RS^
+EndText: ^.RE^
+-
+#
+GI: ITEMIZEDLIST
+Relation: ancestor ORDEREDLIST
+StartText: ^.RS^
+EndText: ^.RE^
+-
+#
+GI: ITEMIZEDLIST
+Relation: ancestor SIMPLELIST
+StartText: ^.RS^
+EndText: ^.RE^
+-
+#
+GI: ITEMIZEDLIST
+Relation: ancestor VARIABLELIST
+StartText: ^.RS^
+EndText: ^.RE^
+-
+#
+GI: ITEMIZEDLIST
+Relation: ancestor SEGMENTEDLIST
+StartText: ^.RS^
+EndText: ^.RE^
+-
+#
+GI: ITEMIZEDLIST
+# nothing to do..
+-
+#
+GI: LISTITEM
+Context: ITEMIZEDLIST
+StartText: ^.IP "\ \ \ \\(bu" 6^
+-
+#
+GI: ORDEREDLIST
+Relation: ancestor ITEMIZEDLIST
+StartText: ^.RS^
+EndText: ^.RE^
+-
+#
+GI: ORDEREDLIST
+Relation: ancestor GLOSSLIST
+StartText: ^.RS^
+EndText: ^.RE^
+-
+#
+GI: ORDEREDLIST
+Relation: ancestor ORDEREDLIST
+StartText: ^.RS^
+EndText: ^.RE^
+-
+#
+GI: ORDEREDLIST
+Relation: ancestor SIMPLELIST
+StartText: ^.RS^
+EndText: ^.RE^
+-
+#
+GI: ORDEREDLIST
+Relation: ancestor VARIABLELIST
+StartText: ^.RS^
+EndText: ^.RE^
+-
+#
+GI: ORDEREDLIST
+Relation: ancestor SEGMENTEDLIST
+StartText: ^.RS^
+EndText: ^.RE^
+-
+#
+GI: ORDEREDLIST
+StartText: ${_set orderlist 1}
+-
+#
+GI: LISTITEM
+Context: ORDEREDLIST
+StartText: ^.IP "\ \ \ ${orderlist}." 6^
+Increment: orderlist
+-
+#
+GI: SIMPLELIST
+Relation: ancestor ITEMIZEDLIST
+StartText: ^.RS^
+EndText: ^.RE^
+-
+#
+GI: SIMPLELIST
+Relation: ancestor GLOSSLIST
+StartText: ^.RS^
+EndText: ^.RE^
+-
+#
+GI: SIMPLELIST
+Relation: ancestor ORDEREDLIST
+StartText: ^.RS^
+EndText: ^.RE^
+-
+#
+GI: SIMPLELIST
+Relation: ancestor SIMPLELIST
+StartText: ^.RS^
+EndText: ^.RE^
+-
+#
+GI: SIMPLELIST
+Relation: ancestor VARIABLELIST
+StartText: ^.RS^
+EndText: ^.RE^
+-
+#
+GI: SIMPLELIST
+Relation: ancestor SEGMENTEDLIST
+StartText: ^.RS^
+EndText: ^.RE^
+-
+#
+GI: SIMPLELIST
+# nothing to do here..
+-
+#
+GI: MEMBER
+PAttSet: TYPE INLINE
+NthChild: 1
+-
+#
+GI: MEMBER
+PAttSet: TYPE INLINE
+StartText: ,\s
+-
+#
+GI: MEMBER
+PAttSet: TYPE HORIZ
+NthChild: 1
+StartText: ^.PP^\t
+-
+#
+GI: MEMBER
+PAttSet: TYPE HORIZ
+StartText: \t
+-
+#
+GI: MEMBER
+PAttSet: TYPE VERT
+StartText: ^.IP "" 10^
+EndText: ^
+-
+#
+GI: VARIABLELIST
+Relation: ancestor ITEMIZEDLIST
+StartText: ^.RS^
+EndText: ^.RE^
+-
+#
+GI: VARIABLELIST
+Relation: ancestor GLOSSLIST
+StartText: ^.RS^
+EndText: ^.RE^
+-
+#
+GI: VARIABLELIST
+Relation: ancestor ORDEREDLIST
+StartText: ^.RS^
+EndText: ^.RE^
+-
+#
+GI: VARIABLELIST
+Relation: ancestor SIMPLELIST
+StartText: ^.RS^
+EndText: ^.RE^
+-
+#
+GI: VARIABLELIST
+Relation: ancestor VARIABLELIST
+StartText: ^.RS^
+EndText: ^.RE^
+-
+#
+GI: VARIABLELIST
+Relation: ancestor SEGMENTEDLIST
+StartText: ^.RS^
+EndText: ^.RE^
+-
+#
+GI: VARIABLELIST
+# nothing to do now, see VarListEntry
+-
+#
+GI: VARLISTENTRY
+# nothing to do now, see Term
+-
+#
+GI: TERM
+StartText: ^.IP "
+EndText: " 10^
+Substitute: " ""
+-
+#
+GI: LISTITEM
+Context: VARLISTENTRY
+# nothing special to do..
+-
+#
+GI: SEGMENTEDLIST
+Relation: ancestor ITEMIZEDLIST
+StartText: ^.RS^${_followrel child TITLE 400}^.TS^tab(\a);^l l l l l l l l l l l l l l l l l l.^
+EndText: ^.TE^.RE^
+-
+#
+GI: SEGMENTEDLIST
+Relation: ancestor GLOSSLIST
+StartText: ^.RS^${_followrel child TITLE 400}^.TS^tab(\a);^l l l l l l l l l l l l l l l l l l.^
+EndText: ^.TE^.RE^
+-
+#
+GI: SEGMENTEDLIST
+Relation: ancestor ORDEREDLIST
+StartText: ^.RS^${_followrel child TITLE 400}^.TS^tab(\a);^l l l l l l l l l l l l l l l l l l.^
+EndText: ^.TE^.RE^
+-
+#
+GI: SEGMENTEDLIST
+Relation: ancestor SIMPLELIST
+StartText: ^.RS^${_followrel child TITLE 400}^.TS^tab(\a);^l l l l l l l l l l l l l l l l l l.^
+EndText: ^.TE^.RE^
+-
+#
+GI: SEGMENTEDLIST
+Relation: ancestor VARIABLELIST
+StartText: ^.RS^${_followrel child TITLE 400}^.TS^tab(\a);^l l l l l l l l l l l l l l l l l l.^
+EndText: ^.TE^.RE^
+-
+#
+GI: SEGMENTEDLIST
+Relation: ancestor SEGMENTEDLIST
+StartText: ^.RS^${_followrel child TITLE 400}^.TS^tab(\a);^l l l l l l l l l l l l l l l l l l.^
+EndText: ^.TE^.RE^
+-
+#
+GI: SEGMENTEDLIST
+Relation: child TITLE
+StartText: ^${_followrel child TITLE 400}^.TS^tab(\a);^l l l l l l l l l l l l l l l l l l.^
+EndText: ^.TE^
+-
+#
+GI: TITLE
+Context: SEGMENTEDLIST
+# ignored by default -- must be called by SEGMENTEDLIST gi
+Ignore: all
+-
+#
+GI: _segmentedlist_title
+SpecID: 400
+StartText: ^.sp 1^\\fB
+EndText: \\fR^
+-
+#
+GI: SEGTITLE
+StartText: \\fB
+EndText: \\fR\a
+-
+#
+GI: SEGLISTITEM
+StartText: ^
+EndText: ^
+-
+#
+GI: SEG
+EndText: \a
+-
+#
+GI: PROCEDURE
+# defer to the content...
+StartText: ${_set procstep 1}${_set procsubstep 1}
+-
+#
+GI: TITLE
+Context: PROCEDURE
+StartText: ^.PP^\\fB
+EndText: \\fR^
+-
+#
+GI: STEP
+Context: SUBSTEPS
+StartText: ^.PP^\\fISubstep ${procsubstep}.\s\s
+EndText: ^
+Increment: procsubstep 1
+-
+#
+GI: STEP
+StartText: ^.PP^\\fIStep ${procstep}.\s\s
+EndText: ^
+Increment: procstep 1
+-
+#
+GI: TITLE
+Context: STEP
+StartText: ^\\fB
+EndText: \\fR^.PP^
+-
+#
+GI: SUBSTEPS
+StartText: ^.RS^
+EndText: ^.RE^
+-
+#
+GI: CALLOUTLIST
+StartText: ${_set callout 1}
+# nothing to do specifically, defer to the content...
+-
+#
+GI: TITLE
+Context: CALLOUTLIST
+StartText: ^\\fB
+EndText: \\fR^.PP^
+-
+#
+GI: CALLOUT
+StartText: ^.PP^\\fICallout ${callout}.\s\s\\fR
+EndText: ^
+Increment: callout
+-
+#
+#
+#############################################################################
+#
+# Messages
+#
+# #### ##### ##### ##### ##### ##### #### #####
+#
+GI: MSGSET
+StartText: ^.SS "Message Set"^
+-
+#
+GI: MSGENTRY
+StartText: ^.PP^\\fBMessage Entry\\fR^.RS^
+EndText: ^.RE^
+-
+#
+GI: MSG
+Relation: child TITLE
+StartText: ^.PP^
+EndText: ^
+-
+#
+GI: MSG
+StartText: ^.PP^\\fBMessage:\\fR^.PP^
+EndText: ^
+-
+#
+GI: TITLE
+Context: MSG
+StartText: ^.PP^\\fB
+EndText: \\fR^.PP^
+-
+#
+GI: MSGINFO
+# nothing specific -- just groups (MsgLevel | MsgOrig | MsgAud)*
+-
+#
+GI: MSGEXPLAN
+# nothing special -- defer to content
+-
+#
+GI: TITLE
+Context: MSGEXPLAN
+StartText: ^.PP^\\fB
+EndText: \\fR^
+-
+#
+GI: MSGMAIN
+# defer to content
+-
+#
+GI: TITLE
+Context: MSGMAIN
+StartText: ^\\fB
+EndText: \\fR^
+-
+#
+GI: MSGSUB
+# defer to content
+-
+#
+GI: TITLE
+Context: MSGSUB
+StartText: ^.PP^\\fB
+EndText: \\fR^
+-
+#
+GI: MSGREL
+# defer to content
+-
+#
+GI: TITLE
+Context: MSGREL
+StartText: ^.PP^\\fB
+EndText: \\fR^
+-
+#
+GI: MSGLEVEL
+StartText: ^.PP^\\fIMessage level:\s\s\\fR
+EndText: ^
+-
+#
+GI: MSGORIG
+StartText: ^.PP^\\fIMessage origin:\s\s\\fR
+EndText: ^
+-
+#
+GI: MSGAUD
+StartText: ^.PP^\\fIMessage audience:\s\s\\fR
+EndText: ^
+-
+#
+GI: MSGTEXT
+Context: PARA
+StartText: \\fI
+EndText: \\fP
+-
+#
+GI: MSGTEXT
+StartText: \\fR^\\fIMessage text:\\fR\s\s
+EndText: ^
+-
+#
+#
+#############################################################################
+#
+# Admonitions
+#
+# #### ##### ##### ##### ##### ##### #### #####
+#
+GI: CAUTION
+Relation: child TITLE
+StartText: ^.PP^.RS
+EndText: ^.RE^
+-
+#
+GI: CAUTION
+StartText: ^.PP^.RS^\\fBCaution:\s\s
+EndText: ^.RE^
+-
+#
+GI: TITLE
+Context: CAUTION
+StartText: ^\\fBCaution:\s\s
+EndText: \\fR^.PP^
+-
+#
+GI: IMPORTANT
+Relation: child TITLE
+StartText: ^.PP^.RS^
+EndText: ^.RE^
+-
+#
+GI: IMPORTANT
+StartText: ^.PP^.RS^\\fBImportant:\s\s
+EndText: ^.RE^
+-
+#
+GI: TITLE
+Context: IMPORTANT
+StartText: ^\\fBImportant:\s\s
+EndText: \\fR^.PP^
+-
+#
+GI: NOTE
+Relation: child TITLE
+StartText: ^.PP^.RS
+EndText: ^.RE^
+-
+#
+GI: NOTE
+StartText: ^.PP^.RS^\\fBNote:\s\s
+EndText: ^.RE^
+-
+#
+GI: TITLE
+Context: NOTE
+StartText: ^\\fBNote:\s\s
+EndText: \\fR^.PP^
+-
+#
+GI: TIP
+Relation: child TITLE
+StartText: ^.PP^.RS
+EndText: ^.RE^
+-
+#
+GI: TIP
+StartText: ^.PP^.RS^\\fBTip:\s\s
+EndText: ^.RE^
+-
+#
+GI: TITLE
+Context: TIP
+StartText: ^\\fBTip:\s\s
+EndText: \\fR^.PP^
+-
+#
+GI: WARNING
+Relation: child TITLE
+StartText: ^.PP^.RS
+EndText: ^.RE^
+-
+#
+GI: WARNING
+StartText: ^.PP^.RS^\\fBWarning:\s\s
+EndText: ^.RE^
+-
+#
+GI: TITLE
+Context: WARNING
+StartText: ^\\fBWarning:\s\s
+EndText: \\fR^.PP^
+-
+#
+#
+#############################################################################
+#
+# Synopses
+#
+# #### ##### ##### ##### ##### ##### #### #####
+#
+GI: SYNOPSIS
+StartText: ^.PP^.nf^
+EndText: ^.fi^
+-
+#
+GI: CMDSYNOPSIS
+StartText: ^.PP^
+EndText: ^
+-
+#
+GI: ARG
+Context: GROUP
+NthChild: 1
+EndText: ${_attval REP REPEAT 505}\s
+-
+#
+GI: ARG
+Context: GROUP
+StartText: \s|\s
+EndText: ${_attval REP REPEAT 505}\s
+-
+#
+GI: ARG
+AttValue: CHOICE OPT
+StartText: \s[
+EndText: ${_attval REP REPEAT 505}]\s
+-
+#
+GI: ARG
+# no special attrs -- just pass content through
+EndText: ${_attval REP REPEAT 505}\s
+-
+#
+GI: _arg_group
+SpecID: 505
+StartText: \s\\&...
+Ignore: all
+-
+#
+GI: GROUP
+AttValue: CHOICE OPT
+StartText: \s[
+EndText: ]\s${_attval REP REPEAT 505}
+-
+#
+GI: GROUP
+AttValue: CHOICE REQ
+StartText: \s{
+EndText: }\s${_attval REP REPEAT 505}
+-
+#
+GI: GROUP
+AttValue: CHOICE OPTMULT
+StartText: \s[[
+EndText: ]]\s${_attval REP REPEAT 505}
+-
+#
+GI: GROUP
+AttValue: CHOICE REQMULT
+StartText: \s{{
+EndText: }}\s${_attval REP REPEAT 505}
+-
+#
+GI: GROUP
+AttValue: CHOICE PLAIN
+EndText: ${_attval REP REPEAT 505}
+-
+#
+GI: SBR
+StartText: ^.br^
+-
+#
+GI: SYNOPFRAGMENT
+# nothing special to do here -- just pass through content (Arg | Group)+
+-
+#
+GI: SYNOPFRAGMENTREF
+# WHAT TO DO HERE?? pass through the content, but what about the
+# linkend? (will call it across...)
+EndText: \s\\fI(refers to: ${_followlink LINKEND 1000})\\fR
+-
+#
+GI: FUNCSYNOPSIS
+StartText: ^.PP^.nf^
+EndText: ^.fi^
+-
+#
+GI: FUNCSYNOPSISINFO
+StartText: ^
+EndText: ^
+-
+#
+GI: FUNCPROTOTYPE
+# nothing special -- just pass through content (looks like
+# a function def
+StartText: ^.sp 1^
+-
+#
+GI: FUNCDEF
+StartText: ^\\fB
+EndText: \\fR(
+-
+#
+GI: FUNCPARAMS
+StartText: ^\t\t\t\\fB
+EndText: \\fR^
+-
+#
+GI: VOID
+StartText: \\fBvoid\\fR);
+-
+#
+GI: VARARGS
+StartText: \\fB\\&...\\fR);
+-
+#
+GI: PARAMDEF
+Relation: sibling+ PARAMDEF
+StartText: ^\\fB
+EndText: \\fR,^
+-
+#
+GI: PARAMDEF
+StartText: ^\\fB
+EndText: \\fR);^
+-
+#
+#
+#############################################################################
+#
+# Links
+#
+# #### ##### ##### ##### ##### ##### #### #####
+#
+GI: LINK
+StartText: \\fI
+EndText: \\fR
+-
+#
+GI: OLINK
+StartText: \\fI
+EndText: \s(link to external document ${TargetDocEnt})\s\\fR
+-
+#
+GI: ULINK
+StartText: \\fI
+EndText: \s(link to URL ${URL})\s\\fR
+-
+#
+GI: FOOTNOTEREF
+# just let the footnote ref mark come through
+-
+#
+GI: FOOTNOTE
+# just let footnote body come through (-man doesn't support footnotes)
+-
+#
+GI: XREF
+AttValue: ENDTERM
+StartText: \\fI(cross-reference to ``${_followlink ENDTERM 1000}'')\\fR\s
+-
+#
+GI: XREF
+StartText: \\fI(cross-reference to ``${_followlink LINKEND 600})''\\fR\s
+-
+#
+GI: _xref
+SpecID: 600
+StartText: ${XREFLABEL}
+Ignore: all
+-
+#
+GI: ANCHOR
+# nothing to do -- this just marks a place..
+-
+#
+#
+#############################################################################
+#
+# Graphics and Equations
+#
+# #### ##### ##### ##### ##### ##### #### #####
+#
+GI: GRAPHIC
+AttValue: ENTITYREF
+StartText: ^.PP^.if t .P! "${_filename}"^
+-
+#
+GI: INLINEGRAPHIC
+StartText: ^.if t .P! "${_filename}"^
+-
+#
+GI: INFORMALEQUATION
+# nothing special to do -- defer to graphic content..
+-
+#
+GI: EQUATION
+# nothing special to do -- defer to graphic content..
+-
+#
+GI: TITLE
+Context: EQUATION
+StartText: ^.PP^\\fB
+EndText: \\fR^
+-
+#
+GI: INLINEEQUATION
+# nothing special to do -- defer to graphic content..
+-
+#
+#
+#############################################################################
+#
+# Tables
+#
+# #### ##### ##### ##### ##### ##### #### #####
+#
+#
+GI: INFORMALTABLE
+StartText: ^${_calstable tbl tablestart}^
+EndText: ^${_calstable tbl tableend}^
+-
+#
+GI: TABLE
+StartText: ^.PP^\\fB${_followrel child TITLE 1000}\\fR
+ ^${_calstable tbl tablestart}^
+EndText: ^${_calstable tbl tableend}^
+-
+#
+GI: TITLE
+Context: TABLE
+# handled in TABLE element
+Ignore: all
+-
+#
+GI: TGROUP
+StartText: ^${_calstable tbl tablegroup}^${_followrel child THEAD 700}${_followrel child TBODY 700}${_followrel child TFOOT 701}
+EndText: ${_calstable tbl tablegroupend}
+-
+#
+GI: COLSPEC
+Ignore: all
+-
+#
+GI: SPANSPEC
+Ignore: all
+-
+#
+GI: THEAD TBODY TFOOT
+# they're called explicitly from TGROUP, but ignored here
+Ignore: all
+-
+#
+GI: _thead_tbody
+SpecID: 700
+# nothing special to do -- just pass through content
+-
+#
+GI: _tfoot
+SpecID: 701
+StartText: ^${_calstable tbl tablefoot}^
+-
+#
+GI: ROW
+StartText: ^${_calstable tbl rowstart}
+EndText: ${_calstable tbl rowend}
+-
+#
+GI: ENTRY
+StartText: ${_calstable tbl entrystart}
+EndText: ${_calstable tbl entryend}
+-
+#
+GI: ENTRYTBL
+StartText:
+EndText:
+Message: ^IMPLEMENT <${_gi} ${_allatts}>^
+-
+#
+#
+#############################################################################
+#
+# Index terms
+#
+# #### ##### ##### ##### ##### ##### #### #####
+#
+GI: INDEXTERM
+StartText: ^.iX\s
+EndText: ^
+-
+#
+GI: PRIMARY
+StartText: "
+EndText: "
+-
+#
+GI: SECONDARY
+StartText: \s"
+EndText: "
+-
+#
+GI: TERTIARY
+StartText: \s"
+EndText: "
+-
+#
+GI: SEE
+StartText: \s"See:\s
+EndText: "
+-
+#
+GI: SEEALSO
+StartText: \s"SeeAlso:\s
+EndText: "
+-
+#
+#
+#############################################################################
+#
+# Author / OtherCredit material
+#
+# #### ##### ##### ##### ##### ##### #### #####
+#
+GI: OTHERCREDIT
+# nothing specific -- defer to content
+-
+#
+GI: HONORIFIC
+# nothing specific -- defer to content
+EndText: \s
+-
+#
+GI: FIRSTNAME
+# nothing specific -- defer to content
+EndText: \s
+-
+#
+GI: SURNAME
+# nothing specific -- defer to content
+EndText: \s
+-
+#
+GI: LINEAGE
+# nothing specific -- defer to content
+EndText: \s
+-
+#
+GI: OTHERNAME
+# nothing specific -- defer to content
+StartText: (
+EndText: )\s
+-
+#
+GI: AFFILIATION
+# nothing specific -- defer to content
+EndText: \s
+-
+#
+GI: SHORTAFFIL
+# nothing specific -- defer to content
+EndText: \s
+-
+#
+GI: JOBTITLE
+# nothing specific -- defer to content
+EndText: \s
+-
+#
+GI: ORGNAME
+# nothing specific -- defer to content
+EndText: \s
+-
+#
+GI: ORGDIV
+# nothing specific -- defer to content
+EndText: \s
+-
+#
+GI: CONTRIB
+# nothing specific -- defer to content
+EndText: \s
+-
+#
+#
+#############################################################################
+#
+# "Leaf" material
+#
+# #### ##### ##### ##### ##### ##### #### #####
+#
+GI: ABBREV
+# no special presentation
+-
+#
+GI: ACCEL
+# no special presentation
+-
+#
+GI: ACRONYM
+# no special presentation
+-
+#
+GI: AUTHORINITIALS
+# no special presentation
+-
+#
+GI: CITATION
+StartText: \\fI
+EndText: \\fP
+-
+#
+GI: CITETITLE
+AttValue: PUBWORK
+StartText: \\fI
+EndText: \\fP (${PUBWORK})\s
+-
+#
+GI: CITETITLE
+StartText: \\fI
+EndText: \\fP
+-
+#
+GI: CITEREFENTRY
+# defer to content..
+-
+#
+GI: REFENTRYTITLE
+StartText: \\fB
+EndText: \\fP
+-
+#
+GI: MANVOLNUM
+StartText: \\fB(
+EndText: )\\fP
+-
+#
+GI: COMMENT
+# docbook says to inhibit this from finished products...
+Ignore: all
+-
+#
+GI: EMAIL
+# no special presentation
+-
+#
+GI: EMPHASIS
+StartText: \\fI
+EndText: \\fP
+-
+#
+GI: FIRSTTERM
+StartText: \\fI
+EndText: \\fR
+-
+#
+GI: FOREIGNPHRASE
+# no special presentation
+-
+#
+GI: PHRASE
+# no special presentation
+-
+#
+GI: QUOTE
+StartText: ``\\fI
+EndText: \\fP''
+-
+#
+GI: TRADEMARK
+EndText: \\u\\s-2TM\\s+2\\d
+-
+#
+GI: WORDASWORD
+# no special presentation
+-
+#
+GI: ACTION
+# no special presentation
+-
+#
+GI: APPLICATION
+StartText: \\fB
+EndText: \\fP
+-
+#
+GI: CLASSNAME
+StartText: \\fB
+EndText: \\fP
+-
+#
+GI: COMMAND
+StartText: \\fB
+EndText: \\fP
+-
+#
+GI: COMPUTEROUTPUT
+StartText: \\f(CW
+EndText: \\fP
+-
+#
+GI: DATABASE
+# no special presentation
+-
+#
+GI: ERRORNAME
+StartText: \\fB
+EndText: \\fP
+-
+#
+GI: ERRORTYPE
+# no special presentation
+-
+#
+GI: FILENAME
+StartText: \\fB
+EndText: \\fP
+-
+#
+GI: FUNCTION
+StartText: \\fB
+EndText: \\fP
+-
+#
+GI: GUIBUTTON
+StartText: \\fB
+EndText: \\fP
+-
+#
+GI: GUIICON
+StartText: \\fB
+EndText: \\fP
+-
+#
+GI: GUILABEL
+# no special presentation
+-
+#
+GI: GUIMENU
+# no special presentation
+-
+#
+GI: GUIMENUITEM
+# no special presentation
+-
+#
+GI: GUISUBMENU
+# no special presentation
+-
+#
+GI: HARDWARE
+# no special presentation
+-
+#
+GI: INTERFACE
+# no special presentation
+-
+#
+GI: INTERFACEDEFINITION
+StartText: \\fB
+EndText: \\fP
+-
+#
+GI: KEYCAP
+StartText: \\fB<
+EndText: >\\fP
+-
+#
+GI: KEYCODE
+# no special presentation
+-
+#
+GI: KEYCOMBO
+# no special presentation -- defer to the content
+-
+#
+GI: KEYSYM
+StartText: \\fB<
+EndText: >\\fP
+-
+#
+GI: LINEANNOTATION
+StartText: \\fI
+EndText: \\fP
+-
+#
+GI: LITERAL
+StartText: \\fB
+EndText: \\fP
+-
+#
+GI: MARKUP
+StartText: \\f(CW
+EndText: \\fP
+-
+#
+GI: MEDIALABEL
+# no special presentation
+-
+#
+GI: MENUCHOICE
+# no special presentation
+-
+#
+GI: SHORTCUT
+# no special presentation
+-
+#
+GI: MOUSEBUTTON
+# no special presentation
+-
+#
+GI: OPTION
+StartText: \\fB
+EndText: \\fP
+-
+#
+GI: OPTIONAL
+StartText: [
+EndText: ]
+-
+#
+GI: PARAMETER
+StartText: \\fB
+EndText: \\fR
+-
+#
+GI: PROPERTY
+StartText: \\fB
+EndText: \\fP
+-
+#
+GI: REPLACEABLE
+StartText: \\fI
+EndText: \\fP
+-
+#
+GI: RETURNVALUE
+StartText: \\fB
+EndText: \\fR
+-
+#
+GI: SGMLTAG
+AttValue: CLASS ELEMENT
+StartText: \\fB<
+EndText: >\\fP
+-
+#
+GI: SGMLTAG
+StartText: \\fB
+EndText: \\fP
+-
+#
+GI: STRUCTFIELD
+StartText: \\fB
+EndText: \\fR
+-
+#
+GI: STRUCTNAME
+StartText: \\fB
+EndText: \\fR
+-
+#
+GI: SYMBOL
+AttValue: ROLE Variable
+StartText: \\fI
+EndText: \\fP
+-
+#
+GI: SYMBOL
+StartText: \\fI
+EndText: \\fP
+-
+#
+GI: SYSTEMITEM
+AttValue: CLASS CONSTANT
+StartText: \\fB
+EndText: \\fP
+-
+#
+GI: SYSTEMITEM
+AttValue: CLASS ENVIRONVAR
+StartText: \\fB
+EndText: \\fP
+-
+#
+GI: SYSTEMITEM
+AttValue: CLASS RESOURCE
+StartText: \\fB
+EndText: \\fP
+-
+#
+GI: SYSTEMITEM
+StartText: \\fB
+EndText: \\fP
+-
+#
+GI: TOKEN
+StartText: \\fB
+EndText: \\fP
+-
+#
+GI: TYPE
+StartText: \\fB
+EndText: \\fP
+-
+#
+GI: USERINPUT
+StartText: \\fB
+EndText: \\fP
+-
+#
+GI: AUTHOR
+# no special presentation - defer to content
+-
+#
+GI: CORPAUTHOR
+# no special presentation
+-
+#
+GI: MODESPEC
+# nothing to render (this is meta information for Links)
+-
+#
+GI: PRODUCTNAME
+StartText: \\fB
+EndText: \\fP
+-
+#
+GI: PRODUCTNUMBER
+# no special presentation
+-
+#
+GI: SUBSCRIPT
+StartText: \\d
+EndText: \\u
+-
+#
+GI: SUPERSCRIPT
+StartText: \\u
+EndText: \\d
+-
+#
+#
+#############################################################################
+#
+# stuff that gets ignored (and doesn't belong elsewhere)
+#
+# #### ##### ##### ##### ##### ##### #### #####
+#
+GI: TITLEABBREV
+# this element is ignored in favor of the real title
+Ignore: all
+-
+#
+#
+#
+#############################################################################
+#
+# handle layout-specific stuff and PIs
+#
+# #### ##### ##### ##### ##### ##### #### #####
+#
+GI: BEGINPAGE
+StartText: ^.br\s
+EndText: ^
+-
+#
+GI: _x-break
+StartText: ^.br\s
+EndText: ^
+-
+#
+GI: _sml-break
+StartText: ^.br\s
+EndText: ^
+-
+#
+GI: _sml-need
+StartText: ^.ne\s
+EndText: ^
+-
+#
+GI: _sml-size
+StartText: ^.ps\s
+EndText: ^
+-
+#
+GI: _sml-indent
+StartText: ^.in\s
+EndText: ^
+-
+#
+GI: _sml-space
+StartText: ^.sp\s
+EndText: ^
+-
+#
+GI: _sml-tabset
+StartText: ^.ta\s
+EndText: ^
+-
+#
+#
+#############################################################################
+#
+# General purpose transpecs
+#
+# #### ##### ##### ##### ##### ##### #### #####
+#
+GI: _passthrough
+SpecID: 1000
+-
+#
+GI: _passthrough2
+SpecID: 1001
+StartText: ${+caps}
+Ignore: all
+-
+#
+GI: _doTitle
+SpecID: 1010
+StartText: ^.PP^\\fB
+EndText: \\fR^.PP^
+-
+#
+#
+#############################################################################
+#
+# Catch-all for unknown PIs -- ignore them...
+#
+# #### ##### ##### ##### ##### ##### #### #####
+#
+GI: _*
+Ignore: data
+-
+#
+#
+#############################################################################
+#
+# Catch-all for unknown elements -- just output their content..
+#
+# #### ##### ##### ##### ##### ##### #### #####
+#
+#GI: *
+#-
+#
--- /dev/null
+#! /bin/sh
+# depcomp - compile a program generating dependencies as side-effects
+
+scriptversion=2009-04-28.21; # UTC
+
+# Copyright (C) 1999, 2000, 2003, 2004, 2005, 2006, 2007, 2009 Free
+# Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, 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.
+
+# Originally written by Alexandre Oliva <oliva@dcc.unicamp.br>.
+
+case $1 in
+ '')
+ echo "$0: No command. Try \`$0 --help' for more information." 1>&2
+ exit 1;
+ ;;
+ -h | --h*)
+ cat <<\EOF
+Usage: depcomp [--help] [--version] PROGRAM [ARGS]
+
+Run PROGRAMS ARGS to compile a file, generating dependencies
+as side-effects.
+
+Environment variables:
+ depmode Dependency tracking mode.
+ source Source file read by `PROGRAMS ARGS'.
+ object Object file output by `PROGRAMS ARGS'.
+ DEPDIR directory where to store dependencies.
+ depfile Dependency file to output.
+ tmpdepfile Temporary file to use when outputing dependencies.
+ libtool Whether libtool is used (yes/no).
+
+Report bugs to <bug-automake@gnu.org>.
+EOF
+ exit $?
+ ;;
+ -v | --v*)
+ echo "depcomp $scriptversion"
+ exit $?
+ ;;
+esac
+
+if test -z "$depmode" || test -z "$source" || test -z "$object"; then
+ echo "depcomp: Variables source, object and depmode must be set" 1>&2
+ exit 1
+fi
+
+# Dependencies for sub/bar.o or sub/bar.obj go into sub/.deps/bar.Po.
+depfile=${depfile-`echo "$object" |
+ sed 's|[^\\/]*$|'${DEPDIR-.deps}'/&|;s|\.\([^.]*\)$|.P\1|;s|Pobj$|Po|'`}
+tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`}
+
+rm -f "$tmpdepfile"
+
+# Some modes work just like other modes, but use different flags. We
+# parameterize here, but still list the modes in the big case below,
+# to make depend.m4 easier to write. Note that we *cannot* use a case
+# here, because this file can only contain one case statement.
+if test "$depmode" = hp; then
+ # HP compiler uses -M and no extra arg.
+ gccflag=-M
+ depmode=gcc
+fi
+
+if test "$depmode" = dashXmstdout; then
+ # This is just like dashmstdout with a different argument.
+ dashmflag=-xM
+ depmode=dashmstdout
+fi
+
+cygpath_u="cygpath -u -f -"
+if test "$depmode" = msvcmsys; then
+ # This is just like msvisualcpp but w/o cygpath translation.
+ # Just convert the backslash-escaped backslashes to single forward
+ # slashes to satisfy depend.m4
+ cygpath_u="sed s,\\\\\\\\,/,g"
+ depmode=msvisualcpp
+fi
+
+case "$depmode" in
+gcc3)
+## gcc 3 implements dependency tracking that does exactly what
+## we want. Yay! Note: for some reason libtool 1.4 doesn't like
+## it if -MD -MP comes after the -MF stuff. Hmm.
+## Unfortunately, FreeBSD c89 acceptance of flags depends upon
+## the command line argument order; so add the flags where they
+## appear in depend2.am. Note that the slowdown incurred here
+## affects only configure: in makefiles, %FASTDEP% shortcuts this.
+ for arg
+ do
+ case $arg in
+ -c) set fnord "$@" -MT "$object" -MD -MP -MF "$tmpdepfile" "$arg" ;;
+ *) set fnord "$@" "$arg" ;;
+ esac
+ shift # fnord
+ shift # $arg
+ done
+ "$@"
+ stat=$?
+ if test $stat -eq 0; then :
+ else
+ rm -f "$tmpdepfile"
+ exit $stat
+ fi
+ mv "$tmpdepfile" "$depfile"
+ ;;
+
+gcc)
+## There are various ways to get dependency output from gcc. Here's
+## why we pick this rather obscure method:
+## - Don't want to use -MD because we'd like the dependencies to end
+## up in a subdir. Having to rename by hand is ugly.
+## (We might end up doing this anyway to support other compilers.)
+## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like
+## -MM, not -M (despite what the docs say).
+## - Using -M directly means running the compiler twice (even worse
+## than renaming).
+ if test -z "$gccflag"; then
+ gccflag=-MD,
+ fi
+ "$@" -Wp,"$gccflag$tmpdepfile"
+ stat=$?
+ if test $stat -eq 0; then :
+ else
+ rm -f "$tmpdepfile"
+ exit $stat
+ fi
+ rm -f "$depfile"
+ echo "$object : \\" > "$depfile"
+ alpha=ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
+## The second -e expression handles DOS-style file names with drive letters.
+ sed -e 's/^[^:]*: / /' \
+ -e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile"
+## This next piece of magic avoids the `deleted header file' problem.
+## The problem is that when a header file which appears in a .P file
+## is deleted, the dependency causes make to die (because there is
+## typically no way to rebuild the header). We avoid this by adding
+## dummy dependencies for each header file. Too bad gcc doesn't do
+## this for us directly.
+ tr ' ' '
+' < "$tmpdepfile" |
+## Some versions of gcc put a space before the `:'. On the theory
+## that the space means something, we add a space to the output as
+## well.
+## Some versions of the HPUX 10.20 sed can't process this invocation
+## correctly. Breaking it into two sed invocations is a workaround.
+ sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
+ rm -f "$tmpdepfile"
+ ;;
+
+hp)
+ # This case exists only to let depend.m4 do its work. It works by
+ # looking at the text of this script. This case will never be run,
+ # since it is checked for above.
+ exit 1
+ ;;
+
+sgi)
+ if test "$libtool" = yes; then
+ "$@" "-Wp,-MDupdate,$tmpdepfile"
+ else
+ "$@" -MDupdate "$tmpdepfile"
+ fi
+ stat=$?
+ if test $stat -eq 0; then :
+ else
+ rm -f "$tmpdepfile"
+ exit $stat
+ fi
+ rm -f "$depfile"
+
+ if test -f "$tmpdepfile"; then # yes, the sourcefile depend on other files
+ echo "$object : \\" > "$depfile"
+
+ # Clip off the initial element (the dependent). Don't try to be
+ # clever and replace this with sed code, as IRIX sed won't handle
+ # lines with more than a fixed number of characters (4096 in
+ # IRIX 6.2 sed, 8192 in IRIX 6.5). We also remove comment lines;
+ # the IRIX cc adds comments like `#:fec' to the end of the
+ # dependency line.
+ tr ' ' '
+' < "$tmpdepfile" \
+ | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' | \
+ tr '
+' ' ' >> "$depfile"
+ echo >> "$depfile"
+
+ # The second pass generates a dummy entry for each header file.
+ tr ' ' '
+' < "$tmpdepfile" \
+ | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \
+ >> "$depfile"
+ else
+ # The sourcefile does not contain any dependencies, so just
+ # store a dummy comment line, to avoid errors with the Makefile
+ # "include basename.Plo" scheme.
+ echo "#dummy" > "$depfile"
+ fi
+ rm -f "$tmpdepfile"
+ ;;
+
+aix)
+ # The C for AIX Compiler uses -M and outputs the dependencies
+ # in a .u file. In older versions, this file always lives in the
+ # current directory. Also, the AIX compiler puts `$object:' at the
+ # start of each line; $object doesn't have directory information.
+ # Version 6 uses the directory in both cases.
+ dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
+ test "x$dir" = "x$object" && dir=
+ base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
+ if test "$libtool" = yes; then
+ tmpdepfile1=$dir$base.u
+ tmpdepfile2=$base.u
+ tmpdepfile3=$dir.libs/$base.u
+ "$@" -Wc,-M
+ else
+ tmpdepfile1=$dir$base.u
+ tmpdepfile2=$dir$base.u
+ tmpdepfile3=$dir$base.u
+ "$@" -M
+ fi
+ stat=$?
+
+ if test $stat -eq 0; then :
+ else
+ rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
+ exit $stat
+ fi
+
+ for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
+ do
+ test -f "$tmpdepfile" && break
+ done
+ if test -f "$tmpdepfile"; then
+ # Each line is of the form `foo.o: dependent.h'.
+ # Do two passes, one to just change these to
+ # `$object: dependent.h' and one to simply `dependent.h:'.
+ sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile"
+ # That's a tab and a space in the [].
+ sed -e 's,^.*\.[a-z]*:[ ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile"
+ else
+ # The sourcefile does not contain any dependencies, so just
+ # store a dummy comment line, to avoid errors with the Makefile
+ # "include basename.Plo" scheme.
+ echo "#dummy" > "$depfile"
+ fi
+ rm -f "$tmpdepfile"
+ ;;
+
+icc)
+ # Intel's C compiler understands `-MD -MF file'. However on
+ # icc -MD -MF foo.d -c -o sub/foo.o sub/foo.c
+ # ICC 7.0 will fill foo.d with something like
+ # foo.o: sub/foo.c
+ # foo.o: sub/foo.h
+ # which is wrong. We want:
+ # sub/foo.o: sub/foo.c
+ # sub/foo.o: sub/foo.h
+ # sub/foo.c:
+ # sub/foo.h:
+ # ICC 7.1 will output
+ # foo.o: sub/foo.c sub/foo.h
+ # and will wrap long lines using \ :
+ # foo.o: sub/foo.c ... \
+ # sub/foo.h ... \
+ # ...
+
+ "$@" -MD -MF "$tmpdepfile"
+ stat=$?
+ if test $stat -eq 0; then :
+ else
+ rm -f "$tmpdepfile"
+ exit $stat
+ fi
+ rm -f "$depfile"
+ # Each line is of the form `foo.o: dependent.h',
+ # or `foo.o: dep1.h dep2.h \', or ` dep3.h dep4.h \'.
+ # Do two passes, one to just change these to
+ # `$object: dependent.h' and one to simply `dependent.h:'.
+ sed "s,^[^:]*:,$object :," < "$tmpdepfile" > "$depfile"
+ # Some versions of the HPUX 10.20 sed can't process this invocation
+ # correctly. Breaking it into two sed invocations is a workaround.
+ sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" |
+ sed -e 's/$/ :/' >> "$depfile"
+ rm -f "$tmpdepfile"
+ ;;
+
+hp2)
+ # The "hp" stanza above does not work with aCC (C++) and HP's ia64
+ # compilers, which have integrated preprocessors. The correct option
+ # to use with these is +Maked; it writes dependencies to a file named
+ # 'foo.d', which lands next to the object file, wherever that
+ # happens to be.
+ # Much of this is similar to the tru64 case; see comments there.
+ dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
+ test "x$dir" = "x$object" && dir=
+ base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
+ if test "$libtool" = yes; then
+ tmpdepfile1=$dir$base.d
+ tmpdepfile2=$dir.libs/$base.d
+ "$@" -Wc,+Maked
+ else
+ tmpdepfile1=$dir$base.d
+ tmpdepfile2=$dir$base.d
+ "$@" +Maked
+ fi
+ stat=$?
+ if test $stat -eq 0; then :
+ else
+ rm -f "$tmpdepfile1" "$tmpdepfile2"
+ exit $stat
+ fi
+
+ for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2"
+ do
+ test -f "$tmpdepfile" && break
+ done
+ if test -f "$tmpdepfile"; then
+ sed -e "s,^.*\.[a-z]*:,$object:," "$tmpdepfile" > "$depfile"
+ # Add `dependent.h:' lines.
+ sed -ne '2,${
+ s/^ *//
+ s/ \\*$//
+ s/$/:/
+ p
+ }' "$tmpdepfile" >> "$depfile"
+ else
+ echo "#dummy" > "$depfile"
+ fi
+ rm -f "$tmpdepfile" "$tmpdepfile2"
+ ;;
+
+tru64)
+ # The Tru64 compiler uses -MD to generate dependencies as a side
+ # effect. `cc -MD -o foo.o ...' puts the dependencies into `foo.o.d'.
+ # At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put
+ # dependencies in `foo.d' instead, so we check for that too.
+ # Subdirectories are respected.
+ dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
+ test "x$dir" = "x$object" && dir=
+ base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
+
+ if test "$libtool" = yes; then
+ # With Tru64 cc, shared objects can also be used to make a
+ # static library. This mechanism is used in libtool 1.4 series to
+ # handle both shared and static libraries in a single compilation.
+ # With libtool 1.4, dependencies were output in $dir.libs/$base.lo.d.
+ #
+ # With libtool 1.5 this exception was removed, and libtool now
+ # generates 2 separate objects for the 2 libraries. These two
+ # compilations output dependencies in $dir.libs/$base.o.d and
+ # in $dir$base.o.d. We have to check for both files, because
+ # one of the two compilations can be disabled. We should prefer
+ # $dir$base.o.d over $dir.libs/$base.o.d because the latter is
+ # automatically cleaned when .libs/ is deleted, while ignoring
+ # the former would cause a distcleancheck panic.
+ tmpdepfile1=$dir.libs/$base.lo.d # libtool 1.4
+ tmpdepfile2=$dir$base.o.d # libtool 1.5
+ tmpdepfile3=$dir.libs/$base.o.d # libtool 1.5
+ tmpdepfile4=$dir.libs/$base.d # Compaq CCC V6.2-504
+ "$@" -Wc,-MD
+ else
+ tmpdepfile1=$dir$base.o.d
+ tmpdepfile2=$dir$base.d
+ tmpdepfile3=$dir$base.d
+ tmpdepfile4=$dir$base.d
+ "$@" -MD
+ fi
+
+ stat=$?
+ if test $stat -eq 0; then :
+ else
+ rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4"
+ exit $stat
+ fi
+
+ for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4"
+ do
+ test -f "$tmpdepfile" && break
+ done
+ if test -f "$tmpdepfile"; then
+ sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile"
+ # That's a tab and a space in the [].
+ sed -e 's,^.*\.[a-z]*:[ ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile"
+ else
+ echo "#dummy" > "$depfile"
+ fi
+ rm -f "$tmpdepfile"
+ ;;
+
+#nosideeffect)
+ # This comment above is used by automake to tell side-effect
+ # dependency tracking mechanisms from slower ones.
+
+dashmstdout)
+ # Important note: in order to support this mode, a compiler *must*
+ # always write the preprocessed file to stdout, regardless of -o.
+ "$@" || exit $?
+
+ # Remove the call to Libtool.
+ if test "$libtool" = yes; then
+ while test "X$1" != 'X--mode=compile'; do
+ shift
+ done
+ shift
+ fi
+
+ # Remove `-o $object'.
+ IFS=" "
+ for arg
+ do
+ case $arg in
+ -o)
+ shift
+ ;;
+ $object)
+ shift
+ ;;
+ *)
+ set fnord "$@" "$arg"
+ shift # fnord
+ shift # $arg
+ ;;
+ esac
+ done
+
+ test -z "$dashmflag" && dashmflag=-M
+ # Require at least two characters before searching for `:'
+ # in the target name. This is to cope with DOS-style filenames:
+ # a dependency such as `c:/foo/bar' could be seen as target `c' otherwise.
+ "$@" $dashmflag |
+ sed 's:^[ ]*[^: ][^:][^:]*\:[ ]*:'"$object"'\: :' > "$tmpdepfile"
+ rm -f "$depfile"
+ cat < "$tmpdepfile" > "$depfile"
+ tr ' ' '
+' < "$tmpdepfile" | \
+## Some versions of the HPUX 10.20 sed can't process this invocation
+## correctly. Breaking it into two sed invocations is a workaround.
+ sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
+ rm -f "$tmpdepfile"
+ ;;
+
+dashXmstdout)
+ # This case only exists to satisfy depend.m4. It is never actually
+ # run, as this mode is specially recognized in the preamble.
+ exit 1
+ ;;
+
+makedepend)
+ "$@" || exit $?
+ # Remove any Libtool call
+ if test "$libtool" = yes; then
+ while test "X$1" != 'X--mode=compile'; do
+ shift
+ done
+ shift
+ fi
+ # X makedepend
+ shift
+ cleared=no eat=no
+ for arg
+ do
+ case $cleared in
+ no)
+ set ""; shift
+ cleared=yes ;;
+ esac
+ if test $eat = yes; then
+ eat=no
+ continue
+ fi
+ case "$arg" in
+ -D*|-I*)
+ set fnord "$@" "$arg"; shift ;;
+ # Strip any option that makedepend may not understand. Remove
+ # the object too, otherwise makedepend will parse it as a source file.
+ -arch)
+ eat=yes ;;
+ -*|$object)
+ ;;
+ *)
+ set fnord "$@" "$arg"; shift ;;
+ esac
+ done
+ obj_suffix=`echo "$object" | sed 's/^.*\././'`
+ touch "$tmpdepfile"
+ ${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@"
+ rm -f "$depfile"
+ cat < "$tmpdepfile" > "$depfile"
+ sed '1,2d' "$tmpdepfile" | tr ' ' '
+' | \
+## Some versions of the HPUX 10.20 sed can't process this invocation
+## correctly. Breaking it into two sed invocations is a workaround.
+ sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
+ rm -f "$tmpdepfile" "$tmpdepfile".bak
+ ;;
+
+cpp)
+ # Important note: in order to support this mode, a compiler *must*
+ # always write the preprocessed file to stdout.
+ "$@" || exit $?
+
+ # Remove the call to Libtool.
+ if test "$libtool" = yes; then
+ while test "X$1" != 'X--mode=compile'; do
+ shift
+ done
+ shift
+ fi
+
+ # Remove `-o $object'.
+ IFS=" "
+ for arg
+ do
+ case $arg in
+ -o)
+ shift
+ ;;
+ $object)
+ shift
+ ;;
+ *)
+ set fnord "$@" "$arg"
+ shift # fnord
+ shift # $arg
+ ;;
+ esac
+ done
+
+ "$@" -E |
+ sed -n -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \
+ -e '/^#line [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' |
+ sed '$ s: \\$::' > "$tmpdepfile"
+ rm -f "$depfile"
+ echo "$object : \\" > "$depfile"
+ cat < "$tmpdepfile" >> "$depfile"
+ sed < "$tmpdepfile" '/^$/d;s/^ //;s/ \\$//;s/$/ :/' >> "$depfile"
+ rm -f "$tmpdepfile"
+ ;;
+
+msvisualcpp)
+ # Important note: in order to support this mode, a compiler *must*
+ # always write the preprocessed file to stdout.
+ "$@" || exit $?
+
+ # Remove the call to Libtool.
+ if test "$libtool" = yes; then
+ while test "X$1" != 'X--mode=compile'; do
+ shift
+ done
+ shift
+ fi
+
+ IFS=" "
+ for arg
+ do
+ case "$arg" in
+ -o)
+ shift
+ ;;
+ $object)
+ shift
+ ;;
+ "-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI")
+ set fnord "$@"
+ shift
+ shift
+ ;;
+ *)
+ set fnord "$@" "$arg"
+ shift
+ shift
+ ;;
+ esac
+ done
+ "$@" -E 2>/dev/null |
+ sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::\1:p' | $cygpath_u | sort -u > "$tmpdepfile"
+ rm -f "$depfile"
+ echo "$object : \\" > "$depfile"
+ sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s:: \1 \\:p' >> "$depfile"
+ echo " " >> "$depfile"
+ sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::\1\::p' >> "$depfile"
+ rm -f "$tmpdepfile"
+ ;;
+
+msvcmsys)
+ # This case exists only to let depend.m4 do its work. It works by
+ # looking at the text of this script. This case will never be run,
+ # since it is checked for above.
+ exit 1
+ ;;
+
+none)
+ exec "$@"
+ ;;
+
+*)
+ echo "Unknown depmode $depmode" 1>&2
+ exit 1
+ ;;
+esac
+
+exit 0
+
+# Local Variables:
+# mode: shell-script
+# sh-indentation: 2
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "scriptversion="
+# time-stamp-format: "%:y-%02m-%02d.%02H"
+# time-stamp-time-zone: "UTC"
+# time-stamp-end: "; # UTC"
+# End:
--- /dev/null
+<?xml version='1.0'?> <!--*- mode: xml -*-->
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ version='1.0'
+ xmlns="http://www.devhelp.net/book"
+ xmlns:str="http://exslt.org/strings"
+ exclude-result-prefixes="str">
+
+ <xsl:template name="generate.devhelp2">
+ <xsl:call-template name="write.chunk">
+ <xsl:with-param name="filename">
+ <xsl:choose>
+ <xsl:when test="$gtkdoc.bookname">
+ <xsl:value-of select="$gtkdoc.bookname"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:text>book</xsl:text>
+ </xsl:otherwise>
+ </xsl:choose>
+ <xsl:text>.devhelp2</xsl:text>
+ </xsl:with-param>
+ <xsl:with-param name="method" select="'xml'"/>
+ <xsl:with-param name="indent" select="'yes'"/>
+ <xsl:with-param name="encoding" select="'utf-8'"/>
+ <xsl:with-param name="content">
+ <xsl:call-template name="devhelp2"/>
+ </xsl:with-param>
+ </xsl:call-template>
+ </xsl:template>
+
+ <xsl:variable name="gtkdoc.refsect2" select="//refsect2"/>
+
+ <xsl:template name="devhelp2">
+ <xsl:variable name="title">
+ <xsl:apply-templates select="." mode="generate.devhelp2.toc.title.mode"/>
+ </xsl:variable>
+ <xsl:variable name="link">
+ <xsl:call-template name="href.target"/>
+ </xsl:variable>
+ <xsl:variable name="author">
+ <xsl:if test="articleinfo|bookinfo">
+ <xsl:apply-templates mode="generate.devhelp2.authors"
+ select="articleinfo|bookinfo"/>
+ </xsl:if>
+ </xsl:variable>
+ <xsl:variable name="toc.nodes" select="part|reference|preface|chapter|
+ appendix|article|bibliography|
+ glossary|index|refentry|
+ bridgehead|sect1"/>
+
+ <book title="{$title}" link="{$link}" author="{$author}" name="{$gtkdoc.bookname}" version="2" language="c">
+ <xsl:if test="$toc.nodes">
+ <chapters>
+ <xsl:apply-templates select="$toc.nodes"
+ mode="generate.devhelp2.toc.mode"/>
+ </chapters>
+ </xsl:if>
+ <functions>
+ <xsl:apply-templates select="$gtkdoc.refsect2"
+ mode="generate.devhelp2.index.mode"/>
+ <xsl:apply-templates select="$gtkdoc.refsect2/variablelist[@role='enum']/varlistentry"
+ mode="generate.devhelp2.index.mode"/>
+ </functions>
+ </book>
+ </xsl:template>
+
+ <xsl:template match="*" mode="generate.devhelp2.toc.mode">
+ <xsl:variable name="title">
+ <xsl:apply-templates select="." mode="generate.devhelp2.toc.title.mode"/>
+ </xsl:variable>
+ <xsl:variable name="target">
+ <xsl:variable name="anchor" select="title/anchor"/>
+ <xsl:choose>
+ <xsl:when test="$anchor">
+ <xsl:call-template name="href.target">
+ <xsl:with-param name="object" select="$anchor"/>
+ </xsl:call-template>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:call-template name="href.target"/>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:variable>
+
+ <sub name="{$title}" link="{$target}">
+ <xsl:apply-templates select="section|sect1|
+ refentry|refsect|
+ bridgehead|part|chapter|glossary|index"
+ mode="generate.devhelp2.toc.mode"/>
+ </sub>
+ </xsl:template>
+
+ <xsl:template match="*" mode="generate.devhelp2.index.mode">
+ <xsl:variable name="title" select="title|term/literal"/>
+ <xsl:variable name="anchor" select="title/anchor"/>
+ <xsl:variable name="type" select="@role"/>
+ <xsl:variable name="condition" select="@condition"/>
+ <xsl:variable name="target">
+ <xsl:choose>
+ <xsl:when test="$anchor">
+ <xsl:call-template name="href.target">
+ <xsl:with-param name="object" select="$anchor"/>
+ </xsl:call-template>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:call-template name="href.target"/>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:variable>
+ <keyword type="{$type}" name="{$title}" link="{$target}">
+ <xsl:if test="$condition">
+ <xsl:for-each select="str:split($condition,'|')">
+ <xsl:variable name="attrname">
+ <xsl:value-of select="substring-before(.,':')"/>
+ </xsl:variable>
+ <xsl:choose>
+ <xsl:when test="string-length($attrname)=0">
+ <xsl:variable name="attrname2">
+ <xsl:value-of select="."/>
+ </xsl:variable>
+ <xsl:attribute name="{$attrname2}"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:attribute name="{$attrname}">
+ <xsl:value-of select="substring-after(.,':')"/>
+ </xsl:attribute>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:for-each>
+ </xsl:if>
+ </keyword>
+ </xsl:template>
+
+ <!-- get title -->
+ <xsl:template match="article" mode="generate.devhelp2.toc.title.mode">
+ <xsl:value-of select="articleinfo/title"/>
+ </xsl:template>
+ <xsl:template match="book" mode="generate.devhelp2.toc.title.mode">
+ <xsl:value-of select="bookinfo/title"/>
+ </xsl:template>
+ <xsl:template match="refentry" mode="generate.devhelp2.toc.title.mode">
+ <xsl:value-of select="refmeta/refentrytitle"/>
+ </xsl:template>
+ <xsl:template match="*" mode="generate.devhelp2.toc.title.mode">
+ <xsl:value-of select="title"/>
+ </xsl:template>
+
+ <!-- generate list of authors ... -->
+ <xsl:template match="articleinfo|bookinfo" mode="generate.devhelp2.authors">
+ <xsl:for-each select="authorgroup/author">
+ <xsl:value-of select="firstname"/>
+ <xsl:text> </xsl:text>
+ <xsl:value-of select="surname"/>
+ <xsl:if test="not(last())">
+ <xsl:text>, </xsl:text>
+ </xsl:if>
+ </xsl:for-each>
+ </xsl:template>
+
+</xsl:stylesheet>
--- /dev/null
+Note
+====
+
+There is now a user manual which can be read using yelp and can be found under
+'development'. Please refer to this documentation for up-to-date information.
+
+
+Files
+=====
+
+setting-up.txt
+ 5-step guide to setting up a module to use gtk-doc.
+
+gnome.txt
+ information on the source code comments format which the Gnome project
+ has just started to use.
+
+sections-file.txt
+ describes the MODULE-sections.txt file which is used to organise the
+ documentation.
+
+style-guide.txt
+ Initial draft of a style guide for writing GTK+ docs.
+
+authors.txt
+ notes for authors of the GTK documentation. The abbreviations to use,
+ a few useful DocBook tags etc.
--- /dev/null
+Note
+====
+
+There is now a user manual which can be read using yelp and can be found under
+'development'. Please refer to this documentation for up-to-date information.
+
+
+General
+=======
+
+The files to edit manually are generated in the tmpl/ directory.
+Remember to use < or > instead of '<' and '>', in these files.
+
+The first part of each function/macro/struct etc. description should be
+a very short summary of what it is. This may be used at some point to
+produce a short reference guide which can be printed out.
+
+For macros which return a value just like a function, you must manually
+add a '@Returns: ' field.
+
+You may want to rearrange the functions/macros etc. to split them into
+related sections. To do this rearrange the MODULE-sections.txt
+files. You can also add <SUBSECTION> between functions. Currently this just
+results in a blank line between them in the synopsis.
+
+If a function or macro has a very long description, you may want the table
+of parameters to go somewhere in the middle rather than after the description
+as would normally happen. To place the table of parameters in the middle of
+the description simple write "<!--PARAMETERS-->" on its own line at the
+desired location.
+
+
+Abbreviations
+=============
+
+These are expanded into appropriate DocBook tags, saving a lot of typing.
+I've used the Gnome ones (see gnome.txt) but also added '#'.
+
+ Use function() to refer to functions or macros which take arguments.
+
+ Use @param to refer to parameters. (I've also used this when referring to
+ parameters of other functions, related to the one being described.)
+
+ Use %constant to refer to a constant, e.g. %G_TRAVERSE_LEAFS.
+
+ Use #symbol to refer to other types of symbol, e.g. structs and enums
+ and macros which don't take arguments.
+
+
+
+Useful DocBook Tags
+===================
+
+These are the DocBook tags which I have used or I think could be useful.
+Let me know if I'm doing something wrong!
+
+
+To link to another section in the GTK docs:
+
+ <link linkend="glib-Hash-Tables">Hash Tables</link>
+
+ The linkend is the SGML id on the top item of the page you want to link to.
+ For most pages this is currently the part ("gtk", "gdk", glib") and then
+ the page title ("Hash Tables"). For widgets it is just the class name.
+ Spaces and underscores are converted to '-' to conform to SGML.
+
+
+To refer to an external function, e.g. a standard C function:
+
+ <function>...</function>
+
+
+To include example code:
+
+ <example>
+ <title>Using a GHashTable.</title>
+ <programlisting>
+ ...
+ </programlisting>
+ </example>
+
+ or possibly this, for very short code fragments which don't need a title:
+
+ <informalexample>
+ <programlisting>
+ ...
+ </programlisting>
+ </informalexample>
+
+
+To include bulleted lists:
+
+ <itemizedlist>
+
+ <listitem>
+ <para>
+ ...
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ ...
+ </para>
+ </listitem>
+
+ </itemizedlist>
+
+
+To include a note which stands out from the text:
+
+ <note>
+ <para>
+ Make sure you free the data after use.
+ </para>
+ </note>
+
+To refer to a type:
+
+ <type>unsigned char</type>
+
+
+To refer to an external structure (not one described in the GTK docs):
+
+ <structname>XFontStruct</structname>
+
+
+To refer to a field of a structure:
+
+ <structfield>len</structfield>
+
+
+To refer to a class name, we could possibly use:
+
+ <classname>GtkWidget</classname>
+
+ but you'll probably be using #GtkWidget instead (to automatically create
+ a link to the GtkWidget page - see the abbreviations above).
+
+
+To emphasize text:
+
+ <emphasis>This is important</emphasis>
+
+ but I haven't been using it so far.
+
+
+For filenames use:
+
+ <filename>c:\windows</filename>
+
--- /dev/null
+Note
+====
+
+There is now a user manual which can be read using yelp and can be found under
+'development'. Please refer to this documentation for up-to-date information.
+
+
+HowTo
+=====
+
+These are the comment blocks used in Gnome source files to document
+functions (and macros, signals and properties, if you want).
+
+/**
+ * function_name:
+ * @par1: description of parameter 1. These can extend over more than
+ * one line.
+ * @par2: description of parameter 2
+ *
+ * The function description goes here. You can use @par1 to refer to parameters
+ * so that they are highlighted in the output. You can also use %constant
+ * for constants, function_name2() for functions and #GtkWidget for links to
+ * other declarations (which may be documented elsewhere).
+ *
+ * Returns: an integer.
+ */
+
+The block starts with '/**'.
+Each line starts with ' * '.
+
+The second line is the function name, optionally followed by a ':'. In
+order to document signals in inline comments, use a name of the form
+class::signal, e.g. GtkWidget::notify-child. For properties, use a
+name of the form class:property, e.g. GtkAlignment:top-padding. Note
+that gtk-doc expects the signal and property names to be spelled with
+hyphens, not underlines.
+
+Following the function name are the parameters, e.g. '@par1:' above.
+
+A blank line MUST be used to separate parameter descriptions from the main
+description (otherwise it is assumed to be a continuation of the parameter
+description.)
+
+After the main description is a 'Returns:' line to describe the
+returned value of the function (if it is not void).
+
+Text inside the descriptions can use these special characters (they
+will be expanded into appropriate DocBook tags):
+
+ @name a parameter.
+ %name a constant.
+ name() reference to a function, or a macro which works like a function
+ (this will be turned into a hypertext link if the function is
+ documented anywhere).
+ #name reference to any other type of declaration, e.g. a struct, enum,
+ union, or macro (this will also be turned into a link if possible).
+
+To avoid problems, the characters '<', '>' and '&' in the descriptions are
+converted into the SGML entities < > and &.
+This means that you can't use Docbook SGML tags, unless specify the --sgml-mode
+option for gtkdoc-mkdb, which suppresses the escaping of '<', '>' and
+'&' and allows Docbook markup in inline comments.
+
+If you are using markup in inline comments, you must be careful to to
+not run into problems with the automatic splitting of the comment in
+paragraphs at empty lines. A line counts as empty for this purpose, if
+it is empty after the removal of the initial ' * ' prefix. Thus you
+can work around this problem by adding some trailing whitespace to
+lines which should appear as empty, but not end a paragraph. This is
+especially relevant in code examples, which often contain empty lines.
+
+Some more hints regarding examples: Hyperlinks in the formatted examples
+are confusing, therefore you should suppress the gtk-doc markup by using
+function(<!-- -->) instead of function(). Use character entities to refer
+to the characters %, &, < or #, e.g.
+
+ if (a < b && verbose)
+ printf ("bla %s %#x", bla, a);
+
+would become
+
+ if (a < b && verbose)
+ printf ("bla %s %#x", bla, a);
+
--- /dev/null
+Note
+====
+
+There is now a user manual which can be read using yelp and can be found under
+'development'. Please refer to this documentation for up-to-date information.
+
+
+*-section.txt
+=============
+
+This describes the MODULE-sections.txt file which is used to organise the
+documentation output by gtk-doc.
+
+The file is divided into sections. Each section will be output to a separate
+file in the templates, which also corresponds to a SGML file, and a file in
+the final HTML files. Each section contains a list of function/macro etc.
+names, which can be rearranged into the desired order.
+
+The <FILE> ... </FILE> tag is used to specify the file name, without any
+suffix. For example, using '<FILE>gnome-config</FILE>' will result in the
+section declarations being output in the template file tmpl/gnome-config.sgml,
+which will be converted into the DocBook SGML file sgml/gnome-config.sgml.
+(The name of the html file is based on the module name and the section title,
+or for widgets it is based on the widget name converted to lower case).
+
+The <TITLE> ... </TITLE> tag is used to specify the title of the section.
+It is only useful before the templates are initially created, since the title
+set in the template file overrides this.
+
+You can group items in the section by using the <SUBSECTION> tag. Currently
+it outputs a blank line between subsections in the synopsis section.
+You can also use <SUBSECTION Standard> for standard GtkObject declarations
+(e.g. the functions like gtk_object_get_type and macros like GTK_OBJECT(),
+GTK_IS_OBJECT() etc.) Currently these are left out of the documentation.
+You can also use <SUBSECTION Private> for private declarations which will not
+be output (Its a handy way to avoid warning messages about unused
+declarations.). If your library contains private types which you don't want
+to appear in the object hierarchy and the list of implemented or required
+interfaces, add them to a Private subsection.
+
+You can also use <INCLUDE> ... <INCLUDE> to specify the #include files which
+are shown in the synopsis sections. It contains a comma-separate list of
+#include files, without the angle brackets. If you set it outside of any
+sections, it acts for all sections until the end of the file. If you set it
+within a section, it only applies to that section.
+
+If a line starts with a '#' it is treated as a comment and ignored.
+
+Example MODULE-sections.txt file:
+
+# This is a comment.
+<INCLUDE>gnome.h</INCLUDE>
+
+<SECTION>
+<FILE>gnome-dateedit</FILE>
+<TITLE>GnomeDateEdit</TITLE>
+gnome_date_edit_new
+gnome_date_edit_set_time
+gnome_date_edit_set_popup_range
+gnome_date_edit_get_date
+<SUBSECTION Standard>
+GNOME_DATE_EDIT
+GNOME_IS_DATE_EDIT
+gnome_date_edit_get_type
+GNOME_DATE_EDIT_CLASS
+</SECTION>
--- /dev/null
+Note
+====
+
+There is now a user manual which can be read using yelp and can be found under
+'development'. Please refer to this documentation for up-to-date information.
+
+
+How to Set Up an Application or Library to use GTK-Doc
+======================================================
+
+This assumes that you are using autoconf & automake to build your package,
+and already have gtk-doc installed properly.
+
+
+1. Add this line to your autogen.sh, before the calls to autoheader, automake
+ or autoconf:
+
+ gtkdocize || exit 1
+
+ If you are using gnome-autogen.sh it already runs gtkdocize for you.
+ If you don't have an autogen.sh script you may need to run gtkdocize
+ manually. (All gtkdocize does is copy gtk-doc.make to your project.)
+
+
+2. Add this line to your configure.in (somewhere before the call to AC_OUTPUT)
+
+ GTK_DOC_CHECK(1.0)
+
+ The number in brackets is the minimum version of gtk-doc required.
+
+
+3. Create a directory in your project where you want the docs to be built,
+ e.g. 'myproject/docs/reference'. If you want to create several separate
+ pieces of documentation you can create subdirectories for each one here.
+ (e.g. GTK+ has subdirectories for gtk, gdk and gdk-pixbuf.)
+
+
+4. Copy examples/Makefile.am to this directory (or subdirectories) and edit
+ the variables at the top of the file. (See the GTK+ source for an example.)
+
+
+5. Add the new Makefile(s) to your configure.in's AC_OUTPUT call, and make sure
+ all the SUBDIRS variables are set properly so the docs directory is built.
+
+
+6. If your library or application includes GtkObjects/GObjects, and you want
+ their signals, arguments/parameters and position in the hierarchy to be
+ documented:
+
+ Create a MODULE.types file in the docs directory, e.g. "myproject.types".
+ This should contain any '#include' directives needed to compile a program
+ with your module, and a list of functions to initialize all of the widgets
+ and objects in the library. For example, the gtk.types file starts like
+ this:
+
+ #include <gtk/gtk.h>
+
+ gtk_accel_label_get_type
+ gtk_adjustment_get_type
+ gtk_alignment_get_type
+ gtk_arrow_get_type
+
+=============================================================================
+
+That's it! If you now build the application or library you should get a
+complete set of documentation. gtk-doc is normally off by default so you
+may have to pass '--enable-gtk-doc' to autogen.sh or configure.in.
+
+(Note that due to a problem with make the build may fail the very first time
+it is run, but if you run make again it should work. It only fails because
+there are no files in the tmpl/ directory initially. As soon as these are
+created it works fine.)
+
+
+You can tweak the output in several ways:
+
+ o modify the main SGML file to add introductory sections or to split the
+ documentation into several chapters.
+
+ o modify the MODULE-sections.txt file to rearrange the documentation into
+ different sections or a different order (see sections-file.txt for info).
+
+ o add a MODULE-overrides.txt to override particular declarations.
+
+
+Damon
--- /dev/null
+Note
+====
+
+There is now a user manual which can be read using yelp and can be found under
+'development'. Please refer to this documentation for up-to-date information.
+
+
+NOTE: This is only a draft version. Don't make major changes to your
+ documentation until we've agreed on all this.
+
+
+GTK+ Reference Documentation Style Guide
+========================================
+
+This file describes the way the GTK+ reference documentation should be written,
+so that we produce consistent documentation.
+
+We will also designate one or two of the template files as 'model' templates,
+i.e. they are to be taken as the 'correct' way to write the documentation:
+
+ GtkFontSelectionDialog - contains example code and descriptions of enums.
+ GtkMisc - contains description of fields in a widget struct.
+
+
+Language
+========
+
+Use American spelling rather than British, i.e. color rather than colour,
+organize rather than organise etc.
+
+End all descriptions of functions & parameters with a period '.'.
+
+
+Organizing Sections
+===================
+
+The organization of the sections is determined by the glib-sections.txt,
+gdk-sections.txt and gtk-sections.txt files.
+
+Group related functions/macros/enums etc. and place a "<SUBSECTION>" tag
+(on its own line) between groups. This results in a blank line in the synopsis
+between the groups, which makes it a bit easier to read.
+
+Order the groups sections by placing the most important/commonly-used
+functions/macros etc. first. For pairs of accessor functions place them
+together with the 'get' function first and then the 'set' function.
+
+Private functions etc. should be placed at the end of the "<SECTION>",
+after a "<SUBSECTION Private>" line. They will not appear in the HTML output
+and they do not have to be documented (they will disappear form the template
+files the next time 'make templates' is run).
+
+Enumerations should appear after the first function which uses them.
+
+
+Section Descriptions
+===================
+
+For widgets, start the main description with -
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+The #GtkFontSelectionDialog widget ...
+
+
+If you want to include subsections in the main description, to conform to
+DocBook SGML you must have 0 or more leading paragraphs (or possibly other
+DocBook tags - see the DTD), then 1 or more <refsect2> subsections, with
+nothing after. e.g.
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+Introduction to the section....
+</para>
+<refsect2>
+ <title>First Subsection</title>
+ <para>
+ This is the first subsection.
+ </para>
+</refsect2>
+<refsect2>
+ <title>Second Subsection</title>
+ <para>
+ This is the second subsection.
+ </para>
+</refsect2>
+
+
+Functions & Macro Descriptions
+==============================
+
+Start the description with a phrase like this:
+ 'Looks up a key in a GHashTable'.
+i.e. assume that 'This function' (or 'This macro') precedes it.
+
+
+Function Parameters
+===================
+
+For object-oriented code, denote the object parameter with 'a',
+e.g. 'a #GHashTable'.
+
+Use 'the' for the rest of the parameters.
+
+
+Widget Structs
+==============
+
+Some widget structs have fields which are useful to the developer, since
+there are currently no accessor functions to retrieve the particular field.
+
+These fields should be documented as follows:
+
+-----------------------------------------------------------------------
+<!-- ##### STRUCT GtkFixedChild ##### -->
+<para>
+The #GtkFixedChild-struct struct contains the following fields.
+(These fields should be considered read-only. They should never be set by
+an application.)
+</para>
+
+@widget: the child #GtkWidget.
+@x: the horizontal position of the widget within the #GtkFixed
+ container.
+@y: the vertical position of the widget within the #GtkFixed
+ container.
+-----------------------------------------------------------------------
+
+
+If a widget struct is completely private, use this:
+
+-----------------------------------------------------------------------
+<!-- ##### STRUCT GtkFontSelectionDialog ##### -->
+<para>
+The #GtkFontSelectionDialog-struct struct contains private data only, and
+should be accessed using the functions below.
+</para>
+-----------------------------------------------------------------------
+
+Note that the links to the widget names go to the top of the page,
+e.g. links to #GtkAccelLabel result in a link to the GtkAccelLabel page.
+If you want to link to the widget struct, you must append '-struct',
+e.g. #GtkAccelLabel-struct
+
+Whether a particular field in a structure is output in the
+documentation is determined by adding /*< public >*/ and
+/*< private >*/ comments into the header files. For instance,
+GtkEditable looks like:
+
+-----------------------------------------------------------------------
+struct _GtkEditable
+{
+ GtkWidget widget;
+
+ /*< public >*/
+ guint current_pos;
+
+ guint selection_start_pos;
+ guint selection_end_pos;
+ guint has_selection : 1;
+
+ /*< private >*/
+ guint editable : 1;
+ guint visible : 1;
+ GdkIC *ic;
+ GdkICAttr *ic_attr;
+
+ gchar *clipboard_text;
+};
+-----------------------------------------------------------------------
+
+You should add these as you go along. Please send these changes
+in along with your patches for the reference docs. Widget structures
+are by default all private, other structures are by default all public.
+
+
+Enumerations
+============
+
+A lot of the enumerations in GTK+ are currently placed in the "Standard
+Enumerations" section. However, some of these are specific to a particular
+widget and so should be moved to the widget's section and documented there.
+
+The enumeration values should be documented as follows:
+
+-----------------------------------------------------------------------
+<!-- ##### ENUM GtkFontFilterType ##### -->
+<para>
+A set of bit flags used to specify the filter being set
+when calling gtk_font_selection_dialog_set_filter() or
+gtk_font_selection_set_filter().
+</para>
+
+@GTK_FONT_FILTER_BASE: the base filter, which can't be changed by the user.
+@GTK_FONT_FILTER_USER: the user filter, which can be changed from within the 'Filter' page
+ of the #GtkFontSelection widget.
+-----------------------------------------------------------------------
+
+
+See Also
+========
+
+To link to related widgets/pages, use a <variablelist> like below.
+If there aren't any related pages, simply leave the See_Also section as it is,
+and it will not be output.
+Note that ancestors of widgets may automatically be added here, so
+don't add them yourself.
+
+-----------------------------------------------------------------------
+<!-- ##### SECTION See_Also ##### -->
+<para>
+<variablelist>
+
+<varlistentry>
+<term>#GtkFontSelection</term>
+<listitem><para>the underlying widget for selecting fonts.</para></listitem>
+</varlistentry>
+
+</variablelist>
+</para>
+-----------------------------------------------------------------------
+
+
+Including Hypertext Links
+=========================
+
+Use the <ulink> tag to include hypertext links, e.g.
+
+Gnome's home page is at <ulink url="www.gnome.org">www.gnome.org</ulink>.
+
+Remember that the documentation may be printed, so it is probably best
+to repeat the URL within the link.
+
+Damon, 1 June 1999
--- /dev/null
+## Process this file with automake to produce Makefile.in
+
+# We require automake 1.6 at least.
+AUTOMAKE_OPTIONS = 1.6
+
+# This is a blank Makefile.am for using gtk-doc.
+# Copy this to your project's API docs directory and modify the variables to
+# suit your project. See the GTK+ Makefiles in gtk+/docs/reference for examples
+# of using the various options.
+
+# The name of the module, e.g. 'glib'.
+DOC_MODULE=
+
+# Uncomment for versioned docs and specify the version of the module, e.g. '2'.
+#DOC_MODULE_VERSION=2
+
+
+# The top-level SGML file. You can change this if you want to.
+DOC_MAIN_SGML_FILE=$(DOC_MODULE)-docs.sgml
+
+# Directories containing the source code.
+# gtk-doc will search all .c and .h files beneath these paths
+# for inline comments documenting functions and macros.
+# e.g. DOC_SOURCE_DIR=$(top_srcdir)/gtk $(top_srcdir)/gdk
+DOC_SOURCE_DIR=
+
+# Extra options to pass to gtkdoc-scangobj. Not normally needed.
+SCANGOBJ_OPTIONS=
+
+# Extra options to supply to gtkdoc-scan.
+# e.g. SCAN_OPTIONS=--deprecated-guards="GTK_DISABLE_DEPRECATED"
+SCAN_OPTIONS=
+
+# Extra options to supply to gtkdoc-mkdb.
+# e.g. MKDB_OPTIONS=--xml-mode --output-format=xml
+MKDB_OPTIONS=--xml-mode --output-format=xml
+
+# Extra options to supply to gtkdoc-mktmpl
+# e.g. MKTMPL_OPTIONS=--only-section-tmpl
+MKTMPL_OPTIONS=
+
+# Extra options to supply to gtkdoc-mkhtml
+MKHTML_OPTIONS=
+
+# Extra options to supply to gtkdoc-fixref. Not normally needed.
+# e.g. FIXXREF_OPTIONS=--extra-dir=../gdk-pixbuf/html --extra-dir=../gdk/html
+FIXXREF_OPTIONS=
+
+# Used for dependencies. The docs will be rebuilt if any of these change.
+# e.g. HFILE_GLOB=$(top_srcdir)/gtk/*.h
+# e.g. CFILE_GLOB=$(top_srcdir)/gtk/*.c
+HFILE_GLOB=
+CFILE_GLOB=
+
+# Extra header to include when scanning, which are not under DOC_SOURCE_DIR
+# e.g. EXTRA_HFILES=$(top_srcdir}/contrib/extra.h
+EXTRA_HFILES=
+
+# Header files or dirs to ignore when scanning. Use base file/dir names
+# e.g. IGNORE_HFILES=gtkdebug.h gtkintl.h private_code
+IGNORE_HFILES=
+
+# Images to copy into HTML directory.
+# e.g. HTML_IMAGES=$(top_srcdir)/gtk/stock-icons/stock_about_24.png
+HTML_IMAGES=
+
+# Extra SGML files that are included by $(DOC_MAIN_SGML_FILE).
+# e.g. content_files=running.sgml building.sgml changes-2.0.sgml
+content_files=
+
+# SGML files where gtk-doc abbrevations (#GtkWidget) are expanded
+# These files must be listed here *and* in content_files
+# e.g. expand_content_files=running.sgml
+expand_content_files=
+
+# CFLAGS and LDFLAGS for compiling gtkdoc-scangobj with your library.
+# Only needed if you are using gtkdoc-scangobj to dynamically query widget
+# signals and properties.
+# e.g. GTKDOC_CFLAGS=-I$(top_srcdir) -I$(top_builddir) $(GTK_DEBUG_FLAGS)
+# e.g. GTKDOC_LIBS=$(top_builddir)/gtk/$(gtktargetlib)
+GTKDOC_CFLAGS=
+GTKDOC_LIBS=
+
+# This includes the standard gtk-doc make rules, copied by gtkdocize.
+include $(top_srcdir)/gtk-doc.make
+
+# Other files to distribute
+# e.g. EXTRA_DIST += version.xml.in
+EXTRA_DIST +=
+
+# Files not to distribute
+# for --rebuild-types in $(SCAN_OPTIONS), e.g. $(DOC_MODULE).types
+# for --rebuild-sections in $(SCAN_OPTIONS) e.g. $(DOC_MODULE)-sections.txt
+#DISTCLEANFILES +=
+
+# Comment this out if you want 'make check' to test you doc status
+# and run some sanity checks
+if ENABLE_GTK_DOC
+TESTS_ENVIRONMENT = cd $(srcdir) && \
+ DOC_MODULE=$(DOC_MODULE) DOC_MAIN_SGML_FILE=$(DOC_MAIN_SGML_FILE) \
+ SRCDIR=$(abs_srcdir) BUILDDIR=$(abs_builddir)
+#TESTS = $(GTKDOC_CHECK)
+endif
+
+-include $(top_srcdir)/git.mk
--- /dev/null
+
+The Makefile.am here should be copied to your project's API documentation
+directory, and the variables edited appropriately.
+
+See doc/setting-up.txt for documentation on setting up a project to use
+gtk-doc.
+
+See the GTK+ and libglade sources for example Makefile.am option settings.
+
--- /dev/null
+# gnome-doc-utils.make - make magic for building documentation
+# Copyright (C) 2004-2005 Shaun McCance <shaunm@gnome.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.
+
+################################################################################
+## @@ Generating Header Files
+
+## @ DOC_H_FILE
+## The name of the header file to generate
+DOC_H_FILE ?=
+
+## @ DOC_H_DOCS
+## The input DocBook files for generating the header file
+DOC_H_DOCS ?=
+
+$(DOC_H_FILE): $(DOC_H_DOCS);
+ @rm -f $@.tmp; touch $@.tmp;
+ echo 'const gchar* documentation_credits[] = {' >> $@.tmp
+ list='$(DOC_H_DOCS)'; for doc in $$list; do \
+ xmlpath="`echo $$doc | sed -e 's/^\(.*\/\).*/\1/' -e '/\//!s/.*//'`:$(srcdir)/`echo $$doc | sed -e 's/^\(.*\/\).*/\1/' -e '/\//!s/.*//'`"; \
+ if ! test -f "$$doc"; then doc="$(srcdir)/$$doc"; fi; \
+ xsltproc --path "$$xmlpath" $(_credits) $$doc; \
+ done | sort | uniq \
+ | awk 'BEGIN{s=""}{n=split($$0,w,"<");if(s!=""&&s!=substr(w[1],1,length(w[1])-1)){print s};if(n>1){print $$0;s=""}else{s=$$0}};END{if(s!=""){print s}}' \
+ | sed -e 's/\\/\\\\/' -e 's/"/\\"/' -e 's/\(.*\)/\t"\1",/' >> $@.tmp
+ echo ' NULL' >> $@.tmp
+ echo '};' >> $@.tmp
+ echo >> $@.tmp
+ list='$(DOC_H_DOCS)'; for doc in $$list; do \
+ xmlpath="`echo $$doc | sed -e 's/^\(.*\/\).*/\1/' -e '/\//!s/.*//'`:$(srcdir)/`echo $$doc | sed -e 's/^\(.*\/\).*/\1/' -e '/\//!s/.*//'`"; \
+ if ! test -f "$$doc"; then doc="$(srcdir)/$$doc"; fi; \
+ docid=`echo "$$doc" | sed -e 's/.*\/\([^/]*\)\.xml/\1/' \
+ | sed -e 's/[^a-zA-Z_]/_/g' | tr 'a-z' 'A-Z'`; \
+ echo $$xmlpath; \
+ ids=`xsltproc --xinclude --path "$$xmlpath" $(_ids) $$doc`; \
+ for id in $$ids; do \
+ echo '#define HELP_'`echo $$docid`'_'`echo $$id \
+ | sed -e 's/[^a-zA-Z_]/_/g' | tr 'a-z' 'A-Z'`' "'$$id'"' >> $@.tmp; \
+ done; \
+ echo >> $@.tmp; \
+ done;
+ cp $@.tmp $@ && rm -f $@.tmp
+
+dist-check-gdu:
+if !HAVE_GNOME_DOC_UTILS
+ @echo "*** GNOME Doc Utils must be installed in order to make dist"
+ @false
+endif
+
+.PHONY: dist-doc-header
+dist-doc-header: $(DOC_H_FILE)
+ @if test -f "$(DOC_H_FILE)"; then d=; else d="$(srcdir)/"; fi; \
+ echo "$(INSTALL_DATA) $${d}$(DOC_H_FILE) $(distdir)/$(DOC_H_FILE)"; \
+ $(INSTALL_DATA) "$${d}$(DOC_H_FILE)" "$(distdir)/$(DOC_H_FILE)";
+
+doc-dist-hook: dist-check-gdu $(if $(DOC_H_FILE),dist-doc-header)
+
+.PHONY: clean-doc-header
+_clean_doc_header = $(if $(DOC_H_FILE),clean-doc-header)
+clean-local: $(_clean_doc_header)
+distclean-local: $(_clean_doc_header)
+mostlyclean-local: $(_clean_doc_header)
+maintainer-clean-local: $(_clean_doc_header)
+clean-doc-header:
+ rm -f $(DOC_H_FILE)
+
+all: $(DOC_H_FILE)
+
+
+################################################################################
+## @@ Generating Documentation Files
+
+## @ DOC_MODULE
+## The name of the document being built
+DOC_MODULE ?=
+
+## @ DOC_ID
+## The unique identifier for a Mallard document
+DOC_ID ?=
+
+## @ DOC_PAGES
+## Page files in a Mallard document
+DOC_PAGES ?=
+
+## @ DOC_ENTITIES
+## Files included with a SYSTEM entity
+DOC_ENTITIES ?=
+
+## @ DOC_INCLUDES
+## Files included with XInclude
+DOC_INCLUDES ?=
+
+## @ DOC_FIGURES
+## Figures and other external data
+DOC_FIGURES ?=
+
+## @ DOC_FORMATS
+## The default formats to be built and installed
+DOC_FORMATS ?= docbook
+_DOC_REAL_FORMATS = $(if $(DOC_USER_FORMATS),$(DOC_USER_FORMATS),$(DOC_FORMATS))
+
+## @ DOC_LINGUAS
+## The languages this document is translated into
+DOC_LINGUAS ?=
+_DOC_REAL_LINGUAS = $(if $(filter environment,$(origin LINGUAS)), \
+ $(filter $(LINGUAS),$(DOC_LINGUAS)), \
+ $(DOC_LINGUAS))
+
+_DOC_ABS_SRCDIR = @abs_srcdir@
+
+
+################################################################################
+## Variables for Bootstrapping
+
+_xml2po ?= `which xml2po`
+_xml2po_mode = $(if $(DOC_ID),mallard,docbook)
+
+_db2html ?= `$(PKG_CONFIG) --variable db2html gnome-doc-utils`
+_db2omf ?= `$(PKG_CONFIG) --variable db2omf gnome-doc-utils`
+_malrng ?= `$(PKG_CONFIG) --variable malrng gnome-doc-utils`
+_chunks ?= `$(PKG_CONFIG) --variable xmldir gnome-doc-utils`/gnome/xslt/docbook/utils/chunks.xsl
+_credits ?= `$(PKG_CONFIG) --variable xmldir gnome-doc-utils`/gnome/xslt/docbook/utils/credits.xsl
+_ids ?= `$(PKG_CONFIG) --variable xmldir gnome-doc-utils`/gnome/xslt/docbook/utils/ids.xsl
+
+if ENABLE_SK
+_ENABLE_SK = true
+_skpkgdatadir ?= `scrollkeeper-config --pkgdatadir`
+_sklocalstatedir ?= `scrollkeeper-config --pkglocalstatedir`
+_skcontentslist ?= $(_skpkgdatadir)/Templates/C/scrollkeeper_cl.xml
+endif
+
+
+################################################################################
+## @@ Rules for OMF Files
+
+db2omf_args = \
+ --stringparam db2omf.basename $(DOC_MODULE) \
+ --stringparam db2omf.format $(3) \
+ --stringparam db2omf.dtd \
+ $(shell xmllint --format $(2) | grep -h PUBLIC | head -n 1 \
+ | sed -e 's/.*PUBLIC \(\"[^\"]*\"\).*/\1/') \
+ --stringparam db2omf.lang $(notdir $(patsubst %/$(notdir $(2)),%,$(2))) \
+ --stringparam db2omf.omf_dir "$(OMF_DIR)" \
+ --stringparam db2omf.help_dir "$(HELP_DIR)" \
+ --stringparam db2omf.omf_in "$(_DOC_OMF_IN)" \
+ $(if $(_ENABLE_SK), \
+ --stringparam db2omf.scrollkeeper_cl "$(_skcontentslist)") \
+ $(_db2omf) $(2)
+
+## @ _DOC_OMF_IN
+## The OMF input file
+_DOC_OMF_IN = $(if $(DOC_MODULE),$(wildcard $(_DOC_ABS_SRCDIR)/$(DOC_MODULE).omf.in))
+
+## @ _DOC_OMF_DB
+## The OMF files for DocBook output
+_DOC_OMF_DB = $(if $(_DOC_OMF_IN), \
+ $(foreach lc,C $(_DOC_REAL_LINGUAS),$(DOC_MODULE)-$(lc).omf))
+
+$(_DOC_OMF_DB) : $(_DOC_OMF_IN)
+$(_DOC_OMF_DB) : $(DOC_MODULE)-%.omf : %/$(DOC_MODULE).xml
+ @test "x$(_ENABLE_SK)" != "xtrue" -o -f "$(_skcontentslist)" || { \
+ echo "The file '$(_skcontentslist)' does not exist." >&2; \
+ echo "Please check your ScrollKeeper installation." >&2; \
+ exit 1; }
+ xsltproc -o $@ $(call db2omf_args,$@,$<,'docbook') || { rm -f "$@"; exit 1; }
+
+## @ _DOC_OMF_HTML
+## The OMF files for HTML output
+_DOC_OMF_HTML = $(if $(_DOC_OMF_IN), \
+ $(foreach lc,C $(_DOC_REAL_LINGUAS),$(DOC_MODULE)-html-$(lc).omf))
+
+$(_DOC_OMF_HTML) : $(_DOC_OMF_IN)
+$(_DOC_OMF_HTML) : $(DOC_MODULE)-html-%.omf : %/$(DOC_MODULE).xml
+if ENABLE_SK
+ @test "x$(_ENABLE_SK)" != "xtrue" -o -f "$(_skcontentslist)" || { \
+ echo "The file '$(_skcontentslist)' does not exist" >&2; \
+ echo "Please check your ScrollKeeper installation." >&2; \
+ exit 1; }
+endif
+ xsltproc -o $@ $(call db2omf_args,$@,$<,'xhtml') || { rm -f "$@"; exit 1; }
+
+## @ _DOC_OMF_ALL
+## All OMF output files to be built
+# FIXME
+_DOC_OMF_ALL = \
+ $(if $(filter docbook,$(_DOC_REAL_FORMATS)),$(_DOC_OMF_DB)) \
+ $(if $(filter html HTML,$(_DOC_REAL_FORMATS)),$(_DOC_OMF_HTML))
+
+.PHONY: omf
+omf: $(_DOC_OMF_ALL)
+
+
+################################################################################
+## @@ C Locale Documents
+
+## @ _DOC_C_MODULE
+## The top-level documentation file in the C locale
+_DOC_C_MODULE = $(if $(DOC_MODULE),C/$(DOC_MODULE).xml)
+
+## @ _DOC_C_PAGES
+## Page files in a Mallard document in the C locale
+_DOC_C_PAGES = $(foreach page,$(DOC_PAGES),C/$(page))
+
+## @ _DOC_C_ENTITIES
+## Files included with a SYSTEM entity in the C locale
+_DOC_C_ENTITIES = $(foreach ent,$(DOC_ENTITIES),C/$(ent))
+
+## @ _DOC_C_XINCLUDES
+## Files included with XInclude in the C locale
+_DOC_C_INCLUDES = $(foreach inc,$(DOC_INCLUDES),C/$(inc))
+
+## @ _DOC_C_DOCS
+## All documentation files in the C locale
+_DOC_C_DOCS = \
+ $(_DOC_C_ENTITIES) $(_DOC_C_INCLUDES) \
+ $(_DOC_C_PAGES) $(_DOC_C_MODULE)
+
+## @ _DOC_C_DOCS_NOENT
+## All documentation files in the C locale,
+## except files included with a SYSTEM entity
+_DOC_C_DOCS_NOENT = \
+ $(_DOC_C_MODULE) $(_DOC_C_INCLUDES) \
+ $(_DOC_C_PAGES)
+
+## @ _DOC_C_FIGURES
+## All figures and other external data in the C locale
+_DOC_C_FIGURES = $(if $(DOC_FIGURES), \
+ $(foreach fig,$(DOC_FIGURES),C/$(fig)), \
+ $(patsubst $(srcdir)/%,%,$(wildcard $(srcdir)/C/figures/*.png)))
+
+## @ _DOC_C_HTML
+## All HTML documentation in the C locale
+# FIXME: probably have to shell escape to determine the file names
+_DOC_C_HTML = $(foreach f, \
+ $(shell xsltproc --xinclude \
+ --stringparam db.chunk.basename "$(DOC_MODULE)" \
+ $(_chunks) "C/$(DOC_MODULE).xml"), \
+ C/$(f).xhtml)
+
+###############################################################################
+## @@ Other Locale Documentation
+
+## @ _DOC_POFILES
+## The .po files used for translating the document
+_DOC_POFILES = $(if $(DOC_MODULE)$(DOC_ID), \
+ $(foreach lc,$(_DOC_REAL_LINGUAS),$(lc)/$(lc).po))
+
+.PHONY: po
+po: $(_DOC_POFILES)
+
+## @ _DOC_MOFILES
+## The .mo files used for translating the document
+_DOC_MOFILES = $(patsubst %.po,%.mo,$(_DOC_POFILES))
+
+.PHONY: mo
+mo: $(_DOC_MOFILES)
+
+## @ _DOC_LC_MODULES
+## The top-level documentation files in all other locales
+_DOC_LC_MODULES = $(if $(DOC_MODULE), \
+ $(foreach lc,$(_DOC_REAL_LINGUAS),$(lc)/$(DOC_MODULE).xml))
+
+## @ _DOC_LC_PAGES
+## Page files in a Mallard document in all other locales
+_DOC_LC_PAGES = \
+ $(foreach lc,$(_DOC_REAL_LINGUAS),$(foreach page,$(_DOC_C_PAGES), \
+ $(lc)/$(notdir $(page)) ))
+
+## @ _DOC_LC_XINCLUDES
+## Files included with XInclude in all other locales
+_DOC_LC_INCLUDES = \
+ $(foreach lc,$(_DOC_REAL_LINGUAS),$(foreach inc,$(_DOC_C_INCLUDES), \
+ $(lc)/$(notdir $(inc)) ))
+
+## @ _DOC_LC_HTML
+## All HTML documentation in all other locales
+# FIXME: probably have to shell escape to determine the file names
+_DOC_LC_HTML = \
+ $(foreach lc,$(_DOC_REAL_LINGUAS),$(foreach doc,$(_DOC_C_HTML), \
+ $(lc)/$(notdir $(doc)) ))
+
+## @ _DOC_LC_DOCS
+## All documentation files in all other locales
+_DOC_LC_DOCS = \
+ $(_DOC_LC_MODULES) $(_DOC_LC_INCLUDES) $(_DOC_LC_PAGES) \
+ $(if $(filter html HTML,$(_DOC_REAL_FORMATS)),$(_DOC_LC_HTML))
+
+## @ _DOC_LC_FIGURES
+## All figures and other external data in all other locales
+_DOC_LC_FIGURES = $(foreach lc,$(_DOC_REAL_LINGUAS), \
+ $(patsubst C/%,$(lc)/%,$(_DOC_C_FIGURES)) )
+
+_DOC_SRC_FIGURES = \
+ $(foreach fig,$(_DOC_C_FIGURES), $(foreach lc,C $(_DOC_REAL_LINGUAS), \
+ $(wildcard $(srcdir)/$(lc)/$(patsubst C/%,%,$(fig))) ))
+
+$(_DOC_POFILES):
+ @if ! test -d $(dir $@); then \
+ echo "mkdir $(dir $@)"; \
+ mkdir "$(dir $@)"; \
+ fi
+ @if test ! -f $@ -a -f $(srcdir)/$@; then \
+ echo "cp $(srcdir)/$@ $@"; \
+ cp "$(srcdir)/$@" "$@"; \
+ fi;
+ @docs=; \
+ list='$(_DOC_C_DOCS_NOENT)'; for doc in $$list; do \
+ docs="$$docs $(_DOC_ABS_SRCDIR)/$$doc"; \
+ done; \
+ if ! test -f $@; then \
+ echo "(cd $(dir $@) && \
+ $(_xml2po) -m $(_xml2po_mode) -e $$docs > $(notdir $@).tmp && \
+ cp $(notdir $@).tmp $(notdir $@) && rm -f $(notdir $@).tmp)"; \
+ (cd $(dir $@) && \
+ $(_xml2po) -m $(_xml2po_mode) -e $$docs > $(notdir $@).tmp && \
+ cp $(notdir $@).tmp $(notdir $@) && rm -f $(notdir $@).tmp); \
+ else \
+ echo "(cd $(dir $@) && \
+ $(_xml2po) -m $(_xml2po_mode) -e -u $(notdir $@) $$docs)"; \
+ (cd $(dir $@) && \
+ $(_xml2po) -m $(_xml2po_mode) -e -u $(notdir $@) $$docs); \
+ fi
+
+$(_DOC_MOFILES): %.mo: %.po
+ @if ! test -d $(dir $@); then \
+ echo "mkdir $(dir $@)"; \
+ mkdir "$(dir $@)"; \
+ fi
+ msgfmt -o $@ $<
+
+# FIXME: fix the dependancy
+# FIXME: hook xml2po up
+$(_DOC_LC_DOCS) : $(_DOC_MOFILES)
+$(_DOC_LC_DOCS) : $(_DOC_C_DOCS)
+ if ! test -d $(dir $@); then mkdir $(dir $@); fi
+ if [ -f "C/$(notdir $@)" ]; then d="../"; else d="$(_DOC_ABS_SRCDIR)/"; fi; \
+ mo="$(dir $@)$(patsubst %/$(notdir $@),%,$@).mo"; \
+ if [ -f "$${mo}" ]; then mo="../$${mo}"; else mo="$(_DOC_ABS_SRCDIR)/$${mo}"; fi; \
+ (cd $(dir $@) && \
+ $(_xml2po) -m $(_xml2po_mode) -e -t "$${mo}" \
+ "$${d}C/$(notdir $@)" > $(notdir $@).tmp && \
+ cp $(notdir $@).tmp $(notdir $@) && rm -f $(notdir $@).tmp)
+
+## @ _DOC_POT
+## A pot file
+_DOC_POT = $(if $(DOC_MODULE),$(DOC_MODULE).pot)
+.PHONY: pot
+pot: $(_DOC_POT)
+$(_DOC_POT): $(_DOC_C_DOCS_NOENT)
+ $(_xml2po) -m $(_xml2po_mode) -e -o $@ $^
+
+
+################################################################################
+## @@ All Documentation
+
+## @ _DOC_HTML_ALL
+## All HTML documentation, only if it's built
+_DOC_HTML_ALL = $(if $(filter html HTML,$(_DOC_REAL_FORMATS)), \
+ $(_DOC_C_HTML) $(_DOC_LC_HTML))
+
+_DOC_HTML_TOPS = $(foreach lc,C $(_DOC_REAL_LINGUAS),$(lc)/$(DOC_MODULE).xhtml)
+
+$(_DOC_HTML_TOPS): $(_DOC_C_DOCS) $(_DOC_LC_DOCS)
+ xsltproc -o $@ --xinclude --param db.chunk.chunk_top "false()" --stringparam db.chunk.basename "$(DOC_MODULE)" --stringparam db.chunk.extension ".xhtml" $(_db2html) $(patsubst %.xhtml,%.xml,$@)
+
+
+################################################################################
+## All
+
+all: \
+ $(_DOC_C_DOCS) $(_DOC_LC_DOCS) \
+ $(_DOC_OMF_ALL) $(_DOC_DSK_ALL) \
+ $(_DOC_HTML_ALL) $(_DOC_POFILES)
+
+
+################################################################################
+## Clean
+
+.PHONY: clean-doc-omf clean-doc-dsk clean-doc-lc clean-doc-dir
+
+clean-doc-omf: ; rm -f $(_DOC_OMF_DB) $(_DOC_OMF_HTML)
+clean-doc-dsk: ; rm -f $(_DOC_DSK_DB) $(_DOC_DSK_HTML)
+clean-doc-lc:
+ rm -f $(_DOC_LC_DOCS)
+ rm -f $(_DOC_MOFILES)
+ @list='$(_DOC_POFILES)'; for po in $$list; do \
+ if ! test "$$po" -ef "$(srcdir)/$$po"; then \
+ echo "rm -f $$po"; \
+ rm -f "$$po"; \
+ fi; \
+ done
+# .xml2.po.mo cleaning is obsolete as of 0.18.1 and could be removed in 0.20.x
+ @for lc in C $(_DOC_REAL_LINGUAS); do \
+ if test -f "$$lc/.xml2po.mo"; then \
+ echo "rm -f $$lc/.xml2po.mo"; \
+ rm -f "$$lc/.xml2po.mo"; \
+ fi; \
+ done
+clean-doc-dir: clean-doc-lc
+ @for lc in C $(_DOC_REAL_LINGUAS); do \
+ for dir in `find $$lc -depth -type d`; do \
+ if ! test $$dir -ef $(srcdir)/$$dir; then \
+ echo "rmdir $$dir"; \
+ rmdir "$$dir"; \
+ fi; \
+ done; \
+ done
+
+_clean_omf = $(if $(_DOC_OMF_IN),clean-doc-omf)
+_clean_dsk = $(if $(_DOC_DSK_IN),clean-doc-dsk)
+_clean_lc = $(if $(_DOC_REAL_LINGUAS),clean-doc-lc)
+_clean_dir = $(if $(DOC_MODULE)$(DOC_ID),clean-doc-dir)
+
+clean-local: \
+ $(_clean_omf) $(_clean_dsk) \
+ $(_clean_lc) $(_clean_dir)
+distclean-local: \
+ $(_clean_omf) $(_clean_dsk) \
+ $(_clean_lc) $(_clean_dir)
+mostlyclean-local: \
+ $(_clean_omf) $(_clean_dsk) \
+ $(_clean_lc) $(_clean_dir)
+maintainer-clean-local: \
+ $(_clean_omf) $(_clean_dsk) \
+ $(_clean_lc) $(_clean_dir)
+
+
+
+################################################################################
+## Dist
+
+.PHONY: dist-doc-docs dist-doc-pages dist-doc-figs dist-doc-omf dist-doc-dsk
+doc-dist-hook: \
+ $(if $(DOC_MODULE)$(DOC_ID),dist-doc-docs) \
+ $(if $(_DOC_C_FIGURES),dist-doc-figs) \
+ $(if $(_DOC_OMF_IN),dist-doc-omf)
+# $(if $(_DOC_DSK_IN),dist-doc-dsk)
+
+dist-doc-docs: $(_DOC_C_DOCS) $(_DOC_LC_DOCS) $(_DOC_POFILES)
+ @for lc in C $(_DOC_REAL_LINGUAS); do \
+ echo " $(mkinstalldirs) $(distdir)/$$lc"; \
+ $(mkinstalldirs) "$(distdir)/$$lc"; \
+ done
+ @list='$(_DOC_C_DOCS) $(_DOC_LC_DOCS) $(_DOC_POFILES)'; \
+ for doc in $$list; do \
+ if test -f "$$doc"; then d=; else d="$(srcdir)/"; fi; \
+ docdir=`echo $$doc | sed -e 's/^\(.*\/\).*/\1/' -e '/\//!s/.*//'`; \
+ if ! test -d "$(distdir)/$$docdir"; then \
+ echo "$(mkinstalldirs) $(distdir)/$$docdir"; \
+ $(mkinstalldirs) "$(distdir)/$$docdir"; \
+ fi; \
+ echo "$(INSTALL_DATA) $$d$$doc $(distdir)/$$doc"; \
+ $(INSTALL_DATA) "$$d$$doc" "$(distdir)/$$doc"; \
+ done
+
+dist-doc-figs: $(_DOC_SRC_FIGURES)
+ @list='$(_DOC_C_FIGURES) $(_DOC_LC_FIGURES)'; \
+ for fig in $$list; do \
+ if test -f "$$fig"; then d=; else d="$(srcdir)/"; fi; \
+ if test -f "$$d$$fig"; then \
+ figdir=`echo $$fig | sed -e 's/^\(.*\/\).*/\1/' -e '/\//!s/.*//'`; \
+ if ! test -d "$(distdir)/$$figdir"; then \
+ echo "$(mkinstalldirs) $(distdir)/$$figdir"; \
+ $(mkinstalldirs) "$(distdir)/$$figdir"; \
+ fi; \
+ echo "$(INSTALL_DATA) $$d$$fig $(distdir)/$$fig"; \
+ $(INSTALL_DATA) "$$d$$fig" "$(distdir)/$$fig"; \
+ fi; \
+ done;
+
+dist-doc-omf:
+ @if test -f "$(_DOC_OMF_IN)"; then d=; else d="$(srcdir)/"; fi; \
+ echo "$(INSTALL_DATA) $$d$(_DOC_OMF_IN) $(distdir)/$(notdir $(_DOC_OMF_IN))"; \
+ $(INSTALL_DATA) "$$d$(_DOC_OMF_IN)" "$(distdir)/$(notdir $(_DOC_OMF_IN))"
+
+dist-doc-dsk:
+ @if test -f "$(_DOC_DSK_IN)"; then d=; else d="$(srcdir)/"; fi; \
+ echo "$(INSTALL_DATA) $$d$(_DOC_DSK_IN) $(distdir)/$(notdir $(_DOC_DSK_IN))"; \
+ $(INSTALL_DATA) "$$d$(_DOC_DSK_IN)" "$(distdir)/$(notdir $(_DOC_DSK_IN))"
+
+
+
+################################################################################
+## Check
+
+.PHONY: check-doc-docs check-doc-omf
+check: \
+ $(if $(DOC_MODULE),check-doc-docs) \
+ $(if $(DOC_ID),check-doc-pages) \
+ $(if $(_DOC_OMF_IN),check-doc-omf)
+
+check-doc-docs: $(_DOC_C_DOCS) $(_DOC_LC_DOCS)
+ @for lc in C $(_DOC_REAL_LINGUAS); do \
+ if test -f "$$lc"; \
+ then d=; \
+ xmlpath="$$lc"; \
+ else \
+ d="$(srcdir)/"; \
+ xmlpath="$$lc:$(srcdir)/$$lc"; \
+ fi; \
+ echo "xmllint --noout --noent --path $$xmlpath --xinclude --postvalid $$d$$lc/$(DOC_MODULE).xml"; \
+ xmllint --noout --noent --path "$$xmlpath" --xinclude --postvalid "$$d$$lc/$(DOC_MODULE).xml"; \
+ done
+
+check-doc-pages: $(_DOC_C_PAGES) $(_DOC_LC_PAGES)
+ for lc in C $(_DOC_REAL_LINGUAS); do \
+ if test -f "$$lc"; \
+ then d=; \
+ xmlpath="$$lc"; \
+ else \
+ d="$(srcdir)/"; \
+ xmlpath="$$lc:$(srcdir)/$$lc"; \
+ fi; \
+ for page in $(DOC_PAGES); do \
+ echo "xmllint --noout --noent --path $$xmlpath --xinclude --relaxng $(_malrng) $$d$$lc/$$page"; \
+ xmllint --noout --noent --path "$$xmlpath" --xinclude --relaxng "$(_malrng)" "$$d$$lc/$$page"; \
+ done; \
+ done
+
+check-doc-omf: $(_DOC_OMF_ALL)
+ @list='$(_DOC_OMF_ALL)'; for omf in $$list; do \
+ echo "xmllint --noout --xinclude --dtdvalid 'http://scrollkeeper.sourceforge.net/dtds/scrollkeeper-omf-1.0/scrollkeeper-omf.dtd' $$omf"; \
+ xmllint --noout --xinclude --dtdvalid 'http://scrollkeeper.sourceforge.net/dtds/scrollkeeper-omf-1.0/scrollkeeper-omf.dtd' $$omf; \
+ done
+
+
+
+################################################################################
+## Install
+
+.PHONY: install-doc-docs install-doc-html install-doc-figs install-doc-omf install-doc-dsk
+
+_doc_install_dir = $(if $(DOC_ID),$(DOC_ID),$(DOC_MODULE))
+
+install-data-local: \
+ $(if $(DOC_MODULE)$(DOC_ID),install-doc-docs) \
+ $(if $(_DOC_HTML_ALL),install-doc-html) \
+ $(if $(_DOC_C_FIGURES),install-doc-figs) \
+ $(if $(_DOC_OMF_IN),install-doc-omf)
+# $(if $(_DOC_DSK_IN),install-doc-dsk)
+
+install-doc-docs:
+ @for lc in C $(_DOC_REAL_LINGUAS); do \
+ echo "$(mkinstalldirs) $(DESTDIR)$(HELP_DIR)/$(_doc_install_dir)/$$lc"; \
+ $(mkinstalldirs) $(DESTDIR)$(HELP_DIR)/$(_doc_install_dir)/$$lc; \
+ done
+ @list='$(_DOC_C_DOCS) $(_DOC_LC_DOCS)'; for doc in $$list; do \
+ if test -f "$$doc"; then d=; else d="$(srcdir)/"; fi; \
+ docdir="$$lc/"`echo $$doc | sed -e 's/^\(.*\/\).*/\1/' -e '/\//!s/.*//'`; \
+ docdir="$(DESTDIR)$(HELP_DIR)/$(_doc_install_dir)/$$docdir"; \
+ if ! test -d "$$docdir"; then \
+ echo "$(mkinstalldirs) $$docdir"; \
+ $(mkinstalldirs) "$$docdir"; \
+ fi; \
+ echo "$(INSTALL_DATA) $$d$$doc $(DESTDIR)$(HELP_DIR)/$(_doc_install_dir)/$$doc"; \
+ $(INSTALL_DATA) $$d$$doc $(DESTDIR)$(HELP_DIR)/$(_doc_install_dir)/$$doc; \
+ done
+
+install-doc-figs:
+ @list='$(patsubst C/%,%,$(_DOC_C_FIGURES))'; for fig in $$list; do \
+ for lc in C $(_DOC_REAL_LINGUAS); do \
+ figsymlink=false; \
+ if test -f "$$lc/$$fig"; then \
+ figfile="$$lc/$$fig"; \
+ elif test -f "$(srcdir)/$$lc/$$fig"; then \
+ figfile="$(srcdir)/$$lc/$$fig"; \
+ else \
+ figsymlink=true; \
+ fi; \
+ figdir="$$lc/"`echo $$fig | sed -e 's/^\(.*\/\).*/\1/' -e '/\//!s/.*//'`; \
+ figdir="$(DESTDIR)$(HELP_DIR)/$(_doc_install_dir)/$$figdir"; \
+ if ! test -d "$$figdir"; then \
+ echo "$(mkinstalldirs) $$figdir"; \
+ $(mkinstalldirs) "$$figdir"; \
+ fi; \
+ figbase=`echo $$fig | sed -e 's/^.*\///'`; \
+ if $$figsymlink; then \
+ echo "cd $$figdir && $(LN_S) -f ../../C/$$fig $$figbase"; \
+ ( cd "$$figdir" && $(LN_S) -f "../../C/$$fig" "$$figbase" ); \
+ else \
+ echo "$(INSTALL_DATA) $$figfile $$figdir$$figbase"; \
+ $(INSTALL_DATA) "$$figfile" "$$figdir$$figbase"; \
+ fi; \
+ done; \
+ done
+
+install-doc-html:
+ echo install-html
+
+install-doc-omf:
+ $(mkinstalldirs) $(DESTDIR)$(OMF_DIR)/$(_doc_install_dir)
+ @list='$(_DOC_OMF_ALL)'; for omf in $$list; do \
+ echo "$(INSTALL_DATA) $$omf $(DESTDIR)$(OMF_DIR)/$(_doc_install_dir)/$$omf"; \
+ $(INSTALL_DATA) $$omf $(DESTDIR)$(OMF_DIR)/$(_doc_install_dir)/$$omf; \
+ done
+ @if test "x$(_ENABLE_SK)" = "xtrue"; then \
+ echo "scrollkeeper-update -p $(DESTDIR)$(_sklocalstatedir) -o $(DESTDIR)$(OMF_DIR)/$(_doc_install_dir)"; \
+ scrollkeeper-update -p "$(DESTDIR)$(_sklocalstatedir)" -o "$(DESTDIR)$(OMF_DIR)/$(_doc_install_dir)"; \
+ fi;
+
+install-doc-dsk:
+ echo install-dsk
+
+
+
+################################################################################
+## Uninstall
+
+.PHONY: uninstall-doc-docs uninstall-doc-html uninstall-doc-figs uninstall-doc-omf uninstall-doc-dsk
+uninstall-local: \
+ $(if $(DOC_MODULE)$(DOC_ID),uninstall-doc-docs) \
+ $(if $(_DOC_HTML_ALL),uninstall-doc-html) \
+ $(if $(_DOC_C_FIGURES),uninstall-doc-figs) \
+ $(if $(_DOC_OMF_IN),uninstall-doc-omf)
+# $(if $(_DOC_DSK_IN),uninstall-doc-dsk)
+
+uninstall-doc-docs:
+ @list='$(_DOC_C_DOCS) $(_DOC_LC_DOCS)'; for doc in $$list; do \
+ echo " rm -f $(DESTDIR)$(HELP_DIR)/$(_doc_install_dir)/$$doc"; \
+ rm -f "$(DESTDIR)$(HELP_DIR)/$(_doc_install_dir)/$$doc"; \
+ done
+
+uninstall-doc-figs:
+ @list='$(_DOC_C_FIGURES) $(_DOC_LC_FIGURES)'; for fig in $$list; do \
+ echo "rm -f $(DESTDIR)$(HELP_DIR)/$(_doc_install_dir)/$$fig"; \
+ rm -f "$(DESTDIR)$(HELP_DIR)/$(_doc_install_dir)/$$fig"; \
+ done;
+
+uninstall-doc-omf:
+ @list='$(_DOC_OMF_ALL)'; for omf in $$list; do \
+ if test "x$(_ENABLE_SK)" = "xtrue"; then \
+ echo "scrollkeeper-uninstall -p $(_sklocalstatedir) $(DESTDIR)$(OMF_DIR)/$(_doc_install_dir)/$$omf"; \
+ scrollkeeper-uninstall -p "$(_sklocalstatedir)" "$(DESTDIR)$(OMF_DIR)/$(_doc_install_dir)/$$omf"; \
+ fi; \
+ echo "rm -f $(DESTDIR)$(OMF_DIR)/$(_doc_install_dir)/$$omf"; \
+ rm -f "$(DESTDIR)$(OMF_DIR)/$(_doc_install_dir)/$$omf"; \
+ done
--- /dev/null
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ xmlns:fo="http://www.w3.org/1999/XSL/Format"
+ version="1.0">
+
+ <!-- import the chunked fo stylesheet -->
+ <xsl:import href="http://docbook.sourceforge.net/release/xsl/current/fo/docbook.xsl"/>
+
+ <!-- change some parameters -->
+ <xsl:attribute-set name="monospace.verbatim.properties">
+ <!--xsl:attribute name="font-family">Monospace</xsl:attribute-->
+ <xsl:attribute name="font-size">7pt</xsl:attribute>
+ <xsl:attribute name="keep-together.within-column">always</xsl:attribute>
+ </xsl:attribute-set>
+
+ <xsl:param name="shade.verbatim" select="1"/>
+
+ <xsl:attribute-set name="shade.verbatim.style">
+ <xsl:attribute name="background-color">#D0D0D0</xsl:attribute>
+ <xsl:attribute name="border-width">0.5pt</xsl:attribute>
+ <xsl:attribute name="border-style">solid</xsl:attribute>
+ <xsl:attribute name="border-color">#575757</xsl:attribute>
+ <xsl:attribute name="padding">3pt</xsl:attribute>
+ </xsl:attribute-set>
+
+ <xsl:attribute-set name="xref.properties">
+ <xsl:attribute name="color">
+ <xsl:choose>
+ <xsl:when test="self::ulink">blue</xsl:when>
+ <xsl:otherwise>inherit</xsl:otherwise>
+ </xsl:choose>
+ </xsl:attribute>
+ </xsl:attribute-set>
+
+</xsl:stylesheet>
+
--- /dev/null
+ -- ...................................................................... --
+ -- DSSL stylesheet ...................................................... --
+ -- ...................................................................... --
+
+PUBLIC "-//Gtk//DOCUMENT Gtk-doc HTML Stylesheet//EN"
+ "@PACKAGE_DATA_DIR@/gtk-doc.dsl"
--- /dev/null
+<!SGML "ISO 8879:1986"
+ -- ...................................................................... --
+ -- DocBook SGML declaration V3.1 ........................................ --
+ -- file docbook.dcl ..................................................... --
+
+CHARSET
+
+ BASESET
+ "ISO 646:1983//CHARSET International Reference Version (IRV)//ESC 2/5 4/0"
+ DESCSET
+ 0 9 UNUSED
+ 9 2 9
+ 11 2 UNUSED
+ 13 1 13
+ 14 18 UNUSED
+ 32 95 32
+ 127 1 UNUSED
+
+ BASESET
+ "ISO Registration Number 100//CHARSET ECMA-94 Right Part of Latin Alphabet Nr. 1//ESC 2/13 4/1"
+ DESCSET
+ 128 32 UNUSED
+ 160 96 32
+
+CAPACITY SGMLREF
+
+ TOTALCAP 99000000
+ ATTCAP 1000000
+ ATTCHCAP 1000000
+ AVGRPCAP 1000000
+ ELEMCAP 1000000
+ ENTCAP 1000000
+ ENTCHCAP 1000000
+ GRPCAP 1000000
+ IDCAP 32000000
+ IDREFCAP 32000000
+
+SCOPE DOCUMENT
+
+SYNTAX
+
+ SHUNCHAR CONTROLS 0 1 2 3 4 5 6 7 8 9
+ 10 11 12 13 14 15 16 17 18 19
+ 20 21 22 23 24 25 26 27 28 29
+ 30 31 127 128 129
+ 130 131 132 133 134 135 136 137 138 139
+ 140 141 142 143 144 145 146 147 148 149
+ 150 151 152 153 154 155 156 157 158 159
+
+ BASESET
+ "ISO 646:1983//CHARSET International Reference Version (IRV)//ESC 2/5 4/0"
+ DESCSET
+ 0 128 0
+
+ FUNCTION
+ RE 13
+ RS 10
+ SPACE 32
+ TAB SEPCHAR 9
+
+ NAMING
+ LCNMSTRT ""
+ UCNMSTRT ""
+ LCNMCHAR ".-_:"
+ UCNMCHAR ".-_:"
+ NAMECASE
+ GENERAL YES
+ ENTITY NO
+
+ DELIM
+ GENERAL SGMLREF
+ SHORTREF SGMLREF
+
+ NAMES SGMLREF
+
+ QUANTITY SGMLREF
+ ATTCNT 256
+ GRPCNT 253
+ GRPGTCNT 253
+ LITLEN 8092
+ NAMELEN 256
+ TAGLVL 100
+
+FEATURES
+
+ MINIMIZE
+ DATATAG NO
+ OMITTAG NO
+ RANK NO
+ SHORTTAG YES
+
+ LINK
+ SIMPLE NO
+ IMPLICIT NO
+ EXPLICIT NO
+
+ OTHER
+ CONCUR NO
+ SUBDOC NO
+ FORMAL YES
+
+APPINFO NONE
+
+ -- End of DocBook SGML declaration V3.1 ................................. --
+ -- ...................................................................... --
+>
--- /dev/null
+<Project xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
+ xmlns:foaf="http://xmlns.com/foaf/0.1/"
+ xmlns:gnome="http://api.gnome.org/doap-extensions#"
+ xmlns="http://usefulinc.com/ns/doap#">
+
+ <name xml:lang="en">gtk-doc</name>
+
+ <shortdesc xml:lang="en">GTK-Doc is used to document C code.
+It is typically used to document the public
+API of libraries, such as the GTK+ and GNOME libraries, but it can also be
+used to document application code.
+</shortdesc>
+
+ <homepage rdf:resource="http://www.gtk.org/gtk-doc/" />
+ <mailing-list rdf:resource="http://mail.gnome.org/mailman/listinfo/gtk-doc-devel-list" />
+ <download-page rdf:resource="http://download.gnome.org/sources/gtk-doc/" />
+ <bug-database rdf:resource="http://bugzilla.gnome.org/browse.cgi?product=gtk-doc" />
+
+ <!-- DOAP category: This is used to categorize repositories in cgit.
+ Pulse has taken its best guess at the correct category. You may
+ want to replace the rdf:resource attribute with one of the following:
+ http://api.gnome.org/doap-extensions#admin
+ http://api.gnome.org/doap-extensions#bindings
+ http://api.gnome.org/doap-extensions#deprecated
+ http://api.gnome.org/doap-extensions#desktop
+ http://api.gnome.org/doap-extensions#development
+ http://api.gnome.org/doap-extensions#infrastructure
+ http://api.gnome.org/doap-extensions#platform
+ http://api.gnome.org/doap-extensions#productivity
+ NOTE: There is an "Other" categorization on cgit, but we do not have a
+ DOAP category for it. If your module does not belong to one of these
+ groups, then do not include a category property in your DOAP file.
+ -->
+ <category rdf:resource="http://api.gnome.org/doap-extensions#development" />
+
+ <maintainer>
+ <foaf:Person>
+ <foaf:name>Stefan Kost</foaf:name>
+ <foaf:mbox rdf:resource="mailto:ensonic@users.sf.net" />
+ <gnome:userid>stefkost</gnome:userid>
+ </foaf:Person>
+ </maintainer>
+ <maintainer>
+ <foaf:Person>
+ <foaf:name>Damon Chaplin</foaf:name>
+ <gnome:userid>damon</gnome:userid>
+ </foaf:Person>
+ </maintainer>
+ <maintainer>
+ <foaf:Person>
+ <foaf:name>Owen Taylor</foaf:name>
+ <foaf:mbox rdf:resource="mailto:otaylor@redhat.com" />
+ <gnome:userid>otaylor</gnome:userid>
+ </foaf:Person>
+ </maintainer>
+ <maintainer>
+ <foaf:Person>
+ <foaf:name>Matthias Clasen</foaf:name>
+ <foaf:mbox rdf:resource="mailto:mclasen@redhat.com" />
+ <gnome:userid>matthiasc</gnome:userid>
+ </foaf:Person>
+ </maintainer>
+</Project>
--- /dev/null
+<!DOCTYPE style-sheet PUBLIC "-//James Clark//DTD DSSSL Style Sheet//EN" [
+<!ENTITY dbstyle PUBLIC "-//Norman Walsh//DOCUMENT DocBook HTML Stylesheet//EN" CDATA DSSSL>
+]>
+
+<style-sheet>
+<style-specification use="docbook">
+<style-specification-body>
+
+(define gtkdoc-version "")
+(define gtkdoc-bookname "")
+
+;; These are some customizations to the standard HTML output produced by the
+;; Modular DocBook Stylesheets.
+;; I've copied parts of a few functions from the stylesheets so these should
+;; be checked occasionally to ensure they are up to date.
+;;
+;; The last check was with version 1.40 of the stylesheets.
+;; It will not work with versions < 1.19 since the $shade-verbatim-attr$
+;; function was added then. Versions 1.19 to 1.39 may be OK, if you're lucky!
+
+;;(define %generate-book-toc% #f)
+
+;; If a Chapter has role="no-toc" we don't generate a table of contents.
+;; This is useful if a better contents page has been added manually, e.g. for
+;; the GTK+ Widgets & Objects page. (But it is a bit of a hack.)
+(define ($generate-chapter-toc$)
+ (not (equal? (attribute-string (normalize "role") (current-node)) "no-toc")))
+
+(define %chapter-autolabel%
+ ;; Are chapters enumerated?
+ #f)
+
+(define %use-id-as-filename% #t)
+
+(define %html-ext% ".html")
+
+(define ($user-html-header$ #!optional
+ (home (empty-node-list))
+ (up (empty-node-list))
+ (prev (empty-node-list))
+ (next (empty-node-list)))
+ (make sequence
+ (if (not (string=? gtkdoc-version ""))
+ (make empty-element gi: "META"
+ attributes: (list
+ (list "NAME" "GENERATOR")
+ (list "CONTENT" (string-append
+ "GTK-Doc V"
+ gtkdoc-version
+ " (SGML mode)"))))
+ (empty-sosofo))
+ (make element gi: "STYLE"
+ attributes: (list (list "TYPE" "text/css"))
+ (literal ".synopsis, .classsynopsis {
+ background: #eeeeee;
+ border: solid 1px #aaaaaa;
+ padding: 0.5em;
+}
+.programlisting {
+ background: #eeeeff;
+ border: solid 1px #aaaaff;
+ padding: 0.5em;
+}
+.variablelist {
+ padding: 4px;
+ margin-left: 3em;
+}
+.navigation {
+ background: #ffeeee;
+ border: solid 1px #ffaaaa;
+ margin-top: 0.5em;
+ margin-bottom: 0.5em;
+}
+.navigation a {
+ color: #770000;
+}
+.navigation a:visited {
+ color: #550000;
+}
+.navigation .title {
+ font-size: 200%;
+}"))))
+
+
+(mode book-titlepage-recto-mode
+ (element title
+ (make element gi: "TABLE"
+ attributes: (list
+ (list "CLASS" "navigation")
+ (list "WIDTH" %gentext-nav-tblwidth%)
+ (list "CELLPADDING" "2")
+ (list "CELLSPACING" "0"))
+ (make element gi: "TR"
+ (make element gi: "TH"
+ attributes: (list
+ (list "ALIGN" "center")
+ (list "VALIGN" "MIDDLE"))
+ (make element gi: "P"
+ attributes: (list (list "CLASS" (gi)))
+ (process-children-trim)
+ (make empty-element gi: "A"
+ attributes: (list (list "NAME" (element-id))))))))))
+
+(define (book-titlepage-separator side)
+ (empty-sosofo))
+
+
+;; This overrides the variablelist definition (copied from 1.76,
+;; dblists.dsl). It changes the table background color, cell spacing
+;; and cell padding.
+;;
+;; I have also removed the code to handle the non-table case.
+(element variablelist
+ (make sequence
+ (if %spacing-paras%
+ (make element gi: "P" (empty-sosofo))
+ (empty-sosofo))
+ (para-check)
+
+ (make element gi: "TABLE"
+ attributes: '(("CLASS" "variablelist")
+ ("BORDER" "0")
+ ("CELLSPACING" "0")
+ ("CELLPADDING" "4"))
+ (if %html40%
+ (make element gi: "TBODY"
+ (with-mode variablelist-table
+ (process-children)))
+ (with-mode variablelist-table
+ (process-children))))
+ (para-check 'restart)))
+
+(mode variablelist-table
+ (element (variablelist title)
+ (make element gi: "TR"
+ attributes: '(("CLASS" "TITLE"))
+ (make element gi: "TH"
+ attributes: '(("ALIGN" "LEFT")
+ ("VALIGN" "TOP")
+ ("COLSPAN" "2"))
+ (process-children))))
+
+ (element varlistentry
+ (let* ((terms (select-elements (children (current-node))
+ (normalize "term")))
+ (listitem (select-elements (children (current-node))
+ (normalize "listitem"))))
+
+ (make element gi: "TR"
+ (make element gi: "TD"
+ attributes: '(("ALIGN" "LEFT")
+ ("VALIGN" "TOP"))
+ (make empty-element gi: "A"
+ attributes: (list
+ (list "NAME" (element-id))))
+ (process-node-list terms))
+ (make element gi: "TD"
+ attributes: '(("ALIGN" "LEFT")
+ ("VALIGN" "TOP"))
+ (process-node-list listitem)))))
+
+ (element (varlistentry term)
+ (make sequence
+ (if %css-decoration%
+ (make element gi: "SPAN"
+ attributes: '(("STYLE" "white-space: nowrap"))
+ (process-children-trim))
+ (make element gi: "NOBR"
+ (process-children-trim)))
+ (if (not (last-sibling?))
+ (literal ", ")
+ (literal ""))))
+
+ (element (varlistentry listitem)
+ (process-children))
+)
+
+
+;; This overrides the refsect2 definition (copied from 1.20, dbrfntry.dsl).
+;; It puts a horizontal rule before each function/struct/... description,
+;; except the first one in the refsect1.
+(element refsect2
+ (make sequence
+ (if (first-sibling?)
+ (empty-sosofo)
+ (make empty-element gi: "HR"))
+ ($block-container$)))
+
+;; Override the book declaration, so that we generate a crossreference
+;; for the book
+
+(element book
+ (let* ((bookinfo (select-elements (children (current-node)) (normalize "bookinfo")))
+ (ititle (select-elements (children bookinfo) (normalize "title")))
+ (title (if (node-list-empty? ititle)
+ (select-elements (children (current-node)) (normalize "title"))
+ (node-list-first ititle)))
+ (nl (titlepage-info-elements (current-node) bookinfo))
+ (tsosofo (with-mode head-title-mode
+ (process-node-list title)))
+ (dedication (select-elements (children (current-node)) (normalize "dedication"))))
+ (make sequence
+ (html-document
+ tsosofo
+ (make element gi: "DIV"
+ attributes: '(("CLASS" "BOOK"))
+ (if %generate-book-titlepage%
+ (make sequence
+ (book-titlepage nl 'recto)
+ (book-titlepage nl 'verso))
+ (empty-sosofo))
+
+ (if (node-list-empty? dedication)
+ (empty-sosofo)
+ (with-mode dedication-page-mode
+ (process-node-list dedication)))
+
+ (if (not (generate-toc-in-front))
+ (process-children)
+ (empty-sosofo))
+
+ (if %generate-book-toc%
+ (build-toc (current-node) (toc-depth (current-node)))
+ (empty-sosofo))
+
+ ;; (let loop ((gilist %generate-book-lot-list%))
+ ;; (if (null? gilist)
+ ;; (empty-sosofo)
+ ;; (if (not (node-list-empty?
+ ;; (select-elements (descendants (current-node))
+ ;; (car gilist))))
+ ;; (make sequence
+ ;; (build-lot (current-node) (car gilist))
+ ;; (loop (cdr gilist)))
+ ;; (loop (cdr gilist)))))
+
+ (if (generate-toc-in-front)
+ (process-children)
+ (empty-sosofo))))
+ (make entity
+ system-id: "index.sgml"
+ (with-mode generate-index-mode
+ (process-children))))))
+
+;; Mode for generating cross references
+
+(define (process-child-elements)
+ (process-node-list
+ (node-list-map (lambda (snl)
+ (if (equal? (node-property 'class-name snl) 'element)
+ snl
+ (empty-node-list)))
+ (children (current-node)))))
+
+(mode generate-index-mode
+ (element anchor
+ (if (attribute-string "href" (current-node))
+ (empty-sosofo)
+ (make formatting-instruction data:
+ (string-append "\less-than-sign;ANCHOR id =\""
+ (attribute-string "id" (current-node))
+ "\" href=\""
+ (if (not (string=? gtkdoc-bookname ""))
+ (string-append gtkdoc-bookname "/")
+ "")
+ (href-to (current-node))
+ "\"\greater-than-sign;
+"))))
+
+ ;; We also want to be able to link to complete RefEntry.
+ (element refentry
+ (make sequence
+ (make formatting-instruction data:
+ (string-append "\less-than-sign;ANCHOR id =\""
+ (attribute-string "id" (current-node))
+ "\" href=\""
+ (if (not (string=? gtkdoc-bookname ""))
+ (string-append gtkdoc-bookname "/")
+ "")
+ (href-to (current-node))
+ "\"\greater-than-sign;
+"))
+ (process-child-elements)))
+
+ (default
+ (process-child-elements)))
+
+;; For hypertext links for which no target is found in the document, we output
+;; our own special tag which we use later to resolve cross-document links.
+(element link
+ (let* ((target (element-with-id (attribute-string (normalize "linkend")))))
+ (if (node-list-empty? target)
+ (make element gi: "GTKDOCLINK"
+ attributes: (list
+ (list "HREF" (attribute-string (normalize "linkend"))))
+ (process-children))
+ (make element gi: "A"
+ attributes: (list
+ (list "HREF" (href-to target)))
+ (process-children)))))
+
+
+;; This overrides default-header-nav-tbl-noff (copied from 1.20, dbnavig.dsl).
+;; I want 'Home' and 'Up' links at the top of each page, and white text on
+;; black.
+(define (default-header-nav-tbl-noff elemnode prev next prevsib nextsib)
+ (let* ((up (parent elemnode))
+ (home (nav-home elemnode))
+ (show-title? (nav-banner? elemnode))
+ (title-sosofo
+ (make element gi: "TH"
+ attributes: (list
+ (list "WIDTH" "100%")
+ (list "align" "center"))
+ (if show-title?
+ (nav-banner elemnode)
+ (empty-sosofo))))
+ (show-banner? (or show-title?
+ (not (node-list-empty? prev))
+ (not (node-list-empty? next))
+ (nav-context? elemnode)))
+ (banner-sosofo
+ (make element gi: "TR"
+ attributes: (list
+ (list "VALIGN" "middle"))
+ (if (not (node-list-empty? prev))
+ (make element gi: "TD"
+ (make element gi: "A"
+ attributes: (list
+ (list "ACCESSKEY" "p")
+ (list "HREF"
+ (href-to prev)))
+ (make empty-element gi: "IMG"
+ attributes: (list
+ (list "SRC" "left.png")
+ (list "WIDTH" "24")
+ (list "HEIGHT" "24")
+ (list "BORDER" "0")
+ (list "ALT" "Prev")))))
+ (empty-sosofo))
+ (if (nav-up? elemnode)
+ (make element gi: "TD"
+ (make element gi: "A"
+ attributes: (list
+ (list "ACCESSKEY" "u")
+ (list "HREF"
+ (href-to up)))
+ (make empty-element gi: "IMG"
+ attributes: (list
+ (list "SRC" "up.png")
+ (list "WIDTH" "24")
+ (list "HEIGHT" "24")
+ (list "BORDER" "0")
+ (list "ALT" "Up")))))
+ (empty-sosofo))
+ (if (nav-home? elemnode)
+ (make element gi: "TD"
+ (make element gi: "A"
+ attributes: (list
+ (list "ACCESSKEY" "h")
+ (list "HREF"
+ (href-to home)))
+ (make empty-element gi: "IMG"
+ attributes: (list
+ (list "SRC" "home.png")
+ (list "WIDTH" "24")
+ (list "HEIGHT" "24")
+ (list "BORDER" "0")
+ (list "ALT" "Home")))))
+ (empty-sosofo))
+ title-sosofo
+ (if (not (node-list-empty? next))
+ (make element gi: "TD"
+ (make element gi: "A"
+ attributes: (list
+ (list "ACCESSKEY" "n")
+ (list "HREF"
+ (href-to next)))
+ (make empty-element gi: "IMG"
+ attributes: (list
+ (list "SRC" "right.png")
+ (list "WIDTH" "24")
+ (list "HEIGHT" "24")
+ (list "BORDER" "0")
+ (list "ALT" "Next")))))
+ (empty-sosofo)))))
+
+ (if show-banner?
+ (make element gi: "TABLE"
+ attributes: (list
+ (list "WIDTH" %gentext-nav-tblwidth%)
+ (list "CLASS" "navigation")
+ (list "SUMMARY" "Navigation header")
+ (list "CELLPADDING" "2")
+ (list "CELLSPACING" "2"))
+ banner-sosofo)
+ (empty-sosofo))))
+
+;; This overrides default-footer-nav-tbl (copied from 1.20, dbnavig.dsl).
+;; It matches the header above.
+(define (default-footer-nav-tbl elemnode prev next prevsib nextsib)
+ (let* ((show-footer? (or (not (node-list-empty? prev))
+ (not (node-list-empty? next))))
+ (footer-sosofo
+ (make element gi: "TR"
+ attributes: (list
+ (list "VALIGN" "middle"))
+ (make element gi: "TD"
+ attributes: (list
+ (list "ALIGN" "left"))
+ (if (not (node-list-empty? prev))
+ (make element gi: "A"
+ attributes: (list
+ (list "ACCESSKEY" "p")
+ (list "HREF" (href-to prev)))
+ (make element gi: "B"
+ (make entity-ref name: "lt")
+ (make entity-ref name: "lt")
+ (make entity-ref name: "lt")
+ (make entity-ref name: "nbsp")
+ (element-title-sosofo prev)))
+ (empty-sosofo)))
+ (make element gi: "TD"
+ attributes: (list
+ (list "ALIGN" "right"))
+ (if (not (node-list-empty? next))
+ (make element gi: "A"
+ attributes: (list
+ (list "ACCESSKEY" "n")
+ (list "HREF" (href-to next)))
+ (make element gi: "B"
+ (element-title-sosofo next)
+ (make entity-ref name: "nbsp")
+ (make entity-ref name: "gt")
+ (make entity-ref name: "gt")
+ (make entity-ref name: "gt")))
+ (empty-sosofo))))))
+
+ (if show-footer?
+ (make element gi: "TABLE"
+ attributes: (list
+ (list "CLASS" "navigation")
+ (list "WIDTH" %gentext-nav-tblwidth%)
+ (list "SUMMARY" "Navigation footer")
+ (list "CELLPADDING" "2")
+ (list "CELLSPACING" "2"))
+ footer-sosofo)
+ (empty-sosofo))))
+
+
+(define ($section-body$)
+ (make sequence
+ (make empty-element gi: "BR"
+ attributes: (list (list "CLEAR" "all")))
+ (make element gi: "DIV"
+ attributes: (list (list "CLASS" (gi)))
+ ($section-separator$)
+ ($section-title$)
+ (process-children))))
+
+</style-specification-body>
+</style-specification>
+<external-specification id="docbook" document="dbstyle">
+</style-sheet>
--- /dev/null
+# -*- mode: makefile -*-
+
+####################################
+# Everything below here is generic #
+####################################
+
+if GTK_DOC_USE_LIBTOOL
+GTKDOC_CC = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(INCLUDES) $(GTKDOC_DEPS_CFLAGS) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+GTKDOC_LD = $(LIBTOOL) --tag=CC --mode=link $(CC) $(GTKDOC_DEPS_LIBS) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS)
+GTKDOC_RUN = $(LIBTOOL) --mode=execute
+else
+GTKDOC_CC = $(CC) $(INCLUDES) $(GTKDOC_DEPS_CFLAGS) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+GTKDOC_LD = $(CC) $(GTKDOC_DEPS_LIBS) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS)
+GTKDOC_RUN =
+endif
+
+# We set GPATH here; this gives us semantics for GNU make
+# which are more like other make's VPATH, when it comes to
+# whether a source that is a target of one rule is then
+# searched for in VPATH/GPATH.
+#
+GPATH = $(srcdir)
+
+TARGET_DIR=$(HTML_DIR)/$(DOC_MODULE)
+
+SETUP_FILES = \
+ $(content_files) \
+ $(DOC_MAIN_SGML_FILE) \
+ $(DOC_MODULE)-sections.txt \
+ $(DOC_MODULE)-overrides.txt
+
+EXTRA_DIST += \
+ $(HTML_IMAGES) \
+ $(SETUP_FILES)
+
+DOC_STAMPS=setup-build.stamp scan-build.stamp tmpl-build.stamp sgml-build.stamp \
+ html-build.stamp pdf-build.stamp \
+ tmpl.stamp sgml.stamp html.stamp pdf.stamp
+
+SCANOBJ_FILES = \
+ $(DOC_MODULE).args \
+ $(DOC_MODULE).hierarchy \
+ $(DOC_MODULE).interfaces \
+ $(DOC_MODULE).prerequisites \
+ $(DOC_MODULE).signals
+
+REPORT_FILES = \
+ $(DOC_MODULE)-undocumented.txt \
+ $(DOC_MODULE)-undeclared.txt \
+ $(DOC_MODULE)-unused.txt
+
+CLEANFILES = $(SCANOBJ_FILES) $(REPORT_FILES) $(DOC_STAMPS)
+
+if ENABLE_GTK_DOC
+if GTK_DOC_BUILD_HTML
+HTML_BUILD_STAMP=html-build.stamp
+else
+HTML_BUILD_STAMP=
+endif
+if GTK_DOC_BUILD_PDF
+PDF_BUILD_STAMP=pdf-build.stamp
+else
+PDF_BUILD_STAMP=
+endif
+
+all-local: $(HTML_BUILD_STAMP) $(PDF_BUILD_STAMP)
+else
+all-local:
+endif
+
+docs: $(HTML_BUILD_STAMP) $(PDF_BUILD_STAMP)
+
+$(REPORT_FILES): sgml-build.stamp
+
+#### setup ####
+
+setup-build.stamp:
+ -@if test "$(abs_srcdir)" != "$(abs_builddir)" ; then \
+ echo ' DOC Preparing build'; \
+ files=`echo $(SETUP_FILES) $(expand_content_files) $(DOC_MODULE).types`; \
+ if test "x$$files" != "x" ; then \
+ for file in $$files ; do \
+ test -f $(abs_srcdir)/$$file && \
+ cp -pu $(abs_srcdir)/$$file $(abs_builddir)/ || true; \
+ done; \
+ fi; \
+ test -d $(abs_srcdir)/tmpl && \
+ { cp -rp $(abs_srcdir)/tmpl $(abs_builddir)/; \
+ chmod -R u+w $(abs_builddir)/tmpl; } \
+ fi
+ @touch setup-build.stamp
+
+#### scan ####
+
+scan-build.stamp: $(HFILE_GLOB) $(CFILE_GLOB)
+ @echo ' DOC Scanning header files'
+ @_source_dir='' ; \
+ for i in $(DOC_SOURCE_DIR) ; do \
+ _source_dir="$${_source_dir} --source-dir=$$i" ; \
+ done ; \
+ gtkdoc-scan --module=$(DOC_MODULE) --ignore-headers="$(IGNORE_HFILES)" $${_source_dir} $(SCAN_OPTIONS) $(EXTRA_HFILES)
+ @if grep -l '^..*$$' $(DOC_MODULE).types > /dev/null 2>&1 ; then \
+ echo " DOC Introspecting gobjects"; \
+ scanobj_options=""; \
+ gtkdoc-scangobj 2>&1 --help | grep >/dev/null "\-\-verbose"; \
+ if test "$(?)" = "0"; then \
+ if test "x$(V)" = "x1"; then \
+ scanobj_options="--verbose"; \
+ fi; \
+ fi; \
+ CC="$(GTKDOC_CC)" LD="$(GTKDOC_LD)" RUN="$(GTKDOC_RUN)" CFLAGS="$(GTKDOC_CFLAGS) $(CFLAGS)" LDFLAGS="$(GTKDOC_LIBS) $(LDFLAGS)" \
+ gtkdoc-scangobj $(SCANGOBJ_OPTIONS) $$scanobj_options --module=$(DOC_MODULE); \
+ else \
+ for i in $(SCANOBJ_FILES) ; do \
+ test -f $$i || touch $$i ; \
+ done \
+ fi
+ @touch scan-build.stamp
+
+$(DOC_MODULE)-decl.txt $(SCANOBJ_FILES) $(DOC_MODULE)-sections.txt $(DOC_MODULE)-overrides.txt: scan-build.stamp
+ @true
+
+#### templates ####
+
+tmpl-build.stamp: setup-build.stamp $(DOC_MODULE)-decl.txt $(SCANOBJ_FILES) $(DOC_MODULE)-sections.txt $(DOC_MODULE)-overrides.txt
+ @echo ' DOC Rebuilding template files'
+ @gtkdoc-mktmpl --module=$(DOC_MODULE) $(MKTMPL_OPTIONS)
+ @if test "$(abs_srcdir)" != "$(abs_builddir)" ; then \
+ if test -w $(abs_srcdir) ; then \
+ cp -rp $(abs_builddir)/tmpl $(abs_srcdir)/; \
+ fi \
+ fi
+ @touch tmpl-build.stamp
+
+tmpl.stamp: tmpl-build.stamp
+ @true
+
+$(srcdir)/tmpl/*.sgml:
+ @true
+
+#### xml ####
+
+sgml-build.stamp: tmpl.stamp $(DOC_MODULE)-sections.txt $(srcdir)/tmpl/*.sgml $(expand_content_files)
+ @echo ' DOC Building XML'
+ @-chmod -R u+w $(srcdir)
+ @_source_dir='' ; \
+ for i in $(DOC_SOURCE_DIR) ; do \
+ _source_dir="$${_source_dir} --source-dir=$$i" ; \
+ done ; \
+ gtkdoc-mkdb --module=$(DOC_MODULE) --output-format=xml --expand-content-files="$(expand_content_files)" --main-sgml-file=$(DOC_MAIN_SGML_FILE) $${_source_dir} $(MKDB_OPTIONS)
+ @touch sgml-build.stamp
+
+sgml.stamp: sgml-build.stamp
+ @true
+
+#### html ####
+
+html-build.stamp: sgml.stamp $(DOC_MAIN_SGML_FILE) $(content_files)
+ @echo ' DOC Building HTML'
+ @rm -rf html
+ @mkdir html
+ @mkhtml_options=""; \
+ gtkdoc-mkhtml 2>&1 --help | grep >/dev/null "\-\-verbose"; \
+ if test "$(?)" = "0"; then \
+ if test "x$(V)" = "x1"; then \
+ mkhtml_options="$$mkhtml_options --verbose"; \
+ fi; \
+ fi; \
+ gtkdoc-mkhtml 2>&1 --help | grep >/dev/null "\-\-path"; \
+ if test "$(?)" = "0"; then \
+ mkhtml_options="$$mkhtml_options --path=\"$(abs_srcdir)\""; \
+ fi; \
+ cd html && gtkdoc-mkhtml $$mkhtml_options $(MKHTML_OPTIONS) $(DOC_MODULE) ../$(DOC_MAIN_SGML_FILE)
+ -@test "x$(HTML_IMAGES)" = "x" || \
+ for file in $(HTML_IMAGES) ; do \
+ if test -f $(abs_srcdir)/$$file ; then \
+ cp $(abs_srcdir)/$$file $(abs_builddir)/html; \
+ fi; \
+ if test -f $(abs_builddir)/$$file ; then \
+ cp $(abs_builddir)/$$file $(abs_builddir)/html; \
+ fi; \
+ done;
+ @echo ' DOC Fixing cross-references'
+ @gtkdoc-fixxref --module=$(DOC_MODULE) --module-dir=html --html-dir=$(HTML_DIR) $(FIXXREF_OPTIONS)
+ @touch html-build.stamp
+
+#### pdf ####
+
+pdf-build.stamp: sgml.stamp $(DOC_MAIN_SGML_FILE) $(content_files)
+ @echo ' DOC Building PDF'
+ @rm -f $(DOC_MODULE).pdf
+ @mkpdf_options=""; \
+ gtkdoc-mkpdf 2>&1 --help | grep >/dev/null "\-\-verbose"; \
+ if test "$(?)" = "0"; then \
+ if test "x$(V)" = "x1"; then \
+ mkpdf_options="$$mkpdf_options --verbose"; \
+ fi; \
+ fi; \
+ if test "x$(HTML_IMAGES)" != "x"; then \
+ for img in $(HTML_IMAGES); do \
+ part=`dirname $$img`; \
+ echo $$mkpdf_options | grep >/dev/null "\-\-imgdir=$$part "; \
+ if test $$? != 0; then \
+ mkpdf_options="$$mkpdf_options --imgdir=$$part"; \
+ fi; \
+ done; \
+ fi; \
+ gtkdoc-mkpdf --path="$(abs_srcdir)" $$mkpdf_options $(DOC_MODULE) $(DOC_MAIN_SGML_FILE) $(MKPDF_OPTIONS)
+ @touch pdf-build.stamp
+
+##############
+
+clean-local:
+ @rm -f *~ *.bak
+ @rm -rf .libs
+
+distclean-local:
+ @rm -rf xml html $(REPORT_FILES) $(DOC_MODULE).pdf \
+ $(DOC_MODULE)-decl-list.txt $(DOC_MODULE)-decl.txt
+ @if test "$(abs_srcdir)" != "$(abs_builddir)" ; then \
+ rm -f $(SETUP_FILES) $(expand_content_files) $(DOC_MODULE).types; \
+ rm -rf tmpl; \
+ fi
+
+maintainer-clean-local: clean
+ @rm -rf xml html
+
+install-data-local:
+ @installfiles=`echo $(builddir)/html/*`; \
+ if test "$$installfiles" = '$(builddir)/html/*'; \
+ then echo 1>&2 'Nothing to install' ; \
+ else \
+ if test -n "$(DOC_MODULE_VERSION)"; then \
+ installdir="$(DESTDIR)$(TARGET_DIR)-$(DOC_MODULE_VERSION)"; \
+ else \
+ installdir="$(DESTDIR)$(TARGET_DIR)"; \
+ fi; \
+ $(mkinstalldirs) $${installdir} ; \
+ for i in $$installfiles; do \
+ echo ' $(INSTALL_DATA) '$$i ; \
+ $(INSTALL_DATA) $$i $${installdir}; \
+ done; \
+ if test -n "$(DOC_MODULE_VERSION)"; then \
+ mv -f $${installdir}/$(DOC_MODULE).devhelp2 \
+ $${installdir}/$(DOC_MODULE)-$(DOC_MODULE_VERSION).devhelp2; \
+ fi; \
+ $(GTKDOC_REBASE) --relative --dest-dir=$(DESTDIR) --html-dir=$${installdir}; \
+ fi
+
+uninstall-local:
+ @if test -n "$(DOC_MODULE_VERSION)"; then \
+ installdir="$(DESTDIR)$(TARGET_DIR)-$(DOC_MODULE_VERSION)"; \
+ else \
+ installdir="$(DESTDIR)$(TARGET_DIR)"; \
+ fi; \
+ rm -rf $${installdir}
+
+#
+# Require gtk-doc when making dist
+#
+if ENABLE_GTK_DOC
+dist-check-gtkdoc:
+else
+dist-check-gtkdoc:
+ @echo "*** gtk-doc must be installed and enabled in order to make dist"
+ @false
+endif
+
+dist-hook: dist-check-gtkdoc dist-hook-local
+ @mkdir $(distdir)/tmpl
+ @mkdir $(distdir)/html
+ @-cp ./tmpl/*.sgml $(distdir)/tmpl
+ @cp ./html/* $(distdir)/html
+ @-cp ./$(DOC_MODULE).pdf $(distdir)/
+ @-cp ./$(DOC_MODULE).types $(distdir)/
+ @-cp ./$(DOC_MODULE)-sections.txt $(distdir)/
+ @cd $(distdir) && rm -f $(DISTCLEANFILES)
+ @$(GTKDOC_REBASE) --online --relative --html-dir=$(distdir)/html
+
+.PHONY : dist-hook-local docs
--- /dev/null
+dnl -*- mode: autoconf -*-
+
+# serial 1
+
+dnl Usage:
+dnl GTK_DOC_CHECK([minimum-gtk-doc-version])
+AC_DEFUN([GTK_DOC_CHECK],
+[
+ AC_REQUIRE([PKG_PROG_PKG_CONFIG])
+ AC_BEFORE([AC_PROG_LIBTOOL],[$0])dnl setup libtool first
+ AC_BEFORE([AM_PROG_LIBTOOL],[$0])dnl setup libtool first
+
+ dnl check for tools we added during development
+ AC_PATH_PROG([GTKDOC_CHECK],[gtkdoc-check])
+ AC_PATH_PROGS([GTKDOC_REBASE],[gtkdoc-rebase],[true])
+ AC_PATH_PROG([GTKDOC_MKPDF],[gtkdoc-mkpdf])
+
+ dnl for overriding the documentation installation directory
+ AC_ARG_WITH([html-dir],
+ AS_HELP_STRING([--with-html-dir=PATH], [path to installed docs]),,
+ [with_html_dir='${datadir}/gtk-doc/html'])
+ HTML_DIR="$with_html_dir"
+ AC_SUBST([HTML_DIR])
+
+ dnl enable/disable documentation building
+ AC_ARG_ENABLE([gtk-doc],
+ AS_HELP_STRING([--enable-gtk-doc],
+ [use gtk-doc to build documentation [[default=no]]]),,
+ [enable_gtk_doc=no])
+
+ if test x$enable_gtk_doc = xyes; then
+ ifelse([$1],[],
+ [PKG_CHECK_EXISTS([gtk-doc],,
+ AC_MSG_ERROR([gtk-doc not installed and --enable-gtk-doc requested]))],
+ [PKG_CHECK_EXISTS([gtk-doc >= $1],,
+ AC_MSG_ERROR([You need to have gtk-doc >= $1 installed to build $PACKAGE_NAME]))])
+ dnl don't check for glib if we build glib
+ if test "x$PACKAGE_NAME" != "xglib"; then
+ dnl don't fail if someone does not have glib
+ PKG_CHECK_MODULES(GTKDOC_DEPS, glib-2.0 >= 2.10.0 gobject-2.0 >= 2.10.0,,)
+ fi
+ fi
+
+ AC_MSG_CHECKING([whether to build gtk-doc documentation])
+ AC_MSG_RESULT($enable_gtk_doc)
+
+ dnl enable/disable output formats
+ AC_ARG_ENABLE([gtk-doc-html],
+ AS_HELP_STRING([--enable-gtk-doc-html],
+ [build documentation in html format [[default=yes]]]),,
+ [enable_gtk_doc_html=yes])
+ AC_ARG_ENABLE([gtk-doc-pdf],
+ AS_HELP_STRING([--enable-gtk-doc-pdf],
+ [build documentation in pdf format [[default=no]]]),,
+ [enable_gtk_doc_pdf=no])
+
+ if test -z "$GTKDOC_MKPDF"; then
+ enable_gtk_doc_pdf=no
+ fi
+
+
+ AM_CONDITIONAL([ENABLE_GTK_DOC], [test x$enable_gtk_doc = xyes])
+ AM_CONDITIONAL([GTK_DOC_BUILD_HTML], [test x$enable_gtk_doc_html = xyes])
+ AM_CONDITIONAL([GTK_DOC_BUILD_PDF], [test x$enable_gtk_doc_pdf = xyes])
+ AM_CONDITIONAL([GTK_DOC_USE_LIBTOOL], [test -n "$LIBTOOL"])
+ AM_CONDITIONAL([GTK_DOC_USE_REBASE], [test -n "$GTKDOC_REBASE"])
+])
--- /dev/null
+# -*- mode: makefile -*-
+
+####################################
+# Everything below here is generic #
+####################################
+
+if GTK_DOC_USE_LIBTOOL
+GTKDOC_CC = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(INCLUDES) $(GTKDOC_DEPS_CFLAGS) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+GTKDOC_LD = $(LIBTOOL) --tag=CC --mode=link $(CC) $(GTKDOC_DEPS_LIBS) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS)
+GTKDOC_RUN = $(LIBTOOL) --mode=execute
+else
+GTKDOC_CC = $(CC) $(INCLUDES) $(GTKDOC_DEPS_CFLAGS) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+GTKDOC_LD = $(CC) $(GTKDOC_DEPS_LIBS) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS)
+GTKDOC_RUN =
+endif
+
+# We set GPATH here; this gives us semantics for GNU make
+# which are more like other make's VPATH, when it comes to
+# whether a source that is a target of one rule is then
+# searched for in VPATH/GPATH.
+#
+GPATH = $(srcdir)
+
+TARGET_DIR=$(HTML_DIR)/$(DOC_MODULE)
+
+SETUP_FILES = \
+ $(content_files) \
+ $(DOC_MAIN_SGML_FILE) \
+ $(DOC_MODULE)-sections.txt \
+ $(DOC_MODULE)-overrides.txt
+
+EXTRA_DIST = \
+ $(HTML_IMAGES) \
+ $(SETUP_FILES)
+
+DOC_STAMPS=setup-build.stamp scan-build.stamp tmpl-build.stamp sgml-build.stamp \
+ html-build.stamp pdf-build.stamp \
+ tmpl.stamp sgml.stamp html.stamp pdf.stamp
+
+SCANOBJ_FILES = \
+ $(DOC_MODULE).args \
+ $(DOC_MODULE).hierarchy \
+ $(DOC_MODULE).interfaces \
+ $(DOC_MODULE).prerequisites \
+ $(DOC_MODULE).signals
+
+REPORT_FILES = \
+ $(DOC_MODULE)-undocumented.txt \
+ $(DOC_MODULE)-undeclared.txt \
+ $(DOC_MODULE)-unused.txt
+
+CLEANFILES = $(SCANOBJ_FILES) $(REPORT_FILES) $(DOC_STAMPS)
+
+if ENABLE_GTK_DOC
+if GTK_DOC_BUILD_HTML
+HTML_BUILD_STAMP=html-build.stamp
+else
+HTML_BUILD_STAMP=
+endif
+if GTK_DOC_BUILD_PDF
+PDF_BUILD_STAMP=pdf-build.stamp
+else
+PDF_BUILD_STAMP=
+endif
+
+all-local: $(HTML_BUILD_STAMP) $(PDF_BUILD_STAMP)
+else
+all-local:
+endif
+
+docs: $(HTML_BUILD_STAMP) $(PDF_BUILD_STAMP)
+
+$(REPORT_FILES): sgml-build.stamp
+
+#### setup ####
+
+setup-build.stamp:
+ -@if test "$(abs_srcdir)" != "$(abs_builddir)" ; then \
+ echo ' DOC Preparing build'; \
+ files=`echo $(SETUP_FILES) $(expand_content_files) $(DOC_MODULE).types`; \
+ if test "x$$files" != "x" ; then \
+ for file in $$files ; do \
+ test -f $(abs_srcdir)/$$file && \
+ cp -pu $(abs_srcdir)/$$file $(abs_builddir)/ || true; \
+ done; \
+ fi; \
+ test -d $(abs_srcdir)/tmpl && \
+ { cp -rp $(abs_srcdir)/tmpl $(abs_builddir)/; \
+ chmod -R u+w $(abs_builddir)/tmpl; } \
+ fi
+ @touch setup-build.stamp
+
+#### scan ####
+
+scan-build.stamp: $(HFILE_GLOB) $(CFILE_GLOB)
+ @echo ' DOC Scanning header files'
+ @_source_dir='' ; \
+ for i in $(DOC_SOURCE_DIR) ; do \
+ _source_dir="$${_source_dir} --source-dir=$$i" ; \
+ done ; \
+ gtkdoc-scan --module=$(DOC_MODULE) --ignore-headers="$(IGNORE_HFILES)" $${_source_dir} $(SCAN_OPTIONS) $(EXTRA_HFILES)
+ @if grep -l '^..*$$' $(DOC_MODULE).types > /dev/null 2>&1 ; then \
+ echo " DOC Introspecting gobjects"; \
+ scanobj_options=""; \
+ gtkdoc-scangobj 2>&1 --help | grep >/dev/null "\-\-verbose"; \
+ if test "$(?)" = "0"; then \
+ if test "x$(V)" = "x1"; then \
+ scanobj_options="--verbose"; \
+ fi; \
+ fi; \
+ CC="$(GTKDOC_CC)" LD="$(GTKDOC_LD)" RUN="$(GTKDOC_RUN)" CFLAGS="$(GTKDOC_CFLAGS) $(CFLAGS)" LDFLAGS="$(GTKDOC_LIBS) $(LDFLAGS)" \
+ gtkdoc-scangobj $(SCANGOBJ_OPTIONS) $$scanobj_options --module=$(DOC_MODULE); \
+ else \
+ for i in $(SCANOBJ_FILES) ; do \
+ test -f $$i || touch $$i ; \
+ done \
+ fi
+ @touch scan-build.stamp
+
+$(DOC_MODULE)-decl.txt $(SCANOBJ_FILES) $(DOC_MODULE)-sections.txt $(DOC_MODULE)-overrides.txt: scan-build.stamp
+ @true
+
+#### templates ####
+
+tmpl-build.stamp: setup-build.stamp $(DOC_MODULE)-decl.txt $(SCANOBJ_FILES) $(DOC_MODULE)-sections.txt $(DOC_MODULE)-overrides.txt
+ @echo ' DOC Rebuilding template files'
+ @gtkdoc-mktmpl --module=$(DOC_MODULE) $(MKTMPL_OPTIONS)
+ @if test "$(abs_srcdir)" != "$(abs_builddir)" ; then \
+ if test -w $(abs_srcdir) ; then \
+ cp -rp $(abs_builddir)/tmpl $(abs_srcdir)/; \
+ fi \
+ fi
+ @touch tmpl-build.stamp
+
+tmpl.stamp: tmpl-build.stamp
+ @true
+
+$(srcdir)/tmpl/*.sgml:
+ @true
+
+#### xml ####
+
+sgml-build.stamp: tmpl.stamp $(DOC_MODULE)-sections.txt $(srcdir)/tmpl/*.sgml $(expand_content_files)
+ @echo ' DOC Building XML'
+ @-chmod -R u+w $(srcdir)
+ @_source_dir='' ; \
+ for i in $(DOC_SOURCE_DIR) ; do \
+ _source_dir="$${_source_dir} --source-dir=$$i" ; \
+ done ; \
+ gtkdoc-mkdb --module=$(DOC_MODULE) --output-format=xml --expand-content-files="$(expand_content_files)" --main-sgml-file=$(DOC_MAIN_SGML_FILE) $${_source_dir} $(MKDB_OPTIONS)
+ @touch sgml-build.stamp
+
+sgml.stamp: sgml-build.stamp
+ @true
+
+#### html ####
+
+html-build.stamp: sgml.stamp $(DOC_MAIN_SGML_FILE) $(content_files)
+ @echo ' DOC Building HTML'
+ @rm -rf html
+ @mkdir html
+ @mkhtml_options=""; \
+ gtkdoc-mkhtml 2>&1 --help | grep >/dev/null "\-\-verbose"; \
+ if test "$(?)" = "0"; then \
+ if test "x$(V)" = "x1"; then \
+ mkhtml_options="$$mkhtml_options --verbose"; \
+ fi; \
+ fi; \
+ gtkdoc-mkhtml 2>&1 --help | grep >/dev/null "\-\-path"; \
+ if test "$(?)" = "0"; then \
+ mkhtml_options="$$mkhtml_options --path=\"$(abs_srcdir)\""; \
+ fi; \
+ cd html && gtkdoc-mkhtml $$mkhtml_options $(MKHTML_OPTIONS) $(DOC_MODULE) ../$(DOC_MAIN_SGML_FILE)
+ -@test "x$(HTML_IMAGES)" = "x" || \
+ for file in $(HTML_IMAGES) ; do \
+ if test -f $(abs_srcdir)/$$file ; then \
+ cp $(abs_srcdir)/$$file $(abs_builddir)/html; \
+ fi; \
+ if test -f $(abs_builddir)/$$file ; then \
+ cp $(abs_builddir)/$$file $(abs_builddir)/html; \
+ fi; \
+ done;
+ @echo ' DOC Fixing cross-references'
+ @gtkdoc-fixxref --module=$(DOC_MODULE) --module-dir=html --html-dir=$(HTML_DIR) $(FIXXREF_OPTIONS)
+ @touch html-build.stamp
+
+#### pdf ####
+
+pdf-build.stamp: sgml.stamp $(DOC_MAIN_SGML_FILE) $(content_files)
+ @echo ' DOC Building PDF'
+ @rm -f $(DOC_MODULE).pdf
+ @mkpdf_options=""; \
+ gtkdoc-mkpdf 2>&1 --help | grep >/dev/null "\-\-verbose"; \
+ if test "$(?)" = "0"; then \
+ if test "x$(V)" = "x1"; then \
+ mkpdf_options="$$mkpdf_options --verbose"; \
+ fi; \
+ fi; \
+ if test "x$(HTML_IMAGES)" != "x"; then \
+ for img in $(HTML_IMAGES); do \
+ part=`dirname $$img`; \
+ echo $$mkpdf_options | grep >/dev/null "\-\-imgdir=$$part "; \
+ if test $$? != 0; then \
+ mkpdf_options="$$mkpdf_options --imgdir=$$part"; \
+ fi; \
+ done; \
+ fi; \
+ gtkdoc-mkpdf --path="$(abs_srcdir)" $$mkpdf_options $(DOC_MODULE) $(DOC_MAIN_SGML_FILE) $(MKPDF_OPTIONS)
+ @touch pdf-build.stamp
+
+##############
+
+clean-local:
+ @rm -f *~ *.bak
+ @rm -rf .libs
+
+distclean-local:
+ @rm -rf xml html $(REPORT_FILES) $(DOC_MODULE).pdf \
+ $(DOC_MODULE)-decl-list.txt $(DOC_MODULE)-decl.txt
+ @if test "$(abs_srcdir)" != "$(abs_builddir)" ; then \
+ rm -f $(SETUP_FILES) $(expand_content_files) $(DOC_MODULE).types; \
+ rm -rf tmpl; \
+ fi
+
+maintainer-clean-local: clean
+ @rm -rf xml html
+
+install-data-local:
+ @installfiles=`echo $(builddir)/html/*`; \
+ if test "$$installfiles" = '$(builddir)/html/*'; \
+ then echo 1>&2 'Nothing to install' ; \
+ else \
+ if test -n "$(DOC_MODULE_VERSION)"; then \
+ installdir="$(DESTDIR)$(TARGET_DIR)-$(DOC_MODULE_VERSION)"; \
+ else \
+ installdir="$(DESTDIR)$(TARGET_DIR)"; \
+ fi; \
+ $(mkinstalldirs) $${installdir} ; \
+ for i in $$installfiles; do \
+ echo ' $(INSTALL_DATA) '$$i ; \
+ $(INSTALL_DATA) $$i $${installdir}; \
+ done; \
+ if test -n "$(DOC_MODULE_VERSION)"; then \
+ mv -f $${installdir}/$(DOC_MODULE).devhelp2 \
+ $${installdir}/$(DOC_MODULE)-$(DOC_MODULE_VERSION).devhelp2; \
+ fi; \
+ $(GTKDOC_REBASE) --relative --dest-dir=$(DESTDIR) --html-dir=$${installdir}; \
+ fi
+
+uninstall-local:
+ @if test -n "$(DOC_MODULE_VERSION)"; then \
+ installdir="$(DESTDIR)$(TARGET_DIR)-$(DOC_MODULE_VERSION)"; \
+ else \
+ installdir="$(DESTDIR)$(TARGET_DIR)"; \
+ fi; \
+ rm -rf $${installdir}
+
+#
+# Require gtk-doc when making dist
+#
+if ENABLE_GTK_DOC
+dist-check-gtkdoc:
+else
+dist-check-gtkdoc:
+ @echo "*** gtk-doc must be installed and enabled in order to make dist"
+ @false
+endif
+
+dist-hook: dist-check-gtkdoc dist-hook-local
+ @mkdir $(distdir)/tmpl
+ @mkdir $(distdir)/html
+ @-cp ./tmpl/*.sgml $(distdir)/tmpl
+ @cp ./html/* $(distdir)/html
+ @-cp ./$(DOC_MODULE).pdf $(distdir)/
+ @-cp ./$(DOC_MODULE).types $(distdir)/
+ @-cp ./$(DOC_MODULE)-sections.txt $(distdir)/
+ @cd $(distdir) && rm -f $(DISTCLEANFILES)
+ @$(GTKDOC_REBASE) --online --relative --html-dir=$(distdir)/html
+
+.PHONY : dist-hook-local docs
--- /dev/null
+# -*- mode: makefile -*-
+
+####################################
+# Everything below here is generic #
+####################################
+
+if GTK_DOC_USE_LIBTOOL
+GTKDOC_CC = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(INCLUDES) $(GTKDOC_DEPS_CFLAGS) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+GTKDOC_LD = $(LIBTOOL) --tag=CC --mode=link $(CC) $(GTKDOC_DEPS_LIBS) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS)
+GTKDOC_RUN = $(LIBTOOL) --mode=execute
+else
+GTKDOC_CC = $(CC) $(INCLUDES) $(GTKDOC_DEPS_CFLAGS) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+GTKDOC_LD = $(CC) $(GTKDOC_DEPS_LIBS) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS)
+GTKDOC_RUN =
+endif
+
+# We set GPATH here; this gives us semantics for GNU make
+# which are more like other make's VPATH, when it comes to
+# whether a source that is a target of one rule is then
+# searched for in VPATH/GPATH.
+#
+GPATH = $(srcdir)
+
+TARGET_DIR=$(HTML_DIR)/$(DOC_MODULE)
+
+SETUP_FILES = \
+ $(content_files) \
+ $(DOC_MAIN_SGML_FILE) \
+ $(DOC_MODULE)-sections.txt \
+ $(DOC_MODULE)-overrides.txt
+
+EXTRA_DIST += \
+ $(HTML_IMAGES) \
+ $(SETUP_FILES)
+
+DOC_STAMPS=setup-build.stamp scan-build.stamp sgml-build.stamp \
+ html-build.stamp pdf-build.stamp \
+ sgml.stamp html.stamp pdf.stamp
+
+SCANOBJ_FILES = \
+ $(DOC_MODULE).args \
+ $(DOC_MODULE).hierarchy \
+ $(DOC_MODULE).interfaces \
+ $(DOC_MODULE).prerequisites \
+ $(DOC_MODULE).signals
+
+REPORT_FILES = \
+ $(DOC_MODULE)-undocumented.txt \
+ $(DOC_MODULE)-undeclared.txt \
+ $(DOC_MODULE)-unused.txt
+
+CLEANFILES = $(SCANOBJ_FILES) $(REPORT_FILES) $(DOC_STAMPS)
+
+if ENABLE_GTK_DOC
+if GTK_DOC_BUILD_HTML
+HTML_BUILD_STAMP=html-build.stamp
+else
+HTML_BUILD_STAMP=
+endif
+if GTK_DOC_BUILD_PDF
+PDF_BUILD_STAMP=pdf-build.stamp
+else
+PDF_BUILD_STAMP=
+endif
+
+all-local: $(HTML_BUILD_STAMP) $(PDF_BUILD_STAMP)
+else
+all-local:
+endif
+
+docs: $(HTML_BUILD_STAMP) $(PDF_BUILD_STAMP)
+
+$(REPORT_FILES): sgml-build.stamp
+
+#### setup ####
+
+setup-build.stamp:
+ -@if test "$(abs_srcdir)" != "$(abs_builddir)" ; then \
+ echo ' DOC Preparing build'; \
+ files=`echo $(SETUP_FILES) $(expand_content_files) $(DOC_MODULE).types`; \
+ if test "x$$files" != "x" ; then \
+ for file in $$files ; do \
+ test -f $(abs_srcdir)/$$file && \
+ cp -pu $(abs_srcdir)/$$file $(abs_builddir)/ || true; \
+ done; \
+ fi; \
+ fi
+ @touch setup-build.stamp
+
+
+#### scan ####
+
+scan-build.stamp: $(HFILE_GLOB) $(CFILE_GLOB)
+ @echo ' DOC Scanning header files'
+ @_source_dir='' ; \
+ for i in $(DOC_SOURCE_DIR) ; do \
+ _source_dir="$${_source_dir} --source-dir=$$i" ; \
+ done ; \
+ gtkdoc-scan --module=$(DOC_MODULE) --ignore-headers="$(IGNORE_HFILES)" $${_source_dir} $(SCAN_OPTIONS) $(EXTRA_HFILES)
+ @if grep -l '^..*$$' $(DOC_MODULE).types > /dev/null 2>&1 ; then \
+ echo " DOC Introspecting gobjects"; \
+ scanobj_options=""; \
+ gtkdoc-scangobj 2>&1 --help | grep >/dev/null "\-\-verbose"; \
+ if test "$(?)" = "0"; then \
+ if test "x$(V)" = "x1"; then \
+ scanobj_options="--verbose"; \
+ fi; \
+ fi; \
+ CC="$(GTKDOC_CC)" LD="$(GTKDOC_LD)" RUN="$(GTKDOC_RUN)" CFLAGS="$(GTKDOC_CFLAGS) $(CFLAGS)" LDFLAGS="$(GTKDOC_LIBS) $(LDFLAGS)" \
+ gtkdoc-scangobj $(SCANGOBJ_OPTIONS) $$scanobj_options --module=$(DOC_MODULE); \
+ else \
+ for i in $(SCANOBJ_FILES) ; do \
+ test -f $$i || touch $$i ; \
+ done \
+ fi
+ @touch scan-build.stamp
+
+$(DOC_MODULE)-decl.txt $(SCANOBJ_FILES) $(DOC_MODULE)-sections.txt $(DOC_MODULE)-overrides.txt: scan-build.stamp
+ @true
+
+#### xml ####
+
+sgml-build.stamp: setup-build.stamp $(DOC_MODULE)-decl.txt $(SCANOBJ_FILES) $(DOC_MODULE)-sections.txt $(DOC_MODULE)-overrides.txt $(expand_content_files)
+ @echo ' DOC Building XML'
+ @_source_dir='' ; \
+ for i in $(DOC_SOURCE_DIR) ; do \
+ _source_dir="$${_source_dir} --source-dir=$$i" ; \
+ done ; \
+ gtkdoc-mkdb --module=$(DOC_MODULE) --output-format=xml --expand-content-files="$(expand_content_files)" --main-sgml-file=$(DOC_MAIN_SGML_FILE) $${_source_dir} $(MKDB_OPTIONS)
+ @touch sgml-build.stamp
+
+sgml.stamp: sgml-build.stamp
+ @true
+
+#### html ####
+
+html-build.stamp: sgml.stamp $(DOC_MAIN_SGML_FILE) $(content_files)
+ @echo ' DOC Building HTML'
+ @rm -rf html
+ @mkdir html
+ @mkhtml_options=""; \
+ gtkdoc-mkhtml 2>&1 --help | grep >/dev/null "\-\-verbose"; \
+ if test "$(?)" = "0"; then \
+ if test "x$(V)" = "x1"; then \
+ mkhtml_options="$$mkhtml_options --verbose"; \
+ fi; \
+ fi; \
+ gtkdoc-mkhtml 2>&1 --help | grep >/dev/null "\-\-path"; \
+ if test "$(?)" = "0"; then \
+ mkhtml_options="$$mkhtml_options --path=\"$(abs_srcdir)\""; \
+ fi; \
+ cd html && gtkdoc-mkhtml $$mkhtml_options $(MKHTML_OPTIONS) $(DOC_MODULE) ../$(DOC_MAIN_SGML_FILE)
+ -@test "x$(HTML_IMAGES)" = "x" || \
+ for file in $(HTML_IMAGES) ; do \
+ if test -f $(abs_srcdir)/$$file ; then \
+ cp $(abs_srcdir)/$$file $(abs_builddir)/html; \
+ fi; \
+ if test -f $(abs_builddir)/$$file ; then \
+ cp $(abs_builddir)/$$file $(abs_builddir)/html; \
+ fi; \
+ done;
+ @echo ' DOC Fixing cross-references'
+ @gtkdoc-fixxref --module=$(DOC_MODULE) --module-dir=html --html-dir=$(HTML_DIR) $(FIXXREF_OPTIONS)
+ @touch html-build.stamp
+
+#### pdf ####
+
+pdf-build.stamp: sgml.stamp $(DOC_MAIN_SGML_FILE) $(content_files)
+ @echo ' DOC Building PDF'
+ @rm -f $(DOC_MODULE).pdf
+ @mkpdf_options=""; \
+ gtkdoc-mkpdf 2>&1 --help | grep >/dev/null "\-\-verbose"; \
+ if test "$(?)" = "0"; then \
+ if test "x$(V)" = "x1"; then \
+ mkpdf_options="$$mkpdf_options --verbose"; \
+ fi; \
+ fi; \
+ if test "x$(HTML_IMAGES)" != "x"; then \
+ for img in $(HTML_IMAGES); do \
+ part=`dirname $$img`; \
+ echo $$mkpdf_options | grep >/dev/null "\-\-imgdir=$$part "; \
+ if test $$? != 0; then \
+ mkpdf_options="$$mkpdf_options --imgdir=$$part"; \
+ fi; \
+ done; \
+ fi; \
+ gtkdoc-mkpdf --path="$(abs_srcdir)" $$mkpdf_options $(DOC_MODULE) $(DOC_MAIN_SGML_FILE) $(MKPDF_OPTIONS)
+ @touch pdf-build.stamp
+
+##############
+
+clean-local:
+ @rm -f *~ *.bak
+ @rm -rf .libs
+
+distclean-local:
+ @rm -rf xml html $(REPORT_FILES) $(DOC_MODULE).pdf \
+ $(DOC_MODULE)-decl-list.txt $(DOC_MODULE)-decl.txt
+ @if test "$(abs_srcdir)" != "$(abs_builddir)" ; then \
+ rm -f $(SETUP_FILES) $(expand_content_files) $(DOC_MODULE).types; \
+ fi
+
+maintainer-clean-local: clean
+ @rm -rf xml html
+
+install-data-local:
+ @installfiles=`echo $(builddir)/html/*`; \
+ if test "$$installfiles" = '$(builddir)/html/*'; \
+ then echo 1>&2 'Nothing to install' ; \
+ else \
+ if test -n "$(DOC_MODULE_VERSION)"; then \
+ installdir="$(DESTDIR)$(TARGET_DIR)-$(DOC_MODULE_VERSION)"; \
+ else \
+ installdir="$(DESTDIR)$(TARGET_DIR)"; \
+ fi; \
+ $(mkinstalldirs) $${installdir} ; \
+ for i in $$installfiles; do \
+ echo ' $(INSTALL_DATA) '$$i ; \
+ $(INSTALL_DATA) $$i $${installdir}; \
+ done; \
+ if test -n "$(DOC_MODULE_VERSION)"; then \
+ mv -f $${installdir}/$(DOC_MODULE).devhelp2 \
+ $${installdir}/$(DOC_MODULE)-$(DOC_MODULE_VERSION).devhelp2; \
+ fi; \
+ $(GTKDOC_REBASE) --relative --dest-dir=$(DESTDIR) --html-dir=$${installdir}; \
+ fi
+
+uninstall-local:
+ @if test -n "$(DOC_MODULE_VERSION)"; then \
+ installdir="$(DESTDIR)$(TARGET_DIR)-$(DOC_MODULE_VERSION)"; \
+ else \
+ installdir="$(DESTDIR)$(TARGET_DIR)"; \
+ fi; \
+ rm -rf $${installdir}
+
+#
+# Require gtk-doc when making dist
+#
+if ENABLE_GTK_DOC
+dist-check-gtkdoc:
+else
+dist-check-gtkdoc:
+ @echo "*** gtk-doc must be installed and enabled in order to make dist"
+ @false
+endif
+
+dist-hook: dist-check-gtkdoc dist-hook-local
+ @mkdir $(distdir)/html
+ @cp ./html/* $(distdir)/html
+ @-cp ./$(DOC_MODULE).pdf $(distdir)/
+ @-cp ./$(DOC_MODULE).types $(distdir)/
+ @-cp ./$(DOC_MODULE)-sections.txt $(distdir)/
+ @cd $(distdir) && rm -f $(DISTCLEANFILES)
+ @$(GTKDOC_REBASE) --online --relative --html-dir=$(distdir)/html
+
+.PHONY : dist-hook-local docs
--- /dev/null
+# -*- mode: makefile -*-
+
+####################################
+# Everything below here is generic #
+####################################
+
+if GTK_DOC_USE_LIBTOOL
+GTKDOC_CC = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(INCLUDES) $(GTKDOC_DEPS_CFLAGS) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+GTKDOC_LD = $(LIBTOOL) --tag=CC --mode=link $(CC) $(GTKDOC_DEPS_LIBS) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS)
+GTKDOC_RUN = $(LIBTOOL) --mode=execute
+else
+GTKDOC_CC = $(CC) $(INCLUDES) $(GTKDOC_DEPS_CFLAGS) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+GTKDOC_LD = $(CC) $(GTKDOC_DEPS_LIBS) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS)
+GTKDOC_RUN =
+endif
+
+# We set GPATH here; this gives us semantics for GNU make
+# which are more like other make's VPATH, when it comes to
+# whether a source that is a target of one rule is then
+# searched for in VPATH/GPATH.
+#
+GPATH = $(srcdir)
+
+TARGET_DIR=$(HTML_DIR)/$(DOC_MODULE)
+
+SETUP_FILES = \
+ $(content_files) \
+ $(DOC_MAIN_SGML_FILE) \
+ $(DOC_MODULE)-sections.txt \
+ $(DOC_MODULE)-overrides.txt
+
+EXTRA_DIST = \
+ $(HTML_IMAGES) \
+ $(SETUP_FILES)
+
+DOC_STAMPS=setup-build.stamp scan-build.stamp sgml-build.stamp \
+ html-build.stamp pdf-build.stamp \
+ sgml.stamp html.stamp pdf.stamp
+
+SCANOBJ_FILES = \
+ $(DOC_MODULE).args \
+ $(DOC_MODULE).hierarchy \
+ $(DOC_MODULE).interfaces \
+ $(DOC_MODULE).prerequisites \
+ $(DOC_MODULE).signals
+
+REPORT_FILES = \
+ $(DOC_MODULE)-undocumented.txt \
+ $(DOC_MODULE)-undeclared.txt \
+ $(DOC_MODULE)-unused.txt
+
+CLEANFILES = $(SCANOBJ_FILES) $(REPORT_FILES) $(DOC_STAMPS)
+
+if ENABLE_GTK_DOC
+if GTK_DOC_BUILD_HTML
+HTML_BUILD_STAMP=html-build.stamp
+else
+HTML_BUILD_STAMP=
+endif
+if GTK_DOC_BUILD_PDF
+PDF_BUILD_STAMP=pdf-build.stamp
+else
+PDF_BUILD_STAMP=
+endif
+
+all-local: $(HTML_BUILD_STAMP) $(PDF_BUILD_STAMP)
+else
+all-local:
+endif
+
+docs: $(HTML_BUILD_STAMP) $(PDF_BUILD_STAMP)
+
+$(REPORT_FILES): sgml-build.stamp
+
+#### setup ####
+
+setup-build.stamp:
+ -@if test "$(abs_srcdir)" != "$(abs_builddir)" ; then \
+ echo ' DOC Preparing build'; \
+ files=`echo $(SETUP_FILES) $(expand_content_files) $(DOC_MODULE).types`; \
+ if test "x$$files" != "x" ; then \
+ for file in $$files ; do \
+ test -f $(abs_srcdir)/$$file && \
+ cp -pu $(abs_srcdir)/$$file $(abs_builddir)/ || true; \
+ done; \
+ fi; \
+ fi
+ @touch setup-build.stamp
+
+
+#### scan ####
+
+scan-build.stamp: $(HFILE_GLOB) $(CFILE_GLOB)
+ @echo ' DOC Scanning header files'
+ @_source_dir='' ; \
+ for i in $(DOC_SOURCE_DIR) ; do \
+ _source_dir="$${_source_dir} --source-dir=$$i" ; \
+ done ; \
+ gtkdoc-scan --module=$(DOC_MODULE) --ignore-headers="$(IGNORE_HFILES)" $${_source_dir} $(SCAN_OPTIONS) $(EXTRA_HFILES)
+ @if grep -l '^..*$$' $(DOC_MODULE).types > /dev/null 2>&1 ; then \
+ echo " DOC Introspecting gobjects"; \
+ scanobj_options=""; \
+ gtkdoc-scangobj 2>&1 --help | grep >/dev/null "\-\-verbose"; \
+ if test "$(?)" = "0"; then \
+ if test "x$(V)" = "x1"; then \
+ scanobj_options="--verbose"; \
+ fi; \
+ fi; \
+ CC="$(GTKDOC_CC)" LD="$(GTKDOC_LD)" RUN="$(GTKDOC_RUN)" CFLAGS="$(GTKDOC_CFLAGS) $(CFLAGS)" LDFLAGS="$(GTKDOC_LIBS) $(LDFLAGS)" \
+ gtkdoc-scangobj $(SCANGOBJ_OPTIONS) $$scanobj_options --module=$(DOC_MODULE); \
+ else \
+ for i in $(SCANOBJ_FILES) ; do \
+ test -f $$i || touch $$i ; \
+ done \
+ fi
+ @touch scan-build.stamp
+
+$(DOC_MODULE)-decl.txt $(SCANOBJ_FILES) $(DOC_MODULE)-sections.txt $(DOC_MODULE)-overrides.txt: scan-build.stamp
+ @true
+
+#### xml ####
+
+sgml-build.stamp: setup-build.stamp $(DOC_MODULE)-decl.txt $(SCANOBJ_FILES) $(DOC_MODULE)-sections.txt $(DOC_MODULE)-overrides.txt $(expand_content_files)
+ @echo ' DOC Building XML'
+ @_source_dir='' ; \
+ for i in $(DOC_SOURCE_DIR) ; do \
+ _source_dir="$${_source_dir} --source-dir=$$i" ; \
+ done ; \
+ gtkdoc-mkdb --module=$(DOC_MODULE) --output-format=xml --expand-content-files="$(expand_content_files)" --main-sgml-file=$(DOC_MAIN_SGML_FILE) $${_source_dir} $(MKDB_OPTIONS)
+ @touch sgml-build.stamp
+
+sgml.stamp: sgml-build.stamp
+ @true
+
+#### html ####
+
+html-build.stamp: sgml.stamp $(DOC_MAIN_SGML_FILE) $(content_files)
+ @echo ' DOC Building HTML'
+ @rm -rf html
+ @mkdir html
+ @mkhtml_options=""; \
+ gtkdoc-mkhtml 2>&1 --help | grep >/dev/null "\-\-verbose"; \
+ if test "$(?)" = "0"; then \
+ if test "x$(V)" = "x1"; then \
+ mkhtml_options="$$mkhtml_options --verbose"; \
+ fi; \
+ fi; \
+ gtkdoc-mkhtml 2>&1 --help | grep >/dev/null "\-\-path"; \
+ if test "$(?)" = "0"; then \
+ mkhtml_options="$$mkhtml_options --path=\"$(abs_srcdir)\""; \
+ fi; \
+ cd html && gtkdoc-mkhtml $$mkhtml_options $(MKHTML_OPTIONS) $(DOC_MODULE) ../$(DOC_MAIN_SGML_FILE)
+ -@test "x$(HTML_IMAGES)" = "x" || \
+ for file in $(HTML_IMAGES) ; do \
+ if test -f $(abs_srcdir)/$$file ; then \
+ cp $(abs_srcdir)/$$file $(abs_builddir)/html; \
+ fi; \
+ if test -f $(abs_builddir)/$$file ; then \
+ cp $(abs_builddir)/$$file $(abs_builddir)/html; \
+ fi; \
+ done;
+ @echo ' DOC Fixing cross-references'
+ @gtkdoc-fixxref --module=$(DOC_MODULE) --module-dir=html --html-dir=$(HTML_DIR) $(FIXXREF_OPTIONS)
+ @touch html-build.stamp
+
+#### pdf ####
+
+pdf-build.stamp: sgml.stamp $(DOC_MAIN_SGML_FILE) $(content_files)
+ @echo ' DOC Building PDF'
+ @rm -f $(DOC_MODULE).pdf
+ @mkpdf_options=""; \
+ gtkdoc-mkpdf 2>&1 --help | grep >/dev/null "\-\-verbose"; \
+ if test "$(?)" = "0"; then \
+ if test "x$(V)" = "x1"; then \
+ mkpdf_options="$$mkpdf_options --verbose"; \
+ fi; \
+ fi; \
+ if test "x$(HTML_IMAGES)" != "x"; then \
+ for img in $(HTML_IMAGES); do \
+ part=`dirname $$img`; \
+ echo $$mkpdf_options | grep >/dev/null "\-\-imgdir=$$part "; \
+ if test $$? != 0; then \
+ mkpdf_options="$$mkpdf_options --imgdir=$$part"; \
+ fi; \
+ done; \
+ fi; \
+ gtkdoc-mkpdf --path="$(abs_srcdir)" $$mkpdf_options $(DOC_MODULE) $(DOC_MAIN_SGML_FILE) $(MKPDF_OPTIONS)
+ @touch pdf-build.stamp
+
+##############
+
+clean-local:
+ @rm -f *~ *.bak
+ @rm -rf .libs
+
+distclean-local:
+ @rm -rf xml html $(REPORT_FILES) $(DOC_MODULE).pdf \
+ $(DOC_MODULE)-decl-list.txt $(DOC_MODULE)-decl.txt
+ @if test "$(abs_srcdir)" != "$(abs_builddir)" ; then \
+ rm -f $(SETUP_FILES) $(expand_content_files) $(DOC_MODULE).types; \
+ fi
+
+maintainer-clean-local: clean
+ @rm -rf xml html
+
+install-data-local:
+ @installfiles=`echo $(builddir)/html/*`; \
+ if test "$$installfiles" = '$(builddir)/html/*'; \
+ then echo 1>&2 'Nothing to install' ; \
+ else \
+ if test -n "$(DOC_MODULE_VERSION)"; then \
+ installdir="$(DESTDIR)$(TARGET_DIR)-$(DOC_MODULE_VERSION)"; \
+ else \
+ installdir="$(DESTDIR)$(TARGET_DIR)"; \
+ fi; \
+ $(mkinstalldirs) $${installdir} ; \
+ for i in $$installfiles; do \
+ echo ' $(INSTALL_DATA) '$$i ; \
+ $(INSTALL_DATA) $$i $${installdir}; \
+ done; \
+ if test -n "$(DOC_MODULE_VERSION)"; then \
+ mv -f $${installdir}/$(DOC_MODULE).devhelp2 \
+ $${installdir}/$(DOC_MODULE)-$(DOC_MODULE_VERSION).devhelp2; \
+ fi; \
+ $(GTKDOC_REBASE) --relative --dest-dir=$(DESTDIR) --html-dir=$${installdir}; \
+ fi
+
+uninstall-local:
+ @if test -n "$(DOC_MODULE_VERSION)"; then \
+ installdir="$(DESTDIR)$(TARGET_DIR)-$(DOC_MODULE_VERSION)"; \
+ else \
+ installdir="$(DESTDIR)$(TARGET_DIR)"; \
+ fi; \
+ rm -rf $${installdir}
+
+#
+# Require gtk-doc when making dist
+#
+if ENABLE_GTK_DOC
+dist-check-gtkdoc:
+else
+dist-check-gtkdoc:
+ @echo "*** gtk-doc must be installed and enabled in order to make dist"
+ @false
+endif
+
+dist-hook: dist-check-gtkdoc dist-hook-local
+ @mkdir $(distdir)/html
+ @cp ./html/* $(distdir)/html
+ @-cp ./$(DOC_MODULE).pdf $(distdir)/
+ @-cp ./$(DOC_MODULE).types $(distdir)/
+ @-cp ./$(DOC_MODULE)-sections.txt $(distdir)/
+ @cd $(distdir) && rm -f $(DISTCLEANFILES)
+ @$(GTKDOC_REBASE) --online --relative --html-dir=$(distdir)/html
+
+.PHONY : dist-hook-local docs
--- /dev/null
+prefix=@prefix@
+exec_prefix=@exec_prefix@
+data_dir=@PACKAGE_DATA_DIR@
+
+Name: gtk-doc
+Description: API documentation generator
+Version: @VERSION@
--- /dev/null
+# -*- mode: rpm-spec -*-
+
+Summary: GTK+ DocBook Documentation Generator
+Name: gtk-doc
+Version: 1.18
+Release: 1
+License: GPL
+Group: Utilities/Text
+Source: ftp://ftp.gtk.org/pub/gtk/v1.1/docs/rdp/gtk-doc-%{version}.tar.gz
+BuildRoot: /var/tmp/%{name}-%{version}-root
+URL: http://www.gtk.org/rdp/
+BuildArchitectures: noarch
+Requires: openjade
+Requires: perl >= 5.6.0
+Requires: libxslt
+Requires: docbook-dtds
+Requires: docbook-style-xsl
+Provides: perl(gtkdoc-common.pl)
+
+BuildRequires: perl, openjade, libxslt, docbook-dtds, docbook-style-xsl
+
+%description
+gtk-doc is a set of perl scripts that generate API reference documention in
+DocBook format. It can extract documentation from source code comments in a
+manner similar to java-doc. It is used to generate the documentation for
+GLib, Gtk+, and GNOME.
+
+%prep
+%setup -q
+
+# Move this doc file to avoid name collisions
+mv doc/README doc/README.docs
+
+%build
+CFLAGS="$RPM_OPT_FLAGS" ./configure $MYARCH_FLAGS --prefix=%{_prefix} \
+ --sysconfdir=%{_sysconfdir} --datadir=%{_datadir}
+
+make
+
+%install
+rm -rf $RPM_BUILD_ROOT
+
+make prefix=$RPM_BUILD_ROOT%{_prefix} \
+ sysconfdir=$RPM_BUILD_ROOT%{_sysconfdir} \
+ datadir=$RPM_BUILD_ROOT%{_datadir} install
+
+%clean
+rm -rf $RPM_BUILD_ROOT
+
+%files
+%defattr(-, root, root)
+
+%doc AUTHORS COPYING ChangeLog README doc/* examples
+# INSTALL is generic instructions from autoconf
+# NEWS is currently empty
+# %doc INSTALL
+%doc NEWS
+
+%{_bindir}/*
+%dir %{_datadir}/gtk-doc
+%dir %{_datadir}/gtk-doc/html
+%dir %{_datadir}/gtk-doc/data
+%{_datadir}/gtk-doc/data/*
+%{_libdir}/pkgconfig/*
+
+%changelog
+* Tue Jun 03 2003 Matthias Clasen <maclas@gmx.de>
+- Add a missing Provides: and include the .pc file.
+ (#106568, Joe Pranevich)
+
+* Sun Aug 12 2001 Jens Finke <jens@gnome.org>
+- Modified to match GPP standard:
+ - Changed to Copyright to License
+ - Don't use hardcoded path, use rpm macros instead
+ - Moved ChangeLog to the end of the file.
+ - Removed packager
+ - Don't set docdir path.
+ - Use /var/tmp as installation prefix
+
+* Fri Apr 27 2001 Toshio Kuratomi <badger@prtr-13.ucsc.edu>
+- Merge in some of the features of the redhat spec file.
+
+* Wed Nov 15 2000 John Gotts <jgotts@linuxsavvy.com>
+- Minor updates for 0.4.
+* Thu Aug 26 1999 John E. Gotts <jgotts@engin.umich.edu>
+- Created spec file.
+
+
+
+
+
+
+
--- /dev/null
+# -*- mode: rpm-spec -*-
+
+Summary: GTK+ DocBook Documentation Generator
+Name: gtk-doc
+Version: @VERSION@
+Release: 1
+License: GPL
+Group: Utilities/Text
+Source: ftp://ftp.gtk.org/pub/gtk/v1.1/docs/rdp/gtk-doc-%{version}.tar.gz
+BuildRoot: /var/tmp/%{name}-%{version}-root
+URL: http://www.gtk.org/rdp/
+BuildArchitectures: noarch
+Requires: openjade
+Requires: perl >= 5.6.0
+Requires: libxslt
+Requires: docbook-dtds
+Requires: docbook-style-xsl
+Provides: perl(gtkdoc-common.pl)
+
+BuildRequires: perl, openjade, libxslt, docbook-dtds, docbook-style-xsl
+
+%description
+gtk-doc is a set of perl scripts that generate API reference documention in
+DocBook format. It can extract documentation from source code comments in a
+manner similar to java-doc. It is used to generate the documentation for
+GLib, Gtk+, and GNOME.
+
+%prep
+%setup -q
+
+# Move this doc file to avoid name collisions
+mv doc/README doc/README.docs
+
+%build
+CFLAGS="$RPM_OPT_FLAGS" ./configure $MYARCH_FLAGS --prefix=%{_prefix} \
+ --sysconfdir=%{_sysconfdir} --datadir=%{_datadir}
+
+make
+
+%install
+rm -rf $RPM_BUILD_ROOT
+
+make prefix=$RPM_BUILD_ROOT%{_prefix} \
+ sysconfdir=$RPM_BUILD_ROOT%{_sysconfdir} \
+ datadir=$RPM_BUILD_ROOT%{_datadir} install
+
+%clean
+rm -rf $RPM_BUILD_ROOT
+
+%files
+%defattr(-, root, root)
+
+%doc AUTHORS COPYING ChangeLog README doc/* examples
+# INSTALL is generic instructions from autoconf
+# NEWS is currently empty
+# %doc INSTALL
+%doc NEWS
+
+%{_bindir}/*
+%dir %{_datadir}/gtk-doc
+%dir %{_datadir}/gtk-doc/html
+%dir %{_datadir}/gtk-doc/data
+%{_datadir}/gtk-doc/data/*
+%{_libdir}/pkgconfig/*
+
+%changelog
+* Tue Jun 03 2003 Matthias Clasen <maclas@gmx.de>
+- Add a missing Provides: and include the .pc file.
+ (#106568, Joe Pranevich)
+
+* Sun Aug 12 2001 Jens Finke <jens@gnome.org>
+- Modified to match GPP standard:
+ - Changed to Copyright to License
+ - Don't use hardcoded path, use rpm macros instead
+ - Moved ChangeLog to the end of the file.
+ - Removed packager
+ - Don't set docdir path.
+ - Use /var/tmp as installation prefix
+
+* Fri Apr 27 2001 Toshio Kuratomi <badger@prtr-13.ucsc.edu>
+- Merge in some of the features of the redhat spec file.
+
+* Wed Nov 15 2000 John Gotts <jgotts@linuxsavvy.com>
+- Minor updates for 0.4.
+* Thu Aug 26 1999 John E. Gotts <jgotts@engin.umich.edu>
+- Created spec file.
+
+
+
+
+
+
+
--- /dev/null
+<?xml version='1.0'?> <!--*- mode: xml -*-->
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ xmlns:l="http://docbook.sourceforge.net/xmlns/l10n/1.0"
+ exclude-result-prefixes="l"
+ version="1.0">
+
+ <!-- import the chunked XSL stylesheet -->
+ <!-- http://www.sagehill.net/docbookxsl/Chunking.html says we should use
+ "chunkfast.xsl", but I can see a difference -->
+ <xsl:import href="http://docbook.sourceforge.net/release/xsl/current/html/chunk.xsl"/>
+ <xsl:include href="devhelp2.xsl"/>
+ <xsl:include href="version-greater-or-equal.xsl"/>
+
+ <xsl:key name="acronym.key"
+ match="glossentry/glossterm"
+ use="."/>
+ <xsl:key name="gallery.key"
+ match="para[@role='gallery']/link"
+ use="@linkend"/>
+
+ <!-- change some parameters -->
+ <!-- http://docbook.sourceforge.net/release/xsl/current/doc/html/index.html -->
+ <xsl:param name="toc.section.depth">2</xsl:param>
+ <xsl:param name="generate.toc">
+ book toc
+ chapter toc
+ glossary toc
+ index toc
+ part toc
+ reference toc
+ </xsl:param>
+
+ <xsl:param name="chunker.output.encoding" select="'UTF-8'"/>
+ <xsl:param name="chunker.output.indent" select="'yes'"/>
+ <xsl:param name="chunker.output.doctype-public" select="'-//W3C//DTD HTML 4.01 Transitional//EN'"/>
+ <xsl:param name="chunk.fast" select="1"/>
+
+ <xsl:param name="default.encoding" select="'UTF-8'"/>
+ <xsl:param name="chapter.autolabel" select="0"/>
+ <xsl:param name="use.id.as.filename" select="1"/>
+ <xsl:param name="html.ext" select="'.html'"/>
+ <xsl:param name="refentry.generate.name" select="0"/>
+ <xsl:param name="refentry.generate.title" select="1"/>
+ <!-- don't generate all those link tags (very slow and hardly used)
+ it does not show much effect as we have a user.head.content template
+ <xsl:param name="html.extra.head.links" select="0" />
+ -->
+
+ <!-- use index filtering (if available) -->
+ <xsl:param name="index.on.role" select="1"/>
+
+ <!-- display variablelists as tables -->
+ <xsl:param name="variablelist.as.table" select="1"/>
+
+ <!-- new things to consider
+ <xsl:param name="glossterm.auto.link" select="0"></xsl:param>
+ -->
+
+ <!-- this gets set on the command line ... -->
+ <xsl:param name="gtkdoc.version" select="''"/>
+ <xsl:param name="gtkdoc.bookname" select="''"/>
+
+ <!-- ========================================================= -->
+
+ <!-- l10n is slow, we don't ue it, so we'd like to turn it off
+ this atleast avoid the re-evaluation -->
+ <xsl:template name="l10n.language">en</xsl:template>
+
+ <xsl:param name="gtkdoc.l10n.xml" select="document('http://docbook.sourceforge.net/release/xsl/current/common/en.xml')"/>
+
+ <xsl:key name="gtkdoc.gentext.key"
+ match="l:gentext[@key]"
+ use="@key"/>
+ <xsl:key name="gtkdoc.context.key"
+ match="l:context[@name]"
+ use="@name"/>
+
+ <xsl:template name="gentext">
+ <xsl:param name="key" select="local-name(.)"/>
+
+ <xsl:for-each select="$gtkdoc.l10n.xml">
+ <xsl:variable name="l10n.gentext" select="key('gtkdoc.gentext.key', $key)"/>
+
+ <xsl:choose>
+ <xsl:when test="$l10n.gentext">
+ <xsl:value-of select="$l10n.gentext/@text"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:message>
+ <xsl:text>No "en" localization of "</xsl:text>
+ <xsl:value-of select="$key"/>
+ <xsl:text>" exists.</xsl:text>
+ </xsl:message>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:for-each>
+ </xsl:template>
+
+ <xsl:template name="gentext.dingbat">
+ <xsl:param name="dingbat">bullet</xsl:param>
+
+ <xsl:variable name="l10n.dingbat"
+ select="($gtkdoc.l10n.xml/l:l10n/l:dingbat[@key=$dingbat])[1]"/>
+
+ <xsl:choose>
+ <xsl:when test="$l10n.dingbat">
+ <xsl:value-of select="$l10n.dingbat/@text"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:message>
+ <xsl:text>No "en" localization of dingbat </xsl:text>
+ <xsl:value-of select="$dingbat"/>
+ <xsl:text> exists; using "en".</xsl:text>
+ </xsl:message>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:template>
+
+ <xsl:template name="gentext.template">
+ <xsl:param name="context" select="'default'"/>
+ <xsl:param name="name" select="'default'"/>
+ <xsl:param name="origname" select="$name"/>
+
+ <!-- cut leading / if any to avoid one recursion -->
+ <xsl:variable name="rname">
+ <xsl:choose>
+ <xsl:when test="starts-with($name, '/')">
+ <xsl:value-of select="substring-after($name, '/')"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:value-of select="$name"/>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:variable>
+
+ <!-- this is called with context="title|title-numbered|title-unnumbered>
+ <xsl:message>
+ <xsl:text>context:</xsl:text><xsl:value-of select="$context"/>
+ <xsl:text>;name:</xsl:text><xsl:value-of select="$rname"/>
+ <xsl:text>;origname:</xsl:text><xsl:value-of select="$origname"/>
+ </xsl:message>
+
+ see html/html.xsl:<xsl:template match="*" mode="html.title.attribute">
+ -->
+
+ <xsl:for-each select="$gtkdoc.l10n.xml">
+ <xsl:variable name="context.node" select="key('gtkdoc.context.key', $context)"/>
+ <xsl:variable name="template.node"
+ select="($context.node/l:template[@name=$rname])[1]"/>
+
+ <xsl:choose>
+ <xsl:when test="$template.node/@text">
+ <xsl:value-of select="$template.node/@text"/>
+ <!-- debug
+ <xsl:message>
+ <xsl:text>=</xsl:text><xsl:value-of select="$template.node/@text"/>
+ </xsl:message>
+ -->
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:choose>
+ <xsl:when test="contains($rname, '/')">
+ <xsl:call-template name="gentext.template">
+ <xsl:with-param name="context" select="$context"/>
+ <xsl:with-param name="name" select="substring-after($rname, '/')"/>
+ <xsl:with-param name="origname" select="$origname"/>
+ </xsl:call-template>
+ </xsl:when>
+ </xsl:choose>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:for-each>
+ </xsl:template>
+
+ <!-- silently test whether a gentext template exists -->
+ <xsl:template name="gentext.template.exists">
+ <xsl:param name="context" select="'default'"/>
+ <xsl:param name="name" select="'default'"/>
+ <xsl:param name="origname" select="$name"/>
+
+ <xsl:variable name="template">
+ <xsl:call-template name="gentext.template">
+ <xsl:with-param name="context" select="$context"/>
+ <xsl:with-param name="name" select="$name"/>
+ <xsl:with-param name="origname" select="$origname"/>
+ </xsl:call-template>
+ </xsl:variable>
+
+ <xsl:choose>
+ <xsl:when test="string-length($template) != 0">1</xsl:when>
+ <xsl:otherwise>0</xsl:otherwise>
+ </xsl:choose>
+ </xsl:template>
+
+ <!-- shortcut version -->
+ <!-- @bug: https://bugzilla.gnome.org/show_bug.cgi?id=617478 -->
+ <xsl:template name="generate.html.title"/>
+ <!--xsl:template name="generate.html.title">
+ <xsl:variable name="has.title.markup">
+ <xsl:apply-templates select="." mode="title.markup">
+ <xsl:with-param name="verbose" select="0"/>
+ </xsl:apply-templates>
+ </xsl:variable>
+ <xsl:if test="$has.title.markup != '???TITLE???'">
+ <xsl:variable name="gentext.title">
+ <xsl:apply-templates select="." mode="object.title.markup.textonly"/>
+ </xsl:variable>
+ <xsl:choose>
+ <xsl:when test="string-length($gentext.title) != 0">
+ <xsl:attribute name="title">
+ <xsl:value-of select="$gentext.title"/>
+ </xsl:attribute>
+ </xsl:when>
+ <xsl:when test="alt">
+ <xsl:attribute name="title">
+ <xsl:value-of select="normalize-space(alt)"/>
+ </xsl:attribute>
+ </xsl:when>
+ </xsl:choose>
+ </xsl:if>
+ </xsl:template-->
+
+ <!-- Generate a title attribute for the context node (e.g. links) -->
+ <xsl:template match="*" mode="html.title.attribute">
+ <xsl:variable name="has.title.markup">
+ <xsl:apply-templates select="." mode="title.markup">
+ <xsl:with-param name="verbose" select="0"/>
+ </xsl:apply-templates>
+ </xsl:variable>
+ <xsl:if test="$has.title.markup != '???TITLE???'">
+ <xsl:variable name="is.title">
+ <xsl:call-template name="gentext.template.exists">
+ <xsl:with-param name="context" select="'title'"/>
+ <xsl:with-param name="name" select="local-name(.)"/>
+ <xsl:with-param name="lang">
+ <xsl:call-template name="l10n.language"/>
+ </xsl:with-param>
+ </xsl:call-template>
+ </xsl:variable>
+
+ <xsl:variable name="is.title-numbered">
+ <xsl:if test="$is.title = 0">
+ <xsl:call-template name="gentext.template.exists">
+ <xsl:with-param name="context" select="'title-numbered'"/>
+ <xsl:with-param name="name" select="local-name(.)"/>
+ <xsl:with-param name="lang">
+ <xsl:call-template name="l10n.language"/>
+ </xsl:with-param>
+ </xsl:call-template>
+ </xsl:if>
+ </xsl:variable>
+
+
+ <xsl:variable name="is.title-unnumbered">
+ <xsl:if test="$is.title = 0 and $is.title-numbered = 0">
+ <xsl:call-template name="gentext.template.exists">
+ <xsl:with-param name="context" select="'title-unnumbered'"/>
+ <xsl:with-param name="name" select="local-name(.)"/>
+ <xsl:with-param name="lang">
+ <xsl:call-template name="l10n.language"/>
+ </xsl:with-param>
+ </xsl:call-template>
+ </xsl:if>
+ </xsl:variable>
+
+ <xsl:variable name="gentext.title">
+ <xsl:if test="$is.title != 0 or
+ $is.title-numbered != 0 or
+ $is.title-unnumbered != 0">
+ <xsl:apply-templates select="."
+ mode="object.title.markup.textonly"/>
+ </xsl:if>
+ </xsl:variable>
+
+ <xsl:choose>
+ <xsl:when test="string-length($gentext.title) != 0">
+ <xsl:attribute name="title">
+ <xsl:value-of select="$gentext.title"/>
+ </xsl:attribute>
+ </xsl:when>
+ <xsl:when test="alt">
+ <xsl:attribute name="title">
+ <xsl:value-of select="normalize-space(alt)"/>
+ </xsl:attribute>
+ </xsl:when>
+ </xsl:choose>
+ </xsl:if>
+ </xsl:template>
+
+
+
+
+ <!-- ========================================================= -->
+ <!-- template to create the index.sgml anchor index -->
+
+ <xsl:template match="book|article">
+ <xsl:variable name="tooldver">
+ <xsl:call-template name="version-greater-or-equal">
+ <xsl:with-param name="ver1" select="$VERSION" />
+ <xsl:with-param name="ver2">1.36</xsl:with-param>
+ </xsl:call-template>
+ </xsl:variable>
+ <xsl:if test="$tooldver = 0">
+ <xsl:message terminate="yes">
+FATAL-ERROR: You need the DocBook XSL Stylesheets version 1.36 or higher
+to build the documentation.
+Get a newer version at http://docbook.sourceforge.net/projects/xsl/
+ </xsl:message>
+ </xsl:if>
+ <xsl:apply-imports/>
+
+ <!-- generate the index.sgml href index -->
+ <xsl:call-template name="generate.index"/>
+ <!-- generate $book.devhelp2 -->
+ <xsl:call-template name="generate.devhelp2"/>
+ </xsl:template>
+
+ <xsl:template name="generate.index">
+ <xsl:call-template name="write.text.chunk">
+ <xsl:with-param name="filename" select="'index.sgml'"/>
+ <xsl:with-param name="content">
+ <xsl:apply-templates select="/book/bookinfo/releaseinfo/ulink"
+ mode="generate.index.mode"/>
+ <!-- check all anchor and refentry elements -->
+ <!--
+ The obvious way to write this is //anchor|//refentry|etc...
+ The obvious way is slow because it causes multiple traversals
+ in libxslt. This take about half the time.
+ -->
+ <xsl:apply-templates select="//*[name()='anchor' or name()='refentry' or name()='refsect1' or
+ name() = 'refsect2' or name()='refsynopsisdiv' or
+ name()='varlistentry']"
+ mode="generate.index.mode"/>
+ </xsl:with-param>
+ <xsl:with-param name="default.encoding" select="'UTF-8'"/>
+ <xsl:with-param name="chunker.output.indent" select="'no'"/>
+ </xsl:call-template>
+ </xsl:template>
+
+ <xsl:template match="*" mode="generate.index.mode">
+ <xsl:if test="not(@href) and count(@id) > 0">
+ <xsl:text><ANCHOR id="</xsl:text>
+ <xsl:value-of select="@id"/>
+ <xsl:text>" href="</xsl:text>
+ <xsl:if test="$gtkdoc.bookname">
+ <xsl:value-of select="$gtkdoc.bookname"/>
+ <xsl:text>/</xsl:text>
+ </xsl:if>
+ <xsl:call-template name="href.target"/>
+ <xsl:text>"> </xsl:text>
+ </xsl:if>
+ </xsl:template>
+
+ <xsl:template match="/book/bookinfo/releaseinfo/ulink" mode="generate.index.mode">
+ <xsl:if test="@role='online-location'">
+ <xsl:text><ONLINE href="</xsl:text>
+ <xsl:value-of select="@url"/>
+ <xsl:text>"> </xsl:text>
+ </xsl:if>
+ </xsl:template>
+
+ <!-- ========================================================= -->
+ <!-- template to output gtkdoclink elements for the unknown targets -->
+
+ <xsl:template match="link">
+ <xsl:choose>
+ <xsl:when test="id(@linkend)">
+ <xsl:apply-imports/>
+ </xsl:when>
+ <xsl:otherwise>
+ <GTKDOCLINK HREF="{@linkend}">
+ <xsl:apply-templates/>
+ </GTKDOCLINK>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:template>
+
+ <!-- ========================================================= -->
+ <!-- Below are the visual portions of the stylesheet. They provide
+ the normal gtk-doc output style. -->
+
+ <xsl:param name="shade.verbatim" select="0"/>
+ <xsl:param name="refentry.separator" select="0"/>
+
+ <xsl:template match="refsect2">
+ <xsl:if test="preceding-sibling::refsect2">
+ <hr/>
+ </xsl:if>
+ <xsl:apply-imports/>
+ </xsl:template>
+
+ <xsl:template name="user.head.content">
+ <xsl:if test="$gtkdoc.version">
+ <meta name="generator" content="GTK-Doc V{$gtkdoc.version} (XML mode)"/>
+ </xsl:if>
+ <link rel="stylesheet" href="style.css" type="text/css"/>
+ </xsl:template>
+
+ <xsl:template name="user.footer.content">
+ <div class="footer">
+ <hr />
+ <xsl:choose>
+ <xsl:when test="$gtkdoc.version">
+ Generated by GTK-Doc V<xsl:copy-of select="$gtkdoc.version" />
+ </xsl:when>
+ <xsl:otherwise>
+ Generated by GTK-Doc
+ </xsl:otherwise>
+ </xsl:choose>
+ </div>
+ </xsl:template>
+
+ <xsl:template match="title" mode="book.titlepage.recto.mode">
+ <table class="navigation" id="top" width="100%"
+ cellpadding="2" cellspacing="0">
+ <tr>
+ <th valign="middle">
+ <p class="{name(.)}">
+ <xsl:value-of select="."/>
+ </p>
+ </th>
+ </tr>
+ </table>
+ </xsl:template>
+
+ <xsl:template name="header.navigation">
+ <xsl:param name="prev" select="/foo"/>
+ <xsl:param name="next" select="/foo"/>
+ <xsl:variable name="home" select="/*[1]"/>
+ <xsl:variable name="up" select="parent::*"/>
+ <xsl:variable name="refsections" select="./refsect1[@role]"/>
+ <xsl:variable name="glssections" select="./glossdiv/title"/>
+ <xsl:variable name="idxsections" select="./indexdiv/indexdiv/title"/>
+ <xsl:variable name="section_id" select="./@id"/>
+ <xsl:variable name="sect_object_hierarchy" select="./refsect1[@role='object_hierarchy']"/>
+ <xsl:variable name="sect_impl_interfaces" select="./refsect1[@role='impl_interfaces']"/>
+ <xsl:variable name="sect_prerequisites" select="./refsect1[@role='prerequisites']"/>
+ <xsl:variable name="sect_derived_interfaces" select="./refsect1[@role='derived_interfaces']"/>
+ <xsl:variable name="sect_implementations" select="./refsect1[@role='implementations']"/>
+ <xsl:variable name="sect_properties" select="./refsect1[@role='properties']"/>
+ <xsl:variable name="sect_child_properties" select="./refsect1[@role='child_properties']"/>
+ <xsl:variable name="sect_style_properties" select="./refsect1[@role='style_properties']"/>
+ <xsl:variable name="sect_signal_proto" select="./refsect1[@role='signal_proto']"/>
+ <xsl:variable name="sect_desc" select="./refsect1[@role='desc']"/>
+ <xsl:variable name="sect_synopsis" select="./refsynopsisdiv[@role='synopsis']"/>
+ <!--
+ <xsl:variable name="sect_details" select="./refsect1[@id='details']"/>
+ <xsl:variable name="sect_property_details" select="./refsect1[@id='property_details']"/>
+ <xsl:variable name="sect_child_property_details" select="./refsect1[@id='child_property_details']"/>
+ <xsl:variable name="sect_style_property_details" select="./refsect1[@id='style_property_details']"/>
+ <xsl:variable name="sect_signals" select="./refsect1[@id='signals']"/>
+ -->
+
+ <xsl:if test="$suppress.navigation = '0' and $home != .">
+ <table class="navigation" id="top" width="100%"
+ summary = "Navigation header" cellpadding="2" cellspacing="2">
+ <tr valign="middle">
+ <xsl:choose>
+ <xsl:when test="count($prev) > 0">
+ <td>
+ <a accesskey="p">
+ <xsl:attribute name="href">
+ <xsl:call-template name="href.target">
+ <xsl:with-param name="object" select="$prev"/>
+ </xsl:call-template>
+ </xsl:attribute>
+ <img src="left.png" width="24" height="24" border="0">
+ <xsl:attribute name="alt">
+ <xsl:call-template name="gentext">
+ <xsl:with-param name="key">nav-prev</xsl:with-param>
+ </xsl:call-template>
+ </xsl:attribute>
+ </img>
+ </a>
+ </td>
+ </xsl:when>
+ <xsl:otherwise>
+ <td> </td>
+ </xsl:otherwise>
+ </xsl:choose>
+ <xsl:choose>
+ <xsl:when test="count($up) > 0 and $up != $home">
+ <td>
+ <a accesskey="u">
+ <xsl:attribute name="href">
+ <xsl:call-template name="href.target">
+ <xsl:with-param name="object" select="$up"/>
+ </xsl:call-template>
+ </xsl:attribute>
+ <img src="up.png" width="24" height="24" border="0">
+ <xsl:attribute name="alt">
+ <xsl:call-template name="gentext">
+ <xsl:with-param name="key">nav-up</xsl:with-param>
+ </xsl:call-template>
+ </xsl:attribute>
+ </img>
+ </a>
+ </td>
+ </xsl:when>
+ <xsl:otherwise>
+ <td> </td>
+ </xsl:otherwise>
+ </xsl:choose>
+ <xsl:choose>
+ <xsl:when test="$home != .">
+ <td>
+ <a accesskey="h">
+ <xsl:attribute name="href">
+ <xsl:call-template name="href.target">
+ <xsl:with-param name="object" select="$home"/>
+ </xsl:call-template>
+ </xsl:attribute>
+ <img src="home.png" width="24" height="24" border="0">
+ <xsl:attribute name="alt">
+ <xsl:call-template name="gentext">
+ <xsl:with-param name="key">nav-home</xsl:with-param>
+ </xsl:call-template>
+ </xsl:attribute>
+ </img>
+ </a>
+ </td>
+ </xsl:when>
+ <xsl:otherwise>
+ <td> </td>
+ </xsl:otherwise>
+ </xsl:choose>
+ <th width="100%" align="center">
+ <xsl:apply-templates select="$home" mode="object.title.markup"/>
+ </th>
+ <xsl:choose>
+ <xsl:when test="count($next) > 0">
+ <td>
+ <a accesskey="n">
+ <xsl:attribute name="href">
+ <xsl:call-template name="href.target">
+ <xsl:with-param name="object" select="$next"/>
+ </xsl:call-template>
+ </xsl:attribute>
+ <img src="right.png" width="24" height="24" border="0">
+ <xsl:attribute name="alt">
+ <xsl:call-template name="gentext">
+ <xsl:with-param name="key">nav-next</xsl:with-param>
+ </xsl:call-template>
+ </xsl:attribute>
+ </img>
+ </a>
+ </td>
+ </xsl:when>
+ <xsl:otherwise>
+ <td> </td>
+ </xsl:otherwise>
+ </xsl:choose>
+ </tr>
+ <!--<xsl:if test="name()='refentry'"-->
+ <xsl:choose>
+ <xsl:when test="count($refsections) > 0">
+ <tr>
+ <td colspan="5" class="shortcuts">
+ <xsl:if test="count($sect_synopsis) > 0">
+ <a href="#{$section_id}.synopsis" class="shortcut">Top</a>
+ </xsl:if>
+ <xsl:if test="count($sect_desc) > 0">
+  | 
+ <a href="#{$section_id}.description" class="shortcut">
+ <xsl:value-of select="./refsect1[@role='desc']/title"/>
+ </a>
+ </xsl:if>
+ <xsl:if test="count($sect_object_hierarchy) > 0">
+  | 
+ <a href="#{$section_id}.object-hierarchy" class="shortcut">
+ <xsl:value-of select="./refsect1[@role='object_hierarchy']/title"/>
+ </a>
+ </xsl:if>
+ <xsl:if test="count($sect_impl_interfaces) > 0">
+  | 
+ <a href="#{$section_id}.implemented-interfaces" class="shortcut">
+ <xsl:value-of select="./refsect1[@role='impl_interfaces']/title"/>
+ </a>
+ </xsl:if>
+ <xsl:if test="count($sect_prerequisites) > 0">
+  | 
+ <a href="#{$section_id}.prerequisites" class="shortcut">
+ <xsl:value-of select="./refsect1[@role='prerequisites']/title"/>
+ </a>
+ </xsl:if>
+ <xsl:if test="count($sect_derived_interfaces) > 0">
+  | 
+ <a href="#{$section_id}.derived-interfaces" class="shortcut">
+ <xsl:value-of select="./refsect1[@role='derived_interfaces']/title"/>
+ </a>
+ </xsl:if>
+ <xsl:if test="count($sect_implementations) > 0">
+  | 
+ <a href="#{$section_id}.implementations" class="shortcut">
+ <xsl:value-of select="./refsect1[@role='implementations']/title"/>
+ </a>
+ </xsl:if>
+ <xsl:if test="count($sect_properties) > 0">
+  | 
+ <a href="#{$section_id}.properties" class="shortcut">
+ <xsl:value-of select="./refsect1[@role='properties']/title"/>
+ </a>
+ </xsl:if>
+ <xsl:if test="count($sect_child_properties) > 0">
+  | 
+ <a href="#{$section_id}.child-properties" class="shortcut">
+ <xsl:value-of select="./refsect1[@role='child_properties']/title"/>
+ </a>
+ </xsl:if>
+ <xsl:if test="count($sect_style_properties) > 0">
+  | 
+ <a href="#{$section_id}.style-properties" class="shortcut">
+ <xsl:value-of select="./refsect1[@role='style_properties']/title"/>
+ </a>
+ </xsl:if>
+ <xsl:if test="count($sect_signal_proto) > 0">
+  | 
+ <a href="#{$section_id}.signals" class="shortcut">
+ <xsl:value-of select="./refsect1[@role='signal_proto']/title"/>
+ </a>
+ </xsl:if>
+ <!--
+ <xsl:if test="count($sect_details) > 0">
+ <a href="#details" class="shortcut">
+ <xsl:value-of select="./refsect1[@id='details']/title"/>
+ </a>
+  | 
+ </xsl:if>
+ <xsl:if test="count($sect_property_details) > 0">
+ <a href="#property_details" class="shortcut">
+ <xsl:value-of select="./refsect1[@id='property_details']/title"/>
+ </a>
+  | 
+ </xsl:if>
+ <xsl:if test="count($sect_child_property_details) > 0">
+ <a href="#child_property_details" class="shortcut">
+ <xsl:value-of select="./refsect1[@id='property_child_details']/title"/>
+ </a>
+  | 
+ </xsl:if>
+ <xsl:if test="count($sect_style_property_details) > 0">
+ <a href="#style_property_details" class="shortcut">
+ <xsl:value-of select="./refsect1[@id='style_property_details']/title"/>
+ </a>
+  | 
+ </xsl:if>
+ <xsl:if test="count($sect_signals) > 0">
+ <a href="#signals" class="shortcut">
+ <xsl:value-of select="./refsect1[@id='signals']/title"/>
+ </a>
+  | 
+ </xsl:if>
+ -->
+ </td>
+ </tr>
+ </xsl:when>
+ <!-- this is not yet very nice, as it requires all glossdic/indexdiv
+ elements having a anchor element. maybe we can customize the xsl
+ to automaticaly create local anchors
+ -->
+ <xsl:when test="count($glssections) > 0">
+ <tr>
+ <td colspan="5" class="shortcuts">
+ <xsl:for-each select="./glossdiv">
+ <xsl:if test="position() > 1">
+  | 
+ </xsl:if>
+ <a class="shortcut">
+ <xsl:attribute name="href">#gls<xsl:value-of select="./title"/></xsl:attribute>
+ <xsl:value-of select="./title"/>
+ </a>
+ </xsl:for-each>
+ </td>
+ </tr>
+ </xsl:when>
+ <xsl:when test="count($idxsections) > 0">
+ <tr>
+ <td colspan="5" class="shortcuts">
+ <xsl:for-each select="./indexdiv/indexdiv">
+ <xsl:if test="position() > 1">
+  | 
+ </xsl:if>
+ <a class="shortcut">
+ <xsl:attribute name="href">#idx<xsl:value-of select="./title"/></xsl:attribute>
+ <xsl:value-of select="./title"/>
+ </a>
+ </xsl:for-each>
+ </td>
+ </tr>
+ </xsl:when>
+ </xsl:choose>
+ </table>
+ </xsl:if>
+ </xsl:template>
+
+ <xsl:template name="footer.navigation">
+ </xsl:template>
+
+ <!-- avoid creating multiple identical indices
+ if the stylesheets don't support filtered indices
+ -->
+ <xsl:template match="index">
+ <xsl:variable name="has-filtered-index">
+ <xsl:call-template name="version-greater-or-equal">
+ <xsl:with-param name="ver1" select="$VERSION" />
+ <xsl:with-param name="ver2">1.66</xsl:with-param>
+ </xsl:call-template>
+ </xsl:variable>
+ <xsl:if test="($has-filtered-index = 1) or (count(@role) = 0)">
+ <xsl:apply-imports/>
+ </xsl:if>
+ </xsl:template>
+
+ <xsl:template match="index" mode="toc">
+ <xsl:variable name="has-filtered-index">
+ <xsl:call-template name="version-greater-or-equal">
+ <xsl:with-param name="ver1" select="$VERSION" />
+ <xsl:with-param name="ver2">1.66</xsl:with-param>
+ </xsl:call-template>
+ </xsl:variable>
+ <xsl:if test="($has-filtered-index = 1) or (count(@role) = 0)">
+ <xsl:apply-imports/>
+ </xsl:if>
+ </xsl:template>
+
+ <xsl:template match="para">
+ <xsl:choose>
+ <xsl:when test="@role = 'gallery'">
+ <div class="container">
+ <div class="gallery-spacer"> </div>
+ <xsl:apply-templates mode="gallery.mode"/>
+ <div class="gallery-spacer"> </div>
+ </div>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:apply-imports/>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:template>
+ <!-- FIXME: try if that works too -->
+ <!--xsl:template match="para[@role='gallery']">
+ <div class="container">
+ <div class="gallery-spacer"> </div>
+ <xsl:apply-templates mode="gallery.mode"/>
+ <div class="gallery-spacer"> </div>
+ </div>
+ </xsl:template-->
+
+
+
+ <xsl:template match="link" mode="gallery.mode">
+ <div class="gallery-float">
+ <xsl:apply-templates select="."/>
+ </div>
+ </xsl:template>
+
+ <!-- add gallery handling to refnamediv template -->
+ <xsl:template match="refnamediv">
+ <div class="{name(.)}">
+ <table width="100%">
+ <tr><td valign="top">
+ <xsl:call-template name="anchor"/>
+ <xsl:choose>
+ <xsl:when test="$refentry.generate.name != 0">
+ <h2>
+ <xsl:call-template name="gentext">
+ <xsl:with-param name="key" select="'RefName'"/>
+ </xsl:call-template>
+ </h2>
+ </xsl:when>
+ <xsl:when test="$refentry.generate.title != 0">
+ <h2>
+ <xsl:choose>
+ <xsl:when test="../refmeta/refentrytitle">
+ <xsl:apply-templates select="../refmeta/refentrytitle"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:apply-templates select="refname[1]"/>
+ </xsl:otherwise>
+ </xsl:choose>
+ </h2>
+ </xsl:when>
+ </xsl:choose>
+ <p>
+ <xsl:apply-templates/>
+ </p>
+ </td>
+ <td valign="top" align="right">
+ <xsl:choose>
+ <xsl:when test="../refmeta/refmiscinfo/inlinegraphic">
+ <xsl:apply-templates select="../refmeta/refmiscinfo/inlinegraphic"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <!-- find the gallery image to use here
+ - determine the id of the enclosing refentry
+ - look for an inlinegraphic inside a link with linkend == refentryid inside a para with role == gallery
+ - use it here
+ -->
+ <xsl:variable name="refentryid" select="../@id"/>
+ <xsl:apply-templates select="key('gallery.key', $refentryid)/inlinegraphic"/>
+ </xsl:otherwise>
+ </xsl:choose>
+ </td></tr>
+ </table>
+ </div>
+ </xsl:template>
+
+ <!-- add anchors for index sections -->
+ <xsl:template match="indexdiv">
+ <a><xsl:attribute name="name">idx<xsl:value-of select="./title"/></xsl:attribute></a>
+ <xsl:apply-templates/>
+ </xsl:template>
+
+ <!-- add anchors for glossary sections -->
+ <xsl:template match="glossdiv">
+ <a><xsl:attribute name="name">gls<xsl:value-of select="./title"/></xsl:attribute></a>
+ <xsl:apply-templates/>
+ </xsl:template>
+
+ <!-- Exterminate any trace of indexterms in the main flow -->
+ <xsl:template match="indexterm">
+ </xsl:template>
+
+ <!-- Extra link on the right side of doc-blobs -->
+ <xsl:template name="user.format.extralinks">
+ <xsl:if test="../ulink[@role='extralinks']">
+ <span class="extralinks">
+ <xsl:for-each select="../ulink[@role='extralinks']">
+ <xsl:if test="position() = 1">[ </xsl:if>
+ <xsl:if test="position() > 1"> | </xsl:if>
+ <a>
+ <xsl:attribute name="href"><xsl:value-of select="@url"/></xsl:attribute>
+ <xsl:copy-of select="text()" />
+ </a>
+ <xsl:if test="position() = last()"> ]</xsl:if>
+ </xsl:for-each>
+ </span>
+ </xsl:if>
+ <!--xsl:copy-of select="text()" /-->
+ <xsl:apply-templates/>
+ </xsl:template>
+
+ <!-- this is not in use yet (see gtkdoc-mkdb
+ <xsl:template match="//refsect2/ulink[@role='extralinks']"/>
+ <xsl:template match="//refsect1/ulink[@role='extralinks']"/>
+
+ <xsl:template match="//refsect2/title">
+ <h3><xsl:call-template name="user.format.extralinks"/></h3>
+ </xsl:template>
+
+ <xsl:template match="//refsect1/title">
+ <h2><xsl:call-template name="user.format.extralinks"/></h2>
+ </xsl:template>
+ -->
+
+ <!-- ==================================================================== -->
+
+ <xsl:template match="acronym">
+ <xsl:call-template name="generate.acronym.link"/>
+ </xsl:template>
+
+ <xsl:template name="generate.acronym.link">
+ <xsl:param name="acronym">
+ <xsl:apply-templates/>
+ </xsl:param>
+ <!--
+ We use for-each to change context to the database document because key()
+ only locates elements in the same document as the context node!
+ -->
+
+ <xsl:param name="value" >
+ <xsl:value-of select="key('acronym.key', $acronym)/../glossdef/para[1]" />
+ </xsl:param>
+ <xsl:choose>
+ <xsl:when test="$value=''">
+ <!-- debug -->
+ <xsl:message>
+ In gtk-doc.xsl: For acronym (<xsl:value-of select="$acronym"/>) no value found!
+ </xsl:message>
+ <a>
+ <xsl:attribute name="href">
+ <xsl:text>http://foldoc.org/</xsl:text>
+ <xsl:value-of select="$acronym"/>
+ </xsl:attribute>
+ <xsl:call-template name="inline.charseq"/>
+ </a>
+ </xsl:when>
+ <xsl:otherwise>
+ <!-- found -->
+ <acronym>
+ <xsl:attribute name="title">
+ <xsl:value-of select="$value"/>
+ </xsl:attribute>
+ <xsl:call-template name="inline.charseq"/>
+ </acronym>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:template>
+
+</xsl:stylesheet>
--- /dev/null
+#!@PERL@ -w
+# -*- cperl -*-
+#
+# gtk-doc - GTK DocBook documentation generator.
+# Copyright (C) 2007 David Nečas
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+#
+
+#############################################################################
+# Script : gtkdoc-check
+# Description : Runs various checks on built documentation and outputs test
+# results. Can be run druring make check, by adding this to the
+# documentations Makefile.am: TESTS = $(GTKDOC_CHECK)
+#############################################################################
+
+use strict;
+use Getopt::Long;
+
+my $PRINT_VERSION;
+my $PRINT_HELP;
+
+my %optctl = ('version' => \$PRINT_VERSION,
+ 'help' => \$PRINT_HELP);
+GetOptions(\%optctl, "version", "help");
+
+if ($PRINT_VERSION) {
+ print "@VERSION@\n";
+ exit 0;
+}
+
+if ($PRINT_HELP) {
+ print <<EOF;
+gtkdoc-check version @VERSION@ - run documentation unit tests
+
+--version Print the version of this program
+--help Print this help
+EOF
+ exit 0;
+}
+
+my $checks = 4;
+
+# Get parameters from test env, if not there try to grab them from the makefile
+# We like Makefile.am more but builddir does not necessarily contain one.
+my $makefile = (-f 'Makefile.am') ? 'Makefile.am' : 'Makefile';
+
+# For historic reasons tests are launched in srcdir
+my $SRCDIR = $ENV{"SRCDIR"};
+my $BUILDDIR = $ENV{"BUILDDIR"};
+my $dir = ".";
+if (defined($BUILDDIR) and $BUILDDIR ne "") {
+ $dir=$BUILDDIR;
+}
+
+# debug
+#for my $key (sort(keys(%ENV))) { print "$key = ", $ENV{$key}, "\n"; }
+# debug
+
+my $DOC_MODULE = $ENV{"DOC_MODULE"};
+if (!defined($DOC_MODULE) or $DOC_MODULE eq "") {
+ $DOC_MODULE = &Grep('^\s*DOC_MODULE\s*=\s*(\S+)', $makefile, 'DOC_MODULE');
+}
+my $DOC_MAIN_SGML_FILE = $ENV{"DOC_MAIN_SGML_FILE"};
+if (!defined($DOC_MAIN_SGML_FILE) or $DOC_MAIN_SGML_FILE eq "") {
+ $DOC_MAIN_SGML_FILE = &Grep('^\s*DOC_MAIN_SGML_FILE\s*=\s*(\S+)', $makefile, 'DOC_MAIN_SGML_FILE');
+ $DOC_MAIN_SGML_FILE =~ s/\$\(DOC_MODULE\)/$DOC_MODULE/;
+}
+
+print "Running suite(s): gtk-doc-$DOC_MODULE\n";
+
+my $undocumented = int &Grep('^(\d+)\s+not\s+documented\.\s*$',
+ "$dir/$DOC_MODULE-undocumented.txt",
+ 'number of undocumented symbols');
+my $incomplete = int &Grep('^(\d+)\s+symbols?\s+incomplete\.\s*$',
+ "$dir/$DOC_MODULE-undocumented.txt",
+ 'number of incomplete symbols');
+my $total = $undocumented + $incomplete;
+if ($total) {
+ print "$DOC_MODULE-undocumented.txt:1:E: $total undocumented or incomplete symbols\n";
+}
+
+my $undeclared = &CheckEmpty("$dir/$DOC_MODULE-undeclared.txt",
+ 'undeclared symbols');
+my $unused = &CheckEmpty("$dir/$DOC_MODULE-unused.txt",
+ 'unused documentation entries');
+
+my $missing_includes = &CheckIncludes ("$dir/$DOC_MAIN_SGML_FILE");
+
+my $failed = ($total > 0) + ($undeclared != 0) + ($unused != 0) + ($missing_includes != 0);
+my $rate = 100.0*($checks - $failed)/$checks;
+printf "%.1f%%: Checks %d, Failures: %d\n", $rate, $checks, $failed;
+exit ($failed != 0);
+
+sub Grep() {
+ my ($regexp, $filename, $what) = @_;
+ my $retval;
+
+ if (not open GFILE, "<$filename") {
+ die "Cannot open $filename: $!\n";
+ }
+ while (<GFILE>) {
+ next if not m/$regexp/;
+ $retval = $1;
+ last;
+ }
+ close GFILE;
+ if (not defined $retval) {
+ die "Cannot find $what in $filename\n";
+ }
+ return $retval;
+}
+
+sub CheckEmpty() {
+ my ($filename, $what) = @_;
+ my $count = 0;
+
+ if (not open GFILE, "<$filename") {
+ return $count;
+ }
+ while (<GFILE>) {
+ if (m/\S/) {
+ $count++
+ }
+ }
+ close GFILE;
+ if ($count) {
+ print "$filename:1:E: $count $what\n"
+ }
+ return $count;
+}
+
+sub CheckIncludes() {
+ my ($main_sgml_file) = @_;
+
+ if (not open GFILE, "<$main_sgml_file") {
+ die "Cannot open $main_sgml_file: $!\n";
+ }
+
+ # Check that each of the XML files in the xml directory are included in $DOC_MAIN_SGML_FILE
+ my @xml_files = <xml/*.xml>;
+ my $num_missing = 0;
+
+ foreach my $xml_file (@xml_files) {
+ my $regex = quotemeta ($xml_file);
+ my $found = 0;
+
+ while (<GFILE>) {
+ next if not m/"$regex"/;
+ $found = 1;
+ last;
+ }
+
+ if (!$found) {
+ $num_missing++;
+ print "$main_sgml_file doesn't appear to include \"$xml_file\"\n";
+ }
+
+ seek (GFILE, 0, 0);
+ }
+
+ close (GFILE);
+
+ return $num_missing;
+}
--- /dev/null
+#!@PERL@ -w
+# -*- cperl -*-
+#
+# gtk-doc - GTK DocBook documentation generator.
+# Copyright (C) 2001 Damon Chaplin
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+#
+
+#
+# These are functions used by several of the gtk-doc Perl scripts.
+# We'll move more of the common routines here eventually, though they need to
+# stop using global variables first.
+#
+
+1;
+
+
+#############################################################################
+# Function : UpdateFileIfChanged
+# Description : Compares the old version of the file with the new version and
+# if the file has changed it moves the new version into the old
+# versions place. This is used so we only change files if
+# needed, so we can do proper dependency tracking and we don't
+# needlessly check files into version control systems that haven't
+# changed.
+# It returns 0 if the file hasn't changed, and 1 if it has.
+# Arguments : $old_file - the pathname of the old file.
+# $new_file - the pathname of the new version of the file.
+# $make_backup - 1 if a backup of the old file should be kept.
+# It will have the .bak suffix added to the file name.
+#############################################################################
+
+sub UpdateFileIfChanged {
+ my ($old_file, $new_file, $make_backup) = @_;
+
+ #@TRACE@("Comparing $old_file with $new_file...");
+
+ # If the old file doesn't exist we want this to default to 1.
+ my $exit_code = 1;
+
+ if (-e $old_file) {
+ `cmp -s "$old_file" "$new_file"`;
+ $exit_code = $? >> 8;
+ #@TRACE@(" cmp exit code: $exit_code ($?)";
+ }
+
+ if ($exit_code > 1) {
+ die "Error running 'cmp $old_file $new_file'";
+ }
+
+ if ($exit_code == 1) {
+ #@TRACE@(" files changed - replacing old version with new version.");
+ if ($make_backup && -e $old_file) {
+ rename ($old_file, "$old_file.bak")
+ || die "Can't move $old_file to $old_file.bak: $!";
+ }
+ rename ($new_file, $old_file)
+ || die "Can't move $new_file to $old_file: $!";
+
+ return 1;
+ } else {
+ #@TRACE@(" files the same - deleting new version.");
+ unlink ("$new_file")
+ || die "Can't delete file: $new_file: $!";
+
+ return 0;
+ }
+}
+
+
+#############################################################################
+# Function : ParseStructDeclaration
+# Description : This function takes a structure declaration and
+# breaks it into individual type declarations.
+# Arguments : $declaration - the declaration to parse
+# $is_object - true if this is an object structure
+# $output_function_params - true if full type is wanted for
+# function pointer members
+# $typefunc - function reference to apply to type
+# $namefunc - function reference to apply to name
+#############################################################################
+
+sub ParseStructDeclaration {
+ my ($declaration, $is_object, $output_function_params, $typefunc, $namefunc) = @_;
+
+ # For forward struct declarations just return an empty array.
+ if ($declaration =~ m/(?:struct|union)\s+\S+\s*;/msg) {
+ return ();
+ }
+
+ # Remove all private parts of the declaration
+
+ # For objects, assume private
+ if ($is_object) {
+ $declaration =~ s!((?:struct|union)\s+\w*\s*\{)
+ .*?
+ (?:/\*\s*<\s*public\s*>\s*\*/|(?=\}))!$1!msgx;
+ }
+
+ # Remove private symbols
+ # Assume end of declaration if line begins with '}'
+ $declaration =~ s!\n?[ \t]*/\*\s*<\s*(private|protected)\s*>\s*\*/.*?(?:/\*\s*<\s*public\s*>\s*\*/|(?=^\}))!!msgx;
+
+ # Remove all other comments
+ $declaration =~ s@\n\s*/\*([^*]+|\*(?!/))*\*/\s*\n@\n@msg;
+ $declaration =~ s@/\*([^*]+|\*(?!/))*\*/@ @g;
+ $declaration =~ s@\n\s*//.*?\n@\n@msg;
+ $declaration =~ s@//.*@@g;
+
+ my @result = ();
+
+ if ($declaration =~ /^\s*$/) {
+ return @result;
+ }
+
+ # Prime match after "struct/union {" declaration
+ if (!scalar($declaration =~ m/(?:struct|union)\s+\w*\s*\{/msg)) {
+ die "Declaration '$declaration' does not begin with struct/union [NAME] {\n";
+ }
+
+ #@TRACE@("public fields in struct/union: $declaration");
+
+ # Treat lines in sequence, allowing singly nested anonymous structs
+ # and unions.
+ while ($declaration =~ m/\s*([^{;]+(\{[^\}]*\}[^{;]+)?);/msg) {
+ my $line = $1;
+
+ last if $line =~ /^\s*\}\s*\w*\s*$/;
+
+ # FIXME: Just ignore nested structs and unions for now
+ next if $line =~ /{/;
+
+ # ignore preprocessor directives
+ while ($line =~ /^#.*?\n\s*(.*)/msg) {
+ $line=$1;
+ }
+
+ last if $line =~ /^\s*\}\s*\w*\s*$/;
+
+ # Try to match structure members which are functions
+ if ($line =~ m/^
+ (const\s+|G_CONST_RETURN\s+|unsigned\s+|signed\s+|long\s+|short\s+)*(struct\s+|enum\s+)? # mod1
+ (\w+)\s* # type
+ (\**(?:\s*restrict)?)\s* # ptr1
+ (const\s+)? # mod2
+ (\**\s*) # ptr2
+ (const\s+)? # mod3
+ \(\s*\*\s*(\w+)\s*\)\s* # name
+ \(([^)]*)\)\s* # func_params
+ $/x) {
+
+ my $mod1 = defined($1) ? $1 : "";
+ if (defined($2)) { $mod1 .= $2; }
+ my $type = $3;
+ my $ptr1 = $4;
+ my $mod2 = defined($5) ? $5 : "";
+ my $ptr2 = $6;
+ my $mod3 = defined($7) ? $7 : "";
+ my $name = $8;
+ my $func_params = $9;
+ my $ptype = defined $typefunc ? $typefunc->($type, "<type>$type</type>") : $type;
+ my $pname = defined $namefunc ? $namefunc->($name) : $name;
+
+ push @result, $name;
+
+ if ($output_function_params) {
+ push @result, "$mod1$ptype$ptr1$mod2$ptr2$mod3 (*$pname) ($func_params)";
+ } else {
+ push @result, "$pname ()";
+ }
+
+
+ # Try to match normal struct fields of comma-separated variables/
+ } elsif ($line =~ m/^
+ ((?:const\s+|volatile\s+|unsigned\s+|signed\s+|short\s+|long\s+)?)(struct\s+|enum\s+)? # mod1
+ (\w+)\s* # type
+ (\** \s* const\s+)? # mod2
+ (.*) # variables
+ $/x) {
+
+ my $mod1 = defined($1) ? $1 : "";
+ if (defined($2)) { $mod1 .= $2; }
+ my $type = $3;
+ my $ptype = defined $typefunc ? $typefunc->($type, "<type>$type</type>") : $type;
+ my $mod2 = defined($4) ? " " . $4 : "";
+ my $list = $5;
+
+ #@TRACE@("'$mod1' '$type' '$mod2' '$list'");
+
+ $mod1 =~ s/ / /g;
+ $mod2 =~ s/ / /g;
+
+ my @names = split /,/, $list;
+ for my $n (@names) {
+ # Each variable can have any number of '*' before the
+ # identifier, and be followed by any number of pairs of
+ # brackets or a bit field specifier.
+ # e.g. *foo, ***bar, *baz[12][23], foo : 25.
+ if ($n =~ m/^\s* (\**(?:\s*restrict\b)?) \s* (\w+) \s* (?: ((?:\[[^\]]*\]\s*)+) | (:\s*\d+)?) \s* $/x) {
+ my $ptrs = $1;
+ my $name = $2;
+ my $array = defined($3) ? $3 : "";
+ my $bits = defined($4) ? " $4" : "";
+
+ if ($ptrs && $ptrs !~ m/\*$/) { $ptrs .= " "; }
+ $array =~ s/ / /g;
+ $bits =~ s/ / /g;
+
+ push @result, $name;
+ if (defined $namefunc) {
+ $name = $namefunc->($name);
+ }
+ push @result, "$mod1$ptype$mod2 $ptrs$name$array$bits;";
+
+ #@TRACE@("Matched line: $mod1$ptype$mod2 $ptrs$name$array$bits");
+ } else {
+ print "WARNING: Couldn't parse struct field: $n\n";
+ }
+ }
+
+ } else {
+ print "WARNING: Cannot parse structure field: \"$line\"\n";
+ }
+ }
+
+ return @result;
+}
+
+
+#############################################################################
+# Function : ParseEnumDeclaration
+# Description : This function takes a enumeration declaration and
+# breaks it into individual enum member declarations.
+# Arguments : $declaration - the declaration to parse
+#############################################################################
+
+sub ParseEnumDeclaration {
+ my ($declaration, $is_object) = @_;
+
+ # For forward enum declarations just return an empty array.
+ if ($declaration =~ m/enum\s+\S+\s*;/msg) {
+ return ();
+ }
+
+ # Remove private symbols
+ # Assume end of declaration if line begins with '}'
+ $declaration =~ s!\n?[ \t]*/\*\s*<\s*(private|protected)\s*>\s*\*/.*?(?:/\*\s*<\s*public\s*>\s*\*/|(?=^\}))!!msgx;
+
+ # Remove all other comments
+ $declaration =~ s@\n\s*/\*([^*]+|\*(?!/))*\*/\s*\n@\n@msg;
+ $declaration =~ s@/\*([^*]+|\*(?!/))*\*/@ @g;
+ $declaration =~ s@\n\s*//.*?\n@\n@msg;
+ $declaration =~ s@//.*@@g;
+
+ my @result = ();
+
+ if ($declaration =~ /^\s*$/) {
+ return @result;
+ }
+
+ # Remove parenthesized expressions (in macros like GTK_BLAH = BLAH(1,3))
+ # to avoid getting confused by commas they might contain. This
+ # doesn't handle nested parentheses correctly.
+
+ $declaration =~ s/\([^)\n]+\)//g;
+
+ # Remove comma from comma - possible whitespace - closing brace sequence
+ # since it is legal in GNU C and C99 to have a trailing comma but doesn't
+ # result in an actual enum member
+
+ $declaration =~ s/,(\s*})/$1/g;
+
+ # Prime match after "typedef enum {" declaration
+ if (!scalar($declaration =~ m/(typedef\s+)?enum\s*(\S+\s*)?\{/msg)) {
+ die "Enum declaration '$declaration' does not begin with 'typedef enum {' or 'enum XXX {'\n";
+ }
+
+ #@TRACE@("public fields in enum: $declaration");
+
+ # Treat lines in sequence.
+ while ($declaration =~ m/\s*([^,\}]+)([,\}])/msg) {
+ my $line = $1;
+ my $terminator = $2;
+
+ # ignore preprocessor directives
+ while ($line =~ /^#.*?\n\s*(.*)/msg) {
+ $line=$1;
+ }
+
+ if ($line =~ m/^(\w+)\s*(=.*)?$/msg) {
+ push @result, $1;
+
+ # Special case for GIOCondition, where the values are specified by
+ # macros which expand to include the equal sign like '=1'.
+ } elsif ($line =~ m/^(\w+)\s*GLIB_SYSDEF_POLL/msg) {
+ push @result, $1;
+
+ # Special case include of <gdk/gdkcursors.h>, just ignore it
+ } elsif ($line =~ m/^#include/) {
+ last;
+
+ # Special case for #ifdef/#else/#endif, just ignore it
+ } elsif ($line =~ m/^#(?:if|else|endif)/) {
+ last;
+
+ } else {
+ warn "Cannot parse enumeration member \"$line\"";
+ }
+
+ last if $terminator eq '}';
+ }
+
+ return @result;
+}
+
+
+#############################################################################
+# Function : ParseFunctionDeclaration
+# Description : This function takes a function declaration and
+# breaks it into individual parameter declarations.
+# Arguments : $declaration - the declaration to parse
+# $typefunc - function reference to apply to type
+# $namefunc - function reference to apply to name
+#############################################################################
+
+sub ParseFunctionDeclaration {
+ my ($declaration, $typefunc, $namefunc) = @_;
+
+ my @result = ();
+
+ my ($param_num) = 0;
+ while ($declaration ne "") {
+ #@TRACE@("[$declaration]");
+
+ if ($declaration =~ s/^[\s,]+//) {
+ # skip whitespace and commas
+ next;
+
+ } elsif ($declaration =~ s/^void\s*[,\n]//) {
+ if ($param_num != 0) {
+ # FIXME: whats the problem here?
+ warn "void used as parameter in function $declaration";
+ }
+ push @result, "void";
+ my $xref = "<type>void</type>";
+ my $label = defined $namefunc ? $namefunc->($xref) : $xref;
+ push @result, $label;
+
+ } elsif ($declaration =~ s/^\s*[_a-zA-Z0-9]*\.\.\.\s*[,\n]//) {
+ push @result, "...";
+ my $label = defined $namefunc ? $namefunc->("...") : "...";
+ push @result, $label;
+
+ # allow alphanumerics, '_', '[' & ']' in param names
+ # Try to match a standard parameter
+ # $1 $2 $3 $4 $5
+ } elsif ($declaration =~ s/^\s*((?:(?:G_CONST_RETURN|G_GNUC_[A-Z_]+\s+|unsigned long|unsigned short|signed long|signed short|unsigned|signed|long|short|volatile|const)\s+)*)((?:struct\b|enum\b)?\s*\w+)\s*((?:(?:const\b|restrict\b|G_GNUC_[A-Z_]+\b)?\s*\*?\s*(?:const\b|restrict\b|G_GNUC_[A-Z_]+\b)?\s*)*)(\w+)?\s*((?:\[\S*\])*)\s*(?:G_GNUC_[A-Z_]+)?\s*[,\n]//) {
+ my $pre = defined($1) ? $1 : "";
+ my $type = $2;
+ my $ptr = defined($3) ? $3 : "";
+ my $name = defined($4) ? $4 : "";
+ my $array = defined($5) ? $5 : "";
+
+ $pre =~ s/\s+/ /g;
+ $type =~ s/\s+/ /g;
+ $ptr =~ s/\s+/ /g;
+ $ptr =~ s/\s+$//;
+ if ($ptr && $ptr !~ m/\*$/) { $ptr .= " "; }
+
+ #@TRACE@("$symbol: '$pre' '$type' '$ptr' '$name' '$array'");
+
+ if (($name eq "") && $pre =~ m/^((un)?signed .*)\s?/ ) {
+ $name = $type;
+ $type = "$1";
+ $pre = "";
+ }
+
+ if ($name eq "") {
+ $name = "Param" . ($param_num + 1);
+ }
+
+ #@TRACE@("$symbol: '$pre' '$type' '$ptr' '$name' '$array'");
+
+ push @result, $name;
+ my $xref = defined $typefunc ? $typefunc->($type, "<type>$type</type>") : $type;
+ my $label = "$pre$xref $ptr$name$array";
+ if (defined $namefunc) {
+ $label = $namefunc->($label)
+ }
+ push @result, $label;
+
+ # Try to match parameters which are functions
+ # $1 $2 $3 $4 $5 $6 $7 $8
+ } elsif ($declaration =~ s/^(const\s+|G_CONST_RETURN\s+|G_GNUC_[A-Z_]+\s+|signed\s+|unsigned\s+)*(struct\s+)?(\w+)\s*(\**)\s*(?:restrict\b)?\s*(const\s+)?\(\s*(\*[\s\*]*)\s*(\w+)\s*\)\s*\(([^)]*)\)\s*[,\n]//) {
+ my $mod1 = defined($1) ? $1 : "";
+ if (defined($2)) { $mod1 .= $2; }
+ my $type = $3;
+ my $ptr1 = $4;
+ my $mod2 = defined($5) ? $5 : "";
+ my $func_ptr = $6;
+ my $name = $7;
+ my $func_params = defined($8) ? $8 : "";
+
+ #if (!defined($type)) { print "## no type\n"; };
+ #if (!defined($ptr1)) { print "## no ptr1\n"; };
+ #if (!defined($func_ptr)) { print "## no func_ptr\n"; };
+ #if (!defined($name)) { print "## no name\n"; };
+
+ if ($ptr1 && $ptr1 !~ m/\*$/) { $ptr1 .= " "; }
+ $func_ptr =~ s/\s+//g;
+
+ push @result, $name;
+ my $xref = defined $typefunc ? $typefunc->($type, "<type>$type</type>") : $type;
+ #@TRACE@("Type: [$mod1][$xref][$ptr1][$mod2] ([$func_ptr][$name]) ($func_params)");
+ my $label = "$mod1$xref$ptr1$mod2 ($func_ptr$name) ($func_params)";
+ if (defined $namefunc) {
+ $label = $namefunc->($label)
+ }
+ push @result, $label;
+ } else {
+ warn "Can't parse args for function in \"$declaration\"";
+ last;
+ }
+ $param_num++;
+ }
+
+ return @result;
+}
+
+
+#############################################################################
+# Function : ParseMacroDeclaration
+# Description : This function takes a macro declaration and
+# breaks it into individual parameter declarations.
+# Arguments : $declaration - the declaration to parse
+# $namefunc - function reference to apply to name
+#############################################################################
+
+sub ParseMacroDeclaration {
+ my ($declaration, $namefunc) = @_;
+
+ my @result = ();
+
+ if ($declaration =~ m/^\s*#\s*define\s+\w+\(([^\)]*)\)/) {
+ my $params = $1;
+
+ $params =~ s/\\\n//g;
+ foreach $param (split (/,/, $params)) {
+ $param =~ s/^\s+//;
+ $param =~ s/\s*$//;
+ # Allow varargs variations
+ if ($param =~ m/^.*\.\.\.$/) {
+ $param = "...";
+ }
+ if ($param =~ m/\S/) {
+ push @result, $param;
+ push @result, defined $namefunc ? $namefunc->($param) : $param;
+ }
+ }
+ }
+
+ return @result;
+}
+
+
+#############################################################################
+# Function : LogWarning
+# Description : Log a warning in gcc style format
+# Arguments : $file - the file the error comes from
+# $line - line number for the wrong entry
+# $message - description of the issue
+#############################################################################
+
+sub LogWarning {
+ my ($file, $line, $message) = @_;
+
+ $file="unknown" if !defined($file);
+ $line="0" if !defined($line);
+
+ print "$file:$line: warning: $message\n"
+}
+
+sub LogTrace {
+ my ($message) = @_;
+
+ if (defined($ENV{"GTKDOC_TRACE"})) {
+ my (undef, $file, $line) = caller;
+
+ chomp($message);
+ print "$file:$line: trace: $message\n"
+ }
+}
+
+
+#############################################################################
+# Function : CreateValidSGMLID
+# Description : Creates a valid SGML 'id' from the given string.
+# According to http://www.w3.org/TR/html4/types.html#type-id
+# "ID and NAME tokens must begin with a letter ([A-Za-z]) and
+# may be followed by any number of letters, digits ([0-9]),
+# hyphens ("-"), underscores ("_"), colons (":"), and
+# periods (".")."
+#
+# NOTE: When creating SGML IDS, we append ":CAPS" to all
+# all-caps identifiers to prevent name clashes (SGML ids are
+# case-insensitive). (It basically never is the case that
+# mixed-case identifiers would collide.)
+# Arguments : $id - the string to be converted into a valid SGML id.
+#############################################################################
+
+sub CreateValidSGMLID {
+ my ($id) = $_[0];
+
+ # Special case, '_' would end up as '' so we use 'gettext-macro' instead.
+ if ($id eq "_") { return "gettext-macro"; }
+
+ $id =~ s/[_ ]/-/g;
+ $id =~ s/[,;]//g;
+ $id =~ s/^-*//;
+ $id =~ s/::/-/g;
+ $id =~ s/:/--/g;
+
+ # Append ":CAPS" to all all-caps identifiers
+ # FIXME: there are some inconsistencies here, we have sgml.index files
+ # containing e.g. TRUE--CAPS
+ if ($id !~ /[a-z]/ && $id !~ /-CAPS$/) { $id .= ":CAPS" };
+
+ return $id;
+}
+
--- /dev/null
+#!@PYTHON@
+
+import gzip, os.path, re
+
+from os import environ, popen, walk
+from optparse import OptionParser
+from sys import stderr
+
+from xml.sax import ContentHandler, make_parser
+from xml.sax.handler import feature_external_ges
+
+default_books = ['atk', 'gdk', 'gdk-pixbuf', 'glib', 'gio', 'gobject', 'gtk', 'pango']
+
+__comment_regex = re.compile(r'/\*.*?\*/', re.DOTALL)
+__word_regex = re.compile(r'\b[A-Za-z_][A-Za-z0-9_]*\b')
+
+class Book(object):
+ def __init__(self, name, folders, version=None):
+ self.__catalog = None
+ self.__name = name
+ self.__symbols = None
+ self.__timestamp = 0
+ self.__title = None
+ self.__version = version
+
+ for f in folders:
+ catalogs = map(
+ lambda n: os.path.join(f, name, n % name),
+ ['%s.devhelp2', '%s.devhelp2.gz'])
+ catalogs = map(
+ lambda n: (os.path.getmtime(n), n),
+ filter(os.path.isfile, catalogs))
+
+ catalogs.sort()
+
+ if catalogs:
+ self.__catalog = catalogs[-1][1]
+ break
+
+ if not self.__catalog:
+ raise IOError, 'No devhelp book found for "%s"' % name
+
+ def __cmp__(self, other):
+ if isinstance(other, Book):
+ return cmp(self.name, other.name)
+
+ return 0
+
+ def __repr__(self):
+ return '<Book name="%s">' % self.__name
+
+ def parse(self):
+ timestamp = os.path.getmtime(self.__catalog)
+
+ if not self.__symbols or timestamp > self.__timestamp:
+ class DevhelpContentHandler(ContentHandler):
+ def __init__(self, book, symbols):
+ self.__book = book
+ self.__symbols = symbols
+
+ def startElement(self, name, attrs):
+ if 'book' == name:
+ self.title = attrs.get('title')
+ return
+
+ if 'keyword' == name:
+ symbol = Symbol.from_xml(self.__book, attrs)
+ if symbol: self.__symbols[symbol.name] = symbol
+ return
+
+ self.__symbols, self.__timestamp = dict(), timestamp
+ handler = DevhelpContentHandler(self, self.__symbols)
+
+ parser = make_parser()
+ parser.setFeature(feature_external_ges, False)
+ parser.setContentHandler(handler)
+
+ if self.__catalog.endswith('.gz'):
+ parser.parse(gzip.open(self.__catalog))
+
+ else:
+ parser.parse(open(self.__catalog))
+
+ self.__title = handler.title
+
+ def _get_symbols(self):
+ self.parse(); return self.__symbols
+ def _get_title(self):
+ self.parse(); return self.__title
+
+ def find_requirements(self):
+ requirements = dict()
+
+ for symbol in self.symbols.values():
+ if not symbol.matches:
+ continue
+
+ if symbol.since and symbol.since > self.version:
+ symbol_list = requirements.get(symbol.since, [])
+ requirements[symbol.since] = symbol_list
+ symbol_list.append(symbol)
+
+ return requirements
+
+ catalog = property(lambda self: self.__catalog)
+ name = property(lambda self: self.__name)
+ version = property(lambda self: self.__version)
+
+ symbols = property(_get_symbols)
+ title = property(_get_title)
+
+class Symbol(object):
+ known_attributes = ('name', 'type', 'link', 'deprecated', 'since')
+
+ class DeprecationInfo(object):
+ def __init__(self, text):
+ if text.count(':'):
+ pair = text.split(':', 1)
+
+ self.__version = Symbol.VersionInfo(pair[0])
+ self.__details = pair[1].strip()
+
+ else:
+ self.__version = None
+ self.__details = text.strip()
+
+ def __cmp__(self, other):
+ if isinstance(other, Symbol.DeprecationInfo):
+ return cmp(self.version, other.version)
+
+ if isinstance(other, Symbol.VersionInfo):
+ return cmp(self.version, other)
+
+ return 1
+
+ def __str__(self):
+ if not self.__version:
+ return self.__details and str(self.__details) or 'Deprecated'
+
+ if self.__details:
+ return 'Since %s: %s' % (self.__version, self.__details)
+
+ return 'Since %s' % self.__version
+
+ details = property(lambda self: self.__details)
+ version = property(lambda self: self.__version)
+
+ class VersionInfo(object):
+ def __init__(self, text):
+ match = re.match(r'^\w*\s*((?:\d+\.)*\d+)', text)
+
+ self.__numbers = map(int, match.group(1).split('.'))
+ self.__hash = reduce(lambda x, y: x * 1000 + y, reversed(self.__numbers))
+ self.__text = text.strip()
+
+ def __get_number(self, index):
+ if len(self.__numbers) > index:
+ return self.__numbers[index]
+
+ return 0
+
+ def __cmp__(self, other):
+ if isinstance(other, Symbol.VersionInfo):
+ return cmp(self.numbers, other.numbers)
+
+ return 1
+
+ def __hash__(self):
+ return self.__hash
+
+ def __repr__(self):
+ return '.'.join(map(str, self.__numbers))
+
+ major = property(lambda self: self.__get_number(0))
+ minor = property(lambda self: self.__get_number(1))
+ patch = property(lambda self: self.__get_number(2))
+ numbers = property(lambda self: self.__numbers)
+ text = property(lambda self: self.__text)
+
+ @classmethod
+ def from_xml(cls, book, attrs):
+ name, type, link, deprecated, since = map(attrs.get, Symbol.known_attributes)
+
+ name = name.strip()
+
+ if name.endswith('()'):
+ if not type in ('function', 'macro'):
+ type = (name[0].islower() and 'function' or 'macro')
+
+ name = name[:-2].strip()
+
+ words = name.split(' ')
+
+ if len(words) > 1:
+ if words[0] in ('enum', 'struct', 'union'):
+ if not type: type = words[0]
+ name = name[len(words[0]):].strip()
+ elif 'property' == words[-1]:
+ assert('The' == words[0])
+ owner = link.split('#', 1)[1].split('-', 1)[0]
+ type, name = 'property', '%s::%s' % (owner, name.split('"')[1])
+ elif 'signal' == words[-1]:
+ assert('The' == words[0])
+ owner = link.split('#', 1)[1].split('-', 1)[0]
+ type, name = 'signal', '%s:%s' % (owner, name.split('"')[1])
+
+ if not type: return None
+
+ if None != deprecated: deprecated = Symbol.DeprecationInfo(deprecated)
+ if since: since = Symbol.VersionInfo(since)
+
+ if name.count(' '):
+ print >>stderr, (
+ 'WARNING: Malformed symbol name: "%s" (type=%s) in %s.' % (
+ name, type, book.name))
+
+ return Symbol(book, name, type, link, deprecated, since)
+
+ def __init__(self, book, name, type, link=None, deprecated=None, since=None):
+ self.__book = book
+ self.__name = name
+ self.__type = type
+ self.__link = link
+ self.__deprecated = deprecated
+ self.__since = since
+ self.__matches = []
+
+ def __repr__(self):
+ return (
+ '<Symbol: %s, type=%s, since=%s, deprecated=%s>' % (
+ self.name, self.type, self.since, self.deprecated))
+
+
+ book = property(lambda self: self.__book)
+ name = property(lambda self: self.__name)
+ type = property(lambda self: self.__type)
+ link = property(lambda self: self.__link)
+ deprecated = property(lambda self: self.__deprecated)
+ matches = property(lambda self: self.__matches)
+ since = property(lambda self: self.__since)
+
+def parse_cmdline():
+ options = OptionParser(version="@VERSION@")
+
+ options.add_option('-b', '--book', dest='books',
+ help='name of a devhelp book to consider',
+ default=[], action='append')
+ options.add_option('-d', '--html-dir', metavar='PATH', dest='dirs',
+ help='path of additional folders with devhelp books',
+ default=[], action='append')
+ options.add_option('-s', '--summarize', action='store_true', default=False,
+ help='print only a brief summary', dest='summarize')
+ options.add_option('-u', '--list-unknown', action='store_true', default=False,
+ help='list symbols not found in any book', dest='unknown')
+ options.add_option('-v', '--verbose', action='store_true', default=False,
+ help='print additional information')
+
+ return options.parse_args()
+
+def merge_gnome_path(options):
+ path = environ.get('GNOME2_PATH')
+ path = path and path.split(':') or []
+
+ prefix = popen(
+ 'pkg-config --variable=prefix glib-2.0'
+ ).readline().rstrip()
+
+ path.insert(0, prefix)
+ path = filter(None, [p.strip() for p in path])
+
+ path = [[
+ os.path.join(p, 'share', 'devhelp', 'books'),
+ os.path.join(p, 'share', 'gtk-doc', 'html')]
+ for p in path]
+
+ path = reduce(list.__add__, path)
+ path = filter(os.path.isdir, path)
+
+ options.dirs += path
+
+def summarize_matches(matches):
+ counts = {}
+ for filename, lineno, symbol in matches:
+ if not isinstance(symbol, Symbol):
+ if options.verbose:
+ print '%s:%d: unknown symbol %s' % (filename, lineno, symbol)
+ continue
+
+ since = '%s-%s' % (symbol.book.name, symbol.since)
+ name = symbol.name
+ if since not in counts:
+ counts[since] = {}
+ counts[since][name] = counts[since].get(name, 0) + 1
+
+ for since, stats in counts.items():
+ counts[since] = list(sorted(stats.items(), key=lambda x: -x[1]))
+
+ return counts
+
+if '__main__' == __name__:
+ options, args = parse_cmdline()
+
+ merge_gnome_path(options)
+
+ if not options.books:
+ options.books = default_books
+
+ def trace(message, *args):
+ if options.verbose: print message % args
+
+ def parse_book(name):
+ try:
+ match = re.match(r'^(.*?)(?::(\d+(?:\.\d+)*))?$', name)
+ name, version = match.groups()
+ trace('reading book: %s', name)
+
+ version = version and Symbol.VersionInfo(version)
+ return name, Book(name, options.dirs, version)
+
+ except IOError, e:
+ print >>stderr, 'WARNING: %s.' % e
+
+ def scan_source_file(name):
+ contents = None
+
+ try:
+ contents = __comment_regex.sub('', file(name).read())
+
+ except IOError, e:
+ print >>stderr, e
+
+ if contents:
+ trace('scanning: %s', name)
+ lines = contents.split('\n')
+
+ for lineno in range(len(lines)):
+ for word in __word_regex.findall(lines[lineno]):
+ symbol = symbols.get(word)
+
+ if symbol:
+ symbol.matches.append((name, lineno, symbol))
+
+ elif options.unknown and word.find('_') > 0:
+ unknown_symbols.append((name, lineno, word))
+
+ unknown_symbols = []
+ matches, symbols = dict(), dict()
+ books = dict(filter(None, map(parse_book, set(options.books))))
+
+ for book in books.values():
+ symbols.update(book.symbols)
+
+ for name in args:
+ if os.path.isdir(name):
+ for path, dirs, files in walk(name):
+ for f in files:
+ if f.endswith('.c'):
+ scan_source_file(os.path.join(path, f))
+
+ else:
+ scan_source_file(name)
+
+ matches = []
+
+ for book in books.values():
+ requirements = book.find_requirements().items()
+ requirements.sort()
+
+ if requirements:
+ for symbol in requirements[-1][1]:
+ matches += symbol.matches
+
+ if options.unknown:
+ matches += unknown_symbols
+
+ matches.sort()
+
+ if options.summarize:
+ summary = summarize_matches(matches)
+ for since in sorted(summary.keys()):
+ print '%s required for' % since
+ for x in summary[since]:
+ print ' %u %s' % (x[1], x[0])
+ else:
+ for filename, lineno, symbol in matches:
+ if isinstance(symbol, Symbol):
+ args = filename, lineno, symbol.book.name, symbol.since, symbol.name
+ print '%s:%d: %s-%s required for %s' % args
+
+ elif options.verbose:
+ print '%s:%d: unknown symbol %s' % (filename, lineno, symbol)
+
+ if options.unknown:
+ unknown = [m[2].split('_')[0].lower() for m in unknown_symbols]
+ unknown = list(set(unknown))
+ unknown.sort()
+
+ print 'unknown prefixes: %s' % ', '.join(unknown)
+
+ raise SystemExit(matches and 1 or 0)
--- /dev/null
+#!@PERL@ -w
+# -*- cperl -*-
+#
+# gtk-doc - GTK DocBook documentation generator.
+# Copyright (C) 1998 Damon Chaplin
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+#
+
+#############################################################################
+# Script : gtkdoc-fixxref
+# Description : This fixes cross-references in the HTML documentation.
+#############################################################################
+
+use strict;
+use bytes;
+use Getopt::Long;
+
+push @INC, '@PACKAGE_DATA_DIR@';
+require "gtkdoc-common.pl";
+
+# Options
+
+# name of documentation module
+my $MODULE;
+my $MODULE_DIR;
+my $HTML_DIR = "";
+my @EXTRA_DIRS;
+my $PRINT_VERSION;
+my $PRINT_HELP;
+
+my %optctl = ('module' => \$MODULE,
+ 'module-dir' => \$MODULE_DIR,
+ 'html-dir' => \$HTML_DIR,
+ 'extra-dir' => \@EXTRA_DIRS,
+ 'version' => \$PRINT_VERSION,
+ 'help' => \$PRINT_HELP);
+GetOptions(\%optctl, "module=s", "module-dir=s", "html-dir:s", "extra-dir=s@",
+ "version", "help");
+
+if ($PRINT_VERSION) {
+ print "@VERSION@\n";
+ exit 0;
+}
+
+if ($PRINT_HELP) {
+ print <<EOF;
+gtkdoc-fixxref version @VERSION@ - fix cross references in html files
+
+--module=MODULE_NAME Name of the doc module being parsed
+--module-dir=MODULE_DIR The directory which contains the generated HTML
+--html-dir=HTML_DIR The directory where gtk-doc generated documentation is
+ installed
+--extra-dir=EXTRA_DIR Directories to recursively scan for indices (index.sgml)
+ in addition to HTML_DIR
+ May be used more than once for multiple directories
+--version Print the version of this program
+--help Print this help
+EOF
+ exit 0;
+}
+
+# This contains all the entities and their relative URLs.
+my %Links;
+# This hold the path entries we already scanned
+my @VisitedPaths;
+
+# failing link targets we don't warn about even once
+my %NoLinks = (
+ 'char' => 1,
+ 'double' => 1,
+ 'float' => 1,
+ 'int' => 1,
+ 'long' => 1,
+ 'main' => 1,
+ 'signed' => 1,
+ 'unsigned' => 1,
+ 'va-list' => 1,
+ 'void' => 1,
+ 'GBoxed' => 1,
+ 'GEnum' => 1,
+ 'GFlags' => 1,
+ 'GInterface' => 1
+ );
+
+my $path_prefix="";
+if ($HTML_DIR =~ m%(.*?)/share/gtk-doc/html%) {
+ $path_prefix=$1;
+ #print "Path prefix: $path_prefix\n";
+}
+
+if (!defined $MODULE_DIR) {
+ $MODULE_DIR="$HTML_DIR/$MODULE";
+}
+
+my $dir;
+
+# We scan the directory containing GLib and any directories in GNOME2_PATH
+# first, but these will be overriden by any later scans.
+$dir = `pkg-config --variable=prefix glib-2.0`;
+$dir =~ s/\s+$//;
+$dir = $dir . "/share/gtk-doc/html";
+if (-d $dir && $dir ne $HTML_DIR) {
+ #print "Scanning GLib directory: $dir\n";
+ if ($dir !~ m%^\Q$path_prefix\E/%) {
+ &ScanIndices ($dir, 1);
+ } else {
+ &ScanIndices ($dir, 0);
+ }
+ push (@VisitedPaths, $dir);
+}
+
+if (defined ($ENV{"GNOME2_PATH"})) {
+ foreach $dir (split (/:/, $ENV{"GNOME2_PATH"})) {
+ $dir = $dir . "/share/gtk-doc/html";
+ if (-d $dir && $dir ne $HTML_DIR) {
+ #print "Scanning GNOME2_PATH directory: $dir\n";
+ if ($dir !~ m%^\Q$path_prefix\E/%) {
+ &ScanIndices ($dir, 1);
+ } else {
+ &ScanIndices ($dir, 0);
+ }
+ push (@VisitedPaths, $dir);
+ }
+ # ubuntu started to compress this as index.sgml.gz :/
+ # https://bugs.launchpad.net/ubuntu/+source/gtk-doc/+bug/77138
+ }
+}
+
+#print "Scanning HTML_DIR directory: $HTML_DIR\n";
+&ScanIndices ($HTML_DIR, 0);
+push (@VisitedPaths, $HTML_DIR);
+#print "Scanning HTML_DIR directory: $MODULE_DIR\n";
+&ScanIndices ($MODULE_DIR, 0);
+push (@VisitedPaths, $MODULE_DIR);
+
+# check all extra dirs, but skip already scanned dirs or subdirs of those
+foreach my $dir (@EXTRA_DIRS) {
+ my $vdir;
+ my $skip = 0;
+
+ foreach $vdir (@VisitedPaths) {
+ if ($dir eq $vdir || $dir =~ m%^\Q$vdir\E/%) {
+ #print "Skipping EXTRA_DIR directory: $dir\n";
+ $skip=1;
+ }
+ }
+ next if $skip;
+ #print "Scanning EXTRA_DIR directory: $dir\n";
+ push (@VisitedPaths, $dir);
+
+ # If the --extra-dir option is not relative and is not sharing the same
+ # prefix as the target directory of the docs, we need to use absolute
+ # directories for the links
+ if ($dir !~m/^\.\./ && $dir !~ m%\Q$path_prefix\E/%) {
+ &ScanIndices ($dir, 1);
+ } else {
+ &ScanIndices ($dir, 0);
+ }
+}
+
+if (defined($MODULE)) {
+ open (INPUT, "$MODULE-sections.txt")
+ || die "Can't open $MODULE-sections.txt: $!";
+ my $subsection = "";
+ while (<INPUT>) {
+ if (m/^#/) {
+ next;
+
+ } elsif (m/^<SECTION>/) {
+ $subsection = "";
+ } elsif (m/^<SUBSECTION\s*(.*)>/i) {
+ $subsection = $1;
+ } elsif (m/^<SUBSECTION>/) {
+ next;
+ } elsif (m/^<TITLE>(.*)<\/TITLE>/) {
+ next;
+ } elsif (m/^<FILE>(.*)<\/FILE>/) {
+ next;
+ } elsif (m/^<INCLUDE>(.*)<\/INCLUDE>/) {
+ next;
+ } elsif (m/^<\/SECTION>/) {
+ next;
+ } elsif (m/^(\S+)/) {
+ my $symbol=CreateValidSGMLID($1);
+
+ if ($subsection eq "Standard" || $subsection eq "Private") {
+ $NoLinks{$symbol} = 1;
+ }
+ }
+ }
+ close (INPUT);
+}
+
+&FixCrossReferences ($MODULE_DIR);
+
+sub ScanIndices {
+ my ($scan_dir, $use_absolute_links) = @_;
+
+ #print "Scanning source directory: $scan_dir absolute: $use_absolute_links\n";
+
+ # This array holds any subdirectories found.
+ my (@subdirs) = ();
+
+ opendir (HTMLDIR, $scan_dir) || return;
+ my $file;
+ foreach $file (readdir (HTMLDIR)) {
+ if ($file eq '.' || $file eq '..') {
+ next;
+ } elsif (-d "$scan_dir/$file") {
+ push (@subdirs, $file);
+ } elsif ($file eq "index.sgml") {
+ &ScanIndex ("$scan_dir/$file", $use_absolute_links);
+ }
+ # ubuntu started to compress this as index.sgml.gz :/
+ # https://bugs.launchpad.net/ubuntu/+source/gtk-doc/+bug/77138
+ }
+ closedir (HTMLDIR);
+
+ # Now recursively scan the subdirectories.
+ my $dir;
+ foreach $dir (@subdirs) {
+ &ScanIndices ("$scan_dir/$dir", $use_absolute_links);
+ }
+}
+
+sub ScanIndex {
+ my ($file, $use_absolute_links) = @_;
+ #print "Scanning index file: $file absolute: $use_absolute_links\n";
+
+ # Determine the absolute directory, to be added to links in index.sgml
+ # if we need to use an absolute link.
+ # $file will be something like /opt/gnome/share/gtk-doc/html/gtk/index.sgml
+ # We want the part up to 'html' since the links in index.sgml include
+ # the rest.
+ my $dir = "../";
+ if ($use_absolute_links) {
+ $file =~ /(.*\/)(.*?)\/index\.sgml/;
+ $dir = $1;
+ }
+
+ open (INDEXFILE, $file)
+ || die "Can't open $file: $!";
+ while (<INDEXFILE>) {
+ if (m/^<ANCHOR\s+id\s*=\s*"([^"]*)"\s+href\s*=\s*"([^"]*)"\s*>/) {
+ #print "Found id: $1 href: $2\n";
+ $Links{$1} = "$dir$2";
+ }
+ }
+ close (INDEXFILE);
+}
+
+
+sub FixCrossReferences {
+ my ($scan_dir) = @_;
+
+ opendir (HTMLDIR, $scan_dir)
+ || die "Can't open HTML directory $scan_dir: $!";
+ my $file;
+ foreach $file (readdir (HTMLDIR)) {
+ if ($file eq '.' || $file eq '..') {
+ next;
+ } elsif ($file =~ m/.html?$/) {
+ &FixHTMLFile ("$scan_dir/$file");
+ }
+ }
+ closedir (HTMLDIR);
+}
+
+
+sub FixHTMLFile {
+ my ($file) = @_;
+ #print "Fixing file: $file\n";
+
+ open (HTMLFILE, $file)
+ || die "Can't open $file: $!";
+ undef $/;
+ my $entire_file = <HTMLFILE>;
+ close (HTMLFILE);
+
+ if ("@HIGHLIGHT@" ne "") {
+ # FIXME: ideally we'd pass a clue about the example language to the highligher
+ # unfortunately the "language" attribute is not appearing in the html output
+ # we could patch the customization to have <code class="xxx"> inside of <pre>
+ if ("@HIGHLIGHT@" =~ m%/vim$%) {
+ $entire_file =~ s%<div class=\"(example-contents|informalexample)\"><pre class=\"programlisting\">(.*?)</pre></div>%&HighlightSourceVim($1,$2);%gse;
+ }
+ else {
+ $entire_file =~ s%<div class=\"(example-contents|informalexample)\"><pre class=\"programlisting\">(.*?)</pre></div>%&HighlightSource($1,$2);%gse;
+ }
+ # this just broke existing GTKDOCLINK tags
+ # <GTKDOCLINK HREF="GST-PAD-SINK:CAPS">GST_PAD_SINK</GTKDOCLINK>
+ $entire_file =~ s%\<GTKDOCLINK\s+HREF=\"(.*?)\"\>(.*?)\</GTKDOCLINK\>%\<GTKDOCLINK\ HREF=\"$1\"\>$2\</GTKDOCLINK\>%gs;
+
+ # from the highlighter we get all the functions marked up
+ # now we could turn them into GTKDOCLINK items
+ $entire_file =~ s%(<span class=\"function\">)(.*?)(</span>)%&MakeGtkDocLink($1,$2,$3);%gse;
+ # we could also try the first item in stuff marked up as 'normal'
+ $entire_file =~ s%(<span class=\"normal\">\s*)(.+?)((\s+.+?)?\s*</span>)%&MakeGtkDocLink($1,$2,$3);%gse;
+ }
+
+ my @lines = split(/\n/, $entire_file);
+ for (my $i=0; $i<$#lines; $i++) {
+ $lines[$i] =~ s%<GTKDOCLINK\s+HREF="([^"]*)"\s*>(.*?)</GTKDOCLINK\s*>% &MakeXRef($file,$i+1,$1,$2); %ge;
+ #if ($lines[$i] =~ m/GTKDOCLINK/) {
+ # print "make xref failed for line: ",$lines[$i], "\n";
+ #}
+ }
+ $entire_file = join("\n",@lines);
+
+ open (NEWFILE, ">$file.new")
+ || die "Can't open $file: $!";
+ print NEWFILE $entire_file;
+ close (NEWFILE);
+
+ unlink ($file)
+ || die "Can't delete $file: $!";
+ rename ("$file.new", $file)
+ || die "Can't rename $file.new: $!";
+}
+
+sub MakeXRef {
+ my ($file, $line, $id, $text) = @_;
+
+ my $href = $Links{$id};
+
+ # this is a workaround for some inconsistency we have with CreateValidSGMLID
+ if (!$href && $id =~ m/:/) {
+ my $tid = $id;
+ $tid =~ s/:/--/g;
+ $href = $Links{$tid};
+ }
+ # poor mans plural support
+ if (!$href && $id =~ m/s$/) {
+ my $tid = $id;
+ $tid =~ s/s$//g;
+ $href = $Links{$tid};
+ }
+
+ if ($href) {
+ # if it is a link to same module, remove path to make it work
+ # uninstalled
+ if (defined($MODULE) && $href =~ m%^\.\./$MODULE/(.*)$%) {
+ $href=$1;
+ }
+ #print " Fixing link: $id, $href, $text\n";
+ return "<a href=\"$href\">$text</a>";
+ } else {
+ my $warn = 1;
+ #print " no link for: $id, $text\n";
+
+ # don't warn multiple times and also skip blacklisted (ctypes)
+ $warn = 0 if exists $NoLinks{$id};
+ # if it's a function, don't warn if it does not contain a "_"
+ # (transformed to "-")
+ # - gnome coding style would use '_'
+ # - will avoid wrong warnings for ansi c functions
+ $warn = 0 if ($text =~ m/ class=\"function\"/ && $id !~ m/-/);
+ # if it's a 'return value', don't warn (implicitly created link)
+ $warn = 0 if ($text =~ m/ class=\"returnvalue\"/);
+ # if it's a 'type', don't warn if it starts with lowercase
+ # - gnome coding style would use CamelCase
+ $warn = 0 if ($text =~ m/ class=\"type\"/ && ($id =~ m/^[a-z]/));
+ # don't warn for self links
+ $warn = 0 if ($text eq $id);
+
+ if ($warn == 1) {
+ &LogWarning ($file, $line, "no link for: '$id' -> ($text).");
+ $NoLinks{$id} = 1;
+ }
+ return $text;
+ }
+}
+
+
+sub MakeGtkDocLink {
+ my ($pre,$symbol,$post) = @_;
+
+ my $id=CreateValidSGMLID($symbol);
+
+ # these are implicitely created links in highlighed sources
+ # we don't want warnings for those if the links cannot be resolved.
+ $NoLinks{$id} = 1;
+
+ #return "<span class=\"$type\"><GTKDOCLINK HREF=\"$id\">$symbol</GTKDOCLINK></span>";
+ return "$pre<GTKDOCLINK HREF=\"$id\">$symbol</GTKDOCLINK>$post";
+}
+
+
+sub HighlightSource {
+ my ($type, $source) = @_;
+
+ # chop of leading and trailing empty lines
+ $source =~ s/^\s*\n+//gs;
+ $source =~ s/[\s\n]+$//gs;
+ # cut common indent
+ $source =~ m/^(\s*)/;
+ $source =~ s/^$1//gms;
+ # avoid double entity replacement
+ $source =~ s/</</g;
+ $source =~ s/>/>/g;
+ $source =~ s/&/&/g;
+
+ # write source to a temp file
+ # FIXME: use .c for now to hint the language to the highlighter
+ my $temp_source_file="$MODULE_DIR/_temp_src.$$.c";
+ open (NEWFILE, ">$temp_source_file") || die "Can't open $temp_source_file: $!";
+ print NEWFILE $source;
+ close (NEWFILE);
+
+ #print" running @HIGHLIGHT@ @HIGHLIGHT_OPTIONS@$temp_source_file \n";
+
+ # format source
+ my $highlighted_source=`@HIGHLIGHT@ @HIGHLIGHT_OPTIONS@$temp_source_file`;
+ if ("@HIGHLIGHT@" =~ m%/source-highlight$%) {
+ $highlighted_source =~ s%^<\!-- .*? -->%%gs;
+ $highlighted_source =~ s%<pre><tt>(.*?)</tt></pre>%$1%gs;
+ }
+ elsif ("@HIGHLIGHT@" =~ m%/highlight$%) {
+ # need to rewrite the stylesheet classes
+ $highlighted_source =~ s%<span class="gtkdoc com">%<span class="comment">%gs;
+ $highlighted_source =~ s%<span class="gtkdoc dir">%<span class="preproc">%gs;
+ $highlighted_source =~ s%<span class="gtkdoc kwd">%<span class="function">%gs;
+ $highlighted_source =~ s%<span class="gtkdoc kwa">%<span class="keyword">%gs;
+ $highlighted_source =~ s%<span class="gtkdoc line">%<span class="linenum">%gs;
+ $highlighted_source =~ s%<span class="gtkdoc num">%<span class="number">%gs;
+ $highlighted_source =~ s%<span class="gtkdoc str">%<span class="string">%gs;
+ $highlighted_source =~ s%<span class="gtkdoc sym">%<span class="symbol">%gs;
+ # maybe also do
+ # $highlighted_source =~ s%</span>(.+)<span%</span><span class="normal">$1</span><span%gs;
+ }
+ # remove temp file
+ unlink ($temp_source_file)
+ || die "Can't delete $temp_source_file: $!";
+
+ return &HighlightSourcePostprocess($type, $highlighted_source);
+}
+
+sub HighlightSourceVim {
+ my ($type, $source) = @_;
+
+ # chop of leading and trailing empty lines
+ $source =~ s/^[\s\n]+//gs;
+ $source =~ s/[\s\n]+$//gs;
+ # avoid double entity replacement
+ $source =~ s/</</g;
+ $source =~ s/>/>/g;
+ $source =~ s/&/&/g;
+
+ # write source to a temp file
+ my $temp_source_file="$MODULE_DIR/_temp_src.$$.h";
+ open (NEWFILE, ">$temp_source_file") || die "Can't open $temp_source_file: $!";
+ print NEWFILE $source;
+ close (NEWFILE);
+
+ # format source
+ system "echo 'let html_number_lines=0|let html_use_css=1|let use_xhtml=1|syn on|e $temp_source_file|run! syntax/2html.vim|w! $temp_source_file.html|qa!' | @HIGHLIGHT@ -n -e -u NONE -T xterm >/dev/null";
+
+ my $highlighted_source;
+ {
+ local $/;
+ open (NEWFILE, "<$temp_source_file.html");
+ $highlighted_source = <NEWFILE>;
+ close (NEWFILE);
+ }
+ $highlighted_source =~ s#.*<pre>\n##s;
+ $highlighted_source =~ s#</pre>.*##s;
+
+ # need to rewrite the stylesheet classes
+ # FIXME: Vim has somewhat different syntax groups
+ $highlighted_source =~ s%<span class="Comment">%<span class="comment">%gs;
+ $highlighted_source =~ s%<span class="PreProc">%<span class="preproc">%gs;
+ $highlighted_source =~ s%<span class="Statement">%<span class="keyword">%gs;
+ $highlighted_source =~ s%<span class="Identifier">%<span class="function">%gs;
+ $highlighted_source =~ s%<span class="Constant">%<span class="number">%gs;
+ $highlighted_source =~ s%<span class="Special">%<span class="symbol">%gs;
+ $highlighted_source =~ s%<span class="Type">%<span class="type">%gs;
+
+ # remove temp files
+ unlink ($temp_source_file)
+ || die "Can't delete $temp_source_file: $!";
+ unlink ("$temp_source_file.html")
+ || die "Can't delete $temp_source_file.html: $!";
+
+ return &HighlightSourcePostprocess($type, $highlighted_source);
+}
+
+sub HighlightSourcePostprocess {
+ my ($type, $highlighted_source) = @_;
+
+ # chop of leading and trailing empty lines
+ $highlighted_source =~ s/^[\s\n]+//gs;
+ $highlighted_source =~ s/[\s\n]+$//gs;
+
+ # turn common urls in comments into links
+ $highlighted_source =~ s%<span class="url">(.*?)</span>%<span class="url"><a href="$1">$1</a></span>%gs;
+
+ # we do own line-numbering
+ my $source_lines="";
+ my $line_count = () = $highlighted_source =~ /\n/gs;
+ for (my $i=1; $i < ($line_count+2); $i++) {
+ $source_lines.="$i\n";
+ }
+ $source_lines =~ s/\n\Z//;
+
+ return <<END_OF_HTML
+<div class="$type">
+ <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
+ <tbody>
+ <tr>
+ <td class="listing_lines" align="right"><pre>$source_lines</pre></td>
+ <td class="listing_code"><pre class="programlisting">$highlighted_source</pre></td>
+ </tr>
+ </tbody>
+ </table>
+</div>
+END_OF_HTML
+}
+
--- /dev/null
+#!@PERL@ -w
+# -*- cperl -*-
+#
+# gtk-doc - GTK DocBook documentation generator.
+# Copyright (C) 1998 Damon Chaplin
+# 2007,2008,2009 Stefan Kost
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+#
+
+#############################################################################
+# Script : gtkdoc-mkdb
+# Description : This creates the DocBook files from the edited templates.
+#############################################################################
+
+use strict;
+use Getopt::Long;
+
+push @INC, '@PACKAGE_DATA_DIR@';
+require "gtkdoc-common.pl";
+
+# Options
+
+# name of documentation module
+my $MODULE;
+my $TMPL_DIR;
+my $SGML_OUTPUT_DIR;
+my @SOURCE_DIRS;
+my $SOURCE_SUFFIXES = "";
+my $IGNORE_FILES = "";
+my $PRINT_VERSION;
+my $PRINT_HELP;
+my $MAIN_SGML_FILE;
+my $EXPAND_CONTENT_FILES = "";
+my $INLINE_MARKUP_MODE;
+my $DEFAULT_STABILITY;
+my $DEFAULT_INCLUDES;
+my $OUTPUT_FORMAT;
+my $NAME_SPACE = "";
+my $OUTPUT_ALL_SYMBOLS;
+my $OUTPUT_SYMBOLS_WITHOUT_SINCE;
+
+my %optctl = ('module' => \$MODULE,
+ 'source-dir' => \@SOURCE_DIRS,
+ 'source-suffixes' => \$SOURCE_SUFFIXES,
+ 'ignore-files' => \$IGNORE_FILES,
+ 'output-dir' => \$SGML_OUTPUT_DIR,
+ 'tmpl-dir' => \$TMPL_DIR,
+ 'version' => \$PRINT_VERSION,
+ 'help' => \$PRINT_HELP,
+ 'main-sgml-file' => \$MAIN_SGML_FILE,
+ 'expand-content-files' => \$EXPAND_CONTENT_FILES,
+ 'sgml-mode' => \$INLINE_MARKUP_MODE,
+ 'xml-mode' => \$INLINE_MARKUP_MODE,
+ 'default-stability' => \$DEFAULT_STABILITY,
+ 'default-includes' => \$DEFAULT_INCLUDES,
+ 'output-format' => \$OUTPUT_FORMAT,
+ 'name-space' => \$NAME_SPACE,
+ 'outputallsymbols' => \$OUTPUT_ALL_SYMBOLS,
+ 'outputsymbolswithoutsince' => \$OUTPUT_SYMBOLS_WITHOUT_SINCE
+ );
+GetOptions(\%optctl, "module=s", "source-dir:s", "source-suffixes:s",
+ "ignore-files:s", "output-dir:s", "tmpl-dir:s", "version", "outputallsymbols",
+ "outputsymbolswithoutsince",
+ "expand-content-files:s", "main-sgml-file:s", "extra-db-files:s", "help",
+ "sgml-mode", "xml-mode", "default-stability:s", "default-includes:s",
+ "output-format:s", "name-space:s");
+
+if ($PRINT_VERSION) {
+ print "@VERSION@\n";
+ exit 0;
+}
+
+if (!$MODULE) {
+ $PRINT_HELP = 1;
+}
+
+if ($DEFAULT_STABILITY && $DEFAULT_STABILITY ne "Stable"
+ && $DEFAULT_STABILITY ne "Private" && $DEFAULT_STABILITY ne "Unstable") {
+ $PRINT_HELP = 1;
+}
+
+if ($PRINT_HELP) {
+ print <<EOF;
+gtkdoc-mkdb version @VERSION@ - generate docbook files
+
+--module=MODULE_NAME Name of the doc module being parsed
+--source-dir=DIRNAME Directories which contain inline reference material
+--source-suffixes=SUFFIXES Suffixes of source files to scan, comma-separated
+--ignore-files=FILES Files or directories which should not be scanned
+ May be used more than once for multiple directories
+--output-dir=DIRNAME Directory to put the generated DocBook files in
+--tmpl-dir=DIRNAME Directory in which template files may be found
+--main-sgml-file=FILE File containing the toplevel DocBook file.
+--expand-content-files=FILES Extra DocBook files to expand abbreviations in.
+--output-format=FORMAT Format to use for the generated docbook, XML or SGML.
+--{xml,sgml}-mode Allow DocBook markup in inline documentation.
+--default-stability=LEVEL Specify default stability Level. Valid values are
+ Stable, Unstable, or Private.
+--default-includes=FILENAMES Specify default includes for section Synopsis
+--name-space=NS Omit namespace in index.
+--version Print the version of this program
+--help Print this help
+EOF
+ exit 0;
+}
+
+my ($empty_element_end, $doctype_header);
+
+# autodetect output format
+if (! defined($OUTPUT_FORMAT) || ($OUTPUT_FORMAT eq "")) {
+ if (!$MAIN_SGML_FILE) {
+ if (-e "${MODULE}-docs.xml") {
+ $OUTPUT_FORMAT = "xml";
+ } else {
+ $OUTPUT_FORMAT = "sgml";
+ }
+ } else {
+ if ($MAIN_SGML_FILE =~ m/.*\.(.*ml)$/i) {
+ $OUTPUT_FORMAT = lc($1);
+ }
+ }
+
+} else {
+ $OUTPUT_FORMAT = lc($OUTPUT_FORMAT);
+}
+
+#print "DEBUG: output-format: [$OUTPUT_FORMAT]\n";
+
+if ($OUTPUT_FORMAT eq "xml") {
+ if (!$MAIN_SGML_FILE) {
+ # backwards compatibility
+ if (-e "${MODULE}-docs.sgml") {
+ $MAIN_SGML_FILE = "${MODULE}-docs.sgml";
+ } else {
+ $MAIN_SGML_FILE = "${MODULE}-docs.xml";
+ }
+ }
+ $empty_element_end = "/>";
+
+ if (-e $MAIN_SGML_FILE) {
+ open(INPUT, "<$MAIN_SGML_FILE") || die "Can't open $MAIN_SGML_FILE";
+ $doctype_header = "";
+ while (<INPUT>) {
+ if (/^\s*<(book|chapter|article)/) {
+ # check that the top-level tag or the doctype decl contain the xinclude namespace decl
+ if (($_ !~ m/http:\/\/www.w3.org\/200[13]\/XInclude/) && ($doctype_header !~ m/http:\/\/www.w3.org\/200[13]\/XInclude/m)) {
+ $doctype_header = "";
+ }
+ last;
+ }
+ $doctype_header .= $_;
+ }
+ close(INPUT);
+ $doctype_header =~ s/<!DOCTYPE \w+/<!DOCTYPE refentry/;
+ # if there are SYSTEM ENTITIES here, we should prepend "../" to the path
+ # FIXME: not sure if we can do this now, as people already work-around the problem
+ # $doctype_header =~ s#<!ENTITY % ([a-zA-Z-]+) SYSTEM \"([^/][a-zA-Z./]+)\">#<!ENTITY % $1 SYSTEM \"../$2\">#g;
+ } else {
+ $doctype_header =
+"<?xml version=\"1.0\"?>\n" .
+"<!DOCTYPE refentry PUBLIC \"-//OASIS//DTD DocBook XML V4.3//EN\"\n" .
+" \"http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd\"\n" .
+"[\n" .
+" <!ENTITY % local.common.attrib \"xmlns:xi CDATA #FIXED 'http://www.w3.org/2003/XInclude'\">\n" .
+"]>\n";
+ }
+} else {
+ if (!$MAIN_SGML_FILE) {
+ $MAIN_SGML_FILE = "${MODULE}-docs.sgml";
+ }
+ $empty_element_end = ">";
+ $doctype_header = "";
+}
+
+my $ROOT_DIR = ".";
+
+# All the files are written in subdirectories beneath here.
+$TMPL_DIR = $TMPL_DIR ? $TMPL_DIR : "$ROOT_DIR/tmpl";
+
+# This is where we put all the DocBook output.
+$SGML_OUTPUT_DIR = $SGML_OUTPUT_DIR ? $SGML_OUTPUT_DIR : "$ROOT_DIR/$OUTPUT_FORMAT";
+
+# This file contains the object hierarchy.
+my $OBJECT_TREE_FILE = "$ROOT_DIR/$MODULE.hierarchy";
+
+# This file contains the interfaces.
+my $INTERFACES_FILE = "$ROOT_DIR/$MODULE.interfaces";
+
+# This file contains the prerequisites.
+my $PREREQUISITES_FILE = "$ROOT_DIR/$MODULE.prerequisites";
+
+# This file contains signal arguments and names.
+my $SIGNALS_FILE = "$ROOT_DIR/$MODULE.signals";
+
+# The file containing Arg information.
+my $ARGS_FILE = "$ROOT_DIR/$MODULE.args";
+
+# These global arrays store information on signals. Each signal has an entry
+# in each of these arrays at the same index, like a multi-dimensional array.
+my @SignalObjects; # The GtkObject which emits the signal.
+my @SignalNames; # The signal name.
+my @SignalReturns; # The return type.
+my @SignalFlags; # Flags for the signal
+my @SignalPrototypes; # The rest of the prototype of the signal handler.
+
+# These global arrays store information on Args. Each Arg has an entry
+# in each of these arrays at the same index, like a multi-dimensional array.
+my @ArgObjects; # The GtkObject which has the Arg.
+my @ArgNames; # The Arg name.
+my @ArgTypes; # The Arg type - gint, GtkArrowType etc.
+my @ArgFlags; # How the Arg can be used - readable/writable etc.
+my @ArgNicks; # The nickname of the Arg.
+my @ArgBlurbs; # Docstring of the Arg.
+my @ArgDefaults; # Default value of the Arg.
+my @ArgRanges; # The range of the Arg type
+# These global hashes store declaration info keyed on a symbol name.
+my %Declarations;
+my %DeclarationTypes;
+my %DeclarationConditional;
+my %DeclarationOutput;
+my %Deprecated;
+my %Since;
+my %StabilityLevel;
+my %StructHasTypedef;
+
+# These global hashes store the existing documentation.
+my %SymbolDocs;
+my %SymbolTypes;
+my %SymbolParams;
+my %SymbolSourceFile;
+my %SymbolSourceLine;
+
+# These global hashes store documentation scanned from the source files.
+my %SourceSymbolDocs;
+my %SourceSymbolParams;
+my %SourceSymbolSourceFile;
+my %SourceSymbolSourceLine;
+
+# all documentation goes in here, so we can do coverage analysis
+my %AllSymbols;
+my %AllIncompleteSymbols;
+my %AllUnusedSymbols;
+my %AllDocumentedSymbols;
+
+# Undeclared yet documented symbols
+my %UndeclaredSymbols;
+
+# These global arrays store GObject, subclasses and the hierarchy (also of
+# non-object derived types).
+my @Objects;
+my @ObjectLevels;
+my %ObjectRoots;
+
+my %Interfaces;
+my %Prerequisites;
+
+# holds the symbols which are mentioned in $MODULE-sections.txt and in which
+# section they are defined
+my %KnownSymbols;
+my %SymbolSection;
+my %SymbolSectionId;
+
+# collects index entries
+my %IndexEntriesFull;
+my %IndexEntriesSince;
+my %IndexEntriesDeprecated;
+
+# Standard C preprocessor directives, which we ignore for '#' abbreviations.
+my %PreProcessorDirectives;
+$PreProcessorDirectives{"assert"} = 1;
+$PreProcessorDirectives{"define"} = 1;
+$PreProcessorDirectives{"elif"} = 1;
+$PreProcessorDirectives{"else"} = 1;
+$PreProcessorDirectives{"endif"} = 1;
+$PreProcessorDirectives{"error"} = 1;
+$PreProcessorDirectives{"if"} = 1;
+$PreProcessorDirectives{"ifdef"} = 1;
+$PreProcessorDirectives{"ifndef"} = 1;
+$PreProcessorDirectives{"include"} = 1;
+$PreProcessorDirectives{"line"} = 1;
+$PreProcessorDirectives{"pragma"} = 1;
+$PreProcessorDirectives{"unassert"} = 1;
+$PreProcessorDirectives{"undef"} = 1;
+$PreProcessorDirectives{"warning"} = 1;
+
+# remember used annotation (to write minimal glossary)
+my %AnnotationsUsed;
+
+# the annotations are defined at:
+# http://live.gnome.org/GObjectIntrospection/Annotations
+my %AnnotationDefinition = (
+ 'allow-none' => "NULL is ok, both for passing and for returning.",
+ 'array' => "Parameter points to an array of items.",
+ 'closure' => "This parameter is a 'user_data', for callbacks; many bindings can pass NULL here.",
+ 'default' => "Default parameter value (for in case the <acronym>shadows</acronym>-to function has less parameters).",
+ 'element-type' => "Generics and defining elements of containers and arrays.",
+ 'error-domains' => "Typed errors. Similar to throws in Java.",
+ 'in' => "Parameter for input. Default is <acronym>transfer none</acronym>.",
+ 'inout' => "Parameter for input and for returning results. Default is <acronym>transfer full</acronym>.",
+ 'in-out' => "Parameter for input and for returning results. Default is <acronym>transfer full</acronym>.",
+ 'not-error' => "A GError parameter is not to be handled like a normal GError.",
+ 'out' => "Parameter for returning results. Default is <acronym>transfer full</acronym>.",
+ 'transfer container' => "Free data container after the code is done.",
+ 'transfer full' => "Free data after the code is done.",
+ 'transfer none' => "Don't free data after the code is done.",
+ 'scope call' => "The callback is valid only during the call to the method.",
+ 'scope async' => "The callback is valid until first called.",
+ 'scope notified' => "The callback is valid until the GDestroyNotify argument is called.",
+ 'type' => "Override the parsed C type with given type"
+);
+
+# Create the root DocBook output directory if it doens't exist.
+if (! -e $SGML_OUTPUT_DIR) {
+ mkdir ("$SGML_OUTPUT_DIR", 0777)
+ || die "Can't create directory: $SGML_OUTPUT_DIR";
+}
+
+# Function and other declaration output settings.
+my $RETURN_TYPE_FIELD_WIDTH = 20;
+my $SYMBOL_FIELD_WIDTH = 36;
+my $SIGNAL_FIELD_WIDTH = 16;
+my $PARAM_FIELD_COUNT = 2;
+
+&ReadKnownSymbols ("$ROOT_DIR/$MODULE-sections.txt");
+&ReadSignalsFile ($SIGNALS_FILE);
+&ReadArgsFile ($ARGS_FILE);
+&ReadObjectHierarchy;
+&ReadInterfaces;
+&ReadPrerequisites;
+
+&ReadDeclarationsFile ("$ROOT_DIR/$MODULE-decl.txt", 0);
+if (-f "$ROOT_DIR/$MODULE-overrides.txt") {
+ &ReadDeclarationsFile ("$ROOT_DIR/$MODULE-overrides.txt", 1);
+}
+
+for my $dir (@SOURCE_DIRS) {
+ &ReadSourceDocumentation ($dir);
+}
+
+my $changed = &OutputSGML ("$ROOT_DIR/$MODULE-sections.txt");
+
+# If any of the DocBook SGML files have changed, update the timestamp file (so
+# it can be used for Makefile dependencies).
+if ($changed || ! -e "$ROOT_DIR/sgml.stamp") {
+
+ # try to detect the common prefix
+ # GtkWidget, GTK_WIDGET, gtk_widget -> gtk
+ if ($NAME_SPACE eq "") {
+ $NAME_SPACE="";
+ my $pos=0;
+ my $ratio=0.0;
+ do {
+ my %prefix;
+ my $letter="";
+ foreach my $symbol (keys(%IndexEntriesFull)) {
+ if(($NAME_SPACE eq "") || $symbol =~ /^$NAME_SPACE/i) {
+ if (length($symbol)>$pos) {
+ $letter=substr($symbol,$pos,1);
+ # stop prefix scanning
+ if ($letter eq "_") {
+ # stop on "_"
+ last;
+ }
+ # Should we also stop on a uppercase char, if last was lowercase
+ # GtkWidget, if we have the 'W' and had the 't' before
+ # or should we count upper and lowercase, and stop one 2nd uppercase, if we already had a lowercase
+ # GtkWidget, the 'W' would be the 2nd uppercase and with 't','k' we had lowercase chars before
+ # need to recound each time as this is per symbol
+ $prefix{uc($letter)}++;
+ }
+ }
+ }
+ if ($letter ne "" && $letter ne "_") {
+ my $maxletter="";
+ my $maxsymbols=0;
+ foreach $letter (keys(%prefix)) {
+ #print "$letter: $prefix{$letter}.\n";
+ if ($prefix{$letter}>$maxsymbols) {
+ $maxletter=$letter;
+ $maxsymbols=$prefix{$letter};
+ }
+ }
+ $ratio = scalar(keys(%IndexEntriesFull)) / $prefix{$maxletter};
+ #print "most symbols start with $maxletter, that is ". (100 * $ratio) ." %\n";
+ if ($ratio > 0.9) {
+ # do another round
+ $NAME_SPACE .= $maxletter;
+ }
+ $pos++;
+ }
+ else {
+ $ratio=0.0;
+ }
+ } while ($ratio > 0.9);
+ #print "most symbols start with $NAME_SPACE\n";
+ }
+
+ &OutputIndexFull;
+ &OutputDeprecatedIndex;
+ &OutputSinceIndexes;
+ &OutputAnnotationGlossary;
+
+ open (TIMESTAMP, ">$ROOT_DIR/sgml.stamp")
+ || die "Can't create $ROOT_DIR/sgml.stamp: $!";
+ print (TIMESTAMP "timestamp");
+ close (TIMESTAMP);
+}
+
+#############################################################################
+# Function : OutputObjectList
+# Description : This outputs the alphabetical list of objects, in a columned
+# table.
+# FIXME: Currently this also outputs ancestor objects
+# which may not actually be in this module.
+# Arguments : none
+#############################################################################
+
+sub OutputObjectList {
+ my $cols = 3;
+
+ # FIXME: use $OUTPUT_FORMAT
+ # my $old_object_index = "$SGML_OUTPUT_DIR/object_index.$OUTPUT_FORMAT";
+ my $old_object_index = "$SGML_OUTPUT_DIR/object_index.sgml";
+ my $new_object_index = "$SGML_OUTPUT_DIR/object_index.new";
+
+ open (OUTPUT, ">$new_object_index")
+ || die "Can't create $new_object_index: $!";
+
+ if ($OUTPUT_FORMAT eq "xml") {
+ my $header = $doctype_header;
+
+ $header =~ s/<!DOCTYPE \w+/<!DOCTYPE informaltable/;
+ print (OUTPUT "$header");
+ }
+
+ print (OUTPUT <<EOF);
+<informaltable pgwide="1" frame="none">
+<tgroup cols="$cols">
+<colspec colwidth="1*"${empty_element_end}
+<colspec colwidth="1*"${empty_element_end}
+<colspec colwidth="1*"${empty_element_end}
+<tbody>
+EOF
+
+ my $count = 0;
+ my $object;
+ foreach $object (sort (@Objects)) {
+ my $xref = &MakeXRef ($object);
+ if ($count % $cols == 0) { print (OUTPUT "<row>\n"); }
+ print (OUTPUT "<entry>$xref</entry>\n");
+ if ($count % $cols == ($cols - 1)) { print (OUTPUT "</row>\n"); }
+ $count++;
+ }
+ if ($count == 0) {
+ # emit an empty row, since empty tables are invalid
+ print (OUTPUT "<row><entry> </entry></row>\n");
+ }
+ else {
+ if ($count % $cols > 0) {
+ print (OUTPUT "</row>\n");
+ }
+ }
+
+ print (OUTPUT <<EOF);
+</tbody></tgroup></informaltable>
+EOF
+ close (OUTPUT);
+
+ &UpdateFileIfChanged ($old_object_index, $new_object_index, 0);
+}
+
+
+#############################################################################
+# Function : OutputSGML
+# Description : This collects the output for each section of the docs, and
+# outputs each file when the end of the section is found.
+# Arguments : $file - the $MODULE-sections.txt file which contains all of
+# the functions/macros/structs etc. being documented, organised
+# into sections and subsections.
+#############################################################################
+
+sub OutputSGML {
+ my ($file) = @_;
+
+ #print "Reading: $file\n";
+ open (INPUT, $file)
+ || die "Can't open $file: $!";
+ my $filename = "";
+ my $book_top = "";
+ my $book_bottom = "";
+ my $includes = (defined $DEFAULT_INCLUDES) ? $DEFAULT_INCLUDES : "";
+ my $section_includes = "";
+ my $in_section = 0;
+ my $title = "";
+ my $section_id = "";
+ my $subsection = "";
+ my $synopsis;
+ my $details;
+ my $num_symbols;
+ my $changed = 0;
+ my $signals_synop = "";
+ my $signals_desc = "";
+ my $args_synop = "";
+ my $child_args_synop = "";
+ my $style_args_synop = "";
+ my $args_desc = "";
+ my $child_args_desc = "";
+ my $style_args_desc = "";
+ my $hierarchy = "";
+ my $interfaces = "";
+ my $implementations = "";
+ my $prerequisites = "";
+ my $derived = "";
+ my @file_objects = ();
+ my %templates = ();
+ my %symbol_def_line = ();
+
+ # merge the source docs, in case there are no templates
+ &MergeSourceDocumentation;
+
+ while (<INPUT>) {
+ if (m/^#/) {
+ next;
+
+ } elsif (m/^<SECTION>/) {
+ $synopsis = "";
+ $details = "";
+ $num_symbols = 0;
+ $in_section = 1;
+ @file_objects = ();
+ %symbol_def_line = ();
+
+ } elsif (m/^<SUBSECTION\s*(.*)>/i) {
+ $synopsis .= "\n";
+ $subsection = $1;
+
+ } elsif (m/^<SUBSECTION>/) {
+
+ } elsif (m/^<TITLE>(.*)<\/TITLE>/) {
+ $title = $1;
+ #print "Section: $title\n";
+
+ # We don't want warnings if object & class structs aren't used.
+ $DeclarationOutput{$title} = 1;
+ $DeclarationOutput{"${title}Class"} = 1;
+ $DeclarationOutput{"${title}Iface"} = 1;
+ $DeclarationOutput{"${title}Interface"} = 1;
+
+ } elsif (m/^<FILE>(.*)<\/FILE>/) {
+ $filename = $1;
+ if (! defined $templates{$filename}) {
+ if (&ReadTemplateFile ("$TMPL_DIR/$filename", 1)) {
+ &MergeSourceDocumentation;
+ $templates{$filename}=$.;
+ }
+ } else {
+ &LogWarning ($file, $., "Double <FILE>$filename</FILE> entry. ".
+ "Previous occurrence on line ".$templates{$filename}.".");
+ }
+ if (($title eq "") and (defined $SourceSymbolDocs{"$TMPL_DIR/$filename:Title"})) {
+ $title = $SourceSymbolDocs{"$TMPL_DIR/$filename:Title"};
+ # Remove trailing blanks
+ $title =~ s/\s+$//;
+ }
+
+ } elsif (m/^<INCLUDE>(.*)<\/INCLUDE>/) {
+ if ($in_section) {
+ $section_includes = $1;
+ } else {
+ if (defined $DEFAULT_INCLUDES) {
+ &LogWarning ($file, $., "Default <INCLUDE> being overridden by command line option.");
+ }
+ else {
+ $includes = $1;
+ }
+ }
+
+ } elsif (m/^<\/SECTION>/) {
+ #print "End of section: $title\n";
+ if ($num_symbols > 0) {
+ # collect documents
+ if ($OUTPUT_FORMAT eq "xml") {
+ $book_bottom .= " <xi:include href=\"xml/$filename.xml\"/>\n";
+ } else {
+ $book_top.="<!ENTITY $section_id SYSTEM \"sgml/$filename.sgml\">\n";
+ $book_bottom .= " &$section_id;\n";
+ }
+
+ if (defined ($SourceSymbolDocs{"$TMPL_DIR/$filename:Include"})) {
+ if ($section_includes) {
+ &LogWarning ($file, $., "Section <INCLUDE> being overridden by inline comments.");
+ }
+ $section_includes = $SourceSymbolDocs{"$TMPL_DIR/$filename:Include"};
+ }
+ if ($section_includes eq "") {
+ $section_includes = $includes;
+ }
+
+ $signals_synop =~ s/^\n*//g;
+ $signals_synop =~ s/\n+$/\n/g;
+ if ($signals_synop ne '') {
+ $signals_synop = <<EOF;
+<refsect1 id="$section_id.signals" role="signal_proto">
+<title role="signal_proto.title">Signals</title>
+<synopsis>
+${signals_synop}</synopsis>
+</refsect1>
+EOF
+ $signals_desc =~ s/^\n*//g;
+ $signals_desc =~ s/\n+$/\n/g;
+ $signals_desc =~ s/(\s|\n)+$//ms;
+ $signals_desc = <<EOF;
+<refsect1 id="$section_id.signal-details" role="signals">
+<title role="signals.title">Signal Details</title>
+$signals_desc
+</refsect1>
+EOF
+ }
+
+ $args_synop =~ s/^\n*//g;
+ $args_synop =~ s/\n+$/\n/g;
+ if ($args_synop ne '') {
+ $args_synop = <<EOF;
+<refsect1 id="$section_id.properties" role="properties">
+<title role="properties.title">Properties</title>
+<synopsis>
+${args_synop}</synopsis>
+</refsect1>
+EOF
+ $args_desc =~ s/^\n*//g;
+ $args_desc =~ s/\n+$/\n/g;
+ $args_desc =~ s/(\s|\n)+$//ms;
+ $args_desc = <<EOF;
+<refsect1 id="$section_id.property-details" role="property_details">
+<title role="property_details.title">Property Details</title>
+$args_desc
+</refsect1>
+EOF
+ }
+
+ $child_args_synop =~ s/^\n*//g;
+ $child_args_synop =~ s/\n+$/\n/g;
+ if ($child_args_synop ne '') {
+ $args_synop .= <<EOF;
+<refsect1 id="$section_id.child-properties" role="child_properties">
+<title role="child_properties.title">Child Properties</title>
+<synopsis>
+${child_args_synop}</synopsis>
+</refsect1>
+EOF
+ $child_args_desc =~ s/^\n*//g;
+ $child_args_desc =~ s/\n+$/\n/g;
+ $child_args_desc =~ s/(\s|\n)+$//ms;
+ $args_desc .= <<EOF;
+<refsect1 id="$section_id.child-property-details" role="child_property_details">
+<title role="child_property_details.title">Child Property Details</title>
+$child_args_desc
+</refsect1>
+EOF
+ }
+
+ $style_args_synop =~ s/^\n*//g;
+ $style_args_synop =~ s/\n+$/\n/g;
+ if ($style_args_synop ne '') {
+ $args_synop .= <<EOF;
+<refsect1 id="$section_id.style-properties" role="style_properties">
+<title role="style_properties.title">Style Properties</title>
+<synopsis>
+${style_args_synop}</synopsis>
+</refsect1>
+EOF
+ $style_args_desc =~ s/^\n*//g;
+ $style_args_desc =~ s/\n+$/\n/g;
+ $style_args_desc =~ s/(\s|\n)+$//ms;
+ $args_desc .= <<EOF;
+<refsect1 id="$section_id.style-property-details" role="style_properties_details">
+<title role="style_properties_details.title">Style Property Details</title>
+$style_args_desc
+</refsect1>
+EOF
+ }
+
+ $hierarchy =~ s/^\n*//g;
+ $hierarchy =~ s/\n+$/\n/g;
+ $hierarchy =~ s/(\s|\n)+$//ms;
+ if ($hierarchy ne "") {
+ $hierarchy = <<EOF;
+<refsect1 id="$section_id.object-hierarchy" role="object_hierarchy">
+<title role="object_hierarchy.title">Object Hierarchy</title>
+$hierarchy
+</refsect1>
+EOF
+ }
+
+ $interfaces =~ s/^\n*//g;
+ $interfaces =~ s/\n+$/\n/g;
+ $interfaces =~ s/(\s|\n)+$//ms;
+ if ($interfaces ne "") {
+ $interfaces = <<EOF;
+<refsect1 id="$section_id.implemented-interfaces" role="impl_interfaces">
+<title role="impl_interfaces.title">Implemented Interfaces</title>
+$interfaces
+</refsect1>
+EOF
+ }
+
+ $implementations =~ s/^\n*//g;
+ $implementations =~ s/\n+$/\n/g;
+ $implementations =~ s/(\s|\n)+$//ms;
+ if ($implementations ne "") {
+ $implementations = <<EOF;
+<refsect1 id="$section_id.implementations" role="implementations">
+<title role="implementations.title">Known Implementations</title>
+$implementations
+</refsect1>
+EOF
+ }
+
+ $prerequisites =~ s/^\n*//g;
+ $prerequisites =~ s/\n+$/\n/g;
+ $prerequisites =~ s/(\s|\n)+$//ms;
+ if ($prerequisites ne "") {
+ $prerequisites = <<EOF;
+<refsect1 id="$section_id.prerequisites" role="prerequisites">
+<title role="prerequisites.title">Prerequisites</title>
+$prerequisites
+</refsect1>
+EOF
+ }
+
+ $derived =~ s/^\n*//g;
+ $derived =~ s/\n+$/\n/g;
+ $derived =~ s/(\s|\n)+$//ms;
+ if ($derived ne "") {
+ $derived = <<EOF;
+<refsect1 id="$section_id.derived-interfaces" role="derived_interfaces">
+<title role="derived_interfaces.title">Known Derived Interfaces</title>
+$derived
+</refsect1>
+EOF
+ }
+
+ $synopsis =~ s/^\n*//g;
+ $synopsis =~ s/\n+$/\n/g;
+ my $file_changed = &OutputSGMLFile ($filename, $title, $section_id,
+ $section_includes,
+ \$synopsis, \$details,
+ \$signals_synop, \$signals_desc,
+ \$args_synop, \$args_desc,
+ \$hierarchy, \$interfaces,
+ \$implementations,
+ \$prerequisites, \$derived,
+ \@file_objects);
+ if ($file_changed) {
+ $changed = 1;
+ }
+ }
+ $title = "";
+ $section_id = "";
+ $subsection = "";
+ $in_section = 0;
+ $section_includes = "";
+ $signals_synop = "";
+ $signals_desc = "";
+ $args_synop = "";
+ $child_args_synop = "";
+ $style_args_synop = "";
+ $args_desc = "";
+ $child_args_desc = "";
+ $style_args_desc = "";
+ $hierarchy = "";
+ $interfaces = "";
+ $implementations = "";
+ $prerequisites = "";
+ $derived = "";
+
+ } elsif (m/^(\S+)/) {
+ my $symbol = $1;
+ #print " Symbol: $symbol\n";
+
+ # check for duplicate entries
+ if (! defined $symbol_def_line{$symbol}) {
+ my $declaration = $Declarations{$symbol};
+ if (defined ($declaration)) {
+ # We don't want standard macros/functions of GObjects,
+ # or private declarations.
+ if ($subsection ne "Standard" && $subsection ne "Private") {
+ if (&CheckIsObject ($symbol)) {
+ push @file_objects, $symbol;
+ }
+ my ($synop, $desc) = &OutputDeclaration ($symbol,
+ $declaration);
+ my ($sig_synop, $sig_desc) = &GetSignals ($symbol);
+ my ($arg_synop, $child_arg_synop, $style_arg_synop,
+ $arg_desc, $child_arg_desc, $style_arg_desc) = &GetArgs ($symbol);
+ my $hier = &GetHierarchy ($symbol);
+ my $ifaces = &GetInterfaces ($symbol);
+ my $impls = &GetImplementations ($symbol);
+ my $prereqs = &GetPrerequisites ($symbol);
+ my $der = &GetDerived ($symbol);
+ $synopsis .= $synop;
+ $details .= $desc;
+ $signals_synop .= $sig_synop;
+ $signals_desc .= $sig_desc;
+ $args_synop .= $arg_synop;
+ $child_args_synop .= $child_arg_synop;
+ $style_args_synop .= $style_arg_synop;
+ $args_desc .= $arg_desc;
+ $child_args_desc .= $child_arg_desc;
+ $style_args_desc .= $style_arg_desc;
+ $hierarchy .= $hier;
+ $interfaces .= $ifaces;
+ $implementations .= $impls;
+ $prerequisites .= $prereqs;
+ $derived .= $der;
+ }
+
+ # Note that the declaration has been output.
+ $DeclarationOutput{$symbol} = 1;
+ } elsif ($subsection ne "Standard" && $subsection ne "Private") {
+ $UndeclaredSymbols{$symbol} = 1;
+ &LogWarning ($file, $., "No declaration found for $symbol.");
+ }
+ $num_symbols++;
+ $symbol_def_line{$symbol}=$.;
+
+ if ($section_id eq "") {
+ if($title eq "" && $filename eq "") {
+ &LogWarning ($file, $., "Section has no title and no file.");
+ }
+ # FIXME: one of those would be enough
+ # filename should be an internal detail for gtk-doc
+ if ($title eq "") {
+ $title = $filename;
+ } elsif ($filename eq "") {
+ $filename = $title;
+ }
+ $filename =~ s/\s/_/g;
+
+ $section_id = $SourceSymbolDocs{"$TMPL_DIR/$filename:Section_Id"};
+ if (defined ($section_id) && $section_id !~ m/^\s*$/) {
+ # Remove trailing blanks and use as is
+ $section_id =~ s/\s+$//;
+ } elsif (&CheckIsObject ($title)) {
+ # GObjects use their class name as the ID.
+ $section_id = &CreateValidSGMLID ($title);
+ } else {
+ $section_id = &CreateValidSGMLID ("$MODULE-$title");
+ }
+ }
+ $SymbolSection{$symbol}=$title;
+ $SymbolSectionId{$symbol}=$section_id;
+ }
+ else {
+ &LogWarning ($file, $., "Double symbol entry for $symbol. ".
+ "Previous occurrence on line ".$symbol_def_line{$symbol}.".");
+ }
+ }
+ }
+ close (INPUT);
+
+ &OutputMissingDocumentation;
+ &OutputUndeclaredSymbols;
+ &OutputUnusedSymbols;
+
+ if ($OUTPUT_ALL_SYMBOLS) {
+ &OutputAllSymbols;
+ }
+ if ($OUTPUT_SYMBOLS_WITHOUT_SINCE) {
+ &OutputSymbolsWithoutSince;
+ }
+
+ for $filename (split (' ', $EXPAND_CONTENT_FILES)) {
+ my $file_changed = &OutputExtraFile ($filename);
+ if ($file_changed) {
+ $changed = 1;
+ }
+ }
+
+ &OutputBook ($book_top, $book_bottom);
+
+ return $changed;
+}
+
+#############################################################################
+# Function : OutputIndex
+# Description : This writes an indexlist that can be included into the main-
+# document into an <index> tag.
+#############################################################################
+
+sub OutputIndex {
+ my ($basename, $apiindexref ) = @_;
+ my %apiindex = %{$apiindexref};
+ my $old_index = "$SGML_OUTPUT_DIR/$basename.xml";
+ my $new_index = "$SGML_OUTPUT_DIR/$basename.new";
+ my $lastletter = " ";
+ my $divopen = 0;
+ my $symbol;
+ my $short_symbol;
+
+ open (OUTPUT, ">$new_index")
+ || die "Can't create $new_index";
+
+ my $header = $doctype_header;
+ $header =~ s/<!DOCTYPE \w+/<!DOCTYPE indexdiv/;
+
+ print (OUTPUT "$header<indexdiv>\n");
+
+ #print "generate $basename index (".%apiindex." entries)\n";
+
+ # do a case insensitive sort while chopping off the prefix
+ foreach my $hash (
+ sort { $$a{criteria} cmp $$b{criteria} }
+ map { my $x = uc($_); $x =~ s/^$NAME_SPACE\_?(.*)/$1/i; { criteria => $x, original => $_, short => $1 } }
+ keys %apiindex) {
+
+ $symbol = $$hash{original};
+ if (defined($$hash{short})) {
+ $short_symbol = $$hash{short};
+ } else {
+ $short_symbol = $symbol;
+ }
+
+ # generate a short symbol description
+ my $symbol_desc = "";
+ my $symbol_section = "";
+ my $symbol_section_id = "";
+ my $symbol_type = "";
+ if (defined($DeclarationTypes{$symbol})) {
+ $symbol_type = lc($DeclarationTypes{$symbol});
+ }
+ if ($symbol_type eq "") {
+ #print "trying symbol $symbol\n";
+ if ($symbol =~ m/(.*)::(.*)/) {
+ my $oname = $1;
+ my $osym = $2;
+ my $i;
+ #print " trying object signal ${oname}:$osym in ".$#SignalNames." signals\n";
+ for ($i = 0; $i <= $#SignalNames; $i++) {
+ if ($SignalNames[$i] eq $osym) {
+ $symbol_type = "object signal";
+ if (defined($SymbolSection{$oname})) {
+ $symbol_section = $SymbolSection{$oname};
+ $symbol_section_id = $SymbolSectionId{$oname};
+ }
+ last;
+ }
+ }
+ } elsif ($symbol =~ m/(.*):(.*)/) {
+ my $oname = $1;
+ my $osym = $2;
+ my $i;
+ #print " trying object property ${oname}::$osym in ".$#ArgNames." properties\n";
+ for ($i = 0; $i <= $#ArgNames; $i++) {
+ #print " ".$ArgNames[$i]."\n";
+ if ($ArgNames[$i] eq $osym) {
+ $symbol_type = "object property";
+ if (defined($SymbolSection{$oname})) {
+ $symbol_section = $SymbolSection{$oname};
+ $symbol_section_id = $SymbolSectionId{$oname};
+ }
+ last;
+ }
+ }
+ }
+ } else {
+ if (defined($SymbolSection{$symbol})) {
+ $symbol_section = $SymbolSection{$symbol};
+ $symbol_section_id = $SymbolSectionId{$symbol};
+ }
+ }
+ if ($symbol_type ne "") {
+ $symbol_desc=", $symbol_type";
+ if ($symbol_section ne "") {
+ $symbol_desc.=" in <link linkend=\"$symbol_section_id\">$symbol_section</link>";
+ #$symbol_desc.=" in ". &ExpandAbbreviations($symbol, "#$symbol_section");
+ }
+ }
+
+ my $curletter = uc(substr($short_symbol,0,1));
+ my $id = $apiindex{$symbol};
+
+ #print " add symbol $symbol with $id to index in section $curletter\n";
+
+ if ($curletter ne $lastletter) {
+ $lastletter = $curletter;
+
+ if ($divopen == 1) {
+ print (OUTPUT "</indexdiv>\n");
+ }
+ print (OUTPUT "<indexdiv><title>$curletter</title>\n");
+ $divopen = 1;
+ }
+
+ print (OUTPUT <<EOF);
+<indexentry><primaryie linkends="$id"><link linkend="$id">$symbol</link>$symbol_desc</primaryie></indexentry>
+EOF
+ }
+
+ if ($divopen == 1) {
+ print (OUTPUT "</indexdiv>\n");
+ }
+ print (OUTPUT "</indexdiv>\n");
+ close (OUTPUT);
+
+ &UpdateFileIfChanged ($old_index, $new_index, 0);
+}
+
+
+#############################################################################
+# Function : OutputIndexFull
+# Description : This writes the full api indexlist that can be included into the
+# main document into an <index> tag.
+#############################################################################
+
+sub OutputIndexFull {
+ &OutputIndex ("api-index-full", \%IndexEntriesFull);
+}
+
+
+#############################################################################
+# Function : OutputDeprecatedIndex
+# Description : This writes the deprecated api indexlist that can be included
+# into the main document into an <index> tag.
+#############################################################################
+
+sub OutputDeprecatedIndex {
+ &OutputIndex ("api-index-deprecated", \%IndexEntriesDeprecated);
+}
+
+
+#############################################################################
+# Function : OutputSinceIndexes
+# Description : This writes the 'since' api indexlists that can be included into
+# the main document into an <index> tag.
+#############################################################################
+
+sub OutputSinceIndexes {
+ my @sinces = keys %{{ map { $_ => 1 } values %Since }};
+
+ foreach my $version (@sinces) {
+ #print "Since : [$version]\n";
+ # TODO make filtered hash
+ #my %index = grep { $Since{$_} eq $version } %IndexEntriesSince;
+ my %index = map { $_ => $IndexEntriesSince{$_} } grep { $Since{$_} eq $version } keys %IndexEntriesSince;
+
+ &OutputIndex ("api-index-$version", \%index);
+ }
+}
+
+#############################################################################
+# Function : OutputAnnotationGlossary
+# Description : This writes a glossary of the used annotation terms into a
+# separate glossary file that can be included into the main
+# document.
+#############################################################################
+
+sub OutputAnnotationGlossary {
+ my $old_glossary = "$SGML_OUTPUT_DIR/annotation-glossary.xml";
+ my $new_glossary = "$SGML_OUTPUT_DIR/annotation-glossary.new";
+ my $lastletter = " ";
+ my $divopen = 0;
+
+ # if there are no annotations used return
+ return if (! keys(%AnnotationsUsed));
+
+ # add acronyms that are referenced from acronym text
+rerun:
+ foreach my $annotation (keys(%AnnotationsUsed)) {
+ if(defined($AnnotationDefinition{$annotation})) {
+ if($AnnotationDefinition{$annotation} =~ m/<acronym>([\w ]+)<\/acronym>/) {
+ if (!exists($AnnotationsUsed{$1})) {
+ $AnnotationsUsed{$1} = 1;
+ goto rerun;
+ }
+ }
+ }
+ }
+
+ open (OUTPUT, ">$new_glossary")
+ || die "Can't create $new_glossary";
+
+ my $header = $doctype_header;
+ $header =~ s/<!DOCTYPE \w+/<!DOCTYPE glossary/;
+
+ print (OUTPUT <<EOF);
+$header
+<glossary id="annotation-glossary">
+ <title>Annotation Glossary</title>
+EOF
+
+ foreach my $annotation (keys(%AnnotationsUsed)) {
+ if(defined($AnnotationDefinition{$annotation})) {
+ my $def = $AnnotationDefinition{$annotation};
+ my $curletter = uc(substr($annotation,0,1));
+
+ if ($curletter ne $lastletter) {
+ $lastletter = $curletter;
+
+ if ($divopen == 1) {
+ print (OUTPUT "</glossdiv>\n");
+ }
+ print (OUTPUT "<glossdiv><title>$curletter</title>\n");
+ $divopen = 1;
+ }
+ print (OUTPUT <<EOF);
+ <glossentry>
+ <glossterm><anchor id="annotation-glossterm-$annotation"/>$annotation</glossterm>
+ <glossdef>
+ <para>$def</para>
+ </glossdef>
+ </glossentry>
+EOF
+ }
+ }
+
+ if ($divopen == 1) {
+ print (OUTPUT "</glossdiv>\n");
+ }
+ print (OUTPUT "</glossary>\n");
+ close (OUTPUT);
+
+ &UpdateFileIfChanged ($old_glossary, $new_glossary, 0);
+}
+
+#############################################################################
+# Function : ReadKnownSymbols
+# Description : This collects the names of non-private symbols from the
+# $MODULE-sections.txt file.
+# Arguments : $file - the $MODULE-sections.txt file which contains all of
+# the functions/macros/structs etc. being documented, organised
+# into sections and subsections.
+#############################################################################
+
+sub ReadKnownSymbols {
+ my ($file) = @_;
+
+ my $subsection = "";
+
+ #print "Reading: $file\n";
+ open (INPUT, $file)
+ || die "Can't open $file: $!";
+
+ while (<INPUT>) {
+ if (m/^#/) {
+ next;
+
+ } elsif (m/^<SECTION>/) {
+ $subsection = "";
+
+ } elsif (m/^<SUBSECTION\s*(.*)>/i) {
+ $subsection = $1;
+
+ } elsif (m/^<SUBSECTION>/) {
+ next;
+
+ } elsif (m/^<TITLE>(.*)<\/TITLE>/) {
+ next;
+
+ } elsif (m/^<FILE>(.*)<\/FILE>/) {
+ $KnownSymbols{"$TMPL_DIR/$1:Long_Description"} = 1;
+ $KnownSymbols{"$TMPL_DIR/$1:Short_Description"} = 1;
+ next;
+
+ } elsif (m/^<INCLUDE>(.*)<\/INCLUDE>/) {
+ next;
+
+ } elsif (m/^<\/SECTION>/) {
+ next;
+
+ } elsif (m/^(\S+)/) {
+ my $symbol = $1;
+
+ if ($subsection ne "Standard" && $subsection ne "Private") {
+ $KnownSymbols{$symbol} = 1;
+ }
+ else {
+ $KnownSymbols{$symbol} = 0;
+ }
+ }
+ }
+ close (INPUT);
+}
+
+
+#############################################################################
+# Function : OutputDeclaration
+# Description : Returns the synopsis and detailed description DocBook
+# describing one function/macro etc.
+# Arguments : $symbol - the name of the function/macro begin described.
+# $declaration - the declaration of the function/macro.
+#############################################################################
+
+sub OutputDeclaration {
+ my ($symbol, $declaration) = @_;
+
+ my $type = $DeclarationTypes {$symbol};
+ if ($type eq 'MACRO') {
+ return &OutputMacro ($symbol, $declaration);
+ } elsif ($type eq 'TYPEDEF') {
+ return &OutputTypedef ($symbol, $declaration);
+ } elsif ($type eq 'STRUCT') {
+ return &OutputStruct ($symbol, $declaration);
+ } elsif ($type eq 'ENUM') {
+ return &OutputEnum ($symbol, $declaration);
+ } elsif ($type eq 'UNION') {
+ return &OutputUnion ($symbol, $declaration);
+ } elsif ($type eq 'VARIABLE') {
+ return &OutputVariable ($symbol, $declaration);
+ } elsif ($type eq 'FUNCTION') {
+ return &OutputFunction ($symbol, $declaration, $type);
+ } elsif ($type eq 'USER_FUNCTION') {
+ return &OutputFunction ($symbol, $declaration, $type);
+ } else {
+ die "Unknown symbol type";
+ }
+}
+
+
+#############################################################################
+# Function : OutputSymbolTraits
+# Description : Returns the Since and StabilityLevel paragraphs for a symbol.
+# Arguments : $symbol - the name of the function/macro begin described.
+#############################################################################
+
+sub OutputSymbolTraits {
+ my ($symbol) = @_;
+ my $desc = "";
+
+ if (exists $Since{$symbol}) {
+ $desc .= "<para role=\"since\">Since $Since{$symbol}</para>";
+ }
+ if (exists $StabilityLevel{$symbol}) {
+ $desc .= "<para role=\"stability\">Stability Level: $StabilityLevel{$symbol}</para>";
+ }
+ return $desc;
+}
+
+#############################################################################
+# Function : Outpu{Symbol,Section}ExtraLinks
+# Description : Returns extralinks for the symbol (if enabled).
+# Arguments : $symbol - the name of the function/macro begin described.
+#############################################################################
+
+sub uri_escape {
+ my $text = $_[0];
+ return undef unless defined $text;
+
+ # Build a char to hex map
+ my %escapes = ();
+ for (0..255) {
+ $escapes{chr($_)} = sprintf("%%%02X", $_);
+ }
+
+ # Default unsafe characters. RFC 2732 ^(uric - reserved)
+ $text =~ s/([^A-Za-z0-9\-_.!~*'()])/$escapes{$1}/g;
+
+ return $text;
+}
+
+sub OutputSymbolExtraLinks {
+ my ($symbol) = @_;
+ my $desc = "";
+
+ if (0) { # NEW FEATURE: needs configurability
+ my $sstr = &uri_escape($symbol);
+ my $mstr = &uri_escape($MODULE);
+ $desc .= <<EOF;
+<ulink role="extralinks" url="http://www.google.com/codesearch?q=$sstr">code search</ulink>
+<ulink role="extralinks" url="http://library.gnome.org/edit?module=$mstr&symbol=$sstr">edit documentation</ulink>
+EOF
+ }
+ return $desc;
+}
+
+sub OutputSectionExtraLinks {
+ my ($symbol,$docsymbol) = @_;
+ my $desc = "";
+
+ if (0) { # NEW FEATURE: needs configurability
+ my $sstr = &uri_escape($symbol);
+ my $mstr = &uri_escape($MODULE);
+ my $dsstr = &uri_escape($docsymbol);
+ $desc .= <<EOF;
+<ulink role="extralinks" url="http://www.google.com/codesearch?q=$sstr">code search</ulink>
+<ulink role="extralinks" url="http://library.gnome.org/edit?module=$mstr&symbol=$dsstr">edit documentation</ulink>
+EOF
+ }
+ return $desc;
+}
+
+
+#############################################################################
+# Function : OutputMacro
+# Description : Returns the synopsis and detailed description of a macro.
+# Arguments : $symbol - the macro.
+# $declaration - the declaration of the macro.
+#############################################################################
+
+sub OutputMacro {
+ my ($symbol, $declaration) = @_;
+ my $id = &CreateValidSGMLID ($symbol);
+ my $condition = &MakeConditionDescription ($symbol);
+ my $synop = &MakeReturnField("#define") . "<link linkend=\"$id\">$symbol</link>";
+ my $desc;
+
+ my @fields = ParseMacroDeclaration($declaration, \&CreateValidSGML);
+ my $title = $symbol . (@fields ? "()" : "");
+
+ $desc = "<refsect2 id=\"$id\" role=\"macro\"$condition>\n<title>$title</title>\n";
+ $desc .= MakeIndexterms($symbol, $id);
+ $desc .= "\n";
+ $desc .= OutputSymbolExtraLinks($symbol);
+
+ if (@fields) {
+ if (length ($symbol) < $SYMBOL_FIELD_WIDTH) {
+ $synop .= (' ' x ($SYMBOL_FIELD_WIDTH - length ($symbol)));
+ }
+
+ $synop .= "(";
+ for (my $i = 1; $i <= $#fields; $i += 2) {
+ my $field_name = $fields[$i];
+
+ if ($i == 1) {
+ $synop .= "$field_name";
+ } else {
+ $synop .= ",\n"
+ . (' ' x ($SYMBOL_FIELD_WIDTH + $RETURN_TYPE_FIELD_WIDTH))
+ . " $field_name";
+ }
+ }
+ $synop .= ")";
+ }
+ $synop .= "\n";
+
+ # Don't output the macro definition if is is a conditional macro or it
+ # looks like a function, i.e. starts with "g_" or "_?gnome_", or it is
+ # longer than 2 lines, otherwise we get lots of complicated macros like
+ # g_assert.
+ if (!defined ($DeclarationConditional{$symbol}) && ($symbol !~ m/^g_/)
+ && ($symbol !~ m/^_?gnome_/) && (($declaration =~ tr/\n//) < 2)) {
+ my $decl_out = &CreateValidSGML ($declaration);
+ $desc .= "<programlisting>$decl_out</programlisting>\n";
+ } else {
+ $desc .= "<programlisting>" . &MakeReturnField("#define") . "$symbol";
+ if ($declaration =~ m/^\s*#\s*define\s+\w+(\([^\)]*\))/) {
+ my $args = $1;
+ my $pad = ' ' x ($RETURN_TYPE_FIELD_WIDTH - length ("#define "));
+ # Align each line so that if should all line up OK.
+ $args =~ s/\n/\n$pad/gm;
+ $desc .= &CreateValidSGML ($args);
+ }
+ $desc .= "</programlisting>\n";
+ }
+
+ $desc .= &MakeDeprecationNote($symbol);
+
+ my $parameters = &OutputParamDescriptions ("MACRO", $symbol, @fields);
+ my $parameters_output = 0;
+
+ if (defined ($SymbolDocs{$symbol})) {
+ my $symbol_docs = &ExpandAbbreviations($symbol, $SymbolDocs{$symbol});
+
+ # Try to insert the parameter table at the author's desired position.
+ # Otherwise we need to tag it onto the end.
+ if ($symbol_docs =~ s/<!--PARAMETERS-->/$parameters/) {
+ $parameters_output = 1;
+ }
+ $desc .= $symbol_docs;
+ }
+
+ if ($parameters_output == 0) {
+ $desc .= $parameters;
+ }
+
+ $desc .= OutputSymbolTraits ($symbol);
+ $desc .= "</refsect2>\n";
+ return ($synop, $desc);
+}
+
+
+#############################################################################
+# Function : OutputTypedef
+# Description : Returns the synopsis and detailed description of a typedef.
+# Arguments : $symbol - the typedef.
+# $declaration - the declaration of the typedef,
+# e.g. 'typedef unsigned int guint;'
+#############################################################################
+
+sub OutputTypedef {
+ my ($symbol, $declaration) = @_;
+ my $id = &CreateValidSGMLID ($symbol);
+ my $condition = &MakeConditionDescription ($symbol);
+ my $synop = &MakeReturnField("typedef") . "<link linkend=\"$id\">$symbol</link>;\n";
+ my $desc = "<refsect2 id=\"$id\" role=\"typedef\"$condition>\n<title>$symbol</title>\n";
+
+ $desc .= MakeIndexterms($symbol, $id);
+ $desc .= "\n";
+ $desc .= OutputSymbolExtraLinks($symbol);
+
+ if (!defined ($DeclarationConditional{$symbol})) {
+ my $decl_out = &CreateValidSGML ($declaration);
+ $desc .= "<programlisting>$decl_out</programlisting>\n";
+ }
+
+ $desc .= &MakeDeprecationNote($symbol);
+
+ if (defined ($SymbolDocs{$symbol})) {
+ $desc .= &ExpandAbbreviations($symbol, $SymbolDocs{$symbol});
+ }
+ $desc .= OutputSymbolTraits ($symbol);
+ $desc .= "</refsect2>\n";
+ return ($synop, $desc);
+}
+
+
+#############################################################################
+# Function : OutputStruct
+# Description : Returns the synopsis and detailed description of a struct.
+# We check if it is a object struct, and if so we only output
+# parts of it that are noted as public fields.
+# We also use a different SGML ID for object structs, since the
+# original ID is used for the entire RefEntry.
+# Arguments : $symbol - the struct.
+# $declaration - the declaration of the struct.
+#############################################################################
+
+sub OutputStruct {
+ my ($symbol, $declaration) = @_;
+
+ my $is_gtype = 0;
+ my $default_to_public = 1;
+ if (&CheckIsObject ($symbol)) {
+ #print "Found struct gtype: $symbol\n";
+ $is_gtype = 1;
+ $default_to_public = $ObjectRoots{$symbol} eq 'GBoxed';
+ }
+
+ my $id;
+ my $condition;
+ if ($is_gtype) {
+ $id = &CreateValidSGMLID ($symbol . "_struct");
+ $condition = &MakeConditionDescription ($symbol . "_struct");
+ } else {
+ $id = &CreateValidSGMLID ($symbol);
+ $condition = &MakeConditionDescription ($symbol);
+ }
+
+ # Determine if it is a simple struct or it also has a typedef.
+ my $has_typedef = 0;
+ if ($StructHasTypedef{$symbol} || $declaration =~ m/^\s*typedef\s+/) {
+ $has_typedef = 1;
+ }
+
+ my $synop;
+ my $desc;
+ if ($has_typedef) {
+ # For structs with typedefs we just output the struct name.
+ $synop = &MakeReturnField("") . "<link linkend=\"$id\">$symbol</link>;\n";
+ $desc = "<refsect2 id=\"$id\" role=\"struct\"$condition>\n<title>$symbol</title>\n";
+ } else {
+ $synop = &MakeReturnField("struct") . "<link linkend=\"$id\">$symbol</link>;\n";
+ $desc = "<refsect2 id=\"$id\" role=\"struct\"$condition>\n<title>struct $symbol</title>\n";
+ }
+
+ $desc .= MakeIndexterms($symbol, $id);
+ $desc .= "\n";
+ $desc .= OutputSymbolExtraLinks($symbol);
+
+ # Form a pretty-printed, private-data-removed form of the declaration
+
+ my $decl_out = "";
+ if ($declaration =~ m/^\s*$/) {
+ #print "Found opaque struct: $symbol\n";
+ $decl_out = "typedef struct _$symbol $symbol;";
+ } elsif ($declaration =~ m/^\s*struct\s+\w+\s*;\s*$/) {
+ #print "Found opaque struct: $symbol\n";
+ $decl_out = "struct $symbol;";
+ } else {
+ my $public = $default_to_public;
+ my $new_declaration = "";
+ my $decl_line;
+ my $decl = $declaration;
+
+ if ($decl =~ m/^\s*(typedef\s+)?struct\s*\w*\s*(?:\/\*.*\*\/)?\s*{(.*)}\s*\w*\s*;\s*$/s) {
+ my $struct_contents = $2;
+
+ foreach $decl_line (split (/\n/, $struct_contents)) {
+ #print "Struct line: $decl_line\n";
+ if ($decl_line =~ m%/\*\s*<\s*public\s*>\s*\*/%) {
+ $public = 1;
+ } elsif ($decl_line =~ m%/\*\s*<\s*(private|protected)\s*>\s*\*/%) {
+ $public = 0;
+ } elsif ($public) {
+ $new_declaration .= $decl_line . "\n";
+ }
+ }
+
+ if ($new_declaration) {
+ # Strip any blank lines off the ends.
+ $new_declaration =~ s/^\s*\n//;
+ $new_declaration =~ s/\n\s*$/\n/;
+
+ if ($has_typedef) {
+ $decl_out = "typedef struct {\n" . $new_declaration
+ . "} $symbol;\n";
+ } else {
+ $decl_out = "struct $symbol {\n" . $new_declaration
+ . "};\n";
+ }
+ }
+ } else {
+ &LogWarning (&GetSymbolSourceFile ($symbol), &GetSymbolSourceLine($symbol),
+ "Couldn't parse struct:\n$declaration");
+ }
+
+ # If we couldn't parse the struct or it was all private, output an
+ # empty struct declaration.
+ if ($decl_out eq "") {
+ if ($has_typedef) {
+ $decl_out = "typedef struct _$symbol $symbol;";
+ } else {
+ $decl_out = "struct $symbol;";
+ }
+ }
+ }
+
+ $decl_out = &CreateValidSGML ($decl_out);
+ $desc .= "<programlisting>$decl_out</programlisting>\n";
+
+ $desc .= &MakeDeprecationNote($symbol);
+
+ if (defined ($SymbolDocs{$symbol})) {
+ $desc .= &ExpandAbbreviations($symbol, $SymbolDocs{$symbol});
+ }
+
+ # Create a table of fields and descriptions
+
+ # FIXME: Inserting  's into the produced type declarations here would
+ # improve the output in most situations ... except for function
+ # members of structs!
+ my @fields = ParseStructDeclaration($declaration, !$default_to_public,
+ 0, \&MakeXRef,
+ sub {
+ "<structfield id=\"".&CreateValidSGMLID("$id.$_[0]")."\">$_[0]</structfield>";
+ });
+ my $params = $SymbolParams{$symbol};
+
+ # If no parameters are filled in, we don't generate the description
+ # table, for backwards compatibility.
+
+ my $found = 0;
+ if (defined $params) {
+ for (my $i = 1; $i <= $#$params; $i += $PARAM_FIELD_COUNT) {
+ if ($params->[$i] =~ /\S/) {
+ $found = 1;
+ last;
+ }
+ }
+ }
+
+ if ($found) {
+ my %field_descrs = @$params;
+ my $missing_parameters = "";
+ my $unused_parameters = "";
+
+ $desc .= "<variablelist role=\"struct\">\n";
+ while (@fields) {
+ my $field_name = shift @fields;
+ my $text = shift @fields;
+ my $field_descr = $field_descrs{$field_name};
+ my $param_annotations = "";
+
+ $desc .= "<varlistentry><term>$text</term>\n";
+ if (defined $field_descr) {
+ ($field_descr,$param_annotations) = &ExpandAnnotation($symbol, $field_descr);
+ $field_descr = &ExpandAbbreviations($symbol, $field_descr);
+ $field_descr .= $param_annotations;
+ # trim
+ $field_descr =~ s/^(\s|\n)+//msg;
+ $field_descr =~ s/(\s|\n)+$//msg;
+ $desc .= "<listitem><simpara>$field_descr</simpara></listitem>\n";
+ delete $field_descrs{$field_name};
+ } else {
+ &LogWarning (&GetSymbolSourceFile ($symbol), &GetSymbolSourceLine($symbol),
+ "Field description for $symbol"."::"."$field_name is missing in source code comment block.");
+ if ($missing_parameters ne "") {
+ $missing_parameters .= ", ".$field_name;
+ } else {
+ $missing_parameters = $field_name;
+ }
+ $desc .= "<listitem />\n";
+ }
+ $desc .= "</varlistentry>\n";
+ }
+ $desc .= "</variablelist>";
+ foreach my $field_name (keys %field_descrs) {
+ &LogWarning (&GetSymbolSourceFile ($symbol), &GetSymbolSourceLine($symbol),
+ "Field description for $symbol"."::"."$field_name is not used from source code comment block.");
+ if ($unused_parameters ne "") {
+ $unused_parameters .= ", ".$field_name;
+ } else {
+ $unused_parameters = $field_name;
+ }
+ }
+
+ # remember missing/unused parameters (needed in tmpl-free build)
+ if (($missing_parameters ne "") and (! exists ($AllIncompleteSymbols{$symbol}))) {
+ $AllIncompleteSymbols{$symbol}=$missing_parameters;
+ }
+ if (($unused_parameters ne "") and (! exists ($AllUnusedSymbols{$symbol}))) {
+ $AllUnusedSymbols{$symbol}=$unused_parameters;
+ }
+ }
+ else {
+ if (scalar(@fields) > 0) {
+ if (! exists ($AllIncompleteSymbols{$symbol})) {
+ $AllIncompleteSymbols{$symbol}="<items>";
+ &LogWarning (&GetSymbolSourceFile ($symbol), &GetSymbolSourceLine($symbol),
+ "Field descriptions for struct $symbol are missing in source code comment block.");
+ @TRACE@("Remaining structs fields: ".@fields.":".join(',',@fields)."\n");
+ }
+ }
+ }
+
+ $desc .= OutputSymbolTraits ($symbol);
+ $desc .= "</refsect2>\n";
+ return ($synop, $desc);
+}
+
+
+#############################################################################
+# Function : OutputUnion
+# Description : Returns the synopsis and detailed description of a union.
+# Arguments : $symbol - the union.
+# $declaration - the declaration of the union.
+#############################################################################
+
+sub OutputUnion {
+ my ($symbol, $declaration) = @_;
+ my $id = &CreateValidSGMLID ($symbol);
+ my $condition = &MakeConditionDescription ($symbol);
+
+ # Determine if it is a simple struct or it also has a typedef.
+ my $has_typedef = 0;
+ if ($StructHasTypedef{$symbol} || $declaration =~ m/^\s*typedef\s+/) {
+ $has_typedef = 1;
+ }
+
+ my $synop;
+ my $desc;
+ if ($has_typedef) {
+ # For unions with typedefs we just output the union name.
+ $synop = &MakeReturnField("") . "<link linkend=\"$id\">$symbol</link>;\n";
+ $desc = "<refsect2 id=\"$id\" role=\"union\"$condition>\n<title>$symbol</title>\n";
+ } else {
+ $synop = &MakeReturnField("union") . "<link linkend=\"$id\">$symbol</link>;\n";
+ $desc = "<refsect2 id=\"$id\" role=\"union\"$condition>\n<title>union $symbol</title>\n";
+ }
+
+ $desc .= MakeIndexterms($symbol, $id);
+ $desc .= "\n";
+ $desc .= OutputSymbolExtraLinks($symbol);
+
+ # FIXME: we do more for structs
+ my $decl_out = &CreateValidSGML ($declaration);
+ $desc .= "<programlisting>$decl_out</programlisting>\n";
+
+ $desc .= &MakeDeprecationNote($symbol);
+
+ if (defined ($SymbolDocs{$symbol})) {
+ $desc .= &ExpandAbbreviations($symbol, $SymbolDocs{$symbol});
+ }
+
+ # Create a table of fields and descriptions
+
+ # FIXME: Inserting  's into the produced type declarations here would
+ # improve the output in most situations ... except for function
+ # members of structs!
+ my @fields = ParseStructDeclaration($declaration, 0,
+ 0, \&MakeXRef,
+ sub {
+ "<structfield id=\"".&CreateValidSGMLID("$id.$_[0]")."\">$_[0]</structfield>";
+ });
+ my $params = $SymbolParams{$symbol};
+
+ # If no parameters are filled in, we don't generate the description
+ # table, for backwards compatibility
+
+ my $found = 0;
+ if (defined $params) {
+ for (my $i = 1; $i <= $#$params; $i += $PARAM_FIELD_COUNT) {
+ if ($params->[$i] =~ /\S/) {
+ $found = 1;
+ last;
+ }
+ }
+ }
+
+ if ($found) {
+ my %field_descrs = @$params;
+ my $missing_parameters = "";
+ my $unused_parameters = "";
+
+ $desc .= "<variablelist role=\"union\">\n";
+ while (@fields) {
+ my $field_name = shift @fields;
+ my $text = shift @fields;
+ my $field_descr = $field_descrs{$field_name};
+ my $param_annotations = "";
+
+ $desc .= "<varlistentry><term>$text</term>\n";
+ if (defined $field_descr) {
+ ($field_descr,$param_annotations) = &ExpandAnnotation($symbol, $field_descr);
+ $field_descr = &ExpandAbbreviations($symbol, $field_descr);
+ $field_descr .= $param_annotations;
+ # trim
+ $field_descr =~ s/^(\s|\n)+//msg;
+ $field_descr =~ s/(\s|\n)+$//msg;
+ $desc .= "<listitem><simpara>$field_descr</simpara></listitem>\n";
+ delete $field_descrs{$field_name};
+ } else {
+ &LogWarning (&GetSymbolSourceFile ($symbol), &GetSymbolSourceLine($symbol),
+ "Field description for $symbol"."::"."$field_name is missing in source code comment block.");
+ if ($missing_parameters ne "") {
+ $missing_parameters .= ", ".$field_name;
+ } else {
+ $missing_parameters = $field_name;
+ }
+ $desc .= "<listitem />\n";
+ }
+ $desc .= "</varlistentry>\n";
+ }
+ $desc .= "</variablelist>";
+ foreach my $field_name (keys %field_descrs) {
+ &LogWarning (&GetSymbolSourceFile ($symbol), &GetSymbolSourceLine($symbol),
+ "Field description for $symbol"."::"."$field_name is not used from source code comment block.");
+ if ($unused_parameters ne "") {
+ $unused_parameters .= ", ".$field_name;
+ } else {
+ $unused_parameters = $field_name;
+ }
+ }
+
+ # remember missing/unused parameters (needed in tmpl-free build)
+ if (($missing_parameters ne "") and (! exists ($AllIncompleteSymbols{$symbol}))) {
+ $AllIncompleteSymbols{$symbol}=$missing_parameters;
+ }
+ if (($unused_parameters ne "") and (! exists ($AllUnusedSymbols{$symbol}))) {
+ $AllUnusedSymbols{$symbol}=$unused_parameters;
+ }
+ }
+ else {
+ if (scalar(@fields) > 0) {
+ if (! exists ($AllIncompleteSymbols{$symbol})) {
+ $AllIncompleteSymbols{$symbol}="<items>";
+ &LogWarning (&GetSymbolSourceFile ($symbol), &GetSymbolSourceLine($symbol),
+ "Field descriptions for union $symbol are missing in source code comment block.");
+ @TRACE@("Remaining union fields: ".@fields.":".join(',',@fields)."\n");
+ }
+ }
+ }
+
+ $desc .= OutputSymbolTraits ($symbol);
+ $desc .= "</refsect2>\n";
+ return ($synop, $desc);
+}
+
+
+#############################################################################
+# Function : OutputEnum
+# Description : Returns the synopsis and detailed description of a enum.
+# Arguments : $symbol - the enum.
+# $declaration - the declaration of the enum.
+#############################################################################
+
+sub OutputEnum {
+ my ($symbol, $declaration) = @_;
+
+ my $is_gtype = 0;
+ if (&CheckIsObject ($symbol)) {
+ #print "Found enum gtype: $symbol\n";
+ $is_gtype = 1;
+ }
+
+ my $id;
+ my $condition;
+ if ($is_gtype) {
+ $id = &CreateValidSGMLID ($symbol . "_enum");
+ $condition = &MakeConditionDescription ($symbol . "_enum");
+ } else {
+ $id = &CreateValidSGMLID ($symbol);
+ $condition = &MakeConditionDescription ($symbol);
+ }
+
+ my $synop = &MakeReturnField("enum") . "<link linkend=\"$id\">$symbol</link>;\n";
+ my $desc = "<refsect2 id=\"$id\" role=\"enum\"$condition>\n<title>enum $symbol</title>\n";
+
+ $desc .= MakeIndexterms($symbol, $id);
+ $desc .= "\n";
+ $desc .= OutputSymbolExtraLinks($symbol);
+
+ my $decl_out = "";
+ my $public = 1;
+ my $new_declaration = "";
+ my $decl_line;
+ my $decl = $declaration;
+
+ if ($decl =~ m/^\s*(typedef\s+)?enum\s*\w*\s*(?:\/\*.*\*\/)?\s*{(.*)}\s*\w*\s*;\s*$/s) {
+ my $has_typedef = defined($1) ? 1 : 0;
+ my $enum_contents = $2;
+
+ foreach $decl_line (split (/\n/, $enum_contents)) {
+ #print "Enum line: $decl_line\n";
+ if ($decl_line =~ m%/\*\s*<\s*public\s*>\s*\*/%) {
+ $public = 1;
+ } elsif ($decl_line =~ m%/\*\s*<\s*(private|protected)\s*>\s*\*/%) {
+ $public = 0;
+ } elsif ($public) {
+ $new_declaration .= $decl_line . "\n";
+ }
+ }
+
+ if ($new_declaration) {
+ # Strip any blank lines off the ends.
+ $new_declaration =~ s/^\s*\n//;
+ $new_declaration =~ s/\n\s*$/\n/;
+
+ if ($has_typedef) {
+ $decl_out = "typedef enum {\n" . $new_declaration
+ . "} $symbol;\n";
+ } else {
+ $decl_out = "enum $symbol {\n" . $new_declaration
+ . "};\n";
+ }
+ }
+ }
+
+ $decl_out = &CreateValidSGML ($decl_out);
+ $desc .= "<programlisting>$decl_out</programlisting>\n";
+
+ $desc .= &MakeDeprecationNote($symbol);
+
+ if (defined ($SymbolDocs{$symbol})) {
+ $desc .= &ExpandAbbreviations($symbol, $SymbolDocs{$symbol});
+ }
+
+ # Create a table of fields and descriptions
+
+ my @fields = ParseEnumDeclaration($declaration);
+ my $params = $SymbolParams{$symbol};
+
+ # If no parameters are filled in, we don't generate the description
+ # table, for backwards compatibility
+
+ my $found = 0;
+ if (defined $params) {
+ for (my $i = 1; $i <= $#$params; $i += $PARAM_FIELD_COUNT) {
+ if ($params->[$i] =~ /\S/) {
+ $found = 1;
+ last;
+ }
+ }
+ }
+
+ if ($found) {
+ my %field_descrs = @$params;
+ my $missing_parameters = "";
+ my $unused_parameters = "";
+
+ $desc .= "<variablelist role=\"enum\">\n";
+ for my $field_name (@fields) {
+ my $field_descr = $field_descrs{$field_name};
+ my $param_annotations = "";
+
+ $id = &CreateValidSGMLID ($field_name);
+ $condition = &MakeConditionDescription ($field_name);
+ $desc .= "<varlistentry id=\"$id\" role=\"constant\"$condition>\n<term><literal>$field_name</literal></term>\n";
+ if (defined $field_descr) {
+ ($field_descr,$param_annotations) = &ExpandAnnotation($symbol, $field_descr);
+ $field_descr = &ExpandAbbreviations($symbol, $field_descr);
+ $desc .= "<listitem><simpara>$field_descr$param_annotations</simpara></listitem>\n";
+ delete $field_descrs{$field_name};
+ } else {
+ &LogWarning (&GetSymbolSourceFile ($symbol), &GetSymbolSourceLine($symbol),
+ "Value description for $symbol"."::"."$field_name is missing in source code comment block.");
+ if ($missing_parameters ne "") {
+ $missing_parameters .= ", ".$field_name;
+ } else {
+ $missing_parameters = $field_name;
+ }
+ $desc .= "<listitem />\n";
+ }
+ $desc .= "</varlistentry>\n";
+ }
+ $desc .= "</variablelist>";
+ foreach my $field_name (keys %field_descrs) {
+ &LogWarning (&GetSymbolSourceFile ($symbol), &GetSymbolSourceLine($symbol),
+ "Value description for $symbol"."::"."$field_name is not used from source code comment block.");
+ if ($unused_parameters ne "") {
+ $unused_parameters .= ", ".$field_name;
+ } else {
+ $unused_parameters = $field_name;
+ }
+ }
+
+ # remember missing/unused parameters (needed in tmpl-free build)
+ if (($missing_parameters ne "") and (! exists ($AllIncompleteSymbols{$symbol}))) {
+ $AllIncompleteSymbols{$symbol}=$missing_parameters;
+ }
+ if (($unused_parameters ne "") and (! exists ($AllUnusedSymbols{$symbol}))) {
+ $AllUnusedSymbols{$symbol}=$unused_parameters;
+ }
+ }
+ else {
+ if (scalar(@fields) > 0) {
+ if (! exists ($AllIncompleteSymbols{$symbol})) {
+ $AllIncompleteSymbols{$symbol}="<items>";
+ &LogWarning (&GetSymbolSourceFile ($symbol), &GetSymbolSourceLine($symbol),
+ "Value descriptions for $symbol are missing in source code comment block.");
+ }
+ }
+ }
+
+ $desc .= OutputSymbolTraits ($symbol);
+ $desc .= "</refsect2>\n";
+ return ($synop, $desc);
+}
+
+
+#############################################################################
+# Function : OutputVariable
+# Description : Returns the synopsis and detailed description of a variable.
+# Arguments : $symbol - the extern'ed variable.
+# $declaration - the declaration of the variable.
+#############################################################################
+
+sub OutputVariable {
+ my ($symbol, $declaration) = @_;
+ my $id = &CreateValidSGMLID ($symbol);
+ my $condition = &MakeConditionDescription ($symbol);
+
+ @TRACE@("ouputing variable: '$symbol' '$declaration'");
+
+ my $synop;
+ if ($declaration =~ m/^\s*extern\s+((const\s+|signed\s+|unsigned\s+|long\s+|short\s+)*\w+)(\s+\*+|\*+|\s)(\s*)(const\s+)*([A-Za-z]\w*)\s*;/) {
+ my $mod1 = defined ($1) ? $1 : "";
+ my $ptr = defined ($3) ? $3 : "";
+ my $space = defined ($4) ? $4 : "";
+ my $mod2 = defined ($5) ? $5 : "";
+ $synop = &MakeReturnField("extern $mod1$ptr$space$mod2") . "<link linkend=\"$id\">$symbol</link>;\n";
+ } elsif ($declaration =~ m/^\s*((const\s+|signed\s+|unsigned\s+|long\s+|short\s+)*\w+)(\s+\*+|\*+|\s)(\s*)(const\s+)*([A-Za-z]\w*)\s*=/) {
+ my $mod1 = defined ($1) ? $1 : "";
+ my $ptr = defined ($3) ? $3 : "";
+ my $space = defined ($4) ? $4 : "";
+ my $mod2 = defined ($5) ? $5 : "";
+ $synop = &MakeReturnField("$mod1$ptr$space$mod2") . "<link linkend=\"$id\">$symbol</link>;\n";
+
+ } else {
+ $synop = &MakeReturnField("extern") . "<link linkend=\"$id\">$symbol</link>;\n";
+ }
+
+ my $desc = "<refsect2 id=\"$id\" role=\"variable\"$condition>\n<title>$symbol</title>\n";
+
+ $desc .= MakeIndexterms($symbol, $id);
+ $desc .= "\n";
+ $desc .= OutputSymbolExtraLinks($symbol);
+
+ my $decl_out = &CreateValidSGML ($declaration);
+ $desc .= "<programlisting>$decl_out</programlisting>\n";
+
+ $desc .= &MakeDeprecationNote($symbol);
+
+ if (defined ($SymbolDocs{$symbol})) {
+ $desc .= &ExpandAbbreviations($symbol, $SymbolDocs{$symbol});
+ }
+ $desc .= OutputSymbolTraits ($symbol);
+ $desc .= "</refsect2>\n";
+ return ($synop, $desc);
+}
+
+
+#############################################################################
+# Function : OutputFunction
+# Description : Returns the synopsis and detailed description of a function.
+# Arguments : $symbol - the function.
+# $declaration - the declaration of the function.
+#############################################################################
+
+sub OutputFunction {
+ my ($symbol, $declaration, $symbol_type) = @_;
+ my $id = &CreateValidSGMLID ($symbol);
+ my $condition = &MakeConditionDescription ($symbol);
+
+ # Take out the return type $1 $2 $3
+ $declaration =~ s/<RETURNS>\s*((?:const\s+|G_CONST_RETURN\s+|signed\s+|unsigned\s+|long\s+|short\s+|struct\s+|enum\s+)*)(\w+)(\s*\**\s*(?:const|G_CONST_RETURN)?\s*\**\s*(?:restrict)?\s*)<\/RETURNS>\n//;
+ my $type_modifier = defined($1) ? $1 : "";
+ my $type = $2;
+ my $pointer = $3;
+ # Trim trailing spaces as we are going to pad to $RETURN_TYPE_FIELD_WIDTH below anyway
+ $pointer =~ s/\s+$//;
+ my $xref = &MakeXRef ($type, &tagify($type, "returnvalue"));
+ my $start = "";
+ #if ($symbol_type eq 'USER_FUNCTION') {
+ # $start = "typedef ";
+ #}
+
+ # We output const rather than G_CONST_RETURN.
+ $type_modifier =~ s/G_CONST_RETURN/const/g;
+ $pointer =~ s/G_CONST_RETURN/const/g;
+ $pointer =~ s/^\s+/ /g;
+
+ my $ret_type_len = length ($start) + length ($type_modifier)+ length ($type)
+ + length ($pointer);
+ my $ret_type_output;
+ my $symbol_len;
+ if ($ret_type_len < $RETURN_TYPE_FIELD_WIDTH) {
+ $ret_type_output = "$start$type_modifier$xref$pointer"
+ . (' ' x ($RETURN_TYPE_FIELD_WIDTH - $ret_type_len));
+ $symbol_len = 0;
+ } else {
+ #$ret_type_output = "$start$type_modifier$xref$pointer\n" . (' ' x $RETURN_TYPE_FIELD_WIDTH);
+
+ $ret_type_output = "$start$type_modifier$xref$pointer ";
+ $symbol_len = $ret_type_len + 1 - $RETURN_TYPE_FIELD_WIDTH;
+ }
+ #@TRACE@("$symbol ret type output: [$ret_type_output], $ret_type_len");
+
+ $symbol_len += length ($symbol);
+ my $char1 = my $char2 = my $char3 = "";
+ if ($symbol_type eq 'USER_FUNCTION') {
+ $symbol_len += 3;
+ $char1 = "(";
+ $char2 = "*";
+ $char3 = ")";
+ }
+
+ my ($symbol_output, $symbol_desc_output);
+ if ($symbol_len < $SYMBOL_FIELD_WIDTH) {
+ $symbol_output = "$char1<link linkend=\"$id\">$char2$symbol</link>$char3"
+ . (' ' x ($SYMBOL_FIELD_WIDTH - $symbol_len));
+ $symbol_desc_output = "$char1$char2$symbol$char3"
+ . (' ' x ($SYMBOL_FIELD_WIDTH - $symbol_len));
+ } else {
+ $symbol_output = "$char1<link linkend=\"$id\">$char2$symbol</link>$char3\n"
+ . (' ' x ($SYMBOL_FIELD_WIDTH + $RETURN_TYPE_FIELD_WIDTH));
+ $symbol_desc_output = "$char1$char2$symbol$char3\n"
+ . (' ' x ($SYMBOL_FIELD_WIDTH + $RETURN_TYPE_FIELD_WIDTH));
+ }
+
+ my $synop = $ret_type_output . $symbol_output . '(';
+ my $desc = "<refsect2 id=\"$id\" role=\"function\"$condition>\n<title>${symbol} ()</title>\n";
+
+ $desc .= MakeIndexterms($symbol, $id);
+ $desc .= "\n";
+ $desc .= OutputSymbolExtraLinks($symbol);
+
+ $desc .= "<programlisting>${ret_type_output}$symbol_desc_output(";
+
+ my @fields = ParseFunctionDeclaration($declaration, \&MakeXRef,
+ sub {
+ &tagify($_[0],"parameter");
+ });
+
+ for (my $i = 1; $i <= $#fields; $i += 2) {
+ my $field_name = $fields[$i];
+
+ if ($i == 1) {
+ $synop .= "$field_name";
+ $desc .= "$field_name";
+ } else {
+ $synop .= ",\n"
+ . (' ' x ($SYMBOL_FIELD_WIDTH + $RETURN_TYPE_FIELD_WIDTH))
+ . " $field_name";
+ $desc .= ",\n"
+ . (' ' x ($SYMBOL_FIELD_WIDTH + $RETURN_TYPE_FIELD_WIDTH))
+ . " $field_name";
+ }
+
+ }
+
+ $synop .= ");\n";
+ $desc .= ");</programlisting>\n";
+
+ $desc .= &MakeDeprecationNote($symbol);
+
+ my $parameters = &OutputParamDescriptions ("FUNCTION", $symbol, @fields);
+ my $parameters_output = 0;
+
+ if (defined ($SymbolDocs{$symbol})) {
+ my $symbol_docs = &ExpandAbbreviations($symbol, $SymbolDocs{$symbol});
+
+ # Try to insert the parameter table at the author's desired position.
+ # Otherwise we need to tag it onto the end.
+ # FIXME: document that in the user manual and make it useable for other
+ # types too
+ if ($symbol_docs =~ s/<!--PARAMETERS-->/$parameters/) {
+ $parameters_output = 1;
+ }
+ $desc .= $symbol_docs;
+ }
+
+ if ($parameters_output == 0) {
+ $desc .= $parameters;
+ }
+
+ $desc .= OutputSymbolTraits ($symbol);
+ $desc .= "</refsect2>\n";
+ return ($synop, $desc);
+}
+
+
+#############################################################################
+# Function : OutputParamDescriptions
+# Description : Returns the DocBook output describing the parameters of a
+# function, macro or signal handler.
+# Arguments : $symbol_type - 'FUNCTION', 'MACRO' or 'SIGNAL'. Signal
+# handlers have an implicit user_data parameter last.
+# $symbol - the name of the function/macro being described.
+# @fields - parsed fields from the declaration, used to determine
+# undocumented/unused entries
+#############################################################################
+
+sub OutputParamDescriptions {
+ my ($symbol_type, $symbol, @fields) = @_;
+ my $output = "";
+ my $params = $SymbolParams{$symbol};
+ my $num_params = 0;
+ my %field_descrs = ();
+
+ if (@fields) {
+ %field_descrs = @fields;
+ delete $field_descrs{"void"};
+ delete $field_descrs{"Returns"};
+ }
+
+ if (defined $params) {
+ my $returns = "";
+ my $params_desc = "";
+ my $missing_parameters = "";
+ my $unused_parameters = "";
+ my $j;
+
+ for ($j = 0; $j <= $#$params; $j += $PARAM_FIELD_COUNT) {
+ my $param_name = $$params[$j];
+ my $param_desc = $$params[$j + 1];
+ my $param_annotations = "";
+
+ ($param_desc,$param_annotations) = & ExpandAnnotation($symbol, $param_desc);
+ $param_desc = &ExpandAbbreviations($symbol, $param_desc);
+ $param_desc .= $param_annotations;
+ # trim
+ $param_desc =~ s/^(\s|\n)+//msg;
+ $param_desc =~ s/(\s|\n)+$//msg;
+ if ($param_name eq "Returns") {
+ $returns = "$param_desc";
+ } elsif ($param_name eq "void") {
+ #print "!!!! void in params for $symbol?\n";
+ } else {
+ if (@fields) {
+ if (!defined $field_descrs{$param_name}) {
+ &LogWarning (&GetSymbolSourceFile ($symbol), &GetSymbolSourceLine($symbol),
+ "Parameter description for $symbol"."::"."$param_name is not used from source code comment block.");
+ if ($unused_parameters ne "") {
+ $unused_parameters .= ", ".$param_name;
+ } else {
+ $unused_parameters = $param_name;
+ }
+ } else {
+ delete $field_descrs{$param_name};
+ }
+ }
+ if($param_desc ne "") {
+ $params_desc .= "<varlistentry><term><parameter>$param_name</parameter> :</term>\n<listitem><simpara>$param_desc</simpara></listitem></varlistentry>\n";
+ $num_params++;
+ }
+ }
+ }
+ foreach my $param_name (keys %field_descrs) {
+ &LogWarning (&GetSymbolSourceFile ($symbol), &GetSymbolSourceLine($symbol),
+ "Parameter description for $symbol"."::"."$param_name is missing in source code comment block.");
+ if ($missing_parameters ne "") {
+ $missing_parameters .= ", ".$param_name;
+ } else {
+ $missing_parameters = $param_name;
+ }
+ }
+
+ # Signals have an implicit user_data parameter which we describe.
+ if ($symbol_type eq "SIGNAL") {
+ $params_desc .= "<varlistentry><term><parameter>user_data</parameter> :</term>\n<listitem><simpara>user data set when the signal handler was connected.</simpara></listitem></varlistentry>\n";
+ }
+
+ # Start a table if we need one.
+ if ($params_desc || $returns) {
+ $output .= "<variablelist role=\"params\">\n";
+ if ($params_desc ne "") {
+ #$output .= "<varlistentry><term>Parameters:</term><listitem></listitem></varlistentry>\n";
+ $output .= $params_desc;
+ }
+
+ # Output the returns info last
+ if ($returns) {
+ $output .= "<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara>$returns</simpara></listitem></varlistentry>\n";
+ }
+
+ # Finish the table.
+ $output .= "</variablelist>";
+ }
+
+ # remember missing/unused parameters (needed in tmpl-free build)
+ if (($missing_parameters ne "") and (! exists ($AllIncompleteSymbols{$symbol}))) {
+ $AllIncompleteSymbols{$symbol}=$missing_parameters;
+ }
+ if (($unused_parameters ne "") and (! exists ($AllUnusedSymbols{$symbol}))) {
+ $AllUnusedSymbols{$symbol}=$unused_parameters;
+ }
+ }
+ if (($num_params == 0) && @fields && (scalar(keys(%field_descrs)) > 0)) {
+ if (! exists ($AllIncompleteSymbols{$symbol})) {
+ $AllIncompleteSymbols{$symbol}="<parameters>";
+ }
+ }
+
+ return $output;
+}
+
+
+#############################################################################
+# Function : ParseStabilityLevel
+# Description : Parses a stability level and outputs a warning if it isn't
+# valid.
+# Arguments : $stability - the stability text.
+# $file, $line - context for error message
+# $message - description of where the level is from, to use in
+# any error message.
+# Returns : The parsed stability level string.
+#############################################################################
+
+sub ParseStabilityLevel {
+ my ($stability, $file, $line, $message) = @_;
+
+ $stability =~ s/^\s*//;
+ $stability =~ s/\s*$//;
+ if ($stability =~ m/^stable$/i) {
+ $stability = "Stable";
+ } elsif ($stability =~ m/^unstable$/i) {
+ $stability = "Unstable";
+ } elsif ($stability =~ m/^private$/i) {
+ $stability = "Private";
+ } else {
+ &LogWarning ($file, $line, "$message is $stability.".
+ "It should be one of these: Stable, Unstable, or Private.");
+ }
+ return $stability;
+}
+
+
+#############################################################################
+# Function : OutputSGMLFile
+# Description : Outputs the final DocBook file for one section.
+# Arguments : $file - the name of the file.
+# $title - the title from the $MODULE-sections.txt file, which
+# will be overridden by the title in the template file.
+# $section_id - the SGML id to use for the toplevel tag.
+# $includes - comma-separates list of include files added at top of
+# synopsis, with '<' '>' around them (if not already enclosed in "").
+# $synopsis - reference to the DocBook for the Synopsis part.
+# $details - reference to the DocBook for the Details part.
+# $signal_synop - reference to the DocBook for the Signal Synopsis part
+# $signal_desc - reference to the DocBook for the Signal Description part
+# $args_synop - reference to the DocBook for the Arg Synopsis part
+# $args_desc - reference to the DocBook for the Arg Description part
+# $hierarchy - reference to the DocBook for the Object Hierarchy part
+# $interfaces - reference to the DocBook for the Interfaces part
+# $implementations - reference to the DocBook for the Known Implementations part
+# $prerequisites - reference to the DocBook for the Prerequisites part
+# $derived - reference to the DocBook for the Derived Interfaces part
+# $file_objects - reference to an array of objects in this file
+#############################################################################
+
+sub OutputSGMLFile {
+ my ($file, $title, $section_id, $includes, $synopsis, $details, $signals_synop, $signals_desc, $args_synop, $args_desc, $hierarchy, $interfaces, $implementations, $prerequisites, $derived, $file_objects) = @_;
+
+ #print "Output sgml for file $file with title '$title'\n";
+
+ # The edited title overrides the one from the sections file.
+ my $new_title = $SymbolDocs{"$TMPL_DIR/$file:Title"};
+ if (defined ($new_title) && $new_title !~ m/^\s*$/) {
+ $title = $new_title;
+ #print "Found title: $title\n";
+ }
+ my $short_desc = $SymbolDocs{"$TMPL_DIR/$file:Short_Description"};
+ if (!defined ($short_desc) || $short_desc =~ m/^\s*$/) {
+ $short_desc = "";
+ } else {
+ $short_desc = &ExpandAbbreviations("$title:Short_description",
+ $short_desc);
+ #print "Found short_desc: $short_desc";
+ }
+ my $long_desc = $SymbolDocs{"$TMPL_DIR/$file:Long_Description"};
+ if (!defined ($long_desc) || $long_desc =~ m/^\s*$/) {
+ $long_desc = "";
+ } else {
+ $long_desc = &ExpandAbbreviations("$title:Long_description",
+ $long_desc);
+ #print "Found long_desc: $long_desc";
+ }
+ my $see_also = $SymbolDocs{"$TMPL_DIR/$file:See_Also"};
+ if (!defined ($see_also) || $see_also =~ m%^\s*(<para>)?\s*(</para>)?\s*$%) {
+ $see_also = "";
+ } else {
+ $see_also = &ExpandAbbreviations("$title:See_Also", $see_also);
+ #print "Found see_also: $see_also";
+ }
+ if ($see_also) {
+ $see_also = "<refsect1 id=\"$section_id.see-also\">\n<title>See Also</title>\n$see_also\n</refsect1>\n";
+ }
+ my $stability = $SymbolDocs{"$TMPL_DIR/$file:Stability_Level"};
+ if (!defined ($stability) || $stability =~ m/^\s*$/) {
+ $stability = "";
+ } else {
+ $stability = &ParseStabilityLevel($stability, $file, $., "Section stability level");
+ #print "Found stability: $stability";
+ }
+ if ($stability) {
+ $stability = "<refsect1 id=\"$section_id.stability-level\">\n<title>Stability Level</title>\n$stability, unless otherwise indicated\n</refsect1>\n";
+ } elsif ($DEFAULT_STABILITY) {
+ $stability = "<refsect1 id=\"$section_id.stability-level\">\n<title>Stability Level</title>\n$DEFAULT_STABILITY, unless otherwise indicated\n</refsect1>\n";
+ }
+
+ my $image = $SymbolDocs{"$TMPL_DIR/$file:Image"};
+ if (!defined ($image) || $image =~ m/^\s*$/) {
+ $image = "";
+ } else {
+ $image =~ s/^\s*//;
+ $image =~ s/\s*$//;
+
+ my $format;
+
+ if ($image =~ /jpe?g$/i) {
+ $format = "format='JPEG'";
+ } elsif ($image =~ /png$/i) {
+ $format = "format='PNG'";
+ } elsif ($image =~ /svg$/i) {
+ $format = "format='SVG'";
+ } else {
+ $format = "";
+ }
+
+ $image = " <inlinegraphic fileref='$image' $format/>\n"
+ }
+
+ my ($sec, $min, $hour, $mday, $mon, $year, $wday, $yday, $isdst) =
+ gmtime (time);
+ my $month = (qw(Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec))[$mon];
+ $year += 1900;
+
+ my $include_output = "";
+ my $include;
+ foreach $include (split (/,/, $includes)) {
+ if ($include =~ m/^\".+\"$/) {
+ $include_output .= "#include ${include}\n";
+ }
+ else {
+ $include =~ s/^\s+|\s+$//gs;
+ $include_output .= "#include <${include}>\n";
+ }
+ }
+ if ($include_output ne '') {
+ $include_output = "\n$include_output\n";
+ }
+
+ my $extralinks = OutputSectionExtraLinks($title,"Section:$file");
+
+ my $old_sgml_file = "$SGML_OUTPUT_DIR/$file.$OUTPUT_FORMAT";
+ my $new_sgml_file = "$SGML_OUTPUT_DIR/$file.$OUTPUT_FORMAT.new";
+
+ open (OUTPUT, ">$new_sgml_file")
+ || die "Can't create $new_sgml_file: $!";
+
+ my $object_anchors = "";
+ foreach my $object (@$file_objects) {
+ next if ($object eq $section_id);
+ my $id = CreateValidSGMLID($object);
+ #print "Debug: Adding anchor for $object\n";
+ $object_anchors .= "<anchor id=\"$id\"$empty_element_end";
+ }
+
+ # We used to output this, but is messes up our UpdateFileIfChanged code
+ # since it changes every day (and it is only used in the man pages):
+ # "<refentry id="$section_id" revision="$mday $month $year">"
+
+ if ($OUTPUT_FORMAT eq "xml") {
+ print OUTPUT $doctype_header;
+ }
+
+ print OUTPUT <<EOF;
+<refentry id="$section_id">
+<refmeta>
+<refentrytitle role="top_of_page" id="$section_id.top_of_page">$title</refentrytitle>
+<manvolnum>3</manvolnum>
+<refmiscinfo>
+ \U$MODULE\E Library
+$image</refmiscinfo>
+</refmeta>
+<refnamediv>
+<refname>$title</refname>
+<refpurpose>$short_desc</refpurpose>
+</refnamediv>
+$stability
+<refsynopsisdiv id="$section_id.synopsis" role="synopsis">
+<title role="synopsis.title">Synopsis</title>
+$object_anchors
+<synopsis>$include_output$${synopsis}</synopsis>
+</refsynopsisdiv>
+$$hierarchy$$prerequisites$$derived$$interfaces$$implementations$$args_synop$$signals_synop
+<refsect1 id="$section_id.description" role="desc">
+<title role="desc.title">Description</title>
+$extralinks$long_desc
+</refsect1>
+<refsect1 id="$section_id.details" role="details">
+<title role="details.title">Details</title>
+$$details
+</refsect1>
+$$args_desc$$signals_desc$see_also
+</refentry>
+EOF
+ close (OUTPUT);
+
+ return &UpdateFileIfChanged ($old_sgml_file, $new_sgml_file, 0);
+}
+
+
+#############################################################################
+# Function : OutputExtraFile
+# Description : Copies an "extra" DocBook file into the output directory,
+# expanding abbreviations
+# Arguments : $file - the source file.
+#############################################################################
+sub OutputExtraFile {
+ my ($file) = @_;
+
+ my $basename;
+
+ ($basename = $file) =~ s!^.*/!!;
+
+ my $old_sgml_file = "$SGML_OUTPUT_DIR/$basename";
+ my $new_sgml_file = "$SGML_OUTPUT_DIR/$basename.new";
+
+ my $contents;
+
+ open(EXTRA_FILE, "<$file") || die "Can't open $file";
+
+ {
+ local $/;
+ $contents = <EXTRA_FILE>;
+ }
+
+ open (OUTPUT, ">$new_sgml_file")
+ || die "Can't create $new_sgml_file: $!";
+
+ print OUTPUT &ExpandAbbreviations ("$basename file", $contents);
+ close (OUTPUT);
+
+ return &UpdateFileIfChanged ($old_sgml_file, $new_sgml_file, 0);
+}
+#############################################################################
+# Function : OutputBook
+# Description : Outputs the SGML entities that need to be included into the
+# main SGML file for the module.
+# Arguments : $book_top - the declarations of the entities, which are added
+# at the top of the main SGML file.
+# $book_bottom - the references to the entities, which are
+# added in the main SGML file at the desired position.
+#############################################################################
+
+sub OutputBook {
+ my ($book_top, $book_bottom) = @_;
+
+ my $old_file = "$SGML_OUTPUT_DIR/$MODULE-doc.top";
+ my $new_file = "$SGML_OUTPUT_DIR/$MODULE-doc.top.new";
+
+ open (OUTPUT, ">$new_file")
+ || die "Can't create $new_file: $!";
+ print OUTPUT $book_top;
+ close (OUTPUT);
+
+ &UpdateFileIfChanged ($old_file, $new_file, 0);
+
+
+ $old_file = "$SGML_OUTPUT_DIR/$MODULE-doc.bottom";
+ $new_file = "$SGML_OUTPUT_DIR/$MODULE-doc.bottom.new";
+
+ open (OUTPUT, ">$new_file")
+ || die "Can't create $new_file: $!";
+ print OUTPUT $book_bottom;
+ close (OUTPUT);
+
+ &UpdateFileIfChanged ($old_file, $new_file, 0);
+
+
+ # If the main SGML/XML file hasn't been created yet, we create it here.
+ # The user can tweak it later.
+ if ($MAIN_SGML_FILE && ! -e $MAIN_SGML_FILE) {
+ open (OUTPUT, ">$MAIN_SGML_FILE")
+ || die "Can't create $MAIN_SGML_FILE: $!";
+
+ if ($OUTPUT_FORMAT eq "xml") {
+ print OUTPUT <<EOF;
+<?xml version="1.0"?>
+<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
+ "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd"
+[
+ <!ENTITY % local.common.attrib "xmlns:xi CDATA #FIXED 'http://www.w3.org/2003/XInclude'">
+]>
+<book id="index">
+EOF
+ } else {
+ print OUTPUT <<EOF;
+<!doctype book PUBLIC "-//Davenport//DTD DocBook V3.0//EN" [
+$book_top
+]>
+<book id="index">
+EOF
+ }
+
+print OUTPUT <<EOF;
+ <bookinfo>
+ <title>$MODULE Reference Manual</title>
+ <releaseinfo>
+ for $MODULE [VERSION].
+ The latest version of this documentation can be found on-line at
+ <ulink role="online-location" url="http://[SERVER]/$MODULE/index.html">http://[SERVER]/$MODULE/</ulink>.
+ </releaseinfo>
+ </bookinfo>
+
+ <chapter>
+ <title>[Insert title here]</title>
+ $book_bottom
+ </chapter>
+EOF
+ if (-e $OBJECT_TREE_FILE) {
+ print OUTPUT <<EOF;
+ <chapter id="object-tree">
+ <title>Object Hierarchy</title>
+ <xi:include href="xml/tree_index.sgml"/>
+ </chapter>
+EOF
+ }
+
+print OUTPUT <<EOF;
+ <index id="api-index-full">
+ <title>API Index</title>
+ <xi:include href="xml/api-index-full.xml"><xi:fallback /></xi:include>
+ </index>
+ <index id="deprecated-api-index" role="deprecated">
+ <title>Index of deprecated API</title>
+ <xi:include href="xml/api-index-deprecated.xml"><xi:fallback /></xi:include>
+ </index>
+
+ <xi:include href="xml/annotation-glossary.xml"><xi:fallback /></xi:include>
+</book>
+EOF
+
+ close (OUTPUT);
+ }
+}
+
+
+#############################################################################
+# Function : CreateValidSGML
+# Description : This turns any chars which are used in SGML into entities,
+# e.g. '<' into '<'
+# Arguments : $text - the text to turn into proper SGML.
+#############################################################################
+
+sub CreateValidSGML {
+ my ($text) = @_;
+ $text =~ s/&/&/g; # Do this first, or the others get messed up.
+ $text =~ s/</</g;
+ $text =~ s/>/>/g;
+ # browers render single tabs inconsistently
+ $text =~ s/([^\s])\t([^\s])/$1 $2/g;
+ return $text;
+}
+
+#############################################################################
+# Function : ConvertSGMLChars
+# Description : This is used for text in source code comment blocks, to turn
+# chars which are used in SGML into entities, e.g. '<' into
+# '<'. Depending on $INLINE_MARKUP_MODE, this is done
+# unconditionally or only if the character doesn't seem to be
+# part of an SGML construct (tag or entity reference).
+# Arguments : $text - the text to turn into proper SGML.
+#############################################################################
+
+sub ConvertSGMLChars {
+ my ($symbol, $text) = @_;
+
+ if ($INLINE_MARKUP_MODE) {
+ # For the XML/SGML mode only convert to entities outside CDATA sections.
+ return &ModifyXMLElements ($text, $symbol,
+ "<!\\[CDATA\\[|<programlisting[^>]*>",
+ \&ConvertSGMLCharsEndTag,
+ \&ConvertSGMLCharsCallback);
+ } else {
+ # For the simple non-sgml mode, convert to entities everywhere.
+ $text =~ s/&/&/g; # Do this first, or the others get messed up.
+ $text =~ s/</</g;
+ $text =~ s/>/>/g;
+ return $text;
+ }
+}
+
+
+sub ConvertSGMLCharsEndTag {
+ if ($_[0] eq "<!\[CDATA\[") {
+ return "]]>";
+ } else {
+ return "</programlisting>";
+ }
+}
+
+sub ConvertSGMLCharsCallback {
+ my ($text, $symbol, $tag) = @_;
+
+ if ($tag =~ m/^<programlisting/) {
+ # We can handle <programlisting> specially here.
+ return &ModifyXMLElements ($text, $symbol,
+ "<!\\[CDATA\\[",
+ \&ConvertSGMLCharsEndTag,
+ \&ConvertSGMLCharsCallback2);
+ } elsif ($tag eq "") {
+ # If we're not in CDATA convert to entities.
+ $text =~ s/&(?![a-zA-Z#]+;)/&/g; # Do this first, or the others get messed up.
+ $text =~ s/<(?![a-zA-Z\/!])/</g;
+ $text =~ s/(?<![a-zA-Z0-9"'\/-])>/>/g;
+
+ # Handle "#include <xxxxx>"
+ $text =~ s/#include(\s+)<([^>]+)>/#include$1<$2>/g;
+ }
+
+ return $text;
+}
+
+sub ConvertSGMLCharsCallback2 {
+ my ($text, $symbol, $tag) = @_;
+
+ # If we're not in CDATA convert to entities.
+ # We could handle <programlisting> differently, though I'm not sure it helps.
+ if ($tag eq "") {
+ # replace only if its not a tag
+ $text =~ s/&(?![a-zA-Z#]+;)/&/g; # Do this first, or the others get messed up.
+ $text =~ s/<(?![a-zA-Z\/!])/</g;
+ $text =~ s/(?<![a-zA-Z0-9"'\/-])>/>/g;
+
+ # Handle "#include <xxxxx>"
+ $text =~ s/#include(\s+)<([^>]+)>/#include$1<$2>/g;
+ }
+
+ return $text;
+}
+
+#############################################################################
+# Function : ExpandAnnotation
+# Description : This turns annotations into acronym tags.
+# Arguments : $symbol - the symbol being documented, for error messages.
+# $text - the text to expand.
+#############################################################################
+sub ExpandAnnotation {
+ my ($symbol, $param_desc) = @_;
+ my $param_annotations = "";
+
+ # look for annotations at the start of the comment part
+ if ($param_desc =~ m%^\s*\((.*?)\):%) {
+ my @annotations;
+ my $annotation;
+ $param_desc = $';
+
+ @annotations = split(/\)\s*\(/,$1);
+ foreach $annotation (@annotations) {
+ # need to search for the longest key-match in %AnnotationDefinition
+ my $match_length=0;
+ my $match_annotation="";
+ my $annotationdef;
+ foreach $annotationdef (keys %AnnotationDefinition) {
+ if ($annotation =~ m/^$annotationdef/) {
+ if (length($annotationdef)>$match_length) {
+ $match_length=length($annotationdef);
+ $match_annotation=$annotationdef;
+ }
+ }
+ }
+ my $annotation_extra = "";
+ if ($match_annotation ne "") {
+ if ($annotation =~ m%$match_annotation\s+(.*)%) {
+ $annotation_extra = " $1";
+ }
+ $AnnotationsUsed{$match_annotation} = 1;
+ $param_annotations .= "[<acronym>$match_annotation</acronym>$annotation_extra]";
+ }
+ else {
+ &LogWarning (&GetSymbolSourceFile ($symbol), &GetSymbolSourceLine($symbol),
+ "unknown annotation \"$annotation\" in documentation for $symbol.");
+ $param_annotations .= "[$annotation]";
+ }
+ }
+ chomp($param_desc);
+ $param_desc =~ m/^(.*?)\.*\s*$/s;
+ $param_desc = "$1. ";
+ }
+ if ($param_annotations ne "") {
+ $param_annotations = "<emphasis role=\"annotation\">$param_annotations</emphasis>";
+ }
+ return ($param_desc, $param_annotations);
+}
+
+#############################################################################
+# Function : ExpandAbbreviations
+# Description : This turns the abbreviations function(), macro(), @param,
+# %constant, and #symbol into appropriate DocBook markup.
+# CDATA sections and <programlisting> parts are skipped.
+# Arguments : $symbol - the symbol being documented, for error messages.
+# $text - the text to expand.
+#############################################################################
+
+sub ExpandAbbreviations {
+ my ($symbol, $text) = @_;
+
+ # Convert "|[" and "]|" into the start and end of program listing examples.
+ # FIXME: we like to have a way to specify parameters e.g. language="c"
+ $text =~ s%\|\[%<informalexample><programlisting>%g;
+ $text =~ s%\]\|%</programlisting></informalexample>%g;
+ # TODO: check for a xml comment after |[ and pick the language attribute from
+ # that
+
+ # keep CDATA unmodified, preserve ulink tags (ideally we preseve all tags
+ # as such)
+ return &ModifyXMLElements ($text, $symbol,
+ "<!\\[CDATA\\[|<ulink[^>]*>|<programlisting[^>]*>|<!DOCTYPE",
+ \&ExpandAbbreviationsEndTag,
+ \&ExpandAbbreviationsCallback);
+}
+
+
+# Returns the end tag corresponding to the given start tag.
+sub ExpandAbbreviationsEndTag {
+ my ($start_tag) = @_;
+
+ if ($start_tag eq "<!\[CDATA\[") {
+ return "]]>";
+ } elsif ($start_tag eq "<!DOCTYPE") {
+ return "]>";
+ } elsif ($start_tag =~ m/<(\w+)/) {
+ return "</$1>";
+ }
+}
+
+# Called inside or outside each CDATA or <programlisting> section.
+sub ExpandAbbreviationsCallback {
+ my ($text, $symbol, $tag) = @_;
+
+ if ($tag =~ m/^<programlisting/) {
+ # Handle any embedded CDATA sections.
+ return &ModifyXMLElements ($text, $symbol,
+ "<!\\[CDATA\\[",
+ \&ExpandAbbreviationsEndTag,
+ \&ExpandAbbreviationsCallback2);
+ } elsif ($tag eq "") {
+ # We are outside any CDATA or <programlisting> sections, so we expand
+ # any gtk-doc abbreviations.
+
+ # Convert '@param()'
+ # FIXME: we could make those also links ($symbol.$2), but that would be less
+ # useful as the link target is a few lines up or down
+ $text =~ s/(\A|[^\\])\@(\w+((\.|->)\w+)*)\s*\(\)/$1<parameter>$2()<\/parameter>/g;
+
+ # Convert 'function()' or 'macro()'.
+ # if there is abc_*_def() we don't want to make a link to _def()
+ # FIXME: also handle abc(def(....)) : but that would need to be done recursively :/
+ $text =~ s/([^\*.\w])(\w+)\s*\(\)/$1.&MakeXRef($2, &tagify($2 . "()", "function"));/eg;
+ # handle #Object.func()
+ $text =~ s/(\A|[^\\])#([\w\-:\.]+[\w]+)\s*\(\)/$1.&MakeXRef($2, &tagify($2 . "()", "function"));/eg;
+
+ # Convert '@param', but not '\@param'.
+ $text =~ s/(\A|[^\\])\@(\w+((\.|->)\w+)*)/$1<parameter>$2<\/parameter>/g;
+ $text =~ s/\\\@/\@/g;
+
+ # Convert '%constant', but not '\%constant'.
+ # Also allow negative numbers, e.g. %-1.
+ $text =~ s/(\A|[^\\])\%(-?\w+)/$1.&MakeXRef($2, &tagify($2, "literal"));/eg;
+ $text =~ s/\\\%/\%/g;
+
+ # Convert '#symbol', but not '\#symbol'.
+ $text =~ s/(\A|[^\\])#([\w\-:\.]+[\w]+)/$1.&MakeHashXRef($2, "type");/eg;
+ $text =~ s/\\#/#/g;
+
+ # Expand urls
+ # FIXME: should we skip urls that are already tagged? (e.g. <literal>http://...</literal>)
+ # this is apparently also called for markup and not just for plain text
+ # disable for now.
+ #$text =~ s%(http|https|ftp)://(.*?)((?:\s|,|\)|\]|\<|\.\s))%<ulink url="$1://$2">$2</ulink>$3%g;
+
+ # TODO: optionally check all words from $text against internal symbols and
+ # warn if those could be xreffed, but miss a %,# or ()
+ }
+
+ return $text;
+}
+
+# This is called inside a <programlisting>
+sub ExpandAbbreviationsCallback2 {
+ my ($text, $symbol, $tag) = @_;
+
+ if ($tag eq "") {
+ # We are inside a <programlisting> but outside any CDATA sections,
+ # so we expand any gtk-doc abbreviations.
+ # FIXME: why is this different from &ExpandAbbreviationsCallback(),
+ # why not just call it
+ $text =~ s/#(\w+)/&MakeHashXRef($1, "");/eg;
+ }
+
+ return $text;
+}
+
+sub MakeHashXRef {
+ my ($symbol, $tag) = @_;;
+ my $text = $symbol;
+
+ # Check for things like '#include', '#define', and skip them.
+ if ($PreProcessorDirectives{$symbol}) {
+ return "#$symbol";
+ }
+
+ # Get rid of special suffixes ('-struct','-enum').
+ $text =~ s/-struct$//;
+ $text =~ s/-enum$//;
+
+ # If the symbol is in the form "Object::signal", then change the symbol to
+ # "Object-signal" and use "signal" as the text.
+ if ($symbol =~ s/::/-/) {
+ $text = "\"$'\"";
+ }
+
+ # If the symbol is in the form "Object:property", then change the symbol to
+ # "Object--property" and use "property" as the text.
+ if ($symbol =~ s/:/--/) {
+ $text = "\"$'\"";
+ }
+
+ if ($tag ne "") {
+ $text = tagify ($text, $tag);
+ }
+
+ return &MakeXRef($symbol, $text);
+}
+
+
+#############################################################################
+# Function : ModifyXMLElements
+# Description : Looks for given XML element tags within the text, and calls
+# the callback on pieces of text inside & outside those elements.
+# Used for special handling of text inside things like CDATA
+# and <programlisting>.
+# Arguments : $text - the text.
+# $symbol - the symbol currently being documented (only used for
+# error messages).
+# $start_tag_regexp - the regular expression to match start tags.
+# e.g. "<!\\[CDATA\\[|<programlisting[^>]*>" to match
+# CDATA sections or programlisting elements.
+# $end_tag_func - function which is passed the matched start tag
+# and should return the appropriate end tag string.
+# $callback - callback called with each part of the text. It is
+# called with a piece of text, the symbol being
+# documented, and the matched start tag or "" if the text
+# is outside the XML elements being matched.
+#############################################################################
+sub ModifyXMLElements {
+ my ($text, $symbol, $start_tag_regexp, $end_tag_func, $callback) = @_;
+ my ($before_tag, $start_tag, $end_tag_regexp, $end_tag);
+ my $result = "";
+
+ while ($text =~ m/$start_tag_regexp/s) {
+ $before_tag = $`; # Prematch for last successful match string
+ $start_tag = $&; # Last successful match
+ $text = $'; # Postmatch for last successful match string
+
+ $result .= &$callback ($before_tag, $symbol, "");
+ $result .= $start_tag;
+
+ # get the mathing end-tag for current tag
+ $end_tag_regexp = &$end_tag_func ($start_tag);
+
+ if ($text =~ m/$end_tag_regexp/s) {
+ $before_tag = $`;
+ $end_tag = $&;
+ $text = $';
+
+ $result .= &$callback ($before_tag, $symbol, $start_tag);
+ $result .= $end_tag;
+ } else {
+ &LogWarning (&GetSymbolSourceFile ($symbol), &GetSymbolSourceLine($symbol),
+ "Can't find tag end: $end_tag_regexp in docs for: $symbol.");
+ # Just assume it is all inside the tag.
+ $result .= &$callback ($text, $symbol, $start_tag);
+ $text = "";
+ }
+ }
+
+ # Handle any remaining text outside the tags.
+ $result .= &$callback ($text, $symbol, "");
+
+ return $result;
+}
+
+sub noop {
+ return $_[0];
+}
+
+# Adds a tag around some text.
+# e.g tagify("Text", "literal") => "<literal>Text</literal>".
+sub tagify {
+ my ($text, $elem) = @_;
+ return "<" . $elem . ">" . $text . "</" . $elem . ">";
+}
+
+
+#############################################################################
+# Function : MakeXRef
+# Description : This returns a cross-reference link to the given symbol.
+# Though it doesn't try to do this for a few standard C types
+# that it knows won't be in the documentation.
+# Arguments : $symbol - the symbol to try to create a XRef to.
+# $text - text text to put inside the XRef, defaults to $symbol
+#############################################################################
+
+sub MakeXRef {
+ my ($symbol, $text) = ($_[0], $_[1]);
+
+ $symbol =~ s/^\s+//;
+ $symbol =~ s/\s+$//;
+
+ if (!defined($text)) {
+ $text = $symbol;
+
+ # Get rid of special suffixes ('-struct','-enum').
+ $text =~ s/-struct$//;
+ $text =~ s/-enum$//;
+ }
+
+ if ($symbol =~ m/ /) {
+ return "$text";
+ }
+
+ #print "Getting type link for $symbol -> $text\n";
+
+ my $symbol_id = &CreateValidSGMLID ($symbol);
+ return "<link linkend=\"$symbol_id\">$text</link>";
+}
+
+
+#############################################################################
+# Function : MakeIndexterms
+# Description : This returns a indexterm elements for the given symbol
+# Arguments : $symbol - the symbol to create indexterms for
+#############################################################################
+
+sub MakeIndexterms {
+ my ($symbol, $id) = @_;
+ my $terms = "";
+ my $sortas = "";
+
+ # make the index useful, by ommiting the namespace when sorting
+ if ($NAME_SPACE ne "") {
+ if ($symbol =~ m/^$NAME_SPACE\_?(.*)/i) {
+ $sortas=" sortas=\"$1\"";
+ }
+ }
+
+ if (exists $Deprecated{$symbol}) {
+ $terms .= "<indexterm zone=\"$id\" role=\"deprecated\"><primary$sortas>$symbol</primary></indexterm>";
+ $IndexEntriesDeprecated{$symbol}=$id;
+ $IndexEntriesFull{$symbol}=$id;
+ }
+ if (exists $Since{$symbol}) {
+ my $since = $Since{$symbol};
+ $since =~ s/^\s+//;
+ $since =~ s/\s+$//;
+ if ($since ne "") {
+ $terms .= "<indexterm zone=\"$id\" role=\"$since\"><primary$sortas>$symbol</primary></indexterm>";
+ }
+ $IndexEntriesSince{$symbol}=$id;
+ $IndexEntriesFull{$symbol}=$id;
+ }
+ if ($terms eq "") {
+ $terms .= "<indexterm zone=\"$id\"><primary$sortas>$symbol</primary></indexterm>";
+ $IndexEntriesFull{$symbol}=$id;
+ }
+
+ return $terms;
+ }
+
+#############################################################################
+# Function : MakeDeprecationNote
+# Description : This returns a deprecation warning for the given symbol.
+# Arguments : $symbol - the symbol to try to create a warning for.
+#############################################################################
+
+sub MakeDeprecationNote {
+ my ($symbol) = $_[0];
+ my $desc = "";
+ my $note = "";
+ if (exists $Deprecated{$symbol}) {
+ $desc .= "<warning>";
+
+ if ($Deprecated{$symbol} =~ /^\s*([0-9\.]+)\s*:/) {
+ $desc .= "<para><literal>$symbol</literal> has been deprecated since version $1 and should not be used in newly-written code.";
+ } else {
+ $desc .= "<para><literal>$symbol</literal> is deprecated and should not be used in newly-written code.";
+ }
+ if ($Deprecated{$symbol} ne "") {
+ $note = &ExpandAbbreviations($symbol, $Deprecated{$symbol});
+ $note =~ s/^\s*([0-9\.]+)\s*:\s*//;
+ $note =~ s/^\s+//;
+ $note =~ s/\s+$//;
+ $note =~ s%\n{2,}%\n</para>\n<para>\n%g;
+ $desc .= " " . $note;
+ }
+ $desc .= "</para></warning>\n";
+ }
+ return $desc;
+}
+
+#############################################################################
+# Function : MakeConditionDescription
+# Description : This returns a sumary of conditions for the given symbol.
+# Arguments : $symbol - the symbol to try to create the sumary.
+#############################################################################
+
+sub MakeConditionDescription {
+ my ($symbol) = $_[0];
+ my $desc = "";
+
+ if (exists $Deprecated{$symbol}) {
+ if ($desc ne "") {
+ $desc .= "|";
+ }
+
+ if ($Deprecated{$symbol} =~ /^\s*(.*?)\s*$/) {
+ $desc .= "deprecated:$1";
+ } else {
+ $desc .= "deprecated";
+ }
+ }
+
+ if (exists $Since{$symbol}) {
+ if ($desc ne "") {
+ $desc .= "|";
+ }
+
+ if ($Since{$symbol} =~ /^\s*(.*?)\s*$/) {
+ $desc .= "since:$1";
+ } else {
+ $desc .= "since";
+ }
+ }
+
+ if (exists $StabilityLevel{$symbol}) {
+ if ($desc ne "") {
+ $desc .= "|";
+ }
+ $desc .= "stability:".$StabilityLevel{$symbol};
+ }
+
+ if ($desc ne "") {
+ $desc=" condition=\"".$desc."\"";
+ #print "condition for '$symbol' = '$desc'\n";
+ }
+ return $desc;
+}
+
+#############################################################################
+# Function : GetHierarchy
+# Description : Returns the DocBook output describing the ancestors and
+# immediate children of a GObject subclass. It uses the
+# global @Objects and @ObjectLevels arrays to walk the tree.
+# Arguments : $object - the GtkObject subclass.
+#############################################################################
+
+sub GetHierarchy {
+ my ($object) = @_;
+
+ # Find object in the objects array.
+ my $found = 0;
+ my @children = ();
+ my $i;
+ my $level;
+ my $j;
+ for ($i = 0; $i < @Objects; $i++) {
+ if ($found) {
+ if ($ObjectLevels[$i] <= $level) {
+ last;
+ }
+ elsif ($ObjectLevels[$i] == $level + 1) {
+ push (@children, $Objects[$i]);
+ }
+ }
+ elsif ($Objects[$i] eq $object) {
+ $found = 1;
+ $j = $i;
+ $level = $ObjectLevels[$i];
+ }
+ }
+ if (!$found) {
+ return "";
+ }
+
+ # Walk up the hierarchy, pushing ancestors onto the ancestors array.
+ my @ancestors = ();
+ push (@ancestors, $object);
+ #print "Level: $level\n";
+ while ($level > 1) {
+ $j--;
+ if ($ObjectLevels[$j] < $level) {
+ push (@ancestors, $Objects[$j]);
+ $level = $ObjectLevels[$j];
+ #print "Level: $level\n";
+ }
+ }
+
+ # Output the ancestors list, indented and with links.
+ my $hierarchy = "<synopsis>\n";
+ $level = 0;
+ for ($i = $#ancestors; $i >= 0; $i--) {
+ my $link_text;
+ # Don't add a link to the current object, i.e. when i == 0.
+ if ($i > 0) {
+ my $ancestor_id = &CreateValidSGMLID ($ancestors[$i]);
+ $link_text = "<link linkend=\"$ancestor_id\">$ancestors[$i]</link>";
+ } else {
+ $link_text = "$ancestors[$i]";
+ }
+ if ($level == 0) {
+ $hierarchy .= " $link_text\n";
+ } else {
+# $hierarchy .= ' ' x ($level * 6 - 3) . "|\n";
+ $hierarchy .= ' ' x ($level * 6 - 3) . "+----$link_text\n";
+ }
+ $level++;
+ }
+ for ($i = 0; $i <= $#children; $i++) {
+ my $id = &CreateValidSGMLID ($children[$i]);
+ my $link_text = "<link linkend=\"$id\">$children[$i]</link>";
+ $hierarchy .= ' ' x ($level * 6 - 3) . "+----$link_text\n";
+ }
+ $hierarchy .= "</synopsis>\n";
+
+ return $hierarchy;
+}
+
+
+#############################################################################
+# Function : GetInterfaces
+# Description : Returns the DocBook output describing the interfaces
+# implemented by a class. It uses the global %Interfaces hash.
+# Arguments : $object - the GtkObject subclass.
+#############################################################################
+
+sub GetInterfaces {
+ my ($object) = @_;
+ my $text = "";
+ my $i;
+
+ # Find object in the objects array.
+ if (exists($Interfaces{$object})) {
+ my @ifaces = split(' ', $Interfaces{$object});
+ $text = <<EOF;
+<para>
+$object implements
+EOF
+ for ($i = 0; $i <= $#ifaces; $i++) {
+ my $id = &CreateValidSGMLID ($ifaces[$i]);
+ $text .= " <link linkend=\"$id\">$ifaces[$i]</link>";
+ if ($i < $#ifaces - 1) {
+ $text .= ', ';
+ }
+ elsif ($i < $#ifaces) {
+ $text .= ' and ';
+ }
+ else {
+ $text .= '.';
+ }
+ }
+ $text .= <<EOF;
+</para>
+EOF
+ }
+
+ return $text;
+}
+
+#############################################################################
+# Function : GetImplementations
+# Description : Returns the DocBook output describing the implementations
+# of an interface. It uses the global %Interfaces hash.
+# Arguments : $object - the GtkObject subclass.
+#############################################################################
+
+sub GetImplementations {
+ my ($object) = @_;
+ my @impls = ();
+ my $text = "";
+ my $i;
+ foreach my $key (keys %Interfaces) {
+ if ($Interfaces{$key} =~ /\b$object\b/) {
+ push (@impls, $key);
+ }
+ }
+ if ($#impls >= 0) {
+ @impls = sort @impls;
+ $text = <<EOF;
+<para>
+$object is implemented by
+EOF
+ for ($i = 0; $i <= $#impls; $i++) {
+ my $id = &CreateValidSGMLID ($impls[$i]);
+ $text .= " <link linkend=\"$id\">$impls[$i]</link>";
+ if ($i < $#impls - 1) {
+ $text .= ', ';
+ }
+ elsif ($i < $#impls) {
+ $text .= ' and ';
+ }
+ else {
+ $text .= '.';
+ }
+ }
+ $text .= <<EOF;
+</para>
+EOF
+ }
+ return $text;
+}
+
+
+#############################################################################
+# Function : GetPrerequisites
+# Description : Returns the DocBook output describing the prerequisites
+# of an interface. It uses the global %Prerequisites hash.
+# Arguments : $iface - the interface.
+#############################################################################
+
+sub GetPrerequisites {
+ my ($iface) = @_;
+ my $text = "";
+ my $i;
+
+ if (exists($Prerequisites{$iface})) {
+ $text = <<EOF;
+<para>
+$iface requires
+EOF
+ my @prereqs = split(' ', $Prerequisites{$iface});
+ for ($i = 0; $i <= $#prereqs; $i++) {
+ my $id = &CreateValidSGMLID ($prereqs[$i]);
+ $text .= " <link linkend=\"$id\">$prereqs[$i]</link>";
+ if ($i < $#prereqs - 1) {
+ $text .= ', ';
+ }
+ elsif ($i < $#prereqs) {
+ $text .= ' and ';
+ }
+ else {
+ $text .= '.';
+ }
+ }
+ $text .= <<EOF;
+</para>
+EOF
+ }
+ return $text;
+}
+
+#############################################################################
+# Function : GetDerived
+# Description : Returns the DocBook output describing the derived interfaces
+# of an interface. It uses the global %Prerequisites hash.
+# Arguments : $iface - the interface.
+#############################################################################
+
+sub GetDerived {
+ my ($iface) = @_;
+ my $text = "";
+ my $i;
+
+ my @derived = ();
+ foreach my $key (keys %Prerequisites) {
+ if ($Prerequisites{$key} =~ /\b$iface\b/) {
+ push (@derived, $key);
+ }
+ }
+ if ($#derived >= 0) {
+ @derived = sort @derived;
+ $text = <<EOF;
+<para>
+$iface is required by
+EOF
+ for ($i = 0; $i <= $#derived; $i++) {
+ my $id = &CreateValidSGMLID ($derived[$i]);
+ $text .= " <link linkend=\"$id\">$derived[$i]</link>";
+ if ($i < $#derived - 1) {
+ $text .= ', ';
+ }
+ elsif ($i < $#derived) {
+ $text .= ' and ';
+ }
+ else {
+ $text .= '.';
+ }
+ }
+ $text .= <<EOF;
+</para>
+EOF
+ }
+ return $text;
+}
+
+
+#############################################################################
+# Function : GetSignals
+# Description : Returns the synopsis and detailed description DocBook output
+# for the signal handlers of a given GtkObject subclass.
+# Arguments : $object - the GtkObject subclass, e.g. 'GtkButton'.
+#############################################################################
+
+sub GetSignals {
+ my ($object) = @_;
+ my $synop = "";
+ my $desc = "";
+
+ my $i;
+ for ($i = 0; $i <= $#SignalObjects; $i++) {
+ if ($SignalObjects[$i] eq $object) {
+ #print "Found signal: $SignalNames[$i]\n";
+ my $name = $SignalNames[$i];
+ my $symbol = "${object}::${name}";
+ my $id = &CreateValidSGMLID ("$object-$name");
+
+ my $pad = ' ' x (46 - length($name));
+ $synop .= " "<link linkend=\"$id\">$name</link>"$pad ";
+
+ $desc .= "<refsect2 id=\"$id\" role=\"signal\"><title>The <literal>"$name"</literal> signal</title>\n";
+ $desc .= MakeIndexterms($symbol, $id);
+ $desc .= "\n";
+ $desc .= OutputSymbolExtraLinks($symbol);
+
+ $desc .= "<programlisting>";
+
+ $SignalReturns[$i] =~ m/\s*(const\s+)?(\w+)\s*(\**)/;
+ my $type_modifier = defined($1) ? $1 : "";
+ my $type = $2;
+ my $pointer = $3;
+ my $xref = &MakeXRef ($type, &tagify($type, "returnvalue"));
+
+ my $ret_type_len = length ($type_modifier) + length ($pointer)
+ + length ($type);
+ my $ret_type_output = "$type_modifier$xref$pointer"
+ . (' ' x ($RETURN_TYPE_FIELD_WIDTH - $ret_type_len));
+
+ $desc .= "${ret_type_output}user_function " . &MakeReturnField("") . " (";
+
+ my $sourceparams = $SourceSymbolParams{$symbol};
+ my @params = split ("\n", $SignalPrototypes[$i]);
+ my $j;
+ my $l;
+ my $type_len = length("gpointer");
+ my $name_len = length("user_data");
+ # do two passes, the first one is to calculate padding
+ for ($l = 0; $l < 2; $l++) {
+ for ($j = 0; $j <= $#params; $j++) {
+ # allow alphanumerics, '_', '[' & ']' in param names
+ if ($params[$j] =~ m/^\s*(\w+)\s*(\**)\s*([\w\[\]]+)\s*$/) {
+ $type = $1;
+ $pointer = $2;
+ if (defined($sourceparams)) {
+ $name = $$sourceparams[$PARAM_FIELD_COUNT * $j];
+ }
+ else {
+ $name = $3;
+ }
+ if (!defined($name)) {
+ $name = "arg$j";
+ }
+ if ($l == 0) {
+ if (length($type) + length($pointer) > $type_len) {
+ $type_len = length($type) + length($pointer);
+ }
+ if (length($name) > $name_len) {
+ $name_len = length($name);
+ }
+ }
+ else {
+ $xref = &MakeXRef ($type, &tagify($type, "type"));
+ $pad = ' ' x ($type_len - length($type) - length($pointer));
+ $desc .= "$xref$pad $pointer$name,\n";
+ $desc .= (' ' x ($SYMBOL_FIELD_WIDTH + $RETURN_TYPE_FIELD_WIDTH));
+ }
+ } else {
+ &LogWarning (&GetSymbolSourceFile ($symbol), &GetSymbolSourceLine($symbol),
+ "Can't parse arg: $params[$j]\nArgs:$SignalPrototypes[$i]");
+ }
+ }
+ }
+ $xref = &MakeXRef ("gpointer", &tagify("gpointer", "type"));
+ $pad = ' ' x ($type_len - length("gpointer"));
+ $desc .= "$xref$pad user_data)";
+
+ my $flags = $SignalFlags[$i];
+ my $flags_string = "";
+
+ if (defined ($flags)) {
+ if ($flags =~ m/f/) {
+ $flags_string = "<link linkend=\"G-SIGNAL-RUN-FIRST:CAPS\"><literal>Run First</literal></link>";
+ }
+ elsif ($flags =~ m/l/) {
+ $flags_string = "<link linkend=\"G-SIGNAL-RUN-LAST:CAPS\"><literal>Run Last</literal></link>";
+ }
+ elsif ($flags =~ m/c/) {
+ $flags_string = "<link linkend=\"G-SIGNAL-RUN-CLEANUP:CAPS\"><literal>Cleanup</literal></link>";
+ $flags_string = "Cleanup";
+ }
+ if ($flags =~ m/r/) {
+ if ($flags_string) { $flags_string .= " / "; }
+ $flags_string = "<link linkend=\"G-SIGNAL-NO-RECURSE:CAPS\"><literal>No Recursion</literal></link>";
+ }
+ if ($flags =~ m/d/) {
+ if ($flags_string) { $flags_string .= " / "; }
+ $flags_string = "<link linkend=\"G-SIGNAL-DETAILED:CAPS\"><literal>Has Details</literal></link>";
+ }
+ if ($flags =~ m/a/) {
+ if ($flags_string) { $flags_string .= " / "; }
+ $flags_string = "<link linkend=\"G-SIGNAL-ACTION:CAPS\"><literal>Action</literal></link>";
+ }
+ if ($flags =~ m/h/) {
+ if ($flags_string) { $flags_string .= " / "; }
+ $flags_string = "<link linkend=\"G-SIGNAL-NO-HOOKS:CAPS\"><literal>No Hooks</literal></link>";
+ }
+ }
+
+ if ($flags_string)
+ {
+ $synop .= ": $flags_string\n";
+
+ $pad = ' ' x (5 + $name_len - length("user_data"));
+ $desc .= "$pad : $flags_string</programlisting>\n";
+ }
+ else
+ {
+ $synop .= "\n";
+ $desc .= "</programlisting>\n";
+ }
+
+ $desc .= &MakeDeprecationNote($symbol);
+
+ my $parameters = &OutputParamDescriptions ("SIGNAL", $symbol);
+ my $parameters_output = 0;
+
+ $AllSymbols{$symbol} = 1;
+ if (defined ($SymbolDocs{$symbol})) {
+ my $symbol_docs = &ExpandAbbreviations($symbol, $SymbolDocs{$symbol});
+
+ # Try to insert the parameter table at the author's desired
+ # position. Otherwise we need to tag it onto the end.
+ if ($symbol_docs =~ s/<!--PARAMETERS-->/$parameters/) {
+ $parameters_output = 1;
+ }
+ $desc .= $symbol_docs;
+
+ if (!IsEmptyDoc($SymbolDocs{$symbol})) {
+ $AllDocumentedSymbols{$symbol} = 1;
+ }
+ }
+
+ if ($parameters_output == 0) {
+ $desc .= $parameters;
+ }
+ $desc .= OutputSymbolTraits ($symbol);
+ $desc .= "</refsect2>";
+ }
+ }
+ return ($synop, $desc);
+}
+
+
+#############################################################################
+# Function : GetArgs
+# Description : Returns the synopsis and detailed description DocBook output
+# for the Args of a given GtkObject subclass.
+# Arguments : $object - the GtkObject subclass, e.g. 'GtkButton'.
+#############################################################################
+
+sub GetArgs {
+ my ($object) = @_;
+ my $synop = "";
+ my $desc = "";
+ my $child_synop = "";
+ my $child_desc = "";
+ my $style_synop = "";
+ my $style_desc = "";
+
+ my $i;
+ for ($i = 0; $i <= $#ArgObjects; $i++) {
+ if ($ArgObjects[$i] eq $object) {
+ #print "Found arg: $ArgNames[$i]\n";
+ my $name = $ArgNames[$i];
+ my $flags = $ArgFlags[$i];
+ my $flags_string = "";
+ my $kind = "";
+ my $id_sep = "";
+
+ if ($flags =~ m/c/) {
+ $kind = "child property";
+ $id_sep = "c-";
+ }
+ elsif ($flags =~ m/s/) {
+ $kind = "style property";
+ $id_sep = "s-";
+ }
+ else {
+ $kind = "property";
+ }
+
+ # Remember only one colon so we don't clash with signals.
+ my $symbol = "${object}:${name}";
+ # use two dashes and ev. an extra separator here for the same reason.
+ my $id = &CreateValidSGMLID ("$object--$id_sep$name");
+
+ my $type = $ArgTypes[$i];
+ my $type_output;
+ my $range = $ArgRanges[$i];
+ my $range_output = CreateValidSGML ($range);
+ my $default = $ArgDefaults[$i];
+ my $default_output = CreateValidSGML ($default);
+
+ if ($type eq "GtkString") {
+ $type = "char*";
+ }
+ if ($type eq "GtkSignal") {
+ $type = "GtkSignalFunc, gpointer";
+ $type_output = &MakeXRef ("GtkSignalFunc") . ", "
+ . &MakeXRef ("gpointer");
+ } elsif ($type =~ m/^(\w+)\*$/) {
+ $type_output = &MakeXRef ($1, &tagify($1, "type")) . "*";
+ } else {
+ $type_output = &MakeXRef ($type, &tagify($type, "type"));
+ }
+
+ if ($flags =~ m/r/) {
+ $flags_string = "Read";
+ }
+ if ($flags =~ m/w/) {
+ if ($flags_string) { $flags_string .= " / "; }
+ $flags_string .= "Write";
+ }
+ if ($flags =~ m/x/) {
+ if ($flags_string) { $flags_string .= " / "; }
+ $flags_string .= "Construct";
+ }
+ if ($flags =~ m/X/) {
+ if ($flags_string) { $flags_string .= " / "; }
+ $flags_string .= "Construct Only";
+ }
+
+ $AllSymbols{$symbol} = 1;
+ my $blurb;
+ if (defined($SymbolDocs{$symbol}) &&
+ !IsEmptyDoc($SymbolDocs{$symbol})) {
+ $blurb = &ExpandAbbreviations($symbol, $SymbolDocs{$symbol});
+ #print ".. [$SymbolDocs{$symbol}][$blurb]\n";
+ $AllDocumentedSymbols{$symbol} = 1;
+ }
+ else {
+ if (!($ArgBlurbs[$i] eq "")) {
+ $AllDocumentedSymbols{$symbol} = 1;
+ } else {
+ # FIXME: print a warning?
+ #print ".. no description\n";
+ }
+ $blurb = "<para>" . &CreateValidSGML ($ArgBlurbs[$i]) . "</para>";
+ }
+
+ my $pad1 = " " x (24 - length ($name));
+ my $pad2 = " " x (20 - length ($type));
+
+ my $arg_synop = " "<link linkend=\"$id\">$name</link>"$pad1 $type_output $pad2 : $flags_string\n";
+ my $arg_desc = "<refsect2 id=\"$id\" role=\"property\"><title>The <literal>"$name"</literal> $kind</title>\n";
+ $arg_desc .= MakeIndexterms($symbol, $id);
+ $arg_desc .= "\n";
+ $arg_desc .= OutputSymbolExtraLinks($symbol);
+
+ $arg_desc .= "<programlisting> "$name"$pad1 $type_output $pad2 : $flags_string</programlisting>\n";
+ $arg_desc .= &MakeDeprecationNote($symbol);
+ $arg_desc .= $blurb;
+ if ($range ne "") {
+ $arg_desc .= "<para>Allowed values: $range_output</para>\n";
+ }
+ if ($default ne "") {
+ $arg_desc .= "<para>Default value: $default_output</para>\n";
+ }
+ $arg_desc .= OutputSymbolTraits ($symbol);
+ $arg_desc .= "</refsect2>\n";
+
+ if ($flags =~ m/c/) {
+ $child_synop .= $arg_synop;
+ $child_desc .= $arg_desc;
+ }
+ elsif ($flags =~ m/s/) {
+ $style_synop .= $arg_synop;
+ $style_desc .= $arg_desc;
+ }
+ else {
+ $synop .= $arg_synop;
+ $desc .= $arg_desc;
+ }
+ }
+ }
+ return ($synop, $child_synop, $style_synop, $desc, $child_desc, $style_desc);
+}
+
+
+#############################################################################
+# Function : ReadSourceDocumentation
+# Description : This reads in the documentation embedded in comment blocks
+# in the source code (for Gnome).
+#
+# Parameter descriptions override any in the template files.
+# Function descriptions are placed before any description from
+# the template files.
+#
+# It recursively descends the source directory looking for .c
+# files and scans them looking for specially-formatted comment
+# blocks.
+#
+# Arguments : $source_dir - the directory to scan.
+#############m###############################################################
+
+sub ReadSourceDocumentation {
+ my ($source_dir) = @_;
+ my ($file, $dir, @suffix_list, $suffix);
+
+ # prepend entries from @SOURCE_DIR
+ for my $dir (@SOURCE_DIRS) {
+ # Check if the filename is in the ignore list.
+ if ($source_dir =~ m%^\Q$dir\E/(.*)$% and $IGNORE_FILES =~ m/(\s|^)\Q$1\E(\s|$)/) {
+ @TRACE@("Skipping source directory: $source_dir");
+ return;
+ }
+ }
+
+ @TRACE@("Scanning source directory: $source_dir");
+
+ # This array holds any subdirectories found.
+ my (@subdirs) = ();
+
+ @suffix_list = split (/,/, $SOURCE_SUFFIXES);
+
+ opendir (SRCDIR, $source_dir)
+ || die "Can't open source directory $source_dir: $!";
+
+ foreach $file (readdir (SRCDIR)) {
+ if ($file =~ /^\./) {
+ next;
+ } elsif (-d "$source_dir/$file") {
+ push (@subdirs, $file);
+ } elsif (@suffix_list) {
+ foreach $suffix (@suffix_list) {
+ if ($file =~ m/\.\Q${suffix}\E$/) {
+ &ScanSourceFile ("$source_dir/$file");
+ }
+ }
+ } elsif ($file =~ m/\.[ch]$/) {
+ &ScanSourceFile ("$source_dir/$file");
+ }
+ }
+ closedir (SRCDIR);
+
+ # Now recursively scan the subdirectories.
+ foreach $dir (@subdirs) {
+ &ReadSourceDocumentation ("$source_dir/$dir");
+ }
+}
+
+
+#############################################################################
+# Function : ScanSourceFile
+# Description : Scans one source file looking for specially-formatted comment
+# blocks. Later &MergeSourceDocumentation is used to merge any
+# documentation found with the documentation already read in
+# from the template files.
+#
+# Arguments : $file - the file to scan.
+#############################################################################
+
+sub ScanSourceFile {
+ my ($file) = @_;
+ my $basename;
+
+ # prepend entries from @SOURCE_DIR
+ for my $dir (@SOURCE_DIRS) {
+ # Check if the filename is in the ignore list.
+ if ($file =~ m%^\Q$dir\E/(.*)$% and $IGNORE_FILES =~ m/(\s|^)\Q$1\E(\s|$)/) {
+ @TRACE@("Skipping source file: $file");
+ return;
+ }
+ }
+
+ if ($file =~ m/^.*[\/\\]([^\/\\]*)$/) {
+ $basename = $1;
+ } else {
+ &LogWarning ($file, 1, "Can't find basename for this filename.");
+ $basename = $file;
+ }
+
+ # Check if the basename is in the list of files to ignore.
+ if ($IGNORE_FILES =~ m/(\s|^)\Q${basename}\E(\s|$)/) {
+ @TRACE@("Skipping source file: $file");
+ return;
+ }
+
+ @TRACE@("Scanning source file: $file");
+
+ open (SRCFILE, $file)
+ || die "Can't open $file: $!";
+ my $in_comment_block = 0;
+ my $symbol;
+ my ($in_description, $in_return, $in_since, $in_stability, $in_deprecated);
+ my ($description, $return_desc, $return_start, $return_style);
+ my ($since_desc, $stability_desc, $deprecated_desc);
+ my $current_param;
+ my $ignore_broken_returns;
+ my @params;
+ while (<SRCFILE>) {
+ # Look for the start of a comment block.
+ if (!$in_comment_block) {
+ if (m%^\s*/\*.*\*/%) {
+ #one-line comment - not gtkdoc
+ } elsif (m%^\s*/\*\*\s%) {
+ #print "Found comment block start\n";
+
+ $in_comment_block = 1;
+
+ # Reset all the symbol data.
+ $symbol = "";
+ $in_description = 0;
+ $in_return = 0;
+ $in_since = 0;
+ $in_deprecated = 0;
+ $in_stability = 0;
+ $description = "";
+ $return_desc = "";
+ $return_style = "";
+ $since_desc = "";
+ $deprecated_desc = "";
+ $stability_desc = "";
+ $current_param = -1;
+ $ignore_broken_returns = 0;
+ @params = ();
+ }
+ next;
+ }
+
+ # We're in a comment block. Check if we've found the end of it.
+ if (m%^\s*\*+/%) {
+ if (!$symbol) {
+ # maybe its not even meant to be a gtk-doc comment?
+ &LogWarning ($file, $., "Symbol name not found at the start of the comment block.");
+ } else {
+ # Add the return value description onto the end of the params.
+ if ($return_desc) {
+ push (@params, "Returns");
+ push (@params, $return_desc);
+ if ($return_style eq 'broken') {
+ &LogWarning ($file, $., "Free-form return value description in $symbol. Use `Returns:' to avoid ambiguities.");
+ }
+ }
+ # Convert special SGML characters
+ $description = &ConvertSGMLChars ($symbol, $description);
+ my $k;
+ for ($k = 1; $k <= $#params; $k += $PARAM_FIELD_COUNT) {
+ $params[$k] = &ConvertSGMLChars ($symbol, $params[$k]);
+ }
+
+ # Handle Section docs
+ if ($symbol =~ m/SECTION:\s*(.*)/) {
+ my $real_symbol=$1;
+ my $key;
+
+ if (scalar %KnownSymbols) {
+ if ((! defined($KnownSymbols{"$TMPL_DIR/$real_symbol:Long_Description"})) || $KnownSymbols{"$TMPL_DIR/$real_symbol:Long_Description"} != 1) {
+ &LogWarning ($file, $., "Section $real_symbol is not defined in the $MODULE-section.txt file.");
+ }
+ }
+
+ #print "SECTION DOCS found in source for : '$real_symbol'\n";
+ $ignore_broken_returns = 1;
+ for ($k = 0; $k <= $#params; $k += $PARAM_FIELD_COUNT) {
+ #print " '".$params[$k]."'\n";
+ $params[$k] = "\L$params[$k]";
+ undef $key;
+ if ($params[$k] eq "short_description") {
+ $key = "$TMPL_DIR/$real_symbol:Short_Description";
+ } elsif ($params[$k] eq "see_also") {
+ $key = "$TMPL_DIR/$real_symbol:See_Also";
+ } elsif ($params[$k] eq "title") {
+ $key = "$TMPL_DIR/$real_symbol:Title";
+ } elsif ($params[$k] eq "stability") {
+ $key = "$TMPL_DIR/$real_symbol:Stability_Level";
+ } elsif ($params[$k] eq "section_id") {
+ $key = "$TMPL_DIR/$real_symbol:Section_Id";
+ } elsif ($params[$k] eq "include") {
+ $key = "$TMPL_DIR/$real_symbol:Include";
+ } elsif ($params[$k] eq "image") {
+ $key = "$TMPL_DIR/$real_symbol:Image";
+ }
+ if (defined($key)) {
+ $SourceSymbolDocs{$key}=$params[$k+1];
+ $SourceSymbolSourceFile{$key} = $file;
+ $SourceSymbolSourceLine{$key} = $.;
+ }
+ }
+ $SourceSymbolDocs{"$TMPL_DIR/$real_symbol:Long_Description"}=$description;
+ $SourceSymbolSourceFile{"$TMPL_DIR/$real_symbol:Long_Description"} = $file;
+ $SourceSymbolSourceLine{"$TMPL_DIR/$real_symbol:Long_Description"} = $.;
+ #$SourceSymbolTypes{$symbol} = "SECTION";
+ } else {
+ #print "SYMBOL DOCS found in source for : '$symbol' ",length($description), "\n";
+ $SourceSymbolDocs{$symbol} = $description;
+ $SourceSymbolParams{$symbol} = [ @params ];
+ # FIXME $SourceSymbolTypes{$symbol} = "STRUCT,SIGNAL,ARG,FUNCTION,MACRO";
+ #if (defined $DeclarationTypes{$symbol}) {
+ # $SourceSymbolTypes{$symbol} = $DeclarationTypes{$symbol}
+ #}
+ $SourceSymbolSourceFile{$symbol} = $file;
+ $SourceSymbolSourceLine{$symbol} = $.;
+ }
+
+ if ($since_desc) {
+ ($since_desc, my @extra_lines) = split ("\n", $since_desc);
+ $since_desc =~ s/^\s+//;
+ $since_desc =~ s/\s+$//;
+ #print "Since($symbol) : [$since_desc]\n";
+ $Since{$symbol} = &ConvertSGMLChars ($symbol, $since_desc);
+ if(scalar @extra_lines) {
+ &LogWarning ($file, $., "multi-line since docs found");
+ }
+ }
+
+ if ($stability_desc) {
+ $stability_desc = &ParseStabilityLevel($stability_desc, $file, $., "Stability level for $symbol");
+ $StabilityLevel{$symbol} = &ConvertSGMLChars ($symbol, $stability_desc);
+ }
+
+ if ($deprecated_desc) {
+ if (exists $Deprecated{$symbol}) {
+ }
+ else {
+ # don't warn for signals and properties
+ #if ($symbol !~ m/::?(.*)/) {
+ if (defined $DeclarationTypes{$symbol}) {
+ &LogWarning ($file, $.,
+ "$symbol is deprecated in the inline comments, but no deprecation guards were found around the declaration.".
+ " (See the --deprecated-guards option for gtkdoc-scan.)");
+ }
+ }
+ $Deprecated{$symbol} = &ConvertSGMLChars ($symbol, $deprecated_desc);
+ }
+ }
+
+ $in_comment_block = 0;
+ next;
+ }
+
+ # Get rid of ' * ' at start of every line in the comment block.
+ s%^\s*\*\s?%%;
+ # But make sure we don't get rid of the newline at the end.
+ if (!$_) {
+ $_ = "\n";
+ }
+ #print "DEBUG: scanning :$_";
+
+ # If we haven't found the symbol name yet, look for it.
+ if (!$symbol) {
+ if (m%^\s*(SECTION:\s*\S+)%) {
+ $symbol = $1;
+ #print "SECTION DOCS found in source for : '$symbol'\n";
+ $ignore_broken_returns = 1;
+ } elsif (m%^\s*([\w:-]*\w)\s*:?\s*(\([a-z ]+\)\s*)*$%) {
+ $symbol = $1;
+ #print "SYMBOL DOCS found in source for : '$symbol'\n";
+ }
+ next;
+ }
+
+ # FIXME: flip this around
+ # instead of repeating the other parts, just have them once and
+ # do if(!$in_return) { ... }
+ # also maybe have in_part="description,return,since,deprecated,stability,..."
+
+ # If we're in the return value description, add it to the end.
+ if ($in_return) {
+ # If we find another valid returns line, we assume that the first
+ # one was really part of the description.
+ if (m/^\s*(returns:|return\s+value:)/i) {
+ if ($return_style eq 'broken') {
+ $description .= $return_start . $return_desc;
+ }
+ $return_start = $1;
+ if ($return_style eq 'sane') {
+ &LogWarning ($file, $., "Multiple Returns for $symbol.");
+ }
+ $return_style = 'sane';
+ $ignore_broken_returns = 1;
+ $return_desc = $';
+ } elsif (!$ignore_broken_returns && m/^\s*(returns\b\s*)/i) {
+ $description .= $return_start . $return_desc;
+ $return_start = $1;
+ $return_style = 'broken';
+ $return_desc = $';
+ } elsif (m%^\s*since:%i) {
+ $since_desc = $';
+ $in_since = 1;
+ $in_return = 0;
+ } elsif (m%^\s*stability:%i) {
+ $stability_desc = $';
+ $in_stability = 1;
+ $in_return = 0;
+ } elsif (m%^\s*deprecated:%i) {
+ $deprecated_desc = $';
+ $in_deprecated = 1;
+ $in_return = 0;
+ } else {
+ $return_desc .= $_;
+ }
+ next;
+ }
+
+ if ($in_since) {
+ if (m/^\s*(returns:|return\s+value:)/i) {
+ if ($return_style eq 'broken') {
+ $description .= $return_start . $return_desc;
+ }
+ $return_start = $1;
+ if ($return_style eq 'sane') {
+ &LogWarning ($file, $., "Multiple Returns for $symbol.");
+ }
+ $return_style = 'sane';
+ $ignore_broken_returns = 1;
+ $return_desc = $';
+ $in_return = 1;
+ $in_since = 0;
+ } elsif (!$ignore_broken_returns && m/^\s*(returns\b\s*)/i) {
+ $return_start = $1;
+ $return_style = 'broken';
+ $return_desc = $';
+ $in_return = 1;
+ $in_since = 0;
+ } elsif (m%^\s*deprecated:%i) {
+ $deprecated_desc = $';
+ $in_deprecated = 1;
+ $in_since = 0;
+ } elsif (m%^\s*stability:%i) {
+ $stability_desc = $';
+ $in_stability = 1;
+ $in_since = 0;
+ } else {
+ $since_desc .= $_;
+ }
+ next;
+ }
+
+ if ($in_stability) {
+ if (m/^\s*(returns:|return\s+value:)/i) {
+ if ($return_style eq 'broken') {
+ $description .= $return_start . $return_desc;
+ }
+ $return_start = $1;
+ if ($return_style eq 'sane') {
+ &LogWarning ($file, $., "Multiple Returns for $symbol.");
+ }
+ $return_style = 'sane';
+ $ignore_broken_returns = 1;
+ $return_desc = $';
+ $in_return = 1;
+ $in_stability = 0;
+ } elsif (!$ignore_broken_returns && m/^\s*(returns\b\s*)/i) {
+ $return_start = $1;
+ $return_style = 'broken';
+ $return_desc = $';
+ $in_return = 1;
+ $in_stability = 0;
+ } elsif (m%^\s*deprecated:%i) {
+ $deprecated_desc = $';
+ $in_deprecated = 1;
+ $in_stability = 0;
+ } elsif (m%^\s*since:%i) {
+ $since_desc = $';
+ $in_since = 1;
+ $in_stability = 0;
+ } else {
+ $stability_desc .= $_;
+ }
+ next;
+ }
+
+ if ($in_deprecated) {
+ if (m/^\s*(returns:|return\s+value:)/i) {
+ if ($return_style eq 'broken') {
+ $description .= $return_start . $return_desc;
+ }
+ $return_start = $1;
+ if ($return_style eq 'sane') {
+ &LogWarning ($file, $., "Multiple Returns for $symbol.");
+ }
+ $return_style = 'sane';
+ $ignore_broken_returns = 1;
+ $return_desc = $';
+ $in_return = 1;
+ $in_deprecated = 0;
+ } elsif (!$ignore_broken_returns && m/^\s*(returns\b\s*)/i) {
+ $return_start = $1;
+ $return_style = 'broken';
+ $return_desc = $';
+ $in_return = 1;
+ $in_deprecated = 0;
+ } elsif (m%^\s*since:%i) {
+ $since_desc = $';
+ $in_since = 1;
+ $in_deprecated = 0;
+ } elsif (m%^\s*stability:%i) {
+ $stability_desc = $';
+ $in_stability = 1;
+ $in_deprecated = 0;
+ } else {
+ $deprecated_desc .= $_;
+ }
+ next;
+ }
+
+ # If we're in the description part, check for the 'Returns:' line.
+ # If that isn't found, add the text to the end.
+ if ($in_description) {
+ # Get rid of 'Description:'
+ s%^\s*Description:%%;
+
+ if (m/^\s*(returns:|return\s+value:)/i) {
+ if ($return_style eq 'broken') {
+ $description .= $return_start . $return_desc;
+ }
+ $return_start = $1;
+ if ($return_style eq 'sane') {
+ &LogWarning ($file, $., "Multiple Returns for $symbol.");
+ }
+ $return_style = 'sane';
+ $ignore_broken_returns = 1;
+ $return_desc = $';
+ $in_return = 1;
+ next;
+ } elsif (!$ignore_broken_returns && m/^\s*(returns\b\s*)/i) {
+ $return_start = $1;
+ $return_style = 'broken';
+ $return_desc = $';
+ $in_return = 1;
+ next;
+ } elsif (m%^\s*since:%i) {
+ $since_desc = $';
+ $in_since = 1;
+ next;
+ } elsif (m%^\s*deprecated:%i) {
+ $deprecated_desc = $';
+ $in_deprecated = 1;
+ next;
+ } elsif (m%^\s*stability:%i) {
+ $stability_desc = $';
+ $in_stability = 1;
+ next;
+ }
+
+ $description .= $_;
+ next;
+ }
+
+ # We must be in the parameters. Check for the empty line below them.
+ if (m%^\s*$%) {
+ $in_description = 1;
+ next;
+ }
+
+ # Look for a parameter name.
+ if (m%^\s*@(\S+)\s*:\s*%) {
+ my $param_name = $1;
+ my $param_desc = $';
+
+ #print "Found parameter: $param_name\n";
+ # Allow varargs variations
+ if ($param_name =~ m/^.*\.\.\.$/) {
+ $param_name = "...";
+ }
+ if ("\L$param_name" eq "returns") {
+ $return_style = 'sane';
+ $ignore_broken_returns = 1;
+ }
+ @TRACE@("Found param for symbol $symbol : '$param_name'= '$_'");
+
+ push (@params, $param_name);
+ push (@params, $param_desc);
+ $current_param += $PARAM_FIELD_COUNT;
+ next;
+ }
+
+ # We must be in the middle of a parameter description, so add it on
+ # to the last element in @params.
+ if ($current_param == -1) {
+ &LogWarning ($file, $., "Parsing comment block file : parameter expected.");
+ } else {
+ $params[$#params] .= $_;
+ }
+ }
+ close (SRCFILE);
+}
+
+#############################################################################
+# Function : OutputMissingDocumentation
+# Description : Outputs report of documentation coverage to a file
+#
+# Arguments : none
+#############################################################################
+
+sub OutputMissingDocumentation {
+ my $old_undocumented_file = "$ROOT_DIR/$MODULE-undocumented.txt";
+ my $new_undocumented_file = "$ROOT_DIR/$MODULE-undocumented.new";
+
+ my $n_documented = 0;
+ my $n_incomplete = 0;
+ my $total = 0;
+ my $symbol;
+ my $percent;
+ my $msg;
+ my $buffer = "";
+ my $buffer_deprecated = "";
+ my $buffer_descriptions = "";
+
+ open(UNDOCUMENTED, ">$new_undocumented_file")
+ || die "Can't create $new_undocumented_file";
+
+ foreach $symbol (sort (keys (%AllSymbols))) {
+ # FIXME: should we print LogWarnings for undocumented stuff?
+ # DEBUG
+ #my $ssfile = &GetSymbolSourceFile($symbol);
+ #my $ssline = &GetSymbolSourceLine($symbol);
+ #my $location = "defined at " . (defined($ssfile)?$ssfile:"?") . ":" . (defined($ssline)?$ssline:"0") . "\n";
+ # DEBUG
+ if ($symbol !~ /:(Title|Long_Description|Short_Description|See_Also|Stability_Level|Include|Section_Id|Image)/) {
+ $total++;
+ if (exists ($AllDocumentedSymbols{$symbol})) {
+ $n_documented++;
+ if (exists ($AllIncompleteSymbols{$symbol})) {
+ $n_incomplete++;
+ $buffer .= $symbol . " (" . $AllIncompleteSymbols{$symbol} . ")\n";
+ #$buffer .= "\t0: ".$location;
+ }
+ } elsif (exists $Deprecated{$symbol}) {
+ if (exists ($AllIncompleteSymbols{$symbol})) {
+ $n_incomplete++;
+ $buffer_deprecated .= $symbol . " (" . $AllIncompleteSymbols{$symbol} . ")\n";
+ #$buffer .= "\t1a: ".$location;
+ } else {
+ $buffer_deprecated .= $symbol . "\n";
+ #$buffer .= "\t1b: ".$location;
+ }
+ } else {
+ if (exists ($AllIncompleteSymbols{$symbol})) {
+ $n_incomplete++;
+ $buffer .= $symbol . " (" . $AllIncompleteSymbols{$symbol} . ")\n";
+ #$buffer .= "\t2a: ".$location;
+ } else {
+ $buffer .= $symbol . "\n";
+ #$buffer .= "\t2b: ".$location;
+ }
+ }
+ } elsif ($symbol =~ /:(Long_Description|Short_Description)/) {
+ $total++;
+ #my $len1=(exists($SymbolDocs{$symbol}))?length($SymbolDocs{$symbol}):-1;
+ #my $len2=(exists($AllDocumentedSymbols{$symbol}))?length($AllDocumentedSymbols{$symbol}):-1;
+ #print "%%%% $symbol : $len1,$len2\n";
+ if (((exists ($SymbolDocs{$symbol})) && (length ($SymbolDocs{$symbol}) > 0))
+ || ((exists ($AllDocumentedSymbols{$symbol})) && (length ($AllDocumentedSymbols{$symbol}) > 0))) {
+ $n_documented++;
+ } else {
+ # cut off the leading namespace ($TMPL_DIR)
+ $symbol =~ m/^.*\/(.*)$/;
+ $buffer_descriptions .= $1 . "\n";
+ }
+ }
+ }
+
+ $buffer .= "\n" . $buffer_deprecated . "\n" . $buffer_descriptions;
+
+ if ($total == 0) {
+ $percent = 100;
+ } else {
+ $percent = ($n_documented / $total) * 100.0;
+ }
+
+ printf UNDOCUMENTED "%.0f%% symbol docs coverage.\n", $percent;
+ print UNDOCUMENTED "$n_documented symbols documented.\n";
+ print UNDOCUMENTED "$n_incomplete symbols incomplete.\n";
+ print UNDOCUMENTED ($total - $n_documented) . " not documented.\n\n\n";
+
+ print UNDOCUMENTED $buffer;
+ close (UNDOCUMENTED);
+
+ return &UpdateFileIfChanged ($old_undocumented_file, $new_undocumented_file, 0);
+
+ printf "%.0f%% symbol docs coverage", $percent;
+ print "($n_documented symbols documented, $n_incomplete symbols incomplete, " . ($total - $n_documented) . " not documented)\n";
+ print "See $MODULE-undocumented.txt for a list of missing docs.\nThe doc coverage percentage doesn't include intro sections.\n";
+}
+
+
+#############################################################################
+# Function : OutputUndeclaredSymbols
+# Description : Outputs symbols that are listed in the section file, but not
+# declaration is found in the sources
+#
+# Arguments : none
+#############################################################################
+
+sub OutputUndeclaredSymbols {
+ my $old_undeclared_file = "$ROOT_DIR/$MODULE-undeclared.txt";
+ my $new_undeclared_file = "$ROOT_DIR/$MODULE-undeclared.new";
+
+ open(UNDECLARED, ">$new_undeclared_file")
+ || die "Can't create $new_undeclared_file";
+
+ if (%UndeclaredSymbols) {
+ print UNDECLARED (join("\n", sort keys %UndeclaredSymbols));
+ print UNDECLARED "\n";
+ print "See $MODULE-undeclared.txt for the list of undeclared symbols.\n"
+ }
+ close(UNDECLARED);
+
+ return &UpdateFileIfChanged ($old_undeclared_file, $new_undeclared_file, 0);
+}
+
+#############################################################################
+# Function : OutputUnusedSymbols
+# Description : Outputs symbols that are documented in comments, but not
+# declared in the sources
+#
+# Arguments : none
+#############################################################################
+
+sub OutputUnusedSymbols {
+ my $num_unused = 0;
+ my $old_unused_file = "$ROOT_DIR/$MODULE-unused.txt";
+ my $new_unused_file = "$ROOT_DIR/$MODULE-unused.new";
+
+ open (UNUSED, ">$new_unused_file")
+ || die "Can't open $new_unused_file";
+ my ($symbol);
+ foreach $symbol (sort keys (%Declarations)) {
+ if (!defined ($DeclarationOutput{$symbol})) {
+ print (UNUSED "$symbol\n");
+ $num_unused++;
+ }
+ }
+ foreach $symbol (sort (keys (%AllUnusedSymbols))) {
+ print (UNUSED "$symbol(" . $AllUnusedSymbols{$symbol} . ")\n");
+ $num_unused++;
+ }
+ close (UNUSED);
+ if ($num_unused != 0) {
+ &LogWarning ($old_unused_file, 1, "$num_unused unused declarations.".
+ "They should be added to $MODULE-sections.txt in the appropriate place.");
+ }
+
+ return &UpdateFileIfChanged ($old_unused_file, $new_unused_file, 0);
+}
+
+
+#############################################################################
+# Function : OutputAllSymbols
+# Description : Outputs list of all symbols to a file
+#
+# Arguments : none
+#############################################################################
+
+sub OutputAllSymbols {
+ my $n_documented = 0;
+ my $total = 0;
+ my $symbol;
+ my $percent;
+ my $msg;
+
+ open (SYMBOLS, ">$ROOT_DIR/$MODULE-symbols.txt")
+ || die "Can't create $ROOT_DIR/$MODULE-symbols.txt: $!";
+
+ foreach $symbol (sort (keys (%AllSymbols))) {
+ print SYMBOLS $symbol . "\n";
+ }
+
+ close (SYMBOLS);
+}
+
+#############################################################################
+# Function : OutputSymbolsWithoutSince
+# Description : Outputs list of all symbols without a since tag to a file
+#
+# Arguments : none
+#############################################################################
+
+sub OutputSymbolsWithoutSince {
+ my $n_documented = 0;
+ my $total = 0;
+ my $symbol;
+ my $percent;
+ my $msg;
+
+ open (SYMBOLS, ">$ROOT_DIR/$MODULE-nosince.txt")
+ || die "Can't create $ROOT_DIR/$MODULE-nosince.txt: $!";
+
+ foreach $symbol (sort (keys (%SourceSymbolDocs))) {
+ if (!defined $Since{$symbol}) {
+ print SYMBOLS $symbol . "\n";
+ }
+ }
+
+ close (SYMBOLS);
+}
+
+
+#############################################################################
+# Function : MergeSourceDocumentation
+# Description : This merges documentation read from a source file into the
+# documentation read in from a template file.
+#
+# Parameter descriptions override any in the template files.
+# Function descriptions are placed before any description from
+# the template files.
+#
+# Arguments : none
+#############################################################################
+
+sub MergeSourceDocumentation {
+ my $symbol;
+ my @Symbols;
+
+ if (scalar %SymbolDocs) {
+ @Symbols=keys (%SymbolDocs);
+ #print "num existing entries: ".(scalar @Symbols)."\n";
+ #print " ",$Symbols[0], " ",$Symbols[1],"\n";
+ }
+ else {
+ # filter scanned declarations, with what we suppress from -sections.txt
+ my %tmp = ();
+ foreach $symbol (keys (%Declarations)) {
+ if (defined($KnownSymbols{$symbol}) && $KnownSymbols{$symbol} == 1) {
+ $tmp{$symbol}=1;
+ }
+ }
+ # , add the rest from -sections.txt
+ foreach $symbol (keys (%KnownSymbols)) {
+ if ($KnownSymbols{$symbol} == 1) {
+ $tmp{$symbol}=1;
+ }
+ }
+ # and add whats found in the source
+ foreach $symbol (keys (%SourceSymbolDocs)) {
+ $tmp{$symbol}=1;
+ }
+ @Symbols = keys (%tmp);
+ #print "num source entries: ".(scalar @Symbols)."\n";
+ }
+ foreach $symbol (@Symbols) {
+ $AllSymbols{$symbol} = 1;
+
+ my $have_tmpl_docs = 0;
+
+ ## see if the symbol is documented in template
+ my $tmpl_doc = defined ($SymbolDocs{$symbol}) ? $SymbolDocs{$symbol} : "";
+ my $check_tmpl_doc =$tmpl_doc;
+ # remove all xml-tags and whitespaces
+ $check_tmpl_doc =~ s/<.*?>//g;
+ $check_tmpl_doc =~ s/\s//g;
+ # anything left ?
+ if ($check_tmpl_doc ne "") {
+ $have_tmpl_docs = 1;
+ #print "## [$check_tmpl_doc]\n";
+ } else {
+ # if the docs have just an empty para, don't merge that.
+ $check_tmpl_doc = $tmpl_doc;
+ $check_tmpl_doc =~ s/(\s|\n)//msg;
+ if ($check_tmpl_doc eq "<para></para>") {
+ $tmpl_doc = "";
+ }
+ }
+
+ if (exists ($SourceSymbolDocs{$symbol})) {
+ my $type = $DeclarationTypes {$symbol};
+
+ #print "merging [$symbol] from source\n";
+
+ my $item = "Parameter";
+ if (defined ($type)) {
+ if ($type eq 'STRUCT') {
+ $item = "Field";
+ } elsif ($type eq 'ENUM') {
+ $item = "Value";
+ } elsif ($type eq 'UNION') {
+ $item = "Field";
+ }
+ } else {
+ $type="SIGNAL";
+ }
+
+ my $src_doc = $SourceSymbolDocs{$symbol};
+ # remove leading and training whitespaces
+ $src_doc =~ s/^\s+//;
+ $src_doc =~ s/\s+$//;
+
+ # Don't output warnings for overridden titles as titles are
+ # automatically generated in the -sections.txt file, and thus they
+ # are often overridden.
+ if ($have_tmpl_docs && $symbol !~ m/:Title$/) {
+ # check if content is different
+ if ($tmpl_doc ne $src_doc) {
+ #print "[$tmpl_doc] [$src_doc]\n";
+ &LogWarning ($SourceSymbolSourceFile{$symbol}, $SourceSymbolSourceLine{$symbol},
+ "Documentation in template ".$SymbolSourceFile{$symbol}.":".$SymbolSourceLine{$symbol}." for $symbol being overridden by inline comments.");
+ }
+ }
+
+ if ($src_doc ne "") {
+ $AllDocumentedSymbols{$symbol} = 1;
+ }
+
+ # Convert <!--PARAMETERS--> with any blank lines around it to
+ # a </para> followed by <!--PARAMETERS--> followed by <para>.
+ $src_doc =~ s%\n+\s*<!--PARAMETERS-->\s*\n+%\n</para>\n<!--PARAMETERS-->\n<para>\n%g;
+
+ # Do not add <para> to nothing, it breaks missing docs checks.
+ my $src_doc_para = "";
+ if ($src_doc ne "") {
+ # Expand markdown (and do paragraphs)
+ $src_doc_para = &ConvertMarkDown ($src_doc, $symbol);
+ ## fixup xml markup
+ # FIXME: this is questionable, as we can't make assumtions on the content really
+ #$src_doc_para =~ s%^<para>\n(<refsect[1-9])%$1%gms;
+ #$src_doc_para =~ s%^<para>\n<para>%<para>%gms;
+ #$src_doc_para =~ s%(</refsect[1-9]>)\n</para>$%$1%gms;
+ #print "$symbol : [$src_doc][$src_doc_para]\n";
+ }
+
+ if ($symbol =~ m/$TMPL_DIR\/.+:Long_Description/) {
+ $SymbolDocs{$symbol} = "$src_doc_para$tmpl_doc";
+ } elsif ($symbol =~ m/$TMPL_DIR\/.+:.+/) {
+ # For the title/summary/see also section docs we don't want to
+ # add any <para> tags.
+ $SymbolDocs{$symbol} = "$src_doc"
+ } else {
+ $SymbolDocs{$symbol} = "$src_doc_para$tmpl_doc";
+ }
+
+ # merge parameters
+ if ($symbol =~ m/.*::.*/) {
+ # For signals we prefer the param names from the source docs,
+ # since the ones from the templates are likely to contain the
+ # artificial argn names which are generated by gtkdoc-scangobj.
+ $SymbolParams{$symbol} = $SourceSymbolParams{$symbol};
+ # FIXME: we need to check for empty docs here as well!
+ } else {
+ # The templates contain the definitive parameter names and order,
+ # so we will not change that. We only override the actual text.
+ my $tmpl_params = $SymbolParams{$symbol};
+ if (!defined ($tmpl_params)) {
+ #print "No merge needed for $symbol\n";
+ $SymbolParams{$symbol} = $SourceSymbolParams{$symbol};
+ # FIXME: we still like to get the number of params and merge
+ # 1) we would noticed that params have been removed/renamed
+ # 2) we would catch undocumented params
+ # params are not (yet) exported in -decl.txt so that we
+ # could easily grab them :/
+ } else {
+ my $params = $SourceSymbolParams{$symbol};
+ my $j;
+ #print "Merge needed for $symbol, tmpl_params: ",$#$tmpl_params,", source_params: ",$#$params," \n";
+ for ($j = 0; $j <= $#$tmpl_params; $j += $PARAM_FIELD_COUNT) {
+ my $tmpl_param_name = $$tmpl_params[$j];
+
+ # Try to find the param in the source comment documentation.
+ my $found = 0;
+ my $k;
+ #print " try merge param $tmpl_param_name\n";
+ for ($k = 0; $k <= $#$params; $k += $PARAM_FIELD_COUNT) {
+ my $param_name = $$params[$k];
+ my $param_desc = $$params[$k + 1];
+
+ #print " test param $param_name\n";
+ # We accept changes in case, since the Gnome source
+ # docs contain a lot of these.
+ if ("\L$param_name" eq "\L$tmpl_param_name") {
+ $found = 1;
+
+ # Override the description.
+ $$tmpl_params[$j + 1] = $param_desc;
+
+ # Set the name to "" to mark it as used.
+ $$params[$k] = "";
+ last;
+ }
+ }
+
+ # If it looks like the parameters are there, but not
+ # in the right place, try to explain a bit better.
+ if ((!$found) && ($src_doc =~ m/\@$tmpl_param_name:/)) {
+ &LogWarning (&GetSymbolSourceFile ($symbol), &GetSymbolSourceLine($symbol),
+ "Parameters for $symbol must start on the line immediately after the function or macro name.");
+ }
+ }
+
+ # Now we output a warning if parameters have been described which
+ # do not exist.
+ for ($j = 0; $j <= $#$params; $j += $PARAM_FIELD_COUNT) {
+ my $param_name = $$params[$j];
+ if ($param_name) {
+ # the template builder cannot detect if a macro returns
+ # a result or not
+ if(($type eq "MACRO") && ($param_name eq "Returns")) {
+ # FIXME: do we need to add it then to tmpl_params[] ?
+ my $num=$#$tmpl_params;
+ #print " adding Returns: to macro docs for $symbol.\n";
+ $$tmpl_params[$num+1]="Returns";
+ $$tmpl_params[$num+2]=$$params[$j+1];
+ next;
+ }
+ &LogWarning (&GetSymbolSourceFile ($symbol), &GetSymbolSourceLine($symbol),
+ "$item described in source code comment block but does not exist. $type: $symbol $item: $param_name.");
+ }
+ }
+ }
+ }
+ } else {
+ if ($have_tmpl_docs) {
+ $AllDocumentedSymbols{$symbol} = 1;
+ #print "merging [$symbol] from template\n";
+ }
+ else {
+ #print "[$symbol] undocumented\n";
+ }
+ }
+
+ # if this symbol is documented, check if docs are complete
+ $check_tmpl_doc = defined ($SymbolDocs{$symbol}) ? $SymbolDocs{$symbol} : "";
+ # remove all xml-tags and whitespaces
+ $check_tmpl_doc =~ s/<.*?>//g;
+ $check_tmpl_doc =~ s/\s//g;
+ if ($check_tmpl_doc ne "") {
+ my $tmpl_params = $SymbolParams{$symbol};
+ if (defined ($tmpl_params)) {
+ my $type = $DeclarationTypes {$symbol};
+
+ my $item = "Parameter";
+ if (defined ($type)) {
+ if ($type eq 'STRUCT') {
+ $item = "Field";
+ } elsif ($type eq 'ENUM') {
+ $item = "Value";
+ } elsif ($type eq 'UNION') {
+ $item = "Field";
+ }
+ } else {
+ $type="SIGNAL";
+ }
+
+ #print "Check param docs for $symbol, tmpl_params: ",$#$tmpl_params," entries, type=$type\n";
+
+ if ($#$tmpl_params > 0) {
+ my $j;
+ for ($j = 0; $j <= $#$tmpl_params; $j += $PARAM_FIELD_COUNT) {
+ # Output a warning if the parameter is empty and
+ # remember for stats.
+ my $tmpl_param_name = $$tmpl_params[$j];
+ my $tmpl_param_desc = $$tmpl_params[$j + 1];
+ if ($tmpl_param_name ne "void" && $tmpl_param_desc !~ m/\S/) {
+ if (exists ($AllIncompleteSymbols{$symbol})) {
+ $AllIncompleteSymbols{$symbol}.=", ".$tmpl_param_name;
+ } else {
+ $AllIncompleteSymbols{$symbol}=$tmpl_param_name;
+ }
+ &LogWarning (&GetSymbolSourceFile ($symbol), &GetSymbolSourceLine($symbol),
+ "$item description for $symbol"."::"."$tmpl_param_name is missing in source code comment block.");
+ }
+ }
+ }
+ else {
+ if ($#$tmpl_params == 0) {
+ $AllIncompleteSymbols{$symbol}="<items>";
+ &LogWarning (&GetSymbolSourceFile ($symbol), &GetSymbolSourceLine($symbol),
+ "$item descriptions for $symbol are missing in source code comment block.");
+ }
+ # $#$tmpl_params==-1 means we don't know about parameters
+ # this unfortunately does not tell if there should be some
+ }
+ }
+ }
+ }
+ #print "num doc entries: ".(scalar %SymbolDocs)."\n";
+}
+
+#############################################################################
+# Function : IsEmptyDoc
+# Description : Check if a doc-string is empty. Its also regarded as empty if
+# it only consist of whitespace or e.g. FIXME.
+# Arguments : the doc-string
+#############################################################################
+sub IsEmptyDoc {
+ my ($doc) = @_;
+
+ if ($doc =~ /^\s*$/) {
+ return 1;
+ }
+
+ if ($doc =~ /^\s*<para>\s*(FIXME)?\s*<\/para>\s*$/) {
+ return 1;
+ }
+
+ return 0;
+}
+
+
+#############################################################################
+# Function : ConvertMarkDown
+# Description : Converts mark down syntax to the respective docbook, but only
+# outside CDATA and <programlisting> tags.
+# http://de.wikipedia.org/wiki/Markdown
+# Code snippets have been takesn from
+# http://daringfireball.net/projects/markdown/
+# Copyright (c) 2004 John Gruber
+# Arguments : the doc-string, the symbol name
+#############################################################################
+my $md_in_refsect2;
+sub ConvertMarkDown {
+ my ($text, $symbol) = @_;
+
+ # reset state
+ $md_in_refsect2=0;
+
+ # convert
+ $text = &ModifyXMLElements ($text, $symbol,
+ "<!\\[CDATA\\[|<programlisting[^>]*>|\\|\\[",
+ \&ConvertMarkDownEndTag,
+ \&ConvertMarkDownCallback);
+ # encapsulate and terminate
+ $text = "<para>\n$text\n</para>";
+ if ($md_in_refsect2==1) {
+ $text = "$text</refsect2>"
+ }
+ return $text
+}
+
+sub ConvertMarkDownEndTag {
+ if ($_[0] eq "<!\[CDATA\[") {
+ return "]]>";
+ } elsif ($_[0] eq "|[") {
+ return "]\\|";
+ } else {
+ return "</programlisting>";
+ }
+}
+
+sub ConvertMarkDownCallback {
+ my ($text, $symbol, $tag) = @_;
+
+ # If we're not in CDATA or a <programlisting> we convert blank lines so
+ # they start a new <para>.
+ if ($tag eq "") {
+ my $end_of_para="";
+ my $end_of_section="";
+ my $have_list=0;
+
+ $end_of_para = "$end_of_para</para>";
+ $end_of_section = "$end_of_section</para>";
+ if ($md_in_refsect2==1) {
+ $end_of_section= "$end_of_section</refsect2>";
+ }
+
+ # Setext-style headers:
+ # Header 1
+ # ========
+ #
+ # Header 2
+ # --------
+ #
+ if($text =~ s%^\n(.+)[ \t]*\n=+[ \t]*\n\n%$end_of_section<refsect2><title>$1</title><para>\n%gm) {
+ $md_in_refsect2=1;
+ }
+
+ # atx-style headers:
+ # # Header 1
+ # ## Header 2
+ # ## Header 2 with closing hashes ##
+ # ...
+ # ###### Header 6
+ #
+ if($text =~ s%^\n\#[ \t]*(.+?)[ \t]*\#\n+%$end_of_section<refsect2><title>$1</title><para>\n%gm) {
+ $md_in_refsect2=1;
+ }
+
+ # Simple (unnested) lists:
+ # Please select:
+ # - item 1
+ # - item 2 with loooong
+ # description
+ # - item 3
+ #
+ # New paragraph.
+ $text.="\n"; # we need a new line to avoid too complicated matching rules below
+ if ($text =~ s%(?<=\n)-\s+(.+?)(?=(?:\n-\s+)|(?:\n\n)|(?:\n$))%<listitem><para>$1</para></listitem>%gs) {
+ $text =~ s%(?<!</listitem>)(\n<listitem>)%\n<itemizedlist>$1%g;
+ $text =~ s%(</listitem>\n)(?!<listitem>)%$1</itemizedlist>\n%g;
+ }
+ chomp $text;
+
+ # Make Paragraphs on blank lines
+ $text =~ s%\n{2,}%\n$end_of_para\n<para>\n%g;
+ }
+
+ return $text;
+}
+
+
+#############################################################################
+# LIBRARY FUNCTIONS - These functions are used in both gtkdoc-mkdb and
+# gtkdoc-mktmpl and should eventually be moved to a
+# separate library.
+#############################################################################
+
+#############################################################################
+# Function : ReadDeclarationsFile
+# Description : This reads in a file containing the function/macro/enum etc.
+# declarations.
+#
+# Note that in some cases there are several declarations with
+# the same name, e.g. for conditional macros. In this case we
+# set a flag in the %DeclarationConditional hash so the
+# declaration is not shown in the docs.
+#
+# If a macro and a function have the same name, e.g. for
+# gtk_object_ref, the function declaration takes precedence.
+#
+# Some opaque structs are just declared with 'typedef struct
+# _name name;' in which case the declaration may be empty.
+# The structure may have been found later in the header, so
+# that overrides the empty declaration.
+#
+# Arguments : $file - the declarations file to read
+# $override - if declarations in this file should override
+# any current declaration.
+#############################################################################
+
+sub ReadDeclarationsFile {
+ my ($file, $override) = @_;
+
+ if ($override == 0) {
+ %Declarations = ();
+ %DeclarationTypes = ();
+ %DeclarationConditional = ();
+ %DeclarationOutput = ();
+ }
+
+ open (INPUT, $file)
+ || die "Can't open $file: $!";
+ my $declaration_type = "";
+ my $declaration_name;
+ my $declaration;
+ my $is_deprecated = 0;
+ while (<INPUT>) {
+ if (!$declaration_type) {
+ if (m/^<([^>]+)>/) {
+ $declaration_type = $1;
+ $declaration_name = "";
+ #print "Found declaration: $declaration_type\n";
+ $declaration = "";
+ }
+ } else {
+ if (m%^<NAME>(.*)</NAME>%) {
+ $declaration_name = $1;
+ } elsif (m%^<DEPRECATED/>%) {
+ $is_deprecated = 1;
+ } elsif (m%^</$declaration_type>%) {
+ #print "Found end of declaration: $declaration_name\n";
+ # Check that the declaration has a name
+ if ($declaration_name eq "") {
+ print "ERROR: $declaration_type has no name $file:$.\n";
+ }
+
+ # If the declaration is an empty typedef struct _XXX XXX
+ # set the flag to indicate the struct has a typedef.
+ if ($declaration_type eq 'STRUCT'
+ && $declaration =~ m/^\s*$/) {
+ #print "Struct has typedef: $declaration_name\n";
+ $StructHasTypedef{$declaration_name} = 1;
+ }
+
+ # Check if the symbol is already defined.
+ if (defined ($Declarations{$declaration_name})
+ && $override == 0) {
+ # Function declarations take precedence.
+ if ($DeclarationTypes{$declaration_name} eq 'FUNCTION') {
+ # Ignore it.
+ } elsif ($declaration_type eq 'FUNCTION') {
+ if ($is_deprecated) {
+ $Deprecated{$declaration_name} = "";
+ }
+ $Declarations{$declaration_name} = $declaration;
+ $DeclarationTypes{$declaration_name} = $declaration_type;
+ } elsif ($DeclarationTypes{$declaration_name}
+ eq $declaration_type) {
+ # If the existing declaration is empty, or is just a
+ # forward declaration of a struct, override it.
+ if ($declaration_type eq 'STRUCT') {
+ if ($Declarations{$declaration_name} =~ m/^\s*(struct\s+\w+\s*;)?\s*$/) {
+ if ($is_deprecated) {
+ $Deprecated{$declaration_name} = "";
+ }
+ $Declarations{$declaration_name} = $declaration;
+ } elsif ($declaration =~ m/^\s*(struct\s+\w+\s*;)?\s*$/) {
+ # Ignore an empty or forward declaration.
+ } else {
+ &LogWarning ($file, $., "Structure $declaration_name has multiple definitions.");
+ }
+ } else {
+ # set flag in %DeclarationConditional hash for
+ # multiply defined macros/typedefs.
+ $DeclarationConditional{$declaration_name} = 1;
+ }
+ } else {
+ &LogWarning ($file, $., "$declaration_name has multiple definitions.");
+ }
+ } else {
+ if ($is_deprecated) {
+ $Deprecated{$declaration_name} = "";
+ }
+ $Declarations{$declaration_name} = $declaration;
+ $DeclarationTypes{$declaration_name} = $declaration_type;
+ }
+
+ $declaration_type = "";
+ $is_deprecated = 0;
+ } else {
+ $declaration .= $_;
+ }
+ }
+ }
+ close (INPUT);
+}
+
+
+#############################################################################
+# Function : ReadSignalsFile
+# Description : This reads in an existing file which contains information on
+# all GTK signals. It creates the arrays @SignalNames and
+# @SignalPrototypes containing info on the signals. The first
+# line of the SignalPrototype is the return type of the signal
+# handler. The remaining lines are the parameters passed to it.
+# The last parameter, "gpointer user_data" is always the same
+# so is not included.
+# Arguments : $file - the file containing the signal handler prototype
+# information.
+#############################################################################
+
+sub ReadSignalsFile {
+ my ($file) = @_;
+
+ my $in_signal = 0;
+ my $signal_object;
+ my $signal_name;
+ my $signal_returns;
+ my $signal_flags;
+ my $signal_prototype;
+
+ # Reset the signal info.
+ @SignalObjects = ();
+ @SignalNames = ();
+ @SignalReturns = ();
+ @SignalFlags = ();
+ @SignalPrototypes = ();
+
+ if (! -f $file) {
+ return;
+ }
+ if (!open (INPUT, $file)) {
+ warn "Can't open $file - skipping signals\n";
+ return;
+ }
+ while (<INPUT>) {
+ if (!$in_signal) {
+ if (m/^<SIGNAL>/) {
+ $in_signal = 1;
+ $signal_object = "";
+ $signal_name = "";
+ $signal_returns = "";
+ $signal_prototype = "";
+ }
+ } else {
+ if (m/^<NAME>(.*)<\/NAME>/) {
+ $signal_name = $1;
+ if ($signal_name =~ m/^(.*)::(.*)$/) {
+ $signal_object = $1;
+ ($signal_name = $2) =~ s/_/-/g;
+ #print "Found signal: $signal_name\n";
+ } else {
+ &LogWarning ($file, $., "Invalid signal name: $signal_name.");
+ }
+ } elsif (m/^<RETURNS>(.*)<\/RETURNS>/) {
+ $signal_returns = $1;
+ } elsif (m/^<FLAGS>(.*)<\/FLAGS>/) {
+ $signal_flags = $1;
+ } elsif (m%^</SIGNAL>%) {
+ #print "Found end of signal: ${signal_object}::${signal_name}\nReturns: ${signal_returns}\n${signal_prototype}";
+ push (@SignalObjects, $signal_object);
+ push (@SignalNames, $signal_name);
+ push (@SignalReturns, $signal_returns);
+ push (@SignalFlags, $signal_flags);
+ push (@SignalPrototypes, $signal_prototype);
+ $in_signal = 0;
+ } else {
+ $signal_prototype .= $_;
+ }
+ }
+ }
+ close (INPUT);
+}
+
+
+#############################################################################
+# Function : ReadTemplateFile
+# Description : This reads in the manually-edited documentation file
+# corresponding to the file currently being created, so we can
+# insert the documentation at the appropriate places.
+# It outputs %SymbolTypes, %SymbolDocs and %SymbolParams, which
+# is a hash of arrays.
+# NOTE: This function is duplicated in gtkdoc-mktmpl (but
+# slightly different).
+# Arguments : $docsfile - the template file to read in.
+# $skip_unused_params - 1 if the unused parameters should be
+# skipped.
+#############################################################################
+
+sub ReadTemplateFile {
+ my ($docsfile, $skip_unused_params) = @_;
+
+ my $template = "$docsfile.sgml";
+ if (! -f $template) {
+ #print "File doesn't exist: $template\n";
+ return 0;
+ }
+
+ # start with empty hashes, we merge the source comment for each file
+ # afterwards
+ %SymbolDocs = ();
+ %SymbolTypes = ();
+ %SymbolParams = ();
+
+ my $current_type = ""; # Type of symbol being read.
+ my $current_symbol = ""; # Name of symbol being read.
+ my $symbol_doc = ""; # Description of symbol being read.
+ my @params; # Parameter names and descriptions of current
+ # function/macro/function typedef.
+ my $current_param = -1; # Index of parameter currently being read.
+ # Note that the param array contains pairs
+ # of param name & description.
+ my $in_unused_params = 0; # True if we are reading in the unused params.
+ my $in_deprecated = 0;
+ my $in_since = 0;
+ my $in_stability = 0;
+
+ open (DOCS, "$template")
+ || die "Can't open $template: $!";
+
+ @TRACE@("reading template $template");
+
+ while (<DOCS>) {
+ if (m/^<!-- ##### ([A-Z_]+) (\S+) ##### -->/) {
+ my $type = $1;
+ my $symbol = $2;
+ if ($symbol eq "Title"
+ || $symbol eq "Short_Description"
+ || $symbol eq "Long_Description"
+ || $symbol eq "See_Also"
+ || $symbol eq "Stability_Level"
+ || $symbol eq "Include"
+ || $symbol eq "Image") {
+
+ $symbol = $docsfile . ":" . $symbol;
+ }
+
+ #print "Found symbol: $symbol\n";
+ # Remember file and line for the symbol
+ $SymbolSourceFile{$symbol} = $template;
+ $SymbolSourceLine{$symbol} = $.;
+
+ # Store previous symbol, but remove any trailing blank lines.
+ if ($current_symbol ne "") {
+ $symbol_doc =~ s/\s+$//;
+ $SymbolTypes{$current_symbol} = $current_type;
+ $SymbolDocs{$current_symbol} = $symbol_doc;
+
+ # Check that the stability level is valid.
+ if ($StabilityLevel{$current_symbol}) {
+ $StabilityLevel{$current_symbol} = &ParseStabilityLevel($StabilityLevel{$current_symbol}, $template, $., "Stability level for $current_symbol");
+ }
+
+ if ($current_param >= 0) {
+ $SymbolParams{$current_symbol} = [ @params ];
+ } else {
+ # Delete any existing params in case we are overriding a
+ # previously read template.
+ delete $SymbolParams{$current_symbol};
+ }
+ }
+ $current_type = $type;
+ $current_symbol = $symbol;
+ $current_param = -1;
+ $in_unused_params = 0;
+ $in_deprecated = 0;
+ $in_since = 0;
+ $in_stability = 0;
+ $symbol_doc = "";
+ @params = ();
+
+ } elsif (m/^<!-- # Unused Parameters # -->/) {
+ #print "DEBUG: Found unused parameters\n";
+ $in_unused_params = 1;
+ next;
+
+ } elsif ($in_unused_params && $skip_unused_params) {
+ # When outputting the DocBook we skip unused parameters.
+ #print "DEBUG: Skipping unused param: $_";
+ next;
+
+ } else {
+ # Check if param found. Need to handle "..." and "format...".
+ if (s/^\@([\w\.]+):\040?//) {
+ my $param_name = $1;
+ my $param_desc = $_;
+ # Allow variations of 'Returns'
+ if ($param_name =~ m/^[Rr]eturns?$/) {
+ $param_name = "Returns";
+ }
+ # Allow varargs variations
+ if ($param_name =~ m/^.*\.\.\.$/) {
+ $param_name = "...";
+ }
+
+ # strip trailing whitespaces and blank lines
+ s/\s+\n$/\n/m;
+ s/\n+$/\n/sm;
+ @TRACE@("Found param for symbol $current_symbol : '$param_name'= '$_'");
+
+ if ($param_name eq "Deprecated") {
+ $in_deprecated = 1;
+ $Deprecated{$current_symbol} = $_;
+ } elsif ($param_name eq "Since") {
+ $in_since = 1;
+ chomp;
+ $Since{$current_symbol} = $_;
+ } elsif ($param_name eq "Stability") {
+ $in_stability = 1;
+ $StabilityLevel{$current_symbol} = $_;
+ } else {
+ push (@params, $param_name);
+ push (@params, $param_desc);
+ $current_param += $PARAM_FIELD_COUNT;
+ }
+ } else {
+ # strip trailing whitespaces and blank lines
+ s/\s+\n$/\n/m;
+ s/\n+$/\n/sm;
+
+ if (!m/^\s+$/) {
+ if ($in_deprecated) {
+ $Deprecated{$current_symbol} .= $_;
+ } elsif ($in_since) {
+ &LogWarning ($template, $., "multi-line since docs found");
+ #$Since{$current_symbol} .= $_;
+ } elsif ($in_stability) {
+ $StabilityLevel{$current_symbol} .= $_;
+ } elsif ($current_param >= 0) {
+ $params[$current_param] .= $_;
+ } else {
+ $symbol_doc .= $_;
+ }
+ }
+ }
+ }
+ }
+
+ # Remember to finish the current symbol doccs.
+ if ($current_symbol ne "") {
+
+ $symbol_doc =~ s/\s+$//;
+ $SymbolTypes{$current_symbol} = $current_type;
+ $SymbolDocs{$current_symbol} = $symbol_doc;
+
+ # Check that the stability level is valid.
+ if ($StabilityLevel{$current_symbol}) {
+ $StabilityLevel{$current_symbol} = &ParseStabilityLevel($StabilityLevel{$current_symbol}, $template, $., "Stability level for $current_symbol");
+ }
+
+ if ($current_param >= 0) {
+ $SymbolParams{$current_symbol} = [ @params ];
+ } else {
+ # Delete any existing params in case we are overriding a
+ # previously read template.
+ delete $SymbolParams{$current_symbol};
+ }
+ }
+
+ close (DOCS);
+ return 1;
+}
+
+
+#############################################################################
+# Function : ReadObjectHierarchy
+# Description : This reads in the $MODULE-hierarchy.txt file containing all
+# the GtkObject subclasses described in this module (and their
+# ancestors).
+# It places them in the @Objects array, and places their level
+# in the object hierarchy in the @ObjectLevels array, at the
+# same index. GtkObject, the root object, has a level of 1.
+#
+# FIXME: the version in gtkdoc-mkdb also generates tree_index.sgml
+# as it goes along, this should be split out into a separate
+# function.
+#
+# Arguments : none
+#############################################################################
+
+sub ReadObjectHierarchy {
+ @Objects = ();
+ @ObjectLevels = ();
+
+ if (! -f $OBJECT_TREE_FILE) {
+ return;
+ }
+ if (!open (INPUT, $OBJECT_TREE_FILE)) {
+ warn "Can't open $OBJECT_TREE_FILE - skipping object tree\n";
+ return;
+ }
+
+ # FIXME: use $OUTPUT_FORMAT
+ # my $old_tree_index = "$SGML_OUTPUT_DIR/tree_index.$OUTPUT_FORMAT";
+ my $old_tree_index = "$SGML_OUTPUT_DIR/tree_index.sgml";
+ my $new_tree_index = "$SGML_OUTPUT_DIR/tree_index.new";
+
+ open (OUTPUT, ">$new_tree_index")
+ || die "Can't create $new_tree_index: $!";
+
+ if ($OUTPUT_FORMAT eq "xml") {
+ my $tree_header = $doctype_header;
+
+ $tree_header =~ s/<!DOCTYPE \w+/<!DOCTYPE screen/;
+ print (OUTPUT "$tree_header");
+ }
+ print (OUTPUT "<screen>\n");
+
+ # Only emit objects if they are supposed to be documented, or if
+ # they have documented children. To implement this, we maintain a
+ # stack of pending objects which will be emitted if a documented
+ # child turns up.
+ my @pending_objects = ();
+ my @pending_levels = ();
+ my $root;
+ while (<INPUT>) {
+ if (m/\S+/) {
+ my $object = $&;
+ my $level = (length($`)) / 2 + 1;
+ my $xref = "";
+
+ if ($level == 1) {
+ $root = $object;
+ }
+
+ while (($#pending_levels >= 0) && ($pending_levels[$#pending_levels] >= $level)) {
+ my $pobject = pop(@pending_objects);
+ my $plevel = pop(@pending_levels);
+ }
+
+ push (@pending_objects, $object);
+ push (@pending_levels, $level);
+
+ if (exists($KnownSymbols{$object}) && $KnownSymbols{$object} == 1) {
+ while ($#pending_levels >= 0) {
+ $object = shift @pending_objects;
+ $level = shift @pending_levels;
+ $xref = &MakeXRef ($object);
+
+ print (OUTPUT ' ' x ($level * 4), "$xref\n");
+ push (@Objects, $object);
+ push (@ObjectLevels, $level);
+ $ObjectRoots{$object} = $root;
+ }
+ }
+ #else {
+ # LogWarning ($OBJECT_TREE_FILE, $., "unknown type $object");
+ #}
+ }
+ }
+ print (OUTPUT "</screen>\n");
+
+ close (INPUT);
+ close (OUTPUT);
+
+ &UpdateFileIfChanged ($old_tree_index, $new_tree_index, 0);
+
+ &OutputObjectList;
+}
+
+#############################################################################
+# Function : ReadInterfaces
+# Description : This reads in the $MODULE.interfaces file.
+#
+# Arguments : none
+#############################################################################
+
+sub ReadInterfaces {
+ %Interfaces = ();
+
+ if (! -f $INTERFACES_FILE) {
+ return;
+ }
+ if (!open (INPUT, $INTERFACES_FILE)) {
+ warn "Can't open $INTERFACES_FILE - skipping interfaces\n";
+ return;
+ }
+
+ while (<INPUT>) {
+ chomp;
+ my ($object, @ifaces) = split;
+ if (exists($KnownSymbols{$object}) && $KnownSymbols{$object} == 1) {
+ my @knownIfaces = ();
+
+ # filter out private interfaces, but leave foreign interfaces
+ foreach my $iface (@ifaces) {
+ if (!exists($KnownSymbols{$iface}) || $KnownSymbols{$iface} == 1) {
+ push (@knownIfaces, $iface);
+ }
+ }
+
+ $Interfaces{$object} = join(' ', @knownIfaces);
+ }
+ }
+ close (INPUT);
+}
+
+#############################################################################
+# Function : ReadPrerequisites
+# Description : This reads in the $MODULE.prerequisites file.
+#
+# Arguments : none
+#############################################################################
+
+sub ReadPrerequisites {
+ %Prerequisites = ();
+
+ if (! -f $PREREQUISITES_FILE) {
+ return;
+ }
+ if (!open (INPUT, $PREREQUISITES_FILE)) {
+ warn "Can't open $PREREQUISITES_FILE - skipping prerequisites\n";
+ return;
+ }
+
+ while (<INPUT>) {
+ chomp;
+ my ($iface, @prereqs) = split;
+ if (exists($KnownSymbols{$iface}) && $KnownSymbols{$iface} == 1) {
+ my @knownPrereqs = ();
+
+ # filter out private prerequisites, but leave foreign prerequisites
+ foreach my $prereq (@prereqs) {
+ if (!exists($KnownSymbols{$prereq}) || $KnownSymbols{$prereq} == 1) {
+ push (@knownPrereqs, $prereq);
+ }
+ }
+
+ $Prerequisites{$iface} = join(' ', @knownPrereqs);
+ }
+ }
+ close (INPUT);
+}
+
+#############################################################################
+# Function : ReadArgsFile
+# Description : This reads in an existing file which contains information on
+# all GTK args. It creates the arrays @ArgObjects, @ArgNames,
+# @ArgTypes, @ArgFlags, @ArgNicks and @ArgBlurbs containing info
+# on the args.
+# Arguments : $file - the file containing the arg information.
+#############################################################################
+
+sub ReadArgsFile {
+ my ($file) = @_;
+
+ my $in_arg = 0;
+ my $arg_object;
+ my $arg_name;
+ my $arg_type;
+ my $arg_flags;
+ my $arg_nick;
+ my $arg_blurb;
+ my $arg_default;
+ my $arg_range;
+
+ # Reset the args info.
+ @ArgObjects = ();
+ @ArgNames = ();
+ @ArgTypes = ();
+ @ArgFlags = ();
+ @ArgNicks = ();
+ @ArgBlurbs = ();
+ @ArgDefaults = ();
+ @ArgRanges = ();
+
+ if (! -f $file) {
+ return;
+ }
+ if (!open (INPUT, $file)) {
+ warn "Can't open $file - skipping args\n";
+ return;
+ }
+ while (<INPUT>) {
+ if (!$in_arg) {
+ if (m/^<ARG>/) {
+ $in_arg = 1;
+ $arg_object = "";
+ $arg_name = "";
+ $arg_type = "";
+ $arg_flags = "";
+ $arg_nick = "";
+ $arg_blurb = "";
+ $arg_default = "";
+ $arg_range = "";
+ }
+ } else {
+ if (m/^<NAME>(.*)<\/NAME>/) {
+ $arg_name = $1;
+ if ($arg_name =~ m/^(.*)::(.*)$/) {
+ $arg_object = $1;
+ ($arg_name = $2) =~ s/_/-/g;
+ #print "Found arg: $arg_name\n";
+ } else {
+ &LogWarning ($file, $., "Invalid argument name: $arg_name");
+ }
+ } elsif (m/^<TYPE>(.*)<\/TYPE>/) {
+ $arg_type = $1;
+ } elsif (m/^<RANGE>(.*)<\/RANGE>/) {
+ $arg_range = $1;
+ } elsif (m/^<FLAGS>(.*)<\/FLAGS>/) {
+ $arg_flags = $1;
+ } elsif (m/^<NICK>(.*)<\/NICK>/) {
+ $arg_nick = $1;
+ } elsif (m/^<BLURB>(.*)<\/BLURB>/) {
+ $arg_blurb = $1;
+ if ($arg_blurb eq "(null)") {
+ $arg_blurb = "";
+ &LogWarning ($file, $., "Property ${arg_object}:${arg_name} has no documentation.");
+ }
+ } elsif (m/^<DEFAULT>(.*)<\/DEFAULT>/) {
+ $arg_default = $1;
+ } elsif (m%^</ARG>%) {
+ #print "Found end of arg: ${arg_object}::${arg_name}\n${arg_type} : ${arg_flags}\n";
+ push (@ArgObjects, $arg_object);
+ push (@ArgNames, $arg_name);
+ push (@ArgTypes, $arg_type);
+ push (@ArgRanges, $arg_range);
+ push (@ArgFlags, $arg_flags);
+ push (@ArgNicks, $arg_nick);
+ push (@ArgBlurbs, $arg_blurb);
+ push (@ArgDefaults, $arg_default);
+ $in_arg = 0;
+ }
+ }
+ }
+ close (INPUT);
+}
+
+
+#############################################################################
+# Function : CheckIsObject
+# Description : Returns 1 if the given name is a GObject or a subclass.
+# It uses the global @Objects array.
+# Note that the @Objects array only contains classes in the
+# current module and their ancestors - not all GObject classes.
+# Arguments : $name - the name to check.
+#############################################################################
+
+sub CheckIsObject {
+ my ($name) = @_;
+ my $root = $ObjectRoots{$name};
+ # Let GBoxed pass as an object here to get -struct appended to the id
+ # and prevent conflicts with sections.
+ return defined($root) and $root ne 'GEnum' and $root ne 'GFlags';
+}
+
+
+#############################################################################
+# Function : MakeReturnField
+# Description : Pads a string to $RETURN_TYPE_FIELD_WIDTH.
+# Arguments : $str - the string to pad.
+#############################################################################
+
+sub MakeReturnField {
+ my ($str) = @_;
+
+ return $str . (' ' x ($RETURN_TYPE_FIELD_WIDTH - length ($str)));
+}
+
+#############################################################################
+# Function : GetSymbolSourceFile
+# Description : Get the filename where the symbol docs where taken from.
+# Arguments : $symbol - the symbol name
+#############################################################################
+
+sub GetSymbolSourceFile {
+ my ($symbol) = @_;
+
+ if (defined($SourceSymbolSourceFile{$symbol})) {
+ return $SourceSymbolSourceFile{$symbol};
+ } elsif (defined($SymbolSourceFile{$symbol})) {
+ return $SymbolSourceFile{$symbol};
+ } else {
+ return "";
+ }
+}
+
+#############################################################################
+# Function : GetSymbolSourceLine
+# Description : Get the file line where the symbol docs where taken from.
+# Arguments : $symbol - the symbol name
+#############################################################################
+
+sub GetSymbolSourceLine {
+ my ($symbol) = @_;
+
+ if (defined($SourceSymbolSourceLine{$symbol})) {
+ return $SourceSymbolSourceLine{$symbol};
+ } elsif (defined($SymbolSourceLine{$symbol})) {
+ return $SymbolSourceLine{$symbol};
+ } else {
+ return 0;
+ }
+}
+
--- /dev/null
+#!/bin/sh
+#
+
+usage() {
+cat <<EOF
+gtkdoc-mkhtml version @VERSION@ - generate documentation in html format
+
+--verbose Print extra output while processing
+--path=SEARCH_PATH Extra source directories
+MODULE Name of the doc module being parsed
+DRIVER_FILE File containing the toplevel DocBook file.
+--version Print the version of this program
+--help Print this help
+EOF
+}
+
+# echo "args $*\n";
+
+# parse options, ignore unknown options for future extensions
+
+verbose="0"
+searchpath=
+uninstalled=no
+while true; do
+ case "X$1" in
+ X--version) echo "@VERSION@"; exit 0;;
+ X--help) usage; exit 0;;
+ X--uninstalled) uninstalled=yes; shift;;
+ X--verbose) verbose="1"; shift;;
+ X--path=*) searchpath=`echo $1 | sed s/.*=//`; shift;;
+ X--*) shift;;
+ X*) break;;
+ esac
+done
+
+if test $# -lt 2; then
+ usage 1>&2
+ exit 1
+fi
+
+module=$1
+shift
+document=$1
+shift
+
+quiet="1"
+if test $verbose = "1"; then
+ quiet="0"
+fi
+
+if test $uninstalled = yes; then
+ # this does not work from buiddir!=srcdir
+ gtkdocdir=`dirname $0`
+ if test ! -e $gtkdocdir/gtk-doc.xsl; then
+ # try to src dir (set from makefiles) too
+ if test -e $ABS_TOP_SRCDIR/gtk-doc.xsl; then
+ gtkdocdir=$ABS_TOP_SRCDIR
+ fi
+ fi
+ #echo "uninstalled, gtkdocdir=$gtkdocdir, cwd=$PWD"
+else
+ # the first two are needed to resolve datadir
+ prefix=@prefix@
+ datarootdir=@datarootdir@
+ gtkdocdir=@datadir@/gtk-doc/data
+fi
+
+if head -n 1 $document | grep "<?xml" > /dev/null; then
+ is_xml=true
+ path_option='--path'
+else
+ is_xml=false
+ path_option='--directory'
+fi
+
+# we could do "$path_option $PWD "
+# to avoid needing rewriting entities that are copied from the header
+# into docs under xml
+if test "X$searchpath" = "X"; then
+ path_arg=
+else
+ path_arg="$path_option $searchpath"
+fi
+
+# Delete the old index.sgml file, if it exists.
+if test -f index.sgml; then
+ rm -f index.sgml
+fi
+
+if $is_xml; then
+ #echo @XSLTPROC@ $path_arg --nonet --xinclude \
+ # --stringparam gtkdoc.bookname $module \
+ # --stringparam gtkdoc.version "@VERSION@" \
+ # "$@" $gtkdocdir/gtk-doc.xsl $document
+ @XSLTPROC@ $path_arg --nonet --xinclude \
+ --stringparam gtkdoc.bookname $module \
+ --stringparam gtkdoc.version "@VERSION@" \
+ --stringparam chunk.quietly $quiet \
+ --stringparam chunker.output.quiet $quiet \
+ "$@" $gtkdocdir/gtk-doc.xsl $document || exit $?
+else
+ @JADE@ $path_arg -t @SGML_FORMAT_TYPE@ -w no-idref -d $gtkdocdir/gtk-doc.dsl \
+ -V "gtkdoc-bookname=$module" -V "gtkdoc-version=@VERSION@" \
+ "$@" $gtkdocdir/gtk-doc.dcl $document || exit $?
+fi
+
+# copy navigation images and stylesheets to html directory ...
+cp -f $gtkdocdir/*.png ./
+cp -f $gtkdocdir/*.css ./
+
+
+echo "timestamp" > ../html.stamp
+
--- /dev/null
+#!/bin/sh
+#
+
+usage() {
+cat <<EOF
+gtkdoc-mkman version @VERSION@ - generate documentation in man format
+
+--verbose Print extra output while processing
+--path=SEARCH_PATH Extra source directories
+MODULE Name of the doc module being parsed
+DRIVER_FILE File containing the toplevel DocBook file.
+--version Print the version of this program
+--help Print this help
+EOF
+}
+
+# parse options, ignore unknown options for future extensions
+
+verbose=0
+searchpath=
+uninstalled=no
+while true; do
+ case "X$1" in
+ X--version) echo "@VERSION@"; exit 0;;
+ X--help) usage; exit 0;;
+ X--uninstalled) uninstalled=yes; shift;;
+ X--verbose) verbose="1"; shift;;
+ X--path=*) searchpath=`echo $1 | sed s/.*=//`; shift;;
+ X--*) shift;;
+ X*) break;;
+ esac
+done
+
+if test $# -ne 2; then
+ usage 1>&2
+ exit 1
+fi
+
+module=$1
+shift
+document=$1
+shift
+
+quiet="1"
+if test $verbose = "1"; then
+ quiet="0"
+fi
+
+if test $uninstalled = yes; then
+ # this does not work from buiddir!=srcdir
+ gtkdocdir=`dirname $0`
+ #echo "uninstalled, gtkdocdir=$gtkdocdir"
+else
+ # the first two are needed to resolve datadir
+ prefix=@prefix@
+ datarootdir=@datarootdir@
+ gtkdocdir=@datadir@/gtk-doc/data
+fi
+
+if head -n 1 $document | grep "<?xml" > /dev/null; then
+ is_xml=true
+ path_option='--path'
+else
+ is_xml=false
+ path_option='--directory'
+fi
+
+# we could do "$path_option $PWD "
+# to avoid needing rewriting entities that are copied from the header
+# into docs under xml
+if test "X$searchpath" = "X"; then
+ path_arg=
+else
+ path_arg="$path_option $searchpath"
+fi
+
+# would it make sens to create man pages only for certain refentries
+# e.g. for tools
+if $is_xml; then
+ # see http://bugzilla.gnome.org/show_bug.cgi?id=467488
+ @XSLTPROC@ $path_arg --nonet --xinclude \
+ --stringparam gtkdoc.bookname $module \
+ --stringparam gtkdoc.version "@VERSION@" \
+ --stringparam chunk.quietly $quiet \
+ --stringparam chunker.output.quiet $quiet \
+ manpages/docbook.xsl $document || exit $?
+else
+ for i in `cd sgml;ls *.sgml`; do
+ j=`echo $i | sed 's/.sgml/.man/'`
+ echo ": converting " $i $j
+ docbook-to-man sgml/$i > man/$j 2> man/$j.log
+ done
+fi
+
--- /dev/null
+#!/bin/sh
+#
+
+usage() {
+cat <<EOF
+gtkdoc-mkpdf version @VERSION@ - generate documentation in pdf format
+
+--verbose Print extra output while processing
+--path=SEARCH_PATH Extra source directories
+--imgdir=DIR Extra image directories
+MODULE Name of the doc module being parsed
+DRIVER_FILE File containing the toplevel DocBook file.
+--version Print the version of this program
+--help Print this help
+EOF
+}
+
+#echo "args $0\n";
+
+cleanexit() {
+ rm -f $module.fo
+ exit $1
+}
+
+# parse options, ignore unknown options for future extensions
+
+verbose="0"
+searchpath=
+uninstalled=no
+imgdirs=
+while true; do
+ case "X$1" in
+ X--version) echo "@VERSION@"; exit 0;;
+ X--help) usage; exit 0;;
+ X--uninstalled) uninstalled=yes; shift;;
+ X--verbose) verbose="1"; shift;;
+ X--path=*) searchpath=`echo $1 | sed s/.*=//`; shift;;
+ X--imgdir=*) imgdirs="$imgdirs -I `echo $1 | sed s/.*=//`"; shift;;
+ X--*) shift;;
+ X*) break;;
+ esac
+done
+
+if test $# -lt 2; then
+ usage 1>&2
+ exit 1
+fi
+
+module=$1
+shift
+document=$1
+shift
+
+quiet="1"
+if test $verbose = "1"; then
+ quiet="0"
+fi
+
+if test $uninstalled = yes; then
+ # this does not work from buiddir!=srcdir
+ # we could try this
+ # MAKE_SCRDIR=$(abs_srcdir) MAKE_BUILDDIR=$(abs_builddir) gtkdoc-mkpdf ...
+ gtkdocdir=`dirname $0`
+ #echo "uninstalled, gtkdocdir=$gtkdocdir"
+else
+ # the first two are needed to resolve datadir
+ prefix=@prefix@
+ datarootdir=@datarootdir@
+ gtkdocdir=@datadir@/gtk-doc/data
+fi
+
+if head -n 1 $document | grep "<?xml" > /dev/null; then
+ is_xml=true
+ path_option='--path'
+else
+ is_xml=false
+ path_option='--directory'
+fi
+
+# we could do "$path_option $PWD "
+# to avoid needing rewriting entities that are copied from the header
+# into docs under xml
+if test "X$searchpath" = "X"; then
+ path_arg=
+else
+ path_arg="$path_option $searchpath"
+fi
+
+if $is_xml; then
+ if test -n "@DBLATEX@"; then
+ # extra options to consider
+ # -I FIG_PATH
+ # -V is useful for debugging
+ # -T db2latex : different style
+ # -d : keep transient files (for debugging)
+ # -P abc.def=$quiet : once the stylesheets have a quiet mode
+ # xsltproc is already called with --xinclude
+ # does not work: --xslt-opts "$path_arg --nonet $@"
+ dblatex_options="-o $module.pdf $imgdirs $document"
+ #echo "calling: @DBLATEX@ $dblatex_options"
+ if test $verbose = "0"; then
+ @DBLATEX@ 2>&1 --help | grep >/dev/null "\-\-quiet"
+ if test "$?" = "0"; then
+ dblatex_options="--quiet $dblatex_options";
+ fi;
+ @DBLATEX@ 2>&1 >/dev/null $dblatex_options | grep -v 'programlisting or screen'
+ else
+ { @DBLATEX@ 2>&1 >&3 $dblatex_options | grep -v 'programlisting or screen' >&2; } 3>&1
+ fi
+ else
+ if test -n "@FOP@"; then
+ @XSLTPROC@ $path_arg --nonet --xinclude \
+ --stringparam gtkdoc.bookname $module \
+ --stringparam gtkdoc.version "@VERSION@" \
+ --stringparam chunk.quietly $quiet \
+ --stringparam chunker.output.quiet $quiet \
+ "$@" -o $module.fo $gtkdocdir/gtk-doc-fo.xsl $document || cleanexit $?
+ # fop dies too easily :(
+ # @FOP@ $module.fo $module.pdf
+ fi
+ fi
+else
+ # not very good output
+ # also for xxx-docs.sgml it will produce xxx-docs.pdf
+ docbook2pdf -e no-valid $document
+fi
+
+echo "timestamp" > pdf.stamp
+cleanexit 0
+
--- /dev/null
+#!@PERL@ -w
+# -*- cperl -*-
+#
+# gtk-doc - GTK DocBook documentation generator.
+# Copyright (C) 1998 Damon Chaplin
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+#
+
+#############################################################################
+# Script : gtkdoc-mktmpl
+# Description : This creates or updates the template files which contain the
+# manually-edited documentation. (A 'template' is a simple text
+# form which is filled in with the description of a function,
+# macro, enum, or struct. For functions and macros it also
+# contains fields for describing the parameters.)
+#
+# This script reads in the existing templates, found in
+# tmpl/*.sgml, moves these files to tmpl/*.sgml.bak, and then
+# recreates the .sgml files according to the structure given in
+# the file $MODULE-sections.txt.
+#
+# Any new templates added, or new function parameters, are
+# marked with 'FIXME' so you can do a grep to see which parts
+# need updating.
+#
+# Any templates which are no longer used (i.e. they are remove
+# from $MODULE-sections.txt) are placed in the file
+# tmpl/$MODULE-unused.sgml. If they are included again later
+# they are automatically copied back into position.
+# If you are certain that these templates will never be used
+# again you can delete them from tmpl/$MODULE-unused.sgml.
+#
+# Any parameters to functions which are no longer used are
+# separated from the rest of the parameters with the line
+# '<!-- # Unused Parameters # -->'. It may be that the parameter
+# name has just been changed, in which case you can copy the
+# description to the parameter with the new name. You can delete
+# the unused parameter descriptions when no longer needed.
+#############################################################################
+
+use strict;
+use Getopt::Long;
+
+push @INC, '@PACKAGE_DATA_DIR@';
+require "gtkdoc-common.pl";
+
+# Options
+
+# name of documentation module
+my $MODULE;
+my $TMPL_DIR;
+my $FLAG_CHANGES;
+my $PRINT_VERSION;
+my $PRINT_HELP;
+my $ONLY_SECTION_TMPL;
+
+my %optctl = ('module' => \$MODULE,
+ 'flag-changes' => \$FLAG_CHANGES,
+ 'output-dir' => \$TMPL_DIR,
+ 'only-section-tmpl' => \$ONLY_SECTION_TMPL,
+ 'version' => \$PRINT_VERSION,
+ 'help' => \$PRINT_HELP);
+GetOptions(\%optctl, "module=s", "flag-changes!", "output-dir:s", "only-section-tmpl!", "version", "help");
+
+if ($PRINT_VERSION) {
+ print "@VERSION@\n";
+ exit 0;
+}
+
+if (!$MODULE) {
+ $PRINT_HELP = 1;
+}
+
+if ($PRINT_HELP) {
+ print <<EOF;
+gtkdoc-mktmpl version @VERSION@ - generate documentation templates
+
+--module=MODULE_NAME Name of the doc module being parsed
+--flag-changes If specified, changes in templates are flagged
+--output-dir=DIRNAME The directory where the results are stored
+--only-section-tmpl Only include section information in templates
+--version Print the version of this program
+--help Print this help
+EOF
+ exit 0;
+}
+
+my $ROOT_DIR = ".";
+
+# The directory containing the template files.
+$TMPL_DIR = $TMPL_DIR ? $TMPL_DIR : "$ROOT_DIR/tmpl";
+
+# This file contains the object hierarchy.
+my $OBJECT_TREE_FILE = "$ROOT_DIR/$MODULE.hierarchy";
+
+# The file containing signal handler prototype information.
+my $SIGNALS_FILE = "$ROOT_DIR/$MODULE.signals";
+
+# The file containing Arg information.
+my $ARGS_FILE = "$ROOT_DIR/$MODULE.args";
+
+# Set the flag to indicate changes, if requested.
+my $CHANGES_FLAG = $FLAG_CHANGES ? "FIXME" : "";
+
+# These global arrays store information on signals. Each signal has an entry
+# in each of these arrays at the same index, like a multi-dimensional array.
+my @SignalObjects; # The GtkObject which emits the signal.
+my @SignalNames; # The signal name.
+my @SignalReturns; # The return type.
+my @SignalFlags; # Flags for the signal
+my @SignalPrototypes; # The rest of the prototype of the signal handler.
+
+# These global arrays store information on Args. Each Arg has an entry
+# in each of these arrays at the same index, like a multi-dimensional array.
+my @ArgObjects; # The GtkObject which has the Arg.
+my @ArgNames; # The Arg name.
+my @ArgTypes; # The Arg type - gint, GtkArrowType etc.
+my @ArgFlags; # How the Arg can be used - readable/writable etc.
+
+# These global hashes store declaration info keyed on a symbol name.
+my %Declarations;
+my %DeclarationTypes;
+my %DeclarationConditional;
+my %DeclarationOutput;
+
+# These global hashes store the existing documentation.
+my %SymbolDocs;
+my %SymbolTypes;
+my %SymbolParams;
+my %SymbolSourceFile;
+my %SymbolSourceLine;
+
+# These global arrays store GObject and subclasses and the hierarchy.
+my @Objects;
+my @ObjectLevels;
+
+&ReadSignalsFile ($SIGNALS_FILE);
+&ReadArgsFile ($ARGS_FILE);
+&ReadObjectHierarchy;
+
+&ReadDeclarationsFile ("$ROOT_DIR/$MODULE-decl.txt", 0);
+if (-f "$ROOT_DIR/$MODULE-overrides.txt") {
+ &ReadDeclarationsFile ("$ROOT_DIR/$MODULE-overrides.txt", 1);
+}
+&ReadExistingTemplates;
+
+my $changed = 0;
+
+if (&UpdateTemplates ("$ROOT_DIR/$MODULE-sections.txt")) {
+ $changed = 1;
+}
+&OutputUnusedTemplates;
+if (&CheckAllDeclarationsOutput) {
+ $changed = 1;
+}
+
+if ($changed || ! -e "$ROOT_DIR/tmpl.stamp") {
+ open (TIMESTAMP, ">$ROOT_DIR/tmpl.stamp")
+ || die "Can't create $ROOT_DIR/tmpl.stamp";
+ print (TIMESTAMP "timestamp");
+ close (TIMESTAMP);
+}
+
+#############################################################################
+# Function : ReadExistingTemplates
+# Description : This reads in all the existing documentation, into the global
+# variables %SymbolDocs, %SymbolTypes, and %SymbolParams (a
+# hash of arrays).
+# Arguments : none
+#############################################################################
+
+sub ReadExistingTemplates {
+ %SymbolDocs = ();
+ %SymbolTypes = ();
+ %SymbolParams = ();
+
+ # Read the unused docs first, so they get overridden by any real docs.
+ # (though this shouldn't happen often).
+ my $unused_doc = "$TMPL_DIR/$MODULE-unused.sgml";
+ if (-e $unused_doc) {
+ &ReadTemplateFile ($unused_doc, 0);
+ }
+
+ while (<$TMPL_DIR/*.sgml>) {
+# print "Reading $_\n";
+ if ($_ eq $unused_doc) {
+# print "skipping $unused_doc\n";
+ } else {
+ &ReadTemplateFile ($_, 0);
+ }
+ }
+}
+
+
+#############################################################################
+# Function : UpdateTemplates
+# Description : This collects the output for each section of the docs, and
+# outputs each file when the end of the section is found.
+# Arguments : $file - the file containing the sections of the docs.
+#############################################################################
+
+sub UpdateTemplates {
+ my ($file) = @_;
+# print "Reading: $file\n";
+
+ open (INPUT, $file)
+ || die "Can't open $file";
+
+ # Create the top output directory if it doesn't exist.
+ if (! -e $TMPL_DIR) {
+ mkdir ("$TMPL_DIR", 0777)
+ || die "Can't create directory: $TMPL_DIR";
+ }
+
+ my $filename = "";
+ my $title = "";
+ my $subsection = "";
+ my $output;
+ my $changed = 0;
+ while (<INPUT>) {
+ if (m/^#/) {
+ next;
+
+ } elsif (m/^<SECTION>/) {
+ $output = "";
+
+ } elsif (m/^<SUBSECTION\s*(.*)>/i) {
+ $subsection = $1;
+ next;
+
+ } elsif (m/^<TITLE>(.*)<\/TITLE>/) {
+ $title = $1;
+# print "Section: $title\n";
+
+ } elsif (m/^<FILE>(.*)<\/FILE>/) {
+ $filename = $1;
+
+ } elsif (m/^<INCLUDE>(.*)<\/INCLUDE>/) {
+ next;
+
+ } elsif (m/^<\/SECTION>/) {
+ if ($title eq "") {
+ $title = $filename;
+ }
+# print "End of section: $title\n";
+
+ $filename =~ s/\s/_/g;
+ $filename .= ".sgml";
+
+ if (&OutputTemplateFile ($filename, $title, \$output)) {
+ $changed = 1;
+ }
+
+ $title = "";
+ $subsection = "";
+
+ } elsif (m/^(\S+)/) {
+ my $symbol = $1;
+# print " Symbol: $symbol\n";
+
+ my $declaration = $Declarations{$1};
+ if (defined ($declaration)) {
+ # We don't want templates for standard macros/functions of
+ # GObjects or private declarations.
+ if ($subsection ne "Standard" && $subsection ne "Private") {
+ $output .= &OutputDeclaration ($DeclarationTypes {$symbol},
+ $symbol, $declaration);
+
+ $output .= &OutputSignalTemplates ($symbol);
+ $output .= &OutputArgTemplates ($symbol);
+ }
+
+ # Note that the declaration has been output.
+ $DeclarationOutput{$symbol} = 1;
+
+ if ($declaration eq '##conditional##') {
+# print "Conditional $DeclarationTypes{$symbol}\n";
+ }
+
+ } else {
+ &LogWarning ($file, $., "No declaration found for: $1");
+ }
+ }
+ }
+ close (INPUT);
+
+ return $changed;
+}
+
+
+#############################################################################
+# Function : CheckAllDeclarationsOutput
+# Description : This steps through all the declarations that were loaded, and
+# makes sure that each one has been output, by checking the
+# corresponding flag in the %DeclarationOutput hash. It is
+# intended to check that any new declarations in new versions
+# of the module get added to the $MODULE-sections.txt file.
+# Arguments : none
+#############################################################################
+
+sub CheckAllDeclarationsOutput {
+ my $num_unused = 0;
+
+ my $old_unused_file = "$ROOT_DIR/$MODULE-unused.txt";
+ my $new_unused_file = "$ROOT_DIR/$MODULE-unused.new";
+
+ open (UNUSED, ">$new_unused_file")
+ || die "Can't open $new_unused_file";
+ my ($symbol);
+ foreach $symbol (sort keys (%Declarations)) {
+ if (!defined ($DeclarationOutput{$symbol})) {
+ print (UNUSED "$symbol\n");
+ $num_unused++;
+ }
+ }
+ close (UNUSED);
+ if ($num_unused != 0) {
+ &LogWarning ($old_unused_file, 1, "$num_unused unused declarations.".
+ "They should be added to $MODULE-sections.txt in the appropriate place.");
+ }
+
+ return &UpdateFileIfChanged ($old_unused_file, $new_unused_file, 0);
+}
+
+
+#############################################################################
+# Function : OutputDeclaration
+# Description : This returns the template for one symbol & declaration.
+# Note that it uses the global %SymbolDocs and %SymbolParams to
+# lookup any existing documentation.
+# Arguments : $type - the type of the symbol ('FUNCTION'/'MACRO' etc.)
+# $symbol - the symbol name.
+# $declaration - the declaration of the symbol.
+#############################################################################
+
+sub OutputDeclaration {
+ my ($type, $symbol, $declaration) = @_;
+ my ($output) = "";
+
+ #print "Outputting $type: $symbol\n";
+
+ # See if symbol already has a description.
+ my ($symbol_desc) = $SymbolDocs{$symbol};
+ my ($template_exists);
+ if (defined ($symbol_desc)) {
+ $template_exists = 1;
+ $symbol_desc =~ s/\s+$//;
+ } else {
+ $template_exists = 0;
+ $symbol_desc = "<para>\n$CHANGES_FLAG\n</para>";
+ }
+
+ $output .= <<EOF;
+<!-- ##### $type $symbol ##### -->
+$symbol_desc
+
+EOF
+
+ # For functions, function typedefs and macros, we output the arguments.
+ # For functions and function typedefs we also output the return value.
+ if ($type eq "FUNCTION" || $type eq "USER_FUNCTION") {
+ # Take out the return type
+ $declaration =~ s/<RETURNS>\s*(.*?)<\/RETURNS>\n//;
+ my $ret_type_decl = $1;
+ my $ret_type_modifier;
+ my $ret_type;
+ my $ret_type_pointer;
+
+ if ($ret_type_decl =~ m/((const\s+|G_CONST_RETURN\s+|unsigned\s+|signed\s+|long\s+|short\s+|struct\s+|enum\s+)*)(\w+)\s*(\**\s*(const|G_CONST_RETURN)?\s*\**\s*(restrict)?\s*)/) {
+ $ret_type_modifier = defined($1) ? $1 : "";
+ $ret_type = $3;
+ $ret_type_pointer = $4;
+ } else {
+ $ret_type = "void";
+ }
+
+ my @fields = ParseFunctionDeclaration($declaration);
+
+ for (my $i = 0; $i <= $#fields; $i += 2) {
+ my $field_name = $fields[$i];
+ $output .= &OutputParam ($symbol, $field_name, $template_exists, 1, "");
+ }
+
+ if ($ret_type ne "void" || $ret_type_modifier || $ret_type_pointer) {
+ $output .= &OutputParam ($symbol, "Returns", $template_exists, 1, "");
+ }
+
+ $output .= &OutputParam ($symbol, "Deprecated", $template_exists, 0, "");
+ $output .= &OutputParam ($symbol, "Since", $template_exists, 0, "");
+ $output .= &OutputParam ($symbol, "Stability", $template_exists, 0, "");
+ $output .= &OutputOldParams ($symbol);
+ $output .= "\n";
+ }
+
+ if ($type eq "MACRO") {
+ my @fields = ParseMacroDeclaration($declaration);
+
+ for (my $i = 0; $i <= $#fields; $i +=2) {
+ my $field_name = $fields[$i];
+
+ $output .= &OutputParam ($symbol, $field_name, $template_exists,
+ 1, "");
+ }
+ $output .= &OutputParam ($symbol, "Returns", $template_exists, 0, "");
+ $output .= &OutputParam ($symbol, "Deprecated", $template_exists, 0, "");
+ $output .= &OutputParam ($symbol, "Since", $template_exists, 0, "");
+ $output .= &OutputParam ($symbol, "Stability", $template_exists, 0, "");
+ $output .= &OutputOldParams ($symbol);
+ $output .= "\n";
+ }
+
+ if ($type eq "STRUCT") {
+ my $is_object_struct = CheckIsObject ($symbol);
+ my @fields = ParseStructDeclaration($declaration, $is_object_struct, 1);
+
+ for (my $i = 0; $i <= $#fields; $i += 2) {
+ my $field_name = $fields[$i];
+ $output .= &OutputParam ($symbol, $field_name, $template_exists, 1, "");
+ }
+ $output .= &OutputParam ($symbol, "Deprecated", $template_exists, 0, "");
+ $output .= &OutputParam ($symbol, "Since", $template_exists, 0, "");
+ $output .= &OutputParam ($symbol, "Stability", $template_exists, 0, "");
+ }
+
+ if ($type eq "ENUM") {
+ my @members = ParseEnumDeclaration($declaration);
+
+ for my $member (@members) {
+ $output .= &OutputParam ($symbol, $member, $template_exists, 1, "");
+ }
+ $output .= &OutputParam ($symbol, "Deprecated", $template_exists, 0, "");
+ $output .= &OutputParam ($symbol, "Since", $template_exists, 0, "");
+ $output .= &OutputParam ($symbol, "Stability", $template_exists, 0, "");
+ }
+
+ $output .= "\n";
+
+ # Remove the used docs from the hashes.
+ if ($template_exists) {
+ delete $SymbolDocs{$symbol};
+ delete $SymbolParams{$symbol};
+ }
+
+ return $output;
+}
+
+
+#############################################################################
+# Function : OutputParam
+# Description : This outputs the part of a template for one parameter.
+# It first checks if the parameter is already described, and if
+# so it uses that description, and clears it so it isn't output
+# as an old param.
+# Arguments : $symbol - the symbol (function or macro) name.
+# $param_to_output - the parameter to add.
+# $template_exists - TRUE if the template already existed in
+# template files. If it did, then we will flag any changes
+# with 'FIXME'.
+# $force_output - TRUE if the parameter should be output even
+# if it didn't already exist in the template. (The return
+# values of macros are added manually if required, and so we
+# never add it here - we only copy it if it already exists.)
+# $default_description - the default description of the
+# parameter to be used if it doesn't already exist. (Signal
+# handlers have a few common parameters.)
+#############################################################################
+
+sub OutputParam {
+ my ($symbol, $param_to_output, $template_exists,
+ $force_output, $default_description) = @_;
+ my ($j);
+
+ my ($params) = $SymbolParams{$symbol};
+ if (defined ($params)) {
+ for ($j = 0; $j <= $#$params; $j += 2) {
+ my $param_name = $$params[$j];
+ my $param_desc = $$params[$j + 1];
+
+ if ($param_name eq $param_to_output) {
+ $param_desc =~ s/\s+$//;
+ $$params[$j] = "";
+ $$params[$j + 1] = "";
+ return "\@$param_name: $param_desc\n";
+ }
+ }
+ }
+
+ # If the template was already in a file, flag the new parameter.
+ # If not, the template itself will be flagged, so we don't need to flag
+ # all the new parameters as well.
+ if ($force_output) {
+ if ($default_description ne "") {
+ $default_description =~ s/\s+$//;
+ return "\@$param_to_output: $default_description\n";
+ } else {
+ if ($template_exists) {
+ return "\@$param_to_output: $CHANGES_FLAG\n";
+ } else {
+ return "\@$param_to_output: \n";
+ }
+ }
+ }
+ return "";
+}
+
+
+#############################################################################
+# Function : OutputOldParams
+# Description : This returns all the existing documentation for parameters of
+# the given function/macro/signal symbol which are unused, with
+# a comment before them.
+# Arguments : $symbol - the symbol (function/macro/signal) name.
+#############################################################################
+
+sub OutputOldParams {
+ my ($symbol) = @_;
+ my $output = "";
+
+ my ($params) = $SymbolParams{$symbol};
+ if (defined ($params)) {
+ my $j;
+ for ($j = 0; $j <= $#$params; $j += 2) {
+ my $param_name = $$params[$j];
+ my $param_desc = $$params[$j + 1];
+
+ if ($param_name ne "") {
+ $param_desc =~ s/\s+$//;
+
+ # There's no point keeping it if it has no docs.
+ if ($param_desc ne "") {
+ $output .= "\@$param_name: $param_desc\n";
+ }
+ }
+ }
+ }
+ if ($output) {
+ $output = "<!-- # Unused Parameters # -->\n" . $output;
+ }
+ return $output;
+}
+
+
+#############################################################################
+# Function : OutputTemplateFile
+# Description : This outputs one template file.
+# Arguments : $file - the basename of the file to output.
+# $title - the title from the $MODULE-sections.txt file. This
+# will be overridden by any title given in the template file.
+# $output - reference to the templates to output.
+#############################################################################
+
+sub OutputTemplateFile {
+ my ($file, $title, $output) = @_;
+
+ my ($short_desc, $long_desc, $see_also, $stability, $image);
+
+ if (defined ($SymbolDocs{"$TMPL_DIR/$file:Title"})) {
+ $title = $SymbolDocs{"$TMPL_DIR/$file:Title"};
+ delete $SymbolDocs{"$TMPL_DIR/$file:Title"};
+ }
+ if (defined ($SymbolDocs{"$TMPL_DIR/$file:Short_Description"})) {
+ $short_desc = $SymbolDocs{"$TMPL_DIR/$file:Short_Description"};
+ delete $SymbolDocs{"$TMPL_DIR/$file:Short_Description"};
+ } else {
+ $short_desc = "";
+ }
+ if (defined ($SymbolDocs{"$TMPL_DIR/$file:Long_Description"})) {
+ $long_desc = $SymbolDocs{"$TMPL_DIR/$file:Long_Description"};
+ delete $SymbolDocs{"$TMPL_DIR/$file:Long_Description"};
+ } else {
+ $long_desc = "<para>\n\n</para>\n";
+ }
+ if (defined ($SymbolDocs{"$TMPL_DIR/$file:See_Also"})) {
+ $see_also = $SymbolDocs{"$TMPL_DIR/$file:See_Also"};
+ delete $SymbolDocs{"$TMPL_DIR/$file:See_Also"};
+ } else {
+ $see_also = "<para>\n\n</para>\n";
+ }
+ if (defined ($SymbolDocs{"$TMPL_DIR/$file:Stability_Level"})) {
+ $stability = $SymbolDocs{"$TMPL_DIR/$file:Stability_Level"};
+ delete $SymbolDocs{"$TMPL_DIR/$file:Stability_Level"};
+ } else {
+ $stability = "";
+ }
+ if (defined ($SymbolDocs{"$TMPL_DIR/$file:Image"})) {
+ $image = $SymbolDocs{"$TMPL_DIR/$file:Image"};
+ delete $SymbolDocs{"$TMPL_DIR/$file:Image"};
+ } else {
+ $image = "";
+ }
+
+
+ my $old_tmpl_file = "$TMPL_DIR/$file";
+ my $new_tmpl_file = "$TMPL_DIR/$file.new";
+
+ open (OUTPUT, ">$new_tmpl_file")
+ || die "Can't create $new_tmpl_file";
+
+ print (OUTPUT <<EOF);
+<!-- ##### SECTION Title ##### -->
+$title
+
+<!-- ##### SECTION Short_Description ##### -->
+$short_desc
+
+<!-- ##### SECTION Long_Description ##### -->
+$long_desc
+
+<!-- ##### SECTION See_Also ##### -->
+$see_also
+
+<!-- ##### SECTION Stability_Level ##### -->
+$stability
+
+<!-- ##### SECTION Image ##### -->
+$image
+
+EOF
+
+ print (OUTPUT $$output) unless $ONLY_SECTION_TMPL;
+ close (OUTPUT);
+
+ return &UpdateFileIfChanged ($old_tmpl_file, $new_tmpl_file, 1);
+}
+
+
+#############################################################################
+# Function : OutputSignalTemplates
+# Description : Outputs templates for signal handlers.
+# Arguments : $title - the title from the $MODULE-sections.txt file. If the
+# file is describing a GtkObject subclass, the title should
+# be the name of the class, e.g. 'GtkButton'.
+#############################################################################
+
+sub OutputSignalTemplates {
+ my ($title) = @_;
+
+ my $output = "";
+ my ($i, $template_exists);
+ for ($i = 0; $i <= $#SignalObjects; $i++) {
+ if ($SignalObjects[$i] eq $title) {
+# print "Found signal: $SignalObjects[$i]\n";
+ my ($symbol) = "$SignalObjects[$i]::$SignalNames[$i]";
+
+ # See if symbol already has a description.
+ my ($symbol_desc) = $SymbolDocs{$symbol};
+ if (defined ($symbol_desc)) {
+ $template_exists = 1;
+ $symbol_desc =~ s/\s+$//;
+ delete $SymbolDocs{$symbol};
+ } else {
+ $template_exists = 0;
+ $symbol_desc = "<para>\n$CHANGES_FLAG\n</para>";
+ }
+
+ $output .= <<EOF;
+<!-- ##### SIGNAL $symbol ##### -->
+$symbol_desc
+
+EOF
+ my $sourceparams = $SymbolParams{$symbol};
+ my @params = split ("[,\n]", $SignalPrototypes[$i]);
+ my ($j, $name);
+ for ($j = 0; $j <= $#params; $j++) {
+ my $param = $params[$j];
+ $param =~ s/^\s+//;
+ $param =~ s/\s*$//;
+ if ($param =~ m/^\s*$/) { next; }
+ if ($param =~ m/^void$/) { next; }
+
+ if ($param =~ m/^\s*(\w+)\s*(\**)\s*([\w\[\]]+)?\s*$/) {
+ if (defined ($sourceparams)) {
+ $name = $$sourceparams[2 * $j];
+ } else {
+ $name = $3;
+ }
+
+ if (!defined ($name)) {
+ $name = "Param" . ($j + 1);
+ }
+
+ if ($j == 0) {
+ $output .= &OutputParam ($symbol, $name,
+ $template_exists, 1,
+ "the object which received the signal.");
+ } else {
+ $output .= &OutputParam ($symbol, $name,
+ $template_exists, 1, "");
+ }
+ }
+ }
+
+ if ($SignalReturns[$i] ne "void") {
+ $output .= &OutputParam ($symbol, "Returns", $template_exists,
+ 1, "");
+ }
+ $output .= &OutputOldParams ($symbol);
+ $output .= "\n";
+ }
+ }
+ return $output;
+}
+
+
+#############################################################################
+# Function : OutputArgTemplates
+# Description : Outputs templates for Args.
+# Arguments : $title - the title from the $MODULE-sections.txt file. If the
+# file is describing a GtkObject subclass, the title should
+# be the name of the class, e.g. 'GtkButton'.
+#############################################################################
+
+sub OutputArgTemplates {
+ my ($title) = @_;
+
+ my $output = "";
+ my $i;
+ for ($i = 0; $i <= $#ArgObjects; $i++) {
+ if ($ArgObjects[$i] eq $title) {
+# print "Found arg: $ArgObjects[$i]\n";
+ # I've only used one colon so we don't clash with signals.
+ my ($symbol) = "$ArgObjects[$i]:$ArgNames[$i]";
+
+ # See if symbol already has a description.
+ my ($symbol_desc) = $SymbolDocs{$symbol};
+ if (defined ($symbol_desc)) {
+ delete $SymbolDocs{$symbol};
+ $symbol_desc =~ s/\s+$//;
+ } else {
+ $symbol_desc = "<para>\n$CHANGES_FLAG\n</para>";
+ }
+
+ $output .= <<EOF;
+<!-- ##### ARG $symbol ##### -->
+$symbol_desc
+
+EOF
+ }
+ }
+ return $output;
+}
+
+
+#############################################################################
+# Function : OutputUnusedTemplates
+# Description : This saves any unused documentation into $MODULE-unused.sgml.
+# Arguments : none
+#############################################################################
+
+sub OutputUnusedTemplates {
+ my ($old_unused_file) = "$TMPL_DIR/$MODULE-unused.sgml";
+ my ($new_unused_file) = "$TMPL_DIR/$MODULE-unused.new";
+
+ open (UNUSED, ">$new_unused_file")
+ || die "Can't open file: $new_unused_file";
+
+ my $output = "";
+ my ($symbol, $symbol_desc);
+ for $symbol (sort keys %SymbolDocs) {
+ $symbol_desc = $SymbolDocs{$symbol};
+
+# print "Unused: $symbol\n";
+
+ my $type = $SymbolTypes{$symbol};
+ if (!defined ($type)) {
+ $type = "UNKNOWN";
+ &LogWarning ($SymbolSourceFile{$symbol},$SymbolSourceLine{$symbol}, "Unused symbol $symbol has unknown type.");
+ }
+
+ $output .= <<EOF;
+<!-- ##### $type $symbol ##### -->
+$symbol_desc
+
+EOF
+
+ my ($params) = $SymbolParams{$symbol};
+ if (defined ($params)) {
+ my $j;
+ for ($j = 0; $j <= $#$params; $j += 2) {
+ my $param_name = $$params[$j];
+ my $param_desc = $$params[$j + 1];
+ $param_desc =~ s/\s+$//;
+ $output .= "\@$param_name: $param_desc\n";
+ }
+ }
+ $output .= "\n";
+ }
+
+ print UNUSED $output;
+ close (UNUSED);
+
+ &UpdateFileIfChanged ($old_unused_file, $new_unused_file, 1);
+}
+
+
+#############################################################################
+# LIBRARY FUNCTIONS - These functions are used in both gtkdoc-mkdb and
+# gtkdoc-mktmpl and should eventually be moved to a
+# separate library.
+#############################################################################
+
+#############################################################################
+# Function : ReadDeclarationsFile
+# Description : This reads in a file containing the function/macro/enum etc.
+# declarations.
+#
+# Note that in some cases there are several declarations with
+# the same name, e.g. for conditional macros. In this case we
+# set a flag in the %DeclarationConditional hash so the
+# declaration is not shown in the docs.
+#
+# If a macro and a function have the same name, e.g. for
+# gtk_object_ref, the function declaration takes precedence.
+#
+# Some opaque structs are just declared with 'typedef struct
+# _name name;' in which case the declaration may be empty.
+# The structure may have been found later in the header, so
+# that overrides the empty declaration.
+#
+# Arguments : $file - the declarations file to read
+# $override - if declarations in this file should override
+# any current declaration.
+#############################################################################
+
+sub ReadDeclarationsFile {
+ my ($file, $override) = @_;
+
+ if ($override == 0) {
+ %Declarations = ();
+ %DeclarationTypes = ();
+ %DeclarationConditional = ();
+ %DeclarationOutput = ();
+ }
+
+ open (INPUT, $file)
+ || die "Can't open $file";
+ my $declaration_type = "";
+ my $declaration_name;
+ my $declaration;
+ while (<INPUT>) {
+ if (!$declaration_type) {
+ if (m/^<([^>]+)>/) {
+ $declaration_type = $1;
+ $declaration_name = "";
+# print "Found declaration: $declaration_type\n";
+ $declaration = "";
+ }
+ } else {
+ if (m%^<NAME>(.*)</NAME>%) {
+ $declaration_name = $1;
+ } elsif (m%<DEPRECATED/>%) {
+ # do nothing, just skip the line; we handle this
+ # in mkdb
+ } elsif (m%^</$declaration_type>%) {
+# print "Found end of declaration: $declaration_name\n";
+ # Check that the declaration has a name
+ if ($declaration_name eq "") {
+ print "ERROR: $declaration_type has no name $file:$.\n";
+ }
+
+ # Check if the symbol is already defined.
+ if (defined ($Declarations{$declaration_name})
+ && $override == 0) {
+ # Function declarations take precedence.
+ if ($DeclarationTypes{$declaration_name} eq 'FUNCTION') {
+ # Ignore it.
+ } elsif ($declaration_type eq 'FUNCTION') {
+ $Declarations{$declaration_name} = $declaration;
+ $DeclarationTypes{$declaration_name} = $declaration_type;
+ } elsif ($DeclarationTypes{$declaration_name}
+ eq $declaration_type) {
+ # If the existing declaration is empty, or is just a
+ # forward declaration of a struct, override it.
+ if ($declaration_type eq 'STRUCT') {
+ if ($Declarations{$declaration_name} =~ m/^\s*(struct\s+\w+\s*;)?\s*$/) {
+ $Declarations{$declaration_name} = $declaration;
+ } elsif ($declaration =~ m/^\s*(struct\s+\w+\s*;)?\s*$/) {
+ # Ignore an empty or forward declaration.
+ } else {
+ &LogWarning ($file, $., "Structure $declaration_name has multiple definitions.");
+ }
+
+ } else {
+ # set flag in %DeclarationConditional hash for
+ # multiply defined macros/typedefs.
+ $DeclarationConditional{$declaration_name} = 1;
+ }
+ } else {
+ &LogWarning ($file, $., "$declaration_name has multiple definitions.");
+ }
+ } else {
+ $Declarations{$declaration_name} = $declaration;
+ $DeclarationTypes{$declaration_name} = $declaration_type;
+ }
+ $declaration_type = "";
+ } else {
+ $declaration .= $_;
+ }
+ }
+ }
+ close (INPUT);
+}
+
+
+#############################################################################
+# Function : ReadSignalsFile
+# Description : This reads in an existing file which contains information on
+# all GObject signals. It creates the arrays @SignalNames and
+# @SignalPrototypes containing info on the signals. The first
+# line of the SignalPrototype is the return type of the signal
+# handler. The remaining lines are the parameters passed to it.
+# The last parameter, "gpointer user_data" is always the same
+# so is not included.
+# Arguments : $file - the file containing the signal handler prototype
+# information.
+#############################################################################
+
+sub ReadSignalsFile {
+ my ($file) = @_;
+
+ my $in_signal = 0;
+ my $signal_object;
+ my $signal_name;
+ my $signal_returns;
+ my $signal_flags;
+ my $signal_prototype;
+
+ # Reset the signal info.
+ @SignalObjects = ();
+ @SignalNames = ();
+ @SignalReturns = ();
+ @SignalFlags = ();
+ @SignalPrototypes = ();
+
+ if (! -f $file) {
+ return;
+ }
+ if (!open (INPUT, $file)) {
+ warn "Can't open $file - skipping signals\n";
+ return;
+ }
+ while (<INPUT>) {
+ if (!$in_signal) {
+ if (m/^<SIGNAL>/) {
+ $in_signal = 1;
+ $signal_object = "";
+ $signal_name = "";
+ $signal_returns = "";
+ $signal_prototype = "";
+ }
+ } else {
+ if (m/^<NAME>(.*)<\/NAME>/) {
+ $signal_name = $1;
+ if ($signal_name =~ m/^(.*)::(.*)$/) {
+ $signal_object = $1;
+ ($signal_name = $2) =~ s/_/-/g;
+# print "Found signal: $signal_name\n";
+ } else {
+ print "Invalid signal name: $signal_name\n";
+ }
+ } elsif (m/^<RETURNS>(.*)<\/RETURNS>/) {
+ $signal_returns = $1;
+ } elsif (m/^<FLAGS>(.*)<\/FLAGS>/) {
+ $signal_flags = $1;
+ } elsif (m%^</SIGNAL>%) {
+# print "Found end of signal: ${signal_object}::${signal_name}\nReturns: ${signal_returns}\n${signal_prototype}";
+ push (@SignalObjects, $signal_object);
+ push (@SignalNames, $signal_name);
+ push (@SignalReturns, $signal_returns);
+ push (@SignalFlags, $signal_flags);
+ push (@SignalPrototypes, $signal_prototype);
+ $in_signal = 0;
+ } else {
+ $signal_prototype .= $_;
+ }
+ }
+ }
+ close (INPUT);
+}
+
+
+#############################################################################
+# Function : ReadTemplateFile
+# Description : This reads in the manually-edited documentation file
+# corresponding to the file currently being created, so we can
+# insert the documentation at the appropriate places.
+# It outputs %SymbolTypes, %SymbolDocs and %SymbolParams, which
+# is a hash of arrays.
+# NOTE: This function is duplicated in gtkdoc-mkdb (but
+# slightly different).
+# Arguments : $docsfile - the template file to read in.
+# $skip_unused_params - 1 if the unused parameters should be
+# skipped.
+#############################################################################
+
+sub ReadTemplateFile {
+ my ($docsfile, $skip_unused_params) = @_;
+
+# print "Reading $docsfile\n";
+ if (! -f $docsfile) {
+ print "File doesn't exist: $docsfile\n";
+ return 0;
+ }
+
+ my $CurrentType = ""; # Type of symbol being read.
+ my $CurrentSymbol = ""; # Name of symbol being read.
+ my $SymbolDoc = ""; # Description of symbol being read.
+ my @Params; # Parameter names and descriptions of current
+ # function/macro/function typedef.
+ my $CurrentParam = -1; # Index of parameter currently being read.
+ # Note that the param array contains pairs
+ # of param name & description.
+ my $InUnusedParameters = 0; # True if we are reading in the unused params.
+
+ open (DOCS, $docsfile)
+ || die "Can't open file $docsfile: $!";
+ while (<DOCS>) {
+ if (m/^<!-- ##### ([A-Z_]+) (\S+) ##### -->/) {
+ my $type = $1;
+ my $symbol = $2;
+ if ($symbol eq "Title"
+ || $symbol eq "Short_Description"
+ || $symbol eq "Long_Description"
+ || $symbol eq "See_Also"
+ || $symbol eq "Stability_Level"
+ || $symbol eq "Image") {
+ $symbol = $docsfile . ":" . $symbol;
+ }
+
+ #print "Found symbol: $symbol\n";
+ # Remember file and line for the symbol
+ $SymbolSourceFile{$symbol} = $docsfile;
+ $SymbolSourceLine{$symbol} = $.;
+
+ # Canonicalize signal and argument names to have -, not _
+ if ($type eq "ARG" || $type eq "SIGNAL") {
+ $symbol =~ s/_/-/g;
+ }
+
+ # Store previous symbol, but remove any trailing blank lines.
+ if ($CurrentSymbol ne "") {
+ $SymbolDoc =~ s/\s+$//;
+ $SymbolTypes{$CurrentSymbol} = $CurrentType;
+ $SymbolDocs{$CurrentSymbol} = $SymbolDoc;
+
+ if ($CurrentParam >= 0) {
+ $SymbolParams{$CurrentSymbol} = [ @Params ];
+ } else {
+ # Delete any existing params in case we are overriding a
+ # previously read template.
+ delete $SymbolParams{$CurrentSymbol};
+ }
+ }
+ $CurrentType = $type;
+ $CurrentSymbol = $symbol;
+ $CurrentParam = -1;
+ $InUnusedParameters = 0;
+ $SymbolDoc = "";
+ @Params = ();
+
+ } elsif (m/^<!-- # Unused Parameters # -->/) {
+ $InUnusedParameters = 1;
+ next;
+
+ } else {
+ # Workaround for an old bug that left a mess in the templates.
+ # This happened with macros with args spread over several lines.
+ if (m/^\@\\$/) {
+ # Skip the next line.
+ $_ = <DOCS>;
+ next;
+ }
+
+ # Workaround for an old bug that left '@:' at start of lines.
+ if (m/^\@:$/) {
+ next;
+ }
+
+
+ # Check if param found. Need to handle "..." and "format...".
+ if (s/^\@([\w\.]+):\040?//) {
+ my $param_name = $1;
+ # Allow variations of 'Returns'
+ if ($param_name =~ m/^[Rr]eturns?$/) {
+ $param_name = "Returns";
+ }
+# print "Found param: $param_name\n";
+ push (@Params, $param_name);
+ push (@Params, $_);
+ $CurrentParam += 2;
+ next;
+ }
+
+ # When outputting the DocBook we skip unused parameters.
+ if (!$InUnusedParameters || !$skip_unused_params) {
+ if ($CurrentParam >= 0) {
+ $Params[$CurrentParam] .= $_;
+ } else {
+ $SymbolDoc .= $_;
+ }
+ }
+ }
+ }
+
+ # Remember to finish the current symbol doccs.
+ if ($CurrentSymbol ne "") {
+
+ $SymbolDoc =~ s/\s+$//;
+ $SymbolTypes{$CurrentSymbol} = $CurrentType;
+ $SymbolDocs{$CurrentSymbol} = $SymbolDoc;
+
+ if ($CurrentParam >= 0) {
+ $SymbolParams{$CurrentSymbol} = [ @Params ];
+ } else {
+ delete $SymbolParams{$CurrentSymbol};
+ }
+ }
+
+ close (DOCS);
+ return 1;
+}
+
+
+#############################################################################
+# Function : ReadObjectHierarchy
+# Description : This reads in the $MODULE-hierarchy.txt file containing all
+# the GtkObject subclasses described in this module (and their
+# ancestors).
+# It places them in the @Objects array, and places their level
+# in the widget hierarchy in the @ObjectLevels array, at the
+# same index. GtkObject, the root object, has a level of 1.
+#
+# FIXME: the version in gtkdoc-mkdb also generates tree_index.sgml
+# as it goes along, this should be split out into a separate
+# function.
+#
+# Arguments : none
+#############################################################################
+
+sub ReadObjectHierarchy {
+ @Objects = ();
+ @ObjectLevels = ();
+
+ if (! -f $OBJECT_TREE_FILE) {
+ return;
+ }
+ if (!open (INPUT, $OBJECT_TREE_FILE)) {
+ warn "Can't open $OBJECT_TREE_FILE - skipping object tree\n";
+ return;
+ }
+ while (<INPUT>) {
+ if (m/\S+/) {
+ my $object = $&;
+ my $level = (length($`)) / 2 + 1;
+# print ("Level: $level Object: $object\n");
+
+ push (@Objects, $object);
+ push (@ObjectLevels, $level);
+ }
+ }
+
+ close (INPUT);
+}
+
+
+#############################################################################
+# Function : ReadArgsFile
+# Description : This reads in an existing file which contains information on
+# all GObject args. It creates the arrays @ArgObjects, @ArgNames,
+# @ArgTypes and @ArgFlags containing info on the args.
+# Arguments : $file - the file containing the arg information.
+#############################################################################
+
+sub ReadArgsFile {
+ my ($file) = @_;
+
+ my $in_arg = 0;
+ my $arg_object;
+ my $arg_name;
+ my $arg_type;
+ my $arg_flags;
+
+ # Reset the signal info.
+ @ArgObjects = ();
+ @ArgNames = ();
+ @ArgTypes = ();
+ @ArgFlags = ();
+
+ if (! -f $file) {
+ return;
+ }
+ if (!open (INPUT, $file)) {
+ warn "Can't open $file - skipping args\n";
+ return;
+ }
+ while (<INPUT>) {
+ if (!$in_arg) {
+ if (m/^<ARG>/) {
+ $in_arg = 1;
+ $arg_object = "";
+ $arg_name = "";
+ $arg_type = "";
+ $arg_flags = "";
+ }
+ } else {
+ if (m/^<NAME>(.*)<\/NAME>/) {
+ $arg_name = $1;
+ if ($arg_name =~ m/^(.*)::(.*)$/) {
+ $arg_object = $1;
+ ($arg_name = $2) =~ s/_/-/g;
+# print "Found arg: $arg_name\n";
+ } else {
+ print "Invalid arg name: $arg_name\n";
+ }
+ } elsif (m/^<TYPE>(.*)<\/TYPE>/) {
+ $arg_type = $1;
+ } elsif (m/^<FLAGS>(.*)<\/FLAGS>/) {
+ $arg_flags = $1;
+ } elsif (m%^</ARG>%) {
+# print "Found end of arg: ${arg_object}::${arg_name}\n${arg_type} : ${arg_flags}\n";
+ push (@ArgObjects, $arg_object);
+ push (@ArgNames, $arg_name);
+ push (@ArgTypes, $arg_type);
+ push (@ArgFlags, $arg_flags);
+ $in_arg = 0;
+ }
+ }
+ }
+ close (INPUT);
+}
+
+
+#############################################################################
+# Function : CheckIsObject
+# Description : Returns 1 if the given name is a GObject or a subclass.
+# It uses the global @Objects array.
+# Note that the @Objects array only contains classes in the
+# current module and their ancestors - not all GObject classes.
+# Arguments : $name - the name to check.
+#############################################################################
+
+sub CheckIsObject {
+ my ($name) = @_;
+
+ my $object;
+ foreach $object (@Objects) {
+ if ($object eq $name) {
+ return 1;
+ }
+ }
+ return 0;
+}
+
--- /dev/null
+#!@PERL@ -w
+# -*- cperl -*-
+#
+# gtk-doc - GTK DocBook documentation generator.
+# Copyright (C) 1998 Damon Chaplin
+# Copyright (C) 2007 David Necas (Yeti)
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+#
+
+#############################################################################
+# Script : gtkdoc-rebase
+# Description : Rebases URI references in installed HTML documentation.
+#############################################################################
+
+use strict;
+use bytes;
+use Getopt::Long qw(:config gnu_getopt);
+use Cwd qw(realpath);
+
+# Options
+
+my $HTML_DIR;
+my @OTHER_DIRS;
+my $DEST_DIR;
+my $PRINT_VERSION;
+my $PRINT_HELP;
+my $AGGRESSIVE;
+my $ONLINE;
+my $RELATIVE;
+my $VERBOSE;
+
+my %optctl = ('html-dir' => \$HTML_DIR,
+ 'other-dir' => \@OTHER_DIRS,
+ 'dest-dir' => \$DEST_DIR,
+ 'online' => \$ONLINE,
+ 'relative' => \$RELATIVE,
+ 'aggressive' => \$AGGRESSIVE,
+ 'verbose' => \$VERBOSE,
+ 'version' => \$PRINT_VERSION,
+ 'help' => \$PRINT_HELP);
+GetOptions(\%optctl, 'html-dir=s', 'other-dir=s@', 'dest-dir:s',
+ 'online', 'relative', 'aggressive', 'verbose',
+ 'version', 'help');
+
+if ($PRINT_VERSION) {
+ print "@VERSION@\n";
+ exit 0;
+}
+
+if ($PRINT_HELP) {
+ print <<EOF;
+gtkdoc-rebase version @VERSION@ - rewrite the base url of html files
+
+--html-dir=HTML_DIR The directory which contains the installed HTML
+--other-dir=OTHER_DIR Directories to recursively scan for indices (index.sgml)
+ May be used more than once for multiple directories
+--online Prefer cross-references to online documents
+--relative Prefer relative cross-references
+--aggressive Rebase links to all files that are under a directory
+ matching a package name.
+--dest-dir=ROOT_DIR Staging area virtual root, this prefix will be removed
+ from HTML_DIR fore relative link calculation.
+--verbose Be verbose
+--version Print the version of this program
+--help Print this help
+EOF
+ exit 0;
+}
+
+if (!$HTML_DIR) {
+ die "No HTML directory (--html-dir) given.\n";
+}
+
+# Maps.
+# These two point to the last seen URI of given type for a package:
+# OnlineMap: package => on-line URI
+# LocalMap: package => local URI
+# This maps all seen URIs of a package to fix broken links in the process:
+# RevMap: URI => package
+my (%OnlineMap, %LocalMap, %RevMap);
+# Remember what mangling we did.
+my %Mapped;
+
+my $dir;
+
+# We scan the directory containing GLib and any directories in GNOME2_PATH
+# first, but these will be overriden by any later scans.
+if (defined ($ENV{"GNOME2_PATH"})) {
+ foreach $dir (split(/:/, $ENV{"GNOME2_PATH"})) {
+ $dir = $dir . "/share/gtk-doc/html";
+ if ($dir && -d $dir) {
+ print "Prepending GNOME2_PATH directory: $dir\n" if $VERBOSE;
+ unshift @OTHER_DIRS, $dir;
+ }
+ }
+}
+
+$dir = `pkg-config --variable=prefix glib-2.0`;
+$dir =~ s/^\s*(\S*)\s*$/$1/;
+$dir = $dir . "/share/gtk-doc/html";
+print "Prepending GLib directory $dir\n" if $VERBOSE;
+unshift @OTHER_DIRS, $dir;
+
+# Check all other dirs, but skip already scanned dirs ord subdirs of those
+if ($DEST_DIR) {
+ $DEST_DIR =~ s#/?$#/#;
+}
+$HTML_DIR =~ s#/?$#/#;
+
+foreach $dir (@OTHER_DIRS) {
+ &ScanDirectory($dir, $HTML_DIR);
+}
+
+if ($RELATIVE) {
+ &RelativizeLocalMap($HTML_DIR);
+}
+
+&RebaseReferences($HTML_DIR);
+&PrintWhatWeHaveDone();
+
+
+sub ScanDirectory {
+ my ($dir, $self) = @_;
+ # This array holds any subdirectories found.
+ my (@subdirs) = ();
+
+ print "Scanning documentation directory $dir\n" if $VERBOSE;
+
+ if ("$dir/" eq $self) {
+ print "Excluding self\n" if $VERBOSE;
+ return;
+ }
+ if (not opendir(HTMLDIR, $dir)) {
+ print "Cannot open $dir: $!\n";
+ return;
+ }
+
+ my $file;
+ foreach $file (readdir(HTMLDIR)) {
+ if ($file eq '.' or $file eq '..') {
+ next;
+ }
+ elsif (-d "$dir/$file") {
+ push @subdirs, $file;
+ }
+ elsif ($file eq "index.sgml") {
+ &AddMap($dir);
+ }
+ elsif ($file eq "index.sgml.gz") {
+ print "Please fix https://bugs.launchpad.net/ubuntu/+source/gtk-doc/+bug/77138\n";
+ }
+ }
+ closedir (HTMLDIR);
+
+ # Now recursively scan the subdirectories.
+ my $d;
+ foreach my $subdir (@subdirs) {
+ &ScanDirectory("$dir/$subdir", $self);
+ }
+}
+
+
+sub AddMap {
+ my ($dir) = @_;
+ my $file = "$dir/index.sgml";
+ my ($onlinedir, $package);
+
+ open(INDEXFILE, $file) || die "Can't open $file: $!";
+ while (<INDEXFILE>) {
+ # ONLINE must come before any ANCHORs
+ last if m/^<ANCHOR/;
+ if (m/^<ONLINE\s+href\s*=\s*"([^"]+)"\s*>/) {
+ $onlinedir = $1;
+ # Remove trailing non-directory component.
+ $onlinedir =~ s#(.*/).*#$1#;
+ }
+ }
+ close (INDEXFILE);
+
+ $dir =~ s#/?$#/#;
+ ($package = $dir) =~ s#.*/([^/]+)/#$1#;
+ if ($DEST_DIR and substr($dir, 0, length $DEST_DIR) eq $DEST_DIR) {
+ $dir = substr($dir, -1 + length $DEST_DIR);
+ }
+ if ($onlinedir) {
+ print "On-line location of $package: $onlinedir\n" if $VERBOSE;
+ $OnlineMap{ $package } = $onlinedir;
+ $RevMap{ $onlinedir } = $package;
+ }
+ print "Local location of $package: $dir\n" if $VERBOSE;
+ $LocalMap{ $package } = $dir;
+ $RevMap{ $dir } = $package;
+}
+
+
+sub RelativizeLocalMap {
+ my ($self) = @_;
+ my $prefix;
+
+ $self = realpath $self;
+ $self =~ s#/?$#/#;
+ ($prefix = $self) =~ s#[^/]+/$##;
+ foreach my $package (keys %LocalMap) {
+ $dir = $LocalMap{ $package };
+ if (substr($dir, 0, length $prefix) eq $prefix) {
+ $dir = "../" . substr($dir, length $prefix);
+ $LocalMap{ $package } = $dir;
+ print "Relativizing local location of $package to $dir\n" if $VERBOSE;
+ }
+ }
+}
+
+
+sub RebaseReferences {
+ my ($dir) = @_;
+
+ opendir(HTMLDIR, $dir) || die "Can't open HTML directory $dir: $!";
+ foreach my $file (readdir(HTMLDIR)) {
+ if ($file =~ m/\.html?$/) {
+ &RebaseFile("$dir$file");
+ }
+ }
+ closedir (HTMLDIR);
+}
+
+
+sub RebaseFile {
+ my ($file) = @_;
+ print "Fixing file: $file\n" if $VERBOSE;
+
+ open(HTMLFILE, $file) || die "Can't open $file: $!";
+ local $/;
+ undef $/;
+ my $text = <HTMLFILE>;
+ close(HTMLFILE);
+
+ $text =~ s#(<a(?:\s+\w+=(?:"[^"]*"|'[^']*'))*\s+href=")([^"]*)(")#$1 . &RebaseLink($2) .$3#gse;
+
+ open(NEWFILE, ">$file.new") || die "Can't open $file: $!";
+ print NEWFILE $text;
+ close(NEWFILE);
+
+ unlink($file) || die "Can't delete $file: $!";
+ rename("$file.new", $file) || die "Can't rename $file.new: $!";
+}
+
+
+sub RebaseLink {
+ my ($href) = @_;
+ my ($dir, $origdir, $file, $package);
+
+ if ($href =~ m#^(.*/)([^/]*)$#) {
+ $dir = $origdir = $1;
+ $file = $2;
+ if ($RevMap{ $dir }) {
+ $package = $RevMap{ $dir };
+ }
+ elsif ($dir =~ m#^\.\./([^/]+)/#) {
+ $package = $1
+ }
+ elsif ($AGGRESSIVE) {
+ $dir =~ m#([^/]+)/$#;
+ $package = $1;
+ }
+
+ if ($package) {
+ if ($ONLINE && $OnlineMap{ $package }) {
+ $dir = $OnlineMap{ $package };
+ }
+ elsif ($LocalMap{ $package }) {
+ $dir = $LocalMap{ $package };
+ }
+ $href = $dir . $file;
+ }
+ if ($dir ne $origdir) {
+ if ($Mapped{ $origdir }) {
+ $Mapped{ $origdir }->[1]++;
+ }
+ else {
+ $Mapped{ $origdir } = [ $dir, 1 ];
+ }
+ }
+ }
+ return $href;
+}
+
+
+sub PrintWhatWeHaveDone {
+ my ($origdir, $info);
+ foreach $origdir (sort keys %Mapped) {
+ $info = $Mapped{$origdir};
+ print "$origdir -> ", $info->[0], " (", $info->[1], ")\n";
+ }
+}
--- /dev/null
+#!@PERL@ -w
+# -*- cperl -*-
+#
+# gtk-doc - GTK DocBook documentation generator.
+# Copyright (C) 1998 Damon Chaplin
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+#
+
+#############################################################################
+# Script : gtkdoc-scan
+# Description : Extracts declarations of functions, macros, enums, structs
+# and unions from header files.
+#
+# It is called with a module name, an optional source directory,
+# an optional output directory, and the header files to scan.
+#
+# It outputs all declarations found to a file named
+# '$MODULE-decl.txt', and the list of decarations to another
+# file '$MODULE-decl-list.txt'.
+#
+# This second list file is typically copied to
+# '$MODULE-sections.txt' and organized into sections ready to
+# output the SGML pages.
+#############################################################################
+
+use strict;
+use Getopt::Long;
+use Cwd qw(realpath);
+
+push @INC, '@PACKAGE_DATA_DIR@';
+require "gtkdoc-common.pl";
+
+# Options
+
+# name of documentation module
+my $MODULE;
+my $OUTPUT_DIR;
+my @SOURCE_DIRS;
+my $IGNORE_HEADERS = "";
+my $REBUILD_TYPES;
+my $REBUILD_SECTIONS;
+my $PRINT_VERSION;
+my $PRINT_HELP;
+# regexp matching cpp symbols which surround deprecated stuff
+# e.g. 'GTK_ENABLE_BROKEN|GTK_DISABLE_DEPRECATED'
+# these are detected if they are used as #if FOO, #ifndef FOO, or #ifdef FOO
+my $DEPRECATED_GUARDS;
+# regexp matching decorators that should be ignored
+my $IGNORE_DECORATORS;
+
+my %optctl = (module => \$MODULE,
+ 'source-dir' => \@SOURCE_DIRS,
+ 'ignore-headers' => \$IGNORE_HEADERS,
+ 'output-dir' => \$OUTPUT_DIR,
+ 'rebuild-types' => \$REBUILD_TYPES,
+ 'rebuild-sections' => \$REBUILD_SECTIONS,
+ 'version' => \$PRINT_VERSION,
+ 'help' => \$PRINT_HELP,
+ 'deprecated-guards' => \$DEPRECATED_GUARDS,
+ 'ignore-decorators' => \$IGNORE_DECORATORS);
+GetOptions(\%optctl, "module=s", "source-dir:s", "ignore-headers:s",
+ "output-dir:s", "rebuild-types", "rebuild-sections", "version",
+ "help", "deprecated-guards:s", "ignore-decorators:s");
+
+if ($PRINT_VERSION) {
+ print "@VERSION@\n";
+ exit 0;
+}
+
+if (!$MODULE) {
+ $PRINT_HELP = 1;
+}
+
+if ($PRINT_HELP) {
+ print <<EOF;
+gtkdoc-scan version @VERSION@ - scan header files for public symbols
+
+--module=MODULE_NAME Name of the doc module being parsed
+--source-dir=DIRNAME Directories containing the source files to scan
+--ignore-headers=FILES A space-separated list of header files/dirs not to
+ scan
+--output-dir=DIRNAME The directory where the results are stored
+--deprecated-guards=GUARDS A |-separated list of symbols used as deprecation
+ guards
+--ignore-decorators=DECS A |-separated list of addition decorators in
+ declarations that should be ignored
+--rebuild-sections Rebuild (overwrite) the MODULE-sections.txt file
+--rebuild-types Automatically recreate the MODULE.types file using
+ all the *_get_type() functions found
+--version Print the version of this program
+--help Print this help
+EOF
+ exit 0;
+}
+
+$DEPRECATED_GUARDS = $DEPRECATED_GUARDS ? $DEPRECATED_GUARDS : "does_not_match_any_cpp_symbols_at_all_nope";
+
+$IGNORE_DECORATORS = $IGNORE_DECORATORS || "(?=no)match";
+
+$OUTPUT_DIR = $OUTPUT_DIR ? $OUTPUT_DIR : ".";
+
+if (!-d ${OUTPUT_DIR}) {
+ mkdir($OUTPUT_DIR, 0755) || die "Cannot create $OUTPUT_DIR: $!";
+}
+
+my $old_decl_list = "${OUTPUT_DIR}/$MODULE-decl-list.txt";
+my $new_decl_list = "${OUTPUT_DIR}/$MODULE-decl-list.new";
+my $old_decl = "${OUTPUT_DIR}/$MODULE-decl.txt";
+my $new_decl = "${OUTPUT_DIR}/$MODULE-decl.new";
+my $old_types = "${OUTPUT_DIR}/$MODULE.types";
+my $new_types = "${OUTPUT_DIR}/$MODULE.types.new";
+my $sections_file = "${OUTPUT_DIR}/$MODULE-sections.txt";
+
+# If this is the very first run then we create the .types file automatically.
+if (! -e $sections_file && ! -e $old_types) {
+ $REBUILD_TYPES = 1;
+}
+
+open (DECLLIST, ">$new_decl_list")
+ || die "Can't open $new_decl_list";
+open (DECL, ">$new_decl")
+ || die "Can't open $new_decl";
+if ($REBUILD_TYPES) {
+ open (TYPES, ">$new_types")
+ || die "Can't open $new_types";
+}
+
+my %section_list = ();
+my $file;
+
+my @get_types = ();
+
+
+# do not read files twice; checking it here permits to give both srcdir and
+# builddir as --source-dir without fear of duplicities
+my %seen_headers;
+
+# The header files to scan are passed in as command-line args.
+for $file (@ARGV) {
+ &ScanHeader ($file, \%section_list);
+}
+
+for my $dir (@SOURCE_DIRS) {
+ &ScanHeaders ($dir, \%section_list);
+}
+
+## FIXME: sort by key and output
+#print DECLLIST $section_list;
+my $section;
+foreach $section (sort(keys %section_list)) {
+ print DECLLIST "$section_list{$section}";
+}
+
+close (DECLLIST);
+close (DECL);
+
+if ($REBUILD_TYPES) {
+ my $func;
+
+ foreach $func (sort(@get_types)) {
+ print TYPES "$func\n";
+ }
+ close (TYPES);
+ &UpdateFileIfChanged ($old_types, $new_types, 1);
+
+ # remove the file if empty
+ if (scalar (@get_types) == 0) {
+ unlink ("$new_types");
+ }
+}
+
+&UpdateFileIfChanged ($old_decl_list, $new_decl_list, 1);
+&UpdateFileIfChanged ($old_decl, $new_decl, 1);
+
+# If there is no MODULE-sections.txt file yet or we are asked to rebuild it,
+# we copy the MODULE-decl-list.txt file into its place. The user can tweak it
+# later if they want.
+if ($REBUILD_SECTIONS || ! -e $sections_file) {
+ `cp $old_decl_list $sections_file`;
+}
+
+# If there is no MODULE-overrides.txt file we create an empty one
+# because EXTRA_DIST in gtk-doc.make requires it.
+my $overrides_file = "${OUTPUT_DIR}/$MODULE-overrides.txt";
+if (! -e $overrides_file) {
+ `touch $overrides_file`;
+}
+
+
+
+#############################################################################
+# Function : ScanHeaders
+# Description : This scans a directory tree looking for header files.
+#
+# Arguments : $source_dir - the directory to scan.
+# $section_list - a reference to the hashmap of sections.
+#############################################################################
+
+sub ScanHeaders {
+ my ($source_dir, $section_list) = @_;
+ @TRACE@("Scanning source directory: $source_dir");
+
+ # This array holds any subdirectories found.
+ my (@subdirs) = ();
+
+ opendir (SRCDIR, $source_dir)
+ || die "Can't open source directory $source_dir: $!";
+ my $file;
+ foreach $file (readdir (SRCDIR)) {
+ if ($file eq '.' || $file eq '..' || $file =~ /^\./) {
+ next;
+ } elsif (-d "$source_dir/$file") {
+ push (@subdirs, $file);
+ } elsif ($file =~ m/\.h$/) {
+ &ScanHeader ("$source_dir/$file", $section_list);
+ }
+ }
+ closedir (SRCDIR);
+
+ # Now recursively scan the subdirectories.
+ my $dir;
+ foreach $dir (@subdirs) {
+ next if ($IGNORE_HEADERS =~ m/(\s|^)\Q${dir}\E(\s|$)/);
+ &ScanHeaders ("$source_dir/$dir", $section_list);
+ }
+}
+
+
+#############################################################################
+# Function : ScanHeader
+# Description : This scans a header file, looking for declarations of
+# functions, macros, typedefs, structs and unions, which it
+# outputs to the DECL file.
+# Arguments : $input_file - the header file to scan.
+# $section_list - a reference to the hashmap of sections.
+# Returns : it adds declarations to the appropriate list.
+#############################################################################
+
+sub ScanHeader {
+ my ($input_file, $section_list) = @_;
+
+ my $list = ""; # Holds the resulting list of declarations.
+ my ($in_comment) = 0; # True if we are in a comment.
+ my ($in_declaration) = ""; # The type of declaration we are in, e.g.
+ # 'function' or 'macro'.
+ my ($skip_block) = 0; # True if we should skip a block.
+ my ($symbol); # The current symbol being declared.
+ my ($decl); # Holds the declaration of the current symbol.
+ my ($ret_type); # For functions and function typedefs this
+ # holds the function's return type.
+ my ($pre_previous_line) = ""; # The pre-previous line read in - some Gnome
+ # functions have the return type on one
+ # line, the function name on the next,
+ # and the rest of the declaration after.
+ my ($previous_line) = ""; # The previous line read in - some Gnome
+ # functions have the return type on one line
+ # and the rest of the declaration after.
+ my ($first_macro) = 1; # Used to try to skip the standard #ifdef XXX
+ # #define XXX at the start of headers.
+ my ($level); # Used to handle structs/unions which contain
+ # nested structs or unions.
+ my @objects = (); # Holds declarations that look like GtkObject
+ # subclasses, which we remove from the list.
+ my ($internal) = 0; # Set to 1 for internal symbols, we need to
+ # fully parse, but don't add them to docs
+ my %forward_decls = (); # hashtable of forward declarations, we skip
+ # them if we find the real declaration
+ # later.
+
+ my $file_basename;
+
+ my $deprecated_conditional_nest = 0;
+ my $ignore_conditional_nest = 0;
+
+ my $deprecated = "";
+
+ # Don't scan headers twice
+ my $canonical_input_file = realpath $input_file;
+ if (exists $seen_headers{$canonical_input_file}) {
+ @TRACE@("File already scanned: $input_file");
+ return;
+ }
+ $seen_headers{$canonical_input_file} = 1;
+
+ if ($input_file =~ m/^.*[\/\\](.*)\.h+$/) {
+ $file_basename = $1;
+ } else {
+ LogWarning(__FILE__,__LINE__,"Can't find basename of file $input_file");
+ $file_basename = $input_file;
+ }
+
+ # Check if the basename is in the list of headers to ignore.
+ if ($IGNORE_HEADERS =~ m/(\s|^)\Q${file_basename}\E\.h(\s|$)/) {
+ @TRACE@("File ignored: $input_file");
+ return;
+ }
+
+ if (! -f $input_file) {
+ LogWarning(__FILE__,__LINE__,"File doesn't exist: $input_file");
+ return;
+ }
+
+ @TRACE@("Scanning $input_file");
+
+ open(INPUT, $input_file)
+ || die "Can't open $input_file: $!";
+ while(<INPUT>) {
+ # If this is a private header, skip it.
+ if (m%^\s*/\*\s*<\s*private_header\s*>\s*\*/%) {
+ close(INPUT);
+ return;
+ }
+
+ # Skip to the end of the current comment.
+ if ($in_comment) {
+ @TRACE@("Comment: $_");
+ if (m%\*/%) {
+ $in_comment = 0;
+ }
+ next;
+ }
+
+ # Keep a count of #if, #ifdef, #ifndef nesting,
+ # and if we enter a deprecation-symbol-bracketed
+ # zone, take note.
+ if (m/^\s*#\s*if(?:n?def\b|\s+!?\s*defined\s*\()\s*(\w+)/) {
+ my $define_name = $1;
+ if ($deprecated_conditional_nest == 0 and $define_name =~ /$DEPRECATED_GUARDS/) {
+ $deprecated_conditional_nest = 1;
+ } elsif ($deprecated_conditional_nest > 0) {
+ $deprecated_conditional_nest += 1;
+ }
+ if ($ignore_conditional_nest == 0 and $define_name =~ /__GTK_DOC_IGNORE__/) {
+ $ignore_conditional_nest = 1;
+ } elsif ($ignore_conditional_nest > 0) {
+ $ignore_conditional_nest += 1;
+ }
+ } elsif (m/^\s*#\sif/) {
+ if ($deprecated_conditional_nest > 0) {
+ $deprecated_conditional_nest += 1;
+ }
+ if ($ignore_conditional_nest > 0) {
+ $ignore_conditional_nest += 1;
+ }
+ } elsif (m/^\s*#endif/) {
+ if ($deprecated_conditional_nest > 0) {
+ $deprecated_conditional_nest -= 1;
+ }
+ if ($ignore_conditional_nest > 0) {
+ $ignore_conditional_nest -= 1;
+ }
+ }
+
+ # set global that is used later when we do AddSymbolToList
+ if ($deprecated_conditional_nest > 0) {
+ $deprecated = "<DEPRECATED/>\n";
+ } else {
+ $deprecated = "";
+ }
+
+ if($ignore_conditional_nest) {
+ next;
+ }
+
+ if (!$in_declaration) {
+ # Skip top-level comments.
+ if (s%^\s*/\*%%) {
+ if (m%\*/%) {
+ @TRACE@("Found one-line comment: $_");
+ } else {
+ $in_comment = 1;
+ @TRACE@("Found start of comment: $_");
+ }
+ next;
+ }
+
+ @TRACE@("0: $_");
+
+ # MACROS
+
+ if (m/^\s*#\s*define\s+(\w+)/) {
+ $symbol = $1;
+ $decl = $_;
+ # We assume all macros which start with '_' are private, but
+ # we accept '_' itself which is the standard gettext macro.
+ # We also try to skip the first macro if it looks like the
+ # standard #ifndef HEADER_FILE #define HEADER_FILE etc.
+ # And we only want TRUE & FALSE defined in GLib (libdefs.h in
+ # libgnome also defines them if they are not already defined).
+ if (($symbol !~ m/^_/
+ && ($previous_line !~ m/#ifndef\s+$symbol/
+ || $first_macro == 0)
+ && (($symbol ne 'TRUE' && $symbol ne 'FALSE')
+ || $MODULE eq 'glib'))
+ || $symbol eq "_") {
+ $in_declaration = "macro";
+ @TRACE@("Macro: $symbol");
+ } else {
+ @TRACE@("skipping Macro: $symbol");
+ $in_declaration = "macro";
+ $internal = 1;
+ }
+ $first_macro = 0;
+
+
+ # TYPEDEF'D FUNCTIONS (i.e. user functions)
+
+ # $1 $3 $4 $5
+ } elsif (m/^\s*typedef\s+((const\s+|G_CONST_RETURN\s+)?\w+)(\s+const)?\s*(\**)\s*\(\*\s*(\w+)\)\s*\(/) {
+ my $p3 = defined($3) ? $3 : "";
+ $ret_type = "$1$p3 $4";
+ $symbol = $5;
+ $decl = $';
+ $in_declaration = "user_function";
+ @TRACE@("user function (1): $symbol, Returns: $ret_type");
+
+ # $1 $3 $4 $5
+ } elsif (($previous_line =~ m/^\s*typedef\s*/) && m/^\s*((const\s+|G_CONST_RETURN\s+)?\w+)(\s+const)?\s*(\**)\s*\(\*\s*(\w+)\)\s*\(/) {
+ my $p3 = defined($3) ? $3 : "";
+ $ret_type = "$1$p3 $4";
+ $symbol = $5;
+ $decl = $';
+ $in_declaration = "user_function";
+ @TRACE@("user function (2): $symbol, Returns: $ret_type");
+
+ # $1 $2
+ } elsif (($previous_line =~ m/^\s*typedef\s*/) && m/^\s*(\**)\s*\(\*\s*(\w+)\)\s*\(/) {
+ $ret_type = $1;
+ $symbol = $2;
+ $decl = $';
+ # $1 $3
+ if ($previous_line =~ m/^\s*typedef\s*((const\s+|G_CONST_RETURN\s+)?\w+)(\s+const)?\s*/) {
+ my $p3 = defined($3) ? $3 : "";
+ $ret_type = "$1$p3 ".$ret_type;
+ $in_declaration = "user_function";
+ @TRACE@("user function (3): $symbol, Returns: $ret_type");
+
+ }
+ # FUNCTION POINTER VARIABLES
+ # $1 $3 $4 $5
+ } elsif (m/^\s*(?:\b(?:extern|G_INLINE_FUNC|${IGNORE_DECORATORS})\b\s*)*((const\s+|G_CONST_RETURN\s+)?\w+)(\s+const)?\s*(\**)\s*\(\*\s*(\w+)\)\s*\(/o) {
+ my $p3 = defined($3) ? $3 : "";
+ $ret_type = "$1$p3 $4";
+ $symbol = $5;
+ $decl = $';
+ $in_declaration = "user_function";
+ @TRACE@("function pointer variable: $symbol, Returns: $ret_type");
+
+ # ENUMS
+
+ } elsif (s/^\s*enum\s+_(\w+)\s+\{/enum $1 {/) {
+ # We assume that 'enum _<enum_name> {' is really the
+ # declaration of enum <enum_name>.
+ $symbol = $1;
+ @TRACE@("plain enum: $symbol");
+ $decl = $_;
+ $in_declaration = "enum";
+
+ } elsif (m/^\s*typedef\s+enum\s+_?(\w+)\s+\1\s*;/) {
+ # We skip 'typedef enum <enum_name> _<enum_name>;' as the enum will
+ # be declared elsewhere.
+ @TRACE@("skipping enum typedef: $1");
+
+ } elsif (m/^\s*typedef\s+enum/) {
+ $symbol = "";
+ @TRACE@("typedef enum: -");
+ $decl = $_;
+ $in_declaration = "enum";
+
+
+ # STRUCTS AND UNIONS
+
+ } elsif (m/^\s*typedef\s+(struct|union)\s+_(\w+)\s+\2\s*;/) {
+ # We've found a 'typedef struct _<name> <name>;'
+ # This could be an opaque data structure, so we output an
+ # empty declaration. If the structure is actually found that
+ # will override this.
+ my $structsym = uc $1;
+ @TRACE@("$structsym typedef: $2");
+ $forward_decls{$2} = "<$structsym>\n<NAME>$2</NAME>\n$deprecated</$structsym>\n"
+
+ } elsif (m/^\s*(?:struct|union)\s+_(\w+)\s*;/) {
+ # Skip private structs/unions.
+ @TRACE@("private struct/union");
+
+ } elsif (m/^\s*(struct|union)\s+(\w+)\s*;/) {
+ # Do a similar thing for normal structs as for typedefs above.
+ # But we output the declaration as well in this case, so we
+ # can differentiate it from a typedef.
+ my $structsym = uc $1;
+ @TRACE@("$structsym: $2");
+ $forward_decls{$2} = "<$structsym>\n<NAME>$2</NAME>\n$_$deprecated</$structsym>\n";
+
+ } elsif (m/^\s*typedef\s+(struct|union)\s*\w*\s*{/) {
+ $symbol = "";
+ $decl = $_;
+ $level = 0;
+ $in_declaration = $1;
+ @TRACE@("typedef struct/union $1");
+
+ # OTHER TYPEDEFS
+
+ } elsif (m/^\s*typedef\s+(?:struct|union)\s+\w+[\s\*]+(\w+)\s*;/) {
+ @TRACE@("Found struct/union(*) typedef $1: $_");
+ if (&AddSymbolToList (\$list, $1)) {
+ print DECL "<TYPEDEF>\n<NAME>$1</NAME>\n$deprecated$_</TYPEDEF>\n";
+ }
+
+ } elsif (m/^\s*(G_GNUC_EXTENSION\s+)?typedef\s+(.+[\s\*])(\w+)(\s*\[[^\]]+\])*\s*;/) {
+ if ($2 !~ m/^struct\s/ && $2 !~ m/^union\s/) {
+ @TRACE@("Found typedef: $_");
+ if (&AddSymbolToList (\$list, $3)) {
+ print DECL "<TYPEDEF>\n<NAME>$3</NAME>\n$deprecated$_</TYPEDEF>\n";
+ }
+ }
+ } elsif (m/^\s*typedef\s+/) {
+ @TRACE@("Skipping typedef: $_");
+
+
+ # VARIABLES (extern'ed variables)
+
+ } elsif (m/^\s*(extern|[A-Za-z_]+VAR)\s+((const\s+|signed\s+|unsigned\s+|long\s+|short\s+)*\w+)(\s+\*+|\*+|\s)\s*(const\s+)*([A-Za-z]\w*)\s*;/) {
+ $symbol = $6;
+ s/^\s*([A-Za-z_]+VAR)\b/extern/;
+ $decl = $_;
+ @TRACE@("Possible extern var $6: $decl");
+ if (&AddSymbolToList (\$list, $symbol)) {
+ print DECL "<VARIABLE>\n<NAME>$symbol</NAME>\n$deprecated$decl</VARIABLE>\n";
+ }
+
+
+ # VARIABLES
+
+ } elsif (m/^\s*((const\s+|signed\s+|unsigned\s+|long\s+|short\s+)*\w+)(\s+\*+|\*+|\s)\s*(const\s+)*([A-Za-z]\w*)\s*\=/) {
+ $symbol = $5;
+ $decl = $_;
+ @TRACE@("Possible global var $5: $decl");
+ if (&AddSymbolToList (\$list, $symbol)) {
+ print DECL "<VARIABLE>\n<NAME>$symbol</NAME>\n$deprecated$decl</VARIABLE>\n";
+ }
+
+
+ # FUNCTIONS
+
+ # We assume that functions which start with '_' are private, so
+ # we skip them.
+ # $1 $2 $3
+ } elsif (m/^\s*(?:\b(?:extern|G_INLINE_FUNC|${IGNORE_DECORATORS})\b\s*)*((?:const\s+|G_CONST_RETURN\s+|signed\s+|unsigned\s+|long\s+|short\s+|struct\s+|union\s+|enum\s+)*\w+)((?:\s+|\*)+(?:\s*(?:\*+|\bconst\b|\bG_CONST_RETURN\b))*)\s*(_[A-Za-z]\w*)\s*\(/o) {
+ $ret_type = $1;
+ if (defined ($2)) { $ret_type .= " $2"; }
+ $symbol = $3;
+ $decl = $';
+ @TRACE@("internal Function: $symbol, Returns: [$1][$2]");
+ $in_declaration = "function";
+ $internal = 1;
+ if (m/^\s*G_INLINE_FUNC/) {
+ @TRACE@("skip block after inline function");
+ # now we we need to skip a whole { } block
+ $skip_block = 1;
+ }
+
+ # $1 $2 $3
+ } elsif (m/^\s*(?:\b(?:extern|G_INLINE_FUNC|${IGNORE_DECORATORS})\b\s*)*((?:const\s+|G_CONST_RETURN\s+|signed\s+|unsigned\s+|long\s+|short\s+|struct\s+|union\s+|enum\s+)*\w+)((?:\s+|\*)+(?:\s*(?:\*+|\bconst\b|\bG_CONST_RETURN\b))*)\s*([A-Za-z]\w*)\s*\(/o) {
+ $ret_type = $1;
+ if (defined ($2)) { $ret_type .= " $2"; }
+ $symbol = $3;
+ $decl = $';
+ @TRACE@("Function (1): $symbol, Returns: [$1][$2]");
+ $in_declaration = "function";
+ if (m/^\s*G_INLINE_FUNC/) {
+ @TRACE@("skip block after inline function");
+ # now we we need to skip a whole { } block
+ $skip_block = 1;
+ }
+
+ # Try to catch function declarations which have the return type on
+ # the previous line. But we don't want to catch complete functions
+ # which have been declared G_INLINE_FUNC, e.g. g_bit_nth_lsf in
+ # glib, or 'static inline' functions.
+ } elsif (m/^\s*([A-Za-z]\w*)\s*\(/) {
+ $symbol = $1;
+ $decl = $';
+
+ if ($previous_line !~ m/^\s*G_INLINE_FUNC/) {
+ if ($previous_line !~ m/^\s*static\s+/) {
+ # $1 $2
+ if ($previous_line =~ m/^\s*(?:\b(?:extern|${IGNORE_DECORATORS})\b\s*)*((?:const\s+|G_CONST_RETURN\s+|signed\s+|unsigned\s+|long\s+|short\s+|struct\s+|union\s+|enum\s+)*\w+)((?:\s*(?:\*+|\bconst\b|\bG_CONST_RETURN\b))*)\s*$/o) {
+ $ret_type = $1;
+ if (defined ($2)) { $ret_type .= " $2"; }
+ @TRACE@("Function (2): $symbol, Returns: $ret_type");
+ $in_declaration = "function";
+ }
+ } else {
+ @TRACE@("skip block after inline function");
+ # now we we need to skip a whole { } block
+ $skip_block = 1;
+ # $1 $2
+ if ($previous_line =~ m/^\s*(?:\b(?:extern|static|inline|${IGNORE_DECORATORS})\b\s*)*((?:const\s+|G_CONST_RETURN\s+|signed\s+|unsigned\s+|long\s+|short\s+|struct\s+|union\s+|enum\s+)*\w+)((?:\s*(?:\*+|\bconst\b|\bG_CONST_RETURN\b))*)\s*$/o) {
+ $ret_type = $1;
+ if (defined ($2)) { $ret_type .= " $2"; }
+ @TRACE@("Function (3): $symbol, Returns: $ret_type");
+ $in_declaration = "function";
+ }
+ }
+ }
+ else {
+ if ($previous_line !~ m/^\s*static\s+/) {
+ @TRACE@("skip block after inline function");
+ # now we we need to skip a whole { } block
+ $skip_block = 1;
+ # $1 $2
+ if ($previous_line =~ m/^\s*(?:\b(?:extern|G_INLINE_FUNC|${IGNORE_DECORATORS})\b\s*)*((?:const\s+|G_CONST_RETURN\s+|signed\s+|unsigned\s+|long\s+|short\s+|struct\s+|union\s+|enum\s+)*\w+)((?:\s*(?:\*+|\bconst\b|\bG_CONST_RETURN\b))*)\s*$/o) {
+ $ret_type = $1;
+ if (defined ($2)) { $ret_type .= " $2"; }
+ @TRACE@("Function (4): $symbol, Returns: $ret_type");
+ $in_declaration = "function";
+ }
+ }
+ }
+
+ # Try to catch function declarations with the return type and name
+ # on the previous line(s), and the start of the parameters on this.
+ } elsif (m/^\s*\(/) {
+ $decl = $';
+ if ($previous_line =~ m/^\s*(?:\b(?:extern|G_INLINE_FUNC|${IGNORE_DECORATORS})\b\s*)*((?:const\s+|G_CONST_RETURN\s+|signed\s+|unsigned\s+|enum\s+)*\w+)(\s+\*+|\*+|\s)\s*([A-Za-z]\w*)\s*$/o) {
+ $ret_type = "$1 $2";
+ $symbol = $3;
+ @TRACE@("Function (5): $symbol, Returns: $ret_type");
+ $in_declaration = "function";
+
+ } elsif ($previous_line =~ m/^\s*\w+\s*$/
+ && $pre_previous_line =~ m/^\s*(?:\b(?:extern|G_INLINE_FUNC|${IGNORE_DECORATORS})\b\s*)*((?:const\s+|G_CONST_RETURN\s+|signed\s+|unsigned\s+|struct\s+|union\s+|enum\s+)*\w+(?:\**\s+\**(?:const|G_CONST_RETURN))?(?:\s+|\s*\*+))\s*$/o) {
+ $ret_type = $1;
+ $ret_type =~ s/\s*\n//;
+ $in_declaration = "function";
+
+ $symbol = $previous_line;
+ $symbol =~ s/^\s+//;
+ $symbol =~ s/\s*\n//;
+ @TRACE@("Function (6): $symbol, Returns: $ret_type");
+ }
+
+ #} elsif (m/^extern\s+/) {
+ #print "DEBUG: Skipping extern: $_";
+
+
+ # STRUCTS
+
+ } elsif (m/^\s*struct\s+_(\w+)\s*\*/) {
+ # Skip 'struct _<struct_name> *', since it could be a
+ # return type on its own line.
+
+ } elsif (m/^\s*struct\s+_(\w+)/) {
+ # We assume that 'struct _<struct_name>' is really the
+ # declaration of struct <struct_name>.
+ $symbol = $1;
+ $decl = $_;
+ # we will find the correct level as below we do $level += tr/{//;
+ $level = 0;
+ $in_declaration = "struct";
+ @TRACE@("Struct(_): $symbol");
+
+
+ # UNIONS
+
+ } elsif (m/^\s*union\s+_(\w+)\s*\*/) {
+ # Skip 'union _<union_name> *' (see above)
+ } elsif (m/^\s*union\s+_(\w+)/) {
+ $symbol = $1;
+ $decl = $_;
+ $level = 0;
+ $in_declaration = "union";
+ @TRACE@("Union(_): $symbol");
+ }
+
+ } else {
+ @TRACE@("1: [$skip_block] $_");
+ # If we were already in the middle of a declaration, we simply add
+ # the current line onto the end of it.
+ if ($skip_block == 0) {
+ $decl .= $_;
+ } else {
+ # Remove all nested pairs of curly braces.
+ while ($_ =~ s/{[^{]*}//g) { }
+ # Then hope at most one remains in the line...
+ if (m%(.*?){%) {
+ if ($skip_block == 1) {
+ $decl .= $1;
+ }
+ $skip_block += 1;
+ } elsif (m%}%) {
+ $skip_block -= 1;
+ if ($skip_block == 1) {
+ # this is a hack to detect the end of declaration
+ $decl .= ";";
+ $skip_block = 0;
+ @TRACE@("2: ---");
+ }
+ } else {
+ if ($skip_block == 1) {
+ $decl .= $_;
+ }
+ }
+ }
+ }
+
+ #if ($in_declaration ne '') {
+ # print "$in_declaration = $decl\n";
+ #}
+
+ # Note that sometimes functions end in ') G_GNUC_PRINTF (2, 3);' or
+ # ') __attribute__ (...);'.
+ if ($in_declaration eq 'function') {
+ if ($decl =~ s/\)\s*(G_GNUC_.*|${IGNORE_DECORATORS}\s*|__attribute__\s*\(.*\)\s*)?;.*$//) {
+ if ($internal == 0) {
+ $decl =~ s%/\*.*?\*/%%gs; # remove comments.
+ #$decl =~ s/^\s+//; # remove leading whitespace.
+ #$decl =~ s/\s+$//; # remove trailing whitespace.
+ $decl =~ s/\s*\n\s*/ /gs; # consolidate whitespace at start
+ # and end of lines.
+ $ret_type =~ s%/\*.*?\*/%%g; # remove comments in ret type.
+ if (&AddSymbolToList (\$list, $symbol)) {
+ print DECL "<FUNCTION>\n<NAME>$symbol</NAME>\n$deprecated<RETURNS>$ret_type</RETURNS>\n$decl\n</FUNCTION>\n";
+ if ($REBUILD_TYPES) {
+ # check if this looks like a get_type function and if so remember
+ if (($symbol =~ m/_get_type$/) && ($ret_type =~ m/GType/) && ($decl =~ m/(void|)/)) {
+ @TRACE@("Adding get-type: [$ret_type] [$symbol] [$decl]\tfrom $input_file");
+ push (@get_types, $symbol);
+ }
+ }
+ }
+ } else {
+ $internal = 0;
+ }
+ $in_declaration = "";
+ $skip_block = 0;
+ }
+ }
+
+ if ($in_declaration eq 'user_function') {
+ if ($decl =~ s/\).*$//) {
+ if (&AddSymbolToList (\$list, $symbol)) {
+ print DECL "<USER_FUNCTION>\n<NAME>$symbol</NAME>\n$deprecated<RETURNS>$ret_type</RETURNS>\n$decl</USER_FUNCTION>\n";
+ }
+ $in_declaration = "";
+ }
+ }
+
+ if ($in_declaration eq 'macro') {
+ if ($decl !~ m/\\\s*$/) {
+ if ($internal == 0) {
+ if (&AddSymbolToList (\$list, $symbol)) {
+ print DECL "<MACRO>\n<NAME>$symbol</NAME>\n$deprecated$decl</MACRO>\n";
+ }
+ } else {
+ $internal = 0;
+ }
+ $in_declaration = "";
+ }
+ }
+
+ if ($in_declaration eq 'enum') {
+ if ($decl =~ m/\}\s*(\w+)?;\s*$/) {
+ if ($symbol eq "") {
+ $symbol = $1;
+ }
+ if (&AddSymbolToList (\$list, $symbol)) {
+ print DECL "<ENUM>\n<NAME>$symbol</NAME>\n$deprecated$decl</ENUM>\n";
+ }
+ $in_declaration = "";
+ }
+ }
+
+ # We try to handle nested stucts/unions, but unmatched brackets in
+ # comments will cause problems.
+ if ($in_declaration eq 'struct' or $in_declaration eq 'union') {
+ if (($level <= 1) && ($decl =~ m/\n\}\s*(\w*);\s*$/)) {
+ if ($symbol eq "") {
+ $symbol = $1;
+ }
+
+ if ($symbol =~ m/^(\S+)(Class|Iface|Interface)\b/) {
+ my $objectname = $1;
+ @TRACE@("Found object: $1");
+ $list = "<TITLE>$objectname</TITLE>\n$list";
+ push (@objects, $objectname);
+ }
+ @TRACE@("Store struct: $symbol");
+ if (&AddSymbolToList (\$list, $symbol)) {
+ my $structsym = uc $in_declaration;
+ print DECL "<$structsym>\n<NAME>$symbol</NAME>\n$deprecated$decl</$structsym>\n";
+ if (defined($forward_decls{$symbol})) {
+ undef($forward_decls{$symbol});
+ }
+ }
+ $in_declaration = "";
+ } else {
+ # We use tr to count the brackets in the line, and adjust
+ # $level accordingly.
+ $level += tr/{//;
+ $level -= tr/}//;
+ @TRACE@("struct/union level : $level");
+ }
+ }
+
+ $pre_previous_line = $previous_line;
+ $previous_line = $_;
+ }
+ close(INPUT);
+
+ # print remaining forward declarations
+ foreach $symbol (keys %forward_decls) {
+ if (defined($forward_decls{$symbol})) {
+ &AddSymbolToList (\$list, $symbol);
+ print DECL $forward_decls{$symbol};
+ }
+ }
+
+ @TRACE@("Scanning $input_file done\n");
+
+ # sort the symbols
+ $list=join("\n",sort(split("\n",$list)))."\n";
+
+ # Try to separate the standard macros and functions, placing them at the
+ # end of the current section, in a subsection named 'Standard'.
+ # do this in a loop to catch object, enums and flags
+ # FIXME: we still leave XxxXxxxxClass in the normal section, it would be
+ # nice to hide it, if it is not documented and empty (only parent)
+ my ($class,$lclass);
+ my ($standard_decl) = "";
+ do {
+ if ($list =~ m/^\S+_IS_(\S*)_CLASS\n/m) {
+ $class = $1;
+ $lclass = lc($class);
+ @TRACE@("Found gobject class '$class' from is class macro\n");
+ } elsif ($list =~ m/^\S+_IS_(\S*)\n/m) {
+ $class = $1;
+ $lclass = lc($class);
+ @TRACE@("Found gobject class '$class' from is macro\n");
+ } elsif ($list =~ m/^\S+?_(\S*)_get_type\n/m) {
+ $lclass = $1;
+ $class = uc($lclass);
+ @TRACE@("Found gobject class '$class' from get_type function\n");
+ } else {
+ $class = $lclass = "";
+ }
+
+ if ($class ne "") {
+ my ($cclass) = $lclass;
+ $cclass =~ s/_//g;
+
+ if ($list =~ s/^\S+${cclass}Private\n//im) { $standard_decl .= $&; }
+
+ while ($list =~ s/^\S+_IS_$class\n//m) { $standard_decl .= $&; }
+ while ($list =~ s/^\S+_TYPE_$class\n//m) { $standard_decl .= $&; }
+ while ($list =~ s/^\S+_${lclass}_get_type\n//m) { $standard_decl .= $&; }
+ while ($list =~ s/^\S+_${class}_CLASS\n//m) { $standard_decl .= $&; }
+ while ($list =~ s/^\S+_IS_${class}_CLASS\n//m) { $standard_decl .= $&; }
+ while ($list =~ s/^\S+_${class}_GET_CLASS\n//m) { $standard_decl .= $&; }
+ while ($list =~ s/^\S+_${class}_GET_IFACE\n//m) { $standard_decl .= $&; }
+ while ($list =~ s/^\S+_${class}_GET_INTERFACE\n//m) { $standard_decl .= $&; }
+
+ # We do this one last, otherwise it tends to be caught by the IS_$class macro
+ while ($list =~ s/^\S+_$class\n//m) { $standard_decl .= $&; }
+
+ @TRACE@("Decl '".join(",",split("\n",$list))."'\n");
+ @TRACE@("Std '".join(",",split("\n",$standard_decl))."'\n");
+ }
+ } while ($class ne "");
+ if ($standard_decl ne "") {
+ # sort the symbols
+ $standard_decl=join("\n",sort(split("\n",$standard_decl)))."\n";
+ $list .= "<SUBSECTION Standard>\n$standard_decl";
+ }
+ if ($list ne "") {
+ $$section_list{$file_basename} .= "<SECTION>\n<FILE>$file_basename</FILE>\n$list</SECTION>\n\n";
+ }
+}
+
+
+#############################################################################
+# Function : AddSymbolToList
+# Description : This adds the symbol to the list of declarations, but only if
+# it is not already in the list.
+# Arguments : $list - reference to the list of symbols, one on each line.
+# $symbol - the symbol to add to the list.
+#############################################################################
+
+sub AddSymbolToList {
+ my ($list, $symbol) = @_;
+
+ if ($$list =~ m/\b\Q$symbol\E\b/) {
+ #print "Symbol $symbol already in list. skipping\n";
+ # we return 0 to skip outputting another entry to -decl.txt
+ # this is to avoid redeclarations (e.g. in conditional
+ # sections).
+ return 0;
+ }
+ $$list .= "$symbol\n";
+ return 1;
+}
--- /dev/null
+#!@PERL@ -w
+# -*- cperl -*-
+#
+# gtk-doc - GTK DocBook documentation generator.
+# Copyright (C) 1998 Damon Chaplin
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+#
+
+#
+# This gets information about object hierarchies and signals
+# by compiling a small C program. CFLAGS and LDFLAGS must be
+# set appropriately before running this script.
+#
+
+use Getopt::Long;
+
+push @INC, '@PACKAGE_DATA_DIR@';
+require "gtkdoc-common.pl";
+
+# Options
+
+# name of documentation module
+my $MODULE;
+my $OUTPUT_DIR;
+my $VERBOSE;
+my $PRINT_VERSION;
+my $PRINT_HELP;
+my $TYPE_INIT_FUNC="g_type_init(); g_type_class_ref(G_TYPE_OBJECT)";
+my $QUERY_CHILD_PROPERTIES;
+
+# --nogtkinit is deprecated, as it is the default now anyway.
+%optctl = (module => \$MODULE,
+ types => \$TYPES_FILE,
+ nogtkinit => \$NO_GTK_INIT,
+ 'type-init-func' => \$TYPE_INIT_FUNC,
+ 'query-child-properties' => \$QUERY_CHILD_PROPERTIES,
+ 'output-dir' => \$OUTPUT_DIR,
+ 'verbose' => \$VERBOSE,
+ 'version' => \$PRINT_VERSION,
+ 'help' => \$PRINT_HELP);
+
+GetOptions(\%optctl, "module=s", "types:s", "output-dir:s", "nogtkinit", "type-init-func:s", "query-child-properties:s", "verbose", "version", "help");
+
+if ($NO_GTK_INIT) {
+ # Do nothing. This just avoids a warning.
+ # the option is not used anymore
+}
+
+if ($PRINT_VERSION) {
+ print "@VERSION@\n";
+ exit 0;
+}
+
+if (!$MODULE) {
+ $PRINT_HELP = 1;
+}
+
+if ($PRINT_HELP) {
+ print <<EOF;
+gtkdoc-scangobj version @VERSION@ - introspect g-objects
+
+--module=MODULE_NAME Name of the doc module being parsed
+--types=FILE The name of the file to store the types in
+--type-init-func=FUNC The init function to call instead of g_type_init()
+--query-child-properties=FUNC A function that returns a list of child
+ properties for a class
+--output-dir=DIRNAME The directory where the results are stored
+--verbose Print extra output while processing
+--version Print the version of this program
+--help Print this help
+EOF
+ exit 0;
+}
+
+$OUTPUT_DIR = $OUTPUT_DIR ? $OUTPUT_DIR : ".";
+
+$TYPES_FILE = $TYPES_FILE ? $TYPES_FILE : "$OUTPUT_DIR/$MODULE.types";
+
+open (TYPES, $TYPES_FILE) || die "Cannot open $TYPES_FILE: $!\n";
+open (OUTPUT, ">$MODULE-scan.c") || die "Cannot open $MODULE-scan.c: $!\n";
+
+my $old_signals_filename = "$OUTPUT_DIR/$MODULE.signals";
+my $new_signals_filename = "$OUTPUT_DIR/$MODULE.signals.new";
+my $old_hierarchy_filename = "$OUTPUT_DIR/$MODULE.hierarchy";
+my $new_hierarchy_filename = "$OUTPUT_DIR/$MODULE.hierarchy.new";
+my $old_interfaces_filename = "$OUTPUT_DIR/$MODULE.interfaces";
+my $new_interfaces_filename = "$OUTPUT_DIR/$MODULE.interfaces.new";
+my $old_prerequisites_filename = "$OUTPUT_DIR/$MODULE.prerequisites";
+my $new_prerequisites_filename = "$OUTPUT_DIR/$MODULE.prerequisites.new";
+my $old_args_filename = "$OUTPUT_DIR/$MODULE.args";
+my $new_args_filename = "$OUTPUT_DIR/$MODULE.args.new";
+
+# write a C program to scan the types
+
+$includes = "";
+@types = ();
+
+for (<TYPES>) {
+ if (/^#include/) {
+ $includes .= $_;
+ } elsif (/^gnome_keyring_item_info_get_type$/) {
+ # HACK: This isn't really a GObject type so skip it.
+ next;
+ } elsif (/^%/) {
+ next;
+ } elsif (/^\s*$/) {
+ next;
+ } else {
+ chomp;
+ push @types, $_;
+ }
+}
+
+$ntypes = @types + 1;
+
+print OUTPUT <<EOT;
+#include <string.h>
+#include <stdlib.h>
+#include <stdio.h>
+#include <errno.h>
+#include <glib-object.h>
+
+EOT
+
+if ($includes) {
+ print OUTPUT $includes;
+} else {
+ for (@types) {
+ print OUTPUT "extern GType $_ (void);\n";
+ }
+}
+
+if ($QUERY_CHILD_PROPERTIES) {
+ print OUTPUT <<EOT;
+extern GParamSpec** $QUERY_CHILD_PROPERTIES (gpointer class, guint *n_properties);
+EOT
+}
+
+print OUTPUT <<EOT;
+
+#ifdef GTK_IS_WIDGET_CLASS
+#include <gtk/gtk.h>
+#endif
+GType object_types[$ntypes];
+
+static GType *
+get_object_types (void)
+{
+ gpointer g_object_class;
+ gint i = 0;
+EOT
+
+for (@types) {
+ print OUTPUT " object_types[i++] = $_ ();\n";
+}
+
+print OUTPUT <<EOT;
+ object_types[i] = 0;
+
+ /* reference the GObjectClass to initialize the param spec pool
+ * potentially needed by interfaces. See http://bugs.gnome.org/571820 */
+ g_object_class = g_type_class_ref (G_TYPE_OBJECT);
+
+ /* Need to make sure all the types are loaded in and initialize
+ * their signals and properties.
+ */
+ for (i=0; object_types[i]; i++)
+ {
+ if (G_TYPE_IS_CLASSED (object_types[i]))
+ g_type_class_ref (object_types[i]);
+ if (G_TYPE_IS_INTERFACE (object_types[i]))
+ g_type_default_interface_ref (object_types[i]);
+ }
+
+ g_type_class_unref (g_object_class);
+
+ return object_types;
+}
+
+/*
+ * This uses GObject type functions to output signal prototypes and the object
+ * hierarchy.
+ */
+
+/* The output files */
+const gchar *signals_filename = "$new_signals_filename";
+const gchar *hierarchy_filename = "$new_hierarchy_filename";
+const gchar *interfaces_filename = "$new_interfaces_filename";
+const gchar *prerequisites_filename = "$new_prerequisites_filename";
+const gchar *args_filename = "$new_args_filename";
+
+
+static void output_signals (void);
+static void output_object_signals (FILE *fp,
+ GType object_type);
+static void output_object_signal (FILE *fp,
+ const gchar *object_class_name,
+ guint signal_id);
+static const gchar * get_type_name (GType type,
+ gboolean * is_pointer);
+static void output_object_hierarchy (void);
+static void output_hierarchy (FILE *fp,
+ GType type,
+ guint level);
+
+static void output_object_interfaces (void);
+static void output_interfaces (FILE *fp,
+ GType type);
+
+static void output_interface_prerequisites (void);
+static void output_prerequisites (FILE *fp,
+ GType type);
+
+static void output_args (void);
+static void output_object_args (FILE *fp, GType object_type);
+
+int
+main (int argc, char *argv[])
+{
+ $TYPE_INIT_FUNC;
+
+ get_object_types ();
+
+ output_signals ();
+ output_object_hierarchy ();
+ output_object_interfaces ();
+ output_interface_prerequisites ();
+ output_args ();
+
+ return 0;
+}
+
+
+static void
+output_signals (void)
+{
+ FILE *fp;
+ gint i;
+
+ fp = fopen (signals_filename, "w");
+ if (fp == NULL)
+ {
+ g_warning ("Couldn't open output file: %s : %s", signals_filename, g_strerror(errno));
+ return;
+ }
+
+ for (i = 0; object_types[i]; i++)
+ output_object_signals (fp, object_types[i]);
+
+ fclose (fp);
+}
+
+static gint
+compare_signals (const void *a, const void *b)
+{
+ const guint *signal_a = a;
+ const guint *signal_b = b;
+
+ return strcmp (g_signal_name (*signal_a), g_signal_name (*signal_b));
+}
+
+/* This outputs all the signals of one object. */
+static void
+output_object_signals (FILE *fp, GType object_type)
+{
+ const gchar *object_class_name;
+ guint *signals, n_signals;
+ guint sig;
+
+ if (G_TYPE_IS_INSTANTIATABLE (object_type) ||
+ G_TYPE_IS_INTERFACE (object_type))
+ {
+
+ object_class_name = g_type_name (object_type);
+
+ signals = g_signal_list_ids (object_type, &n_signals);
+ qsort (signals, n_signals, sizeof (guint), compare_signals);
+
+ for (sig = 0; sig < n_signals; sig++)
+ {
+ output_object_signal (fp, object_class_name, signals[sig]);
+ }
+ g_free (signals);
+ }
+}
+
+
+/* This outputs one signal. */
+static void
+output_object_signal (FILE *fp,
+ const gchar *object_name,
+ guint signal_id)
+{
+ GSignalQuery query_info;
+ const gchar *type_name, *ret_type, *object_arg, *arg_name;
+ gchar *pos, *object_arg_lower;
+ gboolean is_pointer;
+ gchar buffer[1024];
+ guint i, param;
+ gint param_num, widget_num, event_num, callback_num;
+ gint *arg_num;
+ gchar signal_name[128];
+ gchar flags[16];
+
+ /* g_print ("Object: %s Signal: %u\\n", object_name, signal_id);*/
+
+ param_num = 1;
+ widget_num = event_num = callback_num = 0;
+
+ g_signal_query (signal_id, &query_info);
+
+ /* Output the signal object type and the argument name. We assume the
+ type is a pointer - I think that is OK. We remove "Gtk" or "Gnome" and
+ convert to lower case for the argument name. */
+ pos = buffer;
+ sprintf (pos, "%s ", object_name);
+ pos += strlen (pos);
+
+ /* Try to come up with a sensible variable name for the first arg
+ * It chops off 2 know prefixes :/ and makes the name lowercase
+ * It should replace lowercase -> uppercase with '_'
+ * GFileMonitor -> file_monitor
+ * GIOExtensionPoint -> extension_point
+ * GtkTreeView -> tree_view
+ * if 2nd char is upper case too
+ * search for first lower case and go back one char
+ * else
+ * search for next upper case
+ */
+ if (!strncmp (object_name, "Gtk", 3))
+ object_arg = object_name + 3;
+ else if (!strncmp (object_name, "Gnome", 5))
+ object_arg = object_name + 5;
+ else
+ object_arg = object_name;
+
+ object_arg_lower = g_ascii_strdown (object_arg, -1);
+ sprintf (pos, "*%s\\n", object_arg_lower);
+ pos += strlen (pos);
+ if (!strncmp (object_arg_lower, "widget", 6))
+ widget_num = 2;
+ g_free(object_arg_lower);
+
+ /* Convert signal name to use underscores rather than dashes '-'. */
+ strncpy (signal_name, query_info.signal_name, 127);
+ signal_name[127] = '\\0';
+ for (i = 0; signal_name[i]; i++)
+ {
+ if (signal_name[i] == '-')
+ signal_name[i] = '_';
+ }
+
+ /* Output the signal parameters. */
+ for (param = 0; param < query_info.n_params; param++)
+ {
+ type_name = get_type_name (query_info.param_types[param] & ~G_SIGNAL_TYPE_STATIC_SCOPE, &is_pointer);
+
+ /* Most arguments to the callback are called "arg1", "arg2", etc.
+ GtkWidgets are called "widget", "widget2", ...
+ GtkCallbacks are called "callback", "callback2", ... */
+ if (!strcmp (type_name, "GtkWidget"))
+ {
+ arg_name = "widget";
+ arg_num = &widget_num;
+ }
+ else if (!strcmp (type_name, "GtkCallback")
+ || !strcmp (type_name, "GtkCCallback"))
+ {
+ arg_name = "callback";
+ arg_num = &callback_num;
+ }
+ else
+ {
+ arg_name = "arg";
+ arg_num = ¶m_num;
+ }
+ sprintf (pos, "%s ", type_name);
+ pos += strlen (pos);
+
+ if (!arg_num || *arg_num == 0)
+ sprintf (pos, "%s%s\\n", is_pointer ? "*" : " ", arg_name);
+ else
+ sprintf (pos, "%s%s%i\\n", is_pointer ? "*" : " ", arg_name,
+ *arg_num);
+ pos += strlen (pos);
+
+ if (arg_num)
+ {
+ if (*arg_num == 0)
+ *arg_num = 2;
+ else
+ *arg_num += 1;
+ }
+ }
+
+ pos = flags;
+ /* We use one-character flags for simplicity. */
+ if (query_info.signal_flags & G_SIGNAL_RUN_FIRST)
+ *pos++ = 'f';
+ if (query_info.signal_flags & G_SIGNAL_RUN_LAST)
+ *pos++ = 'l';
+ if (query_info.signal_flags & G_SIGNAL_RUN_CLEANUP)
+ *pos++ = 'c';
+ if (query_info.signal_flags & G_SIGNAL_NO_RECURSE)
+ *pos++ = 'r';
+ if (query_info.signal_flags & G_SIGNAL_DETAILED)
+ *pos++ = 'd';
+ if (query_info.signal_flags & G_SIGNAL_ACTION)
+ *pos++ = 'a';
+ if (query_info.signal_flags & G_SIGNAL_NO_HOOKS)
+ *pos++ = 'h';
+ *pos = 0;
+
+ /* Output the return type and function name. */
+ ret_type = get_type_name (query_info.return_type & ~G_SIGNAL_TYPE_STATIC_SCOPE, &is_pointer);
+
+ fprintf (fp,
+ "<SIGNAL>\\n<NAME>%s::%s</NAME>\\n<RETURNS>%s%s</RETURNS>\\n<FLAGS>%s</FLAGS>\\n%s</SIGNAL>\\n\\n",
+ object_name, query_info.signal_name, ret_type, is_pointer ? "*" : "", flags, buffer);
+}
+
+
+/* Returns the type name to use for a signal argument or return value, given
+ the GtkType from the signal info. It also sets is_pointer to TRUE if the
+ argument needs a '*' since it is a pointer. */
+static const gchar *
+get_type_name (GType type, gboolean * is_pointer)
+{
+ const gchar *type_name;
+
+ *is_pointer = FALSE;
+ type_name = g_type_name (type);
+
+ switch (type) {
+ case G_TYPE_NONE:
+ case G_TYPE_CHAR:
+ case G_TYPE_UCHAR:
+ case G_TYPE_BOOLEAN:
+ case G_TYPE_INT:
+ case G_TYPE_UINT:
+ case G_TYPE_LONG:
+ case G_TYPE_ULONG:
+ case G_TYPE_FLOAT:
+ case G_TYPE_DOUBLE:
+ case G_TYPE_POINTER:
+ /* These all have normal C type names so they are OK. */
+ return type_name;
+
+ case G_TYPE_STRING:
+ /* A GtkString is really a gchar*. */
+ *is_pointer = TRUE;
+ return "gchar";
+
+ case G_TYPE_ENUM:
+ case G_TYPE_FLAGS:
+ /* We use a gint for both of these. Hopefully a subtype with a decent
+ name will be registered and used instead, as GTK+ does itself. */
+ return "gint";
+
+ case G_TYPE_BOXED:
+ /* The boxed type shouldn't be used itself, only subtypes. Though we
+ return 'gpointer' just in case. */
+ return "gpointer";
+
+ case G_TYPE_PARAM:
+ /* A GParam is really a GParamSpec*. */
+ *is_pointer = TRUE;
+ return "GParamSpec";
+
+#if GLIB_CHECK_VERSION (2, 25, 9)
+ case G_TYPE_VARIANT:
+ *is_pointer = TRUE;
+ return "GVariant";
+#endif
+
+default:
+ break;
+ }
+
+ /* For all GObject subclasses we can use the class name with a "*",
+ e.g. 'GtkWidget *'. */
+ if (g_type_is_a (type, G_TYPE_OBJECT))
+ *is_pointer = TRUE;
+
+ /* Also catch non GObject root types */
+ if (G_TYPE_IS_CLASSED (type))
+ *is_pointer = TRUE;
+
+ /* All boxed subtypes will be pointers as well. */
+ /* Exception: GStrv */
+ if (g_type_is_a (type, G_TYPE_BOXED) &&
+ !g_type_is_a (type, G_TYPE_STRV))
+ *is_pointer = TRUE;
+
+ /* All pointer subtypes will be pointers as well. */
+ if (g_type_is_a (type, G_TYPE_POINTER))
+ *is_pointer = TRUE;
+
+ /* But enums are not */
+ if (g_type_is_a (type, G_TYPE_ENUM) ||
+ g_type_is_a (type, G_TYPE_FLAGS))
+ *is_pointer = FALSE;
+
+ return type_name;
+}
+
+
+/* This outputs the hierarchy of all objects which have been initialized,
+ i.e. by calling their XXX_get_type() initialization function. */
+static void
+output_object_hierarchy (void)
+{
+ FILE *fp;
+ gint i,j;
+ GType root, type;
+ GType root_types[$ntypes] = { G_TYPE_INVALID, };
+
+ fp = fopen (hierarchy_filename, "w");
+ if (fp == NULL)
+ {
+ g_warning ("Couldn't open output file: %s : %s", hierarchy_filename, g_strerror(errno));
+ return;
+ }
+ output_hierarchy (fp, G_TYPE_OBJECT, 0);
+ output_hierarchy (fp, G_TYPE_INTERFACE, 0);
+
+ for (i=0; object_types[i]; i++) {
+ root = object_types[i];
+ while ((type = g_type_parent (root))) {
+ root = type;
+ }
+ if ((root != G_TYPE_OBJECT) && (root != G_TYPE_INTERFACE)) {
+ for (j=0; root_types[j]; j++) {
+ if (root == root_types[j]) {
+ root = G_TYPE_INVALID; break;
+ }
+ }
+ if(root) {
+ root_types[j] = root;
+ output_hierarchy (fp, root, 0);
+ }
+ }
+ }
+
+ fclose (fp);
+}
+
+/* This is called recursively to output the hierarchy of a object. */
+static void
+output_hierarchy (FILE *fp,
+ GType type,
+ guint level)
+{
+ guint i;
+ GType *children;
+ guint n_children;
+
+ if (!type)
+ return;
+
+ for (i = 0; i < level; i++)
+ fprintf (fp, " ");
+ fprintf (fp, "%s\\n", g_type_name (type));
+
+ children = g_type_children (type, &n_children);
+
+ for (i=0; i < n_children; i++)
+ output_hierarchy (fp, children[i], level + 1);
+
+ g_free (children);
+}
+
+static void output_object_interfaces (void)
+{
+ guint i;
+ FILE *fp;
+
+ fp = fopen (interfaces_filename, "w");
+ if (fp == NULL)
+ {
+ g_warning ("Couldn't open output file: %s : %s", interfaces_filename, g_strerror(errno));
+ return;
+ }
+ output_interfaces (fp, G_TYPE_OBJECT);
+
+ for (i = 0; object_types[i]; i++)
+ {
+ if (!g_type_parent (object_types[i]) &&
+ (object_types[i] != G_TYPE_OBJECT) &&
+ G_TYPE_IS_INSTANTIATABLE (object_types[i]))
+ {
+ output_interfaces (fp, object_types[i]);
+ }
+ }
+ fclose (fp);
+}
+
+static void
+output_interfaces (FILE *fp,
+ GType type)
+{
+ guint i;
+ GType *children, *interfaces;
+ guint n_children, n_interfaces;
+
+ if (!type)
+ return;
+
+ interfaces = g_type_interfaces (type, &n_interfaces);
+
+ if (n_interfaces > 0)
+ {
+ fprintf (fp, "%s", g_type_name (type));
+ for (i=0; i < n_interfaces; i++)
+ fprintf (fp, " %s", g_type_name (interfaces[i]));
+ fprintf (fp, "\\n");
+ }
+ g_free (interfaces);
+
+ children = g_type_children (type, &n_children);
+
+ for (i=0; i < n_children; i++)
+ output_interfaces (fp, children[i]);
+
+ g_free (children);
+}
+
+static void output_interface_prerequisites (void)
+{
+ FILE *fp;
+
+ fp = fopen (prerequisites_filename, "w");
+ if (fp == NULL)
+ {
+ g_warning ("Couldn't open output file: %s : %s", prerequisites_filename, g_strerror(errno));
+ return;
+ }
+ output_prerequisites (fp, G_TYPE_INTERFACE);
+ fclose (fp);
+}
+
+static void
+output_prerequisites (FILE *fp,
+ GType type)
+{
+#if GLIB_CHECK_VERSION(2,1,0)
+ guint i;
+ GType *children, *prerequisites;
+ guint n_children, n_prerequisites;
+
+ if (!type)
+ return;
+
+ prerequisites = g_type_interface_prerequisites (type, &n_prerequisites);
+
+ if (n_prerequisites > 0)
+ {
+ fprintf (fp, "%s", g_type_name (type));
+ for (i=0; i < n_prerequisites; i++)
+ fprintf (fp, " %s", g_type_name (prerequisites[i]));
+ fprintf (fp, "\\n");
+ }
+ g_free (prerequisites);
+
+ children = g_type_children (type, &n_children);
+
+ for (i=0; i < n_children; i++)
+ output_prerequisites (fp, children[i]);
+
+ g_free (children);
+#endif
+}
+
+static void
+output_args (void)
+{
+ FILE *fp;
+ gint i;
+
+ fp = fopen (args_filename, "w");
+ if (fp == NULL)
+ {
+ g_warning ("Couldn't open output file: %s : %s", args_filename, g_strerror(errno));
+ return;
+ }
+
+ for (i = 0; object_types[i]; i++) {
+ output_object_args (fp, object_types[i]);
+ }
+
+ fclose (fp);
+}
+
+static gint
+compare_param_specs (const void *a, const void *b)
+{
+ GParamSpec *spec_a = *(GParamSpec **)a;
+ GParamSpec *spec_b = *(GParamSpec **)b;
+
+ return strcmp (g_param_spec_get_name (spec_a), g_param_spec_get_name (spec_b));
+}
+
+/* Its common to have unsigned properties restricted
+ * to the signed range. Therefore we make this look
+ * a bit nicer by spelling out the max constants.
+ */
+
+/* Don't use "==" with floats, it might trigger a gcc warning. */
+#define GTKDOC_COMPARE_FLOAT(x, y) (x <= y && x >= y)
+
+static gchar*
+describe_double_constant (gdouble value)
+{
+ gchar *desc;
+
+ if (GTKDOC_COMPARE_FLOAT (value, G_MAXDOUBLE))
+ desc = g_strdup ("G_MAXDOUBLE");
+ else if (GTKDOC_COMPARE_FLOAT (value, G_MINDOUBLE))
+ desc = g_strdup ("G_MINDOUBLE");
+ else if (GTKDOC_COMPARE_FLOAT (value, -G_MAXDOUBLE))
+ desc = g_strdup ("-G_MAXDOUBLE");
+ else if (GTKDOC_COMPARE_FLOAT (value, G_MAXFLOAT))
+ desc = g_strdup ("G_MAXFLOAT");
+ else if (GTKDOC_COMPARE_FLOAT (value, G_MINFLOAT))
+ desc = g_strdup ("G_MINFLOAT");
+ else if (GTKDOC_COMPARE_FLOAT (value, -G_MAXFLOAT))
+ desc = g_strdup ("-G_MAXFLOAT");
+ else{
+ /* make sure floats are output with a decimal dot irrespective of
+ * current locale. Use formatd since we want human-readable numbers
+ * and do not need the exact same bit representation when deserialising */
+ desc = g_malloc0 (G_ASCII_DTOSTR_BUF_SIZE);
+ g_ascii_formatd (desc, G_ASCII_DTOSTR_BUF_SIZE, "%g", value);
+ }
+
+ return desc;
+}
+
+static gchar*
+describe_signed_constant (gsize size, gint64 value)
+{
+ gchar *desc = NULL;
+
+ switch (size) {
+ case 2:
+ if (sizeof (int) == 2) {
+ if (value == G_MAXINT)
+ desc = g_strdup ("G_MAXINT");
+ else if (value == G_MININT)
+ desc = g_strdup ("G_MININT");
+ else if (value == (gint64)G_MAXUINT)
+ desc = g_strdup ("G_MAXUINT");
+ }
+ break;
+ case 4:
+ if (sizeof (int) == 4) {
+ if (value == G_MAXINT)
+ desc = g_strdup ("G_MAXINT");
+ else if (value == G_MININT)
+ desc = g_strdup ("G_MININT");
+ else if (value == (gint64)G_MAXUINT)
+ desc = g_strdup ("G_MAXUINT");
+ }
+ if (value == G_MAXLONG)
+ desc = g_strdup ("G_MAXLONG");
+ else if (value == G_MINLONG)
+ desc = g_strdup ("G_MINLONG");
+ else if (value == (gint64)G_MAXULONG)
+ desc = g_strdup ("G_MAXULONG");
+ break;
+ case 8:
+ if (value == G_MAXINT64)
+ desc = g_strdup ("G_MAXINT64");
+ else if (value == G_MININT64)
+ desc = g_strdup ("G_MININT64");
+ break;
+ default:
+ break;
+ }
+ if (!desc)
+ desc = g_strdup_printf ("%" G_GINT64_FORMAT, value);
+
+ return desc;
+}
+
+static gchar*
+describe_unsigned_constant (gsize size, guint64 value)
+{
+ gchar *desc = NULL;
+
+ switch (size) {
+ case 2:
+ if (sizeof (int) == 2) {
+ if (value == (guint64)G_MAXINT)
+ desc = g_strdup ("G_MAXINT");
+ else if (value == G_MAXUINT)
+ desc = g_strdup ("G_MAXUINT");
+ }
+ break;
+ case 4:
+ if (sizeof (int) == 4) {
+ if (value == (guint64)G_MAXINT)
+ desc = g_strdup ("G_MAXINT");
+ else if (value == G_MAXUINT)
+ desc = g_strdup ("G_MAXUINT");
+ }
+ if (value == (guint64)G_MAXLONG)
+ desc = g_strdup ("G_MAXLONG");
+ else if (value == G_MAXULONG)
+ desc = g_strdup ("G_MAXULONG");
+ break;
+ case 8:
+ if (value == G_MAXINT64)
+ desc = g_strdup ("G_MAXINT64");
+ else if (value == G_MAXUINT64)
+ desc = g_strdup ("G_MAXUINT64");
+ break;
+ default:
+ break;
+ }
+ if (!desc)
+ desc = g_strdup_printf ("%" G_GUINT64_FORMAT, value);
+
+ return desc;
+}
+
+static gchar*
+describe_type (GParamSpec *spec)
+{
+ gchar *desc;
+ gchar *lower;
+ gchar *upper;
+
+ if (G_IS_PARAM_SPEC_CHAR (spec))
+ {
+ GParamSpecChar *pspec = G_PARAM_SPEC_CHAR (spec);
+
+ lower = describe_signed_constant (sizeof(gchar), pspec->minimum);
+ upper = describe_signed_constant (sizeof(gchar), pspec->maximum);
+ if (pspec->minimum == G_MININT8 && pspec->maximum == G_MAXINT8)
+ desc = g_strdup ("");
+ else if (pspec->minimum == G_MININT8)
+ desc = g_strdup_printf ("<= %s", upper);
+ else if (pspec->maximum == G_MAXINT8)
+ desc = g_strdup_printf (">= %s", lower);
+ else
+ desc = g_strdup_printf ("[%s,%s]", lower, upper);
+ g_free (lower);
+ g_free (upper);
+ }
+ else if (G_IS_PARAM_SPEC_UCHAR (spec))
+ {
+ GParamSpecUChar *pspec = G_PARAM_SPEC_UCHAR (spec);
+
+ lower = describe_unsigned_constant (sizeof(guchar), pspec->minimum);
+ upper = describe_unsigned_constant (sizeof(guchar), pspec->maximum);
+ if (pspec->minimum == 0 && pspec->maximum == G_MAXUINT8)
+ desc = g_strdup ("");
+ else if (pspec->minimum == 0)
+ desc = g_strdup_printf ("<= %s", upper);
+ else if (pspec->maximum == G_MAXUINT8)
+ desc = g_strdup_printf (">= %s", lower);
+ else
+ desc = g_strdup_printf ("[%s,%s]", lower, upper);
+ g_free (lower);
+ g_free (upper);
+ }
+ else if (G_IS_PARAM_SPEC_INT (spec))
+ {
+ GParamSpecInt *pspec = G_PARAM_SPEC_INT (spec);
+
+ lower = describe_signed_constant (sizeof(gint), pspec->minimum);
+ upper = describe_signed_constant (sizeof(gint), pspec->maximum);
+ if (pspec->minimum == G_MININT && pspec->maximum == G_MAXINT)
+ desc = g_strdup ("");
+ else if (pspec->minimum == G_MININT)
+ desc = g_strdup_printf ("<= %s", upper);
+ else if (pspec->maximum == G_MAXINT)
+ desc = g_strdup_printf (">= %s", lower);
+ else
+ desc = g_strdup_printf ("[%s,%s]", lower, upper);
+ g_free (lower);
+ g_free (upper);
+ }
+ else if (G_IS_PARAM_SPEC_UINT (spec))
+ {
+ GParamSpecUInt *pspec = G_PARAM_SPEC_UINT (spec);
+
+ lower = describe_unsigned_constant (sizeof(guint), pspec->minimum);
+ upper = describe_unsigned_constant (sizeof(guint), pspec->maximum);
+ if (pspec->minimum == 0 && pspec->maximum == G_MAXUINT)
+ desc = g_strdup ("");
+ else if (pspec->minimum == 0)
+ desc = g_strdup_printf ("<= %s", upper);
+ else if (pspec->maximum == G_MAXUINT)
+ desc = g_strdup_printf (">= %s", lower);
+ else
+ desc = g_strdup_printf ("[%s,%s]", lower, upper);
+ g_free (lower);
+ g_free (upper);
+ }
+ else if (G_IS_PARAM_SPEC_LONG (spec))
+ {
+ GParamSpecLong *pspec = G_PARAM_SPEC_LONG (spec);
+
+ lower = describe_signed_constant (sizeof(glong), pspec->minimum);
+ upper = describe_signed_constant (sizeof(glong), pspec->maximum);
+ if (pspec->minimum == G_MINLONG && pspec->maximum == G_MAXLONG)
+ desc = g_strdup ("");
+ else if (pspec->minimum == G_MINLONG)
+ desc = g_strdup_printf ("<= %s", upper);
+ else if (pspec->maximum == G_MAXLONG)
+ desc = g_strdup_printf (">= %s", lower);
+ else
+ desc = g_strdup_printf ("[%s,%s]", lower, upper);
+ g_free (lower);
+ g_free (upper);
+ }
+ else if (G_IS_PARAM_SPEC_ULONG (spec))
+ {
+ GParamSpecULong *pspec = G_PARAM_SPEC_ULONG (spec);
+
+ lower = describe_unsigned_constant (sizeof(gulong), pspec->minimum);
+ upper = describe_unsigned_constant (sizeof(gulong), pspec->maximum);
+ if (pspec->minimum == 0 && pspec->maximum == G_MAXULONG)
+ desc = g_strdup ("");
+ else if (pspec->minimum == 0)
+ desc = g_strdup_printf ("<= %s", upper);
+ else if (pspec->maximum == G_MAXULONG)
+ desc = g_strdup_printf (">= %s", lower);
+ else
+ desc = g_strdup_printf ("[%s,%s]", lower, upper);
+ g_free (lower);
+ g_free (upper);
+ }
+ else if (G_IS_PARAM_SPEC_INT64 (spec))
+ {
+ GParamSpecInt64 *pspec = G_PARAM_SPEC_INT64 (spec);
+
+ lower = describe_signed_constant (sizeof(gint64), pspec->minimum);
+ upper = describe_signed_constant (sizeof(gint64), pspec->maximum);
+ if (pspec->minimum == G_MININT64 && pspec->maximum == G_MAXINT64)
+ desc = g_strdup ("");
+ else if (pspec->minimum == G_MININT64)
+ desc = g_strdup_printf ("<= %s", upper);
+ else if (pspec->maximum == G_MAXINT64)
+ desc = g_strdup_printf (">= %s", lower);
+ else
+ desc = g_strdup_printf ("[%s,%s]", lower, upper);
+ g_free (lower);
+ g_free (upper);
+ }
+ else if (G_IS_PARAM_SPEC_UINT64 (spec))
+ {
+ GParamSpecUInt64 *pspec = G_PARAM_SPEC_UINT64 (spec);
+
+ lower = describe_unsigned_constant (sizeof(guint64), pspec->minimum);
+ upper = describe_unsigned_constant (sizeof(guint64), pspec->maximum);
+ if (pspec->minimum == 0 && pspec->maximum == G_MAXUINT64)
+ desc = g_strdup ("");
+ else if (pspec->minimum == 0)
+ desc = g_strdup_printf ("<= %s", upper);
+ else if (pspec->maximum == G_MAXUINT64)
+ desc = g_strdup_printf (">= %s", lower);
+ else
+ desc = g_strdup_printf ("[%s,%s]", lower, upper);
+ g_free (lower);
+ g_free (upper);
+ }
+ else if (G_IS_PARAM_SPEC_FLOAT (spec))
+ {
+ GParamSpecFloat *pspec = G_PARAM_SPEC_FLOAT (spec);
+
+ lower = describe_double_constant (pspec->minimum);
+ upper = describe_double_constant (pspec->maximum);
+ if (GTKDOC_COMPARE_FLOAT (pspec->minimum, -G_MAXFLOAT))
+ {
+ if (GTKDOC_COMPARE_FLOAT (pspec->maximum, G_MAXFLOAT))
+ desc = g_strdup ("");
+ else
+ desc = g_strdup_printf ("<= %s", upper);
+ }
+ else if (GTKDOC_COMPARE_FLOAT (pspec->maximum, G_MAXFLOAT))
+ desc = g_strdup_printf (">= %s", lower);
+ else
+ desc = g_strdup_printf ("[%s,%s]", lower, upper);
+ g_free (lower);
+ g_free (upper);
+ }
+ else if (G_IS_PARAM_SPEC_DOUBLE (spec))
+ {
+ GParamSpecDouble *pspec = G_PARAM_SPEC_DOUBLE (spec);
+
+ lower = describe_double_constant (pspec->minimum);
+ upper = describe_double_constant (pspec->maximum);
+ if (GTKDOC_COMPARE_FLOAT (pspec->minimum, -G_MAXDOUBLE))
+ {
+ if (GTKDOC_COMPARE_FLOAT (pspec->maximum, G_MAXDOUBLE))
+ desc = g_strdup ("");
+ else
+ desc = g_strdup_printf ("<= %s", upper);
+ }
+ else if (GTKDOC_COMPARE_FLOAT (pspec->maximum, G_MAXDOUBLE))
+ desc = g_strdup_printf (">= %s", lower);
+ else
+ desc = g_strdup_printf ("[%s,%s]", lower, upper);
+ g_free (lower);
+ g_free (upper);
+ }
+#if GLIB_CHECK_VERSION (2, 12, 0)
+ else if (G_IS_PARAM_SPEC_GTYPE (spec))
+ {
+ GParamSpecGType *pspec = G_PARAM_SPEC_GTYPE (spec);
+ gboolean is_pointer;
+
+ desc = g_strdup (get_type_name (pspec->is_a_type, &is_pointer));
+ }
+#endif
+#if GLIB_CHECK_VERSION (2, 25, 9)
+ else if (G_IS_PARAM_SPEC_VARIANT (spec))
+ {
+ GParamSpecVariant *pspec = G_PARAM_SPEC_VARIANT (spec);
+ gchar *variant_type;
+
+ variant_type = g_variant_type_dup_string (pspec->type);
+ desc = g_strdup_printf ("GVariant<%s>", variant_type);
+ g_free (variant_type);
+ }
+#endif
+ else
+ {
+ desc = g_strdup ("");
+ }
+
+ return desc;
+}
+
+static gchar*
+describe_default (GParamSpec *spec)
+{
+ gchar *desc;
+
+ if (G_IS_PARAM_SPEC_CHAR (spec))
+ {
+ GParamSpecChar *pspec = G_PARAM_SPEC_CHAR (spec);
+
+ desc = g_strdup_printf ("%d", pspec->default_value);
+ }
+ else if (G_IS_PARAM_SPEC_UCHAR (spec))
+ {
+ GParamSpecUChar *pspec = G_PARAM_SPEC_UCHAR (spec);
+
+ desc = g_strdup_printf ("%u", pspec->default_value);
+ }
+ else if (G_IS_PARAM_SPEC_BOOLEAN (spec))
+ {
+ GParamSpecBoolean *pspec = G_PARAM_SPEC_BOOLEAN (spec);
+
+ desc = g_strdup_printf ("%s", pspec->default_value ? "TRUE" : "FALSE");
+ }
+ else if (G_IS_PARAM_SPEC_INT (spec))
+ {
+ GParamSpecInt *pspec = G_PARAM_SPEC_INT (spec);
+
+ desc = g_strdup_printf ("%d", pspec->default_value);
+ }
+ else if (G_IS_PARAM_SPEC_UINT (spec))
+ {
+ GParamSpecUInt *pspec = G_PARAM_SPEC_UINT (spec);
+
+ desc = g_strdup_printf ("%u", pspec->default_value);
+ }
+ else if (G_IS_PARAM_SPEC_LONG (spec))
+ {
+ GParamSpecLong *pspec = G_PARAM_SPEC_LONG (spec);
+
+ desc = g_strdup_printf ("%ld", pspec->default_value);
+ }
+ else if (G_IS_PARAM_SPEC_LONG (spec))
+ {
+ GParamSpecULong *pspec = G_PARAM_SPEC_ULONG (spec);
+
+ desc = g_strdup_printf ("%lu", pspec->default_value);
+ }
+ else if (G_IS_PARAM_SPEC_INT64 (spec))
+ {
+ GParamSpecInt64 *pspec = G_PARAM_SPEC_INT64 (spec);
+
+ desc = g_strdup_printf ("%" G_GINT64_FORMAT, pspec->default_value);
+ }
+ else if (G_IS_PARAM_SPEC_UINT64 (spec))
+ {
+ GParamSpecUInt64 *pspec = G_PARAM_SPEC_UINT64 (spec);
+
+ desc = g_strdup_printf ("%" G_GUINT64_FORMAT, pspec->default_value);
+ }
+ else if (G_IS_PARAM_SPEC_UNICHAR (spec))
+ {
+ GParamSpecUnichar *pspec = G_PARAM_SPEC_UNICHAR (spec);
+
+ if (g_unichar_isprint (pspec->default_value))
+ desc = g_strdup_printf ("'%c'", pspec->default_value);
+ else
+ desc = g_strdup_printf ("%u", pspec->default_value);
+ }
+ else if (G_IS_PARAM_SPEC_ENUM (spec))
+ {
+ GParamSpecEnum *pspec = G_PARAM_SPEC_ENUM (spec);
+
+ GEnumValue *value = g_enum_get_value (pspec->enum_class, pspec->default_value);
+ if (value)
+ desc = g_strdup_printf ("%s", value->value_name);
+ else
+ desc = g_strdup_printf ("%d", pspec->default_value);
+ }
+ else if (G_IS_PARAM_SPEC_FLAGS (spec))
+ {
+ GParamSpecFlags *pspec = G_PARAM_SPEC_FLAGS (spec);
+ guint default_value;
+ GString *acc;
+
+ default_value = pspec->default_value;
+ acc = g_string_new ("");
+
+ while (default_value)
+ {
+ GFlagsValue *value = g_flags_get_first_value (pspec->flags_class, default_value);
+
+ if (!value)
+ break;
+
+ if (acc->len > 0)
+ g_string_append (acc, "|");
+ g_string_append (acc, value->value_name);
+
+ default_value &= ~value->value;
+ }
+
+ if (default_value == 0)
+ desc = g_string_free (acc, FALSE);
+ else
+ {
+ desc = g_strdup_printf ("%d", pspec->default_value);
+ g_string_free (acc, TRUE);
+ }
+ }
+ else if (G_IS_PARAM_SPEC_FLOAT (spec))
+ {
+ GParamSpecFloat *pspec = G_PARAM_SPEC_FLOAT (spec);
+
+ /* make sure floats are output with a decimal dot irrespective of
+ * current locale. Use formatd since we want human-readable numbers
+ * and do not need the exact same bit representation when deserialising */
+ desc = g_malloc0 (G_ASCII_DTOSTR_BUF_SIZE);
+ g_ascii_formatd (desc, G_ASCII_DTOSTR_BUF_SIZE, "%g",
+ pspec->default_value);
+ }
+ else if (G_IS_PARAM_SPEC_DOUBLE (spec))
+ {
+ GParamSpecDouble *pspec = G_PARAM_SPEC_DOUBLE (spec);
+
+ /* make sure floats are output with a decimal dot irrespective of
+ * current locale. Use formatd since we want human-readable numbers
+ * and do not need the exact same bit representation when deserialising */
+ desc = g_malloc0 (G_ASCII_DTOSTR_BUF_SIZE);
+ g_ascii_formatd (desc, G_ASCII_DTOSTR_BUF_SIZE, "%g",
+ pspec->default_value);
+ }
+ else if (G_IS_PARAM_SPEC_STRING (spec))
+ {
+ GParamSpecString *pspec = G_PARAM_SPEC_STRING (spec);
+
+ if (pspec->default_value)
+ {
+ gchar *esc = g_strescape (pspec->default_value, NULL);
+
+ desc = g_strdup_printf ("\\"%s\\"", esc);
+
+ g_free (esc);
+ }
+ else
+ desc = g_strdup_printf ("NULL");
+ }
+#if GLIB_CHECK_VERSION (2, 25, 9)
+ else if (G_IS_PARAM_SPEC_VARIANT (spec))
+ {
+ GParamSpecVariant *pspec = G_PARAM_SPEC_VARIANT (spec);
+
+ if (pspec->default_value)
+ desc = g_variant_print (pspec->default_value, TRUE);
+ else
+ desc = g_strdup ("NULL");
+ }
+#endif
+ else
+ {
+ desc = g_strdup ("");
+ }
+
+ return desc;
+}
+
+
+static void
+output_object_args (FILE *fp, GType object_type)
+{
+ gpointer class;
+ const gchar *object_class_name;
+ guint arg;
+ gchar flags[16], *pos;
+ GParamSpec **properties;
+ guint n_properties;
+ gboolean child_prop;
+ gboolean style_prop;
+ gboolean is_pointer;
+ const gchar *type_name;
+ gchar *type_desc;
+ gchar *default_value;
+
+ if (G_TYPE_IS_OBJECT (object_type))
+ {
+ class = g_type_class_peek (object_type);
+ if (!class)
+ return;
+
+ properties = g_object_class_list_properties (class, &n_properties);
+ }
+#if GLIB_MAJOR_VERSION > 2 || (GLIB_MAJOR_VERSION == 2 && GLIB_MINOR_VERSION >= 3)
+ else if (G_TYPE_IS_INTERFACE (object_type))
+ {
+ class = g_type_default_interface_ref (object_type);
+
+ if (!class)
+ return;
+
+ properties = g_object_interface_list_properties (class, &n_properties);
+ }
+#endif
+ else
+ return;
+
+ object_class_name = g_type_name (object_type);
+
+ child_prop = FALSE;
+ style_prop = FALSE;
+
+ while (TRUE) {
+ qsort (properties, n_properties, sizeof (GParamSpec *), compare_param_specs);
+ for (arg = 0; arg < n_properties; arg++)
+ {
+ GParamSpec *spec = properties[arg];
+ const gchar *nick, *blurb, *dot;
+
+ if (spec->owner_type != object_type)
+ continue;
+
+ pos = flags;
+ /* We use one-character flags for simplicity. */
+ if (child_prop && !style_prop)
+ *pos++ = 'c';
+ if (style_prop)
+ *pos++ = 's';
+ if (spec->flags & G_PARAM_READABLE)
+ *pos++ = 'r';
+ if (spec->flags & G_PARAM_WRITABLE)
+ *pos++ = 'w';
+ if (spec->flags & G_PARAM_CONSTRUCT)
+ *pos++ = 'x';
+ if (spec->flags & G_PARAM_CONSTRUCT_ONLY)
+ *pos++ = 'X';
+ *pos = 0;
+
+ nick = g_param_spec_get_nick (spec);
+ blurb = g_param_spec_get_blurb (spec);
+
+ dot = "";
+ if (blurb) {
+ int str_len = strlen (blurb);
+ if (str_len > 0 && blurb[str_len - 1] != '.')
+ dot = ".";
+ }
+
+ type_desc = describe_type (spec);
+ default_value = describe_default (spec);
+ type_name = get_type_name (spec->value_type, &is_pointer);
+ fprintf (fp, "<ARG>\\n<NAME>%s::%s</NAME>\\n<TYPE>%s%s</TYPE>\\n<RANGE>%s</RANGE>\\n<FLAGS>%s</FLAGS>\\n<NICK>%s</NICK>\\n<BLURB>%s%s</BLURB>\\n<DEFAULT>%s</DEFAULT>\\n</ARG>\\n\\n",
+ object_class_name, g_param_spec_get_name (spec), type_name, is_pointer ? "*" : "", type_desc, flags, nick ? nick : "(null)", blurb ? blurb : "(null)", dot, default_value);
+ g_free (type_desc);
+ g_free (default_value);
+ }
+
+ g_free (properties);
+
+#ifdef GTK_IS_CONTAINER_CLASS
+ if (!child_prop && GTK_IS_CONTAINER_CLASS (class)) {
+ properties = gtk_container_class_list_child_properties (class, &n_properties);
+ child_prop = TRUE;
+ continue;
+ }
+#endif
+
+#ifdef GTK_IS_CELL_AREA_CLASS
+ if (!child_prop && GTK_IS_CELL_AREA_CLASS (class)) {
+ properties = gtk_cell_area_class_list_cell_properties (class, &n_properties);
+ child_prop = TRUE;
+ continue;
+ }
+#endif
+
+#ifdef GTK_IS_WIDGET_CLASS
+#if GTK_CHECK_VERSION(2,1,0)
+ if (!style_prop && GTK_IS_WIDGET_CLASS (class)) {
+ properties = gtk_widget_class_list_style_properties (GTK_WIDGET_CLASS (class), &n_properties);
+ style_prop = TRUE;
+ continue;
+ }
+#endif
+#endif
+
+EOT
+
+if ($QUERY_CHILD_PROPERTIES) {
+ print OUTPUT <<EOT;
+ if (!child_prop) {
+ properties = $QUERY_CHILD_PROPERTIES (class, &n_properties);
+ if (properties) {
+ child_prop = TRUE;
+ continue;
+ }
+ }
+
+EOT
+}
+
+print OUTPUT <<EOT;
+ break;
+ }
+}
+EOT
+
+close OUTPUT;
+
+# Compile and run our file
+
+$CC = $ENV{CC} ? $ENV{CC} : "gcc";
+$LD = $ENV{LD} ? $ENV{LD} : $CC;
+$CFLAGS = $ENV{CFLAGS} ? $ENV{CFLAGS} : "";
+$LDFLAGS = $ENV{LDFLAGS} ? $ENV{LDFLAGS} : "";
+$RUN = $ENV{RUN} ? $ENV{RUN} : "";
+
+my $o_file;
+if ($CC =~ /libtool/) {
+ $o_file = "$MODULE-scan.lo"
+} else {
+ $o_file = "$MODULE-scan.o"
+}
+
+my $stdout="";
+if (!defined($VERBOSE) or $VERBOSE eq "0") {
+ $stdout=">/dev/null";
+}
+
+# Compiling scanner
+$command = "$CC $stdout $CFLAGS -c -o $o_file $MODULE-scan.c";
+system("($command)") == 0 or die "Compilation of scanner failed: $!\n";
+
+# Linking scanner
+# FIXME: Can we turn off as-needed for the docs (or better fix it?)
+#$command = "$LD -Wl,--no-as-needed $o_file $LDFLAGS -o $MODULE-scan";
+$command = "$LD $stdout $o_file $LDFLAGS -o $MODULE-scan";
+system("($command)") == 0 or die "Linking of scanner failed: $!\n";
+
+# Running scanner $MODULE-scan ";
+system("($RUN ./$MODULE-scan)") == 0 or die "Scan failed: $!\n";
+
+
+if (!defined($ENV{"GTK_DOC_KEEP_INTERMEDIATE"})) {
+ unlink "./$MODULE-scan.c", "./$MODULE-scan.o", "./$MODULE-scan.lo", "./$MODULE-scan";
+}
+
+&UpdateFileIfChanged ($old_signals_filename, $new_signals_filename, 0);
+&UpdateFileIfChanged ($old_hierarchy_filename, $new_hierarchy_filename, 0);
+&UpdateFileIfChanged ($old_interfaces_filename, $new_interfaces_filename, 0);
+&UpdateFileIfChanged ($old_prerequisites_filename, $new_prerequisites_filename, 0);
+&UpdateFileIfChanged ($old_args_filename, $new_args_filename, 0);
+
+
--- /dev/null
+#!@PERL@ -w
+# -*- cperl -*-
+#
+# gtk-doc - GTK DocBook documentation generator.
+# Copyright (C) 1998 Damon Chaplin
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+#
+
+#
+# This gets information about object heirarchies and signals
+# by compiling a small C program. CFLAGS and LDFLAGS must be
+# set appropriately before running this script.
+#
+
+use Getopt::Long;
+
+push @INC, '@PACKAGE_DATA_DIR@';
+require "gtkdoc-common.pl";
+
+# Options
+
+# name of documentation module
+my $MODULE;
+my $OUTPUT_DIR;
+my $PRINT_VERSION;
+
+%optctl = (module => \$MODULE,
+ types => \$TYPES_FILE,
+ nogtkinit => \$NO_GTK_INIT,
+ 'output-dir' => \$OUTPUT_DIR,
+ 'version' => \$PRINT_VERSION,
+ 'help' => \$PRINT_HELP);
+
+GetOptions(\%optctl, "module=s", "types:s", "output-dir:s", "nogtkinit", "version", "help");
+
+if ($PRINT_VERSION) {
+ print "@VERSION@\n";
+ exit 0;
+}
+
+if (!$MODULE) {
+ $PRINT_HELP = 1;
+}
+
+if ($PRINT_HELP) {
+ print <<EOF;
+gtkdoc-scanobj version @VERSION@ - introspect gtk-objects
+
+--module=MODULE_NAME Name of the doc module being parsed
+--types=FILE The name of the file to store the types in
+--output-dir=DIRNAME The directory where the results are stored
+--version Print the version of this program
+--help Print this help
+EOF
+ exit 0;
+}
+
+$OUTPUT_DIR = $OUTPUT_DIR ? $OUTPUT_DIR : ".";
+
+$TYPES_FILE = $TYPES_FILE ? $TYPES_FILE : "$OUTPUT_DIR/$MODULE.types";
+
+open (TYPES, $TYPES_FILE) || die "Cannot open $TYPES_FILE: $!\n";
+open (OUTPUT, ">$MODULE-scan.c") || die "Cannot open $MODULE-scan.c: $!\n";
+
+my $old_signals_filename = "$OUTPUT_DIR/$MODULE.signals";
+my $new_signals_filename = "$OUTPUT_DIR/$MODULE.signals.new";
+my $old_hierarchy_filename = "$OUTPUT_DIR/$MODULE.hierarchy";
+my $new_hierarchy_filename = "$OUTPUT_DIR/$MODULE.hierarchy.new";
+my $old_args_filename = "$OUTPUT_DIR/$MODULE.args";
+my $new_args_filename = "$OUTPUT_DIR/$MODULE.args.new";
+
+# write a C program to scan the types
+
+$includes = "";
+@types = ();
+
+for (<TYPES>) {
+ if (/^#include/) {
+ $includes .= $_;
+ } elsif (/^%/) {
+ next;
+ } elsif (/^\s*$/) {
+ next;
+ } else {
+ chomp;
+ push @types, $_;
+ }
+}
+
+$ntypes = @types + 1;
+
+print OUTPUT <<EOT;
+#include <string.h>
+#include <stdlib.h>
+#include <stdio.h>
+#include <errno.h>
+
+$includes
+GtkType object_types[$ntypes];
+
+GtkType *
+get_object_types (void)
+{
+ gint i = 0;
+EOT
+
+for (@types) {
+ print OUTPUT " object_types[i++] = $_ ();\n";
+}
+
+print OUTPUT <<EOT;
+ object_types[i] = 0;
+
+ return object_types;
+}
+
+/*
+ * This uses GTK type functions to output signal prototypes and the widget
+ * hierarchy.
+ */
+
+/* The output files */
+gchar *signals_filename = "$new_signals_filename";
+gchar *hierarchy_filename = "$new_hierarchy_filename";
+gchar *args_filename = "$new_args_filename";
+
+
+static void output_signals (void);
+static void output_widget_signals (FILE *fp,
+ GtkType object_type);
+static void output_widget_signal (FILE *fp,
+ GtkType object_type,
+ gchar *object_class_name,
+ guint signal_id);
+static gchar * get_type_name (GtkType type,
+ gboolean * is_pointer);
+static void output_widget_hierarchy (void);
+static void output_hierarchy (FILE *fp,
+ GtkType type,
+ guint level);
+
+static void output_args (void);
+static void output_widget_args (FILE *fp, GtkType object_type);
+
+int
+main (int argc, char *argv[])
+{
+EOT
+
+ if ($NO_GTK_INIT) {
+ print OUTPUT <<EOT;
+ gtk_type_init ();
+EOT
+ } else {
+ print OUTPUT <<EOT;
+ gtk_init (&argc, &argv);
+EOT
+ }
+
+print OUTPUT <<EOT;
+ get_object_types ();
+
+ output_signals ();
+ output_widget_hierarchy ();
+ output_args ();
+
+ return 0;
+}
+
+
+static void
+output_signals (void)
+{
+ FILE *fp;
+ gint i;
+
+ fp = fopen (signals_filename, "w");
+ if (fp == NULL)
+ {
+ g_warning ("Couldn't open output file: %s : %s", signals_filename, g_strerror(errno));
+ return;
+ }
+
+ for (i = 0; object_types[i]; i++)
+ output_widget_signals (fp, object_types[i]);
+
+ fclose (fp);
+}
+
+
+/* This outputs all the signals of one widget. */
+static void
+output_widget_signals (FILE *fp, GtkType object_type)
+{
+ GtkObjectClass *class;
+ gchar *object_class_name;
+ guint sig;
+
+ class = gtk_type_class (object_type);
+ if (!class || class->nsignals == 0)
+ return;
+
+ object_class_name = gtk_type_name (object_type);
+
+ for (sig = 0; sig < class->nsignals; sig++)
+ {
+ if (!class->signals[sig])
+ {
+ /*g_print ("Signal slot [%u] is empty\\n", sig);*/
+ continue;
+ }
+
+ output_widget_signal (fp, object_type, object_class_name,
+ class->signals[sig]);
+ }
+}
+
+
+/* This outputs one signal. */
+static void
+output_widget_signal (FILE *fp,
+ GtkType object_type,
+ gchar *object_name,
+ guint signal_id)
+{
+ GtkSignalQuery *query_info;
+ gchar *ret_type, *pos, *type_name, *arg_name, *object_arg, *object_arg_start;
+ gboolean is_pointer;
+ gchar buffer[1024];
+ guint i, param;
+ gint param_num, widget_num, event_num, callback_num;
+ gint *arg_num;
+ gchar signal_name[128];
+
+ /* g_print ("Object: %s Type: %i Signal: %u\\n", object_name, object_type,
+ signal_id);*/
+
+ param_num = 1;
+ widget_num = event_num = callback_num = 0;
+
+ query_info = gtk_signal_query (signal_id);
+ if (query_info == NULL)
+ {
+ g_warning ("Couldn't query signal");
+ return;
+ }
+
+ /* Output the signal object type and the argument name. We assume the
+ type is a pointer - I think that is OK. We remove "Gtk" or "Gnome" and
+ convert to lower case for the argument name. */
+ pos = buffer;
+ sprintf (pos, "%s ", object_name);
+ pos += strlen (pos);
+
+ /* Try to come up with a sensible variable name for the first arg
+ * I chops off 2 know prefixes :/ and makes the name lowercase
+ * It should replace lowercase -> uppercase with '_'
+ * see gtkdoc-scangobject.in for better algorithm
+ */
+ if (!strncmp (object_name, "Gtk", 3))
+ object_arg = object_name + 3;
+ else if (!strncmp (object_name, "Gnome", 5))
+ object_arg = object_name + 5;
+ else
+ object_arg = object_name;
+
+ object_arg_start = pos;
+ sprintf (pos, "*%s\\n", object_arg);
+ pos += strlen (pos);
+ g_strdown (object_arg_start);
+ if (!strcmp (object_arg_start, "widget"))
+ widget_num++;
+
+ /* Convert signal name to use underscores rather than dashes '-'. */
+ strncpy (signal_name, query_info->signal_name, 127);
+ signal_name[127] = '\\0';
+ for (i = 0; signal_name[i]; i++)
+ {
+ if (signal_name[i] == '-')
+ signal_name[i] = '_';
+ }
+
+ /* Output the signal parameters. */
+ for (param = 0; param < query_info->nparams; param++)
+ {
+ type_name = get_type_name (query_info->params[param], &is_pointer);
+
+ /* Most arguments to the callback are called "arg1", "arg2", etc.
+ GtkWidgets are called "widget", "widget2", ...
+ GtkCallbacks are called "callback", "callback2", ... */
+ if (!strcmp (type_name, "GtkWidget"))
+ {
+ arg_name = "widget";
+ arg_num = &widget_num;
+ }
+ else if (!strcmp (type_name, "GtkCallback")
+ || !strcmp (type_name, "GtkCCallback"))
+ {
+ arg_name = "callback";
+ arg_num = &callback_num;
+ }
+ else
+ {
+ arg_name = "arg";
+ arg_num = ¶m_num;
+ }
+ sprintf (pos, "%s ", type_name);
+ pos += strlen (pos);
+
+ if (!arg_num || *arg_num == 0)
+ sprintf (pos, "%s%s\\n", is_pointer ? "*" : " ", arg_name);
+ else
+ sprintf (pos, "%s%s%i\\n", is_pointer ? "*" : " ", arg_name,
+ *arg_num);
+ pos += strlen (pos);
+
+ if (arg_num)
+ *arg_num += 1;
+ }
+
+ /* Output the return type and function name. */
+ ret_type = get_type_name (query_info->return_val, &is_pointer);
+
+ fprintf (fp,
+ "<SIGNAL>\\n<NAME>%s::%s</NAME>\\n<RETURNS>%s%s</RETURNS>\\n%s</SIGNAL>\\n\\n",
+ object_name, query_info->signal_name, ret_type, is_pointer ? "*" : "", buffer);
+ g_free (query_info);
+}
+
+
+/* Returns the type name to use for a signal argument or return value, given
+ the GtkType from the signal info. It also sets is_pointer to TRUE if the
+ argument needs a '*' since it is a pointer. */
+static gchar *
+get_type_name (GtkType type, gboolean * is_pointer)
+{
+ gchar *type_name;
+
+ *is_pointer = FALSE;
+ type_name = gtk_type_name (type);
+
+ switch (type) {
+ case GTK_TYPE_NONE:
+ case GTK_TYPE_CHAR:
+ case GTK_TYPE_UCHAR:
+ case GTK_TYPE_BOOL:
+ case GTK_TYPE_INT:
+ case GTK_TYPE_UINT:
+ case GTK_TYPE_LONG:
+ case GTK_TYPE_ULONG:
+ case GTK_TYPE_FLOAT:
+ case GTK_TYPE_DOUBLE:
+ case GTK_TYPE_POINTER:
+ /* These all have normal C type names so they are OK. */
+ return type_name;
+
+ case GTK_TYPE_STRING:
+ /* A GtkString is really a gchar*. */
+ *is_pointer = TRUE;
+ return "gchar";
+
+ case GTK_TYPE_ENUM:
+ case GTK_TYPE_FLAGS:
+ /* We use a gint for both of these. Hopefully a subtype with a decent
+ name will be registered and used instead, as GTK+ does itself. */
+ return "gint";
+
+ case GTK_TYPE_BOXED:
+ /* A boxed value is just an opaque pointer, I think. */
+ return "gpointer";
+
+ case GTK_TYPE_SIGNAL:
+ case GTK_TYPE_ARGS:
+ case GTK_TYPE_FOREIGN:
+ case GTK_TYPE_CALLBACK:
+ case GTK_TYPE_C_CALLBACK:
+ /* FIXME: These are wrong. I think they expand into more than 1 argument.
+ See the GtkArg struct in gtktypeutils.h and gtkargcollector.c.
+ Fortunately I doubt anything uses these as signal args. */
+ return "gpointer";
+
+ default:
+ break;
+ }
+
+ /* For all GtkObject subclasses we can use the class name with a "*",
+ e.g. 'GtkWidget *'. */
+ if (gtk_type_is_a (type, GTK_TYPE_OBJECT))
+ *is_pointer = TRUE;
+
+ return type_name;
+}
+
+
+/* This outputs the hierarchy of all widgets which have been initialized,
+ i.e. by calling their XXX_get_type() initialization function. */
+static void
+output_widget_hierarchy (void)
+{
+ FILE *fp;
+
+ fp = fopen (hierarchy_filename, "w");
+ if (fp == NULL)
+ {
+ g_warning ("Couldn't open output file: %s : %s", hierarchy_filename, g_strerror(errno));
+ return;
+ }
+ output_hierarchy (fp, GTK_TYPE_OBJECT, 0);
+ fclose (fp);
+}
+
+
+/* This is called recursively to output the hierarchy of a widget. */
+static void
+output_hierarchy (FILE *fp,
+ GtkType type,
+ guint level)
+{
+ GList *list;
+ guint i;
+
+ if (!type)
+ return;
+
+ for (i = 0; i < level; i++)
+ fprintf (fp, " ");
+ fprintf (fp, "%s\\n", gtk_type_name (type));
+
+ list = gtk_type_children_types (type);
+
+ while (list)
+ {
+ GtkType child = (GtkType) list->data;
+ output_hierarchy (fp, child, level + 1);
+ list = list->next;
+ }
+}
+
+
+static void
+output_args (void)
+{
+ FILE *fp;
+ gint i;
+
+ fp = fopen (args_filename, "w");
+ if (fp == NULL)
+ {
+ g_warning ("Couldn't open output file: %s : %s", args_filename, g_strerror(errno));
+ return;
+ }
+
+ for (i = 0; object_types[i]; i++)
+ output_widget_args (fp, object_types[i]);
+
+ fclose (fp);
+}
+
+
+static void
+output_widget_args (FILE *fp, GtkType object_type)
+{
+ GtkObjectClass *class;
+ gchar *object_class_name;
+ GtkArg *args;
+ guint32 *arg_flags;
+ guint n_args;
+ guint arg;
+ gchar flags[16], *pos;
+
+ class = gtk_type_class (object_type);
+ if (!class)
+ return;
+
+ object_class_name = gtk_type_name (object_type);
+
+ args = gtk_object_query_args (class->type, &arg_flags, &n_args);
+
+ for (arg = 0; arg < n_args; arg++)
+ {
+ pos = flags;
+ /* We use one-character flags for simplicity. */
+ if (arg_flags[arg] & GTK_ARG_READABLE)
+ *pos++ = 'r';
+ if (arg_flags[arg] & GTK_ARG_WRITABLE)
+ *pos++ = 'w';
+ if (arg_flags[arg] & GTK_ARG_CONSTRUCT)
+ *pos++ = 'x';
+ if (arg_flags[arg] & GTK_ARG_CONSTRUCT_ONLY)
+ *pos++ = 'X';
+ if (arg_flags[arg] & GTK_ARG_CHILD_ARG)
+ *pos++ = 'c';
+ *pos = 0;
+
+ fprintf (fp, "<ARG>\\n<NAME>%s</NAME>\\n<TYPE>%s</TYPE>\\n<FLAGS>%s</FLAGS>\\n</ARG>\\n\\n",
+ args[arg].name, gtk_type_name (args[arg].type), flags);
+ }
+
+ g_free (args);
+ g_free (arg_flags);
+}
+EOT
+
+close OUTPUT;
+
+# Compile and run our file
+
+$CC = $ENV{CC} ? $ENV{CC} : "gcc";
+$LD = $ENV{LD} ? $ENV{LD} : $CC;
+$CFLAGS = $ENV{CFLAGS} ? $ENV{CFLAGS} : "";
+$LDFLAGS = $ENV{LDFLAGS} ? $ENV{LDFLAGS} : "";
+$RUN = $ENV{RUN} ? $ENV{RUN} : "";
+
+my $o_file;
+if ($CC =~ /libtool/) {
+ $o_file = "$MODULE-scan.lo"
+} else {
+ $o_file = "$MODULE-scan.o"
+}
+
+# Compiling scanner
+$command = "$CC $CFLAGS -c -o $o_file $MODULE-scan.c";
+system("($command)") == 0 or die "Compilation of scanner failed: $!\n";
+
+# Linking scanner
+# FIXME: Can we turn off as-needed for the docs (or better fix it?)
+#$command = "$LD -Wl,--no-as-needed $o_file $LDFLAGS -o $MODULE-scan";
+$command = "$LD $o_file $LDFLAGS -o $MODULE-scan";
+system("($command)") == 0 or die "Linking of scanner failed: $!\n";
+
+# Running scanner $MODULE-scan ";
+system("($RUN ./$MODULE-scan)") == 0 or die "Scan failed: $!\n";
+
+if (!defined($ENV{"GTK_DOC_KEEP_INTERMEDIATE"})) {
+ unlink "./$MODULE-scan.c", "./$MODULE-scan.o", "./$MODULE-scan.lo", "./$MODULE-scan";
+}
+
+&UpdateFileIfChanged ($old_signals_filename, $new_signals_filename, 0);
+&UpdateFileIfChanged ($old_hierarchy_filename, $new_hierarchy_filename, 0);
+&UpdateFileIfChanged ($old_args_filename, $new_args_filename, 0);
+
--- /dev/null
+#!/bin/sh
+
+progname=`echo "$0" | sed 's%^.*/%%'`
+
+PROGRAM=gtkdocize
+PACKAGE=@PACKAGE@
+VERSION=@VERSION@
+
+prefix=@prefix@
+datarootdir=@datarootdir@
+datadir=@datadir@
+
+# options
+docdir=.
+copy=no
+makefile=gtk-doc.make
+flavour=legacy
+
+# mini help
+usage="\
+usage: $progname [ --copy ] [ --docdir DIR ] [ --flavour {legacy|legacy-flat|no-tmpl|no-tmpl-flat} ]"
+
+# detect configure script
+no_configure_found=0
+if test -f configure.ac; then
+ configure=configure.ac
+elif test -f configure.in; then
+ configure=configure.in
+else
+ no_configure_found=1
+fi
+
+# check configure script for GTK_DOC_CHECK macro
+no_gtk_doc_check_found=0
+if test $no_configure_found -eq 0; then
+ macro=`grep '^GTK_DOC_CHECK' $configure 2>/dev/null`
+ if test $? -eq 0; then
+ # GTK_DOC_CHECK([1.14],[--flavour no-tmpl])
+ params=`echo $macro | sed -e 's/^GTK_DOC_CHECK(\ *\(.*\))/\1/'`
+ if echo $params | grep -q '^.*\,\ *\[\{0,1\}'; then
+ extra_options=`echo $params | sed -e 's/^.*\,\ *\[\{0,1\}\([^]]*\)\]\{0,1\}\ *$/\1/'`
+ #echo >&2 "DEBUG: adding extra options [$extra_options] to [$*]"
+ set - $* $GTKDOCIZE_FLAGS $extra_options
+ else
+ set - $* $GTKDOCIZE_FLAGS
+ fi
+ else
+ no_gtk_doc_check_found=1;
+ fi
+fi
+
+while test $# -gt 0; do
+ #echo >&2 "DEBUG: parsing args [$1]";
+ case "$1" in
+ --help)
+ echo "$usage"
+ exit 0 ;;
+ --version)
+ echo "$PROGRAM ($PACKAGE) $VERSION"
+ exit 0 ;;
+ --copy)
+ copy=yes
+ shift ;;
+ --docdir)
+ shift
+ docdir="$1"
+ shift ;;
+ --docdir=*)
+ docdir=`expr "X$1" : '[^=]*=\(.*\)'`
+ shift ;;
+ --flavour)
+ shift
+ flavour="$1"
+ shift ;;
+ --flavour=*)
+ flavour=`expr "X$1" : '[^=]*=\(.*\)'`
+ shift ;;
+ -*)
+ echo "$progname: unrecognised option '$1'" 1>&2
+ echo "$usage" 1>&2
+ exit 1 ;;
+ *)
+ echo "$progname: too many arguments" 1>&2
+ echo "$usage" 1>&2
+ exit 1 ;;
+ esac
+done
+
+case "$flavour" in
+ legacy*)
+ ;;
+ no-tmpl*)
+ makefile=gtk-doc.notmpl.make
+ ;;
+ *)
+ echo "$progname: invalid value for --flavour" 1>&2
+ echo "$usage" 1>&2
+ exit 1 ;;
+esac
+
+if test $no_configure_found -eq 1; then
+ echo "$progname: neither configure.ac nor configure.in exist" 1>&2
+ exit 1
+fi
+if test $no_gtk_doc_check_found -eq 1; then
+ echo "$progname: GTK_DOC_CHECK not called in $configure" 1>&2
+ exit 1
+fi
+
+# If the AC_CONFIG_MACRO_DIR() macro is used, copy gtk-doc.m4 from our
+# prefix to that directory. This makes sure that the M4 macro used
+# matches the the automake fragment.
+# If AC_CONFIG_MACRO_DIR is not used, the macro won't be copied, and
+# the correct flags must be passed to aclocal for it to find 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/gtk-doc.m4
+ if test "$copy" = yes; then
+ cp -f $datadir/aclocal/gtk-doc.m4 $m4dir/ ||
+ exit 1
+ else
+ ln -sf $datadir/aclocal/gtk-doc.m4 $m4dir/ ||
+ cp -f $datadir/aclocal/gtk-doc.m4 $m4dir/ ||
+ exit 1
+ fi
+fi
+
+rm -f $docdir/gtk-doc.make
+if test "$copy" = yes; then
+ cp -f $datadir/gtk-doc/data/$makefile $docdir/gtk-doc.make ||
+ exit 1
+else
+ ln -sf $datadir/gtk-doc/data/$makefile $docdir/gtk-doc.make ||
+ cp -f $datadir/gtk-doc/data/$makefile $docdir/gtk-doc.make ||
+ exit 1
+fi
--- /dev/null
+## Process this file with automake to produce Makefile.in
+
+if HAVE_GNOME_DOC_UTILS
+SUBDIRS = manual
+endif
+
+
+-include $(top_srcdir)/git.mk
--- /dev/null
+# 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@
+pkgdatadir = $(datadir)/@PACKAGE@
+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 = :
+build_triplet = @build@
+host_triplet = @host@
+subdir = help
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/gnome-doc-utils.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
+ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/acinclude.m4 \
+ $(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 =
+AM_V_GEN = $(am__v_GEN_$(V))
+am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
+am__v_GEN_0 = @echo " GEN " $@;
+AM_V_at = $(am__v_at_$(V))
+am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
+am__v_at_0 = @
+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
+DIST_SUBDIRS = manual
+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"
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
+AR = @AR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DBLATEX = @DBLATEX@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DISTCHECK_CONFIGURE_FLAGS = @DISTCHECK_CONFIGURE_FLAGS@
+DOC_USER_FORMATS = @DOC_USER_FORMATS@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+FGREP = @FGREP@
+FOP = @FOP@
+GREP = @GREP@
+HELP_DIR = @HELP_DIR@
+HIGHLIGHT = @HIGHLIGHT@
+HIGHLIGHT_OPTIONS = @HIGHLIGHT_OPTIONS@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+JADE = @JADE@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+MKDIR_P = @MKDIR_P@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OMF_DIR = @OMF_DIR@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_DATA_DIR = @PACKAGE_DATA_DIR@
+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@
+PKG_CONFIG = @PKG_CONFIG@
+PYTHON = @PYTHON@
+PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
+PYTHON_PLATFORM = @PYTHON_PLATFORM@
+PYTHON_PREFIX = @PYTHON_PREFIX@
+PYTHON_VERSION = @PYTHON_VERSION@
+RANLIB = @RANLIB@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SGML_FORMAT_TYPE = @SGML_FORMAT_TYPE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+TEST_DEPS_CFLAGS = @TEST_DEPS_CFLAGS@
+TEST_DEPS_LIBS = @TEST_DEPS_LIBS@
+TRACE = @TRACE@
+VERSION = @VERSION@
+XMLCATALOG = @XMLCATALOG@
+XML_CATALOG_FILE = @XML_CATALOG_FILE@
+XSLTPROC = @XSLTPROC@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+glib_prefix = @glib_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+lt_ECHO = @lt_ECHO@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+pkgpyexecdir = @pkgpyexecdir@
+pkgpythondir = @pkgpythondir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+pyexecdir = @pyexecdir@
+pythondir = @pythondir@
+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@
+@HAVE_GNOME_DOC_UTILS_TRUE@SUBDIRS = manual
+all: all-recursive
+
+.SUFFIXES:
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(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) --gnu help/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --gnu help/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: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+
+# 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)
+ @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
+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:
+
+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 clean-libtool 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 mostlyclean-libtool
+
+pdf: pdf-recursive
+
+pdf-am:
+
+ps: ps-recursive
+
+ps-am:
+
+uninstall-am:
+
+.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 check check-am clean clean-generic clean-libtool \
+ ctags ctags-recursive distclean distclean-generic \
+ distclean-libtool 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 \
+ mostlyclean-libtool pdf pdf-am ps ps-am tags tags-recursive \
+ uninstall uninstall-am
+
+
+-include $(top_srcdir)/git.mk
+
+# 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:
--- /dev/null
+<!--
+ The GNU Free Documentation License 1.1 in DocBook
+ Markup by Eric Baudais <baudais@okstate.edu>
+ Maintained by the GNOME Documentation Project
+ http://developer.gnome.org/projects/gdp
+ Version: 1.0.1
+ Last Modified: Nov 16, 2000
+-->
+
+<appendix id="fdl">
+ <appendixinfo>
+ <releaseinfo>
+ Version 1.1, March 2000
+ </releaseinfo>
+ <copyright>
+ <year>2000</year><holder>Free Software Foundation, Inc.</holder>
+ </copyright>
+ <legalnotice id="fdl-legalnotice">
+ <para>
+ <address>Free Software Foundation, Inc. <street>51 Franklin Street,
+ Suite 330</street>, <city>Boston</city>, <state>MA</state>
+ <postcode>02110-1301</postcode> <country>USA</country></address>
+ Everyone is permitted to copy and distribute verbatim copies of this
+ license document, but changing it is not allowed.
+ </para>
+ </legalnotice>
+ </appendixinfo>
+ <title>GNU Free Documentation License</title>
+
+ <sect1 id="fdl-preamble">
+ <title>0. PREAMBLE</title>
+ <para>
+ The purpose of this License is to make a manual, textbook, or
+ other written document <quote>free</quote> in the sense of
+ freedom: to assure everyone the effective freedom to copy and
+ redistribute it, with or without modifying it, either
+ commercially or noncommercially. Secondarily, this License
+ preserves for the author and publisher a way to get credit for
+ their work, while not being considered responsible for
+ modifications made by others.
+ </para>
+
+ <para>
+ This License is a kind of <quote>copyleft</quote>, which means
+ that derivative works of the document must themselves be free in
+ the same sense. It complements the GNU General Public License,
+ which is a copyleft license designed for free software.
+ </para>
+
+ <para>
+ We have designed this License in order to use it for manuals for
+ free software, because free software needs free documentation: a
+ free program should come with manuals providing the same
+ freedoms that the software does. But this License is not limited
+ to software manuals; it can be used for any textual work,
+ regardless of subject matter or whether it is published as a
+ printed book. We recommend this License principally for works
+ whose purpose is instruction or reference.
+ </para>
+ </sect1>
+ <sect1 id="fdl-section1">
+ <title>1. APPLICABILITY AND DEFINITIONS</title>
+ <para id="fdl-document">
+ This License applies to any manual or other work that contains a
+ notice placed by the copyright holder saying it can be
+ distributed under the terms of this License. The
+ <quote>Document</quote>, below, refers to any such manual or
+ work. Any member of the public is a licensee, and is addressed
+ as <quote>you</quote>.
+ </para>
+
+ <para id="fdl-modified">
+ A <quote>Modified Version</quote> of the Document means any work
+ containing the Document or a portion of it, either copied
+ verbatim, or with modifications and/or translated into another
+ language.
+ </para>
+
+ <para id="fdl-secondary">
+ A <quote>Secondary Section</quote> is a named appendix or a
+ front-matter section of the <link
+ linkend="fdl-document">Document</link> that deals exclusively
+ with the relationship of the publishers or authors of the
+ Document to the Document's overall subject (or to related
+ matters) and contains nothing that could fall directly within
+ that overall subject. (For example, if the Document is in part a
+ textbook of mathematics, a Secondary Section may not explain any
+ mathematics.) The relationship could be a matter of historical
+ connection with the subject or with related matters, or of
+ legal, commercial, philosophical, ethical or political position
+ regarding them.
+ </para>
+
+ <para id="fdl-invariant">
+ The <quote>Invariant Sections</quote> are certain <link
+ linkend="fdl-secondary"> Secondary Sections</link> whose titles
+ are designated, as being those of Invariant Sections, in the
+ notice that says that the <link
+ linkend="fdl-document">Document</link> is released under this
+ License.
+ </para>
+
+ <para id="fdl-cover-texts">
+ The <quote>Cover Texts</quote> are certain short passages of
+ text that are listed, as Front-Cover Texts or Back-Cover Texts,
+ in the notice that says that the <link
+ linkend="fdl-document">Document</link> is released under this
+ License.
+ </para>
+
+ <para id="fdl-transparent">
+ A <quote>Transparent</quote> copy of the <link
+ linkend="fdl-document"> Document</link> means a machine-readable
+ copy, represented in a format whose specification is available
+ to the general public, whose contents can be viewed and edited
+ directly and straightforwardly with generic text editors or (for
+ images composed of pixels) generic paint programs or (for
+ drawings) some widely available drawing editor, and that is
+ suitable for input to text formatters or for automatic
+ translation to a variety of formats suitable for input to text
+ formatters. A copy made in an otherwise Transparent file format
+ whose markup has been designed to thwart or discourage
+ subsequent modification by readers is not Transparent. A copy
+ that is not <quote>Transparent</quote> is called
+ <quote>Opaque</quote>.
+ </para>
+
+ <para>
+ Examples of suitable formats for Transparent copies include
+ plain ASCII without markup, Texinfo input format, LaTeX input
+ format, SGML or XML using a publicly available DTD, and
+ standard-conforming simple HTML designed for human
+ modification. Opaque formats include PostScript, PDF,
+ proprietary formats that can be read and edited only by
+ proprietary word processors, SGML or XML for which the DTD
+ and/or processing tools are not generally available, and the
+ machine-generated HTML produced by some word processors for
+ output purposes only.
+ </para>
+
+ <para id="fdl-title-page">
+ The <quote>Title Page</quote> means, for a printed book, the
+ title page itself, plus such following pages as are needed to
+ hold, legibly, the material this License requires to appear in
+ the title page. For works in formats which do not have any title
+ page as such, <quote>Title Page</quote> means the text near the
+ most prominent appearance of the work's title, preceding the
+ beginning of the body of the text.
+ </para>
+ </sect1>
+
+ <sect1 id="fdl-section2">
+ <title>2. VERBATIM COPYING</title>
+ <para>
+ You may copy and distribute the <link
+ linkend="fdl-document">Document</link> in any medium, either
+ commercially or noncommercially, provided that this License, the
+ copyright notices, and the license notice saying this License
+ applies to the Document are reproduced in all copies, and that
+ you add no other conditions whatsoever to those of this
+ License. You may not use technical measures to obstruct or
+ control the reading or further copying of the copies you make or
+ distribute. However, you may accept compensation in exchange for
+ copies. If you distribute a large enough number of copies you
+ must also follow the conditions in <link
+ linkend="fdl-section3">section 3</link>.
+ </para>
+
+ <para>
+ You may also lend copies, under the same conditions stated
+ above, and you may publicly display copies.
+ </para>
+ </sect1>
+
+ <sect1 id="fdl-section3">
+ <title>3. COPYING IN QUANTITY</title>
+ <para>
+ If you publish printed copies of the <link
+ linkend="fdl-document">Document</link> numbering more than 100,
+ and the Document's license notice requires <link
+ linkend="fdl-cover-texts">Cover Texts</link>, you must enclose
+ the copies in covers that carry, clearly and legibly, all these
+ Cover Texts: Front-Cover Texts on the front cover, and
+ Back-Cover Texts on the back cover. Both covers must also
+ clearly and legibly identify you as the publisher of these
+ copies. The front cover must present the full title with all
+ words of the title equally prominent and visible. You may add
+ other material on the covers in addition. Copying with changes
+ limited to the covers, as long as they preserve the title of the
+ <link linkend="fdl-document">Document</link> and satisfy these
+ conditions, can be treated as verbatim copying in other
+ respects.
+ </para>
+
+ <para>
+ If the required texts for either cover are too voluminous to fit
+ legibly, you should put the first ones listed (as many as fit
+ reasonably) on the actual cover, and continue the rest onto
+ adjacent pages.
+ </para>
+
+ <para>
+ If you publish or distribute <link
+ linkend="fdl-transparent">Opaque</link> copies of the <link
+ linkend="fdl-document">Document</link> numbering more than 100,
+ you must either include a machine-readable <link
+ linkend="fdl-transparent">Transparent</link> copy along with
+ each Opaque copy, or state in or with each Opaque copy a
+ publicly-accessible computer-network location containing a
+ complete Transparent copy of the Document, free of added
+ material, which the general network-using public has access to
+ download anonymously at no charge using public-standard network
+ protocols. If you use the latter option, you must take
+ reasonably prudent steps, when you begin distribution of Opaque
+ copies in quantity, to ensure that this Transparent copy will
+ remain thus accessible at the stated location until at least one
+ year after the last time you distribute an Opaque copy (directly
+ or through your agents or retailers) of that edition to the
+ public.
+ </para>
+
+ <para>
+ It is requested, but not required, that you contact the authors
+ of the <link linkend="fdl-document">Document</link> well before
+ redistributing any large number of copies, to give them a chance
+ to provide you with an updated version of the Document.
+ </para>
+ </sect1>
+
+ <sect1 id="fdl-section4">
+ <title>4. MODIFICATIONS</title>
+ <para>
+ You may copy and distribute a <link
+ linkend="fdl-modified">Modified Version</link> of the <link
+ linkend="fdl-document">Document</link> under the conditions of
+ sections <link linkend="fdl-section2">2</link> and <link
+ linkend="fdl-section3">3</link> above, provided that you release
+ the Modified Version under precisely this License, with the
+ Modified Version filling the role of the Document, thus
+ licensing distribution and modification of the Modified Version
+ to whoever possesses a copy of it. In addition, you must do
+ these things in the Modified Version:
+ </para>
+
+ <itemizedlist mark="opencircle">
+ <listitem>
+ <formalpara>
+ <title>A</title>
+ <para>
+ Use in the <link linkend="fdl-title-page">Title
+ Page</link> (and on the covers, if any) a title distinct
+ from that of the <link
+ linkend="fdl-document">Document</link>, and from those of
+ previous versions (which should, if there were any, be
+ listed in the History section of the Document). You may
+ use the same title as a previous version if the original
+ publisher of that version gives permission.
+ </para>
+ </formalpara>
+ </listitem>
+
+ <listitem>
+ <formalpara>
+ <title>B</title>
+ <para>
+ List on the <link linkend="fdl-title-page">Title
+ Page</link>, as authors, one or more persons or entities
+ responsible for authorship of the modifications in the
+ <link linkend="fdl-modified">Modified Version</link>,
+ together with at least five of the principal authors of
+ the <link linkend="fdl-document">Document</link> (all of
+ its principal authors, if it has less than five).
+ </para>
+ </formalpara>
+ </listitem>
+
+ <listitem>
+ <formalpara>
+ <title>C</title>
+ <para>
+ State on the <link linkend="fdl-title-page">Title
+ Page</link> the name of the publisher of the <link
+ linkend="fdl-modified">Modified Version</link>, as the
+ publisher.
+ </para>
+ </formalpara>
+ </listitem>
+
+ <listitem>
+ <formalpara>
+ <title>D</title>
+ <para>
+ Preserve all the copyright notices of the <link
+ linkend="fdl-document">Document</link>.
+ </para>
+ </formalpara>
+ </listitem>
+
+ <listitem>
+ <formalpara>
+ <title>E</title>
+ <para>
+ Add an appropriate copyright notice for your modifications
+ adjacent to the other copyright notices.
+ </para>
+ </formalpara>
+ </listitem>
+
+ <listitem>
+ <formalpara>
+ <title>F</title>
+ <para>
+ Include, immediately after the copyright notices, a
+ license notice giving the public permission to use the
+ <link linkend="fdl-modified">Modified Version</link> under
+ the terms of this License, in the form shown in the
+ Addendum below.
+ </para>
+ </formalpara>
+ </listitem>
+
+ <listitem>
+ <formalpara>
+ <title>G</title>
+ <para>
+ Preserve in that license notice the full lists of <link
+ linkend="fdl-invariant"> Invariant Sections</link> and
+ required <link linkend="fdl-cover-texts">Cover
+ Texts</link> given in the <link
+ linkend="fdl-document">Document's</link> license notice.
+ </para>
+ </formalpara>
+ </listitem>
+
+ <listitem>
+ <formalpara>
+ <title>H</title>
+ <para>
+ Include an unaltered copy of this License.
+ </para>
+ </formalpara>
+ </listitem>
+
+ <listitem>
+ <formalpara>
+ <title>I</title>
+ <para>
+ Preserve the section entitled <quote>History</quote>, and
+ its title, and add to it an item stating at least the
+ title, year, new authors, and publisher of the <link
+ linkend="fdl-modified">Modified Version </link>as given on
+ the <link linkend="fdl-title-page">Title Page</link>. If
+ there is no section entitled <quote>History</quote> in the
+ <link linkend="fdl-document">Document</link>, create one
+ stating the title, year, authors, and publisher of the
+ Document as given on its Title Page, then add an item
+ describing the Modified Version as stated in the previous
+ sentence.
+ </para>
+ </formalpara>
+ </listitem>
+
+ <listitem>
+ <formalpara>
+ <title>J</title>
+ <para>
+ Preserve the network location, if any, given in the <link
+ linkend="fdl-document">Document</link> for public access
+ to a <link linkend="fdl-transparent">Transparent</link>
+ copy of the Document, and likewise the network locations
+ given in the Document for previous versions it was based
+ on. These may be placed in the <quote>History</quote>
+ section. You may omit a network location for a work that
+ was published at least four years before the Document
+ itself, or if the original publisher of the version it
+ refers to gives permission.
+ </para>
+ </formalpara>
+ </listitem>
+
+ <listitem>
+ <formalpara>
+ <title>K</title>
+ <para>
+ In any section entitled <quote>Acknowledgements</quote> or
+ <quote>Dedications</quote>, preserve the section's title,
+ and preserve in the section all the substance and tone of
+ each of the contributor acknowledgements and/or
+ dedications given therein.
+ </para>
+ </formalpara>
+ </listitem>
+
+ <listitem>
+ <formalpara>
+ <title>L</title>
+ <para>
+ Preserve all the <link linkend="fdl-invariant">Invariant
+ Sections</link> of the <link
+ linkend="fdl-document">Document</link>, unaltered in their
+ text and in their titles. Section numbers or the
+ equivalent are not considered part of the section titles.
+ </para>
+ </formalpara>
+ </listitem>
+
+ <listitem>
+ <formalpara>
+ <title>M</title>
+ <para>
+ Delete any section entitled
+ <quote>Endorsements</quote>. Such a section may not be
+ included in the <link linkend="fdl-modified">Modified
+ Version</link>.
+ </para>
+ </formalpara>
+ </listitem>
+
+ <listitem>
+ <formalpara>
+ <title>N</title>
+ <para>
+ Do not retitle any existing section as
+ <quote>Endorsements</quote> or to conflict in title with
+ any <link linkend="fdl-invariant">Invariant
+ Section</link>.
+ </para>
+ </formalpara>
+ </listitem>
+ </itemizedlist>
+
+ <para>
+ If the <link linkend="fdl-modified">Modified Version</link>
+ includes new front-matter sections or appendices that qualify as
+ <link linkend="fdl-secondary">Secondary Sections</link> and
+ contain no material copied from the Document, you may at your
+ option designate some or all of these sections as invariant. To
+ do this, add their titles to the list of <link
+ linkend="fdl-invariant">Invariant Sections</link> in the
+ Modified Version's license notice. These titles must be
+ distinct from any other section titles.
+ </para>
+
+ <para>
+ You may add a section entitled <quote>Endorsements</quote>,
+ provided it contains nothing but endorsements of your <link
+ linkend="fdl-modified">Modified Version</link> by various
+ parties--for example, statements of peer review or that the text
+ has been approved by an organization as the authoritative
+ definition of a standard.
+ </para>
+
+ <para>
+ You may add a passage of up to five words as a <link
+ linkend="fdl-cover-texts">Front-Cover Text</link>, and a passage
+ of up to 25 words as a <link
+ linkend="fdl-cover-texts">Back-Cover Text</link>, to the end of
+ the list of <link linkend="fdl-cover-texts">Cover Texts</link>
+ in the <link linkend="fdl-modified">Modified Version</link>.
+ Only one passage of Front-Cover Text and one of Back-Cover Text
+ may be added by (or through arrangements made by) any one
+ entity. If the <link linkend="fdl-document">Document</link>
+ already includes a cover text for the same cover, previously
+ added by you or by arrangement made by the same entity you are
+ acting on behalf of, you may not add another; but you may
+ replace the old one, on explicit permission from the previous
+ publisher that added the old one.
+ </para>
+
+ <para>
+ The author(s) and publisher(s) of the <link
+ linkend="fdl-document">Document</link> do not by this License
+ give permission to use their names for publicity for or to
+ assert or imply endorsement of any <link
+ linkend="fdl-modified">Modified Version </link>.
+ </para>
+ </sect1>
+
+ <sect1 id="fdl-section5">
+ <title>5. COMBINING DOCUMENTS</title>
+ <para>
+ You may combine the <link linkend="fdl-document">Document</link>
+ with other documents released under this License, under the
+ terms defined in <link linkend="fdl-section4">section 4</link>
+ above for modified versions, provided that you include in the
+ combination all of the <link linkend="fdl-invariant">Invariant
+ Sections</link> of all of the original documents, unmodified,
+ and list them all as Invariant Sections of your combined work in
+ its license notice.
+ </para>
+
+ <para>
+ The combined work need only contain one copy of this License,
+ and multiple identical <link linkend="fdl-invariant">Invariant
+ Sections</link> may be replaced with a single copy. If there are
+ multiple Invariant Sections with the same name but different
+ contents, make the title of each such section unique by adding
+ at the end of it, in parentheses, the name of the original
+ author or publisher of that section if known, or else a unique
+ number. Make the same adjustment to the section titles in the
+ list of Invariant Sections in the license notice of the combined
+ work.
+ </para>
+
+ <para>
+ In the combination, you must combine any sections entitled
+ <quote>History</quote> in the various original documents,
+ forming one section entitled <quote>History</quote>; likewise
+ combine any sections entitled <quote>Acknowledgements</quote>,
+ and any sections entitled <quote>Dedications</quote>. You must
+ delete all sections entitled <quote>Endorsements.</quote>
+ </para>
+ </sect1>
+
+ <sect1 id="fdl-section6">
+ <title>6. COLLECTIONS OF DOCUMENTS</title>
+ <para>
+ You may make a collection consisting of the <link
+ linkend="fdl-document">Document</link> and other documents
+ released under this License, and replace the individual copies
+ of this License in the various documents with a single copy that
+ is included in the collection, provided that you follow the
+ rules of this License for verbatim copying of each of the
+ documents in all other respects.
+ </para>
+
+ <para>
+ You may extract a single document from such a collection, and
+ dispbibute it individually under this License, provided you
+ insert a copy of this License into the extracted document, and
+ follow this License in all other respects regarding verbatim
+ copying of that document.
+ </para>
+ </sect1>
+
+ <sect1 id="fdl-section7">
+ <title>7. AGGREGATION WITH INDEPENDENT WORKS</title>
+ <para>
+ A compilation of the <link
+ linkend="fdl-document">Document</link> or its derivatives with
+ other separate and independent documents or works, in or on a
+ volume of a storage or distribution medium, does not as a whole
+ count as a <link linkend="fdl-modified">Modified Version</link>
+ of the Document, provided no compilation copyright is claimed
+ for the compilation. Such a compilation is called an
+ <quote>aggregate</quote>, and this License does not apply to the
+ other self-contained works thus compiled with the Document , on
+ account of their being thus compiled, if they are not themselves
+ derivative works of the Document. If the <link
+ linkend="fdl-cover-texts">Cover Text</link> requirement of <link
+ linkend="fdl-section3">section 3</link> is applicable to these
+ copies of the Document, then if the Document is less than one
+ quarter of the entire aggregate, the Document's Cover Texts may
+ be placed on covers that surround only the Document within the
+ aggregate. Otherwise they must appear on covers around the whole
+ aggregate.
+ </para>
+ </sect1>
+
+ <sect1 id="fdl-section8">
+ <title>8. TRANSLATION</title>
+ <para>
+ Translation is considered a kind of modification, so you may
+ distribute translations of the <link
+ linkend="fdl-document">Document</link> under the terms of <link
+ linkend="fdl-section4">section 4</link>. Replacing <link
+ linkend="fdl-invariant"> Invariant Sections</link> with
+ translations requires special permission from their copyright
+ holders, but you may include translations of some or all
+ Invariant Sections in addition to the original versions of these
+ Invariant Sections. You may include a translation of this
+ License provided that you also include the original English
+ version of this License. In case of a disagreement between the
+ translation and the original English version of this License,
+ the original English version will prevail.
+ </para>
+ </sect1>
+
+ <sect1 id="fdl-section9">
+ <title>9. TERMINATION</title>
+ <para>
+ You may not copy, modify, sublicense, or distribute the <link
+ linkend="fdl-document">Document</link> except as expressly
+ provided for under this License. Any other attempt to copy,
+ modify, sublicense or distribute the Document is void, and will
+ automatically terminate your rights under this License. However,
+ parties who have received copies, or rights, from you under this
+ License will not have their licenses terminated so long as such
+ parties remain in full compliance.
+ </para>
+ </sect1>
+
+ <sect1 id="fdl-section10">
+ <title>10. FUTURE REVISIONS OF THIS LICENSE</title>
+ <para>
+ The <ulink type="http"
+ url="http://www.gnu.org/fsf/fsf.html">Free Software
+ Foundation</ulink> may publish new, revised versions of the GNU
+ Free Documentation License from time to time. Such new versions
+ will be similar in spirit to the present version, but may differ
+ in detail to address new problems or concerns. See <ulink
+ type="http"
+ url="http://www.gnu.org/copyleft">http://www.gnu.org/copyleft/</ulink>.
+ </para>
+
+ <para>
+ Each version of the License is given a distinguishing version
+ number. If the <link linkend="fdl-document">Document</link>
+ specifies that a particular numbered version of this License
+ <quote>or any later version</quote> applies to it, you have the
+ option of following the terms and conditions either of that
+ specified version or of any later version that has been
+ published (not as a draft) by the Free Software Foundation. If
+ the Document does not specify a version number of this License,
+ you may choose any version ever published (not as a draft) by
+ the Free Software Foundation.
+ </para>
+ </sect1>
+
+ <sect1 id="fdl-using">
+ <title>Addendum</title>
+ <para>
+ To use this License in a document you have written, include a copy of
+ the License in the document and put the following copyright and
+ license notices just after the title page:
+ </para>
+
+ <blockquote>
+ <para>
+ Copyright YEAR YOUR NAME.
+ </para>
+ <para>
+ Permission is granted to copy, distribute and/or modify this
+ document under the terms of the GNU Free Documentation
+ License, Version 1.1 or any later version published by the
+ Free Software Foundation; with the <link
+ linkend="fdl-invariant">Invariant Sections</link> being LIST
+ THEIR TITLES, with the <link
+ linkend="fdl-cover-texts">Front-Cover Texts</link> being LIST,
+ and with the <link linkend="fdl-cover-texts">Back-Cover
+ Texts</link> being LIST. A copy of the license is included in
+ the section entitled <quote>GNU Free Documentation
+ License</quote>.
+ </para>
+ </blockquote>
+
+ <para>
+ If you have no <link linkend="fdl-invariant">Invariant
+ Sections</link>, write <quote>with no Invariant Sections</quote>
+ instead of saying which ones are invariant. If you have no
+ <link linkend="fdl-cover-texts">Front-Cover Texts</link>, write
+ <quote>no Front-Cover Texts</quote> instead of
+ <quote>Front-Cover Texts being LIST</quote>; likewise for <link
+ linkend="fdl-cover-texts">Back-Cover Texts</link>.
+ </para>
+
+ <para>
+ If your document contains nontrivial examples of program code,
+ we recommend releasing these examples in parallel under your
+ choice of free software license, such as the <ulink type="http"
+ url="http://www.gnu.org/copyleft/gpl.html"> GNU General Public
+ License</ulink>, to permit their use in free software.
+ </para>
+ </sect1>
+</appendix>
+
+
+
+
+
+
--- /dev/null
+<?xml version="1.0" standalone="no"?>
+<?xml-stylesheet type="text/xml" href="params.xsl"?>
+<!-- vim: set ai tw=80 ts=3 sw=3: -->
+<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "
+ http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
+
+<!ENTITY FDL SYSTEM "fdl-appendix.xml">
+<!ENTITY FDLlink "<link linkend='fdl'>included</link>">
+]><!-- =============Document Header ============================= -->
+<book id="index">
+ <bookinfo>
+ <title>GTK-Doc Manual</title>
+ <edition>1.18</edition>
+ <abstract role="description"><para>User manual for developers with instructions of GTK-Doc usage.</para></abstract>
+ <authorgroup>
+ <author>
+ <firstname>Chris</firstname>
+ <surname>Lyttle</surname>
+ <affiliation>
+ <address>
+ <email>chris@wilddev.net</email>
+ </address>
+ </affiliation>
+ </author>
+ <author>
+ <firstname>Dan</firstname>
+ <surname>Mueth</surname>
+ <affiliation>
+ <address>
+ <email>d-mueth@uchicago.edu</email>
+ </address>
+ </affiliation>
+ </author>
+ <author>
+ <firstname>Stefan</firstname>
+ <surname>Kost</surname>
+ <affiliation>
+ <address>
+ <email>ensonic@users.sf.net</email>
+ </address>
+ </affiliation>
+ </author>
+ </authorgroup>
+ <publisher role="maintainer">
+ <publishername>GTK-Doc project</publishername>
+ <address><email>gtk-doc-list@gnome.org</email></address>
+ </publisher>
+ <copyright>
+ <year>2000, 2005</year>
+ <holder>Dan Mueth and Chris Lyttle</holder>
+ </copyright>
+ <copyright>
+ <year>2007-2011</year>
+ <holder>Stefan Sauer (Kost)</holder>
+ </copyright>
+
+ <!-- translators: uncomment this:
+ <copyright>
+ <year>2000</year>
+ <holder>ME-THE-TRANSLATOR (Latin translation)</holder>
+ </copyright>
+ -->
+
+ <legalnotice>
+ <para>
+ Permission is granted to copy, distribute and/or modify this
+ document under the terms of the <citetitle>GNU Free Documentation
+ License</citetitle>, Version 1.1 or any later version published
+ by the Free Software Foundation with no Invariant Sections, no
+ Front-Cover Texts, and no Back-Cover Texts. A copy of the license
+ is &FDLlink;.
+ </para>
+ <para>
+ Many of the names used by companies to distinguish their products and
+ services are claimed as trademarks. Where those names appear in any
+ GNOME documentation, and those trademarks are made aware to the members
+ of the GNOME Documentation Project, the names have been printed in caps
+ or initial caps.
+ </para>
+ </legalnotice>
+
+ <revhistory>
+ <!--revision>
+ <revnumber>1.18.1</revnumber>
+ <date>15 Sep 2011</date>
+ <authorinitials>sk</authorinitials>
+ <revremark>development version, markdown support</revremark>
+ </revision-->
+ <revision>
+ <revnumber>1.18</revnumber>
+ <date>14 sep 2011</date>
+ <authorinitials>sk</authorinitials>
+ <revremark>bug fixes, speedups, markdown support</revremark>
+ </revision>
+ <revision>
+ <revnumber>1.17</revnumber>
+ <date>26 Feb 2011</date>
+ <authorinitials>sk</authorinitials>
+ <revremark>urgent bug fix update</revremark>
+ </revision>
+ <revision>
+ <revnumber>1.16</revnumber>
+ <date>14 Jan 2011</date>
+ <authorinitials>sk</authorinitials>
+ <revremark>bugfixes, layout improvements</revremark>
+ </revision>
+ <revision>
+ <revnumber>1.15</revnumber>
+ <date>21 May 2010</date>
+ <authorinitials>sk</authorinitials>
+ <revremark>bug and regression fixes</revremark>
+ </revision>
+ <revision>
+ <revnumber>1.14</revnumber>
+ <date>28 March 2010</date>
+ <authorinitials>sk</authorinitials>
+ <revremark>bugfixes and performance improvements</revremark>
+ </revision>
+ <revision>
+ <revnumber>1.13</revnumber>
+ <date>18 December 2009</date>
+ <authorinitials>sk</authorinitials>
+ <revremark>broken tarball update</revremark>
+ </revision>
+ <revision>
+ <revnumber>1.12</revnumber>
+ <date>18 December 2009</date>
+ <authorinitials>sk</authorinitials>
+ <revremark>new tool features and bugfixes</revremark>
+ </revision>
+ <revision>
+ <revnumber>1.11</revnumber>
+ <date>16 Novemebr 2008</date>
+ <authorinitials>mal</authorinitials>
+ <revremark>GNOME doc-utils migration</revremark>
+ </revision>
+ </revhistory>
+
+ </bookinfo>
+
+ <!-- ======== Chapter 1: Introduction ======================== -->
+
+ <chapter id="introduction">
+ <title>Introduction</title>
+
+ <para>
+ This chapter introduces GTK-Doc and gives an overview of what it is and
+ how it is used.
+ </para>
+
+ <sect1 id="whatisgtkdoc">
+ <title>What is GTK-Doc?</title>
+
+ <para>
+ GTK-Doc is used to document C code. It is typically used to document the public
+ API of libraries, such as the GTK+ and GNOME libraries. But it can also be
+ used to document application code.
+ </para>
+ </sect1>
+
+ <sect1 id="howdoesgtkdocwork">
+ <title>How Does GTK-Doc Work?</title>
+
+ <para>
+ GTK-Doc works by using documentation of functions placed inside the source files in
+ specially-formatted comment blocks, or documentation added to the template files
+ which GTK-Doc uses (though note that GTK-Doc will only document functions that
+ are declared in header files; it won't produce output for static functions).
+ </para>
+
+ <para>
+ GTK-Doc consists of a number of perl scripts, each performing a different step
+ in the process.
+ </para>
+
+ <para>
+ There are 5 main steps in the process:
+ </para>
+
+ <orderedlist>
+
+ <listitem>
+ <para>
+ <guilabel>Writing the documentation.</guilabel>
+
+ The author fills in the source files with the documentation for each
+ function, macro, union etc. (In the past information was entered in
+ generated template files, which is not recommended anymore).
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <guilabel>Gathering information about the code.</guilabel>
+
+ <application>gtkdoc-scan</application> scans the header files of the
+ code looking for declarations of functions, macros, enums, structs, and unions.
+ It creates the file <filename><module>-decl-list.txt</filename> containg a list of the
+ declarations, placing them into sections according to which header file they
+ are in. On the first run this file is copied to <filename><module>-sections.txt</filename>.
+ The author can rearrange the sections, and the order of the
+ declarations within them, to produce the final desired order.
+ The second file it generates is <filename><module>-decl.txt</filename>.
+ This file contains the full declarations found by the scanner. If for
+ some reason one would like some symbols to show up in the docs, where
+ the full declaration cannot be found by the scanner or the declaration
+ should appear differently, one can place enties similar to the ones in
+ <filename><module>-decl.txt</filename> into <filename><module>-overrides.txt</filename>.
+
+ <application>gtkdoc-scanobj</application> can also be used to dynamically query a library about
+ any GtkObject subclasses it exports. It saves information about each
+ object's position in the class hierarchy and about any GTK Args and Signals it
+ provides.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <guilabel>Generating the "template" files.</guilabel>
+
+ <application>gtkdoc-mktmpl</application> creates a number of files in
+ the <filename class='directory'>tmpl/</filename> subdirectory, using the
+ information gathered in the first step. (Note that this can be run
+ repeatedly. It will try to ensure that no documentation is ever lost.)
+ </para>
+ <note>
+ <para>
+ Since GTK-Doc 1.9 the templates can be avoided. We encourage people to keep
+ documentation in the code. <application>gtkdocize</application> supports now
+ a <option>--flavour no-tmpl</option> option that chooses a makefile that
+ skips tmpl usage totally.
+ If you have never changed file in tmpl by hand, please remove the dir
+ (e.g. from version control system).
+ </para>
+ </note>
+ </listitem>
+
+ <listitem>
+ <para>
+ <guilabel>Generating the SGML/XML and HTML/PDF.</guilabel>
+
+ <application>gtkdoc-mkdb</application> turns the template files into
+ SGML or XML files in the <filename class='directory'>sgml/</filename>
+ or <filename class='directory'>xml/</filename> subdirectory.
+ If the source code contains documentation on functions, using the
+ special comment blocks, it gets merged in here. If there are no tmpl files used
+ it only reads docs from sources and introspection data. We recommend
+ to use Docbook XML.
+ </para>
+ <para>
+ <application>gtkdoc-mkhtml</application> turns the SGML/XML files into HTML
+ files in the <filename class='directory'>html/</filename> subdirectory.
+ Likewise <application>gtkdoc-mkpdf</application> turns the SGML/XML files into a PDF
+ document called <filename><package>.pdf</filename>.
+ </para>
+ <para>
+ Files in <filename class='directory'>sgml/</filename> or
+ <filename class='directory'>xml/</filename> and <filename class='directory'>html/</filename>
+ directories are always overwritten. One should never edit them directly.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <guilabel>Fixing up cross-references between documents.</guilabel>
+
+ After installing the HTML files, <application>gtkdoc-fixxref</application> can be run to fix up any
+ cross-references between separate documents. For example, the GTK+
+ documentation contains many cross-references to types documented in the GLib manual.
+
+ When creating the source tarball for distribution, <application>gtkdoc-rebase</application>
+ turns all external links into web-links. When installing distributed (pregenerated) docs
+ the same application will try to turn links back to local links
+ (where those docs are installed).
+ </para>
+ </listitem>
+ </orderedlist>
+
+ </sect1>
+
+ <sect1 id="gettinggtkdoc">
+ <title>Getting GTK-Doc</title>
+
+ <sect2 id="requirements">
+ <title>Requirements</title>
+ <para>
+ <guilabel>Perl v5</guilabel> - the main scripts are in Perl.
+ </para>
+ <para>
+ <guilabel>DocBook DTD v3.0</guilabel> - This is the DocBook SGML DTD.
+ <ulink url="http://www.ora.com/davenport" type="http">http://www.ora.com/davenport</ulink>
+ </para>
+ <para>
+ <guilabel>Jade v1.1</guilabel> - This is a DSSSL processor for converting SGML to various formats.
+ <ulink url="http://www.jclark.com/jade" type="http">http://www.jclark.com/jade</ulink>
+ </para>
+ <para>
+ <guilabel>Modular DocBook Stylesheets</guilabel>
+ This is the DSSSL code to convert DocBook to HTML (and a few other
+ formats). It's used together with jade.
+ I've customized the DSSSL code slightly, in gtk-doc.dsl, to colour
+ the program code listings/declarations, and to support global
+ cross-reference indices in the generated HTML.
+ <ulink url="http://nwalsh.com/docbook/dsssl" type="http">http://nwalsh.com/docbook/dsssl</ulink>
+ </para>
+ <para>
+ <guilabel>docbook-to-man</guilabel> - if you want to create man pages from the DocBook.
+ I've customized the 'translation spec' slightly, to capitalise section
+ headings and add the 'GTK Library' title at the top of the pages and the
+ revision date at the bottom.
+ There is a link to this on <ulink url="http://www.ora.com/davenport" type="http">http://www.ora.com/davenport</ulink>
+ NOTE: This does not work yet.
+ </para>
+ </sect2>
+
+ <sect2 id="installation">
+ <title>Installation</title>
+ <para>
+ There is no standard place where the DocBook Modular Stylesheets are installed.
+ </para>
+ <para>
+ GTK-Doc's configure script searches these 3 directories automatically:
+ </para>
+ <para>
+ <filename> /usr/lib/sgml/stylesheets/nwalsh-modular </filename> (used by RedHat)
+ </para>
+ <para>
+ <filename> /usr/lib/dsssl/stylesheets/docbook </filename> (used by Debian)
+ </para>
+ <para>
+ <filename> /usr/share/sgml/docbkdsl </filename> (used by SuSE)
+ </para>
+ <para>
+ If you have the stylesheets installed somewhere else, you need to configure
+ GTK-Doc using the option:
+ <command> --with-dsssl-dir=<PATH_TO_TOPLEVEL_STYLESHEETS_DIR> </command>
+ </para>
+ </sect2>
+
+ </sect1>
+
+ <!-- not realy worth a section
+ <sect1 id="whentousegtkdoc">
+ <title>When to Use GTK-Doc</title>
+
+ <para>
+ (What things GTK-Doc should, and shouldn't, be used for.)
+ (- ???)
+ (- non C-based projects)
+ (+ Tutorials)
+ </para>
+
+ </sect1>
+ -->
+
+ <sect1 id="aboutgtkdoc">
+ <title>About GTK-Doc</title>
+
+ <para>
+ (FIXME)
+ </para>
+
+ <para>
+ (History, authors, web pages, license, future plans,
+ comparison with other similar systems.)
+ </para>
+
+ </sect1>
+
+ <sect1 id="aboutthismanual">
+ <title>About this Manual</title>
+
+ <para>
+ (FIXME)
+ </para>
+
+ <para>
+ (who it is meant for, where you can get it, license)
+ </para>
+
+ </sect1>
+
+ </chapter>
+
+ <chapter id="settingup">
+ <title>Setting up your project</title>
+
+ <para>
+ The next sections describe what steps to perform to integrate GTK-Doc into
+ your project. Theses sections assume we work on a project called 'meep'.
+ This project contains a library called 'libmeep' and
+ an end-user app called 'meeper'. We also assume you will be using autoconf
+ and automake. In addition section <link linkend="plain_makefiles">plain
+ makefiles or other build systems</link> will describe the basics needed to
+ work in a different build setup.
+ </para>
+
+ <sect1 id="settingup_docfiles">
+ <title>Setting up a skeleton documentation</title>
+
+ <para>
+ Under your top-level project directory create folders called docs/reference
+ (this way you can also have docs/help for end-user documentation).
+ It is recommended to create another subdirectory with the name of the doc-package.
+ For packages with just one library this step is not necessary.
+ </para>
+
+ <para>
+ This can then look as shown below:
+ <example><title>Example directory structure</title>
+ <programlisting>
+<![CDATA[
+meep/
+ docs/
+ reference/
+ libmeep/
+ meeper/
+ src/
+ libmeep/
+ meeper/
+]]>
+ </programlisting>
+ </example>
+ </para>
+ </sect1>
+
+ <sect1 id="settingup_autoconf">
+ <title>Integration with autoconf</title>
+
+ <para>
+ Very easy! Just add one line to your <filename>configure.ac</filename> script.
+ </para>
+
+ <para>
+ <example><title>Integration with autoconf</title>
+ <programlisting>
+<![CDATA[
+# check for gtk-doc
+GTK_DOC_CHECK([1.14],[--flavour no-tmpl])
+]]>
+ </programlisting>
+ </example>
+ </para>
+
+ <para>
+ This will require all developers to have gtk-doc installed. If it is
+ okay for your project to have optional api-doc build setup, you can
+ solve this as below. Keep it as is, as gtkdocize is looking for
+ <function>GTK_DOC_CHECK</function> at the start of a line.
+ <example><title>Keep gtk-doc optional</title>
+ <programlisting>
+<![CDATA[
+# check for gtk-doc
+m4_ifdef([GTK_DOC_CHECK], [
+GTK_DOC_CHECK([1.14],[--flavour no-tmpl])
+],[
+AM_CONDITIONAL([ENABLE_GTK_DOC], false)
+])
+]]>
+ </programlisting>
+ </example>
+ </para>
+
+ <para>
+ The first argument is used to check for the gtkdocversion at configure time.
+ The 2nd, optional argument is used by <application>gtkdocize</application>.
+ The <symbol>GTK_DOC_CHECK</symbol> macro also adds several configure switches:
+ </para>
+ <orderedlist>
+ <listitem><para>--with-html-dir=PATH : path to installed docs</para></listitem>
+ <listitem><para>--enable-gtk-doc : use gtk-doc to build documentation [default=no]</para></listitem>
+ <listitem><para>--enable-gtk-doc-html : build documentation in html format [default=yes]</para></listitem>
+ <listitem><para>--enable-gtk-doc-pdf : build documentation in pdf format [default=no]</para></listitem>
+ </orderedlist>
+
+ <important>
+ <para>
+ GTK-Doc is disabled by default! Remember to pass the option
+ <option>'--enable-gtk-doc'</option> to the next
+ <filename>configure</filename> run. Otherwise pregenerated documentation is installed
+ (which makes sense for users but not for developers).
+ </para>
+ </important>
+
+ <para>
+ Furthermore it is recommended that you have the following line inside
+ you <filename>configure.ac</filename> script.
+ This allows <application>gtkdocize</application> to automatically copy the
+ macro definition for <function>GTK_DOC_CHECK</function> to your project.
+ </para>
+
+ <para>
+ <example><title>Preparation for gtkdocize</title>
+ <programlisting>
+<![CDATA[
+AC_CONFIG_MACRO_DIR(m4)
+]]>
+ </programlisting>
+ </example>
+ </para>
+ </sect1>
+
+ <sect1 id="settingup_automake">
+ <title>Integration with automake</title>
+
+ <para>
+ First copy the <filename>Makefile.am</filename> from the examples subdirectory of the gtkdoc-sources
+ to your project's API documentation directory (
+ <filename class='directory'>./docs/reference/<package></filename>).
+ If you have multiple doc-packages repeat this for each one.
+ </para>
+
+ <para>
+ The next step is to edit the settings inside the <filename>Makefile.am</filename>.
+ All the settings have a comment above that describes their purpose.
+ Most settings are extra flags passed to the respective tools. Every tool
+ has a variable of the form <option><TOOLNAME>_OPTIONS</option>.
+ All the tools support <option>--help</option> to list the supported
+ parameters.
+ </para>
+
+ <!-- FIXME: explain options ? -->
+
+ <para>
+ You may also want to enable GTK-Doc for the distcheck make target. Just
+ add the one line shown in the next example to your top-level
+ <filename>Makefile.am</filename>:
+ </para>
+
+ <para>
+ <example><title>Enable GTK-Doc during make distcheck</title>
+ <programlisting>
+<![CDATA[
+DISTCHECK_CONFIGURE_FLAGS=--enable-gtk-doc
+]]>
+ </programlisting>
+ </example>
+ </para>
+
+ </sect1>
+
+ <sect1 id="settingup_autogen">
+ <title>Integration with autogen</title>
+
+ <para>
+ Most projects will have an <filename>autogen.sh</filename> script to
+ setup the build infrastructure after a checkout from version control
+ system (such as cvs/svn/git). GTK-Doc comes with a tool called
+ <application>gtkdocize</application> which can be used in such a script.
+ It should be run before autoheader, automake or autoconf.
+ </para>
+
+ <para>
+ <example><title>Running gtkdocize from autogen.sh</title>
+ <programlisting>
+<![CDATA[
+gtkdocize || exit 1
+]]>
+ </programlisting>
+ </example>
+ </para>
+
+ <para>
+ When running <application>gtkdocize</application> it copies
+ <filename>gtk-doc.make</filename> to your project root (or any directory
+ specified by the <option>--docdir</option> option).
+ It also checks you configure script for the <function>GTK_DOC_CHECK</function>
+ invocation. This macro can be used to pass extra parameters to
+ <application>gtkdocize</application>.
+ </para>
+
+ <para>
+ Historically GTK-Doc was generating template files where developers entered the docs.
+ This turned out to be not so good (e.g. the need for having generated
+ files under version control).
+ Since GTK-Doc 1.9 the tools can get all the information from source comments
+ and thus the templates can be avoided. We encourage people to keep
+ documentation in the code. <application>gtkdocize</application> supports now
+ a <option>--flavour no-tmpl</option> option that chooses a makefile that skips
+ tmpl usage totally. Besides adding the option directly to the command
+ invocation, they can be added also to an environment variable called <symbol>GTKDOCIZE_FLAGS</symbol>
+ or set as a 2nd parameter in <symbol>GTK_DOC_CHECK</symbol> macro in the configure script.
+ If you have never changed file in tmpl by hand and migrating from older gtkdoc versions,
+ please remove the dir (e.g. from version control system).
+ </para>
+ </sect1>
+
+ <sect1 id="settingup_firstrun">
+ <title>Running the doc build</title>
+
+ <para>
+ After the previous steps it's time to run the build. First we need to
+ rerun <filename>autogen.sh</filename>. If this script runs configure for
+ you, then give it the <option>--enable-gtk-doc</option> option.
+ Otherwise manually run <filename>configure</filename> with this option
+ afterwards.
+ </para>
+ <para>
+ The first make run generates several additional files in the doc-dirs.
+ The important ones are:
+ <filename><package>.types</filename>,
+ <filename><package>-docs.xml</filename> (in the past .sgml),
+ <filename><package>-sections.txt</filename>.
+ </para>
+ <para>
+ <example><title>Running the doc build</title>
+ <programlisting>
+<![CDATA[
+./autogen.sh --enable-gtk-doc
+make
+]]>
+ </programlisting>
+ </example>
+ </para>
+ <para>
+ Now you can point your browser to <filename>docs/reference/<package>/index.html</filename>.
+ Yes, it's a bit disappointing still. But hang-on, during the next chapter we
+ tell you how to fill the pages with life.
+ </para>
+ </sect1>
+
+ <sect1 id="settingup_vcs">
+ <title>Integration with version control systems</title>
+
+ <para>
+ As a rule of the thumb, it's those files you edit, that should go under
+ version control. For typical projects it's these files:
+ <filename><package>.types</filename>,
+ <filename><package>-docs..xml</filename> (in the past .sgml),
+ <filename><package>-sections.txt</filename>,
+ <filename>Makefile.am</filename>
+ </para>
+ </sect1>
+
+ <sect1 id="plain_makefiles">
+ <title>Integration with plain makefiles or other build systems</title>
+
+ <para>
+ In the case one does not want to use automake and therfore
+ <filename>gtk-doc.mak</filename> one will need to call the gtkdoc tools
+ in the right order in own makefiles (or other build tools).
+ </para>
+
+ <para>
+ <example><title>Documentation build steps</title>
+ <programlisting>
+<![CDATA[
+DOC_MODULE=meep
+// sources have changed
+gtkdoc-scan --module=$(DOC_MODULE) --source-dir=...
+gtkdoc-scangobj --module=$(DOC_MODULE)
+gtkdoc-mkdb --module=$(DOC_MODULE) --output-format=xml
+// xml files have changed
+mkdir html
+cd html && gtkdoc-mkhtml $(DOC_MODULE) ../meep-docs.xml
+gtkdoc-fixxref --module=$(DOC_MODULE) --module-dir=html
+]]>
+ </programlisting>
+ </example>
+ </para>
+
+ <para>
+ One will need to look at the <filename>Makefile.am</filename> and
+ <filename>gtk-doc.mak</filename> to pick the extra options needed.
+ </para>
+ </sect1>
+
+ </chapter>
+
+ <chapter id="documenting">
+ <title>Documenting the code</title>
+
+ <para>
+ GTK-Doc uses source code comment with a special syntax for code documentation.
+ Further it retrieves information about your project structure from other
+ sources. During the next section you will find all information about the
+ syntax of the comments.
+ </para>
+
+ <note>
+ <title>Documentation placement</title>
+ <para>
+ In the past most documentation had to be filled into files residing
+ inside the <filename>tmpl</filename> directory. This has the
+ disadvantages that the information is often not updated and also that
+ the file tend to cause conflicts with version control systems.
+ </para>
+ <para>
+ The avoid the aforementioned problems we suggest putting the
+ documentation inside the sources. This manual will only describe this
+ way of documenting code.
+ </para>
+ </note>
+
+ <para>
+ The scanner can handle the majority of c headers fine. In the case of
+ receiving warnings from the scanner that look like a special case, one can
+ hint GTK-Doc to skip over them.
+ <example><title>GTK-Doc comment block</title>
+ <programlisting>
+<![CDATA[
+#ifndef __GTK_DOC_IGNORE__
+/* unparseable code here */
+#endif
+]]>
+ </programlisting>
+ </example>
+ </para>
+
+ <!-- -->
+
+ <sect1 id="documenting_syntax">
+ <title>Documentation comments</title>
+
+ <para>
+ A multiline comment that starts with an additional '*' marks a
+ documentation block that will be processed by the GTK-Doc tools.
+ <example><title>GTK-Doc comment block</title>
+ <programlisting>
+<![CDATA[
+/**
+ * identifier:
+ * documentation ...
+ */
+]]>
+ </programlisting>
+ </example>
+ </para>
+
+ <para>
+ The 'identifier' is one line with the name of the item the comment is
+ related to. The syntax differs a little depending on the item.
+ (TODO add table showing identifiers)
+ </para>
+
+ <para>
+ The 'documentation' block is also different for each symbol type. Symbol
+ types that get parameters such as functions or macros have the parameter
+ description first followed by a blank line (just a '*').
+ Afterwards follows the detailed description. All lines (outside program-
+ listings and CDATA sections) just containing a ' *' (blank-asterisk) are
+ converted to paragraph breaks.
+ If you don't want a paragraph break, change that into ' * '
+ (blank-asterisk-blank-blank).
+ </para>
+
+ <tip>
+ <para>
+ When documenting code, describe two apsects:
+ <itemizedlist>
+ <listitem>
+ <para>
+ What it is: The name for a class or function can sometimes
+ be misleading for people coming from a different background.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ What it does: Tell about common uses. Put it in releation
+ with the other API.
+ </para>
+ </listitem>
+ </itemizedlist>
+ </para>
+ </tip>
+
+ <para>
+ One advantage of hyper-text over plain-text is the ability to have links
+ in the document. Writing the correct markup for a link can be tedious
+ though. GTK-Doc comes to help by providing several useful abbreviations.
+ <itemizedlist>
+ <listitem>
+ <para>
+ Use function() to refer to functions or macros which take arguments.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Use @param to refer to parameters. Also use this when referring to
+ parameters of other functions, related to the one being described.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Use %constant to refer to a constant, e.g. %G_TRAVERSE_LEAFS.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Use #symbol to refer to other types of symbol, e.g. structs and
+ enums and macros which don't take arguments.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Use #Object::signal to refer to a GObject signal
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Use #Object:property to refer to a GObject property
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Use #Struct.field to refer to a field inside a structure.
+ </para>
+ </listitem>
+ </itemizedlist>
+ </para>
+
+ <tip>
+ <para>
+ If you need to use the special characters '<', '>', '()', '@',
+ '%', or '#' in your documentation without GTK-Doc changing them you
+ can use the XML entities "&lt;", "&gt;", "&lpar;",
+ "&rpar;", "&commat;", "&percnt;" and "&num;"
+ respectively or escape them with a backslash '\'.
+ </para>
+ </tip>
+
+ <para>
+ DocBook can do more than just links. One can also have lists, tables and
+ examples. To enable the usage of docbook SGML/XML tags inside
+ doc-comments you need to have <option>--xml-mode</option> or
+ <option>--sgml-mode</option> in the variable
+ <symbol>MKDB_OPTIONS</symbol> inside <filename>Makefile.am</filename>.
+ </para>
+
+ <para>
+ Since GTK-Doc-1.18 the tool supports a subset or the
+ <ulink url="http://daringfireball.net/projects/markdown/">markdown language</ulink>.
+ One can use it for sub-headings and simple itemized lists. On older
+ GTK-Doc versions the content will be rendered as it (the list items will
+ appear in one line separated by dashes).
+ <example><title>GTK-Doc comment block using markdown</title>
+ <programlisting>
+<![CDATA[
+/**
+ * identifier:
+ *
+ * documentation ...
+ *
+ * # Sub heading #
+ *
+ * more documentation:
+ * - list item 1
+ * - list item 2
+ *
+ * Even more docs.
+ */
+]]>
+ </programlisting>
+ </example>
+ </para>
+
+ <tip>
+ <para>
+ As already mentioned earlier GTK-Doc is for documenting public API. Thus
+ one cannot write documentation for static symbols. Nevertheless it is good
+ to comment those symbols too. This helps other to understand you code.
+ Therefore we recommend to comment these using normal comments (without the
+ 2nd '*' in the first line).
+ If later the function needs to be made public, all one needs to do is to
+ add another '*' in the comment block and insert the symbol name at the
+ right place inside the sections file.
+ </para>
+ </tip>
+ </sect1>
+
+ <sect1 id="documenting_sections">
+ <title>Documenting sections</title>
+
+ <para>
+ Each section of the documentation contains information about one class
+ or module. To introduce the component one can write a section block.
+ The short description is also used inside the table of contents.
+ All the @fields are optional.
+ </para>
+
+ <para>
+ <example><title>Section comment block</title>
+ <programlisting>
+<![CDATA[
+/**
+ * SECTION:meepapp
+ * @short_description: the application class
+ * @title: Meep application
+ * @section_id:
+ * @see_also: #MeepSettings
+ * @stability: Stable
+ * @include: meep/app.h
+ * @image: application.png
+ *
+ * The application class handles ...
+ */
+]]>
+ </programlisting>
+ </example>
+ </para>
+
+ <variablelist>
+ <varlistentry>
+ <term>SECTION:<name></term>
+ <listitem>
+ <para>
+ The name links the section documentation to the respective part in
+ the <filename><package>-sections.txt</filename> file. The
+ name give here should match the <FILE> tag in the
+ <filename><package>-sections.txt</filename> file.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>@short_description</term>
+ <listitem>
+ <para>
+ A one line description of the section, that later will appear after
+ the links in the TOC and at the top of the section page.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>@title</term>
+ <listitem>
+ <para>
+ The section title defaults to <name> from the SECTION
+ declaration. It can be overridden with the @title field.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>@section_id</term>
+ <listitem>
+ <para>
+ Overrides the use of title as a section identifier. For GObjects
+ the <title> is used as a section_id and for other sections
+ it is <MODULE>-<title>.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>@see_also</term>
+ <listitem>
+ <para>
+ A list of symbols that are related to this section.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>@stability</term>
+ <listitem>
+ <para>
+ A informal description of the stability level this API has.
+ We recommend the use of one of these terms:
+ <itemizedlist>
+ <listitem>
+ <para>
+ Stable
+ - The intention of a Stable interface is to enable arbitrary
+ third parties to develop applications to these interfaces,
+ release them, and have confidence that they will run on all
+ minor releases of the product (after the one in which the
+ interface was introduced, and within the same major release).
+ Even at a major release, incompatible changes are expected
+ to be rare, and to have strong justifications.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Unstable
+ - Unstable interfaces are experimental or transitional.
+ They are typically used to give outside developers early
+ access to new or rapidly changing technology, or to provide
+ an interim solution to a problem where a more general
+ solution is anticipated.
+ No claims are made about either source or binary
+ compatibility from one minor release to the next.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Private
+ - An interface that can be used within the GNOME stack
+ itself, but that is not documented for end-users. Such
+ functions should only be used in specified and documented
+ ways.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Internal
+ - An interface that is internal to a module and does not
+ require end-user documentation. Functions that are
+ undocumented are assumed to be Internal.
+ </para>
+ </listitem>
+ </itemizedlist>
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>@include</term>
+ <listitem>
+ <para>
+ The <literal>#include</literal> files to show in the section
+ synopsis (a comma separated list), overriding the global
+ value from the <link linkend="metafiles_sections">section
+ file</link> or command line. This item is optional.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>@image</term>
+ <listitem>
+ <para>
+ The image to display at the top of the reference page for this
+ section. This will often be some sort of a diagram to illustrate
+ the visual appearance of a class or a diagram of its relationship
+ to other classes. This item is optional.
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+
+ <tip>
+ <para>
+ To avoid unnecessary recompilation after doc-changes put the section
+ docs into the c-source where possible.
+ </para>
+ </tip>
+
+ </sect1>
+
+ <sect1 id="documenting_symbols">
+ <title>Documenting symbols</title>
+
+ <para>
+ Each symbol (function, macro, struct, enum, signal and property) is
+ documented in a separate block. The block is best placed close to the
+ definition of the symbols so that it is easy to keep them in sync.
+ Thus functions are usually documented in the c-source and macros,
+ structs and enums in the header file.
+ </para>
+
+ <sect2><title>General tags</title>
+
+ <para>
+ You can add versioning information to all documentation elements to tell
+ when an api was introduced, or when it was deprecated.
+ </para>
+
+ <variablelist><title>Versioning Tags</title>
+ <varlistentry><term>Since:</term>
+ <listitem>
+ <para>
+ Description since which version of the code the API is available.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry><term>Deprecated:</term>
+ <listitem>
+ <para>
+ Paragraph denoting that this function should no be used anymore.
+ The description should point the reader to the new API.
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+
+ <para>
+ (FIXME : Stability information)
+ </para>
+
+ <example><title>General tags</title>
+ <programlisting>
+<![CDATA[
+/**
+ * foo_get_bar:
+ * @foo: some foo
+ *
+ * Retrieves @foo's bar.
+ *
+ * Returns: @foo's bar
+ *
+ * Since: 2.6
+ * Deprecated: 2.12: Use foo_baz_get_bar() instead.
+ **/
+Bar *
+foo_get_bar(Foo *foo)
+{
+...
+]]>
+ </programlisting>
+ </example>
+ </sect2>
+
+ <sect2><title>Function comment block</title>
+
+ <para>
+ Please remember to:
+ <itemizedlist>
+ <listitem>
+ <para>
+ Document whether returned objects, lists, strings, etc, should be
+ freed/unrefed/released.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Document whether parameters can be NULL, and what happens if they are.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Mention interesting pre-conditions and post-conditions where appropriate.
+ </para>
+ </listitem>
+ </itemizedlist>
+ </para>
+
+ <para>
+ Gtk-doc assumes all symbols (macros, functions) starting with '_' are
+ private. They are treated like static functions.
+ </para>
+
+ <para>
+ <!-- FIXME: we should ideally link/describe the gobject introspection
+ annotation tag -->
+ Also, take a look at gobject introspection annotation tags:
+ http://live.gnome.org/GObjectIntrospection/Annotations
+ </para>
+
+ <example><title>Function comment block</title>
+ <programlisting>
+<![CDATA[
+/**
+ * function_name:
+ * @par1: description of parameter 1. These can extend over more than
+ * one line.
+ * @par2: description of parameter 2
+ * @...: a %NULL-terminated list of bars
+ *
+ * The function description goes here. You can use @par1 to refer to parameters
+ * so that they are highlighted in the output. You can also use %constant
+ * for constants, function_name2() for functions and #GtkWidget for links to
+ * other declarations (which may be documented elsewhere).
+ *
+ * Returns: an integer.
+ *
+ * Since: 2.2
+ * Deprecated: 2.18: Use other_function() instead.
+ */
+]]>
+ </programlisting>
+ </example>
+
+ <variablelist><title>Function tags</title>
+ <varlistentry><term>Returns:</term>
+ <listitem>
+ <para>
+ Paragraph describing the returned result.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry><term>@...:</term>
+ <listitem>
+ <para>
+ In case the function has variadic arguments, you should use this
+ tag (@Varargs: does also work for historic reasons).
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+
+ </sect2>
+
+ <sect2><title>Property comment block</title>
+
+ <example><title>Property comment block</title>
+ <programlisting>
+<![CDATA[
+/**
+ * SomeWidget:some-property:
+ *
+ * Here you can document a property.
+ */
+g_object_class_install_property (object_class, PROP_SOME_PROPERTY, ...);
+]]>
+ </programlisting>
+ </example>
+
+ </sect2>
+
+ <sect2><title>Signal comment block</title>
+
+ <para>
+ Please remember to:
+ <itemizedlist>
+ <listitem>
+ <para>
+ Document when the signal is emitted and whether it is emitted before
+ or after other signals.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Document what an application might do in the signal handler.
+ </para>
+ </listitem>
+ </itemizedlist>
+ </para>
+
+ <example><title>Signal comment block</title>
+ <programlisting>
+<![CDATA[
+/**
+ * FooWidget::foobarized:
+ * @widget: the widget that received the signal
+ * @foo: some foo
+ * @bar: some bar
+ *
+ * The ::foobarized signal is emitted each time someone tries to foobarize @widget.
+ */
+foo_signals[FOOBARIZE] =
+ g_signal_new ("foobarize",
+ ...
+]]>
+ </programlisting>
+ </example>
+
+ </sect2>
+
+ <sect2><title>Struct comment block</title>
+ <example><title>Struct comment block</title>
+ <programlisting>
+<![CDATA[
+/**
+ * FooWidget:
+ * @bar: some #gboolean
+ *
+ * This is the best widget, ever.
+ */
+typedef struct _FooWidget {
+ /*< private >*/
+ GtkWidget parent;
+
+ /*< public >*/
+ gboolean bar;
+} FooWidget;
+]]>
+ </programlisting>
+ </example>
+
+ <para>
+ Use <code>/*< private >*/</code> before the private struct fields
+ you want to hide. Use <code>/*< public >*/</code> for the reverse
+ behaviour.
+ </para>
+
+ <para>
+ Struct comment blocks can also be used for GObjects and GObjectClasses.
+ It is usualy a good idea to add a comment blco for a class, if it has
+ vmethods (as this is how they can be documented). For the GObject
+ itself one can use the related section docs, having a separate block
+ for the instance struct would be useful if the instance has public
+ fields. One disadvantage here is that this creates two index entries
+ of the same name (the structure and the section).
+ </para>
+
+ </sect2>
+
+ <sect2><title>Enum comment block</title>
+ <example><title>Enum comment block</title>
+ <programlisting>
+<![CDATA[
+/**
+ * Something:
+ * @SOMETHING_FOO: something foo
+ * @SOMETHING_BAR: something bar
+ *
+ * Enum values used for the thing, to specify the thing.
+ *
+ **/
+typedef enum {
+ SOMETHING_FOO,
+ SOMETHING_BAR,
+ /*< private >*/
+ SOMETHING_COUNT
+} Something;
+]]>
+ </programlisting>
+ </example>
+
+ <para>
+ Use <code>/*< private >*/</code> before the private enum values
+ you want to hide. Use <code>/*< public >*/</code> for the reverse
+ behaviour.
+ </para>
+
+ </sect2>
+ </sect1>
+
+ <sect1 id="documenting_docbook">
+ <title>Useful DocBook tags</title>
+
+ <para>
+ Here are some DocBook tags which are most useful when documenting the
+ code.
+ </para>
+
+ <para>
+ To link to another section in the GTK docs:
+
+ <informalexample>
+ <programlisting>
+<![CDATA[
+<link linkend="glib-Hash-Tables">Hash Tables</link>
+]]>
+ </programlisting>
+ </informalexample>
+ The linkend is the SGML/XML id on the top item of the page you want to link to.
+ For most pages this is currently the part ("gtk", "gdk", "glib") and then
+ the page title ("Hash Tables"). For widgets it is just the class name.
+ Spaces and underscores are converted to '-' to conform to SGML/XML.
+ </para>
+
+ <para>
+ To refer to an external function, e.g. a standard C function:
+ <informalexample>
+ <programlisting>
+<![CDATA[
+<function>...</function>
+]]>
+ </programlisting>
+ </informalexample>
+ </para>
+
+ <para>
+ To include example code:
+ <informalexample>
+ <programlisting>
+<![CDATA[
+<example>
+ <title>Using a GHashTable.</title>
+ <programlisting>
+ ...
+ </programlisting>
+</example>
+]]>
+ </programlisting>
+ </informalexample>
+ or possibly this, for very short code fragments which don't need a title:
+ <informalexample>
+ <programlisting>
+<![CDATA[
+<informalexample>
+ <programlisting>
+ ...
+ </programlisting>
+</informalexample>
+]]>
+ </programlisting>
+ </informalexample>
+ For the latter GTK-Doc also supports an abbreviation:
+<![CDATA[
+|[
+ ...
+]|
+]]>
+ </para>
+
+ <para>
+ To include bulleted lists:
+ <informalexample>
+ <programlisting>
+<![CDATA[
+<itemizedlist>
+ <listitem>
+ <para>
+ ...
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ ...
+ </para>
+ </listitem>
+</itemizedlist>
+]]>
+ </programlisting>
+ </informalexample>
+ </para>
+
+ <para>
+ To include a note which stands out from the text:
+ <informalexample>
+ <programlisting>
+<![CDATA[
+<note>
+ <para>
+ Make sure you free the data after use.
+ </para>
+</note>
+]]>
+ </programlisting>
+ </informalexample>
+ </para>
+
+ <para>
+ To refer to a type:
+ <informalexample>
+ <programlisting>
+<![CDATA[
+<type>unsigned char</type>
+]]>
+ </programlisting>
+ </informalexample>
+ </para>
+
+ <para>
+ To refer to an external structure (not one described in the GTK docs):
+ <informalexample>
+ <programlisting>
+<![CDATA[
+<structname>XFontStruct</structname>
+]]>
+ </programlisting>
+ </informalexample>
+ </para>
+
+ <para>
+ To refer to a field of a structure:
+ <informalexample>
+ <programlisting>
+<![CDATA[
+<structfield>len</structfield>
+]]>
+ </programlisting>
+ </informalexample>
+ </para>
+
+ <para>
+ To refer to a class name, we could possibly use:
+ <informalexample>
+ <programlisting>
+<![CDATA[
+<classname>GtkWidget</classname>
+]]>
+ </programlisting>
+ </informalexample>
+ but you'll probably be using #GtkWidget instead (to automatically create
+ a link to the GtkWidget page - see <link linkend="documenting_syntax">the abbreviations</link>).
+ </para>
+
+ <para>
+ To emphasize text:
+ <informalexample>
+ <programlisting>
+<![CDATA[
+<emphasis>This is important</emphasis>
+]]>
+ </programlisting>
+ </informalexample>
+ </para>
+
+ <para>
+ For filenames use:
+ <informalexample>
+ <programlisting>
+<![CDATA[
+<filename>/home/user/documents</filename>
+]]>
+ </programlisting>
+ </informalexample>
+ </para>
+
+ <para>
+ To refer to keys use:
+ <informalexample>
+ <programlisting>
+<![CDATA[
+<keycombo><keycap>Control</keycap><keycap>L</keycap></keycombo>
+]]>
+ </programlisting>
+ </informalexample>
+ </para>
+
+ </sect1>
+ </chapter>
+
+ <chapter id="metafiles">
+ <title>Filling the extra files</title>
+
+ <para>
+ There are a couple of extra files, that need to be maintained along with
+ the inline source code comments:
+ <filename><package>.types</filename>,
+ <filename><package>-docs.xml</filename> (in the past .sgml),
+ <filename><package>-sections.txt</filename>.
+ </para>
+
+ <sect1 id="metafiles_types">
+ <title>Editing the types file</title>
+
+ <para>
+ If your library or application includes GtkObjects/GObjects, you want
+ their signals, arguments/parameters and position in the hierarchy to be
+ shown in the documentation. All you need to do, is to list the
+ <function>xxx_get_type</function> functions together with their include
+ inside the <filename><package>.types</filename> file.
+ </para>
+
+ <para>
+ <example><title>Example types file snippet</title>
+ <programlisting>
+<![CDATA[
+#include <gtk/gtk.h>
+
+gtk_accel_label_get_type
+gtk_adjustment_get_type
+gtk_alignment_get_type
+gtk_arrow_get_type
+]]>
+ </programlisting>
+ </example>
+ </para>
+
+ <para>
+ Since GTK-Doc 1.8 <application>gtkdoc-scan</application> can generate this list for you.
+ Just add "--rebuild-types" to SCAN_OPTIONS in <filename>Makefile.am</filename>. If you
+ use this approach you should not dist the types file nor have it under version control.
+ </para>
+
+ </sect1>
+
+ <sect1 id="metafiles_master">
+ <title>Editing the master document</title>
+
+ <para>
+ GTK-Doc produces documentation in DocBook SGML/XML. When processing the
+ inline source comments, the GTK-Doc tools generate one documentation
+ page per class or module as a separate file. The master document
+ includes them and place them in an order.
+ </para>
+
+ <para>
+ While GTK-Doc creates a template master document for you, later run will
+ not touch it again. This means that one can freely structure the
+ documentation. That includes grouping pages and adding extra pages.
+ GTK-Doc has now a test suite, where also the master-document is recreated from scratch.
+ Its a good idea to look at this from time to time to see if there are some new goodies
+ introduced there.
+ </para>
+
+ <tip>
+ <para>
+ Do not create tutorials as extra documents. Just write extra chapters.
+ The benefit of directly embedding the tutorial for your library into
+ the API documentation is that it is easy to link for the tutorial to
+ symbol documentation. Apart chances are higher that the tutorial gets
+ updates along with the library.
+ </para>
+ </tip>
+
+ <para>
+ So what are the things to change inside the master document? For a start
+ is only a little. There are some placeholders (text in square brackets)
+ there which you should take care of.
+ </para>
+
+ <para>
+ <example><title>Master document header</title>
+ <programlisting>
+<![CDATA[
+<bookinfo>
+ <title>MODULENAME Reference Manual</title>
+ <releaseinfo>
+ for MODULENAME [VERSION]
+ The latest version of this documentation can be found on-line at
+ <ulink role="online-location" url="http://[SERVER]/MODULENAME/index.html">http://[SERVER]/MODULENAME/</ulink>.
+ </releaseinfo>
+</bookinfo>
+
+<chapter>
+ <title>[Insert title here]</title>
+]]>
+ </programlisting>
+ </example>
+ </para>
+
+ </sect1>
+
+ <sect1 id="metafiles_sections">
+ <title>Editing the section file</title>
+
+ <para>
+ The section file is used to organise the documentation output by
+ GTK-Doc. Here one specifies which symbol belongs to which module or
+ class and control the visibility (public or private).
+ </para>
+
+ <para>
+ The section file is a plain test file with xml like syntax (using tags).
+ Blank lines are ignored and lines starting with a '#' are treated as
+ comment lines.
+ </para>
+
+ <para>
+ The <FILE> ... </FILE> tag is used to specify the file name,
+ without any suffix. For example, using '<FILE>gnome-config</FILE>'
+ will result in the section declarations being output in the template
+ file <filename>tmpl/gnome-config.sgml</filename>, which will be
+ converted into the DocBook SGML/XML file <filename>sgml/gnome-config.sgml</filename>
+ or .DocBook XML file <filename>xml/gnome-config.xml</filename>.
+ (The name of the html file is based on the module name and the section
+ title, or for gobjects it is based on the gobjects class name converted
+ to lower case).
+ </para>
+
+ <para>
+ The <TITLE> ... </TITLE> tag is used to specify the title of
+ the section. It is only useful before the templates (if used) are
+ initially created, since the title set in the template file overrides
+ this. Also if one uses SECTION comment in the sources, this is obsolete.
+ </para>
+
+ <para>
+ You can group items in the section by using the <SUBSECTION> tag.
+ Currently it outputs a blank line between subsections in the synopsis
+ section.
+ You can also use <SUBSECTION Standard> for standard GObject
+ declarations (e.g. the functions like g_object_get_type and macros like
+ G_OBJECT(), G_IS_OBJECT() etc.).
+ Currently these are left out of the documentation.
+ You can also use <SUBSECTION Private> for private declarations
+ which will not be output (It is a handy way to avoid warning messages
+ about unused declarations.).
+ If your library contains private types which you don't want to appear in
+ the object hierarchy and the list of implemented or required interfaces,
+ add them to a Private subsection.
+ Wheter you would place GObject and GObjectClass like structs in public
+ or Standard section depends if they have public entries (variables,
+ vmethods).
+ </para>
+
+ <para>
+ You can also use <INCLUDE> ... </INCLUDE> to specify the
+ #include files which are shown in the synopsis sections.
+ It contains a comma-separate list of #include files, without the angle
+ brackets. If you set it outside of any sections, it acts for all
+ sections until the end of the file. If you set it within a section, it
+ only applies to that section.
+ </para>
+
+ </sect1>
+
+ </chapter>
+
+ <chapter id="reports">
+ <title>Controlling the result</title>
+
+ <para>
+ A GTK-Doc run generates report files inside the documentation directory.
+ The generated files are named:
+ <filename><package>-undocumented.txt</filename>,
+ <filename><package>-undeclared.txt</filename> and
+ <filename><package>-unused.txt</filename>.
+ All those are plain text files that can be viewed and postprocessed easily.
+ </para>
+
+ <para>
+ The <filename><package>-undocumented.txt</filename> file starts with
+ the documentation coverage summary. Below are two sections divided by
+ blank lines. The first section lists undocumented or incomplete symbols.
+ The second section does the same for section docs. Incomplete entries are
+ those, which have documentation, but where e.g. a new parameter has been
+ added.
+ </para>
+
+ <para>
+ The <filename><package>-undeclared.txt</filename> file lists symbols
+ given in the <filename><package>-sections.txt</filename> but not
+ found in the sources. Check if they have been removed or if they are
+ misspelled.
+ </para>
+
+ <para>
+ The <filename><package>-unused.txt</filename> file lists symbol
+ names, where the GTK-Doc scanner has found documentation, but does not
+ know where to put it. This means that the symbol has not yet been added to
+ the <filename><package>-sections.txt</filename> file.
+ </para>
+
+ <tip>
+ <para>
+ Enable or add the <option>TESTS=$(GTKDOC_CHECK)</option> line in Makefile.am.
+ If at least GTK-Doc 1.9 is installed, this will run sanity checks during
+ <command>make check</command> run.
+ </para>
+ </tip>
+
+ <para>
+ One can also look at the files produced by the source code scanner:
+ <filename><package>-decl-list.txt</filename> and
+ <filename><package>-decl.txt</filename>. The first one can be
+ compared with the section file if that is manualy maintained. The second
+ lists all declarations fromt he headers If a symbol is missing one could
+ check if this file contains it.
+ </para>
+
+ <para>
+ If the project is GObject based, one can also look into the files produced
+ by the object scanner:
+ <filename><package>.args.txt</filename>,
+ <filename><package>.hierarchy.txt</filename>,
+ <filename><package>.interfaces.txt</filename>,
+ <filename><package>.prerequisites.txt</filename> and
+ <filename><package>.signals.txt</filename>. If there are missing
+ symbols in any of those, one can ask gtkdoc to keep the intermedia scanner
+ file for further analysis, but running it as
+ <command>GTK_DOC_KEEP_INTERMEDIATE=1 make</command>.
+ </para>
+ </chapter>
+
+ <chapter id="documenting-others">
+ <title>Documenting other interfaces</title>
+
+ <para>
+ So far we have been using GTK-Doc to document the API of code. The next
+ sections contain suggestions how the tools can be used to document other
+ interfaces too.
+ </para>
+
+ <sect1 id="commandline-interfaces">
+ <title>Commandline options and man pages</title>
+
+ <para>
+ As one can generate man pages for a docbook refentry as well, it sounds
+ like a good idea to use it for that purpose. This way the interface is
+ part of the reference and one gets the man-page for free.
+ </para>
+
+ <sect2 id="commandline-interfaces-file">
+ <title>Document the tool</title>
+
+ <para>
+ Create one refentry file per tool. Following
+ <link linkend="settingup_docfiles">our example</link> we would call it
+ <filename>meep/docs/reference/meeper/meep.xml</filename>. For the xml
+ tags that should be used and can look at generated file in the xml
+ subdirectory as well as examples e.g. in glib.
+ </para>
+ </sect2>
+
+ <sect2 id="commandline-interfaces-configure">
+ <title>Adding the extra configure check</title>
+
+ <para>
+ <example><title>Extra configure checks</title>
+ <programlisting>
+<![CDATA[
+AC_ARG_ENABLE(man,
+ [AC_HELP_STRING([--enable-man],
+ [regenerate man pages from Docbook [default=no]])],enable_man=yes,
+ enable_man=no)
+
+AC_PATH_PROG([XSLTPROC], [xsltproc])
+AM_CONDITIONAL(ENABLE_MAN, test x$enable_man != xno)
+]]>
+ </programlisting>
+ </example>
+ </para>
+ </sect2>
+
+ <sect2 id="commandline-interfaces-make">
+ <title>Adding the extra makefile rules</title>
+
+ <para>
+ <example><title>Extra configure checks</title>
+ <programlisting>
+<![CDATA[
+man_MANS = \
+ meeper.1
+
+if ENABLE_GTK_DOC
+if ENABLE_MAN
+
+%.1 : %.xml
+ @XSLTPROC@ -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
+
+endif
+endif
+
+BUILT_EXTRA_DIST = $(man_MANS)
+EXTRA_DIST += meep.xml
+]]>
+ </programlisting>
+ </example>
+ </para>
+ </sect2>
+ </sect1>
+
+ <sect1 id="dbus-interfaces">
+ <title>DBus interfaces</title>
+
+ <para>
+ (FIXME: http://hal.freedesktop.org/docs/DeviceKit/DeviceKit.html,
+http://cgit.freedesktop.org/DeviceKit/DeviceKit/tree/doc/dbus)
+ </para>
+ </sect1>
+
+ </chapter>
+
+ <chapter id="faq">
+ <title>Frequently asked questions</title>
+
+ <segmentedlist>
+ <?dbhtml list-presentation="list"?>
+ <segtitle>Question</segtitle>
+ <segtitle>Answer</segtitle>
+ <seglistitem>
+ <seg>No class hierarchy.</seg>
+ <seg>
+ The objects <function>xxx_get_type()</function> function has not been
+ entered into the <filename><package>.types</filename> file.
+ </seg>
+ </seglistitem>
+ <seglistitem>
+ <seg>Still no class hierarchy.</seg>
+ <seg>
+ Missing or wrong naming in <filename><package>-sections.txt</filename>
+ file (see <ulink url="http://mail.gnome.org/archives/gtk-doc-list/2003-October/msg00006.html">explanation</ulink>).
+ </seg>
+ </seglistitem>
+ <seglistitem>
+ <seg>Damn, I have still no class hierarchy.</seg>
+ <seg>
+ Is the object name (name of the instance struct, e.g. <type>GtkWidget</type>)
+ part of the normal section (don't put this into Standard or Private
+ subsections).
+ </seg>
+ </seglistitem>
+ <seglistitem>
+ <seg>No symbol index.</seg>
+ <seg>
+ Does the <filename><package>-docs.{xml,sgml}</filename> contain a
+ index that xi:includes the generated index?
+ </seg>
+ </seglistitem>
+ <seglistitem>
+ <seg>Symbols are not linked to their doc-section.</seg>
+ <seg>
+ Is the doc-comment using the correct markup (added #,% or ())?
+ Check if the gtkdoc-fixxref warns about unresolvable xrefs.
+ </seg>
+ </seglistitem>
+ <seglistitem>
+ <seg>A new class does not appear in the docs.</seg>
+ <seg>
+ Is the new page xi:included from
+ <filename><package>-docs.{xml,sgml}</filename>.
+ </seg>
+ </seglistitem>
+ <seglistitem>
+ <seg>A new symbol does not appear in the docs.</seg>
+ <seg>
+ Is the doc-comment properly formatted. Check for spelling mistakes in
+ the begin of the comment. Check if the gtkdoc-fixxref warns about
+ unresolvable xrefs. Check if the symbol is correctly listed in the
+ <filename><package>-sections.txt</filename> in a public subsection.
+ </seg>
+ </seglistitem>
+ <seglistitem>
+ <seg>A type is missing from the class hierarchy.</seg>
+ <seg>
+ If the type is listed in <filename><package>.hierarchy</filename>
+ but not in <filename>xml/tree_index.sgml</filename> then double check
+ that the type is correctly placed in the <filename><package>-sections.txt</filename>.
+ If the type instance (e.g. <type>GtkWidget</type>) is not listed or
+ incidentialy makred private it will not be shown.
+ </seg>
+ </seglistitem>
+ <seglistitem>
+ <seg>I get foldoc links for all gobject annotations.</seg>
+ <seg>
+ Check that <filename>xml/annotation-glossary.xml</filename> is
+ xi:included from <filename><package>-docs.{xml,sgml}</filename>.
+ </seg>
+ </seglistitem>
+
+ <!-- gtk-doc warnings: -->
+ <seglistitem>
+ <seg>Parameter described in source code comment block but does not exist</seg>
+ <seg>Check if the prototype in the header has different parameter names as in the source.</seg>
+ </seglistitem>
+
+ <!-- docbook warnings: -->
+ <seglistitem>
+ <seg>multiple "IDs" for constraint linkend: XYZ</seg>
+ <seg>Symbol XYZ appears twice in <filename><package>-sections.txt</filename> file.</seg>
+ </seglistitem>
+ <seglistitem>
+ <seg>Element typename in namespace '' encountered in para, but no template matches.</seg>
+ <seg />
+ </seglistitem>
+ </segmentedlist>
+ </chapter>
+
+ <chapter id="contrib">
+ <title>Tools related to gtk-doc</title>
+
+ <para>
+ GtkDocPlugin - a <ulink url="http://trac-hacks.org/wiki/GtkDocPlugin">Trac GTK-Doc</ulink>
+ integration plugin, that adds api docs to a trac site and integrates with
+ the trac search.
+ </para>
+ <para>
+ Gtkdoc-depscan - a tool (part of gtk-doc) to check used API against since
+ tags in the api to determine the minimum required version.
+ </para>
+
+ </chapter>
+
+ <!-- ======== Appendix: FDL ================================== -->
+ &FDL;
+
+</book>
+
--- /dev/null
+2010-01-25 Sweta Kothari <swkothar@redhat.com>
+
+ * gu/gu.po: Updated Gujarati translation
+
+2009-04-09 Jorge Gonzalez <jorgegonz@svn.gnome.org>
+
+ * es/es.po: Updated Spanish translation
+
+2009-04-07 Simos Xenitellis <simos@gnome.org>
+
+ * el/el.po: Added Greek translation.
+ * Makefile.am: Added el.
+
+2009-03-25 Philip Withnall <philip@tecnocode.co.uk>
+
+ * Makefile.am:
+ * en_GB/en_GB.po: Added British English translation by Jen Ockwell
+ <jenfraggleubuntu@gmail.com> and myself.
+
+2009-03-24 Jorge Gonzalez <jorgegonz@svn.gnome.org>
+
+ * es/es.po: Updated Spanish translation
+
+2009-03-23 Jorge Gonzalez <jorgegonz@svn.gnome.org>
+
+ * es/es.po: Updated Spansih translation
+
+2009-03-22 Jorge Gonzalez <jorgegonz@svn.gnome.org>
+
+ * es/es.po: Updated Spansih translation
+
+2009-03-17 Jorge Gonzalez <jorgegonz@svn.gnome.org>
+
+ * es/es.po: Updated Spansih translation
+
+2009-03-16 Mario Blättermann <mariobl@svn.gnome.org>
+
+ * de/de.po: Added initial German translation
+ * Makefile.am: Added de to DOC_LINGUAS
+
+2009-03-15 Jorge Gonzalez <jorgegonz@svn.gnome.org>
+
+ * es/es.po: Added initial Spanish translation
+ * Makefile.am: Added es to DOC_LINGUAS
+
+2008-09-08 Rob Bradford <rob@linux.intel.com>
+
+ * C/gtk-doc-manual.xml:
+ Correct the command for non-tmpl Makefile and highlight it within a
+ <command> block.
+
+2007-08-14 Marc-Andre Lureau <marcandre.lureau@gmail.com>
+
+ * GNOME doc-utils migration, ChangeLog moved to help/manual
+
+2007-07-23 Stefan Kost <ensonic@users.sf.net>
+
+ * gtk-doc-manual.xml:
+ Tell about $(DOC_MODULE)-undeclared.txt.
+
+2007-07-15 Stefan Kost <ensonic@users.sf.net>
+
+ * gtk-doc-manual.xml:
+ Bump version. Add more markup. Tell that one can use toolname --help to
+ get the allowed opetion for Makefile.am. Improve 'how does it work' section.
+
+2007-06-11 Damon Chaplin <damon@gnome.org>
+
+ * gtk-doc-manual.xml: added tip about using entities like # to
+ use a '#' without gtk-doc changing it. (Part of #445596)
+
+2007-01-21 Damon Chaplin <damon@gnome.org>
+
+ * gtk-doc-manual.xml: document "@include:" tag. #395023
+
+2006-12-10 J.H.M. Dassen (Ray) <jdassen@debian.org>
+
+ * gtk-doc-manual.xml: Spelling fixes.
+
+2006-10-13 Damon Chaplin <damon@gnome.org>
+
+ * gtk-doc-manual.xml: use "GNOME" instead of "Gnome". (#352160)
+
+2006-03-24 Stefan Kost <ensonic@users.sf.net>
+
+ * gtk-doc-manual.xml:
+ correct format of new shortcuts
+
+2006-03-21 Stefan Kost <ensonic@users.sf.net>
+
+ * gtk-doc-manual.xml:
+ document signal and property link short cuts
+
+2005-12-09 Stefan Kost <ensonic@users.sf.net>
+
+ * gtk-doc-manual-C.omf.in:
+ * gtk-doc-manual.xml:
+ added more details about doc-comments
+ added section about revision control systems
+
+2005-09-07 Stefan Kost <ensonic@users.sf.net>
+
+ * gtk-doc-manual.xml:
+ integrated most of the notes from the text files under doc/*.txt
+
+2005-08-24 Stefan Kost <ensonic@users.sf.net>
+
+ * gtk-doc-manual.xml:
+ more notes in the faq
+ setup chapter is nearly complete
+ more notes about doc comment format
+
+2005-08-15 Stefan Kost <ensonic@users.sf.net>
+
+ * .cvsignore:
+ * ChangeLog:
+ * Makefile:
+ * Makefile.am:
+ * fdl-appendix.xml:
+ * gtk-doc-manual-C.omf.in:
+ * gtk-doc-manual.xml:
+ reanimated gtkdoc manual
+ added new chapters
+
+2004-05-07 Geert Stappers <stappers@stappers.nl>
+
+ * README: new file.
+ * gtk-doc-manual.sgml: Deleted.
+ * fdl-appendix.sgml: Deleted.
+
+2004-05-06 Geert Stappers <stappers@stappers.nl>
+
+ * gtk-doc-manual.xml: repaired the crossreference to FDL
+
+ * Makefile: new file, to "document" the build process.
+
+2004-05-06 Keith Sharp <kms@passback.co.uk>
+
+ * gtk-doc-manual.xml: New file, XML version of
+ gtk-doc-manual.sgml
+ * fdl-appendix.xml: New file, XML version of
+ fdl-appendix.sgml
+
+2000-11-26 Dan Mueth <d-mueth@uchicago.edu>
+
+ * gtk-doc-manual.sgml: Committing changes made by
+ Chris Lyttle <chris@wilddev.net>. (Text for Chapter 1)
+
+2000-11-25 Dan Mueth <d-mueth@uchicago.edu>
+
+ * gtk-doc-manual.sgml: Put part of the outline into SGML.
+ Chris plans to put rest of outline in here and start
+ writing.
+ * fdl-appendix.sgml: The FDL in SGML. We will probably post
+ these on the web as a single document (book) so we will
+ need the FDL to be included as an appendix.
+
--- /dev/null
+if HAVE_GNOME_DOC_UTILS
+include $(top_srcdir)/build-aux/gnome-doc-utils.make
+dist-hook: doc-dist-hook
+else
+dist-hook:
+ @echo "*** gnome-doc-utils must be installed and enabled in order to make dist"
+ @false
+endif
+
+DOC_MODULE = gtk-doc-manual
+DOC_ENTITIES = fdl-appendix.xml
+DOC_INCLUDES =
+DOC_FIGURES =
+DOC_LINGUAS = bn_IN de el en_GB es fr gu sl sv ta te
+
+-include $(top_srcdir)/git.mk
--- /dev/null
+# 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@
+
+# gnome-doc-utils.make - make magic for building documentation
+# Copyright (C) 2004-2005 Shaun McCance <shaunm@gnome.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.
+
+################################################################################
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+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 = :
+build_triplet = @build@
+host_triplet = @host@
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
+ $(top_srcdir)/build-aux/gnome-doc-utils.make ChangeLog
+subdir = help/manual
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/gnome-doc-utils.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
+ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/acinclude.m4 \
+ $(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 =
+AM_V_GEN = $(am__v_GEN_$(V))
+am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
+am__v_GEN_0 = @echo " GEN " $@;
+AM_V_at = $(am__v_at_$(V))
+am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
+am__v_at_0 = @
+SOURCES =
+DIST_SOURCES =
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
+AR = @AR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DBLATEX = @DBLATEX@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DISTCHECK_CONFIGURE_FLAGS = @DISTCHECK_CONFIGURE_FLAGS@
+DOC_USER_FORMATS = @DOC_USER_FORMATS@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+FGREP = @FGREP@
+FOP = @FOP@
+GREP = @GREP@
+HELP_DIR = @HELP_DIR@
+HIGHLIGHT = @HIGHLIGHT@
+HIGHLIGHT_OPTIONS = @HIGHLIGHT_OPTIONS@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+JADE = @JADE@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+MKDIR_P = @MKDIR_P@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OMF_DIR = @OMF_DIR@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_DATA_DIR = @PACKAGE_DATA_DIR@
+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@
+PKG_CONFIG = @PKG_CONFIG@
+PYTHON = @PYTHON@
+PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
+PYTHON_PLATFORM = @PYTHON_PLATFORM@
+PYTHON_PREFIX = @PYTHON_PREFIX@
+PYTHON_VERSION = @PYTHON_VERSION@
+RANLIB = @RANLIB@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SGML_FORMAT_TYPE = @SGML_FORMAT_TYPE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+TEST_DEPS_CFLAGS = @TEST_DEPS_CFLAGS@
+TEST_DEPS_LIBS = @TEST_DEPS_LIBS@
+TRACE = @TRACE@
+VERSION = @VERSION@
+XMLCATALOG = @XMLCATALOG@
+XML_CATALOG_FILE = @XML_CATALOG_FILE@
+XSLTPROC = @XSLTPROC@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+glib_prefix = @glib_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+lt_ECHO = @lt_ECHO@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+pkgpyexecdir = @pkgpyexecdir@
+pkgpythondir = @pkgpythondir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+pyexecdir = @pyexecdir@
+pythondir = @pythondir@
+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@
+@HAVE_GNOME_DOC_UTILS_TRUE@_clean_doc_header = $(if $(DOC_H_FILE),clean-doc-header)
+@HAVE_GNOME_DOC_UTILS_TRUE@_DOC_REAL_FORMATS = $(if $(DOC_USER_FORMATS),$(DOC_USER_FORMATS),$(DOC_FORMATS))
+@HAVE_GNOME_DOC_UTILS_TRUE@_DOC_REAL_LINGUAS = $(if $(filter environment,$(origin LINGUAS)), \
+@HAVE_GNOME_DOC_UTILS_TRUE@ $(filter $(LINGUAS),$(DOC_LINGUAS)), \
+@HAVE_GNOME_DOC_UTILS_TRUE@ $(DOC_LINGUAS))
+
+@HAVE_GNOME_DOC_UTILS_TRUE@_DOC_ABS_SRCDIR = @abs_srcdir@
+@HAVE_GNOME_DOC_UTILS_TRUE@_xml2po_mode = $(if $(DOC_ID),mallard,docbook)
+@ENABLE_SK_TRUE@@HAVE_GNOME_DOC_UTILS_TRUE@_ENABLE_SK = true
+
+################################################################################
+@HAVE_GNOME_DOC_UTILS_TRUE@db2omf_args = \
+@HAVE_GNOME_DOC_UTILS_TRUE@ --stringparam db2omf.basename $(DOC_MODULE) \
+@HAVE_GNOME_DOC_UTILS_TRUE@ --stringparam db2omf.format $(3) \
+@HAVE_GNOME_DOC_UTILS_TRUE@ --stringparam db2omf.dtd \
+@HAVE_GNOME_DOC_UTILS_TRUE@ $(shell xmllint --format $(2) | grep -h PUBLIC | head -n 1 \
+@HAVE_GNOME_DOC_UTILS_TRUE@ | sed -e 's/.*PUBLIC \(\"[^\"]*\"\).*/\1/') \
+@HAVE_GNOME_DOC_UTILS_TRUE@ --stringparam db2omf.lang $(notdir $(patsubst %/$(notdir $(2)),%,$(2))) \
+@HAVE_GNOME_DOC_UTILS_TRUE@ --stringparam db2omf.omf_dir "$(OMF_DIR)" \
+@HAVE_GNOME_DOC_UTILS_TRUE@ --stringparam db2omf.help_dir "$(HELP_DIR)" \
+@HAVE_GNOME_DOC_UTILS_TRUE@ --stringparam db2omf.omf_in "$(_DOC_OMF_IN)" \
+@HAVE_GNOME_DOC_UTILS_TRUE@ $(if $(_ENABLE_SK), \
+@HAVE_GNOME_DOC_UTILS_TRUE@ --stringparam db2omf.scrollkeeper_cl "$(_skcontentslist)") \
+@HAVE_GNOME_DOC_UTILS_TRUE@ $(_db2omf) $(2)
+
+@HAVE_GNOME_DOC_UTILS_TRUE@_DOC_OMF_IN = $(if $(DOC_MODULE),$(wildcard $(_DOC_ABS_SRCDIR)/$(DOC_MODULE).omf.in))
+@HAVE_GNOME_DOC_UTILS_TRUE@_DOC_OMF_DB = $(if $(_DOC_OMF_IN), \
+@HAVE_GNOME_DOC_UTILS_TRUE@ $(foreach lc,C $(_DOC_REAL_LINGUAS),$(DOC_MODULE)-$(lc).omf))
+
+@HAVE_GNOME_DOC_UTILS_TRUE@_DOC_OMF_HTML = $(if $(_DOC_OMF_IN), \
+@HAVE_GNOME_DOC_UTILS_TRUE@ $(foreach lc,C $(_DOC_REAL_LINGUAS),$(DOC_MODULE)-html-$(lc).omf))
+
+
+# FIXME
+@HAVE_GNOME_DOC_UTILS_TRUE@_DOC_OMF_ALL = \
+@HAVE_GNOME_DOC_UTILS_TRUE@ $(if $(filter docbook,$(_DOC_REAL_FORMATS)),$(_DOC_OMF_DB)) \
+@HAVE_GNOME_DOC_UTILS_TRUE@ $(if $(filter html HTML,$(_DOC_REAL_FORMATS)),$(_DOC_OMF_HTML))
+
+
+################################################################################
+@HAVE_GNOME_DOC_UTILS_TRUE@_DOC_C_MODULE = $(if $(DOC_MODULE),C/$(DOC_MODULE).xml)
+@HAVE_GNOME_DOC_UTILS_TRUE@_DOC_C_PAGES = $(foreach page,$(DOC_PAGES),C/$(page))
+@HAVE_GNOME_DOC_UTILS_TRUE@_DOC_C_ENTITIES = $(foreach ent,$(DOC_ENTITIES),C/$(ent))
+@HAVE_GNOME_DOC_UTILS_TRUE@_DOC_C_INCLUDES = $(foreach inc,$(DOC_INCLUDES),C/$(inc))
+@HAVE_GNOME_DOC_UTILS_TRUE@_DOC_C_DOCS = \
+@HAVE_GNOME_DOC_UTILS_TRUE@ $(_DOC_C_ENTITIES) $(_DOC_C_INCLUDES) \
+@HAVE_GNOME_DOC_UTILS_TRUE@ $(_DOC_C_PAGES) $(_DOC_C_MODULE)
+
+@HAVE_GNOME_DOC_UTILS_TRUE@_DOC_C_DOCS_NOENT = \
+@HAVE_GNOME_DOC_UTILS_TRUE@ $(_DOC_C_MODULE) $(_DOC_C_INCLUDES) \
+@HAVE_GNOME_DOC_UTILS_TRUE@ $(_DOC_C_PAGES)
+
+@HAVE_GNOME_DOC_UTILS_TRUE@_DOC_C_FIGURES = $(if $(DOC_FIGURES), \
+@HAVE_GNOME_DOC_UTILS_TRUE@ $(foreach fig,$(DOC_FIGURES),C/$(fig)), \
+@HAVE_GNOME_DOC_UTILS_TRUE@ $(patsubst $(srcdir)/%,%,$(wildcard $(srcdir)/C/figures/*.png)))
+
+
+# FIXME: probably have to shell escape to determine the file names
+@HAVE_GNOME_DOC_UTILS_TRUE@_DOC_C_HTML = $(foreach f, \
+@HAVE_GNOME_DOC_UTILS_TRUE@ $(shell xsltproc --xinclude \
+@HAVE_GNOME_DOC_UTILS_TRUE@ --stringparam db.chunk.basename "$(DOC_MODULE)" \
+@HAVE_GNOME_DOC_UTILS_TRUE@ $(_chunks) "C/$(DOC_MODULE).xml"), \
+@HAVE_GNOME_DOC_UTILS_TRUE@ C/$(f).xhtml)
+
+
+###############################################################################
+@HAVE_GNOME_DOC_UTILS_TRUE@_DOC_POFILES = $(if $(DOC_MODULE)$(DOC_ID), \
+@HAVE_GNOME_DOC_UTILS_TRUE@ $(foreach lc,$(_DOC_REAL_LINGUAS),$(lc)/$(lc).po))
+
+@HAVE_GNOME_DOC_UTILS_TRUE@_DOC_MOFILES = $(patsubst %.po,%.mo,$(_DOC_POFILES))
+@HAVE_GNOME_DOC_UTILS_TRUE@_DOC_LC_MODULES = $(if $(DOC_MODULE), \
+@HAVE_GNOME_DOC_UTILS_TRUE@ $(foreach lc,$(_DOC_REAL_LINGUAS),$(lc)/$(DOC_MODULE).xml))
+
+@HAVE_GNOME_DOC_UTILS_TRUE@_DOC_LC_PAGES = \
+@HAVE_GNOME_DOC_UTILS_TRUE@ $(foreach lc,$(_DOC_REAL_LINGUAS),$(foreach page,$(_DOC_C_PAGES), \
+@HAVE_GNOME_DOC_UTILS_TRUE@ $(lc)/$(notdir $(page)) ))
+
+@HAVE_GNOME_DOC_UTILS_TRUE@_DOC_LC_INCLUDES = \
+@HAVE_GNOME_DOC_UTILS_TRUE@ $(foreach lc,$(_DOC_REAL_LINGUAS),$(foreach inc,$(_DOC_C_INCLUDES), \
+@HAVE_GNOME_DOC_UTILS_TRUE@ $(lc)/$(notdir $(inc)) ))
+
+
+# FIXME: probably have to shell escape to determine the file names
+@HAVE_GNOME_DOC_UTILS_TRUE@_DOC_LC_HTML = \
+@HAVE_GNOME_DOC_UTILS_TRUE@ $(foreach lc,$(_DOC_REAL_LINGUAS),$(foreach doc,$(_DOC_C_HTML), \
+@HAVE_GNOME_DOC_UTILS_TRUE@ $(lc)/$(notdir $(doc)) ))
+
+@HAVE_GNOME_DOC_UTILS_TRUE@_DOC_LC_DOCS = \
+@HAVE_GNOME_DOC_UTILS_TRUE@ $(_DOC_LC_MODULES) $(_DOC_LC_INCLUDES) $(_DOC_LC_PAGES) \
+@HAVE_GNOME_DOC_UTILS_TRUE@ $(if $(filter html HTML,$(_DOC_REAL_FORMATS)),$(_DOC_LC_HTML))
+
+@HAVE_GNOME_DOC_UTILS_TRUE@_DOC_LC_FIGURES = $(foreach lc,$(_DOC_REAL_LINGUAS), \
+@HAVE_GNOME_DOC_UTILS_TRUE@ $(patsubst C/%,$(lc)/%,$(_DOC_C_FIGURES)) )
+
+@HAVE_GNOME_DOC_UTILS_TRUE@_DOC_SRC_FIGURES = \
+@HAVE_GNOME_DOC_UTILS_TRUE@ $(foreach fig,$(_DOC_C_FIGURES), $(foreach lc,C $(_DOC_REAL_LINGUAS), \
+@HAVE_GNOME_DOC_UTILS_TRUE@ $(wildcard $(srcdir)/$(lc)/$(patsubst C/%,%,$(fig))) ))
+
+@HAVE_GNOME_DOC_UTILS_TRUE@_DOC_POT = $(if $(DOC_MODULE),$(DOC_MODULE).pot)
+
+################################################################################
+@HAVE_GNOME_DOC_UTILS_TRUE@_DOC_HTML_ALL = $(if $(filter html HTML,$(_DOC_REAL_FORMATS)), \
+@HAVE_GNOME_DOC_UTILS_TRUE@ $(_DOC_C_HTML) $(_DOC_LC_HTML))
+
+@HAVE_GNOME_DOC_UTILS_TRUE@_DOC_HTML_TOPS = $(foreach lc,C $(_DOC_REAL_LINGUAS),$(lc)/$(DOC_MODULE).xhtml)
+@HAVE_GNOME_DOC_UTILS_TRUE@_clean_omf = $(if $(_DOC_OMF_IN),clean-doc-omf)
+@HAVE_GNOME_DOC_UTILS_TRUE@_clean_dsk = $(if $(_DOC_DSK_IN),clean-doc-dsk)
+@HAVE_GNOME_DOC_UTILS_TRUE@_clean_lc = $(if $(_DOC_REAL_LINGUAS),clean-doc-lc)
+@HAVE_GNOME_DOC_UTILS_TRUE@_clean_dir = $(if $(DOC_MODULE)$(DOC_ID),clean-doc-dir)
+@HAVE_GNOME_DOC_UTILS_TRUE@_doc_install_dir = $(if $(DOC_ID),$(DOC_ID),$(DOC_MODULE))
+DOC_MODULE = gtk-doc-manual
+DOC_ENTITIES = fdl-appendix.xml
+DOC_INCLUDES =
+DOC_FIGURES =
+DOC_LINGUAS = bn_IN de el en_GB es fr gu sl sv ta te
+all: all-am
+
+.SUFFIXES:
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/build-aux/gnome-doc-utils.make $(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) --gnu help/manual/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --gnu help/manual/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: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+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
+ $(MAKE) $(AM_MAKEFLAGS) \
+ top_distdir="$(top_distdir)" distdir="$(distdir)" \
+ dist-hook
+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."
+@HAVE_GNOME_DOC_UTILS_FALSE@uninstall-local:
+@HAVE_GNOME_DOC_UTILS_FALSE@distclean-local:
+@HAVE_GNOME_DOC_UTILS_FALSE@install-data-local:
+@HAVE_GNOME_DOC_UTILS_FALSE@maintainer-clean-local:
+@HAVE_GNOME_DOC_UTILS_FALSE@mostlyclean-local:
+@HAVE_GNOME_DOC_UTILS_FALSE@clean-local:
+clean: clean-am
+
+clean-am: clean-generic clean-libtool clean-local mostlyclean-am
+
+distclean: distclean-am
+ -rm -f Makefile
+distclean-am: clean-am distclean-generic distclean-local
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+html-am:
+
+info: info-am
+
+info-am:
+
+install-data-am: install-data-local
+
+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 \
+ maintainer-clean-local
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-generic mostlyclean-libtool \
+ mostlyclean-local
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-local
+
+.MAKE: install-am install-strip
+
+.PHONY: all all-am check check-am clean clean-generic clean-libtool \
+ clean-local dist-hook distclean distclean-generic \
+ distclean-libtool distclean-local distdir dvi dvi-am html \
+ html-am info info-am install install-am install-data \
+ install-data-am install-data-local 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 maintainer-clean-local mostlyclean \
+ mostlyclean-generic mostlyclean-libtool mostlyclean-local pdf \
+ pdf-am ps ps-am uninstall uninstall-am uninstall-local
+
+
+@HAVE_GNOME_DOC_UTILS_TRUE@DOC_H_FILE ?=
+
+@HAVE_GNOME_DOC_UTILS_TRUE@DOC_H_DOCS ?=
+
+@HAVE_GNOME_DOC_UTILS_TRUE@$(DOC_H_FILE): $(DOC_H_DOCS);
+@HAVE_GNOME_DOC_UTILS_TRUE@ @rm -f $@.tmp; touch $@.tmp;
+@HAVE_GNOME_DOC_UTILS_TRUE@ echo 'const gchar* documentation_credits[] = {' >> $@.tmp
+@HAVE_GNOME_DOC_UTILS_TRUE@ list='$(DOC_H_DOCS)'; for doc in $$list; do \
+@HAVE_GNOME_DOC_UTILS_TRUE@ xmlpath="`echo $$doc | sed -e 's/^\(.*\/\).*/\1/' -e '/\//!s/.*//'`:$(srcdir)/`echo $$doc | sed -e 's/^\(.*\/\).*/\1/' -e '/\//!s/.*//'`"; \
+@HAVE_GNOME_DOC_UTILS_TRUE@ if ! test -f "$$doc"; then doc="$(srcdir)/$$doc"; fi; \
+@HAVE_GNOME_DOC_UTILS_TRUE@ xsltproc --path "$$xmlpath" $(_credits) $$doc; \
+@HAVE_GNOME_DOC_UTILS_TRUE@ done | sort | uniq \
+@HAVE_GNOME_DOC_UTILS_TRUE@ | awk 'BEGIN{s=""}{n=split($$0,w,"<");if(s!=""&&s!=substr(w[1],1,length(w[1])-1)){print s};if(n>1){print $$0;s=""}else{s=$$0}};END{if(s!=""){print s}}' \
+@HAVE_GNOME_DOC_UTILS_TRUE@ | sed -e 's/\\/\\\\/' -e 's/"/\\"/' -e 's/\(.*\)/\t"\1",/' >> $@.tmp
+@HAVE_GNOME_DOC_UTILS_TRUE@ echo ' NULL' >> $@.tmp
+@HAVE_GNOME_DOC_UTILS_TRUE@ echo '};' >> $@.tmp
+@HAVE_GNOME_DOC_UTILS_TRUE@ echo >> $@.tmp
+@HAVE_GNOME_DOC_UTILS_TRUE@ list='$(DOC_H_DOCS)'; for doc in $$list; do \
+@HAVE_GNOME_DOC_UTILS_TRUE@ xmlpath="`echo $$doc | sed -e 's/^\(.*\/\).*/\1/' -e '/\//!s/.*//'`:$(srcdir)/`echo $$doc | sed -e 's/^\(.*\/\).*/\1/' -e '/\//!s/.*//'`"; \
+@HAVE_GNOME_DOC_UTILS_TRUE@ if ! test -f "$$doc"; then doc="$(srcdir)/$$doc"; fi; \
+@HAVE_GNOME_DOC_UTILS_TRUE@ docid=`echo "$$doc" | sed -e 's/.*\/\([^/]*\)\.xml/\1/' \
+@HAVE_GNOME_DOC_UTILS_TRUE@ | sed -e 's/[^a-zA-Z_]/_/g' | tr 'a-z' 'A-Z'`; \
+@HAVE_GNOME_DOC_UTILS_TRUE@ echo $$xmlpath; \
+@HAVE_GNOME_DOC_UTILS_TRUE@ ids=`xsltproc --xinclude --path "$$xmlpath" $(_ids) $$doc`; \
+@HAVE_GNOME_DOC_UTILS_TRUE@ for id in $$ids; do \
+@HAVE_GNOME_DOC_UTILS_TRUE@ echo '#define HELP_'`echo $$docid`'_'`echo $$id \
+@HAVE_GNOME_DOC_UTILS_TRUE@ | sed -e 's/[^a-zA-Z_]/_/g' | tr 'a-z' 'A-Z'`' "'$$id'"' >> $@.tmp; \
+@HAVE_GNOME_DOC_UTILS_TRUE@ done; \
+@HAVE_GNOME_DOC_UTILS_TRUE@ echo >> $@.tmp; \
+@HAVE_GNOME_DOC_UTILS_TRUE@ done;
+@HAVE_GNOME_DOC_UTILS_TRUE@ cp $@.tmp $@ && rm -f $@.tmp
+
+@HAVE_GNOME_DOC_UTILS_TRUE@dist-check-gdu:
+# @echo "*** GNOME Doc Utils must be installed in order to make dist"
+# @false
+
+@HAVE_GNOME_DOC_UTILS_TRUE@.PHONY: dist-doc-header
+@HAVE_GNOME_DOC_UTILS_TRUE@dist-doc-header: $(DOC_H_FILE)
+@HAVE_GNOME_DOC_UTILS_TRUE@ @if test -f "$(DOC_H_FILE)"; then d=; else d="$(srcdir)/"; fi; \
+@HAVE_GNOME_DOC_UTILS_TRUE@ echo "$(INSTALL_DATA) $${d}$(DOC_H_FILE) $(distdir)/$(DOC_H_FILE)"; \
+@HAVE_GNOME_DOC_UTILS_TRUE@ $(INSTALL_DATA) "$${d}$(DOC_H_FILE)" "$(distdir)/$(DOC_H_FILE)";
+
+@HAVE_GNOME_DOC_UTILS_TRUE@doc-dist-hook: dist-check-gdu $(if $(DOC_H_FILE),dist-doc-header)
+
+@HAVE_GNOME_DOC_UTILS_TRUE@.PHONY: clean-doc-header
+@HAVE_GNOME_DOC_UTILS_TRUE@clean-local: $(_clean_doc_header)
+@HAVE_GNOME_DOC_UTILS_TRUE@distclean-local: $(_clean_doc_header)
+@HAVE_GNOME_DOC_UTILS_TRUE@mostlyclean-local: $(_clean_doc_header)
+@HAVE_GNOME_DOC_UTILS_TRUE@maintainer-clean-local: $(_clean_doc_header)
+@HAVE_GNOME_DOC_UTILS_TRUE@clean-doc-header:
+@HAVE_GNOME_DOC_UTILS_TRUE@ rm -f $(DOC_H_FILE)
+
+@HAVE_GNOME_DOC_UTILS_TRUE@all: $(DOC_H_FILE)
+
+################################################################################
+
+@HAVE_GNOME_DOC_UTILS_TRUE@DOC_MODULE ?=
+
+@HAVE_GNOME_DOC_UTILS_TRUE@DOC_ID ?=
+
+@HAVE_GNOME_DOC_UTILS_TRUE@DOC_PAGES ?=
+
+@HAVE_GNOME_DOC_UTILS_TRUE@DOC_ENTITIES ?=
+
+@HAVE_GNOME_DOC_UTILS_TRUE@DOC_INCLUDES ?=
+
+@HAVE_GNOME_DOC_UTILS_TRUE@DOC_FIGURES ?=
+
+@HAVE_GNOME_DOC_UTILS_TRUE@DOC_FORMATS ?= docbook
+
+@HAVE_GNOME_DOC_UTILS_TRUE@DOC_LINGUAS ?=
+
+################################################################################
+
+@HAVE_GNOME_DOC_UTILS_TRUE@_xml2po ?= `which xml2po`
+
+@HAVE_GNOME_DOC_UTILS_TRUE@_db2html ?= `$(PKG_CONFIG) --variable db2html gnome-doc-utils`
+@HAVE_GNOME_DOC_UTILS_TRUE@_db2omf ?= `$(PKG_CONFIG) --variable db2omf gnome-doc-utils`
+@HAVE_GNOME_DOC_UTILS_TRUE@_malrng ?= `$(PKG_CONFIG) --variable malrng gnome-doc-utils`
+@HAVE_GNOME_DOC_UTILS_TRUE@_chunks ?= `$(PKG_CONFIG) --variable xmldir gnome-doc-utils`/gnome/xslt/docbook/utils/chunks.xsl
+@HAVE_GNOME_DOC_UTILS_TRUE@_credits ?= `$(PKG_CONFIG) --variable xmldir gnome-doc-utils`/gnome/xslt/docbook/utils/credits.xsl
+@HAVE_GNOME_DOC_UTILS_TRUE@_ids ?= `$(PKG_CONFIG) --variable xmldir gnome-doc-utils`/gnome/xslt/docbook/utils/ids.xsl
+@ENABLE_SK_TRUE@@HAVE_GNOME_DOC_UTILS_TRUE@_skpkgdatadir ?= `scrollkeeper-config --pkgdatadir`
+@ENABLE_SK_TRUE@@HAVE_GNOME_DOC_UTILS_TRUE@_sklocalstatedir ?= `scrollkeeper-config --pkglocalstatedir`
+@ENABLE_SK_TRUE@@HAVE_GNOME_DOC_UTILS_TRUE@_skcontentslist ?= $(_skpkgdatadir)/Templates/C/scrollkeeper_cl.xml
+
+@HAVE_GNOME_DOC_UTILS_TRUE@$(_DOC_OMF_DB) : $(_DOC_OMF_IN)
+@HAVE_GNOME_DOC_UTILS_TRUE@$(_DOC_OMF_DB) : $(DOC_MODULE)-%.omf : %/$(DOC_MODULE).xml
+@HAVE_GNOME_DOC_UTILS_TRUE@ @test "x$(_ENABLE_SK)" != "xtrue" -o -f "$(_skcontentslist)" || { \
+@HAVE_GNOME_DOC_UTILS_TRUE@ echo "The file '$(_skcontentslist)' does not exist." >&2; \
+@HAVE_GNOME_DOC_UTILS_TRUE@ echo "Please check your ScrollKeeper installation." >&2; \
+@HAVE_GNOME_DOC_UTILS_TRUE@ exit 1; }
+@HAVE_GNOME_DOC_UTILS_TRUE@ xsltproc -o $@ $(call db2omf_args,$@,$<,'docbook') || { rm -f "$@"; exit 1; }
+
+@HAVE_GNOME_DOC_UTILS_TRUE@$(_DOC_OMF_HTML) : $(_DOC_OMF_IN)
+@HAVE_GNOME_DOC_UTILS_TRUE@$(_DOC_OMF_HTML) : $(DOC_MODULE)-html-%.omf : %/$(DOC_MODULE).xml
+@ENABLE_SK_TRUE@@HAVE_GNOME_DOC_UTILS_TRUE@ @test "x$(_ENABLE_SK)" != "xtrue" -o -f "$(_skcontentslist)" || { \
+@ENABLE_SK_TRUE@@HAVE_GNOME_DOC_UTILS_TRUE@ echo "The file '$(_skcontentslist)' does not exist" >&2; \
+@ENABLE_SK_TRUE@@HAVE_GNOME_DOC_UTILS_TRUE@ echo "Please check your ScrollKeeper installation." >&2; \
+@ENABLE_SK_TRUE@@HAVE_GNOME_DOC_UTILS_TRUE@ exit 1; }
+@HAVE_GNOME_DOC_UTILS_TRUE@ xsltproc -o $@ $(call db2omf_args,$@,$<,'xhtml') || { rm -f "$@"; exit 1; }
+
+@HAVE_GNOME_DOC_UTILS_TRUE@.PHONY: omf
+@HAVE_GNOME_DOC_UTILS_TRUE@omf: $(_DOC_OMF_ALL)
+
+@HAVE_GNOME_DOC_UTILS_TRUE@.PHONY: po
+@HAVE_GNOME_DOC_UTILS_TRUE@po: $(_DOC_POFILES)
+
+@HAVE_GNOME_DOC_UTILS_TRUE@.PHONY: mo
+@HAVE_GNOME_DOC_UTILS_TRUE@mo: $(_DOC_MOFILES)
+
+@HAVE_GNOME_DOC_UTILS_TRUE@$(_DOC_POFILES):
+@HAVE_GNOME_DOC_UTILS_TRUE@ @if ! test -d $(dir $@); then \
+@HAVE_GNOME_DOC_UTILS_TRUE@ echo "mkdir $(dir $@)"; \
+@HAVE_GNOME_DOC_UTILS_TRUE@ mkdir "$(dir $@)"; \
+@HAVE_GNOME_DOC_UTILS_TRUE@ fi
+@HAVE_GNOME_DOC_UTILS_TRUE@ @if test ! -f $@ -a -f $(srcdir)/$@; then \
+@HAVE_GNOME_DOC_UTILS_TRUE@ echo "cp $(srcdir)/$@ $@"; \
+@HAVE_GNOME_DOC_UTILS_TRUE@ cp "$(srcdir)/$@" "$@"; \
+@HAVE_GNOME_DOC_UTILS_TRUE@ fi;
+@HAVE_GNOME_DOC_UTILS_TRUE@ @docs=; \
+@HAVE_GNOME_DOC_UTILS_TRUE@ list='$(_DOC_C_DOCS_NOENT)'; for doc in $$list; do \
+@HAVE_GNOME_DOC_UTILS_TRUE@ docs="$$docs $(_DOC_ABS_SRCDIR)/$$doc"; \
+@HAVE_GNOME_DOC_UTILS_TRUE@ done; \
+@HAVE_GNOME_DOC_UTILS_TRUE@ if ! test -f $@; then \
+@HAVE_GNOME_DOC_UTILS_TRUE@ echo "(cd $(dir $@) && \
+@HAVE_GNOME_DOC_UTILS_TRUE@ $(_xml2po) -m $(_xml2po_mode) -e $$docs > $(notdir $@).tmp && \
+@HAVE_GNOME_DOC_UTILS_TRUE@ cp $(notdir $@).tmp $(notdir $@) && rm -f $(notdir $@).tmp)"; \
+@HAVE_GNOME_DOC_UTILS_TRUE@ (cd $(dir $@) && \
+@HAVE_GNOME_DOC_UTILS_TRUE@ $(_xml2po) -m $(_xml2po_mode) -e $$docs > $(notdir $@).tmp && \
+@HAVE_GNOME_DOC_UTILS_TRUE@ cp $(notdir $@).tmp $(notdir $@) && rm -f $(notdir $@).tmp); \
+@HAVE_GNOME_DOC_UTILS_TRUE@ else \
+@HAVE_GNOME_DOC_UTILS_TRUE@ echo "(cd $(dir $@) && \
+@HAVE_GNOME_DOC_UTILS_TRUE@ $(_xml2po) -m $(_xml2po_mode) -e -u $(notdir $@) $$docs)"; \
+@HAVE_GNOME_DOC_UTILS_TRUE@ (cd $(dir $@) && \
+@HAVE_GNOME_DOC_UTILS_TRUE@ $(_xml2po) -m $(_xml2po_mode) -e -u $(notdir $@) $$docs); \
+@HAVE_GNOME_DOC_UTILS_TRUE@ fi
+
+@HAVE_GNOME_DOC_UTILS_TRUE@$(_DOC_MOFILES): %.mo: %.po
+@HAVE_GNOME_DOC_UTILS_TRUE@ @if ! test -d $(dir $@); then \
+@HAVE_GNOME_DOC_UTILS_TRUE@ echo "mkdir $(dir $@)"; \
+@HAVE_GNOME_DOC_UTILS_TRUE@ mkdir "$(dir $@)"; \
+@HAVE_GNOME_DOC_UTILS_TRUE@ fi
+@HAVE_GNOME_DOC_UTILS_TRUE@ msgfmt -o $@ $<
+
+# FIXME: fix the dependancy
+# FIXME: hook xml2po up
+@HAVE_GNOME_DOC_UTILS_TRUE@$(_DOC_LC_DOCS) : $(_DOC_MOFILES)
+@HAVE_GNOME_DOC_UTILS_TRUE@$(_DOC_LC_DOCS) : $(_DOC_C_DOCS)
+@HAVE_GNOME_DOC_UTILS_TRUE@ if ! test -d $(dir $@); then mkdir $(dir $@); fi
+@HAVE_GNOME_DOC_UTILS_TRUE@ if [ -f "C/$(notdir $@)" ]; then d="../"; else d="$(_DOC_ABS_SRCDIR)/"; fi; \
+@HAVE_GNOME_DOC_UTILS_TRUE@ mo="$(dir $@)$(patsubst %/$(notdir $@),%,$@).mo"; \
+@HAVE_GNOME_DOC_UTILS_TRUE@ if [ -f "$${mo}" ]; then mo="../$${mo}"; else mo="$(_DOC_ABS_SRCDIR)/$${mo}"; fi; \
+@HAVE_GNOME_DOC_UTILS_TRUE@ (cd $(dir $@) && \
+@HAVE_GNOME_DOC_UTILS_TRUE@ $(_xml2po) -m $(_xml2po_mode) -e -t "$${mo}" \
+@HAVE_GNOME_DOC_UTILS_TRUE@ "$${d}C/$(notdir $@)" > $(notdir $@).tmp && \
+@HAVE_GNOME_DOC_UTILS_TRUE@ cp $(notdir $@).tmp $(notdir $@) && rm -f $(notdir $@).tmp)
+@HAVE_GNOME_DOC_UTILS_TRUE@.PHONY: pot
+@HAVE_GNOME_DOC_UTILS_TRUE@pot: $(_DOC_POT)
+@HAVE_GNOME_DOC_UTILS_TRUE@$(_DOC_POT): $(_DOC_C_DOCS_NOENT)
+@HAVE_GNOME_DOC_UTILS_TRUE@ $(_xml2po) -m $(_xml2po_mode) -e -o $@ $^
+
+@HAVE_GNOME_DOC_UTILS_TRUE@$(_DOC_HTML_TOPS): $(_DOC_C_DOCS) $(_DOC_LC_DOCS)
+@HAVE_GNOME_DOC_UTILS_TRUE@ xsltproc -o $@ --xinclude --param db.chunk.chunk_top "false()" --stringparam db.chunk.basename "$(DOC_MODULE)" --stringparam db.chunk.extension ".xhtml" $(_db2html) $(patsubst %.xhtml,%.xml,$@)
+
+################################################################################
+
+@HAVE_GNOME_DOC_UTILS_TRUE@all: \
+@HAVE_GNOME_DOC_UTILS_TRUE@ $(_DOC_C_DOCS) $(_DOC_LC_DOCS) \
+@HAVE_GNOME_DOC_UTILS_TRUE@ $(_DOC_OMF_ALL) $(_DOC_DSK_ALL) \
+@HAVE_GNOME_DOC_UTILS_TRUE@ $(_DOC_HTML_ALL) $(_DOC_POFILES)
+
+################################################################################
+
+@HAVE_GNOME_DOC_UTILS_TRUE@.PHONY: clean-doc-omf clean-doc-dsk clean-doc-lc clean-doc-dir
+
+@HAVE_GNOME_DOC_UTILS_TRUE@clean-doc-omf: ; rm -f $(_DOC_OMF_DB) $(_DOC_OMF_HTML)
+@HAVE_GNOME_DOC_UTILS_TRUE@clean-doc-dsk: ; rm -f $(_DOC_DSK_DB) $(_DOC_DSK_HTML)
+@HAVE_GNOME_DOC_UTILS_TRUE@clean-doc-lc:
+@HAVE_GNOME_DOC_UTILS_TRUE@ rm -f $(_DOC_LC_DOCS)
+@HAVE_GNOME_DOC_UTILS_TRUE@ rm -f $(_DOC_MOFILES)
+@HAVE_GNOME_DOC_UTILS_TRUE@ @list='$(_DOC_POFILES)'; for po in $$list; do \
+@HAVE_GNOME_DOC_UTILS_TRUE@ if ! test "$$po" -ef "$(srcdir)/$$po"; then \
+@HAVE_GNOME_DOC_UTILS_TRUE@ echo "rm -f $$po"; \
+@HAVE_GNOME_DOC_UTILS_TRUE@ rm -f "$$po"; \
+@HAVE_GNOME_DOC_UTILS_TRUE@ fi; \
+@HAVE_GNOME_DOC_UTILS_TRUE@ done
+# .xml2.po.mo cleaning is obsolete as of 0.18.1 and could be removed in 0.20.x
+@HAVE_GNOME_DOC_UTILS_TRUE@ @for lc in C $(_DOC_REAL_LINGUAS); do \
+@HAVE_GNOME_DOC_UTILS_TRUE@ if test -f "$$lc/.xml2po.mo"; then \
+@HAVE_GNOME_DOC_UTILS_TRUE@ echo "rm -f $$lc/.xml2po.mo"; \
+@HAVE_GNOME_DOC_UTILS_TRUE@ rm -f "$$lc/.xml2po.mo"; \
+@HAVE_GNOME_DOC_UTILS_TRUE@ fi; \
+@HAVE_GNOME_DOC_UTILS_TRUE@ done
+@HAVE_GNOME_DOC_UTILS_TRUE@clean-doc-dir: clean-doc-lc
+@HAVE_GNOME_DOC_UTILS_TRUE@ @for lc in C $(_DOC_REAL_LINGUAS); do \
+@HAVE_GNOME_DOC_UTILS_TRUE@ for dir in `find $$lc -depth -type d`; do \
+@HAVE_GNOME_DOC_UTILS_TRUE@ if ! test $$dir -ef $(srcdir)/$$dir; then \
+@HAVE_GNOME_DOC_UTILS_TRUE@ echo "rmdir $$dir"; \
+@HAVE_GNOME_DOC_UTILS_TRUE@ rmdir "$$dir"; \
+@HAVE_GNOME_DOC_UTILS_TRUE@ fi; \
+@HAVE_GNOME_DOC_UTILS_TRUE@ done; \
+@HAVE_GNOME_DOC_UTILS_TRUE@ done
+
+@HAVE_GNOME_DOC_UTILS_TRUE@clean-local: \
+@HAVE_GNOME_DOC_UTILS_TRUE@ $(_clean_omf) $(_clean_dsk) \
+@HAVE_GNOME_DOC_UTILS_TRUE@ $(_clean_lc) $(_clean_dir)
+@HAVE_GNOME_DOC_UTILS_TRUE@distclean-local: \
+@HAVE_GNOME_DOC_UTILS_TRUE@ $(_clean_omf) $(_clean_dsk) \
+@HAVE_GNOME_DOC_UTILS_TRUE@ $(_clean_lc) $(_clean_dir)
+@HAVE_GNOME_DOC_UTILS_TRUE@mostlyclean-local: \
+@HAVE_GNOME_DOC_UTILS_TRUE@ $(_clean_omf) $(_clean_dsk) \
+@HAVE_GNOME_DOC_UTILS_TRUE@ $(_clean_lc) $(_clean_dir)
+@HAVE_GNOME_DOC_UTILS_TRUE@maintainer-clean-local: \
+@HAVE_GNOME_DOC_UTILS_TRUE@ $(_clean_omf) $(_clean_dsk) \
+@HAVE_GNOME_DOC_UTILS_TRUE@ $(_clean_lc) $(_clean_dir)
+
+################################################################################
+
+@HAVE_GNOME_DOC_UTILS_TRUE@.PHONY: dist-doc-docs dist-doc-pages dist-doc-figs dist-doc-omf dist-doc-dsk
+@HAVE_GNOME_DOC_UTILS_TRUE@doc-dist-hook: \
+@HAVE_GNOME_DOC_UTILS_TRUE@ $(if $(DOC_MODULE)$(DOC_ID),dist-doc-docs) \
+@HAVE_GNOME_DOC_UTILS_TRUE@ $(if $(_DOC_C_FIGURES),dist-doc-figs) \
+@HAVE_GNOME_DOC_UTILS_TRUE@ $(if $(_DOC_OMF_IN),dist-doc-omf)
+# $(if $(_DOC_DSK_IN),dist-doc-dsk)
+
+@HAVE_GNOME_DOC_UTILS_TRUE@dist-doc-docs: $(_DOC_C_DOCS) $(_DOC_LC_DOCS) $(_DOC_POFILES)
+@HAVE_GNOME_DOC_UTILS_TRUE@ @for lc in C $(_DOC_REAL_LINGUAS); do \
+@HAVE_GNOME_DOC_UTILS_TRUE@ echo " $(mkinstalldirs) $(distdir)/$$lc"; \
+@HAVE_GNOME_DOC_UTILS_TRUE@ $(mkinstalldirs) "$(distdir)/$$lc"; \
+@HAVE_GNOME_DOC_UTILS_TRUE@ done
+@HAVE_GNOME_DOC_UTILS_TRUE@ @list='$(_DOC_C_DOCS) $(_DOC_LC_DOCS) $(_DOC_POFILES)'; \
+@HAVE_GNOME_DOC_UTILS_TRUE@ for doc in $$list; do \
+@HAVE_GNOME_DOC_UTILS_TRUE@ if test -f "$$doc"; then d=; else d="$(srcdir)/"; fi; \
+@HAVE_GNOME_DOC_UTILS_TRUE@ docdir=`echo $$doc | sed -e 's/^\(.*\/\).*/\1/' -e '/\//!s/.*//'`; \
+@HAVE_GNOME_DOC_UTILS_TRUE@ if ! test -d "$(distdir)/$$docdir"; then \
+@HAVE_GNOME_DOC_UTILS_TRUE@ echo "$(mkinstalldirs) $(distdir)/$$docdir"; \
+@HAVE_GNOME_DOC_UTILS_TRUE@ $(mkinstalldirs) "$(distdir)/$$docdir"; \
+@HAVE_GNOME_DOC_UTILS_TRUE@ fi; \
+@HAVE_GNOME_DOC_UTILS_TRUE@ echo "$(INSTALL_DATA) $$d$$doc $(distdir)/$$doc"; \
+@HAVE_GNOME_DOC_UTILS_TRUE@ $(INSTALL_DATA) "$$d$$doc" "$(distdir)/$$doc"; \
+@HAVE_GNOME_DOC_UTILS_TRUE@ done
+
+@HAVE_GNOME_DOC_UTILS_TRUE@dist-doc-figs: $(_DOC_SRC_FIGURES)
+@HAVE_GNOME_DOC_UTILS_TRUE@ @list='$(_DOC_C_FIGURES) $(_DOC_LC_FIGURES)'; \
+@HAVE_GNOME_DOC_UTILS_TRUE@ for fig in $$list; do \
+@HAVE_GNOME_DOC_UTILS_TRUE@ if test -f "$$fig"; then d=; else d="$(srcdir)/"; fi; \
+@HAVE_GNOME_DOC_UTILS_TRUE@ if test -f "$$d$$fig"; then \
+@HAVE_GNOME_DOC_UTILS_TRUE@ figdir=`echo $$fig | sed -e 's/^\(.*\/\).*/\1/' -e '/\//!s/.*//'`; \
+@HAVE_GNOME_DOC_UTILS_TRUE@ if ! test -d "$(distdir)/$$figdir"; then \
+@HAVE_GNOME_DOC_UTILS_TRUE@ echo "$(mkinstalldirs) $(distdir)/$$figdir"; \
+@HAVE_GNOME_DOC_UTILS_TRUE@ $(mkinstalldirs) "$(distdir)/$$figdir"; \
+@HAVE_GNOME_DOC_UTILS_TRUE@ fi; \
+@HAVE_GNOME_DOC_UTILS_TRUE@ echo "$(INSTALL_DATA) $$d$$fig $(distdir)/$$fig"; \
+@HAVE_GNOME_DOC_UTILS_TRUE@ $(INSTALL_DATA) "$$d$$fig" "$(distdir)/$$fig"; \
+@HAVE_GNOME_DOC_UTILS_TRUE@ fi; \
+@HAVE_GNOME_DOC_UTILS_TRUE@ done;
+
+@HAVE_GNOME_DOC_UTILS_TRUE@dist-doc-omf:
+@HAVE_GNOME_DOC_UTILS_TRUE@ @if test -f "$(_DOC_OMF_IN)"; then d=; else d="$(srcdir)/"; fi; \
+@HAVE_GNOME_DOC_UTILS_TRUE@ echo "$(INSTALL_DATA) $$d$(_DOC_OMF_IN) $(distdir)/$(notdir $(_DOC_OMF_IN))"; \
+@HAVE_GNOME_DOC_UTILS_TRUE@ $(INSTALL_DATA) "$$d$(_DOC_OMF_IN)" "$(distdir)/$(notdir $(_DOC_OMF_IN))"
+
+@HAVE_GNOME_DOC_UTILS_TRUE@dist-doc-dsk:
+@HAVE_GNOME_DOC_UTILS_TRUE@ @if test -f "$(_DOC_DSK_IN)"; then d=; else d="$(srcdir)/"; fi; \
+@HAVE_GNOME_DOC_UTILS_TRUE@ echo "$(INSTALL_DATA) $$d$(_DOC_DSK_IN) $(distdir)/$(notdir $(_DOC_DSK_IN))"; \
+@HAVE_GNOME_DOC_UTILS_TRUE@ $(INSTALL_DATA) "$$d$(_DOC_DSK_IN)" "$(distdir)/$(notdir $(_DOC_DSK_IN))"
+
+################################################################################
+
+@HAVE_GNOME_DOC_UTILS_TRUE@.PHONY: check-doc-docs check-doc-omf
+@HAVE_GNOME_DOC_UTILS_TRUE@check: \
+@HAVE_GNOME_DOC_UTILS_TRUE@ $(if $(DOC_MODULE),check-doc-docs) \
+@HAVE_GNOME_DOC_UTILS_TRUE@ $(if $(DOC_ID),check-doc-pages) \
+@HAVE_GNOME_DOC_UTILS_TRUE@ $(if $(_DOC_OMF_IN),check-doc-omf)
+
+@HAVE_GNOME_DOC_UTILS_TRUE@check-doc-docs: $(_DOC_C_DOCS) $(_DOC_LC_DOCS)
+@HAVE_GNOME_DOC_UTILS_TRUE@ @for lc in C $(_DOC_REAL_LINGUAS); do \
+@HAVE_GNOME_DOC_UTILS_TRUE@ if test -f "$$lc"; \
+@HAVE_GNOME_DOC_UTILS_TRUE@ then d=; \
+@HAVE_GNOME_DOC_UTILS_TRUE@ xmlpath="$$lc"; \
+@HAVE_GNOME_DOC_UTILS_TRUE@ else \
+@HAVE_GNOME_DOC_UTILS_TRUE@ d="$(srcdir)/"; \
+@HAVE_GNOME_DOC_UTILS_TRUE@ xmlpath="$$lc:$(srcdir)/$$lc"; \
+@HAVE_GNOME_DOC_UTILS_TRUE@ fi; \
+@HAVE_GNOME_DOC_UTILS_TRUE@ echo "xmllint --noout --noent --path $$xmlpath --xinclude --postvalid $$d$$lc/$(DOC_MODULE).xml"; \
+@HAVE_GNOME_DOC_UTILS_TRUE@ xmllint --noout --noent --path "$$xmlpath" --xinclude --postvalid "$$d$$lc/$(DOC_MODULE).xml"; \
+@HAVE_GNOME_DOC_UTILS_TRUE@ done
+
+@HAVE_GNOME_DOC_UTILS_TRUE@check-doc-pages: $(_DOC_C_PAGES) $(_DOC_LC_PAGES)
+@HAVE_GNOME_DOC_UTILS_TRUE@ for lc in C $(_DOC_REAL_LINGUAS); do \
+@HAVE_GNOME_DOC_UTILS_TRUE@ if test -f "$$lc"; \
+@HAVE_GNOME_DOC_UTILS_TRUE@ then d=; \
+@HAVE_GNOME_DOC_UTILS_TRUE@ xmlpath="$$lc"; \
+@HAVE_GNOME_DOC_UTILS_TRUE@ else \
+@HAVE_GNOME_DOC_UTILS_TRUE@ d="$(srcdir)/"; \
+@HAVE_GNOME_DOC_UTILS_TRUE@ xmlpath="$$lc:$(srcdir)/$$lc"; \
+@HAVE_GNOME_DOC_UTILS_TRUE@ fi; \
+@HAVE_GNOME_DOC_UTILS_TRUE@ for page in $(DOC_PAGES); do \
+@HAVE_GNOME_DOC_UTILS_TRUE@ echo "xmllint --noout --noent --path $$xmlpath --xinclude --relaxng $(_malrng) $$d$$lc/$$page"; \
+@HAVE_GNOME_DOC_UTILS_TRUE@ xmllint --noout --noent --path "$$xmlpath" --xinclude --relaxng "$(_malrng)" "$$d$$lc/$$page"; \
+@HAVE_GNOME_DOC_UTILS_TRUE@ done; \
+@HAVE_GNOME_DOC_UTILS_TRUE@ done
+
+@HAVE_GNOME_DOC_UTILS_TRUE@check-doc-omf: $(_DOC_OMF_ALL)
+@HAVE_GNOME_DOC_UTILS_TRUE@ @list='$(_DOC_OMF_ALL)'; for omf in $$list; do \
+@HAVE_GNOME_DOC_UTILS_TRUE@ echo "xmllint --noout --xinclude --dtdvalid 'http://scrollkeeper.sourceforge.net/dtds/scrollkeeper-omf-1.0/scrollkeeper-omf.dtd' $$omf"; \
+@HAVE_GNOME_DOC_UTILS_TRUE@ xmllint --noout --xinclude --dtdvalid 'http://scrollkeeper.sourceforge.net/dtds/scrollkeeper-omf-1.0/scrollkeeper-omf.dtd' $$omf; \
+@HAVE_GNOME_DOC_UTILS_TRUE@ done
+
+################################################################################
+
+@HAVE_GNOME_DOC_UTILS_TRUE@.PHONY: install-doc-docs install-doc-html install-doc-figs install-doc-omf install-doc-dsk
+
+@HAVE_GNOME_DOC_UTILS_TRUE@install-data-local: \
+@HAVE_GNOME_DOC_UTILS_TRUE@ $(if $(DOC_MODULE)$(DOC_ID),install-doc-docs) \
+@HAVE_GNOME_DOC_UTILS_TRUE@ $(if $(_DOC_HTML_ALL),install-doc-html) \
+@HAVE_GNOME_DOC_UTILS_TRUE@ $(if $(_DOC_C_FIGURES),install-doc-figs) \
+@HAVE_GNOME_DOC_UTILS_TRUE@ $(if $(_DOC_OMF_IN),install-doc-omf)
+# $(if $(_DOC_DSK_IN),install-doc-dsk)
+
+@HAVE_GNOME_DOC_UTILS_TRUE@install-doc-docs:
+@HAVE_GNOME_DOC_UTILS_TRUE@ @for lc in C $(_DOC_REAL_LINGUAS); do \
+@HAVE_GNOME_DOC_UTILS_TRUE@ echo "$(mkinstalldirs) $(DESTDIR)$(HELP_DIR)/$(_doc_install_dir)/$$lc"; \
+@HAVE_GNOME_DOC_UTILS_TRUE@ $(mkinstalldirs) $(DESTDIR)$(HELP_DIR)/$(_doc_install_dir)/$$lc; \
+@HAVE_GNOME_DOC_UTILS_TRUE@ done
+@HAVE_GNOME_DOC_UTILS_TRUE@ @list='$(_DOC_C_DOCS) $(_DOC_LC_DOCS)'; for doc in $$list; do \
+@HAVE_GNOME_DOC_UTILS_TRUE@ if test -f "$$doc"; then d=; else d="$(srcdir)/"; fi; \
+@HAVE_GNOME_DOC_UTILS_TRUE@ docdir="$$lc/"`echo $$doc | sed -e 's/^\(.*\/\).*/\1/' -e '/\//!s/.*//'`; \
+@HAVE_GNOME_DOC_UTILS_TRUE@ docdir="$(DESTDIR)$(HELP_DIR)/$(_doc_install_dir)/$$docdir"; \
+@HAVE_GNOME_DOC_UTILS_TRUE@ if ! test -d "$$docdir"; then \
+@HAVE_GNOME_DOC_UTILS_TRUE@ echo "$(mkinstalldirs) $$docdir"; \
+@HAVE_GNOME_DOC_UTILS_TRUE@ $(mkinstalldirs) "$$docdir"; \
+@HAVE_GNOME_DOC_UTILS_TRUE@ fi; \
+@HAVE_GNOME_DOC_UTILS_TRUE@ echo "$(INSTALL_DATA) $$d$$doc $(DESTDIR)$(HELP_DIR)/$(_doc_install_dir)/$$doc"; \
+@HAVE_GNOME_DOC_UTILS_TRUE@ $(INSTALL_DATA) $$d$$doc $(DESTDIR)$(HELP_DIR)/$(_doc_install_dir)/$$doc; \
+@HAVE_GNOME_DOC_UTILS_TRUE@ done
+
+@HAVE_GNOME_DOC_UTILS_TRUE@install-doc-figs:
+@HAVE_GNOME_DOC_UTILS_TRUE@ @list='$(patsubst C/%,%,$(_DOC_C_FIGURES))'; for fig in $$list; do \
+@HAVE_GNOME_DOC_UTILS_TRUE@ for lc in C $(_DOC_REAL_LINGUAS); do \
+@HAVE_GNOME_DOC_UTILS_TRUE@ figsymlink=false; \
+@HAVE_GNOME_DOC_UTILS_TRUE@ if test -f "$$lc/$$fig"; then \
+@HAVE_GNOME_DOC_UTILS_TRUE@ figfile="$$lc/$$fig"; \
+@HAVE_GNOME_DOC_UTILS_TRUE@ elif test -f "$(srcdir)/$$lc/$$fig"; then \
+@HAVE_GNOME_DOC_UTILS_TRUE@ figfile="$(srcdir)/$$lc/$$fig"; \
+@HAVE_GNOME_DOC_UTILS_TRUE@ else \
+@HAVE_GNOME_DOC_UTILS_TRUE@ figsymlink=true; \
+@HAVE_GNOME_DOC_UTILS_TRUE@ fi; \
+@HAVE_GNOME_DOC_UTILS_TRUE@ figdir="$$lc/"`echo $$fig | sed -e 's/^\(.*\/\).*/\1/' -e '/\//!s/.*//'`; \
+@HAVE_GNOME_DOC_UTILS_TRUE@ figdir="$(DESTDIR)$(HELP_DIR)/$(_doc_install_dir)/$$figdir"; \
+@HAVE_GNOME_DOC_UTILS_TRUE@ if ! test -d "$$figdir"; then \
+@HAVE_GNOME_DOC_UTILS_TRUE@ echo "$(mkinstalldirs) $$figdir"; \
+@HAVE_GNOME_DOC_UTILS_TRUE@ $(mkinstalldirs) "$$figdir"; \
+@HAVE_GNOME_DOC_UTILS_TRUE@ fi; \
+@HAVE_GNOME_DOC_UTILS_TRUE@ figbase=`echo $$fig | sed -e 's/^.*\///'`; \
+@HAVE_GNOME_DOC_UTILS_TRUE@ if $$figsymlink; then \
+@HAVE_GNOME_DOC_UTILS_TRUE@ echo "cd $$figdir && $(LN_S) -f ../../C/$$fig $$figbase"; \
+@HAVE_GNOME_DOC_UTILS_TRUE@ ( cd "$$figdir" && $(LN_S) -f "../../C/$$fig" "$$figbase" ); \
+@HAVE_GNOME_DOC_UTILS_TRUE@ else \
+@HAVE_GNOME_DOC_UTILS_TRUE@ echo "$(INSTALL_DATA) $$figfile $$figdir$$figbase"; \
+@HAVE_GNOME_DOC_UTILS_TRUE@ $(INSTALL_DATA) "$$figfile" "$$figdir$$figbase"; \
+@HAVE_GNOME_DOC_UTILS_TRUE@ fi; \
+@HAVE_GNOME_DOC_UTILS_TRUE@ done; \
+@HAVE_GNOME_DOC_UTILS_TRUE@ done
+
+@HAVE_GNOME_DOC_UTILS_TRUE@install-doc-html:
+@HAVE_GNOME_DOC_UTILS_TRUE@ echo install-html
+
+@HAVE_GNOME_DOC_UTILS_TRUE@install-doc-omf:
+@HAVE_GNOME_DOC_UTILS_TRUE@ $(mkinstalldirs) $(DESTDIR)$(OMF_DIR)/$(_doc_install_dir)
+@HAVE_GNOME_DOC_UTILS_TRUE@ @list='$(_DOC_OMF_ALL)'; for omf in $$list; do \
+@HAVE_GNOME_DOC_UTILS_TRUE@ echo "$(INSTALL_DATA) $$omf $(DESTDIR)$(OMF_DIR)/$(_doc_install_dir)/$$omf"; \
+@HAVE_GNOME_DOC_UTILS_TRUE@ $(INSTALL_DATA) $$omf $(DESTDIR)$(OMF_DIR)/$(_doc_install_dir)/$$omf; \
+@HAVE_GNOME_DOC_UTILS_TRUE@ done
+@HAVE_GNOME_DOC_UTILS_TRUE@ @if test "x$(_ENABLE_SK)" = "xtrue"; then \
+@HAVE_GNOME_DOC_UTILS_TRUE@ echo "scrollkeeper-update -p $(DESTDIR)$(_sklocalstatedir) -o $(DESTDIR)$(OMF_DIR)/$(_doc_install_dir)"; \
+@HAVE_GNOME_DOC_UTILS_TRUE@ scrollkeeper-update -p "$(DESTDIR)$(_sklocalstatedir)" -o "$(DESTDIR)$(OMF_DIR)/$(_doc_install_dir)"; \
+@HAVE_GNOME_DOC_UTILS_TRUE@ fi;
+
+@HAVE_GNOME_DOC_UTILS_TRUE@install-doc-dsk:
+@HAVE_GNOME_DOC_UTILS_TRUE@ echo install-dsk
+
+################################################################################
+
+@HAVE_GNOME_DOC_UTILS_TRUE@.PHONY: uninstall-doc-docs uninstall-doc-html uninstall-doc-figs uninstall-doc-omf uninstall-doc-dsk
+@HAVE_GNOME_DOC_UTILS_TRUE@uninstall-local: \
+@HAVE_GNOME_DOC_UTILS_TRUE@ $(if $(DOC_MODULE)$(DOC_ID),uninstall-doc-docs) \
+@HAVE_GNOME_DOC_UTILS_TRUE@ $(if $(_DOC_HTML_ALL),uninstall-doc-html) \
+@HAVE_GNOME_DOC_UTILS_TRUE@ $(if $(_DOC_C_FIGURES),uninstall-doc-figs) \
+@HAVE_GNOME_DOC_UTILS_TRUE@ $(if $(_DOC_OMF_IN),uninstall-doc-omf)
+# $(if $(_DOC_DSK_IN),uninstall-doc-dsk)
+
+@HAVE_GNOME_DOC_UTILS_TRUE@uninstall-doc-docs:
+@HAVE_GNOME_DOC_UTILS_TRUE@ @list='$(_DOC_C_DOCS) $(_DOC_LC_DOCS)'; for doc in $$list; do \
+@HAVE_GNOME_DOC_UTILS_TRUE@ echo " rm -f $(DESTDIR)$(HELP_DIR)/$(_doc_install_dir)/$$doc"; \
+@HAVE_GNOME_DOC_UTILS_TRUE@ rm -f "$(DESTDIR)$(HELP_DIR)/$(_doc_install_dir)/$$doc"; \
+@HAVE_GNOME_DOC_UTILS_TRUE@ done
+
+@HAVE_GNOME_DOC_UTILS_TRUE@uninstall-doc-figs:
+@HAVE_GNOME_DOC_UTILS_TRUE@ @list='$(_DOC_C_FIGURES) $(_DOC_LC_FIGURES)'; for fig in $$list; do \
+@HAVE_GNOME_DOC_UTILS_TRUE@ echo "rm -f $(DESTDIR)$(HELP_DIR)/$(_doc_install_dir)/$$fig"; \
+@HAVE_GNOME_DOC_UTILS_TRUE@ rm -f "$(DESTDIR)$(HELP_DIR)/$(_doc_install_dir)/$$fig"; \
+@HAVE_GNOME_DOC_UTILS_TRUE@ done;
+
+@HAVE_GNOME_DOC_UTILS_TRUE@uninstall-doc-omf:
+@HAVE_GNOME_DOC_UTILS_TRUE@ @list='$(_DOC_OMF_ALL)'; for omf in $$list; do \
+@HAVE_GNOME_DOC_UTILS_TRUE@ if test "x$(_ENABLE_SK)" = "xtrue"; then \
+@HAVE_GNOME_DOC_UTILS_TRUE@ echo "scrollkeeper-uninstall -p $(_sklocalstatedir) $(DESTDIR)$(OMF_DIR)/$(_doc_install_dir)/$$omf"; \
+@HAVE_GNOME_DOC_UTILS_TRUE@ scrollkeeper-uninstall -p "$(_sklocalstatedir)" "$(DESTDIR)$(OMF_DIR)/$(_doc_install_dir)/$$omf"; \
+@HAVE_GNOME_DOC_UTILS_TRUE@ fi; \
+@HAVE_GNOME_DOC_UTILS_TRUE@ echo "rm -f $(DESTDIR)$(OMF_DIR)/$(_doc_install_dir)/$$omf"; \
+@HAVE_GNOME_DOC_UTILS_TRUE@ rm -f "$(DESTDIR)$(OMF_DIR)/$(_doc_install_dir)/$$omf"; \
+@HAVE_GNOME_DOC_UTILS_TRUE@ done
+@HAVE_GNOME_DOC_UTILS_TRUE@dist-hook: doc-dist-hook
+@HAVE_GNOME_DOC_UTILS_FALSE@dist-hook:
+@HAVE_GNOME_DOC_UTILS_FALSE@ @echo "*** gnome-doc-utils must be installed and enabled in order to make dist"
+@HAVE_GNOME_DOC_UTILS_FALSE@ @false
+
+-include $(top_srcdir)/git.mk
+
+# 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:
--- /dev/null
+# translation of bn_IN.po to Bengali INDIA
+# Runa Bhattacharjee <runab@redhat.com>, 2010.
+msgid ""
+msgstr ""
+"Project-Id-Version: bn_IN\n"
+"POT-Creation-Date: 2010-01-27 10:26+0000\n"
+"PO-Revision-Date: 2010-02-02 15:40+0530\n"
+"Last-Translator: Runa Bhattacharjee <runab@redhat.com>\n"
+"Language-Team: Bengali INDIA <anubad@lists.ankur.org.in>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.11.4\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: C/gtk-doc-manual.xml:12(title)
+msgid "GTK-Doc Manual"
+msgstr "GTK-Doc সহায়িকা"
+
+#: C/gtk-doc-manual.xml:13(edition) C/gtk-doc-manual.xml:92(revnumber)
+msgid "1.12"
+msgstr "১.১২"
+
+#: C/gtk-doc-manual.xml:14(para)
+msgid "User manual for developers with instructions of GTK-Doc usage."
+msgstr "GTK-Doc ব্যবহারের নির্দেশাবলী সহ, ডিভেলপরদের উদ্দেশ্যে নির্মিত সহায়িকা।"
+
+#: C/gtk-doc-manual.xml:17(firstname)
+msgid "Chris"
+msgstr "ক্রিস"
+
+#: C/gtk-doc-manual.xml:18(surname)
+msgid "Lyttle"
+msgstr "লিটল"
+
+#: C/gtk-doc-manual.xml:21(email)
+msgid "chris@wilddev.net"
+msgstr "chris@wilddev.net"
+
+#: C/gtk-doc-manual.xml:26(firstname)
+msgid "Dan"
+msgstr "ড্যান"
+
+#: C/gtk-doc-manual.xml:27(surname)
+msgid "Mueth"
+msgstr "মুয়েথ"
+
+#: C/gtk-doc-manual.xml:30(email)
+msgid "d-mueth@uchicago.edu"
+msgstr "d-mueth@uchicago.edu"
+
+#: C/gtk-doc-manual.xml:35(firstname)
+msgid "Stefan"
+msgstr "স্টেফান"
+
+#: C/gtk-doc-manual.xml:36(surname)
+msgid "Kost"
+msgstr "কোস্ট"
+
+#: C/gtk-doc-manual.xml:39(email)
+msgid "ensonic@users.sf.net"
+msgstr "ensonic@users.sf.net"
+
+#: C/gtk-doc-manual.xml:45(publishername)
+msgid "GTK-Doc project"
+msgstr "GTK-Doc প্রজেক্ট"
+
+#: C/gtk-doc-manual.xml:46(email)
+msgid "gtk-doc-list@gnome.org"
+msgstr "gtk-doc-list@gnome.org"
+
+#: C/gtk-doc-manual.xml:49(year)
+msgid "2000, 2005, 2007-2009"
+msgstr "২০০০, ২০০৫, ২০০৭-২০০৯"
+
+#: C/gtk-doc-manual.xml:50(holder)
+msgid "Dan Mueth and Chris Lyttle and Stefan Kost"
+msgstr "ড্যান মুয়েথ ও ক্রিস লিটল ও স্টেফান কোস্ট"
+
+#: C/gtk-doc-manual.xml:61(para)
+msgid "Permission is granted to copy, distribute and/or modify this document under the terms of the <citetitle>GNU Free Documentation License</citetitle>, Version 1.1 or any later version published by the Free Software Foundation with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is <link linkend=\"fdl\">included</link>."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:69(para)
+msgid "Many of the names used by companies to distinguish their products and services are claimed as trademarks. Where those names appear in any GNOME documentation, and those trademarks are made aware to the members of the GNOME Documentation Project, the names have been printed in caps or initial caps."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:80(revnumber)
+msgid "1.14"
+msgstr "১.১৪"
+
+#: C/gtk-doc-manual.xml:81(date)
+msgid "19 December 2009"
+msgstr "১৯ ডিসেম্বর ২০০৯"
+
+#: C/gtk-doc-manual.xml:82(authorinitials) C/gtk-doc-manual.xml:88(authorinitials) C/gtk-doc-manual.xml:94(authorinitials)
+msgid "sk"
+msgstr "sk"
+
+#: C/gtk-doc-manual.xml:83(revremark)
+msgid "development version"
+msgstr "ডিভেলপমেন্ট সংস্করণ"
+
+#: C/gtk-doc-manual.xml:86(revnumber)
+msgid "1.13"
+msgstr "১.১৩"
+
+#: C/gtk-doc-manual.xml:87(date) C/gtk-doc-manual.xml:93(date)
+msgid "18 December 2009"
+msgstr "১৮ ডিসেম্বর ২০০৯"
+
+#: C/gtk-doc-manual.xml:89(revremark)
+msgid "broken tarball update"
+msgstr "ক্ষতিগ্রস্ত tarball আপডেট করা হয়েছে"
+
+#: C/gtk-doc-manual.xml:95(revremark)
+msgid "new tool features and bugfixes"
+msgstr "নতুন সরঞ্জামের বৈশিষ্ট্য ও সংশোধিত বাগের তথ্য"
+
+#: C/gtk-doc-manual.xml:98(revnumber)
+msgid "1.11"
+msgstr "১.১১"
+
+#: C/gtk-doc-manual.xml:99(date)
+msgid "16 Novemebr 2008"
+msgstr "১৬ ডিসেম্বর ২০০৯"
+
+#: C/gtk-doc-manual.xml:100(authorinitials)
+msgid "mal"
+msgstr "mal"
+
+#: C/gtk-doc-manual.xml:101(revremark)
+msgid "GNOME doc-utils migration"
+msgstr "GNOME doc-utils মাইগ্রেশন"
+
+#: C/gtk-doc-manual.xml:110(title)
+msgid "Introduction"
+msgstr "ভূমিকা"
+
+#: C/gtk-doc-manual.xml:112(para)
+msgid "This chapter introduces GTK-Doc and gives an overview of what it is and how it is used."
+msgstr "এই অধ্যায়ে GTK-Doc সম্বন্ধে প্রারম্ভিক তথ্য ও এটির ব্যবহার ও মূল বিষয়বস্তু সম্পর্কে তথ্য উপস্থিত করা হয়েছে।"
+
+#: C/gtk-doc-manual.xml:118(title)
+msgid "What is GTK-Doc?"
+msgstr "GTK-Doc কী?"
+
+#: C/gtk-doc-manual.xml:120(para)
+msgid "GTK-Doc is used to document C code. It is typically used to document the public API of libraries, such as the GTK+ and GNOME libraries. But it can also be used to document application code."
+msgstr "GTK-Doc-র সাহায্যে C কোডের জন্য নথি তৈরি করা হয়। বিভিন্ন লাইব্রেরি যেমন GTK+ ও GNOME লাইব্রেরির পাবলিক API সম্বন্ধীয় নথি তৈরি করার জন্য এটি ব্যবহৃত হয়। অ্যাপ্লিকেশনের কোড সম্পর্কিত তথ্য লেখার জন্যও এটি ব্যবহার করা হয়।"
+
+#: C/gtk-doc-manual.xml:128(title)
+msgid "How Does GTK-Doc Work?"
+msgstr "GTK-Doc কীভাবে ব্যবহার করা যাবে?"
+
+#: C/gtk-doc-manual.xml:130(para)
+msgid "GTK-Doc works by using documentation of functions placed inside the source files in specially-formatted comment blocks, or documentation added to the template files which GTK-Doc uses (though note that GTK-Doc will only document functions that are declared in header files; it won't produce output for static functions)."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:137(para)
+msgid "GTK-Doc consists of a number of perl scripts, each performing a different step in the process."
+msgstr "GTK-Doc-র মধ্যে অনেকগুলি perl স্ক্রিপ্ট উপস্থিত রয়েছে ও প্রতিটি স্ক্রিপ্ট দ্বারা সম্পর্ণ প্রক্রিয়ার একটি ভিন্ন ধাপের কর্ম সঞ্চালন করা হয়।"
+
+#: C/gtk-doc-manual.xml:142(para)
+msgid "There are 5 main steps in the process:"
+msgstr "এই প্রক্রিয়ার মধ্যে ৫-টি প্রধান ধাপ উপস্থিত রয়েছে:"
+
+#: C/gtk-doc-manual.xml:149(para)
+msgid "<guilabel>Writing the documentation.</guilabel> The author fills in the source files with the documentation for each function, macro, union etc. (In the past information was entered in generated template files, which is not recommended anymore)."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:159(para)
+msgid "<guilabel>Gathering information about the code.</guilabel><application>gtkdoc-scan</application> scans the header files of the code looking for declarations of functions, macros, enums, structs, and unions. It creates the file <filename><module>-decl-list.txt</filename> containg a list of the declarations, placing them into sections according to which header file they are in. On the first run this file is copied to <filename><module>-sections.txt</filename> The author can rearrange the sections, and the order of the declarations within them, to produce the final desired order. The second file it generates is <filename><module>-decl.txt</filename>. This file contains the full declarations found by the scanner. If for some reason one would like some sybols to show up in the docs, where the full declaration cannot be found by th scanner or the declaration should appear differently, one can place enties similar to the ones in <filename><module>-decl.txt</filename> into <filename><module>-overrides.txt</filename>. <application>gtkdoc-scanobj</application> can also be used to dynamically query a library about any GtkObject subclasses it exports. It saves information about each object's position in the class hierarchy and about any GTK Args and Signals it provides."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:184(para)
+msgid "<guilabel>Generating the \"template\" files.</guilabel><application>gtkdoc-mktmpl</application> creates a number of files in the <filename class=\"directory\">tmpl/</filename> subdirectory, using the information gathered in the first step. (Note that this can be run repeatedly. It will try to ensure that no documentation is ever lost.)"
+msgstr "<guilabel>\"template\" ফাইল নির্মাণ।</guilabel> প্রথম ধাপে সংগ্রহ করা তথ্যের ভিত্তিতে <application>gtkdoc-mktmpl</application> দ্বারা <filename class=\"directory\">tmpl/</filename> সাব-ডিরেক্টরির মধ্যে বেশ কয়েকটি ফাইল নির্মাণ করা হয়। (উল্লেখ্য, কোনো নথিপত্র হারিয়ে না ফেলার লক্ষ্যে, এই কাজটি পুনরাবৃত্তি করা হতে পারে।)"
+
+#: C/gtk-doc-manual.xml:193(para)
+msgid "Since GTK-Doc 1.9 the templates can be avoided. We encourage people to keep documentation in the code. <application>gtkdocize</application> supports now a <option>--flavour no-tmpl</option> option that chooses a makefile that skips tmpl usage totally. If you have never changed file in tmpl by hand, please remove the dir (e.g. from version control system)."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:205(para)
+msgid "<guilabel>Generating the SGML/XML and HTML/PDF.</guilabel><application>gtkdoc-mkdb</application> turns the template files into SGML or XML files in the <filename class=\"directory\">sgml/</filename> or <filename class=\"directory\">xml/</filename> subdirectory. If the source code contains documentation on functions, using the special comment blocks, it gets merged in here. If there are no tmpl files used it only reads takes docs from sources and introspection data."
+msgstr "<guilabel>SGML/XML ও HTML/PDF নির্মাণের প্রণালী।</guilabel> <filename class=\"directory\">sgml/</filename> অথবা <filename class=\"directory\">xml/</filename> সাব-ডিরেক্টরির মধ্যে উপস্থিত SGML অথবা XML ফাইলগুলিকে <application>gtkdoc-mkdb</application> দ্বারা টেমপ্লেট ফাইল রূপে পরিবর্তন করা হয়। সোর্স কোডের মধ্যে ফাংশান সংক্রান্ত নতিপত্র উপস্থিত থাকলে, বিশেষ কমেন্ট ব্লক প্রয়োগ করে সংশ্লিষ্ট অংশগুলি এইখানে অন্তর্ভুক্ত করা হয়। কোনো tmpl ফাইল ব্যবহার না করা হলে, শুধুমাত্র সোর্স থেকে নথি ও বিশ্লেষণের তথ্য সংগ্রহ করা হয়।"
+
+#: C/gtk-doc-manual.xml:215(para)
+msgid "<application>gtkdoc-mkhtml</application> turns the SGML/XML files into HTML files in the <filename class=\"directory\">html/</filename> subdirectory. Likewise <application>gtkdoc-mkpdf</application> turns the SGML/XML files into a PDF docuemnt called <filename><package>.pdf</filename>."
+msgstr "<application>gtkdoc-mkhtml</application> দ্বারা SGML/XML ফাইলগুলিকে HTML <filename class=\"directory\">html/</filename> সাব-ডিরেক্টরির মধ্যে HTML ফাইল রূপে পরিবর্তন করা হয়। একই পদ্ধতিতে <application>gtkdoc-mkpdf</application> দ্বারা SGML/XML ফাইলগুলিকে PDF <filename><package>.pdf</filename> নামক একটি PDF নথিতে রূপান্তর করা হয়।"
+
+#: C/gtk-doc-manual.xml:221(para)
+msgid "Files in <filename class=\"directory\">sgml/</filename> or <filename class=\"directory\">xml/</filename> and <filename class=\"directory\">html/</filename> directories are always overwritten. One should never edit them directly."
+msgstr "<filename class=\"directory\">sgml/</filename> অথবা <filename class=\"directory\">xml/</filename> ও <filename class=\"directory\">html/</filename> ডিরেক্টরির মধ্যে উপস্থিত ফাইলগুলি সর্বদা নতুন করে লেখা হবে। এই ফাইলগুলি সরাসরি পরিবর্তন করা উচিত নয়।"
+
+#: C/gtk-doc-manual.xml:229(para)
+msgid "<guilabel>Fixing up cross-references between documents.</guilabel> After installing the HTML files, <application>gtkdoc-fixxref</application> can be run to fix up any cross-references between separate documents. For example, the GTK+ documentation contains many cross-references to types documented in the GLib manual. When creating the source tarball for distribution, <application>gtkdoc-rebase</application> turns all external links into web-links. When installing distributed (pregenerated) docs the same application will try to turn links back to local links (where those docs are installed)."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:247(title)
+msgid "Getting GTK-Doc"
+msgstr "GTK-Doc প্রাপ্ত করার প্রণালী"
+
+#: C/gtk-doc-manual.xml:250(title)
+msgid "Requirements"
+msgstr "আবশ্যক মান"
+
+#: C/gtk-doc-manual.xml:251(para)
+msgid "<guilabel>Perl v5</guilabel> - the main scripts are in Perl."
+msgstr "<guilabel>Perl v5</guilabel> - প্রধান স্ক্রিপ্টগুলি Perl-এ লেখা হয়েছে।"
+
+#: C/gtk-doc-manual.xml:254(para)
+msgid "<guilabel>DocBook DTD v3.0</guilabel> - This is the DocBook SGML DTD. <ulink url=\"http://www.ora.com/davenport\" type=\"http\">http://www.ora.com/davenport</ulink>"
+msgstr "<guilabel>DocBook DTD v3.0</guilabel> - এটি DocBook SGML DTD। <ulink url=\"http://www.ora.com/davenport\" type=\"http\">http://www.ora.com/davenport</ulink>"
+
+#: C/gtk-doc-manual.xml:258(para)
+msgid "<guilabel>Jade v1.1</guilabel> - This is a DSSSL processor for converting SGML to various formats. <ulink url=\"http://www.jclark.com/jade\" type=\"http\">http://www.jclark.com/jade</ulink>"
+msgstr "<guilabel>Jade v1.1</guilabel> - SGML-কে বিভিন্ন বিন্যাসে পরিবর্তনের জন্য ব্যবহৃত এটি একটি DSSSL প্রসেসর। <ulink url=\"http://www.jclark.com/jade\" type=\"http\">http://www.jclark.com/jade</ulink>"
+
+#: C/gtk-doc-manual.xml:262(para)
+msgid "<guilabel>Modular DocBook Stylesheets</guilabel> This is the DSSSL code to convert DocBook to HTML (and a few other formats). It's used together with jade. I've customized the DSSSL code slightly, in gtk-doc.dsl, to colour the program code listings/declarations, and to support global cross-reference indices in the generated HTML. <ulink url=\"http://nwalsh.com/docbook/dsssl\" type=\"http\">http://nwalsh.com/docbook/dsssl</ulink>"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:271(para)
+msgid "<guilabel>docbook-to-man</guilabel> - if you want to create man pages from the DocBook. I've customized the 'translation spec' slightly, to capitalise section headings and add the 'GTK Library' title at the top of the pages and the revision date at the bottom. There is a link to this on <ulink url=\"http://www.ora.com/davenport\" type=\"http\">http://www.ora.com/davenport</ulink> NOTE: This does not work yet."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:282(title)
+msgid "Installation"
+msgstr "ইনস্টলেশনের প্রণালী"
+
+#: C/gtk-doc-manual.xml:283(para)
+msgid "There is no standard place where the DocBook Modular Stylesheets are installed."
+msgstr "DocBook মডিউলার স্টাইল-শিট ইনস্টল করার কোনো প্রমিত স্থান উপস্থিত নেই।"
+
+#: C/gtk-doc-manual.xml:286(para)
+msgid "GTK-Doc's configure script searches these 3 directories automatically:"
+msgstr "GTK-Doc-র কনফিগার স্ক্রিপ্ট দ্বারা স্বয়ংক্রিয়ভাবে নিম্নলিখিত তিনটি ডিরেক্টরির মধ্যে অনুসন্ধান করা হয়:"
+
+#: C/gtk-doc-manual.xml:289(para)
+msgid "<filename> /usr/lib/sgml/stylesheets/nwalsh-modular </filename> (used by RedHat)"
+msgstr "<filename> /usr/lib/sgml/stylesheets/nwalsh-modular </filename> (RedHat দ্বারা ব্যবহৃত)"
+
+#: C/gtk-doc-manual.xml:292(para)
+msgid "<filename> /usr/lib/dsssl/stylesheets/docbook </filename> (used by Debian)"
+msgstr "<filename> /usr/lib/dsssl/stylesheets/docbook </filename> (Debian দ্বারা ব্যবহৃত)"
+
+#: C/gtk-doc-manual.xml:295(para)
+msgid "<filename> /usr/share/sgml/docbkdsl </filename> (used by SuSE)"
+msgstr "<filename> /usr/share/sgml/docbkdsl </filename> (SuSE দ্বারা ব্যবহৃত)"
+
+#: C/gtk-doc-manual.xml:298(para)
+msgid "If you have the stylesheets installed somewhere else, you need to configure GTK-Doc using the option: <command> --with-dsssl-dir=<PATH_TO_TOPLEVEL_STYLESHEETS_DIR> </command>"
+msgstr "স্টাইল-শিটগুলি অন্য কোনো স্থানে ইনস্টল করা হয়ে থাকলে, নিম্নলিখিত বিকল্প সহয়োগে GTK-Doc কনফিগার করতে হবে: <command> --with-dsssl-dir=<PATH_TO_TOPLEVEL_STYLESHEETS_DIR> </command>"
+
+#: C/gtk-doc-manual.xml:322(title)
+msgid "About GTK-Doc"
+msgstr "GTK-Doc পরিচিতি"
+
+#: C/gtk-doc-manual.xml:324(para) C/gtk-doc-manual.xml:338(para)
+msgid "(FIXME)"
+msgstr "(FIXME)"
+
+#: C/gtk-doc-manual.xml:328(para)
+msgid "(History, authors, web pages, license, future plans, comparison with other similar systems.)"
+msgstr "(পূর্ববর্তী তথ্য, লেখক, ওয়েব-পেজ, লাইসেন্স, ভবিষ্যতের প্রকল্প, অন্যান্য সমতূল্য সিস্টেমের সাথে তূলনা।)"
+
+#: C/gtk-doc-manual.xml:336(title)
+msgid "About this Manual"
+msgstr "এই সহায়িকার পরিচিতি"
+
+#: C/gtk-doc-manual.xml:342(para)
+msgid "(who it is meant for, where you can get it, license)"
+msgstr "(উদ্দিষ্ট পাঠকবৃন্দ, প্রাপ্তির স্থান, লাইসেন্স)"
+
+#: C/gtk-doc-manual.xml:351(title)
+msgid "Setting up your project"
+msgstr "প্রজেক্ট প্রস্তুত করার প্রণালী"
+
+#: C/gtk-doc-manual.xml:353(para)
+msgid "The next sections describe what steps to perform to integrate GTK-Doc into your project. Theses section assume we work on a project called 'meep'. This project contains a library called 'libmeep' and an end-user app called 'meeper'."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:361(title)
+msgid "Setting up a skeleton documentation"
+msgstr "নথির একটি পরিকাঠামো নির্ধারণের প্রণালী"
+
+#: C/gtk-doc-manual.xml:363(para)
+msgid "Under your top-level project directory create folders called docs/reference (this way you can also have docs/help for end-user documentation). It is recommended to create another subdirectory with the name of the doc-package. For packages with just one library this step is not necessary."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:372(title)
+msgid "Example directory structure"
+msgstr "ডিরেক্টরির বিন্যাসের উদাহরণ"
+
+#: C/gtk-doc-manual.xml:370(para)
+msgid "This can then look as show below: <placeholder-1/>"
+msgstr "নিম্নলিখিত উদাহরণের অনুরূপ হবে: <placeholder-1/>"
+
+#: C/gtk-doc-manual.xml:390(title) C/gtk-doc-manual.xml:397(title)
+msgid "Integration with autoconf"
+msgstr "autoconf সহযোগে একত্রিত করার প্রণালী"
+
+#: C/gtk-doc-manual.xml:392(para)
+msgid "Very easy! Just add one line to your <filename>configure.ac</filename> script."
+msgstr "এই কাজ অতিমাত্রায় সহজ! <filename>configure.ac</filename> স্ক্রিপ্টের মধ্যে একটি পংক্তি যোগ করুন।"
+
+#: C/gtk-doc-manual.xml:407(para)
+msgid "The first argument is used to check for the gtkdocversion at configure time. The 2nd, optional argument is used by <application>gtkdocize</application>. The <symbol>GTK_DOC_CHECK</symbol> macro also adds several configure switches:"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:413(para)
+msgid "--with-html-dir=PATH : path to installed docs"
+msgstr "--with-html-dir=PATH : ইনস্টল করা ডকুমেন্টের পাথ"
+
+#: C/gtk-doc-manual.xml:414(para)
+msgid "--enable-gtk-doc : use gtk-doc to build documentation [default=no]"
+msgstr "--enable-gtk-doc : use gtk-doc to build documentation [default=no]"
+
+#: C/gtk-doc-manual.xml:415(para)
+msgid "--enable-gtk-doc-html : build documentation in html format [default=yes]"
+msgstr "--enable-gtk-doc-html : build documentation in html format [default=yes]"
+
+#: C/gtk-doc-manual.xml:416(para)
+msgid "--enable-gtk-doc-pdf : build documentation in pdf format [default=no]"
+msgstr "--enable-gtk-doc-pdf : build documentation in pdf format [default=no]"
+
+#: C/gtk-doc-manual.xml:420(para)
+msgid "GTK-Doc is disabled by default! Remember to pass the option <option>'--enable-gtk-doc'</option> to the next <filename>configure</filename> run. Otherwise pregenerated documentation is installed (which makes sense for users but not for developers)."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:428(para)
+msgid "Furthermore it is recommended that you have the following line inside you <filename>configure.ac</filename> script. This allows <application>gtkdocize</application> to automatically copy the macro definition for <function>GTK_DOC_CHECK</function> to your project."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:436(title)
+msgid "Preparation for gtkdocize"
+msgstr "gtkdocize-র প্রস্তুতি"
+
+#: C/gtk-doc-manual.xml:447(title)
+msgid "Integration with automake"
+msgstr "automake সহযোগে একত্রিত করার প্রণালী"
+
+#: C/gtk-doc-manual.xml:449(para)
+msgid "First copy the <filename>Makefile.am</filename> from the examples subdirectory of the gtkdoc-sources to your project's API documentation directory ( <filename class=\"directory\">./docs/reference/<package></filename>). If you have multiple doc-packages repeat this for each one."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:456(para)
+msgid "The next step is to edit the setting inside the <filename>Makefile.am</filename>. All the settings have a comment above that describes their purpose. Most settings are extra flags passed to the respective tools. Every tool has a variable of the form <option><TOOLNAME>_OPTIONS</option>. All the tools support <option>--help</option> to list the supported parameters."
+msgstr ""
+
+#. FIXME: explain options ?
+#: C/gtk-doc-manual.xml:467(para)
+msgid "You may also want to enable GTK-Doc for the distcheckmake target. Just add then one-liner show in the next example to you top-level <filename>Makefile.am</filename>:"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:474(title)
+msgid "Enable GTK-Doc during make distcheck"
+msgstr "make distcheck-র সময় GTK-Doc সক্রিয় করুন"
+
+#: C/gtk-doc-manual.xml:486(title)
+msgid "Integration with autogen"
+msgstr "autogen সহযোগে একত্রিত করার প্রণালী"
+
+#: C/gtk-doc-manual.xml:488(para)
+msgid "Most projects will have an <filename>autogen.sh</filename> script to setup the build infrastructure after a checkout from version control system (such as cvs/svn/git). GTK-Doc comes with a tool called <application>gtkdocize</application> which can be used in such a script. It should be run before autoheader, automake or autoconf."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:497(title)
+msgid "Running gtkdocize from autogen.sh"
+msgstr "autogen.sh থেকে gtkdocsize সঞ্চালনার প্রণালী"
+
+#: C/gtk-doc-manual.xml:506(para)
+msgid "When running <application>gtkdocize</application> it copies <filename>gtk-doc.make</filename> to you project root (or any directory specified by the <option>--docdir</option> option). If also check you configure script for the <function>GTK_DOC_CHECK</function> invocation."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:514(para)
+msgid "Historically GTK-Doc was gerating template files where developers entered the docs. this turned out to be not so good. Since a few version GTK-Doc could also get all the information from source comments. Since GTK-Doc 1.9 the templates can be avoided. We encourage people to keep documentation in the code. <application>gtkdocize</application> supports now a <option>--flavour no-tmpl</option> option that chooses a makefile that skips tmpl usage totally. Besides adding the option directly to the command invocation, they can be added also to a environment variable called <symbol>GTKDOCIZE_FLAGS</symbol> or set as a 2nd parameter in <symbol>GTK_DOC_CHECK</symbol> macro in the configure script. If you have never changed file in tmpl by hand and migrating from older gtkdoc versions, please remove the dir (e.g. from version control system)."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:530(title) C/gtk-doc-manual.xml:547(title)
+msgid "Running the doc build"
+msgstr "doc build সঞ্চালনার প্রণালী"
+
+#: C/gtk-doc-manual.xml:532(para)
+msgid "After the previous steps it's time to run the build. First we need to rerun <filename>autogen.sh</filename>. If this script runs configure for you, then give it the <option>--enable-gtk-doc</option> option. Otherwise manually run <filename>configure</filename> with this option afterwards."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:539(para)
+msgid "The first make run generates several additional files in the doc-dirs. The important ones are: <filename><package>.types</filename>, <filename><package>-docs.sgml</filename>, <filename><package>-sections.txt</filename>."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:556(para)
+msgid "Now you can point your browser to <filename>docs/reference/<package>/index.html</filename>. Yes, it's a bit disappointing still. But hang-on, during the next chapter we tell you how to fill the pages with life."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:564(title)
+msgid "Integration with version control systems"
+msgstr "ভার্সান কনট্রোল সিস্টেমের সাথে একত্রিত করার প্রণালী"
+
+#: C/gtk-doc-manual.xml:566(para)
+msgid "As a rule of the thumb, it's those files you edit, that should go under version control. For typical projects it's these files: <filename><package>.types</filename><filename><package>-docs.sgml</filename><filename><package>-sections.txt</filename><filename>Makefile.am</filename>"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:579(title)
+msgid "Documenting the code"
+msgstr "কোডের জন্য সহায়ক নথি লেখার প্রণালী"
+
+#: C/gtk-doc-manual.xml:581(para)
+msgid "GTK-Doc uses source code comment with a special syntax for code documentation. Further it retrieves information about your project structure from other sources. During the next section you find all information about the syntax of the comments."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:589(title)
+msgid "Documentation placement"
+msgstr "নথিপত্রের স্থাপনা"
+
+#: C/gtk-doc-manual.xml:590(para)
+msgid "In the past most documentation had to be filled into files residing inside the <filename>tmpl</filename> directory. This has the disadvantages that the information is often not updated and also that the file tend to cause conflicts with version control systems."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:596(para)
+msgid "The avoid the aforementioned problems we suggest putting the documentation inside the sources. This manual will only describe this way of documenting code."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:606(title)
+msgid "Documentation comments"
+msgstr "নথিপত্রের মধ্যে বিবৃতি"
+
+#: C/gtk-doc-manual.xml:611(title)
+msgid "GTK-Doc comment block"
+msgstr "GTK-Doc বিবৃতির অংশ"
+
+#: C/gtk-doc-manual.xml:608(para)
+msgid "A multiline comment that starts with an additional '*' marks a documentation block that will be processed by the GTK-Doc tools. <placeholder-1/>"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:623(para)
+msgid "The 'identifier' is one line with the name of the item the comment is related to. The syntax differs a little depending on the item. (TODO add table showing identifiers)"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:629(para)
+msgid "The 'documentation' block is also different for each symbol type. Symbol types that get parameters such as functions or macros have the parameter description first followed by a blank line (just a '*'). Afterwards follows the detailed description. All lines (outside program- listings and CDATA sections) just containing a ' *' (blank-asterisk) are converted to paragraph breaks. If you don't want a paragraph break, change that into ' * ' (blank-asterisk-blank-blank)."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:646(para)
+msgid "Use function() to refer to functions or macros which take arguments."
+msgstr "আর্গুমেন্ট গ্রহণকারী ফাংশান অথবা ম্যাক্রোর জন্য function() ব্যবহার করা হবে।"
+
+#: C/gtk-doc-manual.xml:651(para)
+msgid "Use @param to refer to parameters. Also use this when referring to parameters of other functions, related to the one being described."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:657(para)
+msgid "Use %constant to refer to a constant, e.g. %G_TRAVERSE_LEAFS."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:662(para)
+msgid "Use #symbol to refer to other types of symbol, e.g. structs and enums and macros which don't take arguments."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:668(para)
+msgid "Use #Object::signal to refer to a GObject signal"
+msgstr "GObject signal-র জন্য #Object::signal ব্যবহার করুন"
+
+#: C/gtk-doc-manual.xml:673(para)
+msgid "Use #Object:property to refer to a GObject property"
+msgstr "GObject property-র জন্য #Object:property ব্যবহার করুন"
+
+#: C/gtk-doc-manual.xml:678(para)
+msgid "Use #Struct.field to refer to a field inside a structure."
+msgstr "স্ট্রাকচারের মধ্যে কোনো ফিল্ড চিহ্নিত করার জন্য #Struct.field প্রয়োগ করুন।"
+
+#: C/gtk-doc-manual.xml:640(para)
+msgid "One advantage of hyper-text over plain-text is the ability to have links in the document. Writing the correct markup for a link can be tedious though. GTK-Doc comes to help by providing several useful abbreviations. <placeholder-1/>"
+msgstr "প্লেইন-টেক্সটের পরিবর্তে হাইপার-লিংক ব্যবহার করা হলে ডকুমেন্টের মধ্যে লিংক অন্তর্ভুক্ত করা সম্ভব হবে। কিন্তু লিংকের ক্ষেত্রে সঠিক markup লেখা পরিশ্রমের কাজ হতে পারে। GTK-Doc দ্বারা উপলব্ধ কয়েকটি সংক্ষিপ্ত শব্দের সাহায্যে এই কাজ হ্রাস করা যাবে। <placeholder-1/>"
+
+#: C/gtk-doc-manual.xml:686(para)
+msgid "If you need to use the special characters '<', '>', '()', '@', '%', or '#' in your documentation without GTK-Doc changing them you can use the XML entities \"&lt;\", \"&gt;\", \"&lpar;\", \"&rpar;\", \"&commat;\", \"&percnt;\" and \"&num;\" respectively or escape them with a backslash '\\'."
+msgstr "নথির মধ্যে কিছু বিশেষ অক্ষর যেমন '<', '>', '()', '@', '%', অথবা '#' প্রভৃতি ব্যবহার করতে ইচ্ছুক হলে GTK-Doc দ্বারা এইগুলিকে পরিবর্তন করতে প্রতিরোধ করার জন্য যথাক্রমে \"&lt;\", \"&gt;\", \"&lpar;\", \"&rpar;\", \"&commat;\", \"&percnt;\" and \"&num;\" XML এনটিটিগুলি ব্যবহার করুন অথবা ব্যাক-স্ল্যাশ চিহ্ন '\\' সহযোগে এস্কেপ করানো আবশ্যক।"
+
+#: C/gtk-doc-manual.xml:695(para)
+msgid "DocBook can do more that just links. One can also have lists, tables and examples. To enable the usage of SGML/XML tags inside doc-comments you need to have <option>--sgml-mode</option> in the variable <symbol>MKDB_OPTIONS</symbol> inside <filename>Makefile.am</filename>."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:703(para)
+msgid "As already mentioned earlier GTK-Doc is for documenting public API. Thus one cannot write documentation for static symbols. Nevertheless it is good to comment those symbols too. This helps other to understand you code. Therefore we recommend to comment these using normal comments (without the 2nd '*' in the first line). If later the function needs to be made public, all one needs to do is to add another '*' in the comment block and insert the symbol name at the right place inside the sections file."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:717(title)
+msgid "Documenting sections"
+msgstr "নথিপত্রের বিভাগ"
+
+#: C/gtk-doc-manual.xml:719(para)
+msgid "Each section of the documentation contains information about one class or module. To introduce the component one can write a section block. The short description is also used inside the table of contents. All the @fields are optional."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:727(title)
+msgid "Section comment block"
+msgstr "বিভাগ কমেন্ট ব্লক"
+
+#: C/gtk-doc-manual.xml:749(term)
+msgid "SECTION:<name>"
+msgstr "SECTION:<name>"
+
+#: C/gtk-doc-manual.xml:751(para)
+msgid "The name links the section documentation to the respective part in the <filename><package>-sections.txt</filename> file. The name give here should match the <FILE> tag in the <filename><package>-sections.txt</filename> file."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:760(term)
+msgid "@short_description"
+msgstr "@short_description"
+
+#: C/gtk-doc-manual.xml:762(para)
+msgid "A one line description of the section, that later will appear after the links in the TOC and at the top of the section page."
+msgstr "এক পংক্তি দ্বারা উল্লিখিত বিভাগের বিবরণ, সূচিপত্রের লিংকের পরে ও বিভাগের পৃষ্ঠার উপরে এই বিবরণ পরে প্রদর্শন করা হবে।"
+
+#: C/gtk-doc-manual.xml:769(term)
+msgid "@title"
+msgstr "@title"
+
+#: C/gtk-doc-manual.xml:771(para)
+msgid "The section title defaults to <name> from the SECTION declaration. It can be overridden with the @title field."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:778(term)
+msgid "@section_id"
+msgstr "@section_id"
+
+#: C/gtk-doc-manual.xml:780(para)
+msgid "Overrides the use of title as a section identifier. For GObjects the <title> is used as a section_id and for other section it is <MODULE>-<title>."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:788(term)
+msgid "@see_also"
+msgstr "@see_also"
+
+#: C/gtk-doc-manual.xml:790(para)
+msgid "A list of symbols that are related to this section.."
+msgstr "এই বিভাগ সম্বন্ধীয় সংকেতের তালিকা.."
+
+#: C/gtk-doc-manual.xml:796(term)
+msgid "@stability"
+msgstr "@stability"
+
+#: C/gtk-doc-manual.xml:803(para)
+msgid "Stable - The intention of a Stable interface is to enable arbitrary third parties to develop applications to these interfaces, release them, and have confidence that they will run on all minor releases of the product (after the one in which the interface was introduced, and within the same major release). Even at a major release, incompatible changes are expected to be rare, and to have strong justifications."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:815(para)
+msgid "Unstable - Unstable interfaces are experimental or transitional. They are typically used to give outside developers early access to new or rapidly changing technology, or to provide an interim solution to a problem where a more general solution is anticipated. No claims are made about either source or binary compatibility from one minor release to the next."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:827(para)
+msgid "Private - An interface that can be used within the GNOME stack itself, but that is not documented for end-users. Such functions should only be used in specified and documented ways."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:836(para)
+msgid "Internal - An interface that is internal to a module and does not require end-user documentation. Functions that are undocumented are assumed to be Internal."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:798(para)
+msgid "A informal description of the stability level this API has. We recommend the use of one of these terms: <placeholder-1/>"
+msgstr "চিহ্নিত API-র স্থায়ীত্বের পরিমানের আনুমানিক বিবরণ। চিহ্নিত কোনো অভিব্যক্তির ব্যবহার বাঞ্ছনীয়: <placeholder-1/>"
+
+#: C/gtk-doc-manual.xml:848(term)
+msgid "@include"
+msgstr "@include"
+
+#: C/gtk-doc-manual.xml:850(para)
+msgid "The <literal>#include</literal> files to show in the section synopsis (a comma separated list), overriding the global value from the <link linkend=\"metafiles_sections\">section file</link> or command line. This item is optional."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:859(term)
+msgid "@image"
+msgstr "@image"
+
+#: C/gtk-doc-manual.xml:861(para)
+msgid "The image to display at the top of the reference page for this section. This will often be some sort of a diagram to illustrate the visual appearance of a class or a diagram of its relationship to other classes. This item is optional."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:872(para)
+msgid "To avoid unnecessary recompilation after doc-changes put the section docs into the c-source where possible."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:881(title)
+msgid "Documenting symbols"
+msgstr "নথিপত্রের সংকেত"
+
+#: C/gtk-doc-manual.xml:883(para)
+msgid "Each symbol (function, macro, struct, enum, signal and property) is documented in a separate block. The block is best placed close to the definition of the symbols so that it is easy to keep them in sync. Thus function are usually documented in the c-source and macros, struct and enum in the header file."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:891(title) C/gtk-doc-manual.xml:920(title)
+msgid "General tags"
+msgstr "সাধারণ ট্যাগ"
+
+#: C/gtk-doc-manual.xml:893(para)
+msgid "You can add versioning information to all documentation elements to tell when an api was introduced, or when it was deprecated."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:898(title)
+msgid "Versioning Tags"
+msgstr "সংস্করণ সংক্রান্ত ট্যাগ"
+
+#: C/gtk-doc-manual.xml:899(term)
+msgid "Since:"
+msgstr "প্রারম্ভ:"
+
+#: C/gtk-doc-manual.xml:901(para)
+msgid "Description since which version of the code the API is available."
+msgstr "API-টি কোডের কোন সংস্করণ থেকে উপলব্ধ রয়েছে সেটির বিবরণ।"
+
+#: C/gtk-doc-manual.xml:906(term)
+msgid "Deprecated:"
+msgstr "অবচিত:"
+
+#: C/gtk-doc-manual.xml:908(para)
+msgid "Paragraph denoting that this function should no be used anymore. The description should point the reader to the new API."
+msgstr "উল্লিখিত ফাংশান ব্যবহার না করার চিহ্নকারী অনুচ্ছেদ। এই বিবরণের সাহায্যে পাঠাকদেরকে নতুন API নির্দেশ করা হবে।"
+
+#: C/gtk-doc-manual.xml:916(para)
+msgid "(FIXME : Stability information)"
+msgstr "(FIXME : স্থায়ীত্ব সংক্রান্ত তথ্য)"
+
+#: C/gtk-doc-manual.xml:943(title) C/gtk-doc-manual.xml:979(title)
+msgid "Function comment block"
+msgstr "ফাংশান কমেন্টের ব্লক"
+
+#: C/gtk-doc-manual.xml:949(para)
+msgid "Document whether returned objects, lists, strings, etc, should be freed/unrefed/released."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:955(para)
+msgid "Document whether parameters can be NULL, and what happens if they are."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:960(para)
+msgid "Mention interesting pre-conditions and post-conditions where appropriate."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:945(para) C/gtk-doc-manual.xml:1042(para)
+msgid "Please remember to: <placeholder-1/>"
+msgstr "অনুগ্রহ করে খেয়াল রাখবেন: <placeholder-1/>"
+
+#: C/gtk-doc-manual.xml:967(para)
+msgid "Gtk-doc assumes all symbols (macros, functions) starting with '_' are private. They are treated like static functions."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:972(para)
+msgid "Also, take a look at gobject introspection annotation tags: http://live.gnome.org/GObjectIntrospection/Annotations"
+msgstr "উপরন্তু, gobject introspection annotation ট্যাগ দেখুন: http://live.gnome.org/GObjectIntrospection/Annotations"
+
+#: C/gtk-doc-manual.xml:1003(title)
+msgid "Function tags"
+msgstr "ফাংশান সংক্রান্ত ট্যাগ"
+
+#: C/gtk-doc-manual.xml:1004(term)
+msgid "Returns:"
+msgstr "প্রাপ্ত মান:"
+
+#: C/gtk-doc-manual.xml:1006(para)
+msgid "Paragraph describing the returned result."
+msgstr "প্রাপ্ত ফলাফলের বর্ণনা উপলব্ধকারী অনুচ্ছেদ।"
+
+#: C/gtk-doc-manual.xml:1011(term)
+msgid "@...:"
+msgstr "@...:"
+
+#: C/gtk-doc-manual.xml:1013(para)
+msgid "In case the function has variadic arguments, you should use this tag (@Varargs: does also work for historic reasons)."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1023(title) C/gtk-doc-manual.xml:1025(title)
+msgid "Property comment block"
+msgstr "Property কমেন্টের ব্লক"
+
+#: C/gtk-doc-manual.xml:1040(title) C/gtk-doc-manual.xml:1059(title)
+msgid "Signal comment block"
+msgstr "Signal কমেন্টের ব্লক"
+
+#: C/gtk-doc-manual.xml:1046(para)
+msgid "Document when the signal is emitted and whether it is emitted before or after other signals."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1052(para)
+msgid "Document what an application might do in the signal handler."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1079(title) C/gtk-doc-manual.xml:1080(title)
+msgid "Struct comment block"
+msgstr "Struct কমেন্টের ব্লক"
+
+#: C/gtk-doc-manual.xml:1100(para)
+msgid "Use <code>/*< private >*/</code> before the private struct fields you want to hide. Use <code>/*< public >*/</code> for the reverse behavirour."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1108(title) C/gtk-doc-manual.xml:1109(title)
+msgid "Enum comment block"
+msgstr "Enum কমেন্টের ব্লক"
+
+#: C/gtk-doc-manual.xml:1130(para)
+msgid "Use <code>/*< private >*/</code> before the private enum values you want to hide. Use <code>/*< public >*/</code> for the reverse behavirour."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1140(title)
+msgid "Useful DocBook tags"
+msgstr "সুবিধাজনক DocBook ট্যাগ"
+
+#: C/gtk-doc-manual.xml:1142(para)
+msgid "Here are some DocBook tags which are most useful when documenting the code."
+msgstr "কোড নথিভুক্ত করার সময় সহায়ক কিছু DocBook ট্যাগ এইখানে উল্লেখ করা হল।"
+
+#: C/gtk-doc-manual.xml:1147(para)
+msgid "To link to another section in the GTK docs: <placeholder-1/> The linkend is the SGML/XML id on the top item of the page you want to link to. For most pages this is currently the part (\"gtk\", \"gdk\", \"glib\") and then the page title (\"Hash Tables\"). For widgets it is just the class name. Spaces and underscores are converted to '-' to conform to SGML/XML."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1163(para)
+msgid "To refer to an external function, e.g. a standard C function: <placeholder-1/>"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1174(para)
+msgid "To include example code: <placeholder-1/> or possibly this, for very short code fragments which don't need a title: <placeholder-2/> For the latter GTK-Doc also supports an abbreviation: <![CDATA[\n|[\n ...\n]|\n]]>"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1208(para)
+msgid "To include bulleted lists: <placeholder-1/>"
+msgstr "বুলেট চিহ্ন সহ তালিকা অন্তর্ভুক্ত করার জন্য ব্যবহার করুন: <placeholder-1/>"
+
+#: C/gtk-doc-manual.xml:1230(para)
+msgid "To include a note which stands out from the text: <placeholder-1/>"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1245(para)
+msgid "To refer to a type: <placeholder-1/>"
+msgstr "কোনো টাইপ উল্লেখ করা জন্য: <placeholder-1/>"
+
+#: C/gtk-doc-manual.xml:1256(para)
+msgid "To refer to an external structure (not one described in the GTK docs): <placeholder-1/>"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1267(para)
+msgid "To refer to a field of a structure: <placeholder-1/>"
+msgstr "কোনো স্ট্রাকচারের ফিল্ড উল্লেখ করার জন্য: <placeholder-1/>"
+
+#: C/gtk-doc-manual.xml:1278(para)
+msgid "To refer to a class name, we could possibly use: <placeholder-1/> but you'll probably be using #GtkWidget instead (to automatically create a link to the GtkWidget page - see <link linkend=\"documenting_syntax\">the abbreviations</link>)."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1291(para)
+msgid "To emphasize text: <placeholder-1/>"
+msgstr "টেক্সট বিশেষভাবে উল্লেখ করার জন্য: <placeholder-1/>"
+
+#: C/gtk-doc-manual.xml:1302(para)
+msgid "For filenames use: <placeholder-1/>"
+msgstr "ফাইলের নামের জন্য ব্যবহার করুন: <placeholder-1/>"
+
+#: C/gtk-doc-manual.xml:1313(para)
+msgid "To refer to keys use: <placeholder-1/>"
+msgstr "কি উল্লেখ করার জন্য ব্যবহার করুন: <placeholder-1/>"
+
+#: C/gtk-doc-manual.xml:1328(title)
+msgid "Filling the extra files"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1330(para)
+msgid "There are a couple of extra files, that need to be maintained along with the inline source code comments: <filename><package>.types</filename>, <filename><package>-docs.sgml</filename>, <filename><package>-sections.txt</filename>."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1339(title)
+msgid "Editing the types file"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1341(para)
+msgid "If your library or application includes GtkObjects/GObjects, you want their signals, arguments/parameters and position in the hierarchy to be shown in the documentation. All you need to do, is to list the <function>xxx_get_type</function> functions together with their include inside the <filename><package>.types</filename> file."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1350(title)
+msgid "Example types file snippet"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1364(para)
+msgid "Since GTK-Doc 1.8 <application>gtkdoc-scan</application> can generate this list for you. Just add \"--rebuild-types\" to SCAN_OPTIONS in <filename>Makefile.am</filename>. If you use this approach you should not dist the types file nor have it under version control."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1373(title)
+msgid "Editing the master document"
+msgstr "প্রধান নথি সম্পাদনা"
+
+#: C/gtk-doc-manual.xml:1375(para)
+msgid "GTK-Doc produces documentation in DocBook SGML/XML. When processing the inline source comments, the GTK-Doc tools generate one documentation page per class or module as a separate file. The master document includes them and place them in a order."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1382(para)
+msgid "While GTK-Doc creates a template master document for you, later run will not touch it again. This means that one can freely structure the documentation. That includes grouping pages and adding extra pages. GTK-Doc has now a test suite, where also the master-document is recreated from scratch. Its a good idea to look at this from time to time to see if there are some new goodies introduced there."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1392(para)
+msgid "Do not create tutorials as extra documents. Just write extra chapters. The benefit of directly embedding the tutorial for your library into the API documentation is that it is easy to link for the tutorial to symbol documentation. Apart chances are higher that the tutorial gets updates along with the library."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1401(para)
+msgid "So what are the things to change inside the master document? For a start is only a little. There are some placeholders (text in square brackets) there which you should take care of."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1408(title)
+msgid "Master document header"
+msgstr "প্রধা নথির হেডার"
+
+#: C/gtk-doc-manual.xml:1430(title)
+msgid "Editing the section file"
+msgstr "বিভাগের ফাইল সম্পাদনা"
+
+#: C/gtk-doc-manual.xml:1432(para)
+msgid "The section file is used to organise the documentation output by GTK-Doc. Here one specifies which symbol belongs to which module or class and control the visibility (public or private)."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1438(para)
+msgid "The section file is a plain test file with xml like syntax (using tags). Blank lines are ignored and lines starting with a '#' are treated as comment lines."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1444(para)
+msgid "The <FILE> ... </FILE> tag is used to specify the file name, without any suffix. For example, using '<FILE>gnome-config</FILE>' will result in the section declarations being output in the template file <filename>tmpl/gnome-config.sgml</filename>, which will be converted into the DocBook SGML/XML file <filename>sgml/gnome-config.sgml</filename> or .DocBook XML file <filename>xml/gnome-config.xml</filename>. (The name of the html file is based on the module name and the section title, or for gobjects it is based on the gobjects class name converted to lower case)."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1456(para)
+msgid "The <TITLE> ... </TITLE> tag is used to specify the title of the section. It is only useful before the templates (if used) are initially created, since the title set in the template file overrides this. Also if one uses SECTION comment in the sources, this is obsolete."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1463(para)
+msgid "You can group items in the section by using the <SUBSECTION> tag. Currently it outputs a blank line between subsections in the synopsis section. You can also use <SUBSECTION Standard> for standard GObject declarations (e.g. the functions like g_object_get_type and macros like G_OBJECT(), G_IS_OBJECT() etc.). Currently these are left out of the documentation. You can also use <SUBSECTION Private> for private declarations which will not be output (It is a handy way to avoid warning messages about unused declarations.). If your library contains private types which you don't want to appear in the object hierarchy and the list of implemented or required interfaces, add them to a Private subsection."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1479(para)
+msgid "You can also use <INCLUDE> ... </INCLUDE> to specify the #include files which are shown in the synopsis sections. It contains a comma-separate list of #include files, without the angle brackets. If you set it outside of any sections, it acts for all sections until the end of the file. If you set it within a section, it only applies to that section."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1493(title)
+msgid "Controlling the result"
+msgstr "ফলাফল নিয়ন্ত্রণের প্রণালী"
+
+#: C/gtk-doc-manual.xml:1495(para)
+msgid "A GTK-Doc run generates report files inside the documentation directory. The generated files are named: <filename><package>-undocumented.txt</filename>, <filename><package>-undeclared.txt</filename> and <filename><package>-unused.txt</filename>. All those are plain text files that can be viewed and postprocessed easily."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1504(para)
+msgid "The <filename><package>-undocumented.txt</filename> file starts with the documentation coverage summary. Below are two sections divided by blank lines. The first section lists undocumented or incomplete symbols. The second section does the same for section docs. Incomplete entries are those, which have documentation, but where e.g. a new parameter has been added."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1513(para)
+msgid "The <filename><package>-undeclared.txt</filename> file lists symbols given in the <filename><package>-sections.txt</filename> but not found in the sources. Check if they have been removed or if they are misspelled."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1520(para)
+msgid "The <filename><package>-unused.txt</filename> file lists symbol names, where the GTK-Doc scanner has found documentation, but does not know where to put it. This means that the symbol has not yet been added to the <filename><package>-sections.txt</filename> file."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1528(para)
+msgid "Enable or add the <option>TESTS=$(GTKDOC_CHECK)</option> line in Makefile.am. If at least GTK-Doc 1.9 is installed, this will run sanity checks during <command>make check</command> run."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1535(para)
+msgid "One can also look at the files produced by the source code scanner: <filename><package>-decl-list.txt</filename> and <filename><package>-decl.txt</filename>. The first and can be compared with the section file if that is manualy maintained. The second lists all declarations fromt he headers If a symbol is missing one could check if this file contains it."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1544(para)
+msgid "If the project is GObject based, one can also look into the files produced by the object scanner: <filename><package>.args.txt</filename>, <filename><package>.hierarchy.txt</filename>, <filename><package>.interfaces.txt</filename>, <filename><package>.prerequisites.txt</filename> and <filename><package>.signals.txt</filename>. If there are missing symbols in any of those, one can ask gtkdoc to keep the intermedia scanner file for further analysis, but running it as <command>GTK_DOC_KEEP_INTERMEDIATE=1 make</command>."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1559(title)
+msgid "Frequently asked question"
+msgstr "সাধারণ প্রশ্নোত্তর"
+
+#: C/gtk-doc-manual.xml:1563(segtitle)
+msgid "Question"
+msgstr "প্রশ্ন"
+
+#: C/gtk-doc-manual.xml:1564(segtitle)
+msgid "Answer"
+msgstr "উত্তর"
+
+#: C/gtk-doc-manual.xml:1566(seg)
+msgid "No class hierarchy."
+msgstr "কোনো ক্লাস অনুক্রম নেই।"
+
+#: C/gtk-doc-manual.xml:1568(function)
+msgid "xxx_get_type()"
+msgstr "xxx_get_type()"
+
+#: C/gtk-doc-manual.xml:1569(filename)
+msgid "<package>.types"
+msgstr "<package>.types"
+
+#: C/gtk-doc-manual.xml:1567(seg)
+msgid "The objects <placeholder-1/> function has not been entered into the <placeholder-2/> file."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1573(seg)
+msgid "Still no class hierarchy."
+msgstr "তথাপি ক্লাসের কোনো অনুক্রম নেই।"
+
+#: C/gtk-doc-manual.xml:1575(filename) C/gtk-doc-manual.xml:1614(filename) C/gtk-doc-manual.xml:1622(filename) C/gtk-doc-manual.xml:1644(filename)
+msgid "<package>-sections.txt"
+msgstr "<package>-sections.txt"
+
+#: C/gtk-doc-manual.xml:1576(ulink)
+msgid "explanation"
+msgstr "বর্ণনা"
+
+#: C/gtk-doc-manual.xml:1574(seg)
+msgid "Missing or wrong naming in <placeholder-1/> file (see <placeholder-2/>)."
+msgstr "<placeholder-1/> ফাইলের মধ্যে নাম অনুপস্থিত অথবা ভুল (<placeholder-2/> দেখুন)।"
+
+#: C/gtk-doc-manual.xml:1580(seg)
+msgid "Damn, I have still no class hierarchy."
+msgstr "এখনো কোনো ক্লাস অনুক্রম নেই।"
+
+#: C/gtk-doc-manual.xml:1582(type) C/gtk-doc-manual.xml:1623(type)
+msgid "GtkWidget"
+msgstr "GtkWidget"
+
+#: C/gtk-doc-manual.xml:1581(seg)
+msgid "Is the object name (name of the instance struct, e.g. <placeholder-1/>) part of the normal section (don't put this into Standard or Private subsections)."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1588(seg)
+msgid "No symbol index."
+msgstr "সংকেতের ইন্ডেক্স অনুপস্থিত।"
+
+#: C/gtk-doc-manual.xml:1590(filename) C/gtk-doc-manual.xml:1605(filename) C/gtk-doc-manual.xml:1631(filename)
+msgid "<package>-docs.{xml,sgml}"
+msgstr "<package>-docs.{xml,sgml}"
+
+#: C/gtk-doc-manual.xml:1589(seg)
+msgid "Does the <placeholder-1/> contain a index that xi:includes the generated index?"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1595(seg)
+msgid "Symbols are not linked to their doc-section."
+msgstr "সিম্বলগুলি doc-section-র সাথে যুক্ত নয়।"
+
+#: C/gtk-doc-manual.xml:1596(seg)
+msgid "Is the doc-comment using the correct markup (added #,% or ())? Check if the gtkdoc-fixxref warns about unresolvable xrefs."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1602(seg)
+msgid "A new class does not appear in the docs."
+msgstr "নথির মধ্যে নতুন শ্রেণী উপস্থিত নেই।"
+
+#: C/gtk-doc-manual.xml:1603(seg)
+msgid "Is the new page xi:included from <placeholder-1/>."
+msgstr "নতুন পৃষ্ঠাটি <placeholder-1/> থেকে xi:include করে নির্মিত হয়েছে কি।"
+
+#: C/gtk-doc-manual.xml:1609(seg)
+msgid "A new symbol does not appear in the docs."
+msgstr "নথির মধ্যে নতুন সিম্বল অন্তর্ভুক্ত নয়।"
+
+#: C/gtk-doc-manual.xml:1610(seg)
+msgid "Is the doc-comment properly formatted. Check for spelling mistakes in the begin of the comment. Check if the gtkdoc-fixxref warns about unresolvable xrefs. Check if the symbol is correctly listed in the <placeholder-1/> in a public subsection."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1618(seg)
+msgid "A type is missing from the class hierarchy."
+msgstr "ক্লাস অনুক্রম থেকে টাইপ অনুপস্থিত।"
+
+#: C/gtk-doc-manual.xml:1620(filename)
+msgid "<package>.hierarchy"
+msgstr "<package>.hierarchy"
+
+#: C/gtk-doc-manual.xml:1621(filename)
+msgid "xml/tree_index.sgml"
+msgstr "xml/tree_index.sgml"
+
+#: C/gtk-doc-manual.xml:1619(seg)
+msgid "If the type is listed in <placeholder-1/> but not in <placeholder-2/> then double check that the type is correctly placed in the <placeholder-3/>. If the type instance (e.g. <placeholder-4/>) is not listed or incidentialy makred private it will not be shown."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1628(seg)
+msgid "I get foldoc links for all gobject annotations."
+msgstr "সকল gobject অ্যানোটেশনের জন্য foldoc লিংক পাওয়া গিয়েছে।"
+
+#: C/gtk-doc-manual.xml:1630(filename)
+msgid "xml/annotation-glossary.xml"
+msgstr "xml/annotation-glossary.xml"
+
+#: C/gtk-doc-manual.xml:1629(seg)
+msgid "Check that <placeholder-1/> is xi:included from <placeholder-2/>."
+msgstr "<placeholder-1/>-কে <placeholder-2/> থেকে xi:included করা হয়েছে কি না পরীক্ষা করুন।"
+
+#: C/gtk-doc-manual.xml:1637(seg)
+msgid "Parameter described in source code comment block but does not exist"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1638(seg)
+msgid "Check if the prototype in the header has different parameter names as in the source."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1643(seg)
+msgid "multiple \"IDs\" for constraint linkend: XYZ"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1644(seg)
+msgid "Symbol XYZ appears twice in <placeholder-1/> file."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1647(seg)
+msgid "Element typename in namespace '' encountered in para, but no template matches."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:12(releaseinfo)
+msgid "Version 1.1, March 2000"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:16(year)
+msgid "2000"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:16(holder)
+msgid "Free Software Foundation, Inc."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:19(para)
+msgid "<address>Free Software Foundation, Inc. <street>51 Franklin Street, Suite 330</street>, <city>Boston</city>, <state>MA</state><postcode>02110-1301</postcode><country>USA</country></address> Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:28(title)
+msgid "GNU Free Documentation License"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:31(title)
+msgid "0. PREAMBLE"
+msgstr "0. PREAMBLE"
+
+#: C/gtk-doc-manual.xml:32(para)
+msgid "The purpose of this License is to make a manual, textbook, or other written document <quote>free</quote> in the sense of freedom: to assure everyone the effective freedom to copy and redistribute it, with or without modifying it, either commercially or noncommercially. Secondarily, this License preserves for the author and publisher a way to get credit for their work, while not being considered responsible for modifications made by others."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:43(para)
+msgid "This License is a kind of <quote>copyleft</quote>, which means that derivative works of the document must themselves be free in the same sense. It complements the GNU General Public License, which is a copyleft license designed for free software."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:50(para)
+msgid "We have designed this License in order to use it for manuals for free software, because free software needs free documentation: a free program should come with manuals providing the same freedoms that the software does. But this License is not limited to software manuals; it can be used for any textual work, regardless of subject matter or whether it is published as a printed book. We recommend this License principally for works whose purpose is instruction or reference."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:62(title)
+msgid "1. APPLICABILITY AND DEFINITIONS"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:63(para)
+msgid "This License applies to any manual or other work that contains a notice placed by the copyright holder saying it can be distributed under the terms of this License. The <quote>Document</quote>, below, refers to any such manual or work. Any member of the public is a licensee, and is addressed as <quote>you</quote>."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:72(para)
+msgid "A <quote>Modified Version</quote> of the Document means any work containing the Document or a portion of it, either copied verbatim, or with modifications and/or translated into another language."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:79(para)
+msgid "A <quote>Secondary Section</quote> is a named appendix or a front-matter section of the <link linkend=\"fdl-document\">Document</link> that deals exclusively with the relationship of the publishers or authors of the Document to the Document's overall subject (or to related matters) and contains nothing that could fall directly within that overall subject. (For example, if the Document is in part a textbook of mathematics, a Secondary Section may not explain any mathematics.) The relationship could be a matter of historical connection with the subject or with related matters, or of legal, commercial, philosophical, ethical or political position regarding them."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:94(para)
+msgid "The <quote>Invariant Sections</quote> are certain <link linkend=\"fdl-secondary\"> Secondary Sections</link> whose titles are designated, as being those of Invariant Sections, in the notice that says that the <link linkend=\"fdl-document\">Document</link> is released under this License."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:103(para)
+msgid "The <quote>Cover Texts</quote> are certain short passages of text that are listed, as Front-Cover Texts or Back-Cover Texts, in the notice that says that the <link linkend=\"fdl-document\">Document</link> is released under this License."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:111(para)
+msgid "A <quote>Transparent</quote> copy of the <link linkend=\"fdl-document\"> Document</link> means a machine-readable copy, represented in a format whose specification is available to the general public, whose contents can be viewed and edited directly and straightforwardly with generic text editors or (for images composed of pixels) generic paint programs or (for drawings) some widely available drawing editor, and that is suitable for input to text formatters or for automatic translation to a variety of formats suitable for input to text formatters. A copy made in an otherwise Transparent file format whose markup has been designed to thwart or discourage subsequent modification by readers is not Transparent. A copy that is not <quote>Transparent</quote> is called <quote>Opaque</quote>."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:128(para)
+msgid "Examples of suitable formats for Transparent copies include plain ASCII without markup, Texinfo input format, LaTeX input format, SGML or XML using a publicly available DTD, and standard-conforming simple HTML designed for human modification. Opaque formats include PostScript, PDF, proprietary formats that can be read and edited only by proprietary word processors, SGML or XML for which the DTD and/or processing tools are not generally available, and the machine-generated HTML produced by some word processors for output purposes only."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:141(para)
+msgid "The <quote>Title Page</quote> means, for a printed book, the title page itself, plus such following pages as are needed to hold, legibly, the material this License requires to appear in the title page. For works in formats which do not have any title page as such, <quote>Title Page</quote> means the text near the most prominent appearance of the work's title, preceding the beginning of the body of the text."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:153(title)
+msgid "2. VERBATIM COPYING"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:154(para)
+msgid "You may copy and distribute the <link linkend=\"fdl-document\">Document</link> in any medium, either commercially or noncommercially, provided that this License, the copyright notices, and the license notice saying this License applies to the Document are reproduced in all copies, and that you add no other conditions whatsoever to those of this License. You may not use technical measures to obstruct or control the reading or further copying of the copies you make or distribute. However, you may accept compensation in exchange for copies. If you distribute a large enough number of copies you must also follow the conditions in <link linkend=\"fdl-section3\">section 3</link>."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:169(para)
+msgid "You may also lend copies, under the same conditions stated above, and you may publicly display copies."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:176(title)
+msgid "3. COPYING IN QUANTITY"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:177(para)
+msgid "If you publish printed copies of the <link linkend=\"fdl-document\">Document</link> numbering more than 100, and the Document's license notice requires <link linkend=\"fdl-cover-texts\">Cover Texts</link>, you must enclose the copies in covers that carry, clearly and legibly, all these Cover Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on the back cover. Both covers must also clearly and legibly identify you as the publisher of these copies. The front cover must present the full title with all words of the title equally prominent and visible. You may add other material on the covers in addition. Copying with changes limited to the covers, as long as they preserve the title of the <link linkend=\"fdl-document\">Document</link> and satisfy these conditions, can be treated as verbatim copying in other respects."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:195(para)
+msgid "If the required texts for either cover are too voluminous to fit legibly, you should put the first ones listed (as many as fit reasonably) on the actual cover, and continue the rest onto adjacent pages."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:202(para)
+msgid "If you publish or distribute <link linkend=\"fdl-transparent\">Opaque</link> copies of the <link linkend=\"fdl-document\">Document</link> numbering more than 100, you must either include a machine-readable <link linkend=\"fdl-transparent\">Transparent</link> copy along with each Opaque copy, or state in or with each Opaque copy a publicly-accessible computer-network location containing a complete Transparent copy of the Document, free of added material, which the general network-using public has access to download anonymously at no charge using public-standard network protocols. If you use the latter option, you must take reasonably prudent steps, when you begin distribution of Opaque copies in quantity, to ensure that this Transparent copy will remain thus accessible at the stated location until at least one year after the last time you distribute an Opaque copy (directly or through your agents or retailers) of that edition to the public."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:222(para)
+msgid "It is requested, but not required, that you contact the authors of the <link linkend=\"fdl-document\">Document</link> well before redistributing any large number of copies, to give them a chance to provide you with an updated version of the Document."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:231(title)
+msgid "4. MODIFICATIONS"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:232(para)
+msgid "You may copy and distribute a <link linkend=\"fdl-modified\">Modified Version</link> of the <link linkend=\"fdl-document\">Document</link> under the conditions of sections <link linkend=\"fdl-section2\">2</link> and <link linkend=\"fdl-section3\">3</link> above, provided that you release the Modified Version under precisely this License, with the Modified Version filling the role of the Document, thus licensing distribution and modification of the Modified Version to whoever possesses a copy of it. In addition, you must do these things in the Modified Version:"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:248(title)
+msgid "A"
+msgstr "A"
+
+#: C/gtk-doc-manual.xml:249(para)
+msgid "Use in the <link linkend=\"fdl-title-page\">Title Page</link> (and on the covers, if any) a title distinct from that of the <link linkend=\"fdl-document\">Document</link>, and from those of previous versions (which should, if there were any, be listed in the History section of the Document). You may use the same title as a previous version if the original publisher of that version gives permission."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:264(title)
+msgid "B"
+msgstr "B"
+
+#: C/gtk-doc-manual.xml:265(para)
+msgid "List on the <link linkend=\"fdl-title-page\">Title Page</link>, as authors, one or more persons or entities responsible for authorship of the modifications in the <link linkend=\"fdl-modified\">Modified Version</link>, together with at least five of the principal authors of the <link linkend=\"fdl-document\">Document</link> (all of its principal authors, if it has less than five)."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:279(title)
+msgid "C"
+msgstr "C"
+
+#: C/gtk-doc-manual.xml:280(para)
+msgid "State on the <link linkend=\"fdl-title-page\">Title Page</link> the name of the publisher of the <link linkend=\"fdl-modified\">Modified Version</link>, as the publisher."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:291(title)
+msgid "D"
+msgstr "D"
+
+#: C/gtk-doc-manual.xml:292(para)
+msgid "Preserve all the copyright notices of the <link linkend=\"fdl-document\">Document</link>."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:301(title)
+msgid "E"
+msgstr "E"
+
+#: C/gtk-doc-manual.xml:302(para)
+msgid "Add an appropriate copyright notice for your modifications adjacent to the other copyright notices."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:311(title)
+msgid "F"
+msgstr "F"
+
+#: C/gtk-doc-manual.xml:312(para)
+msgid "Include, immediately after the copyright notices, a license notice giving the public permission to use the <link linkend=\"fdl-modified\">Modified Version</link> under the terms of this License, in the form shown in the Addendum below."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:324(title)
+msgid "G"
+msgstr "G"
+
+#: C/gtk-doc-manual.xml:325(para)
+msgid "Preserve in that license notice the full lists of <link linkend=\"fdl-invariant\"> Invariant Sections</link> and required <link linkend=\"fdl-cover-texts\">Cover Texts</link> given in the <link linkend=\"fdl-document\">Document's</link> license notice."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:337(title)
+msgid "H"
+msgstr "H"
+
+#: C/gtk-doc-manual.xml:338(para)
+msgid "Include an unaltered copy of this License."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:346(title)
+msgid "I"
+msgstr "I"
+
+#: C/gtk-doc-manual.xml:347(para)
+msgid "Preserve the section entitled <quote>History</quote>, and its title, and add to it an item stating at least the title, year, new authors, and publisher of the <link linkend=\"fdl-modified\">Modified Version </link>as given on the <link linkend=\"fdl-title-page\">Title Page</link>. If there is no section entitled <quote>History</quote> in the <link linkend=\"fdl-document\">Document</link>, create one stating the title, year, authors, and publisher of the Document as given on its Title Page, then add an item describing the Modified Version as stated in the previous sentence."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:365(title)
+msgid "J"
+msgstr "J"
+
+#: C/gtk-doc-manual.xml:366(para)
+msgid "Preserve the network location, if any, given in the <link linkend=\"fdl-document\">Document</link> for public access to a <link linkend=\"fdl-transparent\">Transparent</link> copy of the Document, and likewise the network locations given in the Document for previous versions it was based on. These may be placed in the <quote>History</quote> section. You may omit a network location for a work that was published at least four years before the Document itself, or if the original publisher of the version it refers to gives permission."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:383(title)
+msgid "K"
+msgstr "K"
+
+#: C/gtk-doc-manual.xml:384(para)
+msgid "In any section entitled <quote>Acknowledgements</quote> or <quote>Dedications</quote>, preserve the section's title, and preserve in the section all the substance and tone of each of the contributor acknowledgements and/or dedications given therein."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:396(title)
+msgid "L"
+msgstr "L"
+
+#: C/gtk-doc-manual.xml:397(para)
+msgid "Preserve all the <link linkend=\"fdl-invariant\">Invariant Sections</link> of the <link linkend=\"fdl-document\">Document</link>, unaltered in their text and in their titles. Section numbers or the equivalent are not considered part of the section titles."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:409(title)
+msgid "M"
+msgstr "M"
+
+#: C/gtk-doc-manual.xml:410(para)
+msgid "Delete any section entitled <quote>Endorsements</quote>. Such a section may not be included in the <link linkend=\"fdl-modified\">Modified Version</link>."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:421(title)
+msgid "N"
+msgstr "N"
+
+#: C/gtk-doc-manual.xml:422(para)
+msgid "Do not retitle any existing section as <quote>Endorsements</quote> or to conflict in title with any <link linkend=\"fdl-invariant\">Invariant Section</link>."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:432(para)
+msgid "If the <link linkend=\"fdl-modified\">Modified Version</link> includes new front-matter sections or appendices that qualify as <link linkend=\"fdl-secondary\">Secondary Sections</link> and contain no material copied from the Document, you may at your option designate some or all of these sections as invariant. To do this, add their titles to the list of <link linkend=\"fdl-invariant\">Invariant Sections</link> in the Modified Version's license notice. These titles must be distinct from any other section titles."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:444(para)
+msgid "You may add a section entitled <quote>Endorsements</quote>, provided it contains nothing but endorsements of your <link linkend=\"fdl-modified\">Modified Version</link> by various parties--for example, statements of peer review or that the text has been approved by an organization as the authoritative definition of a standard."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:453(para)
+msgid "You may add a passage of up to five words as a <link linkend=\"fdl-cover-texts\">Front-Cover Text</link>, and a passage of up to 25 words as a <link linkend=\"fdl-cover-texts\">Back-Cover Text</link>, to the end of the list of <link linkend=\"fdl-cover-texts\">Cover Texts</link> in the <link linkend=\"fdl-modified\">Modified Version</link>. Only one passage of Front-Cover Text and one of Back-Cover Text may be added by (or through arrangements made by) any one entity. If the <link linkend=\"fdl-document\">Document</link> already includes a cover text for the same cover, previously added by you or by arrangement made by the same entity you are acting on behalf of, you may not add another; but you may replace the old one, on explicit permission from the previous publisher that added the old one."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:470(para)
+msgid "The author(s) and publisher(s) of the <link linkend=\"fdl-document\">Document</link> do not by this License give permission to use their names for publicity for or to assert or imply endorsement of any <link linkend=\"fdl-modified\">Modified Version </link>."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:480(title)
+msgid "5. COMBINING DOCUMENTS"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:481(para)
+msgid "You may combine the <link linkend=\"fdl-document\">Document</link> with other documents released under this License, under the terms defined in <link linkend=\"fdl-section4\">section 4</link> above for modified versions, provided that you include in the combination all of the <link linkend=\"fdl-invariant\">Invariant Sections</link> of all of the original documents, unmodified, and list them all as Invariant Sections of your combined work in its license notice."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:492(para)
+msgid "The combined work need only contain one copy of this License, and multiple identical <link linkend=\"fdl-invariant\">Invariant Sections</link> may be replaced with a single copy. If there are multiple Invariant Sections with the same name but different contents, make the title of each such section unique by adding at the end of it, in parentheses, the name of the original author or publisher of that section if known, or else a unique number. Make the same adjustment to the section titles in the list of Invariant Sections in the license notice of the combined work."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:505(para)
+msgid "In the combination, you must combine any sections entitled <quote>History</quote> in the various original documents, forming one section entitled <quote>History</quote>; likewise combine any sections entitled <quote>Acknowledgements</quote>, and any sections entitled <quote>Dedications</quote>. You must delete all sections entitled <quote>Endorsements.</quote>"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:516(title)
+msgid "6. COLLECTIONS OF DOCUMENTS"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:517(para)
+msgid "You may make a collection consisting of the <link linkend=\"fdl-document\">Document</link> and other documents released under this License, and replace the individual copies of this License in the various documents with a single copy that is included in the collection, provided that you follow the rules of this License for verbatim copying of each of the documents in all other respects."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:527(para)
+msgid "You may extract a single document from such a collection, and dispbibute it individually under this License, provided you insert a copy of this License into the extracted document, and follow this License in all other respects regarding verbatim copying of that document."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:537(title)
+msgid "7. AGGREGATION WITH INDEPENDENT WORKS"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:538(para)
+msgid "A compilation of the <link linkend=\"fdl-document\">Document</link> or its derivatives with other separate and independent documents or works, in or on a volume of a storage or distribution medium, does not as a whole count as a <link linkend=\"fdl-modified\">Modified Version</link> of the Document, provided no compilation copyright is claimed for the compilation. Such a compilation is called an <quote>aggregate</quote>, and this License does not apply to the other self-contained works thus compiled with the Document , on account of their being thus compiled, if they are not themselves derivative works of the Document. If the <link linkend=\"fdl-cover-texts\">Cover Text</link> requirement of <link linkend=\"fdl-section3\">section 3</link> is applicable to these copies of the Document, then if the Document is less than one quarter of the entire aggregate, the Document's Cover Texts may be placed on covers that surround only the Document within the aggregate. Otherwise they must appear on covers around the whole aggregate."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:561(title)
+msgid "8. TRANSLATION"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:562(para)
+msgid "Translation is considered a kind of modification, so you may distribute translations of the <link linkend=\"fdl-document\">Document</link> under the terms of <link linkend=\"fdl-section4\">section 4</link>. Replacing <link linkend=\"fdl-invariant\"> Invariant Sections</link> with translations requires special permission from their copyright holders, but you may include translations of some or all Invariant Sections in addition to the original versions of these Invariant Sections. You may include a translation of this License provided that you also include the original English version of this License. In case of a disagreement between the translation and the original English version of this License, the original English version will prevail."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:580(title)
+msgid "9. TERMINATION"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:581(para)
+msgid "You may not copy, modify, sublicense, or distribute the <link linkend=\"fdl-document\">Document</link> except as expressly provided for under this License. Any other attempt to copy, modify, sublicense or distribute the Document is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:594(title)
+msgid "10. FUTURE REVISIONS OF THIS LICENSE"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:595(para)
+msgid "The <ulink type=\"http\" url=\"http://www.gnu.org/fsf/fsf.html\">Free Software Foundation</ulink> may publish new, revised versions of the GNU Free Documentation License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. See <ulink type=\"http\" url=\"http://www.gnu.org/copyleft\">http://www.gnu.org/copyleft/</ulink>."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:606(para)
+msgid "Each version of the License is given a distinguishing version number. If the <link linkend=\"fdl-document\">Document</link> specifies that a particular numbered version of this License <quote>or any later version</quote> applies to it, you have the option of following the terms and conditions either of that specified version or of any later version that has been published (not as a draft) by the Free Software Foundation. If the Document does not specify a version number of this License, you may choose any version ever published (not as a draft) by the Free Software Foundation."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:621(title)
+msgid "Addendum"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:622(para)
+msgid "To use this License in a document you have written, include a copy of the License in the document and put the following copyright and license notices just after the title page:"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:629(para)
+msgid "Copyright YEAR YOUR NAME."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:632(para)
+msgid "Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation; with the <link linkend=\"fdl-invariant\">Invariant Sections</link> being LIST THEIR TITLES, with the <link linkend=\"fdl-cover-texts\">Front-Cover Texts</link> being LIST, and with the <link linkend=\"fdl-cover-texts\">Back-Cover Texts</link> being LIST. A copy of the license is included in the section entitled <quote>GNU Free Documentation License</quote>."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:647(para)
+msgid "If you have no <link linkend=\"fdl-invariant\">Invariant Sections</link>, write <quote>with no Invariant Sections</quote> instead of saying which ones are invariant. If you have no <link linkend=\"fdl-cover-texts\">Front-Cover Texts</link>, write <quote>no Front-Cover Texts</quote> instead of <quote>Front-Cover Texts being LIST</quote>; likewise for <link linkend=\"fdl-cover-texts\">Back-Cover Texts</link>."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:657(para)
+msgid "If your document contains nontrivial examples of program code, we recommend releasing these examples in parallel under your choice of free software license, such as the <ulink type=\"http\" url=\"http://www.gnu.org/copyleft/gpl.html\"> GNU General Public License</ulink>, to permit their use in free software."
+msgstr ""
+
+#. Put one translator per line, in the form of NAME <EMAIL>, YEAR1, YEAR2
+#: C/gtk-doc-manual.xml:0(None)
+msgid "translator-credits"
+msgstr "রুণা ভট্টাচার্য্য (runab@redhat.com)"
+
--- /dev/null
+<?xml version="1.0" encoding="utf-8" standalone="no"?>
+<?xml-stylesheet type="text/xml" href="params.xsl"?>
+<!-- vim: set ai tw=80 ts=3 sw=3: -->
+<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "
+ http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
+<!ENTITY FDL SYSTEM "fdl-appendix.xml">
+<!ENTITY FDLlink "<link linkend='fdl'>included</link>">
+]>
+<!-- =============Document Header ============================= -->
+<book id="index" lang="bn_IN">
+ <bookinfo>
+ <title>GTK-Doc সহায়িকা</title>
+ <edition>1.18</edition>
+ <abstract role="description"><para>GTK-Doc ব্যবহারের নির্দেশাবলী সহ, ডিভেলপরদের উদ্দেশ্যে নির্মিত সহায়িকা।</para></abstract>
+ <authorgroup>
+ <author>
+ <firstname>ক্রিস</firstname>
+ <surname>লিটল</surname>
+ <affiliation>
+ <address>
+ <email>chris@wilddev.net</email>
+ </address>
+ </affiliation>
+ </author>
+ <author>
+ <firstname>ড্যান</firstname>
+ <surname>মুয়েথ</surname>
+ <affiliation>
+ <address>
+ <email>d-mueth@uchicago.edu</email>
+ </address>
+ </affiliation>
+ </author>
+ <author>
+ <firstname>স্টেফান</firstname>
+ <surname>কোস্ট</surname>
+ <affiliation>
+ <address>
+ <email>ensonic@users.sf.net</email>
+ </address>
+ </affiliation>
+ </author>
+ </authorgroup>
+ <publisher role="maintainer">
+ <publishername>GTK-Doc প্রজেক্ট</publishername>
+ <address><email>gtk-doc-list@gnome.org</email></address>
+ </publisher>
+ <copyright>
+ <year>2000, 2005</year>
+ <holder>Dan Mueth and Chris Lyttle</holder>
+ </copyright>
+ <copyright>
+ <year>2007-2011</year>
+ <holder>Stefan Sauer (Kost)</holder>
+ </copyright>
+
+ <!-- translators: uncomment this:
+ <copyright>
+ <year>2000</year>
+ <holder>ME-THE-TRANSLATOR (Latin translation)</holder>
+ </copyright>
+ -->
+
+ <legalnotice>
+ <para>
+ Permission is granted to copy, distribute and/or modify this
+ document under the terms of the <citetitle>GNU Free Documentation
+ License</citetitle>, Version 1.1 or any later version published
+ by the Free Software Foundation with no Invariant Sections, no
+ Front-Cover Texts, and no Back-Cover Texts. A copy of the license
+ is <link linkend="fdl">included</link>.
+ </para>
+ <para>
+ Many of the names used by companies to distinguish their products and
+ services are claimed as trademarks. Where those names appear in any
+ GNOME documentation, and those trademarks are made aware to the members
+ of the GNOME Documentation Project, the names have been printed in caps
+ or initial caps.
+ </para>
+ </legalnotice>
+
+ <revhistory>
+ <!--revision>
+ <revnumber>1.18.1</revnumber>
+ <date>15 Sep 2011</date>
+ <authorinitials>sk</authorinitials>
+ <revremark>development version, markdown support</revremark>
+ </revision-->
+ <revision>
+ <revnumber>1.18</revnumber>
+ <date>14 sep 2011</date>
+ <authorinitials>sk</authorinitials>
+ <revremark>bug fixes, speedups, markdown support</revremark>
+ </revision>
+ <revision>
+ <revnumber>1.17</revnumber>
+ <date>26 Feb 2011</date>
+ <authorinitials>sk</authorinitials>
+ <revremark>urgent bug fix update</revremark>
+ </revision>
+ <revision>
+ <revnumber>1.16</revnumber>
+ <date>14 Jan 2011</date>
+ <authorinitials>sk</authorinitials>
+ <revremark>bugfixes, layout improvements</revremark>
+ </revision>
+ <revision>
+ <revnumber>1.15</revnumber>
+ <date>21 May 2010</date>
+ <authorinitials>sk</authorinitials>
+ <revremark>bug and regression fixes</revremark>
+ </revision>
+ <revision>
+ <revnumber>১.১৪</revnumber>
+ <date>28 March 2010</date>
+ <authorinitials>sk</authorinitials>
+ <revremark>bugfixes and performance improvements</revremark>
+ </revision>
+ <revision>
+ <revnumber>১.১৩</revnumber>
+ <date>১৮ ডিসেম্বর ২০০৯</date>
+ <authorinitials>sk</authorinitials>
+ <revremark>ক্ষতিগ্রস্ত tarball আপডেট করা হয়েছে</revremark>
+ </revision>
+ <revision>
+ <revnumber>১.১২</revnumber>
+ <date>১৮ ডিসেম্বর ২০০৯</date>
+ <authorinitials>sk</authorinitials>
+ <revremark>নতুন সরঞ্জামের বৈশিষ্ট্য ও সংশোধিত বাগের তথ্য</revremark>
+ </revision>
+ <revision>
+ <revnumber>১.১১</revnumber>
+ <date>১৬ ডিসেম্বর ২০০৯</date>
+ <authorinitials>mal</authorinitials>
+ <revremark>GNOME doc-utils মাইগ্রেশন</revremark>
+ </revision>
+ </revhistory>
+
+ </bookinfo>
+
+ <!-- ======== Chapter 1: Introduction ======================== -->
+
+ <chapter id="introduction">
+ <title>ভূমিকা</title>
+
+ <para>এই অধ্যায়ে GTK-Doc সম্বন্ধে প্রারম্ভিক তথ্য ও এটির ব্যবহার ও মূল বিষয়বস্তু সম্পর্কে তথ্য উপস্থিত করা হয়েছে।</para>
+
+ <sect1 id="whatisgtkdoc">
+ <title>GTK-Doc কী?</title>
+
+ <para>GTK-Doc-র সাহায্যে C কোডের জন্য নথি তৈরি করা হয়। বিভিন্ন লাইব্রেরি যেমন GTK+ ও GNOME লাইব্রেরির পাবলিক API সম্বন্ধীয় নথি তৈরি করার জন্য এটি ব্যবহৃত হয়। অ্যাপ্লিকেশনের কোড সম্পর্কিত তথ্য লেখার জন্যও এটি ব্যবহার করা হয়।</para>
+ </sect1>
+
+ <sect1 id="howdoesgtkdocwork">
+ <title>GTK-Doc কীভাবে ব্যবহার করা যাবে?</title>
+
+ <para>
+ GTK-Doc works by using documentation of functions placed inside the source files in
+ specially-formatted comment blocks, or documentation added to the template files
+ which GTK-Doc uses (though note that GTK-Doc will only document functions that
+ are declared in header files; it won't produce output for static functions).
+ </para>
+
+ <para>GTK-Doc-র মধ্যে অনেকগুলি perl স্ক্রিপ্ট উপস্থিত রয়েছে ও প্রতিটি স্ক্রিপ্ট দ্বারা সম্পর্ণ প্রক্রিয়ার একটি ভিন্ন ধাপের কর্ম সঞ্চালন করা হয়।</para>
+
+ <para>এই প্রক্রিয়ার মধ্যে ৫-টি প্রধান ধাপ উপস্থিত রয়েছে:</para>
+
+ <orderedlist>
+
+ <listitem>
+ <para>
+ <guilabel>Writing the documentation.</guilabel>
+
+ The author fills in the source files with the documentation for each
+ function, macro, union etc. (In the past information was entered in
+ generated template files, which is not recommended anymore).
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <guilabel>Gathering information about the code.</guilabel>
+
+ <application>gtkdoc-scan</application> scans the header files of the
+ code looking for declarations of functions, macros, enums, structs, and unions.
+ It creates the file <filename><module>-decl-list.txt</filename> containg a list of the
+ declarations, placing them into sections according to which header file they
+ are in. On the first run this file is copied to <filename><module>-sections.txt</filename>.
+ The author can rearrange the sections, and the order of the
+ declarations within them, to produce the final desired order.
+ The second file it generates is <filename><module>-decl.txt</filename>.
+ This file contains the full declarations found by the scanner. If for
+ some reason one would like some symbols to show up in the docs, where
+ the full declaration cannot be found by the scanner or the declaration
+ should appear differently, one can place enties similar to the ones in
+ <filename><module>-decl.txt</filename> into <filename><module>-overrides.txt</filename>.
+
+ <application>gtkdoc-scanobj</application> can also be used to dynamically query a library about
+ any GtkObject subclasses it exports. It saves information about each
+ object's position in the class hierarchy and about any GTK Args and Signals it
+ provides.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para><guilabel>"template" ফাইল নির্মাণ।</guilabel> প্রথম ধাপে সংগ্রহ করা তথ্যের ভিত্তিতে <application>gtkdoc-mktmpl</application> দ্বারা <filename class="directory">tmpl/</filename> সাব-ডিরেক্টরির মধ্যে বেশ কয়েকটি ফাইল নির্মাণ করা হয়। (উল্লেখ্য, কোনো নথিপত্র হারিয়ে না ফেলার লক্ষ্যে, এই কাজটি পুনরাবৃত্তি করা হতে পারে।)</para>
+ <note>
+ <para>
+ Since GTK-Doc 1.9 the templates can be avoided. We encourage people to keep
+ documentation in the code. <application>gtkdocize</application> supports now
+ a <option>--flavour no-tmpl</option> option that chooses a makefile that
+ skips tmpl usage totally.
+ If you have never changed file in tmpl by hand, please remove the dir
+ (e.g. from version control system).
+ </para>
+ </note>
+ </listitem>
+
+ <listitem>
+ <para>
+ <guilabel>Generating the SGML/XML and HTML/PDF.</guilabel>
+
+ <application>gtkdoc-mkdb</application> turns the template files into
+ SGML or XML files in the <filename class="directory">sgml/</filename>
+ or <filename class="directory">xml/</filename> subdirectory.
+ If the source code contains documentation on functions, using the
+ special comment blocks, it gets merged in here. If there are no tmpl files used
+ it only reads docs from sources and introspection data. We recommend
+ to use Docbook XML.
+ </para>
+ <para>
+ <application>gtkdoc-mkhtml</application> turns the SGML/XML files into HTML
+ files in the <filename class="directory">html/</filename> subdirectory.
+ Likewise <application>gtkdoc-mkpdf</application> turns the SGML/XML files into a PDF
+ document called <filename><package>.pdf</filename>.
+ </para>
+ <para><filename class="directory">sgml/</filename> অথবা <filename class="directory">xml/</filename> ও <filename class="directory">html/</filename> ডিরেক্টরির মধ্যে উপস্থিত ফাইলগুলি সর্বদা নতুন করে লেখা হবে। এই ফাইলগুলি সরাসরি পরিবর্তন করা উচিত নয়।</para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <guilabel>Fixing up cross-references between documents.</guilabel>
+
+ After installing the HTML files, <application>gtkdoc-fixxref</application> can be run to fix up any
+ cross-references between separate documents. For example, the GTK+
+ documentation contains many cross-references to types documented in the GLib manual.
+
+ When creating the source tarball for distribution, <application>gtkdoc-rebase</application>
+ turns all external links into web-links. When installing distributed (pregenerated) docs
+ the same application will try to turn links back to local links
+ (where those docs are installed).
+ </para>
+ </listitem>
+ </orderedlist>
+
+ </sect1>
+
+ <sect1 id="gettinggtkdoc">
+ <title>GTK-Doc প্রাপ্ত করার প্রণালী</title>
+
+ <sect2 id="requirements">
+ <title>আবশ্যক মান</title>
+ <para><guilabel>Perl v5</guilabel> - প্রধান স্ক্রিপ্টগুলি Perl-এ লেখা হয়েছে।</para>
+ <para><guilabel>DocBook DTD v3.0</guilabel> - এটি DocBook SGML DTD। <ulink url="http://www.ora.com/davenport" type="http">http://www.ora.com/davenport</ulink></para>
+ <para><guilabel>Jade v1.1</guilabel> - SGML-কে বিভিন্ন বিন্যাসে পরিবর্তনের জন্য ব্যবহৃত এটি একটি DSSSL প্রসেসর। <ulink url="http://www.jclark.com/jade" type="http">http://www.jclark.com/jade</ulink></para>
+ <para>
+ <guilabel>Modular DocBook Stylesheets</guilabel>
+ This is the DSSSL code to convert DocBook to HTML (and a few other
+ formats). It's used together with jade.
+ I've customized the DSSSL code slightly, in gtk-doc.dsl, to colour
+ the program code listings/declarations, and to support global
+ cross-reference indices in the generated HTML.
+ <ulink url="http://nwalsh.com/docbook/dsssl" type="http">http://nwalsh.com/docbook/dsssl</ulink>
+ </para>
+ <para>
+ <guilabel>docbook-to-man</guilabel> - if you want to create man pages from the DocBook.
+ I've customized the 'translation spec' slightly, to capitalise section
+ headings and add the 'GTK Library' title at the top of the pages and the
+ revision date at the bottom.
+ There is a link to this on <ulink url="http://www.ora.com/davenport" type="http">http://www.ora.com/davenport</ulink>
+ NOTE: This does not work yet.
+ </para>
+ </sect2>
+
+ <sect2 id="installation">
+ <title>ইনস্টলেশনের প্রণালী</title>
+ <para>DocBook মডিউলার স্টাইল-শিট ইনস্টল করার কোনো প্রমিত স্থান উপস্থিত নেই।</para>
+ <para>GTK-Doc-র কনফিগার স্ক্রিপ্ট দ্বারা স্বয়ংক্রিয়ভাবে নিম্নলিখিত তিনটি ডিরেক্টরির মধ্যে অনুসন্ধান করা হয়:</para>
+ <para><filename> /usr/lib/sgml/stylesheets/nwalsh-modular </filename> (RedHat দ্বারা ব্যবহৃত)</para>
+ <para><filename> /usr/lib/dsssl/stylesheets/docbook </filename> (Debian দ্বারা ব্যবহৃত)</para>
+ <para><filename> /usr/share/sgml/docbkdsl </filename> (SuSE দ্বারা ব্যবহৃত)</para>
+ <para>স্টাইল-শিটগুলি অন্য কোনো স্থানে ইনস্টল করা হয়ে থাকলে, নিম্নলিখিত বিকল্প সহয়োগে GTK-Doc কনফিগার করতে হবে: <command> --with-dsssl-dir=<PATH_TO_TOPLEVEL_STYLESHEETS_DIR> </command></para>
+ </sect2>
+
+ </sect1>
+
+ <!-- not realy worth a section
+ <sect1 id="whentousegtkdoc">
+ <title>When to Use GTK-Doc</title>
+
+ <para>
+ (What things GTK-Doc should, and shouldn't, be used for.)
+ (- ???)
+ (- non C-based projects)
+ (+ Tutorials)
+ </para>
+
+ </sect1>
+ -->
+
+ <sect1 id="aboutgtkdoc">
+ <title>GTK-Doc পরিচিতি</title>
+
+ <para>(FIXME)</para>
+
+ <para>(পূর্ববর্তী তথ্য, লেখক, ওয়েব-পেজ, লাইসেন্স, ভবিষ্যতের প্রকল্প, অন্যান্য সমতূল্য সিস্টেমের সাথে তূলনা।)</para>
+
+ </sect1>
+
+ <sect1 id="aboutthismanual">
+ <title>এই সহায়িকার পরিচিতি</title>
+
+ <para>(FIXME)</para>
+
+ <para>(উদ্দিষ্ট পাঠকবৃন্দ, প্রাপ্তির স্থান, লাইসেন্স)</para>
+
+ </sect1>
+
+ </chapter>
+
+ <chapter id="settingup">
+ <title>প্রজেক্ট প্রস্তুত করার প্রণালী</title>
+
+ <para>
+ The next sections describe what steps to perform to integrate GTK-Doc into
+ your project. Theses sections assume we work on a project called 'meep'.
+ This project contains a library called 'libmeep' and
+ an end-user app called 'meeper'. We also assume you will be using autoconf
+ and automake. In addition section <link linkend="plain_makefiles">plain
+ makefiles or other build systems</link> will describe the basics needed to
+ work in a different build setup.
+ </para>
+
+ <sect1 id="settingup_docfiles">
+ <title>নথির একটি পরিকাঠামো নির্ধারণের প্রণালী</title>
+
+ <para>
+ Under your top-level project directory create folders called docs/reference
+ (this way you can also have docs/help for end-user documentation).
+ It is recommended to create another subdirectory with the name of the doc-package.
+ For packages with just one library this step is not necessary.
+ </para>
+
+ <para>
+ This can then look as shown below:
+ <example><title>ডিরেক্টরির বিন্যাসের উদাহরণ</title>
+ <programlisting>
+<![CDATA[
+meep/
+ docs/
+ reference/
+ libmeep/
+ meeper/
+ src/
+ libmeep/
+ meeper/
+]]>
+ </programlisting>
+ </example>
+ </para>
+ </sect1>
+
+ <sect1 id="settingup_autoconf">
+ <title>autoconf সহযোগে একত্রিত করার প্রণালী</title>
+
+ <para>এই কাজ অতিমাত্রায় সহজ! <filename>configure.ac</filename> স্ক্রিপ্টের মধ্যে একটি পংক্তি যোগ করুন।</para>
+
+ <para>
+ <example><title>autoconf সহযোগে একত্রিত করার প্রণালী</title>
+ <programlisting>
+<![CDATA[
+# check for gtk-doc
+GTK_DOC_CHECK([1.14],[--flavour no-tmpl])
+]]>
+ </programlisting>
+ </example>
+ </para>
+
+ <para>
+ This will require all developers to have gtk-doc installed. If it is
+ okay for your project to have optional api-doc build setup, you can
+ solve this as below. Keep it as is, as gtkdocize is looking for
+ <function>GTK_DOC_CHECK</function> at the start of a line.
+ <example><title>Keep gtk-doc optional</title>
+ <programlisting>
+<![CDATA[
+# check for gtk-doc
+m4_ifdef([GTK_DOC_CHECK], [
+GTK_DOC_CHECK([1.14],[--flavour no-tmpl])
+],[
+AM_CONDITIONAL([ENABLE_GTK_DOC], false)
+])
+]]>
+ </programlisting>
+ </example>
+ </para>
+
+ <para>
+ The first argument is used to check for the gtkdocversion at configure time.
+ The 2nd, optional argument is used by <application>gtkdocize</application>.
+ The <symbol>GTK_DOC_CHECK</symbol> macro also adds several configure switches:
+ </para>
+ <orderedlist>
+ <listitem><para>--with-html-dir=PATH : ইনস্টল করা ডকুমেন্টের পাথ</para></listitem>
+ <listitem><para>--enable-gtk-doc : use gtk-doc to build documentation [default=no]</para></listitem>
+ <listitem><para>--enable-gtk-doc-html : build documentation in html format [default=yes]</para></listitem>
+ <listitem><para>--enable-gtk-doc-pdf : build documentation in pdf format [default=no]</para></listitem>
+ </orderedlist>
+
+ <important>
+ <para>
+ GTK-Doc is disabled by default! Remember to pass the option
+ <option>'--enable-gtk-doc'</option> to the next
+ <filename>configure</filename> run. Otherwise pregenerated documentation is installed
+ (which makes sense for users but not for developers).
+ </para>
+ </important>
+
+ <para>
+ Furthermore it is recommended that you have the following line inside
+ you <filename>configure.ac</filename> script.
+ This allows <application>gtkdocize</application> to automatically copy the
+ macro definition for <function>GTK_DOC_CHECK</function> to your project.
+ </para>
+
+ <para>
+ <example><title>gtkdocize-র প্রস্তুতি</title>
+ <programlisting>
+<![CDATA[
+AC_CONFIG_MACRO_DIR(m4)
+]]>
+ </programlisting>
+ </example>
+ </para>
+ </sect1>
+
+ <sect1 id="settingup_automake">
+ <title>automake সহযোগে একত্রিত করার প্রণালী</title>
+
+ <para>
+ First copy the <filename>Makefile.am</filename> from the examples subdirectory of the gtkdoc-sources
+ to your project's API documentation directory (
+ <filename class="directory">./docs/reference/<package></filename>).
+ If you have multiple doc-packages repeat this for each one.
+ </para>
+
+ <para>
+ The next step is to edit the settings inside the <filename>Makefile.am</filename>.
+ All the settings have a comment above that describes their purpose.
+ Most settings are extra flags passed to the respective tools. Every tool
+ has a variable of the form <option><TOOLNAME>_OPTIONS</option>.
+ All the tools support <option>--help</option> to list the supported
+ parameters.
+ </para>
+
+ <!-- FIXME: explain options ? -->
+
+ <para>
+ You may also want to enable GTK-Doc for the distcheck make target. Just
+ add the one line shown in the next example to your top-level
+ <filename>Makefile.am</filename>:
+ </para>
+
+ <para>
+ <example><title>make distcheck-র সময় GTK-Doc সক্রিয় করুন</title>
+ <programlisting>
+<![CDATA[
+DISTCHECK_CONFIGURE_FLAGS=--enable-gtk-doc
+]]>
+ </programlisting>
+ </example>
+ </para>
+
+ </sect1>
+
+ <sect1 id="settingup_autogen">
+ <title>autogen সহযোগে একত্রিত করার প্রণালী</title>
+
+ <para>
+ Most projects will have an <filename>autogen.sh</filename> script to
+ setup the build infrastructure after a checkout from version control
+ system (such as cvs/svn/git). GTK-Doc comes with a tool called
+ <application>gtkdocize</application> which can be used in such a script.
+ It should be run before autoheader, automake or autoconf.
+ </para>
+
+ <para>
+ <example><title>autogen.sh থেকে gtkdocsize সঞ্চালনার প্রণালী</title>
+ <programlisting>
+<![CDATA[
+gtkdocize || exit 1
+]]>
+ </programlisting>
+ </example>
+ </para>
+
+ <para>
+ When running <application>gtkdocize</application> it copies
+ <filename>gtk-doc.make</filename> to your project root (or any directory
+ specified by the <option>--docdir</option> option).
+ It also checks you configure script for the <function>GTK_DOC_CHECK</function>
+ invocation. This macro can be used to pass extra parameters to
+ <application>gtkdocize</application>.
+ </para>
+
+ <para>
+ Historically GTK-Doc was generating template files where developers entered the docs.
+ This turned out to be not so good (e.g. the need for having generated
+ files under version control).
+ Since GTK-Doc 1.9 the tools can get all the information from source comments
+ and thus the templates can be avoided. We encourage people to keep
+ documentation in the code. <application>gtkdocize</application> supports now
+ a <option>--flavour no-tmpl</option> option that chooses a makefile that skips
+ tmpl usage totally. Besides adding the option directly to the command
+ invocation, they can be added also to an environment variable called <symbol>GTKDOCIZE_FLAGS</symbol>
+ or set as a 2nd parameter in <symbol>GTK_DOC_CHECK</symbol> macro in the configure script.
+ If you have never changed file in tmpl by hand and migrating from older gtkdoc versions,
+ please remove the dir (e.g. from version control system).
+ </para>
+ </sect1>
+
+ <sect1 id="settingup_firstrun">
+ <title>doc build সঞ্চালনার প্রণালী</title>
+
+ <para>
+ After the previous steps it's time to run the build. First we need to
+ rerun <filename>autogen.sh</filename>. If this script runs configure for
+ you, then give it the <option>--enable-gtk-doc</option> option.
+ Otherwise manually run <filename>configure</filename> with this option
+ afterwards.
+ </para>
+ <para>
+ The first make run generates several additional files in the doc-dirs.
+ The important ones are:
+ <filename><package>.types</filename>,
+ <filename><package>-docs.xml</filename> (in the past .sgml),
+ <filename><package>-sections.txt</filename>.
+ </para>
+ <para>
+ <example><title>doc build সঞ্চালনার প্রণালী</title>
+ <programlisting>
+<![CDATA[
+./autogen.sh --enable-gtk-doc
+make
+]]>
+ </programlisting>
+ </example>
+ </para>
+ <para>
+ Now you can point your browser to <filename>docs/reference/<package>/index.html</filename>.
+ Yes, it's a bit disappointing still. But hang-on, during the next chapter we
+ tell you how to fill the pages with life.
+ </para>
+ </sect1>
+
+ <sect1 id="settingup_vcs">
+ <title>ভার্সান কনট্রোল সিস্টেমের সাথে একত্রিত করার প্রণালী</title>
+
+ <para>
+ As a rule of the thumb, it's those files you edit, that should go under
+ version control. For typical projects it's these files:
+ <filename><package>.types</filename>,
+ <filename><package>-docs..xml</filename> (in the past .sgml),
+ <filename><package>-sections.txt</filename>,
+ <filename>Makefile.am</filename>
+ </para>
+ </sect1>
+
+ <sect1 id="plain_makefiles">
+ <title>Integration with plain makefiles or other build systems</title>
+
+ <para>
+ In the case one does not want to use automake and therfore
+ <filename>gtk-doc.mak</filename> one will need to call the gtkdoc tools
+ in the right order in own makefiles (or other build tools).
+ </para>
+
+ <para>
+ <example><title>Documentation build steps</title>
+ <programlisting>
+<![CDATA[
+DOC_MODULE=meep
+// sources have changed
+gtkdoc-scan --module=$(DOC_MODULE) --source-dir=...
+gtkdoc-scangobj --module=$(DOC_MODULE)
+gtkdoc-mkdb --module=$(DOC_MODULE) --output-format=xml
+// xml files have changed
+mkdir html
+cd html && gtkdoc-mkhtml $(DOC_MODULE) ../meep-docs.xml
+gtkdoc-fixxref --module=$(DOC_MODULE) --module-dir=html
+]]>
+ </programlisting>
+ </example>
+ </para>
+
+ <para>
+ One will need to look at the <filename>Makefile.am</filename> and
+ <filename>gtk-doc.mak</filename> to pick the extra options needed.
+ </para>
+ </sect1>
+
+ </chapter>
+
+ <chapter id="documenting">
+ <title>কোডের জন্য সহায়ক নথি লেখার প্রণালী</title>
+
+ <para>
+ GTK-Doc uses source code comment with a special syntax for code documentation.
+ Further it retrieves information about your project structure from other
+ sources. During the next section you will find all information about the
+ syntax of the comments.
+ </para>
+
+ <note>
+ <title>নথিপত্রের স্থাপনা</title>
+ <para>
+ In the past most documentation had to be filled into files residing
+ inside the <filename>tmpl</filename> directory. This has the
+ disadvantages that the information is often not updated and also that
+ the file tend to cause conflicts with version control systems.
+ </para>
+ <para>
+ The avoid the aforementioned problems we suggest putting the
+ documentation inside the sources. This manual will only describe this
+ way of documenting code.
+ </para>
+ </note>
+
+ <para>
+ The scanner can handle the majority of c headers fine. In the case of
+ receiving warnings from the scanner that look like a special case, one can
+ hint GTK-Doc to skip over them.
+ <example><title>GTK-Doc বিবৃতির অংশ</title>
+ <programlisting>
+<![CDATA[
+#ifndef __GTK_DOC_IGNORE__
+/* unparseable code here */
+#endif
+]]>
+ </programlisting>
+ </example>
+ </para>
+
+ <!-- -->
+
+ <sect1 id="documenting_syntax">
+ <title>নথিপত্রের মধ্যে বিবৃতি</title>
+
+ <para>
+ A multiline comment that starts with an additional '*' marks a
+ documentation block that will be processed by the GTK-Doc tools.
+ <example><title>GTK-Doc বিবৃতির অংশ</title>
+ <programlisting>
+<![CDATA[
+/**
+ * identifier:
+ * documentation ...
+ */
+]]>
+ </programlisting>
+ </example>
+ </para>
+
+ <para>
+ The 'identifier' is one line with the name of the item the comment is
+ related to. The syntax differs a little depending on the item.
+ (TODO add table showing identifiers)
+ </para>
+
+ <para>
+ The 'documentation' block is also different for each symbol type. Symbol
+ types that get parameters such as functions or macros have the parameter
+ description first followed by a blank line (just a '*').
+ Afterwards follows the detailed description. All lines (outside program-
+ listings and CDATA sections) just containing a ' *' (blank-asterisk) are
+ converted to paragraph breaks.
+ If you don't want a paragraph break, change that into ' * '
+ (blank-asterisk-blank-blank).
+ </para>
+
+ <tip>
+ <para>
+ When documenting code, describe two apsects:
+ <itemizedlist>
+ <listitem>
+ <para>
+ What it is: The name for a class or function can sometimes
+ be misleading for people coming from a different background.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ What it does: Tell about common uses. Put it in releation
+ with the other API.
+ </para>
+ </listitem>
+ </itemizedlist>
+ </para>
+ </tip>
+
+ <para>প্লেইন-টেক্সটের পরিবর্তে হাইপার-লিংক ব্যবহার করা হলে ডকুমেন্টের মধ্যে লিংক অন্তর্ভুক্ত করা সম্ভব হবে। কিন্তু লিংকের ক্ষেত্রে সঠিক markup লেখা পরিশ্রমের কাজ হতে পারে। GTK-Doc দ্বারা উপলব্ধ কয়েকটি সংক্ষিপ্ত শব্দের সাহায্যে এই কাজ হ্রাস করা যাবে। <itemizedlist>
+ <listitem>
+ <para>আর্গুমেন্ট গ্রহণকারী ফাংশান অথবা ম্যাক্রোর জন্য function() ব্যবহার করা হবে।</para>
+ </listitem>
+ <listitem>
+ <para>
+ Use @param to refer to parameters. Also use this when referring to
+ parameters of other functions, related to the one being described.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Use %constant to refer to a constant, e.g. %G_TRAVERSE_LEAFS.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Use #symbol to refer to other types of symbol, e.g. structs and
+ enums and macros which don't take arguments.
+ </para>
+ </listitem>
+ <listitem>
+ <para>GObject signal-র জন্য #Object::signal ব্যবহার করুন</para>
+ </listitem>
+ <listitem>
+ <para>GObject property-র জন্য #Object:property ব্যবহার করুন</para>
+ </listitem>
+ <listitem>
+ <para>স্ট্রাকচারের মধ্যে কোনো ফিল্ড চিহ্নিত করার জন্য #Struct.field প্রয়োগ করুন।</para>
+ </listitem>
+ </itemizedlist></para>
+
+ <tip>
+ <para>নথির মধ্যে কিছু বিশেষ অক্ষর যেমন '<', '>', '()', '@', '%', অথবা '#' প্রভৃতি ব্যবহার করতে ইচ্ছুক হলে GTK-Doc দ্বারা এইগুলিকে পরিবর্তন করতে প্রতিরোধ করার জন্য যথাক্রমে "&lt;", "&gt;", "&lpar;", "&rpar;", "&commat;", "&percnt;" and "&num;" XML এনটিটিগুলি ব্যবহার করুন অথবা ব্যাক-স্ল্যাশ চিহ্ন '\' সহযোগে এস্কেপ করানো আবশ্যক।</para>
+ </tip>
+
+ <para>
+ DocBook can do more than just links. One can also have lists, tables and
+ examples. To enable the usage of docbook SGML/XML tags inside
+ doc-comments you need to have <option>--xml-mode</option> or
+ <option>--sgml-mode</option> in the variable
+ <symbol>MKDB_OPTIONS</symbol> inside <filename>Makefile.am</filename>.
+ </para>
+
+ <para>
+ Since GTK-Doc-1.18 the tool supports a subset or the
+ <ulink url="http://daringfireball.net/projects/markdown/">markdown language</ulink>.
+ One can use it for sub-headings and simple itemized lists. On older
+ GTK-Doc versions the content will be rendered as it (the list items will
+ appear in one line separated by dashes).
+ <example><title>GTK-Doc comment block using markdown</title>
+ <programlisting>
+<![CDATA[
+/**
+ * identifier:
+ *
+ * documentation ...
+ *
+ * # Sub heading #
+ *
+ * more documentation:
+ * - list item 1
+ * - list item 2
+ *
+ * Even more docs.
+ */
+]]>
+ </programlisting>
+ </example>
+ </para>
+
+ <tip>
+ <para>
+ As already mentioned earlier GTK-Doc is for documenting public API. Thus
+ one cannot write documentation for static symbols. Nevertheless it is good
+ to comment those symbols too. This helps other to understand you code.
+ Therefore we recommend to comment these using normal comments (without the
+ 2nd '*' in the first line).
+ If later the function needs to be made public, all one needs to do is to
+ add another '*' in the comment block and insert the symbol name at the
+ right place inside the sections file.
+ </para>
+ </tip>
+ </sect1>
+
+ <sect1 id="documenting_sections">
+ <title>নথিপত্রের বিভাগ</title>
+
+ <para>
+ Each section of the documentation contains information about one class
+ or module. To introduce the component one can write a section block.
+ The short description is also used inside the table of contents.
+ All the @fields are optional.
+ </para>
+
+ <para>
+ <example><title>বিভাগ কমেন্ট ব্লক</title>
+ <programlisting>
+<![CDATA[
+/**
+ * SECTION:meepapp
+ * @short_description: the application class
+ * @title: Meep application
+ * @section_id:
+ * @see_also: #MeepSettings
+ * @stability: Stable
+ * @include: meep/app.h
+ * @image: application.png
+ *
+ * The application class handles ...
+ */
+]]>
+ </programlisting>
+ </example>
+ </para>
+
+ <variablelist>
+ <varlistentry>
+ <term>SECTION:<name></term>
+ <listitem>
+ <para>
+ The name links the section documentation to the respective part in
+ the <filename><package>-sections.txt</filename> file. The
+ name give here should match the <FILE> tag in the
+ <filename><package>-sections.txt</filename> file.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>@short_description</term>
+ <listitem>
+ <para>এক পংক্তি দ্বারা উল্লিখিত বিভাগের বিবরণ, সূচিপত্রের লিংকের পরে ও বিভাগের পৃষ্ঠার উপরে এই বিবরণ পরে প্রদর্শন করা হবে।</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>@title</term>
+ <listitem>
+ <para>
+ The section title defaults to <name> from the SECTION
+ declaration. It can be overridden with the @title field.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>@section_id</term>
+ <listitem>
+ <para>
+ Overrides the use of title as a section identifier. For GObjects
+ the <title> is used as a section_id and for other sections
+ it is <MODULE>-<title>.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>@see_also</term>
+ <listitem>
+ <para>
+ A list of symbols that are related to this section.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>@stability</term>
+ <listitem>
+ <para>চিহ্নিত API-র স্থায়ীত্বের পরিমানের আনুমানিক বিবরণ। চিহ্নিত কোনো অভিব্যক্তির ব্যবহার বাঞ্ছনীয়: <itemizedlist>
+ <listitem>
+ <para>
+ Stable
+ - The intention of a Stable interface is to enable arbitrary
+ third parties to develop applications to these interfaces,
+ release them, and have confidence that they will run on all
+ minor releases of the product (after the one in which the
+ interface was introduced, and within the same major release).
+ Even at a major release, incompatible changes are expected
+ to be rare, and to have strong justifications.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Unstable
+ - Unstable interfaces are experimental or transitional.
+ They are typically used to give outside developers early
+ access to new or rapidly changing technology, or to provide
+ an interim solution to a problem where a more general
+ solution is anticipated.
+ No claims are made about either source or binary
+ compatibility from one minor release to the next.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Private
+ - An interface that can be used within the GNOME stack
+ itself, but that is not documented for end-users. Such
+ functions should only be used in specified and documented
+ ways.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Internal
+ - An interface that is internal to a module and does not
+ require end-user documentation. Functions that are
+ undocumented are assumed to be Internal.
+ </para>
+ </listitem>
+ </itemizedlist></para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>@include</term>
+ <listitem>
+ <para>
+ The <literal>#include</literal> files to show in the section
+ synopsis (a comma separated list), overriding the global
+ value from the <link linkend="metafiles_sections">section
+ file</link> or command line. This item is optional.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>@image</term>
+ <listitem>
+ <para>
+ The image to display at the top of the reference page for this
+ section. This will often be some sort of a diagram to illustrate
+ the visual appearance of a class or a diagram of its relationship
+ to other classes. This item is optional.
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+
+ <tip>
+ <para>
+ To avoid unnecessary recompilation after doc-changes put the section
+ docs into the c-source where possible.
+ </para>
+ </tip>
+
+ </sect1>
+
+ <sect1 id="documenting_symbols">
+ <title>নথিপত্রের সংকেত</title>
+
+ <para>
+ Each symbol (function, macro, struct, enum, signal and property) is
+ documented in a separate block. The block is best placed close to the
+ definition of the symbols so that it is easy to keep them in sync.
+ Thus functions are usually documented in the c-source and macros,
+ structs and enums in the header file.
+ </para>
+
+ <sect2><title>সাধারণ ট্যাগ</title>
+
+ <para>
+ You can add versioning information to all documentation elements to tell
+ when an api was introduced, or when it was deprecated.
+ </para>
+
+ <variablelist><title>সংস্করণ সংক্রান্ত ট্যাগ</title>
+ <varlistentry><term>প্রারম্ভ:</term>
+ <listitem>
+ <para>API-টি কোডের কোন সংস্করণ থেকে উপলব্ধ রয়েছে সেটির বিবরণ।</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry><term>অবচিত:</term>
+ <listitem>
+ <para>উল্লিখিত ফাংশান ব্যবহার না করার চিহ্নকারী অনুচ্ছেদ। এই বিবরণের সাহায্যে পাঠাকদেরকে নতুন API নির্দেশ করা হবে।</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+
+ <para>(FIXME : স্থায়ীত্ব সংক্রান্ত তথ্য)</para>
+
+ <example><title>সাধারণ ট্যাগ</title>
+ <programlisting>
+<![CDATA[
+/**
+ * foo_get_bar:
+ * @foo: some foo
+ *
+ * Retrieves @foo's bar.
+ *
+ * Returns: @foo's bar
+ *
+ * Since: 2.6
+ * Deprecated: 2.12: Use foo_baz_get_bar() instead.
+ **/
+Bar *
+foo_get_bar(Foo *foo)
+{
+...
+]]>
+ </programlisting>
+ </example>
+ </sect2>
+
+ <sect2><title>ফাংশান কমেন্টের ব্লক</title>
+
+ <para>অনুগ্রহ করে খেয়াল রাখবেন: <itemizedlist>
+ <listitem>
+ <para>
+ Document whether returned objects, lists, strings, etc, should be
+ freed/unrefed/released.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Document whether parameters can be NULL, and what happens if they are.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Mention interesting pre-conditions and post-conditions where appropriate.
+ </para>
+ </listitem>
+ </itemizedlist></para>
+
+ <para>
+ Gtk-doc assumes all symbols (macros, functions) starting with '_' are
+ private. They are treated like static functions.
+ </para>
+
+ <para>উপরন্তু, gobject introspection annotation ট্যাগ দেখুন: http://live.gnome.org/GObjectIntrospection/Annotations</para>
+
+ <example><title>ফাংশান কমেন্টের ব্লক</title>
+ <programlisting>
+<![CDATA[
+/**
+ * function_name:
+ * @par1: description of parameter 1. These can extend over more than
+ * one line.
+ * @par2: description of parameter 2
+ * @...: a %NULL-terminated list of bars
+ *
+ * The function description goes here. You can use @par1 to refer to parameters
+ * so that they are highlighted in the output. You can also use %constant
+ * for constants, function_name2() for functions and #GtkWidget for links to
+ * other declarations (which may be documented elsewhere).
+ *
+ * Returns: an integer.
+ *
+ * Since: 2.2
+ * Deprecated: 2.18: Use other_function() instead.
+ */
+]]>
+ </programlisting>
+ </example>
+
+ <variablelist><title>ফাংশান সংক্রান্ত ট্যাগ</title>
+ <varlistentry><term>প্রাপ্ত মান:</term>
+ <listitem>
+ <para>প্রাপ্ত ফলাফলের বর্ণনা উপলব্ধকারী অনুচ্ছেদ।</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry><term>@...:</term>
+ <listitem>
+ <para>
+ In case the function has variadic arguments, you should use this
+ tag (@Varargs: does also work for historic reasons).
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+
+ </sect2>
+
+ <sect2><title>Property কমেন্টের ব্লক</title>
+
+ <example><title>Property কমেন্টের ব্লক</title>
+ <programlisting>
+<![CDATA[
+/**
+ * SomeWidget:some-property:
+ *
+ * Here you can document a property.
+ */
+g_object_class_install_property (object_class, PROP_SOME_PROPERTY, ...);
+]]>
+ </programlisting>
+ </example>
+
+ </sect2>
+
+ <sect2><title>Signal কমেন্টের ব্লক</title>
+
+ <para>অনুগ্রহ করে খেয়াল রাখবেন: <itemizedlist>
+ <listitem>
+ <para>
+ Document when the signal is emitted and whether it is emitted before
+ or after other signals.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Document what an application might do in the signal handler.
+ </para>
+ </listitem>
+ </itemizedlist></para>
+
+ <example><title>Signal কমেন্টের ব্লক</title>
+ <programlisting>
+<![CDATA[
+/**
+ * FooWidget::foobarized:
+ * @widget: the widget that received the signal
+ * @foo: some foo
+ * @bar: some bar
+ *
+ * The ::foobarized signal is emitted each time someone tries to foobarize @widget.
+ */
+foo_signals[FOOBARIZE] =
+ g_signal_new ("foobarize",
+ ...
+]]>
+ </programlisting>
+ </example>
+
+ </sect2>
+
+ <sect2><title>Struct কমেন্টের ব্লক</title>
+ <example><title>Struct কমেন্টের ব্লক</title>
+ <programlisting>
+<![CDATA[
+/**
+ * FooWidget:
+ * @bar: some #gboolean
+ *
+ * This is the best widget, ever.
+ */
+typedef struct _FooWidget {
+ /*< private >*/
+ GtkWidget parent;
+
+ /*< public >*/
+ gboolean bar;
+} FooWidget;
+]]>
+ </programlisting>
+ </example>
+
+ <para>
+ Use <code>/*< private >*/</code> before the private struct fields
+ you want to hide. Use <code>/*< public >*/</code> for the reverse
+ behaviour.
+ </para>
+
+ <para>
+ Struct comment blocks can also be used for GObjects and GObjectClasses.
+ It is usualy a good idea to add a comment blco for a class, if it has
+ vmethods (as this is how they can be documented). For the GObject
+ itself one can use the related section docs, having a separate block
+ for the instance struct would be useful if the instance has public
+ fields. One disadvantage here is that this creates two index entries
+ of the same name (the structure and the section).
+ </para>
+
+ </sect2>
+
+ <sect2><title>Enum কমেন্টের ব্লক</title>
+ <example><title>Enum কমেন্টের ব্লক</title>
+ <programlisting>
+<![CDATA[
+/**
+ * Something:
+ * @SOMETHING_FOO: something foo
+ * @SOMETHING_BAR: something bar
+ *
+ * Enum values used for the thing, to specify the thing.
+ *
+ **/
+typedef enum {
+ SOMETHING_FOO,
+ SOMETHING_BAR,
+ /*< private >*/
+ SOMETHING_COUNT
+} Something;
+]]>
+ </programlisting>
+ </example>
+
+ <para>
+ Use <code>/*< private >*/</code> before the private enum values
+ you want to hide. Use <code>/*< public >*/</code> for the reverse
+ behaviour.
+ </para>
+
+ </sect2>
+ </sect1>
+
+ <sect1 id="documenting_docbook">
+ <title>সুবিধাজনক DocBook ট্যাগ</title>
+
+ <para>কোড নথিভুক্ত করার সময় সহায়ক কিছু DocBook ট্যাগ এইখানে উল্লেখ করা হল।</para>
+
+ <para>
+ To link to another section in the GTK docs:
+
+ <informalexample>
+ <programlisting>
+<![CDATA[
+<link linkend="glib-Hash-Tables">Hash Tables</link>
+]]>
+ </programlisting>
+ </informalexample>
+ The linkend is the SGML/XML id on the top item of the page you want to link to.
+ For most pages this is currently the part ("gtk", "gdk", "glib") and then
+ the page title ("Hash Tables"). For widgets it is just the class name.
+ Spaces and underscores are converted to '-' to conform to SGML/XML.
+ </para>
+
+ <para>
+ To refer to an external function, e.g. a standard C function:
+ <informalexample>
+ <programlisting>
+<![CDATA[
+<function>...</function>
+]]>
+ </programlisting>
+ </informalexample>
+ </para>
+
+ <para>
+ To include example code:
+ <informalexample>
+ <programlisting>
+<![CDATA[
+<example>
+ <title>Using a GHashTable.</title>
+ <programlisting>
+ ...
+ </programlisting>
+</example>
+]]>
+ </programlisting>
+ </informalexample>
+ or possibly this, for very short code fragments which don't need a title:
+ <informalexample>
+ <programlisting>
+<![CDATA[
+<informalexample>
+ <programlisting>
+ ...
+ </programlisting>
+</informalexample>
+]]>
+ </programlisting>
+ </informalexample>
+ For the latter GTK-Doc also supports an abbreviation:
+<![CDATA[
+|[
+ ...
+]|
+]]>
+ </para>
+
+ <para>বুলেট চিহ্ন সহ তালিকা অন্তর্ভুক্ত করার জন্য ব্যবহার করুন: <informalexample>
+ <programlisting>
+<![CDATA[
+<itemizedlist>
+ <listitem>
+ <para>
+ ...
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ ...
+ </para>
+ </listitem>
+</itemizedlist>
+]]>
+ </programlisting>
+ </informalexample></para>
+
+ <para>
+ To include a note which stands out from the text:
+ <informalexample>
+ <programlisting>
+<![CDATA[
+<note>
+ <para>
+ Make sure you free the data after use.
+ </para>
+</note>
+]]>
+ </programlisting>
+ </informalexample>
+ </para>
+
+ <para>কোনো টাইপ উল্লেখ করা জন্য: <informalexample>
+ <programlisting>
+<![CDATA[
+<type>unsigned char</type>
+]]>
+ </programlisting>
+ </informalexample></para>
+
+ <para>
+ To refer to an external structure (not one described in the GTK docs):
+ <informalexample>
+ <programlisting>
+<![CDATA[
+<structname>XFontStruct</structname>
+]]>
+ </programlisting>
+ </informalexample>
+ </para>
+
+ <para>কোনো স্ট্রাকচারের ফিল্ড উল্লেখ করার জন্য: <informalexample>
+ <programlisting>
+<![CDATA[
+<structfield>len</structfield>
+]]>
+ </programlisting>
+ </informalexample></para>
+
+ <para>
+ To refer to a class name, we could possibly use:
+ <informalexample>
+ <programlisting>
+<![CDATA[
+<classname>GtkWidget</classname>
+]]>
+ </programlisting>
+ </informalexample>
+ but you'll probably be using #GtkWidget instead (to automatically create
+ a link to the GtkWidget page - see <link linkend="documenting_syntax">the abbreviations</link>).
+ </para>
+
+ <para>টেক্সট বিশেষভাবে উল্লেখ করার জন্য: <informalexample>
+ <programlisting>
+<![CDATA[
+<emphasis>This is important</emphasis>
+]]>
+ </programlisting>
+ </informalexample></para>
+
+ <para>ফাইলের নামের জন্য ব্যবহার করুন: <informalexample>
+ <programlisting>
+<![CDATA[
+<filename>/home/user/documents</filename>
+]]>
+ </programlisting>
+ </informalexample></para>
+
+ <para>কি উল্লেখ করার জন্য ব্যবহার করুন: <informalexample>
+ <programlisting>
+<![CDATA[
+<keycombo><keycap>Control</keycap><keycap>L</keycap></keycombo>
+]]>
+ </programlisting>
+ </informalexample></para>
+
+ </sect1>
+ </chapter>
+
+ <chapter id="metafiles">
+ <title>Filling the extra files</title>
+
+ <para>
+ There are a couple of extra files, that need to be maintained along with
+ the inline source code comments:
+ <filename><package>.types</filename>,
+ <filename><package>-docs.xml</filename> (in the past .sgml),
+ <filename><package>-sections.txt</filename>.
+ </para>
+
+ <sect1 id="metafiles_types">
+ <title>Editing the types file</title>
+
+ <para>
+ If your library or application includes GtkObjects/GObjects, you want
+ their signals, arguments/parameters and position in the hierarchy to be
+ shown in the documentation. All you need to do, is to list the
+ <function>xxx_get_type</function> functions together with their include
+ inside the <filename><package>.types</filename> file.
+ </para>
+
+ <para>
+ <example><title>Example types file snippet</title>
+ <programlisting>
+<![CDATA[
+#include <gtk/gtk.h>
+
+gtk_accel_label_get_type
+gtk_adjustment_get_type
+gtk_alignment_get_type
+gtk_arrow_get_type
+]]>
+ </programlisting>
+ </example>
+ </para>
+
+ <para>
+ Since GTK-Doc 1.8 <application>gtkdoc-scan</application> can generate this list for you.
+ Just add "--rebuild-types" to SCAN_OPTIONS in <filename>Makefile.am</filename>. If you
+ use this approach you should not dist the types file nor have it under version control.
+ </para>
+
+ </sect1>
+
+ <sect1 id="metafiles_master">
+ <title>প্রধান নথি সম্পাদনা</title>
+
+ <para>
+ GTK-Doc produces documentation in DocBook SGML/XML. When processing the
+ inline source comments, the GTK-Doc tools generate one documentation
+ page per class or module as a separate file. The master document
+ includes them and place them in an order.
+ </para>
+
+ <para>
+ While GTK-Doc creates a template master document for you, later run will
+ not touch it again. This means that one can freely structure the
+ documentation. That includes grouping pages and adding extra pages.
+ GTK-Doc has now a test suite, where also the master-document is recreated from scratch.
+ Its a good idea to look at this from time to time to see if there are some new goodies
+ introduced there.
+ </para>
+
+ <tip>
+ <para>
+ Do not create tutorials as extra documents. Just write extra chapters.
+ The benefit of directly embedding the tutorial for your library into
+ the API documentation is that it is easy to link for the tutorial to
+ symbol documentation. Apart chances are higher that the tutorial gets
+ updates along with the library.
+ </para>
+ </tip>
+
+ <para>
+ So what are the things to change inside the master document? For a start
+ is only a little. There are some placeholders (text in square brackets)
+ there which you should take care of.
+ </para>
+
+ <para>
+ <example><title>প্রধা নথির হেডার</title>
+ <programlisting>
+<![CDATA[
+<bookinfo>
+ <title>MODULENAME Reference Manual</title>
+ <releaseinfo>
+ for MODULENAME [VERSION]
+ The latest version of this documentation can be found on-line at
+ <ulink role="online-location" url="http://[SERVER]/MODULENAME/index.html">http://[SERVER]/MODULENAME/</ulink>.
+ </releaseinfo>
+</bookinfo>
+
+<chapter>
+ <title>[Insert title here]</title>
+]]>
+ </programlisting>
+ </example>
+ </para>
+
+ </sect1>
+
+ <sect1 id="metafiles_sections">
+ <title>বিভাগের ফাইল সম্পাদনা</title>
+
+ <para>
+ The section file is used to organise the documentation output by
+ GTK-Doc. Here one specifies which symbol belongs to which module or
+ class and control the visibility (public or private).
+ </para>
+
+ <para>
+ The section file is a plain test file with xml like syntax (using tags).
+ Blank lines are ignored and lines starting with a '#' are treated as
+ comment lines.
+ </para>
+
+ <para>
+ The <FILE> ... </FILE> tag is used to specify the file name,
+ without any suffix. For example, using '<FILE>gnome-config</FILE>'
+ will result in the section declarations being output in the template
+ file <filename>tmpl/gnome-config.sgml</filename>, which will be
+ converted into the DocBook SGML/XML file <filename>sgml/gnome-config.sgml</filename>
+ or .DocBook XML file <filename>xml/gnome-config.xml</filename>.
+ (The name of the html file is based on the module name and the section
+ title, or for gobjects it is based on the gobjects class name converted
+ to lower case).
+ </para>
+
+ <para>
+ The <TITLE> ... </TITLE> tag is used to specify the title of
+ the section. It is only useful before the templates (if used) are
+ initially created, since the title set in the template file overrides
+ this. Also if one uses SECTION comment in the sources, this is obsolete.
+ </para>
+
+ <para>
+ You can group items in the section by using the <SUBSECTION> tag.
+ Currently it outputs a blank line between subsections in the synopsis
+ section.
+ You can also use <SUBSECTION Standard> for standard GObject
+ declarations (e.g. the functions like g_object_get_type and macros like
+ G_OBJECT(), G_IS_OBJECT() etc.).
+ Currently these are left out of the documentation.
+ You can also use <SUBSECTION Private> for private declarations
+ which will not be output (It is a handy way to avoid warning messages
+ about unused declarations.).
+ If your library contains private types which you don't want to appear in
+ the object hierarchy and the list of implemented or required interfaces,
+ add them to a Private subsection.
+ Wheter you would place GObject and GObjectClass like structs in public
+ or Standard section depends if they have public entries (variables,
+ vmethods).
+ </para>
+
+ <para>
+ You can also use <INCLUDE> ... </INCLUDE> to specify the
+ #include files which are shown in the synopsis sections.
+ It contains a comma-separate list of #include files, without the angle
+ brackets. If you set it outside of any sections, it acts for all
+ sections until the end of the file. If you set it within a section, it
+ only applies to that section.
+ </para>
+
+ </sect1>
+
+ </chapter>
+
+ <chapter id="reports">
+ <title>ফলাফল নিয়ন্ত্রণের প্রণালী</title>
+
+ <para>
+ A GTK-Doc run generates report files inside the documentation directory.
+ The generated files are named:
+ <filename><package>-undocumented.txt</filename>,
+ <filename><package>-undeclared.txt</filename> and
+ <filename><package>-unused.txt</filename>.
+ All those are plain text files that can be viewed and postprocessed easily.
+ </para>
+
+ <para>
+ The <filename><package>-undocumented.txt</filename> file starts with
+ the documentation coverage summary. Below are two sections divided by
+ blank lines. The first section lists undocumented or incomplete symbols.
+ The second section does the same for section docs. Incomplete entries are
+ those, which have documentation, but where e.g. a new parameter has been
+ added.
+ </para>
+
+ <para>
+ The <filename><package>-undeclared.txt</filename> file lists symbols
+ given in the <filename><package>-sections.txt</filename> but not
+ found in the sources. Check if they have been removed or if they are
+ misspelled.
+ </para>
+
+ <para>
+ The <filename><package>-unused.txt</filename> file lists symbol
+ names, where the GTK-Doc scanner has found documentation, but does not
+ know where to put it. This means that the symbol has not yet been added to
+ the <filename><package>-sections.txt</filename> file.
+ </para>
+
+ <tip>
+ <para>
+ Enable or add the <option>TESTS=$(GTKDOC_CHECK)</option> line in Makefile.am.
+ If at least GTK-Doc 1.9 is installed, this will run sanity checks during
+ <command>make check</command> run.
+ </para>
+ </tip>
+
+ <para>
+ One can also look at the files produced by the source code scanner:
+ <filename><package>-decl-list.txt</filename> and
+ <filename><package>-decl.txt</filename>. The first one can be
+ compared with the section file if that is manualy maintained. The second
+ lists all declarations fromt he headers If a symbol is missing one could
+ check if this file contains it.
+ </para>
+
+ <para>
+ If the project is GObject based, one can also look into the files produced
+ by the object scanner:
+ <filename><package>.args.txt</filename>,
+ <filename><package>.hierarchy.txt</filename>,
+ <filename><package>.interfaces.txt</filename>,
+ <filename><package>.prerequisites.txt</filename> and
+ <filename><package>.signals.txt</filename>. If there are missing
+ symbols in any of those, one can ask gtkdoc to keep the intermedia scanner
+ file for further analysis, but running it as
+ <command>GTK_DOC_KEEP_INTERMEDIATE=1 make</command>.
+ </para>
+ </chapter>
+
+ <chapter id="documenting-others">
+ <title>Documenting other interfaces</title>
+
+ <para>
+ So far we have been using GTK-Doc to document the API of code. The next
+ sections contain suggestions how the tools can be used to document other
+ interfaces too.
+ </para>
+
+ <sect1 id="commandline-interfaces">
+ <title>Commandline options and man pages</title>
+
+ <para>
+ As one can generate man pages for a docbook refentry as well, it sounds
+ like a good idea to use it for that purpose. This way the interface is
+ part of the reference and one gets the man-page for free.
+ </para>
+
+ <sect2 id="commandline-interfaces-file">
+ <title>Document the tool</title>
+
+ <para>
+ Create one refentry file per tool. Following
+ <link linkend="settingup_docfiles">our example</link> we would call it
+ <filename>meep/docs/reference/meeper/meep.xml</filename>. For the xml
+ tags that should be used and can look at generated file in the xml
+ subdirectory as well as examples e.g. in glib.
+ </para>
+ </sect2>
+
+ <sect2 id="commandline-interfaces-configure">
+ <title>Adding the extra configure check</title>
+
+ <para>
+ <example><title>Extra configure checks</title>
+ <programlisting>
+<![CDATA[
+AC_ARG_ENABLE(man,
+ [AC_HELP_STRING([--enable-man],
+ [regenerate man pages from Docbook [default=no]])],enable_man=yes,
+ enable_man=no)
+
+AC_PATH_PROG([XSLTPROC], [xsltproc])
+AM_CONDITIONAL(ENABLE_MAN, test x$enable_man != xno)
+]]>
+ </programlisting>
+ </example>
+ </para>
+ </sect2>
+
+ <sect2 id="commandline-interfaces-make">
+ <title>Adding the extra makefile rules</title>
+
+ <para>
+ <example><title>Extra configure checks</title>
+ <programlisting>
+<![CDATA[
+man_MANS = \
+ meeper.1
+
+if ENABLE_GTK_DOC
+if ENABLE_MAN
+
+%.1 : %.xml
+ @XSLTPROC@ -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
+
+endif
+endif
+
+BUILT_EXTRA_DIST = $(man_MANS)
+EXTRA_DIST += meep.xml
+]]>
+ </programlisting>
+ </example>
+ </para>
+ </sect2>
+ </sect1>
+
+ <sect1 id="dbus-interfaces">
+ <title>DBus interfaces</title>
+
+ <para>
+ (FIXME: http://hal.freedesktop.org/docs/DeviceKit/DeviceKit.html,
+http://cgit.freedesktop.org/DeviceKit/DeviceKit/tree/doc/dbus)
+ </para>
+ </sect1>
+
+ </chapter>
+
+ <chapter id="faq">
+ <title>Frequently asked questions</title>
+
+ <segmentedlist>
+ <?dbhtml list-presentation="list"?>
+ <segtitle>প্রশ্ন</segtitle>
+ <segtitle>উত্তর</segtitle>
+ <seglistitem>
+ <seg>কোনো ক্লাস অনুক্রম নেই।</seg>
+ <seg>
+ The objects <function>xxx_get_type()</function> function has not been
+ entered into the <filename><package>.types</filename> file.
+ </seg>
+ </seglistitem>
+ <seglistitem>
+ <seg>তথাপি ক্লাসের কোনো অনুক্রম নেই।</seg>
+ <seg><filename><package>-sections.txt</filename> ফাইলের মধ্যে নাম অনুপস্থিত অথবা ভুল (<ulink url="http://mail.gnome.org/archives/gtk-doc-list/2003-October/msg00006.html">বর্ণনা</ulink> দেখুন)।</seg>
+ </seglistitem>
+ <seglistitem>
+ <seg>এখনো কোনো ক্লাস অনুক্রম নেই।</seg>
+ <seg>
+ Is the object name (name of the instance struct, e.g. <type>GtkWidget</type>)
+ part of the normal section (don't put this into Standard or Private
+ subsections).
+ </seg>
+ </seglistitem>
+ <seglistitem>
+ <seg>সংকেতের ইন্ডেক্স অনুপস্থিত।</seg>
+ <seg>
+ Does the <filename><package>-docs.{xml,sgml}</filename> contain a
+ index that xi:includes the generated index?
+ </seg>
+ </seglistitem>
+ <seglistitem>
+ <seg>সিম্বলগুলি doc-section-র সাথে যুক্ত নয়।</seg>
+ <seg>
+ Is the doc-comment using the correct markup (added #,% or ())?
+ Check if the gtkdoc-fixxref warns about unresolvable xrefs.
+ </seg>
+ </seglistitem>
+ <seglistitem>
+ <seg>নথির মধ্যে নতুন শ্রেণী উপস্থিত নেই।</seg>
+ <seg>নতুন পৃষ্ঠাটি <filename><package>-docs.{xml,sgml}</filename> থেকে xi:include করে নির্মিত হয়েছে কি।</seg>
+ </seglistitem>
+ <seglistitem>
+ <seg>নথির মধ্যে নতুন সিম্বল অন্তর্ভুক্ত নয়।</seg>
+ <seg>
+ Is the doc-comment properly formatted. Check for spelling mistakes in
+ the begin of the comment. Check if the gtkdoc-fixxref warns about
+ unresolvable xrefs. Check if the symbol is correctly listed in the
+ <filename><package>-sections.txt</filename> in a public subsection.
+ </seg>
+ </seglistitem>
+ <seglistitem>
+ <seg>ক্লাস অনুক্রম থেকে টাইপ অনুপস্থিত।</seg>
+ <seg>
+ If the type is listed in <filename><package>.hierarchy</filename>
+ but not in <filename>xml/tree_index.sgml</filename> then double check
+ that the type is correctly placed in the <filename><package>-sections.txt</filename>.
+ If the type instance (e.g. <type>GtkWidget</type>) is not listed or
+ incidentialy makred private it will not be shown.
+ </seg>
+ </seglistitem>
+ <seglistitem>
+ <seg>সকল gobject অ্যানোটেশনের জন্য foldoc লিংক পাওয়া গিয়েছে।</seg>
+ <seg><filename>xml/annotation-glossary.xml</filename>-কে <filename><package>-docs.{xml,sgml}</filename> থেকে xi:included করা হয়েছে কি না পরীক্ষা করুন।</seg>
+ </seglistitem>
+
+ <!-- gtk-doc warnings: -->
+ <seglistitem>
+ <seg>Parameter described in source code comment block but does not exist</seg>
+ <seg>Check if the prototype in the header has different parameter names as in the source.</seg>
+ </seglistitem>
+
+ <!-- docbook warnings: -->
+ <seglistitem>
+ <seg>multiple "IDs" for constraint linkend: XYZ</seg>
+ <seg>Symbol XYZ appears twice in <filename><package>-sections.txt</filename> file.</seg>
+ </seglistitem>
+ <seglistitem>
+ <seg>Element typename in namespace '' encountered in para, but no template matches.</seg>
+ <seg/>
+ </seglistitem>
+ </segmentedlist>
+ </chapter>
+
+ <chapter id="contrib">
+ <title>Tools related to gtk-doc</title>
+
+ <para>
+ GtkDocPlugin - a <ulink url="http://trac-hacks.org/wiki/GtkDocPlugin">Trac GTK-Doc</ulink>
+ integration plugin, that adds api docs to a trac site and integrates with
+ the trac search.
+ </para>
+ <para>
+ Gtkdoc-depscan - a tool (part of gtk-doc) to check used API against since
+ tags in the api to determine the minimum required version.
+ </para>
+
+ </chapter>
+
+ <!-- ======== Appendix: FDL ================================== -->
+ <!--
+ The GNU Free Documentation License 1.1 in DocBook
+ Markup by Eric Baudais <baudais@okstate.edu>
+ Maintained by the GNOME Documentation Project
+ http://developer.gnome.org/projects/gdp
+ Version: 1.0.1
+ Last Modified: Nov 16, 2000
+-->
+
+<appendix id="fdl">
+ <appendixinfo>
+ <releaseinfo>
+ Version 1.1, March 2000
+ </releaseinfo>
+ <copyright>
+ <year>2000</year><holder>Free Software Foundation, Inc.</holder>
+ </copyright>
+ <legalnotice id="fdl-legalnotice">
+ <para>
+ <address>Free Software Foundation, Inc. <street>51 Franklin Street,
+ Suite 330</street>, <city>Boston</city>, <state>MA</state>
+ <postcode>02110-1301</postcode> <country>USA</country></address>
+ Everyone is permitted to copy and distribute verbatim copies of this
+ license document, but changing it is not allowed.
+ </para>
+ </legalnotice>
+ </appendixinfo>
+ <title>GNU Free Documentation License</title>
+
+ <sect1 id="fdl-preamble">
+ <title>0. PREAMBLE</title>
+ <para>
+ The purpose of this License is to make a manual, textbook, or
+ other written document <quote>free</quote> in the sense of
+ freedom: to assure everyone the effective freedom to copy and
+ redistribute it, with or without modifying it, either
+ commercially or noncommercially. Secondarily, this License
+ preserves for the author and publisher a way to get credit for
+ their work, while not being considered responsible for
+ modifications made by others.
+ </para>
+
+ <para>
+ This License is a kind of <quote>copyleft</quote>, which means
+ that derivative works of the document must themselves be free in
+ the same sense. It complements the GNU General Public License,
+ which is a copyleft license designed for free software.
+ </para>
+
+ <para>
+ We have designed this License in order to use it for manuals for
+ free software, because free software needs free documentation: a
+ free program should come with manuals providing the same
+ freedoms that the software does. But this License is not limited
+ to software manuals; it can be used for any textual work,
+ regardless of subject matter or whether it is published as a
+ printed book. We recommend this License principally for works
+ whose purpose is instruction or reference.
+ </para>
+ </sect1>
+ <sect1 id="fdl-section1">
+ <title>1. APPLICABILITY AND DEFINITIONS</title>
+ <para id="fdl-document">
+ This License applies to any manual or other work that contains a
+ notice placed by the copyright holder saying it can be
+ distributed under the terms of this License. The
+ <quote>Document</quote>, below, refers to any such manual or
+ work. Any member of the public is a licensee, and is addressed
+ as <quote>you</quote>.
+ </para>
+
+ <para id="fdl-modified">
+ A <quote>Modified Version</quote> of the Document means any work
+ containing the Document or a portion of it, either copied
+ verbatim, or with modifications and/or translated into another
+ language.
+ </para>
+
+ <para id="fdl-secondary">
+ A <quote>Secondary Section</quote> is a named appendix or a
+ front-matter section of the <link linkend="fdl-document">Document</link> that deals exclusively
+ with the relationship of the publishers or authors of the
+ Document to the Document's overall subject (or to related
+ matters) and contains nothing that could fall directly within
+ that overall subject. (For example, if the Document is in part a
+ textbook of mathematics, a Secondary Section may not explain any
+ mathematics.) The relationship could be a matter of historical
+ connection with the subject or with related matters, or of
+ legal, commercial, philosophical, ethical or political position
+ regarding them.
+ </para>
+
+ <para id="fdl-invariant">
+ The <quote>Invariant Sections</quote> are certain <link linkend="fdl-secondary"> Secondary Sections</link> whose titles
+ are designated, as being those of Invariant Sections, in the
+ notice that says that the <link linkend="fdl-document">Document</link> is released under this
+ License.
+ </para>
+
+ <para id="fdl-cover-texts">
+ The <quote>Cover Texts</quote> are certain short passages of
+ text that are listed, as Front-Cover Texts or Back-Cover Texts,
+ in the notice that says that the <link linkend="fdl-document">Document</link> is released under this
+ License.
+ </para>
+
+ <para id="fdl-transparent">
+ A <quote>Transparent</quote> copy of the <link linkend="fdl-document"> Document</link> means a machine-readable
+ copy, represented in a format whose specification is available
+ to the general public, whose contents can be viewed and edited
+ directly and straightforwardly with generic text editors or (for
+ images composed of pixels) generic paint programs or (for
+ drawings) some widely available drawing editor, and that is
+ suitable for input to text formatters or for automatic
+ translation to a variety of formats suitable for input to text
+ formatters. A copy made in an otherwise Transparent file format
+ whose markup has been designed to thwart or discourage
+ subsequent modification by readers is not Transparent. A copy
+ that is not <quote>Transparent</quote> is called
+ <quote>Opaque</quote>.
+ </para>
+
+ <para>
+ Examples of suitable formats for Transparent copies include
+ plain ASCII without markup, Texinfo input format, LaTeX input
+ format, SGML or XML using a publicly available DTD, and
+ standard-conforming simple HTML designed for human
+ modification. Opaque formats include PostScript, PDF,
+ proprietary formats that can be read and edited only by
+ proprietary word processors, SGML or XML for which the DTD
+ and/or processing tools are not generally available, and the
+ machine-generated HTML produced by some word processors for
+ output purposes only.
+ </para>
+
+ <para id="fdl-title-page">
+ The <quote>Title Page</quote> means, for a printed book, the
+ title page itself, plus such following pages as are needed to
+ hold, legibly, the material this License requires to appear in
+ the title page. For works in formats which do not have any title
+ page as such, <quote>Title Page</quote> means the text near the
+ most prominent appearance of the work's title, preceding the
+ beginning of the body of the text.
+ </para>
+ </sect1>
+
+ <sect1 id="fdl-section2">
+ <title>2. VERBATIM COPYING</title>
+ <para>
+ You may copy and distribute the <link linkend="fdl-document">Document</link> in any medium, either
+ commercially or noncommercially, provided that this License, the
+ copyright notices, and the license notice saying this License
+ applies to the Document are reproduced in all copies, and that
+ you add no other conditions whatsoever to those of this
+ License. You may not use technical measures to obstruct or
+ control the reading or further copying of the copies you make or
+ distribute. However, you may accept compensation in exchange for
+ copies. If you distribute a large enough number of copies you
+ must also follow the conditions in <link linkend="fdl-section3">section 3</link>.
+ </para>
+
+ <para>
+ You may also lend copies, under the same conditions stated
+ above, and you may publicly display copies.
+ </para>
+ </sect1>
+
+ <sect1 id="fdl-section3">
+ <title>3. COPYING IN QUANTITY</title>
+ <para>
+ If you publish printed copies of the <link linkend="fdl-document">Document</link> numbering more than 100,
+ and the Document's license notice requires <link linkend="fdl-cover-texts">Cover Texts</link>, you must enclose
+ the copies in covers that carry, clearly and legibly, all these
+ Cover Texts: Front-Cover Texts on the front cover, and
+ Back-Cover Texts on the back cover. Both covers must also
+ clearly and legibly identify you as the publisher of these
+ copies. The front cover must present the full title with all
+ words of the title equally prominent and visible. You may add
+ other material on the covers in addition. Copying with changes
+ limited to the covers, as long as they preserve the title of the
+ <link linkend="fdl-document">Document</link> and satisfy these
+ conditions, can be treated as verbatim copying in other
+ respects.
+ </para>
+
+ <para>
+ If the required texts for either cover are too voluminous to fit
+ legibly, you should put the first ones listed (as many as fit
+ reasonably) on the actual cover, and continue the rest onto
+ adjacent pages.
+ </para>
+
+ <para>
+ If you publish or distribute <link linkend="fdl-transparent">Opaque</link> copies of the <link linkend="fdl-document">Document</link> numbering more than 100,
+ you must either include a machine-readable <link linkend="fdl-transparent">Transparent</link> copy along with
+ each Opaque copy, or state in or with each Opaque copy a
+ publicly-accessible computer-network location containing a
+ complete Transparent copy of the Document, free of added
+ material, which the general network-using public has access to
+ download anonymously at no charge using public-standard network
+ protocols. If you use the latter option, you must take
+ reasonably prudent steps, when you begin distribution of Opaque
+ copies in quantity, to ensure that this Transparent copy will
+ remain thus accessible at the stated location until at least one
+ year after the last time you distribute an Opaque copy (directly
+ or through your agents or retailers) of that edition to the
+ public.
+ </para>
+
+ <para>
+ It is requested, but not required, that you contact the authors
+ of the <link linkend="fdl-document">Document</link> well before
+ redistributing any large number of copies, to give them a chance
+ to provide you with an updated version of the Document.
+ </para>
+ </sect1>
+
+ <sect1 id="fdl-section4">
+ <title>4. MODIFICATIONS</title>
+ <para>
+ You may copy and distribute a <link linkend="fdl-modified">Modified Version</link> of the <link linkend="fdl-document">Document</link> under the conditions of
+ sections <link linkend="fdl-section2">2</link> and <link linkend="fdl-section3">3</link> above, provided that you release
+ the Modified Version under precisely this License, with the
+ Modified Version filling the role of the Document, thus
+ licensing distribution and modification of the Modified Version
+ to whoever possesses a copy of it. In addition, you must do
+ these things in the Modified Version:
+ </para>
+
+ <itemizedlist mark="opencircle">
+ <listitem>
+ <formalpara>
+ <title>A</title>
+ <para>
+ Use in the <link linkend="fdl-title-page">Title
+ Page</link> (and on the covers, if any) a title distinct
+ from that of the <link linkend="fdl-document">Document</link>, and from those of
+ previous versions (which should, if there were any, be
+ listed in the History section of the Document). You may
+ use the same title as a previous version if the original
+ publisher of that version gives permission.
+ </para>
+ </formalpara>
+ </listitem>
+
+ <listitem>
+ <formalpara>
+ <title>B</title>
+ <para>
+ List on the <link linkend="fdl-title-page">Title
+ Page</link>, as authors, one or more persons or entities
+ responsible for authorship of the modifications in the
+ <link linkend="fdl-modified">Modified Version</link>,
+ together with at least five of the principal authors of
+ the <link linkend="fdl-document">Document</link> (all of
+ its principal authors, if it has less than five).
+ </para>
+ </formalpara>
+ </listitem>
+
+ <listitem>
+ <formalpara>
+ <title>C</title>
+ <para>
+ State on the <link linkend="fdl-title-page">Title
+ Page</link> the name of the publisher of the <link linkend="fdl-modified">Modified Version</link>, as the
+ publisher.
+ </para>
+ </formalpara>
+ </listitem>
+
+ <listitem>
+ <formalpara>
+ <title>D</title>
+ <para>
+ Preserve all the copyright notices of the <link linkend="fdl-document">Document</link>.
+ </para>
+ </formalpara>
+ </listitem>
+
+ <listitem>
+ <formalpara>
+ <title>E</title>
+ <para>
+ Add an appropriate copyright notice for your modifications
+ adjacent to the other copyright notices.
+ </para>
+ </formalpara>
+ </listitem>
+
+ <listitem>
+ <formalpara>
+ <title>F</title>
+ <para>
+ Include, immediately after the copyright notices, a
+ license notice giving the public permission to use the
+ <link linkend="fdl-modified">Modified Version</link> under
+ the terms of this License, in the form shown in the
+ Addendum below.
+ </para>
+ </formalpara>
+ </listitem>
+
+ <listitem>
+ <formalpara>
+ <title>G</title>
+ <para>
+ Preserve in that license notice the full lists of <link linkend="fdl-invariant"> Invariant Sections</link> and
+ required <link linkend="fdl-cover-texts">Cover
+ Texts</link> given in the <link linkend="fdl-document">Document's</link> license notice.
+ </para>
+ </formalpara>
+ </listitem>
+
+ <listitem>
+ <formalpara>
+ <title>H</title>
+ <para>
+ Include an unaltered copy of this License.
+ </para>
+ </formalpara>
+ </listitem>
+
+ <listitem>
+ <formalpara>
+ <title>I</title>
+ <para>
+ Preserve the section entitled <quote>History</quote>, and
+ its title, and add to it an item stating at least the
+ title, year, new authors, and publisher of the <link linkend="fdl-modified">Modified Version </link>as given on
+ the <link linkend="fdl-title-page">Title Page</link>. If
+ there is no section entitled <quote>History</quote> in the
+ <link linkend="fdl-document">Document</link>, create one
+ stating the title, year, authors, and publisher of the
+ Document as given on its Title Page, then add an item
+ describing the Modified Version as stated in the previous
+ sentence.
+ </para>
+ </formalpara>
+ </listitem>
+
+ <listitem>
+ <formalpara>
+ <title>J</title>
+ <para>
+ Preserve the network location, if any, given in the <link linkend="fdl-document">Document</link> for public access
+ to a <link linkend="fdl-transparent">Transparent</link>
+ copy of the Document, and likewise the network locations
+ given in the Document for previous versions it was based
+ on. These may be placed in the <quote>History</quote>
+ section. You may omit a network location for a work that
+ was published at least four years before the Document
+ itself, or if the original publisher of the version it
+ refers to gives permission.
+ </para>
+ </formalpara>
+ </listitem>
+
+ <listitem>
+ <formalpara>
+ <title>K</title>
+ <para>
+ In any section entitled <quote>Acknowledgements</quote> or
+ <quote>Dedications</quote>, preserve the section's title,
+ and preserve in the section all the substance and tone of
+ each of the contributor acknowledgements and/or
+ dedications given therein.
+ </para>
+ </formalpara>
+ </listitem>
+
+ <listitem>
+ <formalpara>
+ <title>L</title>
+ <para>
+ Preserve all the <link linkend="fdl-invariant">Invariant
+ Sections</link> of the <link linkend="fdl-document">Document</link>, unaltered in their
+ text and in their titles. Section numbers or the
+ equivalent are not considered part of the section titles.
+ </para>
+ </formalpara>
+ </listitem>
+
+ <listitem>
+ <formalpara>
+ <title>M</title>
+ <para>
+ Delete any section entitled
+ <quote>Endorsements</quote>. Such a section may not be
+ included in the <link linkend="fdl-modified">Modified
+ Version</link>.
+ </para>
+ </formalpara>
+ </listitem>
+
+ <listitem>
+ <formalpara>
+ <title>N</title>
+ <para>
+ Do not retitle any existing section as
+ <quote>Endorsements</quote> or to conflict in title with
+ any <link linkend="fdl-invariant">Invariant
+ Section</link>.
+ </para>
+ </formalpara>
+ </listitem>
+ </itemizedlist>
+
+ <para>
+ If the <link linkend="fdl-modified">Modified Version</link>
+ includes new front-matter sections or appendices that qualify as
+ <link linkend="fdl-secondary">Secondary Sections</link> and
+ contain no material copied from the Document, you may at your
+ option designate some or all of these sections as invariant. To
+ do this, add their titles to the list of <link linkend="fdl-invariant">Invariant Sections</link> in the
+ Modified Version's license notice. These titles must be
+ distinct from any other section titles.
+ </para>
+
+ <para>
+ You may add a section entitled <quote>Endorsements</quote>,
+ provided it contains nothing but endorsements of your <link linkend="fdl-modified">Modified Version</link> by various
+ parties--for example, statements of peer review or that the text
+ has been approved by an organization as the authoritative
+ definition of a standard.
+ </para>
+
+ <para>
+ You may add a passage of up to five words as a <link linkend="fdl-cover-texts">Front-Cover Text</link>, and a passage
+ of up to 25 words as a <link linkend="fdl-cover-texts">Back-Cover Text</link>, to the end of
+ the list of <link linkend="fdl-cover-texts">Cover Texts</link>
+ in the <link linkend="fdl-modified">Modified Version</link>.
+ Only one passage of Front-Cover Text and one of Back-Cover Text
+ may be added by (or through arrangements made by) any one
+ entity. If the <link linkend="fdl-document">Document</link>
+ already includes a cover text for the same cover, previously
+ added by you or by arrangement made by the same entity you are
+ acting on behalf of, you may not add another; but you may
+ replace the old one, on explicit permission from the previous
+ publisher that added the old one.
+ </para>
+
+ <para>
+ The author(s) and publisher(s) of the <link linkend="fdl-document">Document</link> do not by this License
+ give permission to use their names for publicity for or to
+ assert or imply endorsement of any <link linkend="fdl-modified">Modified Version </link>.
+ </para>
+ </sect1>
+
+ <sect1 id="fdl-section5">
+ <title>5. COMBINING DOCUMENTS</title>
+ <para>
+ You may combine the <link linkend="fdl-document">Document</link>
+ with other documents released under this License, under the
+ terms defined in <link linkend="fdl-section4">section 4</link>
+ above for modified versions, provided that you include in the
+ combination all of the <link linkend="fdl-invariant">Invariant
+ Sections</link> of all of the original documents, unmodified,
+ and list them all as Invariant Sections of your combined work in
+ its license notice.
+ </para>
+
+ <para>
+ The combined work need only contain one copy of this License,
+ and multiple identical <link linkend="fdl-invariant">Invariant
+ Sections</link> may be replaced with a single copy. If there are
+ multiple Invariant Sections with the same name but different
+ contents, make the title of each such section unique by adding
+ at the end of it, in parentheses, the name of the original
+ author or publisher of that section if known, or else a unique
+ number. Make the same adjustment to the section titles in the
+ list of Invariant Sections in the license notice of the combined
+ work.
+ </para>
+
+ <para>
+ In the combination, you must combine any sections entitled
+ <quote>History</quote> in the various original documents,
+ forming one section entitled <quote>History</quote>; likewise
+ combine any sections entitled <quote>Acknowledgements</quote>,
+ and any sections entitled <quote>Dedications</quote>. You must
+ delete all sections entitled <quote>Endorsements.</quote>
+ </para>
+ </sect1>
+
+ <sect1 id="fdl-section6">
+ <title>6. COLLECTIONS OF DOCUMENTS</title>
+ <para>
+ You may make a collection consisting of the <link linkend="fdl-document">Document</link> and other documents
+ released under this License, and replace the individual copies
+ of this License in the various documents with a single copy that
+ is included in the collection, provided that you follow the
+ rules of this License for verbatim copying of each of the
+ documents in all other respects.
+ </para>
+
+ <para>
+ You may extract a single document from such a collection, and
+ dispbibute it individually under this License, provided you
+ insert a copy of this License into the extracted document, and
+ follow this License in all other respects regarding verbatim
+ copying of that document.
+ </para>
+ </sect1>
+
+ <sect1 id="fdl-section7">
+ <title>7. AGGREGATION WITH INDEPENDENT WORKS</title>
+ <para>
+ A compilation of the <link linkend="fdl-document">Document</link> or its derivatives with
+ other separate and independent documents or works, in or on a
+ volume of a storage or distribution medium, does not as a whole
+ count as a <link linkend="fdl-modified">Modified Version</link>
+ of the Document, provided no compilation copyright is claimed
+ for the compilation. Such a compilation is called an
+ <quote>aggregate</quote>, and this License does not apply to the
+ other self-contained works thus compiled with the Document , on
+ account of their being thus compiled, if they are not themselves
+ derivative works of the Document. If the <link linkend="fdl-cover-texts">Cover Text</link> requirement of <link linkend="fdl-section3">section 3</link> is applicable to these
+ copies of the Document, then if the Document is less than one
+ quarter of the entire aggregate, the Document's Cover Texts may
+ be placed on covers that surround only the Document within the
+ aggregate. Otherwise they must appear on covers around the whole
+ aggregate.
+ </para>
+ </sect1>
+
+ <sect1 id="fdl-section8">
+ <title>8. TRANSLATION</title>
+ <para>
+ Translation is considered a kind of modification, so you may
+ distribute translations of the <link linkend="fdl-document">Document</link> under the terms of <link linkend="fdl-section4">section 4</link>. Replacing <link linkend="fdl-invariant"> Invariant Sections</link> with
+ translations requires special permission from their copyright
+ holders, but you may include translations of some or all
+ Invariant Sections in addition to the original versions of these
+ Invariant Sections. You may include a translation of this
+ License provided that you also include the original English
+ version of this License. In case of a disagreement between the
+ translation and the original English version of this License,
+ the original English version will prevail.
+ </para>
+ </sect1>
+
+ <sect1 id="fdl-section9">
+ <title>9. TERMINATION</title>
+ <para>
+ You may not copy, modify, sublicense, or distribute the <link linkend="fdl-document">Document</link> except as expressly
+ provided for under this License. Any other attempt to copy,
+ modify, sublicense or distribute the Document is void, and will
+ automatically terminate your rights under this License. However,
+ parties who have received copies, or rights, from you under this
+ License will not have their licenses terminated so long as such
+ parties remain in full compliance.
+ </para>
+ </sect1>
+
+ <sect1 id="fdl-section10">
+ <title>10. FUTURE REVISIONS OF THIS LICENSE</title>
+ <para>
+ The <ulink type="http" url="http://www.gnu.org/fsf/fsf.html">Free Software
+ Foundation</ulink> may publish new, revised versions of the GNU
+ Free Documentation License from time to time. Such new versions
+ will be similar in spirit to the present version, but may differ
+ in detail to address new problems or concerns. See <ulink type="http" url="http://www.gnu.org/copyleft">http://www.gnu.org/copyleft/</ulink>.
+ </para>
+
+ <para>
+ Each version of the License is given a distinguishing version
+ number. If the <link linkend="fdl-document">Document</link>
+ specifies that a particular numbered version of this License
+ <quote>or any later version</quote> applies to it, you have the
+ option of following the terms and conditions either of that
+ specified version or of any later version that has been
+ published (not as a draft) by the Free Software Foundation. If
+ the Document does not specify a version number of this License,
+ you may choose any version ever published (not as a draft) by
+ the Free Software Foundation.
+ </para>
+ </sect1>
+
+ <sect1 id="fdl-using">
+ <title>Addendum</title>
+ <para>
+ To use this License in a document you have written, include a copy of
+ the License in the document and put the following copyright and
+ license notices just after the title page:
+ </para>
+
+ <blockquote>
+ <para>
+ Copyright YEAR YOUR NAME.
+ </para>
+ <para>
+ Permission is granted to copy, distribute and/or modify this
+ document under the terms of the GNU Free Documentation
+ License, Version 1.1 or any later version published by the
+ Free Software Foundation; with the <link linkend="fdl-invariant">Invariant Sections</link> being LIST
+ THEIR TITLES, with the <link linkend="fdl-cover-texts">Front-Cover Texts</link> being LIST,
+ and with the <link linkend="fdl-cover-texts">Back-Cover
+ Texts</link> being LIST. A copy of the license is included in
+ the section entitled <quote>GNU Free Documentation
+ License</quote>.
+ </para>
+ </blockquote>
+
+ <para>
+ If you have no <link linkend="fdl-invariant">Invariant
+ Sections</link>, write <quote>with no Invariant Sections</quote>
+ instead of saying which ones are invariant. If you have no
+ <link linkend="fdl-cover-texts">Front-Cover Texts</link>, write
+ <quote>no Front-Cover Texts</quote> instead of
+ <quote>Front-Cover Texts being LIST</quote>; likewise for <link linkend="fdl-cover-texts">Back-Cover Texts</link>.
+ </para>
+
+ <para>
+ If your document contains nontrivial examples of program code,
+ we recommend releasing these examples in parallel under your
+ choice of free software license, such as the <ulink type="http" url="http://www.gnu.org/copyleft/gpl.html"> GNU General Public
+ License</ulink>, to permit their use in free software.
+ </para>
+ </sect1>
+</appendix>
+
+
+
+
+
+
+
+
+</book>
--- /dev/null
+# German translation of the gtk-doc manual.
+# Mario Blättermann <mariobl@freenet.de>, 2009, 2010.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: gtk-doc help master\n"
+"POT-Creation-Date: 2011-04-05 07:09+0000\n"
+"PO-Revision-Date: 2011-04-05 20:43+0100\n"
+"Last-Translator: Mario Blättermann <mariobl@freenet.de>\n"
+"Language-Team: German <gnome-de@gnome.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Poedit-Language: German\n"
+"X-Poedit-Country: GERMANY\n"
+
+#: C/gtk-doc-manual.xml:12(title)
+msgid "GTK-Doc Manual"
+msgstr "GTK-Doc-Handbuch"
+
+#: C/gtk-doc-manual.xml:13(edition) C/gtk-doc-manual.xml:98(revnumber)
+msgid "1.15"
+msgstr "1.15"
+
+#: C/gtk-doc-manual.xml:14(para)
+msgid "User manual for developers with instructions of GTK-Doc usage."
+msgstr ""
+"Benutzerhandbuch für Entwickler mit Anweisungen für die Benutzung von GTK-Doc."
+
+#: C/gtk-doc-manual.xml:17(firstname)
+msgid "Chris"
+msgstr "Chris"
+
+#: C/gtk-doc-manual.xml:18(surname)
+msgid "Lyttle"
+msgstr "Lyttle"
+
+#: C/gtk-doc-manual.xml:21(email)
+msgid "chris@wilddev.net"
+msgstr "chris@wilddev.net"
+
+#: C/gtk-doc-manual.xml:26(firstname)
+msgid "Dan"
+msgstr "Dan"
+
+#: C/gtk-doc-manual.xml:27(surname)
+msgid "Mueth"
+msgstr "Mueth"
+
+#: C/gtk-doc-manual.xml:30(email)
+msgid "d-mueth@uchicago.edu"
+msgstr "d-mueth@uchicago.edu"
+
+#: C/gtk-doc-manual.xml:35(firstname)
+msgid "Stefan"
+msgstr "Stefan"
+
+#: C/gtk-doc-manual.xml:36(surname)
+msgid "Kost"
+msgstr "Kost"
+
+#: C/gtk-doc-manual.xml:39(email)
+msgid "ensonic@users.sf.net"
+msgstr "ensonic@users.sf.net"
+
+#: C/gtk-doc-manual.xml:45(publishername)
+msgid "GTK-Doc project"
+msgstr "GTK-Doc-Projekt"
+
+#: C/gtk-doc-manual.xml:46(email)
+msgid "gtk-doc-list@gnome.org"
+msgstr "gtk-doc-list@gnome.org"
+
+#: C/gtk-doc-manual.xml:49(year)
+msgid "2000, 2005, 2007-2009"
+msgstr "2000, 2005, 2007-2009"
+
+#: C/gtk-doc-manual.xml:50(holder)
+msgid "Dan Mueth and Chris Lyttle and Stefan Kost"
+msgstr "Dan Mueth, Chris Lyttle und Stefan Kost"
+
+#: C/gtk-doc-manual.xml:61(para)
+msgid ""
+"Permission is granted to copy, distribute and/or modify this document under "
+"the terms of the <citetitle>GNU Free Documentation License</citetitle>, "
+"Version 1.1 or any later version published by the Free Software Foundation "
+"with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A "
+"copy of the license is <link linkend=\"fdl\">included</link>."
+msgstr ""
+"Das vorliegende Dokument kann gemäß den Bedingungen der GNU Free "
+"Documentation License (GFDL), Version 1.1 oder jeder späteren, von der Free "
+"Software Foundation veröffentlichten Version ohne unveränderbare Abschnitte "
+"sowie ohne Texte auf dem vorderen und hinteren Buchdeckel kopiert, verteilt "
+"und/oder modifiziert werden. Eine Kopie der GFDL finden Sie unter diesem "
+"<ulink type=\"help\" url=\"ghelp:fdl\">Link</ulink> oder in der mit diesem "
+"Handbuch gelieferten Datei COPYING-DOCS."
+
+#: C/gtk-doc-manual.xml:69(para)
+msgid ""
+"Many of the names used by companies to distinguish their products and "
+"services are claimed as trademarks. Where those names appear in any GNOME "
+"documentation, and those trademarks are made aware to the members of the "
+"GNOME Documentation Project, the names have been printed in caps or initial "
+"caps."
+msgstr ""
+"Bei vielen der von Firmen zur Unterscheidung ihrer Produkte und "
+"Dienstleistungen verwendeten Namen handelt es sich um Marken. An den Stellen, "
+"an denen derartige Namen in einer GNOME-Dokumentation vorkommen und wenn die "
+"Mitglieder des GNOME-Dokumentationsprojekts über diese Marken informiert "
+"wurden, sind die Namen in Großbuchstaben oder mit großen Anfangsbuchstaben "
+"geschrieben."
+
+#: C/gtk-doc-manual.xml:80(revnumber)
+msgid "1.17.1"
+msgstr "1.17.1"
+
+#: C/gtk-doc-manual.xml:81(date) C/gtk-doc-manual.xml:87(date)
+msgid "26 Feb 2011"
+msgstr "26. Februar 2011"
+
+#: C/gtk-doc-manual.xml:82(authorinitials)
+#: C/gtk-doc-manual.xml:88(authorinitials)
+#: C/gtk-doc-manual.xml:94(authorinitials)
+#: C/gtk-doc-manual.xml:100(authorinitials)
+#: C/gtk-doc-manual.xml:106(authorinitials)
+#: C/gtk-doc-manual.xml:112(authorinitials)
+#: C/gtk-doc-manual.xml:118(authorinitials)
+msgid "sk"
+msgstr "sk"
+
+#: C/gtk-doc-manual.xml:83(revremark)
+#, fuzzy
+msgid "development version, markdown support"
+msgstr "Entwicklerversion"
+
+#: C/gtk-doc-manual.xml:86(revnumber)
+msgid "1.17"
+msgstr "1.17"
+
+#: C/gtk-doc-manual.xml:89(revremark)
+msgid "urgent bug fix update"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:92(revnumber)
+msgid "1.16"
+msgstr "1.16"
+
+#: C/gtk-doc-manual.xml:93(date)
+msgid "14 Jan 2011"
+msgstr "14. Januar 2011"
+
+#: C/gtk-doc-manual.xml:95(revremark)
+msgid "bugfixes, layout improvements"
+msgstr "Fehlerkorrekturen und Verbesserung des Layouts"
+
+#: C/gtk-doc-manual.xml:99(date)
+msgid "21 May 2010"
+msgstr "21. Mai 2010"
+
+#: C/gtk-doc-manual.xml:101(revremark)
+msgid "bug and regression fixes"
+msgstr "Korrekturen von Fehlern und Einschränkungen"
+
+#: C/gtk-doc-manual.xml:104(revnumber)
+msgid "1.14"
+msgstr "1.14"
+
+#: C/gtk-doc-manual.xml:105(date)
+msgid "28 March 2010"
+msgstr "28. März 2010"
+
+#: C/gtk-doc-manual.xml:107(revremark)
+msgid "bugfixes and performance improvements"
+msgstr "Fehlerkorrekturen und Leistungssteigerung"
+
+#: C/gtk-doc-manual.xml:110(revnumber)
+msgid "1.13"
+msgstr "1.13"
+
+#: C/gtk-doc-manual.xml:111(date) C/gtk-doc-manual.xml:117(date)
+msgid "18 December 2009"
+msgstr "18. Dezember 2009"
+
+#: C/gtk-doc-manual.xml:113(revremark)
+msgid "broken tarball update"
+msgstr "Aktualisierung wegen beschädigtem Tar-Archiv"
+
+#: C/gtk-doc-manual.xml:116(revnumber)
+msgid "1.12"
+msgstr "1.12"
+
+#: C/gtk-doc-manual.xml:119(revremark)
+msgid "new tool features and bugfixes"
+msgstr "Neue Funktionsmerkmale und Fehlerkorrekturen"
+
+#: C/gtk-doc-manual.xml:122(revnumber)
+msgid "1.11"
+msgstr "1.11"
+
+#: C/gtk-doc-manual.xml:123(date)
+msgid "16 Novemebr 2008"
+msgstr "16. November 2008"
+
+#: C/gtk-doc-manual.xml:124(authorinitials)
+msgid "mal"
+msgstr "mal"
+
+#: C/gtk-doc-manual.xml:125(revremark)
+msgid "GNOME doc-utils migration"
+msgstr "Migration auf die gnome-doc-utils"
+
+#: C/gtk-doc-manual.xml:134(title)
+msgid "Introduction"
+msgstr "Einführung"
+
+#: C/gtk-doc-manual.xml:136(para)
+msgid ""
+"This chapter introduces GTK-Doc and gives an overview of what it is and how "
+"it is used."
+msgstr ""
+"Dieses Kapitel führt in GTK-Doc ein und gibt einen Überblick darüber, worum "
+"es sich dabei handelt und wie es benutzt wird."
+
+#: C/gtk-doc-manual.xml:142(title)
+msgid "What is GTK-Doc?"
+msgstr "Was ist GTK-Doc?"
+
+#: C/gtk-doc-manual.xml:144(para)
+msgid ""
+"GTK-Doc is used to document C code. It is typically used to document the "
+"public API of libraries, such as the GTK+ and GNOME libraries. But it can "
+"also be used to document application code."
+msgstr ""
+"GTL-Doc wird zur Dokumentation von C-Code verwendet. Üblicherweise wird damit "
+"die öffentliche API von Bibliotheken dokumentiert, wie die der GTK+- und "
+"GNOME-Bibliotheken. Es kann aber auch zur Dokumentation von Anwendungscode "
+"verwendet werden."
+
+#: C/gtk-doc-manual.xml:152(title)
+msgid "How Does GTK-Doc Work?"
+msgstr "Wie funktioniert GTK-Doc?"
+
+#: C/gtk-doc-manual.xml:154(para)
+msgid ""
+"GTK-Doc works by using documentation of functions placed inside the source "
+"files in specially-formatted comment blocks, or documentation added to the "
+"template files which GTK-Doc uses (though note that GTK-Doc will only "
+"document functions that are declared in header files; it won't produce output "
+"for static functions)."
+msgstr ""
+"GTK-Doc verwendet Funktionsdokumentationen, die sich in den Quelldateien "
+"innerhalb speziell formatierter Kommentarblöcke befinden, oder Dokumentation, "
+"die zu den von GTK-Doc verwendeten Vorlagendateien hinzugefügt wurde. "
+"Beachten Sie jedoch, dass GTK-Doc nur Funktionen dokumentieren wird, die in "
+"den Header-Dateien deklariert sind. Es erstellt keine Ausgaben für statische "
+"Funktionen."
+
+#: C/gtk-doc-manual.xml:161(para)
+msgid ""
+"GTK-Doc consists of a number of perl scripts, each performing a different "
+"step in the process."
+msgstr ""
+"GTK-Doc besteht aus einer Anzahl von Perl-Skripten, wovon jedes einen "
+"bestimmten Schritt in dem Prozess ausführt."
+
+#: C/gtk-doc-manual.xml:166(para)
+msgid "There are 5 main steps in the process:"
+msgstr "Dieser Vorgang umfasst fünf Hauptschritte:"
+
+#: C/gtk-doc-manual.xml:173(para)
+msgid ""
+"<guilabel>Writing the documentation.</guilabel> The author fills in the "
+"source files with the documentation for each function, macro, union etc. (In "
+"the past information was entered in generated template files, which is not "
+"recommended anymore)."
+msgstr ""
+"<guilabel>Schreiben der Dokumentation.</guilabel> Der Autor ergänzt die "
+"Quelldateien um die Dokumentation für jede Funktion, jedes Makro usw. In der "
+"Vergangenheit wurden diese Informationen in erstellte Vorlagendateien "
+"eingegeben. Dies wird nicht mehr empfohlen."
+
+#: C/gtk-doc-manual.xml:183(para)
+msgid ""
+"<guilabel>Gathering information about the code.</guilabel><application>gtkdoc-"
+"scan</application> scans the header files of the code looking for "
+"declarations of functions, macros, enums, structs, and unions. It creates the "
+"file <filename><module>-decl-list.txt</filename> containg a list of the "
+"declarations, placing them into sections according to which header file they "
+"are in. On the first run this file is copied to <filename><module>-"
+"sections.txt</filename>. The author can rearrange the sections, and the order "
+"of the declarations within them, to produce the final desired order. The "
+"second file it generates is <filename><module>-decl.txt</filename>. "
+"This file contains the full declarations found by the scanner. If for some "
+"reason one would like some symbols to show up in the docs, where the full "
+"declaration cannot be found by the scanner or the declaration should appear "
+"differently, one can place enties similar to the ones in <filename><"
+"module>-decl.txt</filename> into <filename><module>-overrides.txt</"
+"filename>. <application>gtkdoc-scanobj</application> can also be used to "
+"dynamically query a library about any GtkObject subclasses it exports. It "
+"saves information about each object's position in the class hierarchy and "
+"about any GTK Args and Signals it provides."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:208(para)
+msgid ""
+"<guilabel>Generating the \"template\" files.</guilabel><application>gtkdoc-"
+"mktmpl</application> creates a number of files in the <filename class="
+"\"directory\">tmpl/</filename> subdirectory, using the information gathered "
+"in the first step. (Note that this can be run repeatedly. It will try to "
+"ensure that no documentation is ever lost.)"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:217(para)
+msgid ""
+"Since GTK-Doc 1.9 the templates can be avoided. We encourage people to keep "
+"documentation in the code. <application>gtkdocize</application> supports now "
+"a <option>--flavour no-tmpl</option> option that chooses a makefile that "
+"skips tmpl usage totally. If you have never changed file in tmpl by hand, "
+"please remove the dir (e.g. from version control system)."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:229(para)
+msgid ""
+"<guilabel>Generating the SGML/XML and HTML/PDF.</guilabel><application>gtkdoc-"
+"mkdb</application> turns the template files into SGML or XML files in the "
+"<filename class=\"directory\">sgml/</filename> or <filename class=\"directory"
+"\">xml/</filename> subdirectory. If the source code contains documentation on "
+"functions, using the special comment blocks, it gets merged in here. If there "
+"are no tmpl files used it only reads docs from sources and introspection "
+"data. We recommend to use Docbook XML."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:240(para)
+msgid ""
+"<application>gtkdoc-mkhtml</application> turns the SGML/XML files into HTML "
+"files in the <filename class=\"directory\">html/</filename> subdirectory. "
+"Likewise <application>gtkdoc-mkpdf</application> turns the SGML/XML files "
+"into a PDF document called <filename><package>.pdf</filename>."
+msgstr ""
+"<application>gtkdoc-mkhtml</application> konvertiert die SGML/XML-Dateien in "
+"HTML-Dateien im Unterordner <filename class=\"directory\">html/</filename>. "
+"Ebenso konvertiert <application>gtkdoc-mkpdf</application> die SGML/XML-"
+"Dateien in ein PDF-Dokument namens <filename><package>.pdf</filename>."
+
+#: C/gtk-doc-manual.xml:246(para)
+msgid ""
+"Files in <filename class=\"directory\">sgml/</filename> or <filename class="
+"\"directory\">xml/</filename> and <filename class=\"directory\">html/</"
+"filename> directories are always overwritten. One should never edit them "
+"directly."
+msgstr ""
+"Dateien in <filename class=\"directory\">sgml/</filename> oder <filename "
+"class=\"directory\">xml/</filename> und <filename class=\"directory\">html/</"
+"filename>-Ordnern werden immer überschrieben. Niemand sollte diese direkt "
+"bearbeiten."
+
+#: C/gtk-doc-manual.xml:254(para)
+msgid ""
+"<guilabel>Fixing up cross-references between documents.</guilabel> After "
+"installing the HTML files, <application>gtkdoc-fixxref</application> can be "
+"run to fix up any cross-references between separate documents. For example, "
+"the GTK+ documentation contains many cross-references to types documented in "
+"the GLib manual. When creating the source tarball for distribution, "
+"<application>gtkdoc-rebase</application> turns all external links into web-"
+"links. When installing distributed (pregenerated) docs the same application "
+"will try to turn links back to local links (where those docs are installed)."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:272(title)
+msgid "Getting GTK-Doc"
+msgstr "GTK-Doc bekommen"
+
+#: C/gtk-doc-manual.xml:275(title)
+msgid "Requirements"
+msgstr "Erfordernisse"
+
+#: C/gtk-doc-manual.xml:276(para)
+msgid "<guilabel>Perl v5</guilabel> - the main scripts are in Perl."
+msgstr ""
+"<guilabel>Perl v5</guilabel> - Die Hauptskripte wurden in Perl geschrieben."
+
+#: C/gtk-doc-manual.xml:279(para)
+msgid ""
+"<guilabel>DocBook DTD v3.0</guilabel> - This is the DocBook SGML DTD. <ulink "
+"url=\"http://www.ora.com/davenport\" type=\"http\">http://www.ora.com/"
+"davenport</ulink>"
+msgstr ""
+"<guilabel>DocBook DTD v3.0</guilabel> - Die DTD für DocBook SGML. <ulink url="
+"\"http://www.ora.com/davenport\" type=\"http\">http://www.ora.com/davenport</"
+"ulink>"
+
+#: C/gtk-doc-manual.xml:283(para)
+msgid ""
+"<guilabel>Jade v1.1</guilabel> - This is a DSSSL processor for converting "
+"SGML to various formats. <ulink url=\"http://www.jclark.com/jade\" type=\"http"
+"\">http://www.jclark.com/jade</ulink>"
+msgstr ""
+"<guilabel>Jade v1.1</guilabel> - Dies ist ein DSSSL-Prozessor zur Umwandlung "
+"von SGML in verschiedene Formate. <ulink url=\"http://www.jclark.com/jade\" "
+"type=\"http\">http://www.jclark.com/jade</ulink>"
+
+#: C/gtk-doc-manual.xml:287(para)
+msgid ""
+"<guilabel>Modular DocBook Stylesheets</guilabel> This is the DSSSL code to "
+"convert DocBook to HTML (and a few other formats). It's used together with "
+"jade. I've customized the DSSSL code slightly, in gtk-doc.dsl, to colour the "
+"program code listings/declarations, and to support global cross-reference "
+"indices in the generated HTML. <ulink url=\"http://nwalsh.com/docbook/dsssl\" "
+"type=\"http\">http://nwalsh.com/docbook/dsssl</ulink>"
+msgstr ""
+"<guilabel>Modulare DocBook-Stilvorlagen</guilabel> Dies ist der DSSSL-Code "
+"zur Umwandlung von DocBook in HTML und einige andere Formate. Es wird "
+"zusammen mit Jade benutzt. Ich habe den DSSSL-Code in gtk-doc.dsl etwas "
+"angepasst, um die Programmcode-Listings und -Deklarationen einzufärben und um "
+"globale Cross-Reference-Indizes im erzeugten HTML zu unterstützen. <ulink url="
+"\"http://nwalsh.com/docbook/dsssl\" type=\"http\">http://nwalsh.com/docbook/"
+"dsssl</ulink>"
+
+#: C/gtk-doc-manual.xml:296(para)
+msgid ""
+"<guilabel>docbook-to-man</guilabel> - if you want to create man pages from "
+"the DocBook. I've customized the 'translation spec' slightly, to capitalise "
+"section headings and add the 'GTK Library' title at the top of the pages and "
+"the revision date at the bottom. There is a link to this on <ulink url="
+"\"http://www.ora.com/davenport\" type=\"http\">http://www.ora.com/davenport</"
+"ulink> NOTE: This does not work yet."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:307(title)
+msgid "Installation"
+msgstr "Installation"
+
+#: C/gtk-doc-manual.xml:308(para)
+msgid ""
+"There is no standard place where the DocBook Modular Stylesheets are "
+"installed."
+msgstr ""
+"Es gibt keinen Standardort, an welchem die Modularen DocBook-Stilvorlagen "
+"installiert werden."
+
+#: C/gtk-doc-manual.xml:311(para)
+msgid "GTK-Doc's configure script searches these 3 directories automatically:"
+msgstr ""
+"Das Configure-Skript von GTK-Doc durchsucht folgende drei Ordner automatisch:"
+
+#: C/gtk-doc-manual.xml:314(para)
+msgid ""
+"<filename> /usr/lib/sgml/stylesheets/nwalsh-modular </filename> (used by "
+"RedHat)"
+msgstr ""
+"<filename> /usr/lib/sgml/stylesheets/nwalsh-modular </filename> (verwendet "
+"von RedHat)"
+
+#: C/gtk-doc-manual.xml:317(para)
+msgid ""
+"<filename> /usr/lib/dsssl/stylesheets/docbook </filename> (used by Debian)"
+msgstr ""
+"<filename> /usr/lib/dsssl/stylesheets/docbook </filename> (verwendet von "
+"Debian)"
+
+#: C/gtk-doc-manual.xml:320(para)
+msgid "<filename> /usr/share/sgml/docbkdsl </filename> (used by SuSE)"
+msgstr "<filename> /usr/share/sgml/docbkdsl </filename> (verwendet von SuSE)"
+
+#: C/gtk-doc-manual.xml:323(para)
+msgid ""
+"If you have the stylesheets installed somewhere else, you need to configure "
+"GTK-Doc using the option: <command> --with-dsssl-dir=<"
+"PATH_TO_TOPLEVEL_STYLESHEETS_DIR> </command>"
+msgstr ""
+"Falls sie Stilvorlagen an anderen Orten installiert haben, müssen Sie GTK-Doc "
+"mit folgender Option konfigurieren: <command>--with-dsssl-dir=<"
+"PFAD_ZUM_BASISORDNER_DER_STILVORLAGEN> </command>"
+
+#: C/gtk-doc-manual.xml:347(title)
+msgid "About GTK-Doc"
+msgstr "Info zu GTK-Doc"
+
+#: C/gtk-doc-manual.xml:349(para) C/gtk-doc-manual.xml:363(para)
+msgid "(FIXME)"
+msgstr "(FIXME)"
+
+#: C/gtk-doc-manual.xml:353(para)
+msgid ""
+"(History, authors, web pages, license, future plans, comparison with other "
+"similar systems.)"
+msgstr ""
+"(Geschichte, Autoren, Webseiten, Lizenz, Zukunftspläne, Vergleich mit "
+"ähnlichen Systemen)"
+
+#: C/gtk-doc-manual.xml:361(title)
+msgid "About this Manual"
+msgstr "Über dieses Handbuch"
+
+#: C/gtk-doc-manual.xml:367(para)
+msgid "(who it is meant for, where you can get it, license)"
+msgstr "(wofür es bestimmt ist, wo Sie es erhalten können, Lizenz)"
+
+#: C/gtk-doc-manual.xml:376(title)
+msgid "Setting up your project"
+msgstr "Einrichten Ihre Projekts"
+
+#: C/gtk-doc-manual.xml:378(para)
+msgid ""
+"The next sections describe what steps to perform to integrate GTK-Doc into "
+"your project. Theses sections assume we work on a project called 'meep'. This "
+"project contains a library called 'libmeep' and an end-user app called "
+"'meeper'. We also assume you will be using autoconf and automake. In addition "
+"section <link linkend=\"plain_makefiles\">plain makefiles or other build "
+"systems</link> will describe the basics needed to work in a different build "
+"setup."
+msgstr ""
+"Die nächsten Abschnitte beschreiben die notwendigen Schritte, um GTK-Doc in "
+"Ihr Projekt zu integrieren. Nehmen wir an, wir arbeiten an einem Projekt "
+"namens »meep«. Das Projekt enthält eine Bibliothek namens »libmeep« sowie "
+"eine Endbenutzer-Anwendung namens »meeper«. Weiterhin gehen wir davon aus, "
+"dass wir autoconf und automake verwenden. Zusätzlich beschreibt der Abschnitt "
+"<link linkend=\"plain_makefiles\">Klartext-Makefiles oder andere "
+"Erstellungssysteme</link> die Grundlagen für die Arbeit in einer anderen "
+"Erstellungsumgebung."
+
+#: C/gtk-doc-manual.xml:389(title)
+msgid "Setting up a skeleton documentation"
+msgstr "Einrichten des Grundgerüsts der Dokumentation"
+
+#: C/gtk-doc-manual.xml:391(para)
+msgid ""
+"Under your top-level project directory create folders called docs/reference "
+"(this way you can also have docs/help for end-user documentation). It is "
+"recommended to create another subdirectory with the name of the doc-package. "
+"For packages with just one library this step is not necessary."
+msgstr ""
+"Erstellen Sie in dem Ordner der obersten Ebene des Projekts die Unterordner "
+"namens docs/reference. Auf diese Weise können Sie auch docs/help für die "
+"Endbenutzerdokumentation anlegen. Es ist empfehlenswert, einen weiteren "
+"Unterordner mit dem Namen des Dokumentationspakets anzulegen. Für Pakete, die "
+"nur eine einzige Bibliothek enthalten, ist dieser Schritt nicht notwendig."
+
+#: C/gtk-doc-manual.xml:400(title)
+msgid "Example directory structure"
+msgstr "Beispiel für die Ordnerstruktur"
+
+#: C/gtk-doc-manual.xml:398(para)
+msgid "This can then look as shown below: <placeholder-1/>"
+msgstr "Dies kann dann wie nachstehend angezeigt aussehen: <placeholder-1/>"
+
+#: C/gtk-doc-manual.xml:418(title) C/gtk-doc-manual.xml:425(title)
+msgid "Integration with autoconf"
+msgstr "Integration in autoconf"
+
+#: C/gtk-doc-manual.xml:420(para)
+msgid ""
+"Very easy! Just add one line to your <filename>configure.ac</filename> script."
+msgstr ""
+"Sehr einfach! Fügen Sie eine Zeile zu Ihrem <filename>configure.ac</filename>-"
+"Skript hinzu."
+
+#: C/gtk-doc-manual.xml:440(title)
+msgid "Keep gtk-doc optional"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:435(para)
+msgid ""
+"This will require all developers to have gtk-doc installed. If it is okay for "
+"your project to have optional api-doc build setup, you can solve this as "
+"below. Keep it as is, as gtkdocize is looking for <function>GTK_DOC_CHECK</"
+"function> at the start of a line. <placeholder-1/>"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:454(para)
+msgid ""
+"The first argument is used to check for the gtkdocversion at configure time. "
+"The 2nd, optional argument is used by <application>gtkdocize</application>. "
+"The <symbol>GTK_DOC_CHECK</symbol> macro also adds several configure switches:"
+msgstr ""
+"Das erste Argument wird zur Überprüfung von gtkdocversion während des "
+"configure-Durchlaufs benutzt. Das zweite, optionale Argument wird von "
+"<application>gtkdocize</application> verwendet. Das Makro "
+"<symbol>GTK_DOC_CHECK</symbol> fügt verschiedene Schalter für configure hinzu:"
+
+#: C/gtk-doc-manual.xml:460(para)
+msgid "--with-html-dir=PATH : path to installed docs"
+msgstr "--with-html-dir=PATH : Pfad zur installierten Dokumentation"
+
+#: C/gtk-doc-manual.xml:461(para)
+msgid "--enable-gtk-doc : use gtk-doc to build documentation [default=no]"
+msgstr ""
+"--enable-gtk-doc : gtk-doc zur Erstellung der Dokumentation verwenden "
+"[Vorgabe=no]"
+
+#: C/gtk-doc-manual.xml:462(para)
+msgid "--enable-gtk-doc-html : build documentation in html format [default=yes]"
+msgstr ""
+"--enable-gtk-doc-html : Erstellung der Dokumentation im HTML-Format "
+"[Vorgabe=yes]"
+
+#: C/gtk-doc-manual.xml:463(para)
+msgid "--enable-gtk-doc-pdf : build documentation in pdf format [default=no]"
+msgstr ""
+"--enable-gtk-doc-pdf : Erstellung der Dokumentation im PDF-Format [Vorgabe=no]"
+
+#: C/gtk-doc-manual.xml:467(para)
+msgid ""
+"GTK-Doc is disabled by default! Remember to pass the option <option>'--enable-"
+"gtk-doc'</option> to the next <filename>configure</filename> run. Otherwise "
+"pregenerated documentation is installed (which makes sense for users but not "
+"for developers)."
+msgstr ""
+"GTK-Doc ist standardmäßig deaktiviert! Denken Sie daran, die Option "
+"<option>'--enable-gtk-doc'</option> beim nächsten Durchlauf von "
+"<filename>configure</filename> zu übergeben. Anderenfalls wird die vorher "
+"erstellte Dokumentation installiert. Dies ergibt für Benutzer durchaus Sinn, "
+"aber nicht für Entwickler."
+
+#: C/gtk-doc-manual.xml:475(para)
+msgid ""
+"Furthermore it is recommended that you have the following line inside you "
+"<filename>configure.ac</filename> script. This allows <application>gtkdocize</"
+"application> to automatically copy the macro definition for "
+"<function>GTK_DOC_CHECK</function> to your project."
+msgstr ""
+"Weiterhin ist es empfehlenswert, dass das <filename>configure.ac</filename>-"
+"Skript die folgende Zeile enthält. Dies erlaubt <application>gtkdocize</"
+"application> das automatische Kopieren der Makrodefinition für "
+"<function>GTK_DOC_CHECK</function> in Ihr Projekt."
+
+#: C/gtk-doc-manual.xml:483(title)
+msgid "Preparation for gtkdocize"
+msgstr "Vorbereitung für gtkdocize"
+
+#: C/gtk-doc-manual.xml:494(title)
+msgid "Integration with automake"
+msgstr "Integration in automake"
+
+#: C/gtk-doc-manual.xml:496(para)
+msgid ""
+"First copy the <filename>Makefile.am</filename> from the examples "
+"subdirectory of the gtkdoc-sources to your project's API documentation "
+"directory ( <filename class=\"directory\">./docs/reference/<package></"
+"filename>). If you have multiple doc-packages repeat this for each one."
+msgstr ""
+"Kopieren Sie zunächst die Datei <filename>Makefile.am</filename> aus dem "
+"Beispiel-Unterordner der gtkdoc-sources in den API-Dokumentationsordner Ihres "
+"Projekts ( <filename class=\"directory\">./docs/reference/<package></"
+"filename>). Falls Sie mehrere Dokumentationspakete haben, müssen Sie dies für "
+"jedes davon wiederholen."
+
+#: C/gtk-doc-manual.xml:503(para)
+msgid ""
+"The next step is to edit the settings inside the <filename>Makefile.am</"
+"filename>. All the settings have a comment above that describes their "
+"purpose. Most settings are extra flags passed to the respective tools. Every "
+"tool has a variable of the form <option><TOOLNAME>_OPTIONS</option>. "
+"All the tools support <option>--help</option> to list the supported "
+"parameters."
+msgstr ""
+"Im nächsten Schritt bearbeiten Sie die Einstellungen in <filename>Makefile."
+"am</filename>. Allen Einstellungen ist ein Kommentar vorangestellt, der den "
+"jeweiligen Zweck beschreibt. Die meisten Einstellungen sind zusätzliche "
+"Flags, die an verschiedene Werkzeuge übergeben werden. Jedes der Werkzeuge "
+"hat eine Variable der Form <option><WERKZEUGNAME>_OPTIONEN</option>. "
+"Alle Werkzeuge unterstützen <option>--help</option> zur Auflistung der "
+"unterstützten Parameter."
+
+#. FIXME: explain options ?
+#: C/gtk-doc-manual.xml:514(para)
+msgid ""
+"You may also want to enable GTK-Doc for the distcheck make target. Just add "
+"the one line shown in the next example to your top-level <filename>Makefile."
+"am</filename>:"
+msgstr ""
+"Vielleicht möchten Sie auch GTK-Doc für das distcheckmake-Ziel aktivieren. "
+"Fügen Sie dazu den im nächsten Beispiel gezeigten Einzeiler zur Datei "
+"<filename>Makefile.am</filename> der obersten Ebene hinzu:"
+
+#: C/gtk-doc-manual.xml:521(title)
+msgid "Enable GTK-Doc during make distcheck"
+msgstr "GTK-Doc während »make distcheck« aktivieren"
+
+#: C/gtk-doc-manual.xml:533(title)
+msgid "Integration with autogen"
+msgstr "Integration in autogen"
+
+#: C/gtk-doc-manual.xml:535(para)
+msgid ""
+"Most projects will have an <filename>autogen.sh</filename> script to setup "
+"the build infrastructure after a checkout from version control system (such "
+"as cvs/svn/git). GTK-Doc comes with a tool called <application>gtkdocize</"
+"application> which can be used in such a script. It should be run before "
+"autoheader, automake or autoconf."
+msgstr ""
+"Die meisten Projekte dürften über ein <filename>autogen.sh</filename>-Skript "
+"verfügen, welches die Build-Infrastruktur nach dem Auschecken aus einem "
+"Versionsverwaltungssystem wie CVS, SVN oder Git erzeugt. GTK-Doc liefert ein "
+"Werkzeug namens <application>gtkdocize</application> mit, das in einem "
+"solchen Skript verwendet werden kann. Es sollte vor autoheader, automake oder "
+"autoconf ausgeführt werden."
+
+#: C/gtk-doc-manual.xml:544(title)
+msgid "Running gtkdocize from autogen.sh"
+msgstr "Ausführen von gtkdocize durch autogen.sh"
+
+#: C/gtk-doc-manual.xml:553(para)
+msgid ""
+"When running <application>gtkdocize</application> it copies <filename>gtk-doc."
+"make</filename> to your project root (or any directory specified by the "
+"<option>--docdir</option> option). It also checks you configure script for "
+"the <function>GTK_DOC_CHECK</function> invocation. This macro can be used to "
+"pass extra parameters to <application>gtkdocize</application>."
+msgstr ""
+"Beim Ausführen von <application>gtkdocize</application> wird <filename>gtk-"
+"doc.make</filename> in die Wurzel Ihres Projekts oder in jeden anderen durch "
+"die Option <option>--docdir</option> festgelegten Ordner kopiert. Außerdem "
+"wird das configure-Skript daraufhin überprüft, ob <function>GTK_DOC_CHECK</"
+"function> enthalten ist. Dieses Makro kann verwendet werden, um weitere "
+"Parameter an <application>gtkdocize</application> zu übergeben."
+
+#: C/gtk-doc-manual.xml:562(para)
+msgid ""
+"Historically GTK-Doc was generating template files where developers entered "
+"the docs. This turned out to be not so good (e.g. the need for having "
+"generated files under version control). Since GTK-Doc 1.9 the tools can get "
+"all the information from source comments and thus the templates can be "
+"avoided. We encourage people to keep documentation in the code. "
+"<application>gtkdocize</application> supports now a <option>--flavour no-"
+"tmpl</option> option that chooses a makefile that skips tmpl usage totally. "
+"Besides adding the option directly to the command invocation, they can be "
+"added also to an environment variable called <symbol>GTKDOCIZE_FLAGS</symbol> "
+"or set as a 2nd parameter in <symbol>GTK_DOC_CHECK</symbol> macro in the "
+"configure script. If you have never changed file in tmpl by hand and "
+"migrating from older gtkdoc versions, please remove the dir (e.g. from "
+"version control system)."
+msgstr ""
+"In früherer Zeit erzeugte GTK-Doc die Vorlagendateien dort, wo die Entwickler "
+"die Dokumentaion platzierten. Das stellte sich als nicht optimal heraus, "
+"beispielsweise um generierte Dateien unter Versionskontrolle zu haben. Seit "
+"einigen Versionen kann GTK-Doc auch sämtliche Informationen aus Quellcode-"
+"Kommentaren ermitteln. Seit GTK-Doc 1.9 sind diese Vorlagen nicht mehr "
+"notwendig. Wir ermutigen die Entwickler, die Dokumentation innerhalb des "
+"Codes zu halten. <application>gtkdocize</application> unterstützt nun die "
+"Option <option>--flavour no-tmpl</option>, wodurch ein Makefile gewählt wird, "
+"welches die Verwendung der Vorlagen komplett umgeht. Neben der Möglichkeit, "
+"diese Option direkt beim Befehlsaufruf zu übergeben, kann Sie auch zu einer "
+"Umgebungsvariable namens <symbol>GTKDOCIZE_FLAGS</symbol> hinzugefügt oder "
+"als zweiter Parameter im <symbol>GTK_DOC_CHECK</symbol>-Makro im "
+"Konfigurationsskript aufgeführt werden. Falls Sie niemals Dateien im "
+"Vorlagenordner manuell bearbeitet oder aus älteren GTK-Doc-Versionen "
+"importiert haben, sollten Sie den Ordner löschen, z.B. in der "
+"Versionsverwaltung."
+
+#: C/gtk-doc-manual.xml:579(title) C/gtk-doc-manual.xml:596(title)
+msgid "Running the doc build"
+msgstr "Erstellung der Dokumentation"
+
+#: C/gtk-doc-manual.xml:581(para)
+msgid ""
+"After the previous steps it's time to run the build. First we need to rerun "
+"<filename>autogen.sh</filename>. If this script runs configure for you, then "
+"give it the <option>--enable-gtk-doc</option> option. Otherwise manually run "
+"<filename>configure</filename> with this option afterwards."
+msgstr ""
+"Nach den bisher absolvierten Schritten ist es Zeit für den Build-Vorgang. "
+"Zunächst muss <filename>autogen.sh</filename> erneut ausgeführt werden. Falls "
+"dieses Skript auch den configure-Aufruf enthält, sollten Sie die Option "
+"<option>--enable-gtk-doc</option> hinzufügen. Anderenfalls führen Sie danach "
+"<filename>configure</filename> manuell aus, ebenfalls mit dieser Option."
+
+#: C/gtk-doc-manual.xml:588(para)
+msgid ""
+"The first make run generates several additional files in the doc-dirs. The "
+"important ones are: <filename><package>.types</filename>, <filename><"
+"package>-docs.xml</filename> (in the past .sgml), <filename><"
+"package>-sections.txt</filename>."
+msgstr ""
+"Der erste Durchlauf von make erstellt verschiedene zusätzliche Dateien in den "
+"Dokumentationsordnern. Die bedeutendsten davon sind: <filename><"
+"package>.types</filename>, <filename><package>-docs.xml</filename> "
+"(früher .sgml), <filename><package>-sections.txt</filename>."
+
+#: C/gtk-doc-manual.xml:605(para)
+msgid ""
+"Now you can point your browser to <filename>docs/reference/<package>/"
+"index.html</filename>. Yes, it's a bit disappointing still. But hang-on, "
+"during the next chapter we tell you how to fill the pages with life."
+msgstr ""
+"Nun können Sie <filename>docs/reference/<package>/index.html</filename> "
+"in Ihrem Browser öffnen. Zugegeben, das Ergebnis ist noch ein wenig "
+"enttäuschend. Im nächsten Abschnitt zeigen wir Ihnen, wie Sie die Seiten mit "
+"Leben füllen können."
+
+#: C/gtk-doc-manual.xml:613(title)
+msgid "Integration with version control systems"
+msgstr "Integration in Versionsverwaltungssysteme"
+
+#: C/gtk-doc-manual.xml:615(para)
+msgid ""
+"As a rule of the thumb, it's those files you edit, that should go under "
+"version control. For typical projects it's these files: <filename><"
+"package>.types</filename>, <filename><package>-docs..xml</filename> "
+"(in the past .sgml), <filename><package>-sections.txt</filename>, "
+"<filename>Makefile.am</filename>"
+msgstr ""
+"Als Faustregel gilt, dass alle von Ihnen bearbeiteten Dateien auch unter "
+"Versionsverwaltung stehen sollten. In typischen Projekten sind das folgende "
+"Dateien: <filename><package>.types</filename>, <filename><"
+"package>-docs..xml</filename> (früher .sgml), <filename><package>-"
+"sections.txt</filename>, <filename>Makefile.am</filename>."
+
+#: C/gtk-doc-manual.xml:626(title)
+msgid "Integration with plain makefiles or other build systems"
+msgstr "Integration in Klartext-Makefiles oder andere Erstellungssysteme"
+
+#: C/gtk-doc-manual.xml:628(para)
+msgid ""
+"In the case one does not want to use automake and therfore <filename>gtk-doc."
+"mak</filename> one will need to call the gtkdoc tools in the right order in "
+"own makefiles (or other build tools)."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:635(title)
+msgid "Documentation build steps"
+msgstr "Schritte zur Erstellung der Dokumentation"
+
+#: C/gtk-doc-manual.xml:652(para)
+msgid ""
+"One will need to look at the <filename>Makefile.am</filename> and "
+"<filename>gtk-doc.mak</filename> to pick the extra options needed."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:661(title)
+msgid "Documenting the code"
+msgstr "Dokumentieren des Codes"
+
+#: C/gtk-doc-manual.xml:663(para)
+msgid ""
+"GTK-Doc uses source code comment with a special syntax for code "
+"documentation. Further it retrieves information about your project structure "
+"from other sources. During the next section you will find all information "
+"about the syntax of the comments."
+msgstr ""
+"GTK-Doc benutzt Quellcode-Kommentare mit einer speziellen Syntax für Code-"
+"Dokumentation. Weiterhin werden Informationen über Ihre Projektstruktur aus "
+"anderen Quellen geholt. Im nächsten Abschnitt finden sie umfassende "
+"Informationen über die Syntax der Kommentare."
+
+#: C/gtk-doc-manual.xml:671(title)
+msgid "Documentation placement"
+msgstr "Platzierung der Dokumentation"
+
+#: C/gtk-doc-manual.xml:672(para)
+msgid ""
+"In the past most documentation had to be filled into files residing inside "
+"the <filename>tmpl</filename> directory. This has the disadvantages that the "
+"information is often not updated and also that the file tend to cause "
+"conflicts with version control systems."
+msgstr ""
+"In der Vergangenheit wurde die Dokumentation oft in Dateien gespeichert, die "
+"im Ordner <filename>tmpl</filename> liegen. Das hat den Nachteil, dass die "
+"Informationen oft nicht aktualisiert wurden und die Datei tendenziell "
+"Konflikte mit Versionsverwaltungssystemen verursachen kann."
+
+#: C/gtk-doc-manual.xml:678(para)
+msgid ""
+"The avoid the aforementioned problems we suggest putting the documentation "
+"inside the sources. This manual will only describe this way of documenting "
+"code."
+msgstr ""
+"Um die bereits genannten Probleme zu vermeiden, empfehlen wir, die "
+"Dokumentation innerhalb der Quellen zu halten. In diesem Handbuch wird "
+"ausschließlich dieser Weg des Dokumentierens des Quellcodes beschrieben."
+
+#: C/gtk-doc-manual.xml:689(title) C/gtk-doc-manual.xml:708(title)
+msgid "GTK-Doc comment block"
+msgstr "GTK-Doc-Kommentarblock"
+
+#: C/gtk-doc-manual.xml:685(para)
+msgid ""
+"The scanner can handle the majority of c headers fine. In the case of "
+"receiving warnings from the scanner that look like a special case, one can "
+"hint GTK-Doc to skip over them. <placeholder-1/>"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:703(title)
+msgid "Documentation comments"
+msgstr "Kommentare zur Dokumentation"
+
+#: C/gtk-doc-manual.xml:705(para)
+msgid ""
+"A multiline comment that starts with an additional '*' marks a documentation "
+"block that will be processed by the GTK-Doc tools. <placeholder-1/>"
+msgstr ""
+"Ein mehrzeiliger Kommentar, der mit einem zusätzlichen »*« beginnt, markiert "
+"einen Kommentarblock, der von den Werkzeugen in GTK-Doc verarbeitet wird. "
+"<placeholder-1/>"
+
+#: C/gtk-doc-manual.xml:720(para)
+msgid ""
+"The 'identifier' is one line with the name of the item the comment is related "
+"to. The syntax differs a little depending on the item. (TODO add table "
+"showing identifiers)"
+msgstr ""
+"Der »identifier« ist eine Zeile mit dem Namen des Objekts, auf das sich der "
+"Kommentar bezieht. Die Syntax kann abhängig von der Art des Objekts variieren."
+
+#: C/gtk-doc-manual.xml:726(para)
+msgid ""
+"The 'documentation' block is also different for each symbol type. Symbol "
+"types that get parameters such as functions or macros have the parameter "
+"description first followed by a blank line (just a '*'). Afterwards follows "
+"the detailed description. All lines (outside program- listings and CDATA "
+"sections) just containing a ' *' (blank-asterisk) are converted to paragraph "
+"breaks. If you don't want a paragraph break, change that into ' * ' (blank-"
+"asterisk-blank-blank)."
+msgstr ""
+"Der Block »documentation« ist ebenfalls für jeden Symboltyp unterschiedlich. "
+"Symboltypen mit Parametern wie Funktionen oder Makros haben eine "
+"Parameterbeschreibung, auf die eine leere Zeile folgt (keine echte Leerzeile, "
+"sondern ein »*«).Danach folgt eine detaillierte Beschreibung. Alle Zeilen "
+"(außerhalb von Programmlistings und CDATA-Abschnitten, die nur ein solches "
+"»*« enthalten, werden in Absatzumbrüche umgewandelt. Falls Sie keinen "
+"Absatzumbruch wünschen, verwenden sie stattdessen ein » * «, d.h. setzen Sie "
+"ein Leerzeichen jeweils davor und dahinter."
+
+#: C/gtk-doc-manual.xml:742(para)
+msgid ""
+"What it is: The name for a class or function can sometimes be misleading for "
+"people coming from a different background."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:748(para)
+msgid ""
+"What it does: Tell about common uses. Put it in releation with the other API."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:738(para)
+msgid "When documenting code, describe two apsects: <placeholder-1/>"
+msgstr ""
+"Beim Dokumentieren von Code beschreiben Sie zwei Aspekte: <placeholder-1/>"
+
+#: C/gtk-doc-manual.xml:763(para)
+msgid "Use function() to refer to functions or macros which take arguments."
+msgstr ""
+"Verwenden Sie function(), um einen Bezug zu Funktionen oder Makros "
+"herzustellen, die Argumente akzeptieren."
+
+#: C/gtk-doc-manual.xml:768(para)
+msgid ""
+"Use @param to refer to parameters. Also use this when referring to parameters "
+"of other functions, related to the one being described."
+msgstr ""
+"Verwenden Sie @param, um einen Bezug zu Parametern herzustellen. Verwenden "
+"Sie dies auch, wenn es um einen Bezug zu Parametern anderer Funktionen geht, "
+"bezogen auf jene, die Sie gerade beschreiben."
+
+#: C/gtk-doc-manual.xml:774(para)
+msgid "Use %constant to refer to a constant, e.g. %G_TRAVERSE_LEAFS."
+msgstr ""
+"Benutzen Sie %constant, um einen Bezug auf eine Konstante herzustellen, z.B. "
+"%G_TRAVERSE_LEAFS."
+
+#: C/gtk-doc-manual.xml:779(para)
+msgid ""
+"Use #symbol to refer to other types of symbol, e.g. structs and enums and "
+"macros which don't take arguments."
+msgstr ""
+"Verwenden Sie #symbol, um auf andere Symboltypen zu verweisen, z.B. »structs« "
+"und »enums« und Makros, die keine Argumente benötigen."
+
+#: C/gtk-doc-manual.xml:785(para)
+msgid "Use #Object::signal to refer to a GObject signal"
+msgstr "Verwenden Sie #Object::signal, um auf ein GObject-Signal zu verweisen"
+
+#: C/gtk-doc-manual.xml:790(para)
+msgid "Use #Object:property to refer to a GObject property"
+msgstr ""
+"Verwenden Sie #Object:property, um auf eine GObject-Eigenschaft zu verweisen."
+
+#: C/gtk-doc-manual.xml:795(para)
+msgid "Use #Struct.field to refer to a field inside a structure."
+msgstr ""
+"Verwenden Sie #Struct.field, um auf ein Feld innerhalb einer Struktur zu "
+"verweisen."
+
+#: C/gtk-doc-manual.xml:757(para)
+msgid ""
+"One advantage of hyper-text over plain-text is the ability to have links in "
+"the document. Writing the correct markup for a link can be tedious though. "
+"GTK-Doc comes to help by providing several useful abbreviations. "
+"<placeholder-1/>"
+msgstr ""
+"Ein Vorteil von Hypertext gegenüber Klartext ist die Möglichkeit, "
+"Verknüpfungen im Dokument zu verwenden. Das Schreiben eines korrekten Markups "
+"für eine solche Verknüpfung kann allerdings langatmig sein, deshalb stellt "
+"GTK-Doc eine Reihe von praktischen Abkürzungen bereit. <placeholder-1/>"
+
+#: C/gtk-doc-manual.xml:803(para)
+msgid ""
+"If you need to use the special characters '<', '>', '()', '@', '%', or "
+"'#' in your documentation without GTK-Doc changing them you can use the XML "
+"entities \"&lt;\", \"&gt;\", \"&lpar;\", \"&rpar;\", \"&"
+"commat;\", \"&percnt;\" and \"&num;\" respectively or escape them "
+"with a backslash '\\'."
+msgstr ""
+"Falls Sie die Sonderzeichen »<«, »>«, »()«, »@«, »%« oder »#« in Ihrer "
+"Dokumentation verwenden wollen, ohne dass GTK-Doc diese ändert, können Sie "
+"die XML-Entitäten »&lt;«, »&gt;«, »&lpar;«, »&rpar;«, »&"
+"commat;«, »&percnt;« und »&num;« verwenden oder die Zeichen mit einem "
+"Backslash »\\« maskieren."
+
+#: C/gtk-doc-manual.xml:812(para)
+msgid ""
+"DocBook can do more than just links. One can also have lists, tables and "
+"examples. To enable the usage of docbook SGML/XML tags inside doc-comments "
+"you need to have <option>--xml-mode</option> or <option>--sgml-mode</option> "
+"in the variable <symbol>MKDB_OPTIONS</symbol> inside <filename>Makefile.am</"
+"filename>."
+msgstr ""
+"DocBook kann mehr als nur verknüpfen. Sie können auch Listen, Tabellen und "
+"Beispiele einbauen. Um die Nutzung der DocBook-SGML/XML-Tags innerhalb der "
+"Dokumentationskommentare zu aktivieren, übergeben Sie der Variable "
+"<symbol>MKDB_OPTIONS</symbol> in der Datei <filename>Makefile.am</filename> "
+"die Option <option>--xml-mode</option> oder <option>--sgml-mode</option>."
+
+#: C/gtk-doc-manual.xml:826(title)
+#, fuzzy
+msgid "GTK-Doc comment block using markdown"
+msgstr "GTK-Doc-Kommentarblock"
+
+#: C/gtk-doc-manual.xml:820(para)
+msgid ""
+"Since GTK-Doc-1.18 the tool supports a subset or the <ulink url=\"http://"
+"daringfireball.net/projects/markdown/\">markdown language</ulink>. One can "
+"use it for sub-headings and simple itemized lists. On older GTK-Doc versions "
+"the content will be rendered as it (the list items will appear in one line "
+"separated by dashes). <placeholder-1/>"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:848(para)
+msgid ""
+"As already mentioned earlier GTK-Doc is for documenting public API. Thus one "
+"cannot write documentation for static symbols. Nevertheless it is good to "
+"comment those symbols too. This helps other to understand you code. Therefore "
+"we recommend to comment these using normal comments (without the 2nd '*' in "
+"the first line). If later the function needs to be made public, all one needs "
+"to do is to add another '*' in the comment block and insert the symbol name "
+"at the right place inside the sections file."
+msgstr ""
+"Wie an früherer Stelle bereits erwähnt, ist GTK-Doc für das Dokumentieren der "
+"öffentlichen API gedacht. Daher kann man keine Dokumentation für statische "
+"Symbole schreiben. Nichtsdestotrotz ist es jedoch gut, diese Symbole trotzdem "
+"zu dokumentieren. Dies hilft anderen, Ihren Code besser zu verstehen. "
+"Deswegen empfehlen wir, hierfür normale Kommentare zu verwenden, ohne das "
+"zweite »*« in der ersten Zeile. Falls später die Funktion veröffentlicht "
+"werden soll, ist es lediglich nötig, im Kommentarblock ein zweites »*« "
+"hinzuzufügen und den Symbolnamen an der richtigen Stelle in die "
+"Abschnittsdatei einzubauen."
+
+#: C/gtk-doc-manual.xml:862(title)
+msgid "Documenting sections"
+msgstr "Dokumentieren von Abschnitten"
+
+#: C/gtk-doc-manual.xml:864(para)
+msgid ""
+"Each section of the documentation contains information about one class or "
+"module. To introduce the component one can write a section block. The short "
+"description is also used inside the table of contents. All the @fields are "
+"optional."
+msgstr ""
+"Jeder Abschnitt der Dokumentation enthält Informationen über eine Klasse oder "
+"ein Modul. Um eine Komponente hinzuzufügen, können Sie einen Abschnittsblock "
+"schreiben. Die Kurzbeschreibung wird auch im Inhaltsverzeichnis verwendet. "
+"Alle @-Felder sind optional."
+
+#: C/gtk-doc-manual.xml:872(title)
+msgid "Section comment block"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:894(term)
+msgid "SECTION:<name>"
+msgstr "SECTION:<name>"
+
+#: C/gtk-doc-manual.xml:896(para)
+msgid ""
+"The name links the section documentation to the respective part in the "
+"<filename><package>-sections.txt</filename> file. The name give here "
+"should match the <FILE> tag in the <filename><package>-sections."
+"txt</filename> file."
+msgstr ""
+"Der Name verweist auf die Abschnittsdokumentation des entsprechenden Teils "
+"der Datei <filename><package>-sections.txt</filename>. Der hier "
+"angegebene Name sollte der Markierung <FILE> in der Datei <filename><"
+"package>-sections.txt</filename> entsprechen."
+
+#: C/gtk-doc-manual.xml:905(term)
+msgid "@short_description"
+msgstr "@short_description"
+
+#: C/gtk-doc-manual.xml:907(para)
+msgid ""
+"A one line description of the section, that later will appear after the links "
+"in the TOC and at the top of the section page."
+msgstr ""
+"Eine einzeilige Beschreibung des Abschnitts, die später hinter den Verweisen "
+"im Inhaltsverzeichnis und oben in der Abschnittsseite erscheint."
+
+#: C/gtk-doc-manual.xml:914(term)
+msgid "@title"
+msgstr "@title"
+
+#: C/gtk-doc-manual.xml:916(para)
+msgid ""
+"The section title defaults to <name> from the SECTION declaration. It "
+"can be overridden with the @title field."
+msgstr ""
+"Der Abschnittstitel in der SECTION-Deklaration, Vorgabe ist <name>. Er "
+"kann im Feld @title überschrieben werden."
+
+#: C/gtk-doc-manual.xml:923(term)
+msgid "@section_id"
+msgstr "@section_id"
+
+#: C/gtk-doc-manual.xml:925(para)
+msgid ""
+"Overrides the use of title as a section identifier. For GObjects the <"
+"title> is used as a section_id and for other sections it is <MODULE>-"
+"<title>."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:933(term)
+msgid "@see_also"
+msgstr "@see_also"
+
+#: C/gtk-doc-manual.xml:935(para)
+msgid "A list of symbols that are related to this section."
+msgstr "Eine Liste von Symbolen, welche sich auf diesen Abschnitt beziehen."
+
+#: C/gtk-doc-manual.xml:941(term)
+msgid "@stability"
+msgstr "@stability"
+
+#: C/gtk-doc-manual.xml:948(para)
+msgid ""
+"Stable - The intention of a Stable interface is to enable arbitrary third "
+"parties to develop applications to these interfaces, release them, and have "
+"confidence that they will run on all minor releases of the product (after the "
+"one in which the interface was introduced, and within the same major "
+"release). Even at a major release, incompatible changes are expected to be "
+"rare, and to have strong justifications."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:960(para)
+msgid ""
+"Unstable - Unstable interfaces are experimental or transitional. They are "
+"typically used to give outside developers early access to new or rapidly "
+"changing technology, or to provide an interim solution to a problem where a "
+"more general solution is anticipated. No claims are made about either source "
+"or binary compatibility from one minor release to the next."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:972(para)
+msgid ""
+"Private - An interface that can be used within the GNOME stack itself, but "
+"that is not documented for end-users. Such functions should only be used in "
+"specified and documented ways."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:981(para)
+msgid ""
+"Internal - An interface that is internal to a module and does not require end-"
+"user documentation. Functions that are undocumented are assumed to be "
+"Internal."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:943(para)
+msgid ""
+"A informal description of the stability level this API has. We recommend the "
+"use of one of these terms: <placeholder-1/>"
+msgstr ""
+"Eine informelle Beschreibung der Stabilitätsstufe dieser API. Wir empfehlen "
+"dafür einen der folgenden Begriffe: <placeholder-1/>"
+
+#: C/gtk-doc-manual.xml:993(term)
+msgid "@include"
+msgstr "@include"
+
+#: C/gtk-doc-manual.xml:995(para)
+msgid ""
+"The <literal>#include</literal> files to show in the section synopsis (a "
+"comma separated list), overriding the global value from the <link linkend="
+"\"metafiles_sections\">section file</link> or command line. This item is "
+"optional."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1004(term)
+msgid "@image"
+msgstr "@image"
+
+#: C/gtk-doc-manual.xml:1006(para)
+msgid ""
+"The image to display at the top of the reference page for this section. This "
+"will often be some sort of a diagram to illustrate the visual appearance of a "
+"class or a diagram of its relationship to other classes. This item is "
+"optional."
+msgstr ""
+"Das Bild, das am Beginn einer Referenzseite für diesen Abschnitt angezeigt "
+"wird. Meist wird es eine Art Diagramm für visuelle Erscheinungsbild einer "
+"Klasse oder ein Diagramm sein, das die Beziehungen zu anderen Klassen "
+"darstellt. Dieses Objekt ist optional."
+
+#: C/gtk-doc-manual.xml:1017(para)
+msgid ""
+"To avoid unnecessary recompilation after doc-changes put the section docs "
+"into the c-source where possible."
+msgstr ""
+"Um unnötiges Rekompilieren nach Dokumentationsänderungen zu vermeiden, "
+"platzieren Sie die Abschnittsdokumentation in die C-Quellen, wo immer es "
+"möglich ist."
+
+#: C/gtk-doc-manual.xml:1026(title)
+msgid "Documenting symbols"
+msgstr "Dokumentieren von Symbolen"
+
+#: C/gtk-doc-manual.xml:1028(para)
+msgid ""
+"Each symbol (function, macro, struct, enum, signal and property) is "
+"documented in a separate block. The block is best placed close to the "
+"definition of the symbols so that it is easy to keep them in sync. Thus "
+"functions are usually documented in the c-source and macros, structs and "
+"enums in the header file."
+msgstr ""
+"Jedes Symbol (function, macro, struct, enum, signal und property) wird in "
+"einem separaten Block dokumentiert. Der Block wird am besten nahe der "
+"Definition der Symbole platziert, so dass es leichter ist, diese synchron zu "
+"halten. Die Funktion wird üblicherweise in den C-Quellen definiert, »macro«, "
+"»struct« und »enum« dagegen in der Header-Datei."
+
+#: C/gtk-doc-manual.xml:1036(title) C/gtk-doc-manual.xml:1065(title)
+msgid "General tags"
+msgstr "Allgemeine Markierungen"
+
+#: C/gtk-doc-manual.xml:1038(para)
+msgid ""
+"You can add versioning information to all documentation elements to tell when "
+"an api was introduced, or when it was deprecated."
+msgstr ""
+"Sie können Versionsinformationen zu allen Dokumentationselementen hinzufügen, "
+"um darauf hinzuweisen, wann eine API eingeführt oder wann sie als veraltet "
+"markiert wurde."
+
+#: C/gtk-doc-manual.xml:1043(title)
+msgid "Versioning Tags"
+msgstr "Versionierungs-Markierungen"
+
+#: C/gtk-doc-manual.xml:1044(term)
+msgid "Since:"
+msgstr "Since:"
+
+#: C/gtk-doc-manual.xml:1046(para)
+msgid "Description since which version of the code the API is available."
+msgstr "Beschreibung, seit welcher Version des Codes die API verfügbar ist."
+
+#: C/gtk-doc-manual.xml:1051(term)
+msgid "Deprecated:"
+msgstr "Deprecated:"
+
+#: C/gtk-doc-manual.xml:1053(para)
+msgid ""
+"Paragraph denoting that this function should no be used anymore. The "
+"description should point the reader to the new API."
+msgstr ""
+"Absatz, der darüber informiert, dass diese Funktion nicht mehr genutzt werden "
+"sollte. Die Beschreibung sollte einen Verweis auf die neue API enthalten."
+
+#: C/gtk-doc-manual.xml:1061(para)
+msgid "(FIXME : Stability information)"
+msgstr "(FIXME : Stabilitätsinformation)"
+
+#: C/gtk-doc-manual.xml:1088(title) C/gtk-doc-manual.xml:1124(title)
+msgid "Function comment block"
+msgstr "Kommentarblock einer Funktion"
+
+#: C/gtk-doc-manual.xml:1094(para)
+msgid ""
+"Document whether returned objects, lists, strings, etc, should be freed/"
+"unrefed/released."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1100(para)
+msgid "Document whether parameters can be NULL, and what happens if they are."
+msgstr ""
+"Dokumentiert, ob Parameter NULL sein können, und was in diesem Fall geschieht."
+
+#: C/gtk-doc-manual.xml:1105(para)
+msgid ""
+"Mention interesting pre-conditions and post-conditions where appropriate."
+msgstr ""
+"Erwähnen Sie interessante Vorbedingungen (und nachfolgende Bedingungen), wo "
+"es nützlich erscheint."
+
+#: C/gtk-doc-manual.xml:1090(para) C/gtk-doc-manual.xml:1187(para)
+msgid "Please remember to: <placeholder-1/>"
+msgstr "Bitte denken Sie an: <placeholder-1/>"
+
+#: C/gtk-doc-manual.xml:1112(para)
+msgid ""
+"Gtk-doc assumes all symbols (macros, functions) starting with '_' are "
+"private. They are treated like static functions."
+msgstr ""
+"GTK-Doc nimmt an, dass alle Symbole (Makros, Funktionen), die mit »_« "
+"beginnen, privat sind. Sie werden wie statische Funktionen behandelt."
+
+#: C/gtk-doc-manual.xml:1117(para)
+msgid ""
+"Also, take a look at gobject introspection annotation tags: http://live.gnome."
+"org/GObjectIntrospection/Annotations"
+msgstr ""
+"Werfen Sie auch einen Blick auf die »gobject introspection annotation tags«: "
+"http://live.gnome.org/GObjectIntrospection/Annotations"
+
+#: C/gtk-doc-manual.xml:1148(title)
+msgid "Function tags"
+msgstr "Funktions-Tags"
+
+#: C/gtk-doc-manual.xml:1149(term)
+msgid "Returns:"
+msgstr "Returns:"
+
+#: C/gtk-doc-manual.xml:1151(para)
+msgid "Paragraph describing the returned result."
+msgstr "Abschnitt, der das zurückgegebene Ergebnis beschreibt."
+
+#: C/gtk-doc-manual.xml:1156(term)
+msgid "@...:"
+msgstr "@...:"
+
+#: C/gtk-doc-manual.xml:1158(para)
+msgid ""
+"In case the function has variadic arguments, you should use this tag "
+"(@Varargs: does also work for historic reasons)."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1168(title) C/gtk-doc-manual.xml:1170(title)
+msgid "Property comment block"
+msgstr "Property-Kommentarblock"
+
+#: C/gtk-doc-manual.xml:1185(title) C/gtk-doc-manual.xml:1204(title)
+msgid "Signal comment block"
+msgstr "Signal-Kommentarblock"
+
+#: C/gtk-doc-manual.xml:1191(para)
+msgid ""
+"Document when the signal is emitted and whether it is emitted before or after "
+"other signals."
+msgstr ""
+"Dokumentiert, wann ein Signal ausgegeben wird und ob es vor oder nach anderen "
+"Signalen ausgegeben wird."
+
+#: C/gtk-doc-manual.xml:1197(para)
+msgid "Document what an application might do in the signal handler."
+msgstr "Dokumentiert, was eine Anwendung in dem Signal-Handler tun könnte."
+
+#: C/gtk-doc-manual.xml:1224(title) C/gtk-doc-manual.xml:1225(title)
+msgid "Struct comment block"
+msgstr "Struct-Kommentarblock"
+
+#: C/gtk-doc-manual.xml:1245(para)
+msgid ""
+"Use <code>/*< private >*/</code> before the private struct fields you "
+"want to hide. Use <code>/*< public >*/</code> for the reverse behaviour."
+msgstr ""
+"Verwenden Sie <code>/*< private >*/</code> vor den privaten »struct«-"
+"Feldern, die Sie verbergen wollen. Um das umgekehrte Verhalten zu erzielen, "
+"verwenden Sie <code>/*< public >*/</code>."
+
+#: C/gtk-doc-manual.xml:1251(para)
+msgid ""
+"Struct comment blocks can also be used for GObjects and GObjectClasses. It is "
+"usualy a good idea to add a comment blco for a class, if it has vmethods (as "
+"this is how they can be documented). For the GObject itself one can use the "
+"related section docs, having a separate block for the instance struct would "
+"be useful if the instance has public fields. One disadvantage here is that "
+"this creates two index entries of the same name (the structure and the "
+"section)."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1263(title) C/gtk-doc-manual.xml:1264(title)
+msgid "Enum comment block"
+msgstr "Enum-Kommentarblock"
+
+#: C/gtk-doc-manual.xml:1285(para)
+msgid ""
+"Use <code>/*< private >*/</code> before the private enum values you "
+"want to hide. Use <code>/*< public >*/</code> for the reverse behaviour."
+msgstr ""
+"Verwenden Sie <code>/*< private >*/</code> vor den privaten »enum«-"
+"Werten, die Sie verbergen wollen. Um das umgekehrte Verhalten zu erzielen, "
+"verwenden Sie <code>/*< public >*/</code>."
+
+#: C/gtk-doc-manual.xml:1295(title)
+msgid "Useful DocBook tags"
+msgstr "Nützliche DocBook-Tags"
+
+#: C/gtk-doc-manual.xml:1297(para)
+msgid ""
+"Here are some DocBook tags which are most useful when documenting the code."
+msgstr ""
+"Nachfolgend finden Sie einige DocBook-Tags, die beim Dokumentieren von Code "
+"nützlich sein können."
+
+#: C/gtk-doc-manual.xml:1302(para)
+msgid ""
+"To link to another section in the GTK docs: <placeholder-1/> The linkend is "
+"the SGML/XML id on the top item of the page you want to link to. For most "
+"pages this is currently the part (\"gtk\", \"gdk\", \"glib\") and then the "
+"page title (\"Hash Tables\"). For widgets it is just the class name. Spaces "
+"and underscores are converted to '-' to conform to SGML/XML."
+msgstr ""
+"So erstellen Sie eine Verknüpfung zu einem anderen Abschnitt in den GTK-Docs: "
+"<placeholder-1/> »linkend« ist dabei die SGML-XML-Kennung des obersten "
+"Elements der Seite, auf welche die Verknüpfung zielt (»gtk«, »gdk«, »glib«), "
+"danach folgt der Seitentitel (\"Hash Tables\"). Für Widgets ist dies einfach "
+"der Klassenname. Leerzeichen und Unterstriche werden SGML/XML-konform in »-« "
+"umgewandelt. "
+
+#: C/gtk-doc-manual.xml:1318(para)
+msgid ""
+"To refer to an external function, e.g. a standard C function: <placeholder-1/>"
+msgstr ""
+"Für einen Bezug zu einer externen Funktion, z.B. einer C-Standardfunktion: "
+"<placeholder-1/>"
+
+#: C/gtk-doc-manual.xml:1329(para)
+msgid ""
+"To include example code: <placeholder-1/> or possibly this, for very short "
+"code fragments which don't need a title: <placeholder-2/> For the latter GTK-"
+"Doc also supports an abbreviation: <![CDATA[\n"
+"|[\n"
+" ...\n"
+"]|\n"
+"]]>"
+msgstr ""
+"So fügen Sie Beispielcode ein: <placeholder-1/> Vielleicht auch so, für sehr "
+"kurze Codeschnipsel, die keinen Titel benötigen: <placeholder-2/> Außerdem "
+"unterstützt GTK-Doc auch eine Abkürzung: <![CDATA[\n"
+"|[\n"
+" ...\n"
+"]|\n"
+"]]>"
+
+#: C/gtk-doc-manual.xml:1363(para)
+msgid "To include bulleted lists: <placeholder-1/>"
+msgstr "Für eine Liste mit Aufzählungszeichen: <placeholder-1/>"
+
+#: C/gtk-doc-manual.xml:1385(para)
+msgid "To include a note which stands out from the text: <placeholder-1/>"
+msgstr "Für eine nicht zum eigentlichen Text gehörende Notiz: <placeholder-1/>"
+
+#: C/gtk-doc-manual.xml:1400(para)
+msgid "To refer to a type: <placeholder-1/>"
+msgstr "Für einen Bezug zu einem Typ: <placeholder-1/>"
+
+#: C/gtk-doc-manual.xml:1411(para)
+msgid ""
+"To refer to an external structure (not one described in the GTK docs): "
+"<placeholder-1/>"
+msgstr ""
+"Für einen Bezug zu einer externen Struktur (die nicht in den GTK-Docs "
+"beschrieben wird: <placeholder-1/>"
+
+#: C/gtk-doc-manual.xml:1422(para)
+msgid "To refer to a field of a structure: <placeholder-1/>"
+msgstr "Für einen Bezug zu einem Feld einer Struktur: <placeholder-1/>"
+
+#: C/gtk-doc-manual.xml:1433(para)
+msgid ""
+"To refer to a class name, we could possibly use: <placeholder-1/> but you'll "
+"probably be using #GtkWidget instead (to automatically create a link to the "
+"GtkWidget page - see <link linkend=\"documenting_syntax\">the abbreviations</"
+"link>)."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1446(para)
+msgid "To emphasize text: <placeholder-1/>"
+msgstr "Zum Hervorheben von Text: <placeholder-1/>"
+
+#: C/gtk-doc-manual.xml:1457(para)
+msgid "For filenames use: <placeholder-1/>"
+msgstr "Für Dateinamen: <placeholder-1/>"
+
+#: C/gtk-doc-manual.xml:1468(para)
+msgid "To refer to keys use: <placeholder-1/>"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1483(title)
+msgid "Filling the extra files"
+msgstr "Füllen der zusätzlichen Dateien"
+
+#: C/gtk-doc-manual.xml:1485(para)
+msgid ""
+"There are a couple of extra files, that need to be maintained along with the "
+"inline source code comments: <filename><package>.types</filename>, "
+"<filename><package>-docs.xml</filename> (in the past .sgml), "
+"<filename><package>-sections.txt</filename>."
+msgstr ""
+"Es gibt eine Menge zusätzlicher Dateien, die mit den eingebetteten Quellcode-"
+"Kommentaren verwaltet werden müssen: <filename><package>.types</"
+"filename>, <filename><package>-docs.xml</filename> (früher .sgml), "
+"<filename><package>-sections.txt</filename>."
+
+#: C/gtk-doc-manual.xml:1494(title)
+msgid "Editing the types file"
+msgstr "Bearbeiten der Typendatei"
+
+#: C/gtk-doc-manual.xml:1496(para)
+msgid ""
+"If your library or application includes GtkObjects/GObjects, you want their "
+"signals, arguments/parameters and position in the hierarchy to be shown in "
+"the documentation. All you need to do, is to list the <function>xxx_get_type</"
+"function> functions together with their include inside the <filename><"
+"package>.types</filename> file."
+msgstr ""
+"Falls Ihre Bibliothek oder Anwendung GtkObjects/GObjects beinhaltet, sollten "
+"deren Signale, Argumente/Parameter und Positionen in der Hierarchie in der "
+"Dokumentation erscheinen. Alles was Sie tun müssen, ist die "
+"<function>xxx_get_type</function>Funktionen zusammen mit deren Includes in "
+"der Datei <filename><package>.types</filename> aufzulisten."
+
+#: C/gtk-doc-manual.xml:1505(title)
+msgid "Example types file snippet"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1519(para)
+msgid ""
+"Since GTK-Doc 1.8 <application>gtkdoc-scan</application> can generate this "
+"list for you. Just add \"--rebuild-types\" to SCAN_OPTIONS in "
+"<filename>Makefile.am</filename>. If you use this approach you should not "
+"dist the types file nor have it under version control."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1528(title)
+msgid "Editing the master document"
+msgstr "Bearbeiten des Master-Dokuments"
+
+#: C/gtk-doc-manual.xml:1530(para)
+msgid ""
+"GTK-Doc produces documentation in DocBook SGML/XML. When processing the "
+"inline source comments, the GTK-Doc tools generate one documentation page per "
+"class or module as a separate file. The master document includes them and "
+"place them in an order."
+msgstr ""
+"GTK-Doc erstellt die Dokumentation in DocBook-SGML/XML. Beim Verarbeiten der "
+"in den Quellcode eingebetteten Kommentare erzeugt GTK-Doc eine "
+"Dokumentationsseite pro Klasse oder Modul als separate Datei. Das "
+"Hauptdokument schließt diese ein und setzt sie in die passende Reihenfolge."
+
+#: C/gtk-doc-manual.xml:1537(para)
+msgid ""
+"While GTK-Doc creates a template master document for you, later run will not "
+"touch it again. This means that one can freely structure the documentation. "
+"That includes grouping pages and adding extra pages. GTK-Doc has now a test "
+"suite, where also the master-document is recreated from scratch. Its a good "
+"idea to look at this from time to time to see if there are some new goodies "
+"introduced there."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1547(para)
+msgid ""
+"Do not create tutorials as extra documents. Just write extra chapters. The "
+"benefit of directly embedding the tutorial for your library into the API "
+"documentation is that it is easy to link for the tutorial to symbol "
+"documentation. Apart chances are higher that the tutorial gets updates along "
+"with the library."
+msgstr ""
+"Erstellen Sie keine Schritt-für-Schritt-Anleitungen als zusätzliche "
+"Dokumente. Schreiben Sie lediglich zusätzliche Kapitel. Der Vorteil des "
+"direkten Einbettens einer Anleitung für Ihre Bibliothek in die API ist die "
+"Möglichkeit der einfachen Verknüpfung der Schritt-für-Schritt-Anleitung zur "
+"Symboldokumentation. Außerdem sind die Chancen größer, dass die Anleitung die "
+"gleichen Aktualisierungen erfährt wie die Bibliothek selbst."
+
+#: C/gtk-doc-manual.xml:1556(para)
+msgid ""
+"So what are the things to change inside the master document? For a start is "
+"only a little. There are some placeholders (text in square brackets) there "
+"which you should take care of."
+msgstr ""
+"Was sollte nun innerhalb des Master-Dokuments geändert werden? Zunächst recht "
+"wenig. Es gibt einige Platzhalter (Text in eckigen Klammern), die Sie "
+"beachten sollten."
+
+#: C/gtk-doc-manual.xml:1563(title)
+msgid "Master document header"
+msgstr "Kopfzeile des Master-Dokuments"
+
+#: C/gtk-doc-manual.xml:1585(title)
+msgid "Editing the section file"
+msgstr "Bearbeiten der Abschnittsdatei"
+
+#: C/gtk-doc-manual.xml:1587(para)
+msgid ""
+"The section file is used to organise the documentation output by GTK-Doc. "
+"Here one specifies which symbol belongs to which module or class and control "
+"the visibility (public or private)."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1593(para)
+msgid ""
+"The section file is a plain test file with xml like syntax (using tags). "
+"Blank lines are ignored and lines starting with a '#' are treated as comment "
+"lines."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1599(para)
+msgid ""
+"The <FILE> ... </FILE> tag is used to specify the file name, "
+"without any suffix. For example, using '<FILE>gnome-config</"
+"FILE>' will result in the section declarations being output in the "
+"template file <filename>tmpl/gnome-config.sgml</filename>, which will be "
+"converted into the DocBook SGML/XML file <filename>sgml/gnome-config.sgml</"
+"filename> or .DocBook XML file <filename>xml/gnome-config.xml</filename>. "
+"(The name of the html file is based on the module name and the section title, "
+"or for gobjects it is based on the gobjects class name converted to lower "
+"case)."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1611(para)
+msgid ""
+"The <TITLE> ... </TITLE> tag is used to specify the title of the "
+"section. It is only useful before the templates (if used) are initially "
+"created, since the title set in the template file overrides this. Also if one "
+"uses SECTION comment in the sources, this is obsolete."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1618(para)
+msgid ""
+"You can group items in the section by using the <SUBSECTION> tag. "
+"Currently it outputs a blank line between subsections in the synopsis "
+"section. You can also use <SUBSECTION Standard> for standard GObject "
+"declarations (e.g. the functions like g_object_get_type and macros like "
+"G_OBJECT(), G_IS_OBJECT() etc.). Currently these are left out of the "
+"documentation. You can also use <SUBSECTION Private> for private "
+"declarations which will not be output (It is a handy way to avoid warning "
+"messages about unused declarations.). If your library contains private types "
+"which you don't want to appear in the object hierarchy and the list of "
+"implemented or required interfaces, add them to a Private subsection. Wheter "
+"you would place GObject and GObjectClass like structs in public or Standard "
+"section depends if they have public entries (variables, vmethods)."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1637(para)
+msgid ""
+"You can also use <INCLUDE> ... </INCLUDE> to specify the #include "
+"files which are shown in the synopsis sections. It contains a comma-separate "
+"list of #include files, without the angle brackets. If you set it outside of "
+"any sections, it acts for all sections until the end of the file. If you set "
+"it within a section, it only applies to that section."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1651(title)
+msgid "Controlling the result"
+msgstr "Überprüfung des Ergebnisses"
+
+#: C/gtk-doc-manual.xml:1653(para)
+msgid ""
+"A GTK-Doc run generates report files inside the documentation directory. The "
+"generated files are named: <filename><package>-undocumented.txt</"
+"filename>, <filename><package>-undeclared.txt</filename> and "
+"<filename><package>-unused.txt</filename>. All those are plain text "
+"files that can be viewed and postprocessed easily."
+msgstr ""
+"Ein GTK-Doc-Durchlauf erzeugt Protokolldateien im Dokumentationsordner. Die "
+"Namen der erzeugten Dateien sind: <filename><package>-undocumented.txt</"
+"filename>, <filename><package>-undeclared.txt</filename> und "
+"<filename><package>-unused.txt</filename>. Sie liegen alle als Klartext "
+"vor und können daher einfach betrachtet und weiterverarbeitet werden."
+
+#: C/gtk-doc-manual.xml:1662(para)
+msgid ""
+"The <filename><package>-undocumented.txt</filename> file starts with "
+"the documentation coverage summary. Below are two sections divided by blank "
+"lines. The first section lists undocumented or incomplete symbols. The second "
+"section does the same for section docs. Incomplete entries are those, which "
+"have documentation, but where e.g. a new parameter has been added."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1671(para)
+msgid ""
+"The <filename><package>-undeclared.txt</filename> file lists symbols "
+"given in the <filename><package>-sections.txt</filename> but not found "
+"in the sources. Check if they have been removed or if they are misspelled."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1678(para)
+msgid ""
+"The <filename><package>-unused.txt</filename> file lists symbol names, "
+"where the GTK-Doc scanner has found documentation, but does not know where to "
+"put it. This means that the symbol has not yet been added to the "
+"<filename><package>-sections.txt</filename> file."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1686(para)
+msgid ""
+"Enable or add the <option>TESTS=$(GTKDOC_CHECK)</option> line in Makefile.am. "
+"If at least GTK-Doc 1.9 is installed, this will run sanity checks during "
+"<command>make check</command> run."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1693(para)
+msgid ""
+"One can also look at the files produced by the source code scanner: "
+"<filename><package>-decl-list.txt</filename> and <filename><"
+"package>-decl.txt</filename>. The first one can be compared with the "
+"section file if that is manualy maintained. The second lists all declarations "
+"fromt he headers If a symbol is missing one could check if this file contains "
+"it."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1702(para)
+msgid ""
+"If the project is GObject based, one can also look into the files produced by "
+"the object scanner: <filename><package>.args.txt</filename>, "
+"<filename><package>.hierarchy.txt</filename>, <filename><package>."
+"interfaces.txt</filename>, <filename><package>.prerequisites.txt</"
+"filename> and <filename><package>.signals.txt</filename>. If there are "
+"missing symbols in any of those, one can ask gtkdoc to keep the intermedia "
+"scanner file for further analysis, but running it as "
+"<command>GTK_DOC_KEEP_INTERMEDIATE=1 make</command>."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1717(title)
+msgid "Documenting other interfaces"
+msgstr "Dokumentieren anderer Schnittstellen"
+
+#: C/gtk-doc-manual.xml:1719(para)
+msgid ""
+"So far we have been using GTK-Doc to document the API of code. The next "
+"sections contain suggestions how the tools can be used to document other "
+"interfaces too."
+msgstr ""
+"Bis jetzt haben wir GTK-Doc nur dazu verwendet, die API des Codes zu "
+"dokumentieren. In den nächsten Abschnitten finden Sie Vorschläge, wie die "
+"Werkzeuge zum Dokumentieren anderer Schnittstellen eingesetzt werden können."
+
+#: C/gtk-doc-manual.xml:1726(title)
+msgid "Commandline options and man pages"
+msgstr "Befehlszeilenoptionen und Handbuchseiten"
+
+#: C/gtk-doc-manual.xml:1728(para)
+msgid ""
+"As one can generate man pages for a docbook refentry as well, it sounds like "
+"a good idea to use it for that purpose. This way the interface is part of the "
+"reference and one gets the man-page for free."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1735(title)
+msgid "Document the tool"
+msgstr "Dokumentieren des Werkzeuges"
+
+#: C/gtk-doc-manual.xml:1737(para)
+msgid ""
+"Create one refentry file per tool. Following <link linkend="
+"\"settingup_docfiles\">our example</link> we would call it <filename>meep/"
+"docs/reference/meeper/meep.xml</filename>. For the xml tags that should be "
+"used and can look at generated file in the xml subdirectory as well as "
+"examples e.g. in glib."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1747(title)
+msgid "Adding the extra configure check"
+msgstr "Hinzufügen der zusätzlichen Configure-Überprüfungen"
+
+#: C/gtk-doc-manual.xml:1750(title) C/gtk-doc-manual.xml:1770(title)
+msgid "Extra configure checks"
+msgstr "Zusätzliche Configure-Überprüfungen"
+
+#: C/gtk-doc-manual.xml:1767(title)
+msgid "Adding the extra makefile rules"
+msgstr "Hinzufügen der zusätzlichen Makefile-Regeln"
+
+#: C/gtk-doc-manual.xml:1795(title)
+msgid "DBus interfaces"
+msgstr "DBus-Schnittstellen"
+
+#: C/gtk-doc-manual.xml:1797(para)
+msgid ""
+"(FIXME: http://hal.freedesktop.org/docs/DeviceKit/DeviceKit.html, http://cgit."
+"freedesktop.org/DeviceKit/DeviceKit/tree/doc/dbus)"
+msgstr ""
+"(FIXME: http://hal.freedesktop.org/docs/DeviceKit/DeviceKit.html, http://cgit."
+"freedesktop.org/DeviceKit/DeviceKit/tree/doc/dbus)"
+
+#: C/gtk-doc-manual.xml:1806(title)
+msgid "Frequently asked questions"
+msgstr "Häufig gestellte Fragen"
+
+#: C/gtk-doc-manual.xml:1810(segtitle)
+msgid "Question"
+msgstr "Frage"
+
+#: C/gtk-doc-manual.xml:1811(segtitle)
+msgid "Answer"
+msgstr "Antwort"
+
+#: C/gtk-doc-manual.xml:1813(seg)
+msgid "No class hierarchy."
+msgstr "Keine Klassenhierarchie."
+
+#: C/gtk-doc-manual.xml:1815(function)
+msgid "xxx_get_type()"
+msgstr "xxx_get_type()"
+
+#: C/gtk-doc-manual.xml:1816(filename)
+msgid "<package>.types"
+msgstr "<package>.types"
+
+#: C/gtk-doc-manual.xml:1814(seg)
+msgid ""
+"The objects <placeholder-1/> function has not been entered into the "
+"<placeholder-2/> file."
+msgstr ""
+"Die <placeholder-1/>-Funktion des Objekts wurde nicht in die Datei "
+"<placeholder-2/> eingegeben."
+
+#: C/gtk-doc-manual.xml:1820(seg)
+msgid "Still no class hierarchy."
+msgstr "Noch immer keine Klassenhierarchie."
+
+#: C/gtk-doc-manual.xml:1822(filename) C/gtk-doc-manual.xml:1861(filename)
+#: C/gtk-doc-manual.xml:1869(filename) C/gtk-doc-manual.xml:1891(filename)
+msgid "<package>-sections.txt"
+msgstr "<package>-sections.txt"
+
+#: C/gtk-doc-manual.xml:1823(ulink)
+msgid "explanation"
+msgstr "Erklärung"
+
+#: C/gtk-doc-manual.xml:1821(seg)
+msgid "Missing or wrong naming in <placeholder-1/> file (see <placeholder-2/>)."
+msgstr ""
+"Falsche oder fehlende Benennung in der Datei <placeholder-1/> (siehe "
+"<placeholder-2/>)."
+
+#: C/gtk-doc-manual.xml:1827(seg)
+msgid "Damn, I have still no class hierarchy."
+msgstr "Verdammt, ich habe immer noch keine Klassenhierarchie."
+
+#: C/gtk-doc-manual.xml:1829(type) C/gtk-doc-manual.xml:1870(type)
+msgid "GtkWidget"
+msgstr "GtkWidget"
+
+#: C/gtk-doc-manual.xml:1828(seg)
+msgid ""
+"Is the object name (name of the instance struct, e.g. <placeholder-1/>) part "
+"of the normal section (don't put this into Standard or Private subsections)."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1835(seg)
+msgid "No symbol index."
+msgstr "Kein Symbolindex."
+
+#: C/gtk-doc-manual.xml:1837(filename) C/gtk-doc-manual.xml:1852(filename)
+#: C/gtk-doc-manual.xml:1878(filename)
+msgid "<package>-docs.{xml,sgml}"
+msgstr "<package>-docs.{xml,sgml}"
+
+#: C/gtk-doc-manual.xml:1836(seg)
+msgid ""
+"Does the <placeholder-1/> contain a index that xi:includes the generated "
+"index?"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1842(seg)
+msgid "Symbols are not linked to their doc-section."
+msgstr "Symbole werden nicht mit deren Dokumentationsbschnitt verknüpft."
+
+#: C/gtk-doc-manual.xml:1843(seg)
+msgid ""
+"Is the doc-comment using the correct markup (added #,% or ())? Check if the "
+"gtkdoc-fixxref warns about unresolvable xrefs."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1849(seg)
+msgid "A new class does not appear in the docs."
+msgstr "Eine neue Klasse erscheint nicht in der Dokumentation."
+
+#: C/gtk-doc-manual.xml:1850(seg)
+msgid "Is the new page xi:included from <placeholder-1/>."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1856(seg)
+msgid "A new symbol does not appear in the docs."
+msgstr "Ein neues Symbol erscheint nicht in der Dokumentation."
+
+#: C/gtk-doc-manual.xml:1857(seg)
+msgid ""
+"Is the doc-comment properly formatted. Check for spelling mistakes in the "
+"begin of the comment. Check if the gtkdoc-fixxref warns about unresolvable "
+"xrefs. Check if the symbol is correctly listed in the <placeholder-1/> in a "
+"public subsection."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1865(seg)
+msgid "A type is missing from the class hierarchy."
+msgstr "Ein Typ fehlt in der Klassenhierarchie."
+
+#: C/gtk-doc-manual.xml:1867(filename)
+msgid "<package>.hierarchy"
+msgstr "<package>.hierarchy"
+
+#: C/gtk-doc-manual.xml:1868(filename)
+msgid "xml/tree_index.sgml"
+msgstr "xml/tree_index.sgml"
+
+#: C/gtk-doc-manual.xml:1866(seg)
+msgid ""
+"If the type is listed in <placeholder-1/> but not in <placeholder-2/> then "
+"double check that the type is correctly placed in the <placeholder-3/>. If "
+"the type instance (e.g. <placeholder-4/>) is not listed or incidentialy "
+"makred private it will not be shown."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1875(seg)
+msgid "I get foldoc links for all gobject annotations."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1877(filename)
+msgid "xml/annotation-glossary.xml"
+msgstr "xml/annotation-glossary.xml"
+
+#: C/gtk-doc-manual.xml:1876(seg)
+msgid "Check that <placeholder-1/> is xi:included from <placeholder-2/>."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1884(seg)
+msgid "Parameter described in source code comment block but does not exist"
+msgstr ""
+"Parameter wird im Kommentarblock des Quellcodes beschrieben, aber existiert "
+"nicht"
+
+#: C/gtk-doc-manual.xml:1885(seg)
+msgid ""
+"Check if the prototype in the header has different parameter names as in the "
+"source."
+msgstr ""
+"Überprüfen Sie, ob die Parameternamen der Prototypen in der Quelle und im "
+"Header unterschiedlich sind"
+
+#: C/gtk-doc-manual.xml:1890(seg)
+msgid "multiple \"IDs\" for constraint linkend: XYZ"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1891(seg)
+msgid "Symbol XYZ appears twice in <placeholder-1/> file."
+msgstr "Das Symbol XYZ erscheint zweifach in der Datei <placeholder-1/>."
+
+#: C/gtk-doc-manual.xml:1894(seg)
+msgid ""
+"Element typename in namespace '' encountered in para, but no template matches."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1901(title)
+msgid "Tools related to gtk-doc"
+msgstr "Werkzeuge mit Bezug zu gtk-doc"
+
+#: C/gtk-doc-manual.xml:1903(para)
+msgid ""
+"GtkDocPlugin - a <ulink url=\"http://trac-hacks.org/wiki/GtkDocPlugin\">Trac "
+"GTK-Doc</ulink> integration plugin, that adds api docs to a trac site and "
+"integrates with the trac search."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1908(para)
+msgid ""
+"Gtkdoc-depscan - a tool (part of gtk-doc) to check used API against since "
+"tags in the api to determine the minimum required version."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:12(releaseinfo)
+msgid "Version 1.1, March 2000"
+msgstr "Version 1.1, März 2000"
+
+#: C/gtk-doc-manual.xml:16(year)
+msgid "2000"
+msgstr "2000"
+
+#: C/gtk-doc-manual.xml:16(holder)
+msgid "Free Software Foundation, Inc."
+msgstr "Free Software Foundation, Inc."
+
+#: C/gtk-doc-manual.xml:19(para)
+msgid ""
+"<address>Free Software Foundation, Inc. <street>51 Franklin Street, Suite "
+"330</street>, <city>Boston</city>, <state>MA</state><postcode>02110-1301</"
+"postcode><country>USA</country></address> Everyone is permitted to copy and "
+"distribute verbatim copies of this license document, but changing it is not "
+"allowed."
+msgstr ""
+"<address>Free Software Foundation, Inc. <street>51 Franklin Street, Fifth "
+"Floor</street>, <city>Boston</city>, <state>MA</state><postcode>02110-1301</"
+"postcode><country>USA</country></address>. Es ist jedermann erlaubt, "
+"wortwörtliche Kopien dieses Lizenzdokuments zu erstellen und zu verbreiten, "
+"Änderungen sind jedoch nicht zulässig."
+
+#: C/gtk-doc-manual.xml:28(title)
+msgid "GNU Free Documentation License"
+msgstr "GNU Freie Dokumentationslizenz"
+
+#: C/gtk-doc-manual.xml:31(title)
+msgid "0. PREAMBLE"
+msgstr "0. VORWORT"
+
+#: C/gtk-doc-manual.xml:32(para)
+msgid ""
+"The purpose of this License is to make a manual, textbook, or other written "
+"document <quote>free</quote> in the sense of freedom: to assure everyone the "
+"effective freedom to copy and redistribute it, with or without modifying it, "
+"either commercially or noncommercially. Secondarily, this License preserves "
+"for the author and publisher a way to get credit for their work, while not "
+"being considered responsible for modifications made by others."
+msgstr ""
+"Der Zweck dieser Lizenz ist es, eine Anleitung, ein Textbuch oder andere "
+"geschriebene Dokumente <quote>frei</quote> im Sinne von Freiheit zu halten: "
+"jedem die effektive Freiheit zu sichern, es zu kopieren und weiter zu "
+"verteilen, mit oder ohne es zu ändern, entweder kommerziell oder "
+"nichtkommerziell. Zweitens sichert diese Lizenz dem Autor und Veröffentlicher "
+"einen Weg, Anerkennung für seine Arbeit zu bekommen, ohne dabei für "
+"Änderungen anderer verantwortlich zu sein."
+
+#: C/gtk-doc-manual.xml:43(para)
+msgid ""
+"This License is a kind of <quote>copyleft</quote>, which means that "
+"derivative works of the document must themselves be free in the same sense. "
+"It complements the GNU General Public License, which is a copyleft license "
+"designed for free software."
+msgstr ""
+"Diese Lizenz ist eine Art <quote>copyleft</quote>, das heißt, dass "
+"abgeleitete Arbeiten des Dokumentes selbst wieder im gleichen Sinne frei sein "
+"müssen. Es ergänzt die GNU General Public License, die eine Copyleft-Lizenz "
+"für freie Software darstellt."
+
+#: C/gtk-doc-manual.xml:50(para)
+msgid ""
+"We have designed this License in order to use it for manuals for free "
+"software, because free software needs free documentation: a free program "
+"should come with manuals providing the same freedoms that the software does. "
+"But this License is not limited to software manuals; it can be used for any "
+"textual work, regardless of subject matter or whether it is published as a "
+"printed book. We recommend this License principally for works whose purpose "
+"is instruction or reference."
+msgstr ""
+"Wir haben diese Lizenz gestaltet, um sie für Anleitungen von freier Software "
+"zu benutzen, weil freie Software freie Dokumentation benötigt: Ein freies "
+"Programm sollte mit Anleitungen kommen, die dieselbe Freiheit wie die "
+"Software bieten. Aber diese Lizenz ist nicht auf Software-Anleitungen "
+"beschränkt; sie kann für alle textlichen Arbeiten verwendet werden, "
+"unabhängig vom Thema, oder ob es als gedrucktes Buch veröffentlicht wird. Wir "
+"empfehlen diese Lizenz prinzipiell für Arbeiten, deren Zweck Anleitungen oder "
+"Referenzen sind."
+
+#: C/gtk-doc-manual.xml:62(title)
+msgid "1. APPLICABILITY AND DEFINITIONS"
+msgstr "1. ANWENDBARKEIT UND DEFINITIONEN"
+
+#: C/gtk-doc-manual.xml:63(para)
+msgid ""
+"This License applies to any manual or other work that contains a notice "
+"placed by the copyright holder saying it can be distributed under the terms "
+"of this License. The <quote>Document</quote>, below, refers to any such "
+"manual or work. Any member of the public is a licensee, and is addressed as "
+"<quote>you</quote>."
+msgstr ""
+"Diese Lizenz betrifft jede Anleitung oder andere Arbeit, die einen Hinweis "
+"des Copyright-Halters enthält, welcher besagt, dass sie unter den Bedingungen "
+"dieser Lizenz verteilt werden kann. Das <quote>Dokument</quote>, weiter "
+"unten, bezieht sich auf jede dieser Anleitungen oder Arbeiten. Jedes Mitglied "
+"der Öffentlichkeit ist ein Lizenznehmer, und wird mit <quote>Sie</quote> "
+"bezeichnet."
+
+#: C/gtk-doc-manual.xml:72(para)
+msgid ""
+"A <quote>Modified Version</quote> of the Document means any work containing "
+"the Document or a portion of it, either copied verbatim, or with "
+"modifications and/or translated into another language."
+msgstr ""
+"Eine <quote>Modifizierte Version</quote> von dem Dokument bezeichnet jegliche "
+"Arbeit, die das Dokument oder einen Teil davon enthält, entweder wortwörtlich "
+"kopiert oder mit Modifikationen und/oder in eine andere Sprache übersetzt."
+
+#: C/gtk-doc-manual.xml:79(para)
+msgid ""
+"A <quote>Secondary Section</quote> is a named appendix or a front-matter "
+"section of the <link linkend=\"fdl-document\">Document</link> that deals "
+"exclusively with the relationship of the publishers or authors of the "
+"Document to the Document's overall subject (or to related matters) and "
+"contains nothing that could fall directly within that overall subject. (For "
+"example, if the Document is in part a textbook of mathematics, a Secondary "
+"Section may not explain any mathematics.) The relationship could be a matter "
+"of historical connection with the subject or with related matters, or of "
+"legal, commercial, philosophical, ethical or political position regarding "
+"them."
+msgstr ""
+"Ein <quote>Sekundärer Abschnitt</quote> ist ein benannter Anhang oder ein "
+"wichtiger Abschnitt des <link linkend=\"fdl-document\">Dokumentes</link>, der "
+"exklusiv mit der Beziehung des Veröffentlichers zu dem Gesamtthema des "
+"Dokumentes (oder verwandten Themen) handelt und nichts enthält, was direkt "
+"unter das Gesamtthema fällt. (Wenn zum Beispiel das Dokument teilweise ein "
+"Textbuch der Mathematik ist, erklärt ein <quote>Sekundärer Abschnitt</quote> "
+"keine Mathematik.) Die Beziehung könnte eine Angelegenheit einer historischen "
+"Verbindung mit dem Thema oder einer verwandten Sache sein, oder einer "
+"gesetzlichen, kommerziellen, philosophischen, ethnischen oder politischen "
+"Position ihr gegenüber."
+
+#: C/gtk-doc-manual.xml:94(para)
+msgid ""
+"The <quote>Invariant Sections</quote> are certain <link linkend=\"fdl-"
+"secondary\"> Secondary Sections</link> whose titles are designated, as being "
+"those of Invariant Sections, in the notice that says that the <link linkend="
+"\"fdl-document\">Document</link> is released under this License."
+msgstr ""
+"<quote>Unveränderliche Abschnitte</quote> sind spezielle <link linkend=\"fdl-"
+"secondary\">Sekundäre Abschnitte</link>, deren Titel in dem Hinweis, der "
+"besagt, dass das <link linkend=\"fdl-document\">Dokument</link> unter dieser "
+"Lizenz veröffentlicht ist, gekennzeichnet sind, Unveränderte Abschnitte zu "
+"sein."
+
+#: C/gtk-doc-manual.xml:103(para)
+msgid ""
+"The <quote>Cover Texts</quote> are certain short passages of text that are "
+"listed, as Front-Cover Texts or Back-Cover Texts, in the notice that says "
+"that the <link linkend=\"fdl-document\">Document</link> is released under "
+"this License."
+msgstr ""
+"Die <quote>Covertexte</quote> sind spezielle kurze Textpassagen, die, als "
+"Vorderseitentexte oder Rückseitentexte, in dem Hinweis aufgeführt sind, der "
+"besagt, dass das <link linkend=\"fdl-document\">Dokument</link> unter dieser "
+"Lizenz veröffentlicht ist."
+
+#: C/gtk-doc-manual.xml:111(para)
+msgid ""
+"A <quote>Transparent</quote> copy of the <link linkend=\"fdl-document\"> "
+"Document</link> means a machine-readable copy, represented in a format whose "
+"specification is available to the general public, whose contents can be "
+"viewed and edited directly and straightforwardly with generic text editors or "
+"(for images composed of pixels) generic paint programs or (for drawings) some "
+"widely available drawing editor, and that is suitable for input to text "
+"formatters or for automatic translation to a variety of formats suitable for "
+"input to text formatters. A copy made in an otherwise Transparent file format "
+"whose markup has been designed to thwart or discourage subsequent "
+"modification by readers is not Transparent. A copy that is not "
+"<quote>Transparent</quote> is called <quote>Opaque</quote>."
+msgstr ""
+"Eine <quote>Transparente</quote> Kopie des <link linkend=\"fdl-document"
+"\">Dokumentes</link> meint eine maschinenlesbare Kopie, die in einem der "
+"Allgemeinheit zugänglichen Format repräsentiert ist, deren Inhalt direkt und "
+"einfach mit gebräuchlichen Texteditoren oder (bei aus Pixeln bestehenden "
+"Bildern) gebräuchlichen Zeichenprogrammen oder (bei Bildern) weit "
+"verbreiteten Bildverarbeitungsprogramm besehen und verändert werden kann, und "
+"das geeignet ist, in Textformatierern eingegeben werden zu können oder "
+"automatisch in eine Vielzahl von Formaten übersetzt werden kann, die geeignet "
+"sind, in Textformatierern eingegeben werden zu können. Eine Kopie in einem "
+"anderen Transparenten Dateiformat, dessen Aufbau gestaltet wurde, eine "
+"ständige Veränderung durch den Leser zu vereiteln oder abzuwenden, ist nicht "
+"Transparent. Eine Kopie die nicht <quote>Transparent</quote> ist, nennt man "
+"<quote>Undurchsichtig</quote>."
+
+#: C/gtk-doc-manual.xml:128(para)
+msgid ""
+"Examples of suitable formats for Transparent copies include plain ASCII "
+"without markup, Texinfo input format, LaTeX input format, SGML or XML using a "
+"publicly available DTD, and standard-conforming simple HTML designed for "
+"human modification. Opaque formats include PostScript, PDF, proprietary "
+"formats that can be read and edited only by proprietary word processors, SGML "
+"or XML for which the DTD and/or processing tools are not generally available, "
+"and the machine-generated HTML produced by some word processors for output "
+"purposes only."
+msgstr ""
+"Beispiele von passenden Formaten für Transparente Kopien enthalten reines "
+"ASCII ohne Codierung, das Texinfo-Eingabeformat, das LaTeX-Eingabeformat, "
+"SGML oder XML die eine öffentlich zugängliche DTD nutzen, und dem Standard "
+"entsprechendes HTML, das für die Veränderung durch Menschen gestaltet wurde. "
+"Undurchsichtige Formate enthalten PostScript, PDF, proprietäre Formate die "
+"nur von proprietären Textverarbeitungen gelesen und bearbeitet werden, SGML "
+"oder XML für die die DTD und/oder die Verarbeitungswerkzeuge nicht allgemein "
+"erhältlich sind, und maschinengeneriertes HTML, das von einigen "
+"Textverarbeitungen nur zu Ausgabezwecken produziert wurde."
+
+#: C/gtk-doc-manual.xml:141(para)
+msgid ""
+"The <quote>Title Page</quote> means, for a printed book, the title page "
+"itself, plus such following pages as are needed to hold, legibly, the "
+"material this License requires to appear in the title page. For works in "
+"formats which do not have any title page as such, <quote>Title Page</quote> "
+"means the text near the most prominent appearance of the work's title, "
+"preceding the beginning of the body of the text."
+msgstr ""
+"Die <quote>Titelseite</quote> meint bei einem gedruckten Buch die Titelseite "
+"selbst, und die folgenden Seiten, die gebraucht werden, um leserlich das "
+"Material zu beinhalten, das die Lizenz benötigt, um auf der Titelseite zu "
+"erscheinen. Für Arbeiten, die als solche keine Titelseiten haben, meint "
+"<quote>Titelseite</quote> den Text, der der wirkungsvollsten Erscheinung des "
+"Arbeitstitels am nächsten kommt und den Textkörper einleitet."
+
+#: C/gtk-doc-manual.xml:153(title)
+msgid "2. VERBATIM COPYING"
+msgstr "3. WORTWÖRTLICHE KOPIEN"
+
+#: C/gtk-doc-manual.xml:154(para)
+msgid ""
+"You may copy and distribute the <link linkend=\"fdl-document\">Document</"
+"link> in any medium, either commercially or noncommercially, provided that "
+"this License, the copyright notices, and the license notice saying this "
+"License applies to the Document are reproduced in all copies, and that you "
+"add no other conditions whatsoever to those of this License. You may not use "
+"technical measures to obstruct or control the reading or further copying of "
+"the copies you make or distribute. However, you may accept compensation in "
+"exchange for copies. If you distribute a large enough number of copies you "
+"must also follow the conditions in <link linkend=\"fdl-section3\">section 3</"
+"link>."
+msgstr ""
+"Sie dürfen das <link linkend=\"fdl-document\">Dokument</link> auf jedem "
+"Medium kopieren und verteilen, entweder kommerziell oder nichtkommerziell, "
+"vorausgesetzt, dass die Lizenz, die Copyrighthinweise und der Lizenzhinweis, "
+"der besagt, dass die Lizenz für das Dokument gilt, in allen Kopien "
+"reproduziert werden, und dass sie keine wie auch immer lautenden andere "
+"Bedingungen als die der Lizenz hinzufügen. Sie dürfen keine technischen "
+"Möglichkeiten nutzen, die das Lesen oder Weiterkopieren der Kopien, die Sie "
+"machen oder weiterkopieren, kontrollieren oder behindern. Wie auch immer, Sie "
+"dürfen im Gegenzug Vergütungen für Kopien akzeptieren. Wenn Sie eine genügend "
+"große Anzahl von Kopien verteilen, müssen Sie auch den Bedingungen in <link "
+"linkend=\"fdl-section3\">Abschnitt 3</link> zustimmen."
+
+#: C/gtk-doc-manual.xml:169(para)
+msgid ""
+"You may also lend copies, under the same conditions stated above, and you may "
+"publicly display copies."
+msgstr ""
+"Sie dürfen auch Kopien unter den oben genannten Bedingungen verleihen, und "
+"Sie dürfen Kopien öffentlich zeigen."
+
+#: C/gtk-doc-manual.xml:176(title)
+msgid "3. COPYING IN QUANTITY"
+msgstr "3. KOPIEREN IN MENGEN"
+
+#: C/gtk-doc-manual.xml:177(para)
+msgid ""
+"If you publish printed copies of the <link linkend=\"fdl-document\">Document</"
+"link> numbering more than 100, and the Document's license notice requires "
+"<link linkend=\"fdl-cover-texts\">Cover Texts</link>, you must enclose the "
+"copies in covers that carry, clearly and legibly, all these Cover Texts: "
+"Front-Cover Texts on the front cover, and Back-Cover Texts on the back cover. "
+"Both covers must also clearly and legibly identify you as the publisher of "
+"these copies. The front cover must present the full title with all words of "
+"the title equally prominent and visible. You may add other material on the "
+"covers in addition. Copying with changes limited to the covers, as long as "
+"they preserve the title of the <link linkend=\"fdl-document\">Document</link> "
+"and satisfy these conditions, can be treated as verbatim copying in other "
+"respects."
+msgstr ""
+"Wenn Sie mehr als 100 gedruckte Kopien des <link linkend=\"fdl-document"
+"\">Dokumentes</link> veröffentlichen, und die Lizenz des Dokumentes <link "
+"linkend=\"fdl-cover-texts\">Cover-Texte</link> verlangt, müssen Sie die "
+"Kopien in Verpackungen einschließen, die sauber und leserlich all diese Cover-"
+"Texte enthalten: Vorderseitentexte auf der Vorderseite, und Rückseitentexte "
+"auf der Rückseite. Beide Seiten müssen auch sauber und leserlich Sie als den "
+"Veröffentlicher dieser Kopien identifizieren. Die Vorderseite muß den vollen "
+"Titel mit allen Wörtern des Titels gleich auffällig und sichtbar darstellen. "
+"Sie dürfen andere Materialien zusätzlich der Seite hinzufügen. Kopieren mit "
+"Veränderungen der Seiten, solange diese den Titel des <link linkend=\"fdl-"
+"document\">Dokumentes</link> absichern und diese Bedingungen erfüllen, können "
+"in anderer Hinsicht als wortwörtliche Kopien behandelt werden."
+
+#: C/gtk-doc-manual.xml:195(para)
+msgid ""
+"If the required texts for either cover are too voluminous to fit legibly, you "
+"should put the first ones listed (as many as fit reasonably) on the actual "
+"cover, and continue the rest onto adjacent pages."
+msgstr ""
+"Wenn die geforderten Texte für jede Seite zu groß sind, um leserlich darauf "
+"zu passen, sollten Sie die erstgenannten (so viele wie vernünftig darauf "
+"passen) auf die aktuelle Seite setzen, und mit dem Rest auf angrenzenden "
+"Seiten fortfahren."
+
+#: C/gtk-doc-manual.xml:202(para)
+msgid ""
+"If you publish or distribute <link linkend=\"fdl-transparent\">Opaque</link> "
+"copies of the <link linkend=\"fdl-document\">Document</link> numbering more "
+"than 100, you must either include a machine-readable <link linkend=\"fdl-"
+"transparent\">Transparent</link> copy along with each Opaque copy, or state "
+"in or with each Opaque copy a publicly-accessible computer-network location "
+"containing a complete Transparent copy of the Document, free of added "
+"material, which the general network-using public has access to download "
+"anonymously at no charge using public-standard network protocols. If you use "
+"the latter option, you must take reasonably prudent steps, when you begin "
+"distribution of Opaque copies in quantity, to ensure that this Transparent "
+"copy will remain thus accessible at the stated location until at least one "
+"year after the last time you distribute an Opaque copy (directly or through "
+"your agents or retailers) of that edition to the public."
+msgstr ""
+"Wenn Sie mehr als 100 <link linkend=\"fdl-transparent\">Undurchsichtige "
+"Kopien</link> des <link linkend=\"fdl-document\">Dokumentes</link> "
+"veröffentlichen oder verteilen, müssen Sie entweder zusammen mit jeder "
+"Undurchsichtigen Kopie eine <link linkend=\"fdl-transparent\">Transparente "
+"Kopie</link> einfügen, oder in oder mit jeder Undurchsichtigen Kopie eine "
+"öffentlich zugängliche Computer-Netzwerk-Adresse angeben, die eine komplette "
+"Transparente Kopie des Dokumentes enthält, die frei von hinzugefügtem "
+"Material ist und die sich die allgemeine netzwerknutzende Öffentlichkeit mit "
+"Standard-Netzwerkprotokollen unentgeltlich herunterladen kann. Wenn Sie die "
+"letzte Option verwenden, müssen Sie, wenn Sie beginnen, Undurchsichtige "
+"Kopien in Mengen zu verteilen, vernünftige umsichtige Schritte unternehmen, "
+"die sicherstellen, dass die Transparente Kopie unter der genannten Adresse "
+"mindestens ein Jahr, nachdem Sie das letzte Mal eine Undurchsichtige Kopie "
+"dieser Edition (direkt oder über Ihre Vermittler oder Händler) an die "
+"Öffentlichkeit verteilt haben."
+
+#: C/gtk-doc-manual.xml:222(para)
+msgid ""
+"It is requested, but not required, that you contact the authors of the <link "
+"linkend=\"fdl-document\">Document</link> well before redistributing any large "
+"number of copies, to give them a chance to provide you with an updated "
+"version of the Document."
+msgstr ""
+"Es wird erbeten, aber nicht verlangt, dass Sie die Autoren des <link linkend="
+"\"fdl-document\">Dokumentes</link> kontaktieren, bevor Sie eine große Anzahl "
+"an Kopien weiterverteilen, um ihnen zu ermöglichen, Sie mit einer "
+"aktualisierten Version des Dokumentes zu versorgen."
+
+#: C/gtk-doc-manual.xml:231(title)
+msgid "4. MODIFICATIONS"
+msgstr "4. MODIFIKATIONEN"
+
+#: C/gtk-doc-manual.xml:232(para)
+msgid ""
+"You may copy and distribute a <link linkend=\"fdl-modified\">Modified "
+"Version</link> of the <link linkend=\"fdl-document\">Document</link> under "
+"the conditions of sections <link linkend=\"fdl-section2\">2</link> and <link "
+"linkend=\"fdl-section3\">3</link> above, provided that you release the "
+"Modified Version under precisely this License, with the Modified Version "
+"filling the role of the Document, thus licensing distribution and "
+"modification of the Modified Version to whoever possesses a copy of it. In "
+"addition, you must do these things in the Modified Version:"
+msgstr ""
+"Sie dürfen eine <link linkend=\"fdl-modified\">Modifizierte Version</link> "
+"eines <link linkend=\"fdl-document\">Dokumentes</link> unter den in den "
+"Abschnitten <link linkend=\"fdl-section2\">2</link> und <link linkend=\"fdl-"
+"section3\">3</link> oben stehenden Bedingungen kopieren und verteilen, "
+"vorausgesetzt, Sie veröffentlichen die Modifizierte Version unter genau "
+"dieser Lizenz, so dass die modifizierte Version die Stelle des Dokumentes "
+"einnimmt, folglich auch das Lizenzieren der Verteilung und Modifikation der "
+"Modifizierten Version an jeden, der eine Kopie davon besitzt. Zuätzlich "
+"müssen Sie diese Dinge in der Modifizierten Version tun:"
+
+#: C/gtk-doc-manual.xml:248(title)
+msgid "A"
+msgstr "A"
+
+#: C/gtk-doc-manual.xml:249(para)
+msgid ""
+"Use in the <link linkend=\"fdl-title-page\">Title Page</link> (and on the "
+"covers, if any) a title distinct from that of the <link linkend=\"fdl-document"
+"\">Document</link>, and from those of previous versions (which should, if "
+"there were any, be listed in the History section of the Document). You may "
+"use the same title as a previous version if the original publisher of that "
+"version gives permission."
+msgstr ""
+"Auf der <link linkend=\"fdl-title-page\">Titelseite</link> (und auf den "
+"Covern, falls vorhanden) einen Titel verwenden, der sich von dem des <link "
+"linkend=\"fdl-document\">Dokumentes</link> unterscheidet, und von denen "
+"vorhergehender Versionen (die, falls vorhanden, in dem History-Abschnitt des "
+"Dokumentes aufgeführt sein sollten). Sie dürfen denselben Titel wie in einer "
+"vorhergehenden Version nutzen, wenn der ursprüngliche Veröffentlicher sein "
+"Einverständnis gibt."
+
+#: C/gtk-doc-manual.xml:264(title)
+msgid "B"
+msgstr "B"
+
+#: C/gtk-doc-manual.xml:265(para)
+msgid ""
+"List on the <link linkend=\"fdl-title-page\">Title Page</link>, as authors, "
+"one or more persons or entities responsible for authorship of the "
+"modifications in the <link linkend=\"fdl-modified\">Modified Version</link>, "
+"together with at least five of the principal authors of the <link linkend="
+"\"fdl-document\">Document</link> (all of its principal authors, if it has "
+"less than five)."
+msgstr ""
+"Auf der <link linkend=\"fdl-title-page\">Titelseite</link>, eine oder mehrere "
+"Personen als Autoren benennen, die für das Einbringen von Veränderungen in "
+"die <link linkend=\"fdl-modified\">Modifizierte Version</link> verantwortlich "
+"sind, zusammen mit mindesten fünf eigentlichen Autoren des <link linkend="
+"\"fdl-document\">Dokumentes</link> (allen eigentlichen Autoren, wenn es "
+"weniger als fünf sind)."
+
+#: C/gtk-doc-manual.xml:279(title)
+msgid "C"
+msgstr "C"
+
+#: C/gtk-doc-manual.xml:280(para)
+msgid ""
+"State on the <link linkend=\"fdl-title-page\">Title Page</link> the name of "
+"the publisher of the <link linkend=\"fdl-modified\">Modified Version</link>, "
+"as the publisher."
+msgstr ""
+"Auf der <link linkend=\"fdl-title-page\">Titelseite</link> den Namen des "
+"Veröffentlichers der <link linkend=\"fdl-modified\">Modifizierten Version</"
+"link> als Veröffentlicher kennzeichnen."
+
+#: C/gtk-doc-manual.xml:291(title)
+msgid "D"
+msgstr "D"
+
+#: C/gtk-doc-manual.xml:292(para)
+msgid ""
+"Preserve all the copyright notices of the <link linkend=\"fdl-document"
+"\">Document</link>."
+msgstr ""
+"Alle Copyright-Hinweise des <link linkend=\"fdl-document\">Dokumentes</link> "
+"beibehalten."
+
+#: C/gtk-doc-manual.xml:301(title)
+msgid "E"
+msgstr "E"
+
+#: C/gtk-doc-manual.xml:302(para)
+msgid ""
+"Add an appropriate copyright notice for your modifications adjacent to the "
+"other copyright notices."
+msgstr ""
+"Einen passenden Copyright-Hinweis für Ihre Modifikationen angrenzend an die "
+"anderen Copyright-Hinweise hinzufügen."
+
+#: C/gtk-doc-manual.xml:311(title)
+msgid "F"
+msgstr "F"
+
+#: C/gtk-doc-manual.xml:312(para)
+msgid ""
+"Include, immediately after the copyright notices, a license notice giving the "
+"public permission to use the <link linkend=\"fdl-modified\">Modified Version</"
+"link> under the terms of this License, in the form shown in the Addendum "
+"below."
+msgstr ""
+"Gleich hinter dem Copyright-Hinweis einen Lizenzhinweis einfügen, der die "
+"öffentliche Erlaubnis gibt, die <link linkend=\"fdl-modified\">Modifizierte "
+"Version</link> unter den Bedingungen dieser Lizenz zu nutzen, in einer Form, "
+"die weiter unten im Anhang dargestellt ist."
+
+#: C/gtk-doc-manual.xml:324(title)
+msgid "G"
+msgstr "G"
+
+#: C/gtk-doc-manual.xml:325(para)
+msgid ""
+"Preserve in that license notice the full lists of <link linkend=\"fdl-"
+"invariant\"> Invariant Sections</link> and required <link linkend=\"fdl-cover-"
+"texts\">Cover Texts</link> given in the <link linkend=\"fdl-document"
+"\">Document's</link> license notice."
+msgstr ""
+"In dem Lizenzhinweis die volle Liste der <link linkend=\"fdl-invariant"
+"\">Unveränderlichen Abschnitte</link> und benötigten <link linkend=\"fdl-"
+"cover-texts\">Cover-Texte</link>, die in dem Lizenzhinweis des <link linkend="
+"\"fdl-document\">Dokumentes</link> gegeben ist, beibehalten."
+
+#: C/gtk-doc-manual.xml:337(title)
+msgid "H"
+msgstr "H"
+
+#: C/gtk-doc-manual.xml:338(para)
+msgid "Include an unaltered copy of this License."
+msgstr "Eine unveränderte Kopie dieser Lizenz einfügen."
+
+#: C/gtk-doc-manual.xml:346(title)
+msgid "I"
+msgstr "I"
+
+#: C/gtk-doc-manual.xml:347(para)
+msgid ""
+"Preserve the section entitled <quote>History</quote>, and its title, and add "
+"to it an item stating at least the title, year, new authors, and publisher of "
+"the <link linkend=\"fdl-modified\">Modified Version </link>as given on the "
+"<link linkend=\"fdl-title-page\">Title Page</link>. If there is no section "
+"entitled <quote>History</quote> in the <link linkend=\"fdl-document"
+"\">Document</link>, create one stating the title, year, authors, and "
+"publisher of the Document as given on its Title Page, then add an item "
+"describing the Modified Version as stated in the previous sentence."
+msgstr ""
+"Den Abschnitt, der mit <quote>History</quote> (Geschichte) betitelt ist, und "
+"seinen Titel beibehalten und ihn zu einem Punkt hinzufügen, der mindestens "
+"Titel, Jahr, neue Autoren, und Veröffentlicher der <link linkend=\"fdl-"
+"modified\">Modifizierten Version</link> wie auf der <link linkend=\"fdl-title-"
+"page\">Titelseite</link> gegeben, benennt. Wenn es keinen mit <quote>History</"
+"quote> betitelten Abschnitt gibt, erstellen Sie einen, der den Titel, Jahr, "
+"Autoren, und Veröffentlicher des <link linkend=\"fdl-document\">Dokumentes</"
+"link> wie auf der Titelseite gegeben, benennt, und fügen Sie dann einen Punkt "
+"hinzu, der die Modifizierte Version beschreibt wie im vorhergehenden Satz."
+
+#: C/gtk-doc-manual.xml:365(title)
+msgid "J"
+msgstr "J"
+
+#: C/gtk-doc-manual.xml:366(para)
+msgid ""
+"Preserve the network location, if any, given in the <link linkend=\"fdl-"
+"document\">Document</link> for public access to a <link linkend=\"fdl-"
+"transparent\">Transparent</link> copy of the Document, and likewise the "
+"network locations given in the Document for previous versions it was based "
+"on. These may be placed in the <quote>History</quote> section. You may omit a "
+"network location for a work that was published at least four years before the "
+"Document itself, or if the original publisher of the version it refers to "
+"gives permission."
+msgstr ""
+"Die Netzwerk-Adresse, falls aufgeführt, beibehalten, die im <link linkend="
+"\"fdl-document\">Dokument</link> aufgeführt ist, um öffentlichen Zugriff zu "
+"einer <link linkend=\"fdl-transparent\">Transparenten</link> Kopie des "
+"Dokumentes zu ermöglichen, und genauso die Netzwerk-Adressen, die im Dokument "
+"für frühere Versionen, auf denen es basiert, aufgeführt sind. Diese können in "
+"den <quote>History</quote>-Abschnitt gestellt werden. Sie können eine "
+"Netzwerk-Adresse für ein Werk auslassen, das mindestens vier Jahre vor dem "
+"Dokument selbst veröffentlicht wurde, oder wenn der ursprüngliche Autor, auf "
+"den sich die jeweilige Version bezieht, es erlaubt."
+
+#: C/gtk-doc-manual.xml:383(title)
+msgid "K"
+msgstr "K"
+
+#: C/gtk-doc-manual.xml:384(para)
+msgid ""
+"In any section entitled <quote>Acknowledgements</quote> or "
+"<quote>Dedications</quote>, preserve the section's title, and preserve in the "
+"section all the substance and tone of each of the contributor "
+"acknowledgements and/or dedications given therein."
+msgstr ""
+"In jeglichem Abschnitt, der mit <quote>Acknowledgements</quote> "
+"(Anerkennungen) oder <quote>Dedications</quote> (Widmungen) betitelt ist, den "
+"Titel des Abschnittes beibehalten, und in dem Abschnitt allen Inhalt und Ton "
+"von jeder Anerkennung und/oder Widmung jedes Beitragenden beibehalten, der "
+"dort aufgeführt ist."
+
+#: C/gtk-doc-manual.xml:396(title)
+msgid "L"
+msgstr "L"
+
+#: C/gtk-doc-manual.xml:397(para)
+msgid ""
+"Preserve all the <link linkend=\"fdl-invariant\">Invariant Sections</link> of "
+"the <link linkend=\"fdl-document\">Document</link>, unaltered in their text "
+"and in their titles. Section numbers or the equivalent are not considered "
+"part of the section titles."
+msgstr ""
+"Alle <link linkend=\"fdl-invariant\">Unveränderlichen Abschnitte</link> des "
+"<link linkend=\"fdl-document\">Dokumentes</link> beibehalten, unverändert in "
+"ihrem Text und ihren Titeln. Abschnittsnummern oder ähnliches werden nicht "
+"als Teil von Abschnittstiteln betrachtet."
+
+#: C/gtk-doc-manual.xml:409(title)
+msgid "M"
+msgstr "M"
+
+#: C/gtk-doc-manual.xml:410(para)
+msgid ""
+"Delete any section entitled <quote>Endorsements</quote>. Such a section may "
+"not be included in the <link linkend=\"fdl-modified\">Modified Version</link>."
+msgstr ""
+"Alle Abschnitte, die mit <quote>Endorsements</quote> (Billigungen) betitelt "
+"sind, löschen. Solche Abschnitte dürfen nicht mit in die <link linkend=\"fdl-"
+"modified\">Modifizierte Version</link> aufgenommen werden."
+
+#: C/gtk-doc-manual.xml:421(title)
+msgid "N"
+msgstr "N"
+
+#: C/gtk-doc-manual.xml:422(para)
+msgid ""
+"Do not retitle any existing section as <quote>Endorsements</quote> or to "
+"conflict in title with any <link linkend=\"fdl-invariant\">Invariant Section</"
+"link>."
+msgstr ""
+"Betiteln Sie keine existierenden Abschnitte mit <quote>Endorsements</quote> "
+"oder so, dass sie im Widerspruch zu Titeln von <link linkend=\"fdl-invariant"
+"\">Unveränderlichen Abschnitten</link> stehen."
+
+#: C/gtk-doc-manual.xml:432(para)
+msgid ""
+"If the <link linkend=\"fdl-modified\">Modified Version</link> includes new "
+"front-matter sections or appendices that qualify as <link linkend=\"fdl-"
+"secondary\">Secondary Sections</link> and contain no material copied from the "
+"Document, you may at your option designate some or all of these sections as "
+"invariant. To do this, add their titles to the list of <link linkend=\"fdl-"
+"invariant\">Invariant Sections</link> in the Modified Version's license "
+"notice. These titles must be distinct from any other section titles."
+msgstr ""
+"Wenn die <link linkend=\"fdl-modified\">Modifizierte Version</link> neue "
+"wichtige Abschnitte enthält oder Anhänge, die <link linkend=\"fdl-secondary"
+"\">Sekundäre Abschnitte</link> darstellen, und kein Material enthalten, das "
+"aus dem Dokument kopiert wurde, dürfen Sie nach Ihrer Wahl einige oder alle "
+"diese Abschnitte als Unveränderlich bezeichnen. Um dies zu tun, fügen Sie "
+"ihre Titel der Liste der <link linkend=\"fdl-invariant\">Unveränderlichen "
+"Abschnitte</link> in dem Lizenzhinweis der Modifizierten Version hinzu. Diese "
+"Titel müssen sich von allen anderen Abschnittstiteln unterscheiden."
+
+#: C/gtk-doc-manual.xml:444(para)
+msgid ""
+"You may add a section entitled <quote>Endorsements</quote>, provided it "
+"contains nothing but endorsements of your <link linkend=\"fdl-modified"
+"\">Modified Version</link> by various parties--for example, statements of "
+"peer review or that the text has been approved by an organization as the "
+"authoritative definition of a standard."
+msgstr ""
+"Sie dürfen einen Abschnitt <quote>Endorsements</quote> hinzufügen, "
+"vorausgesetzt, er enthält nichts außer Bewilligungen Ihrer <link linkend="
+"\"fdl-modified\">Modifizierten Version</link> von verschiedenen Seiten -- zum "
+"Beispiel Aussagen von Beurteilungen, oder dass der Text von einer "
+"Organisation als für die autoritäre Definition eines Standards befunden wurde."
+
+#: C/gtk-doc-manual.xml:453(para)
+msgid ""
+"You may add a passage of up to five words as a <link linkend=\"fdl-cover-texts"
+"\">Front-Cover Text</link>, and a passage of up to 25 words as a <link "
+"linkend=\"fdl-cover-texts\">Back-Cover Text</link>, to the end of the list of "
+"<link linkend=\"fdl-cover-texts\">Cover Texts</link> in the <link linkend="
+"\"fdl-modified\">Modified Version</link>. Only one passage of Front-Cover "
+"Text and one of Back-Cover Text may be added by (or through arrangements made "
+"by) any one entity. If the <link linkend=\"fdl-document\">Document</link> "
+"already includes a cover text for the same cover, previously added by you or "
+"by arrangement made by the same entity you are acting on behalf of, you may "
+"not add another; but you may replace the old one, on explicit permission from "
+"the previous publisher that added the old one."
+msgstr ""
+"Sie dürfen eine Passage aus bis zu fünf Wörtern als <link linkend=\"fdl-cover-"
+"texts\">Vorderseitentext</link> hinzufügen, und eine Passage von bis zu 25 "
+"Wörtern als <link linkend=\"fdl-cover-texts\">Rückseitentext</link>, ans Ende "
+"der Liste von <link linkend=\"fdl-cover-texts\">Covertexten</link> in der "
+"<link linkend=\"fdl-modified\">Modifizierten Version</link>. Höchstens eine "
+"Passage von Vorderseitentexten und eine von Rückseitentexten darf von (oder "
+"durch Abmachungen von) irgendeinem Wesen hinzugefügt werden. Wenn das <link "
+"linkend=\"fdl-document\">Dokument</link> für die entsprechende Seite schon "
+"einen Covertext hat, der vorher von Ihnen oder durch Abmachungen von "
+"demselben Wesen, in dessen Namen Sie handeln, hinzugefügt wurde, dürfen Sie "
+"keinen anderen hinzufügen; aber Sie dürfen den alten, wenn es der "
+"ursprüngliche Veröffentlicher, der den alten hinzugefügt hat, explizit "
+"erlaubt, ersetzen."
+
+#: C/gtk-doc-manual.xml:470(para)
+msgid ""
+"The author(s) and publisher(s) of the <link linkend=\"fdl-document"
+"\">Document</link> do not by this License give permission to use their names "
+"for publicity for or to assert or imply endorsement of any <link linkend="
+"\"fdl-modified\">Modified Version </link>."
+msgstr ""
+"Der/die Autor(en) und Veröffentlicher des <link linkend=\"fdl-document"
+"\">Dokumentes</link> erteilen durch diese Lizenz nicht die Erlaubnis, ihre "
+"Namen für Veröffentlichungen für Bewilligungen irgendeiner <link linkend="
+"\"fdl-modified\">Modifizierten Version</link> oder deren Durchsetzungen oder "
+"Andeutungen zu nutzen."
+
+#: C/gtk-doc-manual.xml:480(title)
+msgid "5. COMBINING DOCUMENTS"
+msgstr "5. DOKUMENTE KOMBINIEREN"
+
+#: C/gtk-doc-manual.xml:481(para)
+msgid ""
+"You may combine the <link linkend=\"fdl-document\">Document</link> with other "
+"documents released under this License, under the terms defined in <link "
+"linkend=\"fdl-section4\">section 4</link> above for modified versions, "
+"provided that you include in the combination all of the <link linkend=\"fdl-"
+"invariant\">Invariant Sections</link> of all of the original documents, "
+"unmodified, and list them all as Invariant Sections of your combined work in "
+"its license notice."
+msgstr ""
+"Sie dürfen das <link linkend=\"fdl-document\">Dokument</link> mit anderen "
+"Dokumenten, die unter dieser Lizenz veröffentlicht wurden, unter den "
+"Bedingungen in <link linkend=\"fdl-section4\">Abschnitt 4</link> für "
+"Modifizierte Versionen kombinieren, vorausgesetzt, Sie beinhalten in der "
+"Kombination alle <link linkend=\"fdl-invariant\">Unveränderlichen Abschnitte</"
+"link> aller ursprünglichen Dokumente unverändert, und führen Sie alle als "
+"Unveränderliche Abschnitte Ihrer kombinierten Arbeit in deren Lizenzhinweis "
+"auf."
+
+#: C/gtk-doc-manual.xml:492(para)
+msgid ""
+"The combined work need only contain one copy of this License, and multiple "
+"identical <link linkend=\"fdl-invariant\">Invariant Sections</link> may be "
+"replaced with a single copy. If there are multiple Invariant Sections with "
+"the same name but different contents, make the title of each such section "
+"unique by adding at the end of it, in parentheses, the name of the original "
+"author or publisher of that section if known, or else a unique number. Make "
+"the same adjustment to the section titles in the list of Invariant Sections "
+"in the license notice of the combined work."
+msgstr ""
+"Die kombinierte Arbeit braucht nur eine Kopie dieser Lizenz zu beinhalten, "
+"und mehrfache identische <link linkend=\"fdl-invariant\">Unveränderliche "
+"Abschnitte</link> können durch eine einzige Kopie ersetzt werden. Wenn es "
+"mehrere Unveränderliche Abschnitte mit demselben Titel, aber "
+"unterschiedlichem Inhalt gibt, machen Sie den Titel jedes Abschnittes durch "
+"Hinzufügen (in Klammern) des Namens des ursprünglichen Autors oder "
+"Veröffentlichers dieses Abschnittes, falls bekannt, unverwechselbar, oder "
+"ansonsten durch eine einzigartige Nummer. Führen Sie dieselben Änderungen in "
+"der Liste der Unveränderlichen Abschnitte im Lizenzhinweis der kombinierten "
+"Arbeit durch."
+
+#: C/gtk-doc-manual.xml:505(para)
+msgid ""
+"In the combination, you must combine any sections entitled <quote>History</"
+"quote> in the various original documents, forming one section entitled "
+"<quote>History</quote>; likewise combine any sections entitled "
+"<quote>Acknowledgements</quote>, and any sections entitled "
+"<quote>Dedications</quote>. You must delete all sections entitled "
+"<quote>Endorsements.</quote>"
+msgstr ""
+"In der Kombination müssen Sie alle mit <quote>History</quote> betitelten "
+"Abschnitte aus den verschiedenen ursprünglichen Dokumenten zusammenführen, "
+"und daraus einen Abschnitt <quote>History</quote> bilden; genauso kombinieren "
+"Sie jeden mit <quote>Acknowledgements</quote> betitelten Abschnitt, und jeden "
+"mit <quote>Dedications</quote> betitelten Abschnitt. Sie müssen jeden mit "
+"<quote>Endorsements</quote> betitelten Abschnitt löschen."
+
+#: C/gtk-doc-manual.xml:516(title)
+msgid "6. COLLECTIONS OF DOCUMENTS"
+msgstr "6. SAMMLUNGEN VON DOKUMENTEN"
+
+#: C/gtk-doc-manual.xml:517(para)
+msgid ""
+"You may make a collection consisting of the <link linkend=\"fdl-document"
+"\">Document</link> and other documents released under this License, and "
+"replace the individual copies of this License in the various documents with a "
+"single copy that is included in the collection, provided that you follow the "
+"rules of this License for verbatim copying of each of the documents in all "
+"other respects."
+msgstr ""
+"Sie dürfen eine Sammlung erstellen, die aus dem <link linkend=\"fdl-document"
+"\">Dokument</link> und anderen, unter dieser Lizenz veröffentlichten "
+"Dokumenten besteht, und die individuellen Kopien der Lizenz in den einzelnen "
+"Dokumenten durch eine einzige Kopie ersetzen, die sich in der Sammlung "
+"befindet, vorausgesetzt, Sie folgen den Regeln dieser Lizenz für "
+"wortwörtliches Kopieren jedes dieser Dokumente in jeglicher Hinsicht."
+
+#: C/gtk-doc-manual.xml:527(para)
+msgid ""
+"You may extract a single document from such a collection, and dispbibute it "
+"individually under this License, provided you insert a copy of this License "
+"into the extracted document, and follow this License in all other respects "
+"regarding verbatim copying of that document."
+msgstr ""
+"Sie dürfen ein einzelnes Dokument aus einer solchen Sammlung heraustrennen, "
+"und es individuell unter dieser Lizenz verteilen, vorausgesetzt, Sie fügen "
+"eine Kopie dieser Lizenz in das herausgetrennte Dokument ein und folgen der "
+"Lizenz in jeglicher Hinsicht bezüglich dem wortwörtlichen Kopieren des "
+"Dokuments."
+
+#: C/gtk-doc-manual.xml:537(title)
+msgid "7. AGGREGATION WITH INDEPENDENT WORKS"
+msgstr "7. AGGREGATION MIT UNABHÄNGIGEN ARBEITEN"
+
+#: C/gtk-doc-manual.xml:538(para)
+msgid ""
+"A compilation of the <link linkend=\"fdl-document\">Document</link> or its "
+"derivatives with other separate and independent documents or works, in or on "
+"a volume of a storage or distribution medium, does not as a whole count as a "
+"<link linkend=\"fdl-modified\">Modified Version</link> of the Document, "
+"provided no compilation copyright is claimed for the compilation. Such a "
+"compilation is called an <quote>aggregate</quote>, and this License does not "
+"apply to the other self-contained works thus compiled with the Document , on "
+"account of their being thus compiled, if they are not themselves derivative "
+"works of the Document. If the <link linkend=\"fdl-cover-texts\">Cover Text</"
+"link> requirement of <link linkend=\"fdl-section3\">section 3</link> is "
+"applicable to these copies of the Document, then if the Document is less than "
+"one quarter of the entire aggregate, the Document's Cover Texts may be placed "
+"on covers that surround only the Document within the aggregate. Otherwise "
+"they must appear on covers around the whole aggregate."
+msgstr ""
+"Eine Zusammenstellung dieses <link linkend=\"fdl-document\">Dokumentes</link> "
+"oder seinen Ableitungen mit anderen separaten und unabhängigen Dokumenten "
+"oder Arbeiten, in oder auf einem Teil eines Speicher- oder "
+"Verteilungsmediums, zählt nicht als Ganzes als <link linkend=\"fdl-modified"
+"\">Modifizierte Version</link> des Dokumentes, vorausgesetzt, kein Gesamt-"
+"Copyright wurde für die Zusammenstellung festgelegt. Solch eine "
+"Zusammenstellung wird <quote>Aggregat</quote> (Mischung) genannt, und diese "
+"Lizenz gilt nicht für die anderen selbstenthaltenen Arbeiten, die mit dem "
+"Dokument zusammengestellt wurden, im Falle, dass sie zusammengestellt wurden, "
+"wenn sie nicht selbst abgeleitete Arbeiten des Dokumentes sind. Wenn die "
+"<link linkend=\"fdl-cover-texts\">Covertext</link>-Bedingung von <link "
+"linkend=\"fdl-section3\">Abschnitt 3</link> auf diese Kopien des Dokumentes "
+"anwendbar ist, dann können, wenn das Dokument weniger als ein Viertel des "
+"gesamten Aggregates ist, die Covertexte des Dokumentes auf Seiten platziert "
+"werden, die nur das Dokument innerhalb des Aggregates umgeben. Ansonsten "
+"müssen sie auf Seiten erscheinen, die das gesamte Aggregat umgeben."
+
+#: C/gtk-doc-manual.xml:561(title)
+msgid "8. TRANSLATION"
+msgstr "8. ÜBERSETZUNG"
+
+#: C/gtk-doc-manual.xml:562(para)
+msgid ""
+"Translation is considered a kind of modification, so you may distribute "
+"translations of the <link linkend=\"fdl-document\">Document</link> under the "
+"terms of <link linkend=\"fdl-section4\">section 4</link>. Replacing <link "
+"linkend=\"fdl-invariant\"> Invariant Sections</link> with translations "
+"requires special permission from their copyright holders, but you may include "
+"translations of some or all Invariant Sections in addition to the original "
+"versions of these Invariant Sections. You may include a translation of this "
+"License provided that you also include the original English version of this "
+"License. In case of a disagreement between the translation and the original "
+"English version of this License, the original English version will prevail."
+msgstr ""
+"Übersetzung wird als eine Art Modifikation angesehen, also dürfen Sie "
+"Übersetzungen des <link linkend=\"fdl-document\">Dokumentes</link> unter den "
+"Bedingungen von <link linkend=\"fdl-section4\">Abschnitt 4</link> verteilen. "
+"Das Ersetzen von <link linkend=\"fdl-invariant\">Unveränderlichen "
+"Abschnitten</link> mit Übersetzungen erfordert spezielle Einwilligung des "
+"Copyright-Halters, aber Sie dürfen Übersetzungen von einigen oder allen "
+"Unveränderlichen Abschnitten zusätzlich zu den ursprünglichen Versionen "
+"dieser Unveränderlichen Abschnitte einfügen. Sie dürfen eine Übersetzung "
+"dieser Lizenz hinzufügen, vorausgesetzt Sie beinhalten auch die ursprüngliche "
+"englische Version dieser Lizenz. Im Falle einer Nichtübereinstimmung zwischen "
+"der Übersetzung und der ursprünglichen englischen Version dieser Lizenz hat "
+"die ursprüngliche englische Version Vorrang."
+
+#: C/gtk-doc-manual.xml:580(title)
+msgid "9. TERMINATION"
+msgstr "9. TERMINATION"
+
+#: C/gtk-doc-manual.xml:581(para)
+msgid ""
+"You may not copy, modify, sublicense, or distribute the <link linkend=\"fdl-"
+"document\">Document</link> except as expressly provided for under this "
+"License. Any other attempt to copy, modify, sublicense or distribute the "
+"Document is void, and will automatically terminate your rights under this "
+"License. However, parties who have received copies, or rights, from you under "
+"this License will not have their licenses terminated so long as such parties "
+"remain in full compliance."
+msgstr ""
+"Sie dürfen das <link linkend=\"fdl-document\">Dokument</link> nicht kopieren, "
+"modifizieren, sublizenzieren oder verteilen, außer wie es diese Lizenz "
+"ausdrücklich vorschreibt. Jegliche andere Absicht, das Dokument zu kopieren, "
+"modifizieren, sublizenzieren oder verteilen, ist nichtig und beendet "
+"automatisch Ihre Rechte unter dieser Lizenz. Wie auch immer, Parteien, die "
+"Kopien oder Rechte von Ihnen unter dieser Lizenz bekommen haben, wird nicht "
+"die Lizenz beendet, solange diese Parteien in voller Zustimmung verbleiben."
+
+#: C/gtk-doc-manual.xml:594(title)
+msgid "10. FUTURE REVISIONS OF THIS LICENSE"
+msgstr "10. ZUKÜNFTIGE REVISIONEN DIESER LIZENZ"
+
+#: C/gtk-doc-manual.xml:595(para)
+msgid ""
+"The <ulink type=\"http\" url=\"http://www.gnu.org/fsf/fsf.html\">Free "
+"Software Foundation</ulink> may publish new, revised versions of the GNU Free "
+"Documentation License from time to time. Such new versions will be similar in "
+"spirit to the present version, but may differ in detail to address new "
+"problems or concerns. See <ulink type=\"http\" url=\"http://www.gnu.org/"
+"copyleft\">http://www.gnu.org/copyleft/</ulink>."
+msgstr ""
+"Die <ulink type=\"http\" url=\"http://www.gnu.org/fsf/fsf.html\">Free "
+"Software Foundation</ulink> kann von Zeit zu Zeit neue, revidierte Versionen "
+"der GNU Free Documentation License veröffentlichen. Solche neue Versionen "
+"werden vom Grundprinzip her der vorliegenden Version gleichen, können sich "
+"aber im Detail unterscheiden, um neue Probleme oder Anliegen anzusprechen. "
+"Siehe auch <ulink type=\"http\" url=\"http://www.gnu.org/copyleft\">http://"
+"www.gnu.org/copyleft/</ulink>."
+
+#: C/gtk-doc-manual.xml:606(para)
+msgid ""
+"Each version of the License is given a distinguishing version number. If the "
+"<link linkend=\"fdl-document\">Document</link> specifies that a particular "
+"numbered version of this License <quote>or any later version</quote> applies "
+"to it, you have the option of following the terms and conditions either of "
+"that specified version or of any later version that has been published (not "
+"as a draft) by the Free Software Foundation. If the Document does not specify "
+"a version number of this License, you may choose any version ever published "
+"(not as a draft) by the Free Software Foundation."
+msgstr ""
+"Jeder Version dieser Lizenz wird eine unterscheidende Versionsnummer gegeben. "
+"Wenn das <link linkend=\"fdl-document\">Dokument</link> angibt, dass eine "
+"spezielle Version dieser Lizenz <quote>oder eine spätere Version</quote> "
+"darauf zutrifft, haben Sie die Wahl, den Bestimmungen und Bedingungen von "
+"entweder der angegebenen Version oder einer beliebigen späteren Version, die "
+"von der Free Software Foundation (nicht als Entwurf) veröffentlicht wurde, zu "
+"folgen. Wenn das Dokument keine Versionsnummer angibt, können Sie irgendeine, "
+"jemals von der Free Software Foundation (nicht als Entwurf) veröffentlichte "
+"Version wählen."
+
+#: C/gtk-doc-manual.xml:621(title)
+msgid "Addendum"
+msgstr "Anhang"
+
+#: C/gtk-doc-manual.xml:622(para)
+msgid ""
+"To use this License in a document you have written, include a copy of the "
+"License in the document and put the following copyright and license notices "
+"just after the title page:"
+msgstr ""
+"Um diese Lizenz in einem von Ihnen geschriebenen Dokument nutzen zu können, "
+"fügen Sie eine Kopie der Lizenz in das Dokument ein und setzen Sie die "
+"folgenden Copyright- und Lizenzhinweise gleich hinter die Titelseite:"
+
+#: C/gtk-doc-manual.xml:629(para)
+msgid "Copyright YEAR YOUR NAME."
+msgstr "Copyright (c) JAHR IHR NAME."
+
+#: C/gtk-doc-manual.xml:632(para)
+msgid ""
+"Permission is granted to copy, distribute and/or modify this document under "
+"the terms of the GNU Free Documentation License, Version 1.1 or any later "
+"version published by the Free Software Foundation; with the <link linkend="
+"\"fdl-invariant\">Invariant Sections</link> being LIST THEIR TITLES, with the "
+"<link linkend=\"fdl-cover-texts\">Front-Cover Texts</link> being LIST, and "
+"with the <link linkend=\"fdl-cover-texts\">Back-Cover Texts</link> being "
+"LIST. A copy of the license is included in the section entitled <quote>GNU "
+"Free Documentation License</quote>."
+msgstr ""
+"Es wird die Erlaubnis gegeben, dieses Dokument zu kopieren, verteilen und/"
+"oder zu verändern unter den Bedingungen der GNU Free Documentation License, "
+"Version 1.1 oder einer späteren, von der Free Software Foundation "
+"veröffentlichten Version; mit den <link linkend=\"fdl-invariant"
+"\">Unveränderlichen Abschnitten</link>. DEREN TITEL AUFGEZÄHLT sind, mit den "
+"<link linkend=\"fdl-cover-texts\">Vorderseitentexten</link>, die AUFGEZÄHLT "
+"sind, und mit den <link linkend=\"fdl-cover-texts\">Rückseitentexten</link>, "
+"die AUFGEZÄHLT sind. Eine Kopie dieser Lizenz ist in dem Abschnitt enthalten, "
+"der mit <quote>GNU Free Documentation License</quote> betitelt ist."
+
+#: C/gtk-doc-manual.xml:647(para)
+msgid ""
+"If you have no <link linkend=\"fdl-invariant\">Invariant Sections</link>, "
+"write <quote>with no Invariant Sections</quote> instead of saying which ones "
+"are invariant. If you have no <link linkend=\"fdl-cover-texts\">Front-Cover "
+"Texts</link>, write <quote>no Front-Cover Texts</quote> instead of "
+"<quote>Front-Cover Texts being LIST</quote>; likewise for <link linkend=\"fdl-"
+"cover-texts\">Back-Cover Texts</link>."
+msgstr ""
+"Wenn Sie keine <link linkend=\"fdl-invariant\">Unveränderlichen Abschnitte</"
+"link> haben, schreiben Sie <quote>mit keinen Unveränderlichen Abschnitten</"
+"quote>, anstatt anzugeben, welche unveränderlich sind. Wenn Sie keine <link "
+"linkend=\"fdl-cover-texts\">Vorderseitentexte</link> haben, schreiben Sie "
+"<quote>keine Vorderseitentexte</quote> anstatt <quote>Vorderseitentexte die "
+"AUFGEZÄHLT sind</quote>; genauso bei den <link linkend=\"fdl-cover-texts"
+"\">Rückseitentexten</link>."
+
+#: C/gtk-doc-manual.xml:657(para)
+msgid ""
+"If your document contains nontrivial examples of program code, we recommend "
+"releasing these examples in parallel under your choice of free software "
+"license, such as the <ulink type=\"http\" url=\"http://www.gnu.org/copyleft/"
+"gpl.html\"> GNU General Public License</ulink>, to permit their use in free "
+"software."
+msgstr ""
+"Wenn Ihr Dokument nicht-triviale Beispiele von Programmcode enthält, "
+"empfehlen wir, diese Beispiele parallel unter einer freien Software-Lizenz, "
+"wie der <ulink type=\"http\" url=\"http://www.gnu.org/copyleft/gpl.html\">GNU "
+"General Public License</ulink>, zu veröffentlichen, um ihren Gebrauch in "
+"freier Software zu erlauben."
+
+#. Put one translator per line, in the form of NAME <EMAIL>, YEAR1, YEAR2
+#: C/gtk-doc-manual.xml:0(None)
+msgid "translator-credits"
+msgstr "Mario Blättermann <mariobl@freenet.de>, 2009, 2010, 2011"
+
--- /dev/null
+<?xml version="1.0" encoding="utf-8" standalone="no"?>
+<?xml-stylesheet type="text/xml" href="params.xsl"?>
+<!-- vim: set ai tw=80 ts=3 sw=3: -->
+<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "
+ http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
+<!ENTITY FDL SYSTEM "fdl-appendix.xml">
+<!ENTITY FDLlink "<link linkend='fdl'>included</link>">
+]>
+<!-- =============Document Header ============================= -->
+<book id="index" lang="de">
+ <bookinfo>
+ <title>GTK-Doc-Handbuch</title>
+ <edition>1.18</edition>
+ <abstract role="description"><para>Benutzerhandbuch für Entwickler mit Anweisungen für die Benutzung von GTK-Doc.</para></abstract>
+ <authorgroup>
+ <author>
+ <firstname>Chris</firstname>
+ <surname>Lyttle</surname>
+ <affiliation>
+ <address>
+ <email>chris@wilddev.net</email>
+ </address>
+ </affiliation>
+ </author>
+ <author>
+ <firstname>Dan</firstname>
+ <surname>Mueth</surname>
+ <affiliation>
+ <address>
+ <email>d-mueth@uchicago.edu</email>
+ </address>
+ </affiliation>
+ </author>
+ <author>
+ <firstname>Stefan</firstname>
+ <surname>Kost</surname>
+ <affiliation>
+ <address>
+ <email>ensonic@users.sf.net</email>
+ </address>
+ </affiliation>
+ </author>
+ </authorgroup>
+ <publisher role="maintainer">
+ <publishername>GTK-Doc-Projekt</publishername>
+ <address><email>gtk-doc-list@gnome.org</email></address>
+ </publisher>
+ <copyright>
+ <year>2000, 2005</year>
+ <holder>Dan Mueth and Chris Lyttle</holder>
+ </copyright>
+ <copyright>
+ <year>2007-2011</year>
+ <holder>Stefan Sauer (Kost)</holder>
+ </copyright><copyright><year>2009, 2010, 2011</year><holder>Mario Blättermann (mariobl@freenet.de)</holder></copyright>
+
+ <!-- translators: uncomment this:
+ <copyright>
+ <year>2000</year>
+ <holder>ME-THE-TRANSLATOR (Latin translation)</holder>
+ </copyright>
+ -->
+
+ <legalnotice>
+ <para>Das vorliegende Dokument kann gemäß den Bedingungen der GNU Free Documentation License (GFDL), Version 1.1 oder jeder späteren, von der Free Software Foundation veröffentlichten Version ohne unveränderbare Abschnitte sowie ohne Texte auf dem vorderen und hinteren Buchdeckel kopiert, verteilt und/oder modifiziert werden. Eine Kopie der GFDL finden Sie unter diesem <ulink type="help" url="ghelp:fdl">Link</ulink> oder in der mit diesem Handbuch gelieferten Datei COPYING-DOCS.</para>
+ <para>Bei vielen der von Firmen zur Unterscheidung ihrer Produkte und Dienstleistungen verwendeten Namen handelt es sich um Marken. An den Stellen, an denen derartige Namen in einer GNOME-Dokumentation vorkommen und wenn die Mitglieder des GNOME-Dokumentationsprojekts über diese Marken informiert wurden, sind die Namen in Großbuchstaben oder mit großen Anfangsbuchstaben geschrieben.</para>
+ </legalnotice>
+
+ <revhistory>
+ <!--revision>
+ <revnumber>1.18.1</revnumber>
+ <date>15 Sep 2011</date>
+ <authorinitials>sk</authorinitials>
+ <revremark>development version, markdown support</revremark>
+ </revision-->
+ <revision>
+ <revnumber>1.18</revnumber>
+ <date>14 sep 2011</date>
+ <authorinitials>sk</authorinitials>
+ <revremark>bug fixes, speedups, markdown support</revremark>
+ </revision>
+ <revision>
+ <revnumber>1.17</revnumber>
+ <date>26. Februar 2011</date>
+ <authorinitials>sk</authorinitials>
+ <revremark>urgent bug fix update</revremark>
+ </revision>
+ <revision>
+ <revnumber>1.16</revnumber>
+ <date>14. Januar 2011</date>
+ <authorinitials>sk</authorinitials>
+ <revremark>Fehlerkorrekturen und Verbesserung des Layouts</revremark>
+ </revision>
+ <revision>
+ <revnumber>1.15</revnumber>
+ <date>21. Mai 2010</date>
+ <authorinitials>sk</authorinitials>
+ <revremark>Korrekturen von Fehlern und Einschränkungen</revremark>
+ </revision>
+ <revision>
+ <revnumber>1.14</revnumber>
+ <date>28. März 2010</date>
+ <authorinitials>sk</authorinitials>
+ <revremark>Fehlerkorrekturen und Leistungssteigerung</revremark>
+ </revision>
+ <revision>
+ <revnumber>1.13</revnumber>
+ <date>18. Dezember 2009</date>
+ <authorinitials>sk</authorinitials>
+ <revremark>Aktualisierung wegen beschädigtem Tar-Archiv</revremark>
+ </revision>
+ <revision>
+ <revnumber>1.12</revnumber>
+ <date>18. Dezember 2009</date>
+ <authorinitials>sk</authorinitials>
+ <revremark>Neue Funktionsmerkmale und Fehlerkorrekturen</revremark>
+ </revision>
+ <revision>
+ <revnumber>1.11</revnumber>
+ <date>16. November 2008</date>
+ <authorinitials>mal</authorinitials>
+ <revremark>Migration auf die gnome-doc-utils</revremark>
+ </revision>
+ </revhistory>
+
+ </bookinfo>
+
+ <!-- ======== Chapter 1: Introduction ======================== -->
+
+ <chapter id="introduction">
+ <title>Einführung</title>
+
+ <para>Dieses Kapitel führt in GTK-Doc ein und gibt einen Überblick darüber, worum es sich dabei handelt und wie es benutzt wird.</para>
+
+ <sect1 id="whatisgtkdoc">
+ <title>Was ist GTK-Doc?</title>
+
+ <para>GTL-Doc wird zur Dokumentation von C-Code verwendet. Üblicherweise wird damit die öffentliche API von Bibliotheken dokumentiert, wie die der GTK+- und GNOME-Bibliotheken. Es kann aber auch zur Dokumentation von Anwendungscode verwendet werden.</para>
+ </sect1>
+
+ <sect1 id="howdoesgtkdocwork">
+ <title>Wie funktioniert GTK-Doc?</title>
+
+ <para>GTK-Doc verwendet Funktionsdokumentationen, die sich in den Quelldateien innerhalb speziell formatierter Kommentarblöcke befinden, oder Dokumentation, die zu den von GTK-Doc verwendeten Vorlagendateien hinzugefügt wurde. Beachten Sie jedoch, dass GTK-Doc nur Funktionen dokumentieren wird, die in den Header-Dateien deklariert sind. Es erstellt keine Ausgaben für statische Funktionen.</para>
+
+ <para>GTK-Doc besteht aus einer Anzahl von Perl-Skripten, wovon jedes einen bestimmten Schritt in dem Prozess ausführt.</para>
+
+ <para>Dieser Vorgang umfasst fünf Hauptschritte:</para>
+
+ <orderedlist>
+
+ <listitem>
+ <para><guilabel>Schreiben der Dokumentation.</guilabel> Der Autor ergänzt die Quelldateien um die Dokumentation für jede Funktion, jedes Makro usw. In der Vergangenheit wurden diese Informationen in erstellte Vorlagendateien eingegeben. Dies wird nicht mehr empfohlen.</para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <guilabel>Gathering information about the code.</guilabel>
+
+ <application>gtkdoc-scan</application> scans the header files of the
+ code looking for declarations of functions, macros, enums, structs, and unions.
+ It creates the file <filename><module>-decl-list.txt</filename> containg a list of the
+ declarations, placing them into sections according to which header file they
+ are in. On the first run this file is copied to <filename><module>-sections.txt</filename>.
+ The author can rearrange the sections, and the order of the
+ declarations within them, to produce the final desired order.
+ The second file it generates is <filename><module>-decl.txt</filename>.
+ This file contains the full declarations found by the scanner. If for
+ some reason one would like some symbols to show up in the docs, where
+ the full declaration cannot be found by the scanner or the declaration
+ should appear differently, one can place enties similar to the ones in
+ <filename><module>-decl.txt</filename> into <filename><module>-overrides.txt</filename>.
+
+ <application>gtkdoc-scanobj</application> can also be used to dynamically query a library about
+ any GtkObject subclasses it exports. It saves information about each
+ object's position in the class hierarchy and about any GTK Args and Signals it
+ provides.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <guilabel>Generating the "template" files.</guilabel>
+
+ <application>gtkdoc-mktmpl</application> creates a number of files in
+ the <filename class="directory">tmpl/</filename> subdirectory, using the
+ information gathered in the first step. (Note that this can be run
+ repeatedly. It will try to ensure that no documentation is ever lost.)
+ </para>
+ <note>
+ <para>
+ Since GTK-Doc 1.9 the templates can be avoided. We encourage people to keep
+ documentation in the code. <application>gtkdocize</application> supports now
+ a <option>--flavour no-tmpl</option> option that chooses a makefile that
+ skips tmpl usage totally.
+ If you have never changed file in tmpl by hand, please remove the dir
+ (e.g. from version control system).
+ </para>
+ </note>
+ </listitem>
+
+ <listitem>
+ <para>
+ <guilabel>Generating the SGML/XML and HTML/PDF.</guilabel>
+
+ <application>gtkdoc-mkdb</application> turns the template files into
+ SGML or XML files in the <filename class="directory">sgml/</filename>
+ or <filename class="directory">xml/</filename> subdirectory.
+ If the source code contains documentation on functions, using the
+ special comment blocks, it gets merged in here. If there are no tmpl files used
+ it only reads docs from sources and introspection data. We recommend
+ to use Docbook XML.
+ </para>
+ <para><application>gtkdoc-mkhtml</application> konvertiert die SGML/XML-Dateien in HTML-Dateien im Unterordner <filename class="directory">html/</filename>. Ebenso konvertiert <application>gtkdoc-mkpdf</application> die SGML/XML-Dateien in ein PDF-Dokument namens <filename><package>.pdf</filename>.</para>
+ <para>Dateien in <filename class="directory">sgml/</filename> oder <filename class="directory">xml/</filename> und <filename class="directory">html/</filename>-Ordnern werden immer überschrieben. Niemand sollte diese direkt bearbeiten.</para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <guilabel>Fixing up cross-references between documents.</guilabel>
+
+ After installing the HTML files, <application>gtkdoc-fixxref</application> can be run to fix up any
+ cross-references between separate documents. For example, the GTK+
+ documentation contains many cross-references to types documented in the GLib manual.
+
+ When creating the source tarball for distribution, <application>gtkdoc-rebase</application>
+ turns all external links into web-links. When installing distributed (pregenerated) docs
+ the same application will try to turn links back to local links
+ (where those docs are installed).
+ </para>
+ </listitem>
+ </orderedlist>
+
+ </sect1>
+
+ <sect1 id="gettinggtkdoc">
+ <title>GTK-Doc bekommen</title>
+
+ <sect2 id="requirements">
+ <title>Erfordernisse</title>
+ <para><guilabel>Perl v5</guilabel> - Die Hauptskripte wurden in Perl geschrieben.</para>
+ <para><guilabel>DocBook DTD v3.0</guilabel> - Die DTD für DocBook SGML. <ulink url="http://www.ora.com/davenport" type="http">http://www.ora.com/davenport</ulink></para>
+ <para><guilabel>Jade v1.1</guilabel> - Dies ist ein DSSSL-Prozessor zur Umwandlung von SGML in verschiedene Formate. <ulink url="http://www.jclark.com/jade" type="http">http://www.jclark.com/jade</ulink></para>
+ <para><guilabel>Modulare DocBook-Stilvorlagen</guilabel> Dies ist der DSSSL-Code zur Umwandlung von DocBook in HTML und einige andere Formate. Es wird zusammen mit Jade benutzt. Ich habe den DSSSL-Code in gtk-doc.dsl etwas angepasst, um die Programmcode-Listings und -Deklarationen einzufärben und um globale Cross-Reference-Indizes im erzeugten HTML zu unterstützen. <ulink url="http://nwalsh.com/docbook/dsssl" type="http">http://nwalsh.com/docbook/dsssl</ulink></para>
+ <para>
+ <guilabel>docbook-to-man</guilabel> - if you want to create man pages from the DocBook.
+ I've customized the 'translation spec' slightly, to capitalise section
+ headings and add the 'GTK Library' title at the top of the pages and the
+ revision date at the bottom.
+ There is a link to this on <ulink url="http://www.ora.com/davenport" type="http">http://www.ora.com/davenport</ulink>
+ NOTE: This does not work yet.
+ </para>
+ </sect2>
+
+ <sect2 id="installation">
+ <title>Installation</title>
+ <para>Es gibt keinen Standardort, an welchem die Modularen DocBook-Stilvorlagen installiert werden.</para>
+ <para>Das Configure-Skript von GTK-Doc durchsucht folgende drei Ordner automatisch:</para>
+ <para><filename> /usr/lib/sgml/stylesheets/nwalsh-modular </filename> (verwendet von RedHat)</para>
+ <para><filename> /usr/lib/dsssl/stylesheets/docbook </filename> (verwendet von Debian)</para>
+ <para><filename> /usr/share/sgml/docbkdsl </filename> (verwendet von SuSE)</para>
+ <para>Falls sie Stilvorlagen an anderen Orten installiert haben, müssen Sie GTK-Doc mit folgender Option konfigurieren: <command>--with-dsssl-dir=<PFAD_ZUM_BASISORDNER_DER_STILVORLAGEN> </command></para>
+ </sect2>
+
+ </sect1>
+
+ <!-- not realy worth a section
+ <sect1 id="whentousegtkdoc">
+ <title>When to Use GTK-Doc</title>
+
+ <para>
+ (What things GTK-Doc should, and shouldn't, be used for.)
+ (- ???)
+ (- non C-based projects)
+ (+ Tutorials)
+ </para>
+
+ </sect1>
+ -->
+
+ <sect1 id="aboutgtkdoc">
+ <title>Info zu GTK-Doc</title>
+
+ <para>(FIXME)</para>
+
+ <para>(Geschichte, Autoren, Webseiten, Lizenz, Zukunftspläne, Vergleich mit ähnlichen Systemen)</para>
+
+ </sect1>
+
+ <sect1 id="aboutthismanual">
+ <title>Über dieses Handbuch</title>
+
+ <para>(FIXME)</para>
+
+ <para>(wofür es bestimmt ist, wo Sie es erhalten können, Lizenz)</para>
+
+ </sect1>
+
+ </chapter>
+
+ <chapter id="settingup">
+ <title>Einrichten Ihre Projekts</title>
+
+ <para>Die nächsten Abschnitte beschreiben die notwendigen Schritte, um GTK-Doc in Ihr Projekt zu integrieren. Nehmen wir an, wir arbeiten an einem Projekt namens »meep«. Das Projekt enthält eine Bibliothek namens »libmeep« sowie eine Endbenutzer-Anwendung namens »meeper«. Weiterhin gehen wir davon aus, dass wir autoconf und automake verwenden. Zusätzlich beschreibt der Abschnitt <link linkend="plain_makefiles">Klartext-Makefiles oder andere Erstellungssysteme</link> die Grundlagen für die Arbeit in einer anderen Erstellungsumgebung.</para>
+
+ <sect1 id="settingup_docfiles">
+ <title>Einrichten des Grundgerüsts der Dokumentation</title>
+
+ <para>Erstellen Sie in dem Ordner der obersten Ebene des Projekts die Unterordner namens docs/reference. Auf diese Weise können Sie auch docs/help für die Endbenutzerdokumentation anlegen. Es ist empfehlenswert, einen weiteren Unterordner mit dem Namen des Dokumentationspakets anzulegen. Für Pakete, die nur eine einzige Bibliothek enthalten, ist dieser Schritt nicht notwendig.</para>
+
+ <para>Dies kann dann wie nachstehend angezeigt aussehen: <example><title>Beispiel für die Ordnerstruktur</title>
+ <programlisting>
+<![CDATA[
+meep/
+ docs/
+ reference/
+ libmeep/
+ meeper/
+ src/
+ libmeep/
+ meeper/
+]]>
+ </programlisting>
+ </example></para>
+ </sect1>
+
+ <sect1 id="settingup_autoconf">
+ <title>Integration in autoconf</title>
+
+ <para>Sehr einfach! Fügen Sie eine Zeile zu Ihrem <filename>configure.ac</filename>-Skript hinzu.</para>
+
+ <para>
+ <example><title>Integration in autoconf</title>
+ <programlisting>
+<![CDATA[
+# check for gtk-doc
+GTK_DOC_CHECK([1.14],[--flavour no-tmpl])
+]]>
+ </programlisting>
+ </example>
+ </para>
+
+ <para>
+ This will require all developers to have gtk-doc installed. If it is
+ okay for your project to have optional api-doc build setup, you can
+ solve this as below. Keep it as is, as gtkdocize is looking for
+ <function>GTK_DOC_CHECK</function> at the start of a line.
+ <example><title>Keep gtk-doc optional</title>
+ <programlisting>
+<![CDATA[
+# check for gtk-doc
+m4_ifdef([GTK_DOC_CHECK], [
+GTK_DOC_CHECK([1.14],[--flavour no-tmpl])
+],[
+AM_CONDITIONAL([ENABLE_GTK_DOC], false)
+])
+]]>
+ </programlisting>
+ </example>
+ </para>
+
+ <para>Das erste Argument wird zur Überprüfung von gtkdocversion während des configure-Durchlaufs benutzt. Das zweite, optionale Argument wird von <application>gtkdocize</application> verwendet. Das Makro <symbol>GTK_DOC_CHECK</symbol> fügt verschiedene Schalter für configure hinzu:</para>
+ <orderedlist>
+ <listitem><para>--with-html-dir=PATH : Pfad zur installierten Dokumentation</para></listitem>
+ <listitem><para>--enable-gtk-doc : gtk-doc zur Erstellung der Dokumentation verwenden [Vorgabe=no]</para></listitem>
+ <listitem><para>--enable-gtk-doc-html : Erstellung der Dokumentation im HTML-Format [Vorgabe=yes]</para></listitem>
+ <listitem><para>--enable-gtk-doc-pdf : Erstellung der Dokumentation im PDF-Format [Vorgabe=no]</para></listitem>
+ </orderedlist>
+
+ <important>
+ <para>GTK-Doc ist standardmäßig deaktiviert! Denken Sie daran, die Option <option>'--enable-gtk-doc'</option> beim nächsten Durchlauf von <filename>configure</filename> zu übergeben. Anderenfalls wird die vorher erstellte Dokumentation installiert. Dies ergibt für Benutzer durchaus Sinn, aber nicht für Entwickler.</para>
+ </important>
+
+ <para>Weiterhin ist es empfehlenswert, dass das <filename>configure.ac</filename>-Skript die folgende Zeile enthält. Dies erlaubt <application>gtkdocize</application> das automatische Kopieren der Makrodefinition für <function>GTK_DOC_CHECK</function> in Ihr Projekt.</para>
+
+ <para>
+ <example><title>Vorbereitung für gtkdocize</title>
+ <programlisting>
+<![CDATA[
+AC_CONFIG_MACRO_DIR(m4)
+]]>
+ </programlisting>
+ </example>
+ </para>
+ </sect1>
+
+ <sect1 id="settingup_automake">
+ <title>Integration in automake</title>
+
+ <para>Kopieren Sie zunächst die Datei <filename>Makefile.am</filename> aus dem Beispiel-Unterordner der gtkdoc-sources in den API-Dokumentationsordner Ihres Projekts ( <filename class="directory">./docs/reference/<package></filename>). Falls Sie mehrere Dokumentationspakete haben, müssen Sie dies für jedes davon wiederholen.</para>
+
+ <para>Im nächsten Schritt bearbeiten Sie die Einstellungen in <filename>Makefile.am</filename>. Allen Einstellungen ist ein Kommentar vorangestellt, der den jeweiligen Zweck beschreibt. Die meisten Einstellungen sind zusätzliche Flags, die an verschiedene Werkzeuge übergeben werden. Jedes der Werkzeuge hat eine Variable der Form <option><WERKZEUGNAME>_OPTIONEN</option>. Alle Werkzeuge unterstützen <option>--help</option> zur Auflistung der unterstützten Parameter.</para>
+
+ <!-- FIXME: explain options ? -->
+
+ <para>Vielleicht möchten Sie auch GTK-Doc für das distcheckmake-Ziel aktivieren. Fügen Sie dazu den im nächsten Beispiel gezeigten Einzeiler zur Datei <filename>Makefile.am</filename> der obersten Ebene hinzu:</para>
+
+ <para>
+ <example><title>GTK-Doc während »make distcheck« aktivieren</title>
+ <programlisting>
+<![CDATA[
+DISTCHECK_CONFIGURE_FLAGS=--enable-gtk-doc
+]]>
+ </programlisting>
+ </example>
+ </para>
+
+ </sect1>
+
+ <sect1 id="settingup_autogen">
+ <title>Integration in autogen</title>
+
+ <para>Die meisten Projekte dürften über ein <filename>autogen.sh</filename>-Skript verfügen, welches die Build-Infrastruktur nach dem Auschecken aus einem Versionsverwaltungssystem wie CVS, SVN oder Git erzeugt. GTK-Doc liefert ein Werkzeug namens <application>gtkdocize</application> mit, das in einem solchen Skript verwendet werden kann. Es sollte vor autoheader, automake oder autoconf ausgeführt werden.</para>
+
+ <para>
+ <example><title>Ausführen von gtkdocize durch autogen.sh</title>
+ <programlisting>
+<![CDATA[
+gtkdocize || exit 1
+]]>
+ </programlisting>
+ </example>
+ </para>
+
+ <para>Beim Ausführen von <application>gtkdocize</application> wird <filename>gtk-doc.make</filename> in die Wurzel Ihres Projekts oder in jeden anderen durch die Option <option>--docdir</option> festgelegten Ordner kopiert. Außerdem wird das configure-Skript daraufhin überprüft, ob <function>GTK_DOC_CHECK</function> enthalten ist. Dieses Makro kann verwendet werden, um weitere Parameter an <application>gtkdocize</application> zu übergeben.</para>
+
+ <para>In früherer Zeit erzeugte GTK-Doc die Vorlagendateien dort, wo die Entwickler die Dokumentaion platzierten. Das stellte sich als nicht optimal heraus, beispielsweise um generierte Dateien unter Versionskontrolle zu haben. Seit einigen Versionen kann GTK-Doc auch sämtliche Informationen aus Quellcode-Kommentaren ermitteln. Seit GTK-Doc 1.9 sind diese Vorlagen nicht mehr notwendig. Wir ermutigen die Entwickler, die Dokumentation innerhalb des Codes zu halten. <application>gtkdocize</application> unterstützt nun die Option <option>--flavour no-tmpl</option>, wodurch ein Makefile gewählt wird, welches die Verwendung der Vorlagen komplett umgeht. Neben der Möglichkeit, diese Option direkt beim Befehlsaufruf zu übergeben, kann Sie auch zu einer Umgebungsvariable namens <symbol>GTKDOCIZE_FLAGS</symbol> hinzugefügt oder als zweiter Parameter im <symbol>GTK_DOC_CHECK</symbol>-Makro im Konfigurationsskript aufgeführt werden. Falls Sie niemals Dateien im Vorlagenordner manuell bearbeitet oder aus älteren GTK-Doc-Versionen importiert haben, sollten Sie den Ordner löschen, z.B. in der Versionsverwaltung.</para>
+ </sect1>
+
+ <sect1 id="settingup_firstrun">
+ <title>Erstellung der Dokumentation</title>
+
+ <para>Nach den bisher absolvierten Schritten ist es Zeit für den Build-Vorgang. Zunächst muss <filename>autogen.sh</filename> erneut ausgeführt werden. Falls dieses Skript auch den configure-Aufruf enthält, sollten Sie die Option <option>--enable-gtk-doc</option> hinzufügen. Anderenfalls führen Sie danach <filename>configure</filename> manuell aus, ebenfalls mit dieser Option.</para>
+ <para>Der erste Durchlauf von make erstellt verschiedene zusätzliche Dateien in den Dokumentationsordnern. Die bedeutendsten davon sind: <filename><package>.types</filename>, <filename><package>-docs.xml</filename> (früher .sgml), <filename><package>-sections.txt</filename>.</para>
+ <para>
+ <example><title>Erstellung der Dokumentation</title>
+ <programlisting>
+<![CDATA[
+./autogen.sh --enable-gtk-doc
+make
+]]>
+ </programlisting>
+ </example>
+ </para>
+ <para>Nun können Sie <filename>docs/reference/<package>/index.html</filename> in Ihrem Browser öffnen. Zugegeben, das Ergebnis ist noch ein wenig enttäuschend. Im nächsten Abschnitt zeigen wir Ihnen, wie Sie die Seiten mit Leben füllen können.</para>
+ </sect1>
+
+ <sect1 id="settingup_vcs">
+ <title>Integration in Versionsverwaltungssysteme</title>
+
+ <para>Als Faustregel gilt, dass alle von Ihnen bearbeiteten Dateien auch unter Versionsverwaltung stehen sollten. In typischen Projekten sind das folgende Dateien: <filename><package>.types</filename>, <filename><package>-docs..xml</filename> (früher .sgml), <filename><package>-sections.txt</filename>, <filename>Makefile.am</filename>.</para>
+ </sect1>
+
+ <sect1 id="plain_makefiles">
+ <title>Integration in Klartext-Makefiles oder andere Erstellungssysteme</title>
+
+ <para>
+ In the case one does not want to use automake and therfore
+ <filename>gtk-doc.mak</filename> one will need to call the gtkdoc tools
+ in the right order in own makefiles (or other build tools).
+ </para>
+
+ <para>
+ <example><title>Schritte zur Erstellung der Dokumentation</title>
+ <programlisting>
+<![CDATA[
+DOC_MODULE=meep
+// sources have changed
+gtkdoc-scan --module=$(DOC_MODULE) --source-dir=...
+gtkdoc-scangobj --module=$(DOC_MODULE)
+gtkdoc-mkdb --module=$(DOC_MODULE) --output-format=xml
+// xml files have changed
+mkdir html
+cd html && gtkdoc-mkhtml $(DOC_MODULE) ../meep-docs.xml
+gtkdoc-fixxref --module=$(DOC_MODULE) --module-dir=html
+]]>
+ </programlisting>
+ </example>
+ </para>
+
+ <para>
+ One will need to look at the <filename>Makefile.am</filename> and
+ <filename>gtk-doc.mak</filename> to pick the extra options needed.
+ </para>
+ </sect1>
+
+ </chapter>
+
+ <chapter id="documenting">
+ <title>Dokumentieren des Codes</title>
+
+ <para>GTK-Doc benutzt Quellcode-Kommentare mit einer speziellen Syntax für Code-Dokumentation. Weiterhin werden Informationen über Ihre Projektstruktur aus anderen Quellen geholt. Im nächsten Abschnitt finden sie umfassende Informationen über die Syntax der Kommentare.</para>
+
+ <note>
+ <title>Platzierung der Dokumentation</title>
+ <para>In der Vergangenheit wurde die Dokumentation oft in Dateien gespeichert, die im Ordner <filename>tmpl</filename> liegen. Das hat den Nachteil, dass die Informationen oft nicht aktualisiert wurden und die Datei tendenziell Konflikte mit Versionsverwaltungssystemen verursachen kann.</para>
+ <para>Um die bereits genannten Probleme zu vermeiden, empfehlen wir, die Dokumentation innerhalb der Quellen zu halten. In diesem Handbuch wird ausschließlich dieser Weg des Dokumentierens des Quellcodes beschrieben.</para>
+ </note>
+
+ <para>
+ The scanner can handle the majority of c headers fine. In the case of
+ receiving warnings from the scanner that look like a special case, one can
+ hint GTK-Doc to skip over them.
+ <example><title>GTK-Doc-Kommentarblock</title>
+ <programlisting>
+<![CDATA[
+#ifndef __GTK_DOC_IGNORE__
+/* unparseable code here */
+#endif
+]]>
+ </programlisting>
+ </example>
+ </para>
+
+ <!-- -->
+
+ <sect1 id="documenting_syntax">
+ <title>Kommentare zur Dokumentation</title>
+
+ <para>Ein mehrzeiliger Kommentar, der mit einem zusätzlichen »*« beginnt, markiert einen Kommentarblock, der von den Werkzeugen in GTK-Doc verarbeitet wird. <example><title>GTK-Doc-Kommentarblock</title>
+ <programlisting>
+<![CDATA[
+/**
+ * identifier:
+ * documentation ...
+ */
+]]>
+ </programlisting>
+ </example></para>
+
+ <para>Der »identifier« ist eine Zeile mit dem Namen des Objekts, auf das sich der Kommentar bezieht. Die Syntax kann abhängig von der Art des Objekts variieren.</para>
+
+ <para>Der Block »documentation« ist ebenfalls für jeden Symboltyp unterschiedlich. Symboltypen mit Parametern wie Funktionen oder Makros haben eine Parameterbeschreibung, auf die eine leere Zeile folgt (keine echte Leerzeile, sondern ein »*«).Danach folgt eine detaillierte Beschreibung. Alle Zeilen (außerhalb von Programmlistings und CDATA-Abschnitten, die nur ein solches »*« enthalten, werden in Absatzumbrüche umgewandelt. Falls Sie keinen Absatzumbruch wünschen, verwenden sie stattdessen ein » * «, d.h. setzen Sie ein Leerzeichen jeweils davor und dahinter.</para>
+
+ <tip>
+ <para>Beim Dokumentieren von Code beschreiben Sie zwei Aspekte: <itemizedlist>
+ <listitem>
+ <para>
+ What it is: The name for a class or function can sometimes
+ be misleading for people coming from a different background.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ What it does: Tell about common uses. Put it in releation
+ with the other API.
+ </para>
+ </listitem>
+ </itemizedlist></para>
+ </tip>
+
+ <para>Ein Vorteil von Hypertext gegenüber Klartext ist die Möglichkeit, Verknüpfungen im Dokument zu verwenden. Das Schreiben eines korrekten Markups für eine solche Verknüpfung kann allerdings langatmig sein, deshalb stellt GTK-Doc eine Reihe von praktischen Abkürzungen bereit. <itemizedlist>
+ <listitem>
+ <para>Verwenden Sie function(), um einen Bezug zu Funktionen oder Makros herzustellen, die Argumente akzeptieren.</para>
+ </listitem>
+ <listitem>
+ <para>Verwenden Sie @param, um einen Bezug zu Parametern herzustellen. Verwenden Sie dies auch, wenn es um einen Bezug zu Parametern anderer Funktionen geht, bezogen auf jene, die Sie gerade beschreiben.</para>
+ </listitem>
+ <listitem>
+ <para>Benutzen Sie %constant, um einen Bezug auf eine Konstante herzustellen, z.B. %G_TRAVERSE_LEAFS.</para>
+ </listitem>
+ <listitem>
+ <para>Verwenden Sie #symbol, um auf andere Symboltypen zu verweisen, z.B. »structs« und »enums« und Makros, die keine Argumente benötigen.</para>
+ </listitem>
+ <listitem>
+ <para>Verwenden Sie #Object::signal, um auf ein GObject-Signal zu verweisen</para>
+ </listitem>
+ <listitem>
+ <para>Verwenden Sie #Object:property, um auf eine GObject-Eigenschaft zu verweisen.</para>
+ </listitem>
+ <listitem>
+ <para>Verwenden Sie #Struct.field, um auf ein Feld innerhalb einer Struktur zu verweisen.</para>
+ </listitem>
+ </itemizedlist></para>
+
+ <tip>
+ <para>Falls Sie die Sonderzeichen »<«, »>«, »()«, »@«, »%« oder »#« in Ihrer Dokumentation verwenden wollen, ohne dass GTK-Doc diese ändert, können Sie die XML-Entitäten »&lt;«, »&gt;«, »&lpar;«, »&rpar;«, »&commat;«, »&percnt;« und »&num;« verwenden oder die Zeichen mit einem Backslash »\« maskieren.</para>
+ </tip>
+
+ <para>DocBook kann mehr als nur verknüpfen. Sie können auch Listen, Tabellen und Beispiele einbauen. Um die Nutzung der DocBook-SGML/XML-Tags innerhalb der Dokumentationskommentare zu aktivieren, übergeben Sie der Variable <symbol>MKDB_OPTIONS</symbol> in der Datei <filename>Makefile.am</filename> die Option <option>--xml-mode</option> oder <option>--sgml-mode</option>.</para>
+
+ <para>
+ Since GTK-Doc-1.18 the tool supports a subset or the
+ <ulink url="http://daringfireball.net/projects/markdown/">markdown language</ulink>.
+ One can use it for sub-headings and simple itemized lists. On older
+ GTK-Doc versions the content will be rendered as it (the list items will
+ appear in one line separated by dashes).
+ <example><title>GTK-Doc comment block using markdown</title>
+ <programlisting>
+<![CDATA[
+/**
+ * identifier:
+ *
+ * documentation ...
+ *
+ * # Sub heading #
+ *
+ * more documentation:
+ * - list item 1
+ * - list item 2
+ *
+ * Even more docs.
+ */
+]]>
+ </programlisting>
+ </example>
+ </para>
+
+ <tip>
+ <para>Wie an früherer Stelle bereits erwähnt, ist GTK-Doc für das Dokumentieren der öffentlichen API gedacht. Daher kann man keine Dokumentation für statische Symbole schreiben. Nichtsdestotrotz ist es jedoch gut, diese Symbole trotzdem zu dokumentieren. Dies hilft anderen, Ihren Code besser zu verstehen. Deswegen empfehlen wir, hierfür normale Kommentare zu verwenden, ohne das zweite »*« in der ersten Zeile. Falls später die Funktion veröffentlicht werden soll, ist es lediglich nötig, im Kommentarblock ein zweites »*« hinzuzufügen und den Symbolnamen an der richtigen Stelle in die Abschnittsdatei einzubauen.</para>
+ </tip>
+ </sect1>
+
+ <sect1 id="documenting_sections">
+ <title>Dokumentieren von Abschnitten</title>
+
+ <para>Jeder Abschnitt der Dokumentation enthält Informationen über eine Klasse oder ein Modul. Um eine Komponente hinzuzufügen, können Sie einen Abschnittsblock schreiben. Die Kurzbeschreibung wird auch im Inhaltsverzeichnis verwendet. Alle @-Felder sind optional.</para>
+
+ <para>
+ <example><title>Section comment block</title>
+ <programlisting>
+<![CDATA[
+/**
+ * SECTION:meepapp
+ * @short_description: the application class
+ * @title: Meep application
+ * @section_id:
+ * @see_also: #MeepSettings
+ * @stability: Stable
+ * @include: meep/app.h
+ * @image: application.png
+ *
+ * The application class handles ...
+ */
+]]>
+ </programlisting>
+ </example>
+ </para>
+
+ <variablelist>
+ <varlistentry>
+ <term>SECTION:<name></term>
+ <listitem>
+ <para>Der Name verweist auf die Abschnittsdokumentation des entsprechenden Teils der Datei <filename><package>-sections.txt</filename>. Der hier angegebene Name sollte der Markierung <FILE> in der Datei <filename><package>-sections.txt</filename> entsprechen.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>@short_description</term>
+ <listitem>
+ <para>Eine einzeilige Beschreibung des Abschnitts, die später hinter den Verweisen im Inhaltsverzeichnis und oben in der Abschnittsseite erscheint.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>@title</term>
+ <listitem>
+ <para>Der Abschnittstitel in der SECTION-Deklaration, Vorgabe ist <name>. Er kann im Feld @title überschrieben werden.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>@section_id</term>
+ <listitem>
+ <para>
+ Overrides the use of title as a section identifier. For GObjects
+ the <title> is used as a section_id and for other sections
+ it is <MODULE>-<title>.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>@see_also</term>
+ <listitem>
+ <para>Eine Liste von Symbolen, welche sich auf diesen Abschnitt beziehen.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>@stability</term>
+ <listitem>
+ <para>Eine informelle Beschreibung der Stabilitätsstufe dieser API. Wir empfehlen dafür einen der folgenden Begriffe: <itemizedlist>
+ <listitem>
+ <para>
+ Stable
+ - The intention of a Stable interface is to enable arbitrary
+ third parties to develop applications to these interfaces,
+ release them, and have confidence that they will run on all
+ minor releases of the product (after the one in which the
+ interface was introduced, and within the same major release).
+ Even at a major release, incompatible changes are expected
+ to be rare, and to have strong justifications.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Unstable
+ - Unstable interfaces are experimental or transitional.
+ They are typically used to give outside developers early
+ access to new or rapidly changing technology, or to provide
+ an interim solution to a problem where a more general
+ solution is anticipated.
+ No claims are made about either source or binary
+ compatibility from one minor release to the next.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Private
+ - An interface that can be used within the GNOME stack
+ itself, but that is not documented for end-users. Such
+ functions should only be used in specified and documented
+ ways.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Internal
+ - An interface that is internal to a module and does not
+ require end-user documentation. Functions that are
+ undocumented are assumed to be Internal.
+ </para>
+ </listitem>
+ </itemizedlist></para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>@include</term>
+ <listitem>
+ <para>
+ The <literal>#include</literal> files to show in the section
+ synopsis (a comma separated list), overriding the global
+ value from the <link linkend="metafiles_sections">section
+ file</link> or command line. This item is optional.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>@image</term>
+ <listitem>
+ <para>Das Bild, das am Beginn einer Referenzseite für diesen Abschnitt angezeigt wird. Meist wird es eine Art Diagramm für visuelle Erscheinungsbild einer Klasse oder ein Diagramm sein, das die Beziehungen zu anderen Klassen darstellt. Dieses Objekt ist optional.</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+
+ <tip>
+ <para>Um unnötiges Rekompilieren nach Dokumentationsänderungen zu vermeiden, platzieren Sie die Abschnittsdokumentation in die C-Quellen, wo immer es möglich ist.</para>
+ </tip>
+
+ </sect1>
+
+ <sect1 id="documenting_symbols">
+ <title>Dokumentieren von Symbolen</title>
+
+ <para>Jedes Symbol (function, macro, struct, enum, signal und property) wird in einem separaten Block dokumentiert. Der Block wird am besten nahe der Definition der Symbole platziert, so dass es leichter ist, diese synchron zu halten. Die Funktion wird üblicherweise in den C-Quellen definiert, »macro«, »struct« und »enum« dagegen in der Header-Datei.</para>
+
+ <sect2><title>Allgemeine Markierungen</title>
+
+ <para>Sie können Versionsinformationen zu allen Dokumentationselementen hinzufügen, um darauf hinzuweisen, wann eine API eingeführt oder wann sie als veraltet markiert wurde.</para>
+
+ <variablelist><title>Versionierungs-Markierungen</title>
+ <varlistentry><term>Since:</term>
+ <listitem>
+ <para>Beschreibung, seit welcher Version des Codes die API verfügbar ist.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry><term>Deprecated:</term>
+ <listitem>
+ <para>Absatz, der darüber informiert, dass diese Funktion nicht mehr genutzt werden sollte. Die Beschreibung sollte einen Verweis auf die neue API enthalten.</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+
+ <para>(FIXME : Stabilitätsinformation)</para>
+
+ <example><title>Allgemeine Markierungen</title>
+ <programlisting>
+<![CDATA[
+/**
+ * foo_get_bar:
+ * @foo: some foo
+ *
+ * Retrieves @foo's bar.
+ *
+ * Returns: @foo's bar
+ *
+ * Since: 2.6
+ * Deprecated: 2.12: Use foo_baz_get_bar() instead.
+ **/
+Bar *
+foo_get_bar(Foo *foo)
+{
+...
+]]>
+ </programlisting>
+ </example>
+ </sect2>
+
+ <sect2><title>Kommentarblock einer Funktion</title>
+
+ <para>Bitte denken Sie an: <itemizedlist>
+ <listitem>
+ <para>
+ Document whether returned objects, lists, strings, etc, should be
+ freed/unrefed/released.
+ </para>
+ </listitem>
+ <listitem>
+ <para>Dokumentiert, ob Parameter NULL sein können, und was in diesem Fall geschieht.</para>
+ </listitem>
+ <listitem>
+ <para>Erwähnen Sie interessante Vorbedingungen (und nachfolgende Bedingungen), wo es nützlich erscheint.</para>
+ </listitem>
+ </itemizedlist></para>
+
+ <para>GTK-Doc nimmt an, dass alle Symbole (Makros, Funktionen), die mit »_« beginnen, privat sind. Sie werden wie statische Funktionen behandelt.</para>
+
+ <para>Werfen Sie auch einen Blick auf die »gobject introspection annotation tags«: http://live.gnome.org/GObjectIntrospection/Annotations</para>
+
+ <example><title>Kommentarblock einer Funktion</title>
+ <programlisting>
+<![CDATA[
+/**
+ * function_name:
+ * @par1: description of parameter 1. These can extend over more than
+ * one line.
+ * @par2: description of parameter 2
+ * @...: a %NULL-terminated list of bars
+ *
+ * The function description goes here. You can use @par1 to refer to parameters
+ * so that they are highlighted in the output. You can also use %constant
+ * for constants, function_name2() for functions and #GtkWidget for links to
+ * other declarations (which may be documented elsewhere).
+ *
+ * Returns: an integer.
+ *
+ * Since: 2.2
+ * Deprecated: 2.18: Use other_function() instead.
+ */
+]]>
+ </programlisting>
+ </example>
+
+ <variablelist><title>Funktions-Tags</title>
+ <varlistentry><term>Returns:</term>
+ <listitem>
+ <para>Abschnitt, der das zurückgegebene Ergebnis beschreibt.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry><term>@...:</term>
+ <listitem>
+ <para>
+ In case the function has variadic arguments, you should use this
+ tag (@Varargs: does also work for historic reasons).
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+
+ </sect2>
+
+ <sect2><title>Property-Kommentarblock</title>
+
+ <example><title>Property-Kommentarblock</title>
+ <programlisting>
+<![CDATA[
+/**
+ * SomeWidget:some-property:
+ *
+ * Here you can document a property.
+ */
+g_object_class_install_property (object_class, PROP_SOME_PROPERTY, ...);
+]]>
+ </programlisting>
+ </example>
+
+ </sect2>
+
+ <sect2><title>Signal-Kommentarblock</title>
+
+ <para>Bitte denken Sie an: <itemizedlist>
+ <listitem>
+ <para>Dokumentiert, wann ein Signal ausgegeben wird und ob es vor oder nach anderen Signalen ausgegeben wird.</para>
+ </listitem>
+ <listitem>
+ <para>Dokumentiert, was eine Anwendung in dem Signal-Handler tun könnte.</para>
+ </listitem>
+ </itemizedlist></para>
+
+ <example><title>Signal-Kommentarblock</title>
+ <programlisting>
+<![CDATA[
+/**
+ * FooWidget::foobarized:
+ * @widget: the widget that received the signal
+ * @foo: some foo
+ * @bar: some bar
+ *
+ * The ::foobarized signal is emitted each time someone tries to foobarize @widget.
+ */
+foo_signals[FOOBARIZE] =
+ g_signal_new ("foobarize",
+ ...
+]]>
+ </programlisting>
+ </example>
+
+ </sect2>
+
+ <sect2><title>Struct-Kommentarblock</title>
+ <example><title>Struct-Kommentarblock</title>
+ <programlisting>
+<![CDATA[
+/**
+ * FooWidget:
+ * @bar: some #gboolean
+ *
+ * This is the best widget, ever.
+ */
+typedef struct _FooWidget {
+ /*< private >*/
+ GtkWidget parent;
+
+ /*< public >*/
+ gboolean bar;
+} FooWidget;
+]]>
+ </programlisting>
+ </example>
+
+ <para>Verwenden Sie <code>/*< private >*/</code> vor den privaten »struct«-Feldern, die Sie verbergen wollen. Um das umgekehrte Verhalten zu erzielen, verwenden Sie <code>/*< public >*/</code>.</para>
+
+ <para>
+ Struct comment blocks can also be used for GObjects and GObjectClasses.
+ It is usualy a good idea to add a comment blco for a class, if it has
+ vmethods (as this is how they can be documented). For the GObject
+ itself one can use the related section docs, having a separate block
+ for the instance struct would be useful if the instance has public
+ fields. One disadvantage here is that this creates two index entries
+ of the same name (the structure and the section).
+ </para>
+
+ </sect2>
+
+ <sect2><title>Enum-Kommentarblock</title>
+ <example><title>Enum-Kommentarblock</title>
+ <programlisting>
+<![CDATA[
+/**
+ * Something:
+ * @SOMETHING_FOO: something foo
+ * @SOMETHING_BAR: something bar
+ *
+ * Enum values used for the thing, to specify the thing.
+ *
+ **/
+typedef enum {
+ SOMETHING_FOO,
+ SOMETHING_BAR,
+ /*< private >*/
+ SOMETHING_COUNT
+} Something;
+]]>
+ </programlisting>
+ </example>
+
+ <para>Verwenden Sie <code>/*< private >*/</code> vor den privaten »enum«-Werten, die Sie verbergen wollen. Um das umgekehrte Verhalten zu erzielen, verwenden Sie <code>/*< public >*/</code>.</para>
+
+ </sect2>
+ </sect1>
+
+ <sect1 id="documenting_docbook">
+ <title>Nützliche DocBook-Tags</title>
+
+ <para>Nachfolgend finden Sie einige DocBook-Tags, die beim Dokumentieren von Code nützlich sein können.</para>
+
+ <para>So erstellen Sie eine Verknüpfung zu einem anderen Abschnitt in den GTK-Docs: <informalexample>
+ <programlisting>
+<![CDATA[
+<link linkend="glib-Hash-Tables">Hash Tables</link>
+]]>
+ </programlisting>
+ </informalexample> »linkend« ist dabei die SGML-XML-Kennung des obersten Elements der Seite, auf welche die Verknüpfung zielt (»gtk«, »gdk«, »glib«), danach folgt der Seitentitel ("Hash Tables"). Für Widgets ist dies einfach der Klassenname. Leerzeichen und Unterstriche werden SGML/XML-konform in »-« umgewandelt. </para>
+
+ <para>Für einen Bezug zu einer externen Funktion, z.B. einer C-Standardfunktion: <informalexample>
+ <programlisting>
+<![CDATA[
+<function>...</function>
+]]>
+ </programlisting>
+ </informalexample></para>
+
+ <para>So fügen Sie Beispielcode ein: <informalexample>
+ <programlisting>
+<![CDATA[
+<example>
+ <title>Using a GHashTable.</title>
+ <programlisting>
+ ...
+ </programlisting>
+</example>
+]]>
+ </programlisting>
+ </informalexample> Vielleicht auch so, für sehr kurze Codeschnipsel, die keinen Titel benötigen: <informalexample>
+ <programlisting>
+<![CDATA[
+<informalexample>
+ <programlisting>
+ ...
+ </programlisting>
+</informalexample>
+]]>
+ </programlisting>
+ </informalexample> Außerdem unterstützt GTK-Doc auch eine Abkürzung: <![CDATA[
+|[
+ ...
+]|
+]]></para>
+
+ <para>Für eine Liste mit Aufzählungszeichen: <informalexample>
+ <programlisting>
+<![CDATA[
+<itemizedlist>
+ <listitem>
+ <para>
+ ...
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ ...
+ </para>
+ </listitem>
+</itemizedlist>
+]]>
+ </programlisting>
+ </informalexample></para>
+
+ <para>Für eine nicht zum eigentlichen Text gehörende Notiz: <informalexample>
+ <programlisting>
+<![CDATA[
+<note>
+ <para>
+ Make sure you free the data after use.
+ </para>
+</note>
+]]>
+ </programlisting>
+ </informalexample></para>
+
+ <para>Für einen Bezug zu einem Typ: <informalexample>
+ <programlisting>
+<![CDATA[
+<type>unsigned char</type>
+]]>
+ </programlisting>
+ </informalexample></para>
+
+ <para>Für einen Bezug zu einer externen Struktur (die nicht in den GTK-Docs beschrieben wird: <informalexample>
+ <programlisting>
+<![CDATA[
+<structname>XFontStruct</structname>
+]]>
+ </programlisting>
+ </informalexample></para>
+
+ <para>Für einen Bezug zu einem Feld einer Struktur: <informalexample>
+ <programlisting>
+<![CDATA[
+<structfield>len</structfield>
+]]>
+ </programlisting>
+ </informalexample></para>
+
+ <para>
+ To refer to a class name, we could possibly use:
+ <informalexample>
+ <programlisting>
+<![CDATA[
+<classname>GtkWidget</classname>
+]]>
+ </programlisting>
+ </informalexample>
+ but you'll probably be using #GtkWidget instead (to automatically create
+ a link to the GtkWidget page - see <link linkend="documenting_syntax">the abbreviations</link>).
+ </para>
+
+ <para>Zum Hervorheben von Text: <informalexample>
+ <programlisting>
+<![CDATA[
+<emphasis>This is important</emphasis>
+]]>
+ </programlisting>
+ </informalexample></para>
+
+ <para>Für Dateinamen: <informalexample>
+ <programlisting>
+<![CDATA[
+<filename>/home/user/documents</filename>
+]]>
+ </programlisting>
+ </informalexample></para>
+
+ <para>
+ To refer to keys use:
+ <informalexample>
+ <programlisting>
+<![CDATA[
+<keycombo><keycap>Control</keycap><keycap>L</keycap></keycombo>
+]]>
+ </programlisting>
+ </informalexample>
+ </para>
+
+ </sect1>
+ </chapter>
+
+ <chapter id="metafiles">
+ <title>Füllen der zusätzlichen Dateien</title>
+
+ <para>Es gibt eine Menge zusätzlicher Dateien, die mit den eingebetteten Quellcode-Kommentaren verwaltet werden müssen: <filename><package>.types</filename>, <filename><package>-docs.xml</filename> (früher .sgml), <filename><package>-sections.txt</filename>.</para>
+
+ <sect1 id="metafiles_types">
+ <title>Bearbeiten der Typendatei</title>
+
+ <para>Falls Ihre Bibliothek oder Anwendung GtkObjects/GObjects beinhaltet, sollten deren Signale, Argumente/Parameter und Positionen in der Hierarchie in der Dokumentation erscheinen. Alles was Sie tun müssen, ist die <function>xxx_get_type</function>Funktionen zusammen mit deren Includes in der Datei <filename><package>.types</filename> aufzulisten.</para>
+
+ <para>
+ <example><title>Example types file snippet</title>
+ <programlisting>
+<![CDATA[
+#include <gtk/gtk.h>
+
+gtk_accel_label_get_type
+gtk_adjustment_get_type
+gtk_alignment_get_type
+gtk_arrow_get_type
+]]>
+ </programlisting>
+ </example>
+ </para>
+
+ <para>
+ Since GTK-Doc 1.8 <application>gtkdoc-scan</application> can generate this list for you.
+ Just add "--rebuild-types" to SCAN_OPTIONS in <filename>Makefile.am</filename>. If you
+ use this approach you should not dist the types file nor have it under version control.
+ </para>
+
+ </sect1>
+
+ <sect1 id="metafiles_master">
+ <title>Bearbeiten des Master-Dokuments</title>
+
+ <para>GTK-Doc erstellt die Dokumentation in DocBook-SGML/XML. Beim Verarbeiten der in den Quellcode eingebetteten Kommentare erzeugt GTK-Doc eine Dokumentationsseite pro Klasse oder Modul als separate Datei. Das Hauptdokument schließt diese ein und setzt sie in die passende Reihenfolge.</para>
+
+ <para>
+ While GTK-Doc creates a template master document for you, later run will
+ not touch it again. This means that one can freely structure the
+ documentation. That includes grouping pages and adding extra pages.
+ GTK-Doc has now a test suite, where also the master-document is recreated from scratch.
+ Its a good idea to look at this from time to time to see if there are some new goodies
+ introduced there.
+ </para>
+
+ <tip>
+ <para>Erstellen Sie keine Schritt-für-Schritt-Anleitungen als zusätzliche Dokumente. Schreiben Sie lediglich zusätzliche Kapitel. Der Vorteil des direkten Einbettens einer Anleitung für Ihre Bibliothek in die API ist die Möglichkeit der einfachen Verknüpfung der Schritt-für-Schritt-Anleitung zur Symboldokumentation. Außerdem sind die Chancen größer, dass die Anleitung die gleichen Aktualisierungen erfährt wie die Bibliothek selbst.</para>
+ </tip>
+
+ <para>Was sollte nun innerhalb des Master-Dokuments geändert werden? Zunächst recht wenig. Es gibt einige Platzhalter (Text in eckigen Klammern), die Sie beachten sollten.</para>
+
+ <para>
+ <example><title>Kopfzeile des Master-Dokuments</title>
+ <programlisting>
+<![CDATA[
+<bookinfo>
+ <title>MODULENAME Reference Manual</title>
+ <releaseinfo>
+ for MODULENAME [VERSION]
+ The latest version of this documentation can be found on-line at
+ <ulink role="online-location" url="http://[SERVER]/MODULENAME/index.html">http://[SERVER]/MODULENAME/</ulink>.
+ </releaseinfo>
+</bookinfo>
+
+<chapter>
+ <title>[Insert title here]</title>
+]]>
+ </programlisting>
+ </example>
+ </para>
+
+ </sect1>
+
+ <sect1 id="metafiles_sections">
+ <title>Bearbeiten der Abschnittsdatei</title>
+
+ <para>
+ The section file is used to organise the documentation output by
+ GTK-Doc. Here one specifies which symbol belongs to which module or
+ class and control the visibility (public or private).
+ </para>
+
+ <para>
+ The section file is a plain test file with xml like syntax (using tags).
+ Blank lines are ignored and lines starting with a '#' are treated as
+ comment lines.
+ </para>
+
+ <para>
+ The <FILE> ... </FILE> tag is used to specify the file name,
+ without any suffix. For example, using '<FILE>gnome-config</FILE>'
+ will result in the section declarations being output in the template
+ file <filename>tmpl/gnome-config.sgml</filename>, which will be
+ converted into the DocBook SGML/XML file <filename>sgml/gnome-config.sgml</filename>
+ or .DocBook XML file <filename>xml/gnome-config.xml</filename>.
+ (The name of the html file is based on the module name and the section
+ title, or for gobjects it is based on the gobjects class name converted
+ to lower case).
+ </para>
+
+ <para>
+ The <TITLE> ... </TITLE> tag is used to specify the title of
+ the section. It is only useful before the templates (if used) are
+ initially created, since the title set in the template file overrides
+ this. Also if one uses SECTION comment in the sources, this is obsolete.
+ </para>
+
+ <para>
+ You can group items in the section by using the <SUBSECTION> tag.
+ Currently it outputs a blank line between subsections in the synopsis
+ section.
+ You can also use <SUBSECTION Standard> for standard GObject
+ declarations (e.g. the functions like g_object_get_type and macros like
+ G_OBJECT(), G_IS_OBJECT() etc.).
+ Currently these are left out of the documentation.
+ You can also use <SUBSECTION Private> for private declarations
+ which will not be output (It is a handy way to avoid warning messages
+ about unused declarations.).
+ If your library contains private types which you don't want to appear in
+ the object hierarchy and the list of implemented or required interfaces,
+ add them to a Private subsection.
+ Wheter you would place GObject and GObjectClass like structs in public
+ or Standard section depends if they have public entries (variables,
+ vmethods).
+ </para>
+
+ <para>
+ You can also use <INCLUDE> ... </INCLUDE> to specify the
+ #include files which are shown in the synopsis sections.
+ It contains a comma-separate list of #include files, without the angle
+ brackets. If you set it outside of any sections, it acts for all
+ sections until the end of the file. If you set it within a section, it
+ only applies to that section.
+ </para>
+
+ </sect1>
+
+ </chapter>
+
+ <chapter id="reports">
+ <title>Überprüfung des Ergebnisses</title>
+
+ <para>Ein GTK-Doc-Durchlauf erzeugt Protokolldateien im Dokumentationsordner. Die Namen der erzeugten Dateien sind: <filename><package>-undocumented.txt</filename>, <filename><package>-undeclared.txt</filename> und <filename><package>-unused.txt</filename>. Sie liegen alle als Klartext vor und können daher einfach betrachtet und weiterverarbeitet werden.</para>
+
+ <para>
+ The <filename><package>-undocumented.txt</filename> file starts with
+ the documentation coverage summary. Below are two sections divided by
+ blank lines. The first section lists undocumented or incomplete symbols.
+ The second section does the same for section docs. Incomplete entries are
+ those, which have documentation, but where e.g. a new parameter has been
+ added.
+ </para>
+
+ <para>
+ The <filename><package>-undeclared.txt</filename> file lists symbols
+ given in the <filename><package>-sections.txt</filename> but not
+ found in the sources. Check if they have been removed or if they are
+ misspelled.
+ </para>
+
+ <para>
+ The <filename><package>-unused.txt</filename> file lists symbol
+ names, where the GTK-Doc scanner has found documentation, but does not
+ know where to put it. This means that the symbol has not yet been added to
+ the <filename><package>-sections.txt</filename> file.
+ </para>
+
+ <tip>
+ <para>
+ Enable or add the <option>TESTS=$(GTKDOC_CHECK)</option> line in Makefile.am.
+ If at least GTK-Doc 1.9 is installed, this will run sanity checks during
+ <command>make check</command> run.
+ </para>
+ </tip>
+
+ <para>
+ One can also look at the files produced by the source code scanner:
+ <filename><package>-decl-list.txt</filename> and
+ <filename><package>-decl.txt</filename>. The first one can be
+ compared with the section file if that is manualy maintained. The second
+ lists all declarations fromt he headers If a symbol is missing one could
+ check if this file contains it.
+ </para>
+
+ <para>
+ If the project is GObject based, one can also look into the files produced
+ by the object scanner:
+ <filename><package>.args.txt</filename>,
+ <filename><package>.hierarchy.txt</filename>,
+ <filename><package>.interfaces.txt</filename>,
+ <filename><package>.prerequisites.txt</filename> and
+ <filename><package>.signals.txt</filename>. If there are missing
+ symbols in any of those, one can ask gtkdoc to keep the intermedia scanner
+ file for further analysis, but running it as
+ <command>GTK_DOC_KEEP_INTERMEDIATE=1 make</command>.
+ </para>
+ </chapter>
+
+ <chapter id="documenting-others">
+ <title>Dokumentieren anderer Schnittstellen</title>
+
+ <para>Bis jetzt haben wir GTK-Doc nur dazu verwendet, die API des Codes zu dokumentieren. In den nächsten Abschnitten finden Sie Vorschläge, wie die Werkzeuge zum Dokumentieren anderer Schnittstellen eingesetzt werden können.</para>
+
+ <sect1 id="commandline-interfaces">
+ <title>Befehlszeilenoptionen und Handbuchseiten</title>
+
+ <para>
+ As one can generate man pages for a docbook refentry as well, it sounds
+ like a good idea to use it for that purpose. This way the interface is
+ part of the reference and one gets the man-page for free.
+ </para>
+
+ <sect2 id="commandline-interfaces-file">
+ <title>Dokumentieren des Werkzeuges</title>
+
+ <para>
+ Create one refentry file per tool. Following
+ <link linkend="settingup_docfiles">our example</link> we would call it
+ <filename>meep/docs/reference/meeper/meep.xml</filename>. For the xml
+ tags that should be used and can look at generated file in the xml
+ subdirectory as well as examples e.g. in glib.
+ </para>
+ </sect2>
+
+ <sect2 id="commandline-interfaces-configure">
+ <title>Hinzufügen der zusätzlichen Configure-Überprüfungen</title>
+
+ <para>
+ <example><title>Zusätzliche Configure-Überprüfungen</title>
+ <programlisting>
+<![CDATA[
+AC_ARG_ENABLE(man,
+ [AC_HELP_STRING([--enable-man],
+ [regenerate man pages from Docbook [default=no]])],enable_man=yes,
+ enable_man=no)
+
+AC_PATH_PROG([XSLTPROC], [xsltproc])
+AM_CONDITIONAL(ENABLE_MAN, test x$enable_man != xno)
+]]>
+ </programlisting>
+ </example>
+ </para>
+ </sect2>
+
+ <sect2 id="commandline-interfaces-make">
+ <title>Hinzufügen der zusätzlichen Makefile-Regeln</title>
+
+ <para>
+ <example><title>Zusätzliche Configure-Überprüfungen</title>
+ <programlisting>
+<![CDATA[
+man_MANS = \
+ meeper.1
+
+if ENABLE_GTK_DOC
+if ENABLE_MAN
+
+%.1 : %.xml
+ @XSLTPROC@ -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
+
+endif
+endif
+
+BUILT_EXTRA_DIST = $(man_MANS)
+EXTRA_DIST += meep.xml
+]]>
+ </programlisting>
+ </example>
+ </para>
+ </sect2>
+ </sect1>
+
+ <sect1 id="dbus-interfaces">
+ <title>DBus-Schnittstellen</title>
+
+ <para>(FIXME: http://hal.freedesktop.org/docs/DeviceKit/DeviceKit.html, http://cgit.freedesktop.org/DeviceKit/DeviceKit/tree/doc/dbus)</para>
+ </sect1>
+
+ </chapter>
+
+ <chapter id="faq">
+ <title>Häufig gestellte Fragen</title>
+
+ <segmentedlist>
+ <?dbhtml list-presentation="list"?>
+ <segtitle>Frage</segtitle>
+ <segtitle>Antwort</segtitle>
+ <seglistitem>
+ <seg>Keine Klassenhierarchie.</seg>
+ <seg>Die <function>xxx_get_type()</function>-Funktion des Objekts wurde nicht in die Datei <filename><package>.types</filename> eingegeben.</seg>
+ </seglistitem>
+ <seglistitem>
+ <seg>Noch immer keine Klassenhierarchie.</seg>
+ <seg>Falsche oder fehlende Benennung in der Datei <filename><package>-sections.txt</filename> (siehe <ulink url="http://mail.gnome.org/archives/gtk-doc-list/2003-October/msg00006.html">Erklärung</ulink>).</seg>
+ </seglistitem>
+ <seglistitem>
+ <seg>Verdammt, ich habe immer noch keine Klassenhierarchie.</seg>
+ <seg>
+ Is the object name (name of the instance struct, e.g. <type>GtkWidget</type>)
+ part of the normal section (don't put this into Standard or Private
+ subsections).
+ </seg>
+ </seglistitem>
+ <seglistitem>
+ <seg>Kein Symbolindex.</seg>
+ <seg>
+ Does the <filename><package>-docs.{xml,sgml}</filename> contain a
+ index that xi:includes the generated index?
+ </seg>
+ </seglistitem>
+ <seglistitem>
+ <seg>Symbole werden nicht mit deren Dokumentationsbschnitt verknüpft.</seg>
+ <seg>
+ Is the doc-comment using the correct markup (added #,% or ())?
+ Check if the gtkdoc-fixxref warns about unresolvable xrefs.
+ </seg>
+ </seglistitem>
+ <seglistitem>
+ <seg>Eine neue Klasse erscheint nicht in der Dokumentation.</seg>
+ <seg>
+ Is the new page xi:included from
+ <filename><package>-docs.{xml,sgml}</filename>.
+ </seg>
+ </seglistitem>
+ <seglistitem>
+ <seg>Ein neues Symbol erscheint nicht in der Dokumentation.</seg>
+ <seg>
+ Is the doc-comment properly formatted. Check for spelling mistakes in
+ the begin of the comment. Check if the gtkdoc-fixxref warns about
+ unresolvable xrefs. Check if the symbol is correctly listed in the
+ <filename><package>-sections.txt</filename> in a public subsection.
+ </seg>
+ </seglistitem>
+ <seglistitem>
+ <seg>Ein Typ fehlt in der Klassenhierarchie.</seg>
+ <seg>
+ If the type is listed in <filename><package>.hierarchy</filename>
+ but not in <filename>xml/tree_index.sgml</filename> then double check
+ that the type is correctly placed in the <filename><package>-sections.txt</filename>.
+ If the type instance (e.g. <type>GtkWidget</type>) is not listed or
+ incidentialy makred private it will not be shown.
+ </seg>
+ </seglistitem>
+ <seglistitem>
+ <seg>I get foldoc links for all gobject annotations.</seg>
+ <seg>
+ Check that <filename>xml/annotation-glossary.xml</filename> is
+ xi:included from <filename><package>-docs.{xml,sgml}</filename>.
+ </seg>
+ </seglistitem>
+
+ <!-- gtk-doc warnings: -->
+ <seglistitem>
+ <seg>Parameter wird im Kommentarblock des Quellcodes beschrieben, aber existiert nicht</seg>
+ <seg>Überprüfen Sie, ob die Parameternamen der Prototypen in der Quelle und im Header unterschiedlich sind</seg>
+ </seglistitem>
+
+ <!-- docbook warnings: -->
+ <seglistitem>
+ <seg>multiple "IDs" for constraint linkend: XYZ</seg>
+ <seg>Das Symbol XYZ erscheint zweifach in der Datei <filename><package>-sections.txt</filename>.</seg>
+ </seglistitem>
+ <seglistitem>
+ <seg>Element typename in namespace '' encountered in para, but no template matches.</seg>
+ <seg/>
+ </seglistitem>
+ </segmentedlist>
+ </chapter>
+
+ <chapter id="contrib">
+ <title>Werkzeuge mit Bezug zu gtk-doc</title>
+
+ <para>
+ GtkDocPlugin - a <ulink url="http://trac-hacks.org/wiki/GtkDocPlugin">Trac GTK-Doc</ulink>
+ integration plugin, that adds api docs to a trac site and integrates with
+ the trac search.
+ </para>
+ <para>
+ Gtkdoc-depscan - a tool (part of gtk-doc) to check used API against since
+ tags in the api to determine the minimum required version.
+ </para>
+
+ </chapter>
+
+ <!-- ======== Appendix: FDL ================================== -->
+ <!--
+ The GNU Free Documentation License 1.1 in DocBook
+ Markup by Eric Baudais <baudais@okstate.edu>
+ Maintained by the GNOME Documentation Project
+ http://developer.gnome.org/projects/gdp
+ Version: 1.0.1
+ Last Modified: Nov 16, 2000
+-->
+
+<appendix id="fdl">
+ <appendixinfo>
+ <releaseinfo>Version 1.1, März 2000</releaseinfo>
+ <copyright>
+ <year>2000</year><holder>Free Software Foundation, Inc.</holder>
+ </copyright>
+ <legalnotice id="fdl-legalnotice">
+ <para><address>Free Software Foundation, Inc. <street>51 Franklin Street, Fifth Floor</street>, <city>Boston</city>, <state>MA</state><postcode>02110-1301</postcode><country>USA</country></address>. Es ist jedermann erlaubt, wortwörtliche Kopien dieses Lizenzdokuments zu erstellen und zu verbreiten, Änderungen sind jedoch nicht zulässig.</para>
+ </legalnotice>
+ </appendixinfo>
+ <title>GNU Freie Dokumentationslizenz</title>
+
+ <sect1 id="fdl-preamble">
+ <title>0. VORWORT</title>
+ <para>Der Zweck dieser Lizenz ist es, eine Anleitung, ein Textbuch oder andere geschriebene Dokumente <quote>frei</quote> im Sinne von Freiheit zu halten: jedem die effektive Freiheit zu sichern, es zu kopieren und weiter zu verteilen, mit oder ohne es zu ändern, entweder kommerziell oder nichtkommerziell. Zweitens sichert diese Lizenz dem Autor und Veröffentlicher einen Weg, Anerkennung für seine Arbeit zu bekommen, ohne dabei für Änderungen anderer verantwortlich zu sein.</para>
+
+ <para>Diese Lizenz ist eine Art <quote>copyleft</quote>, das heißt, dass abgeleitete Arbeiten des Dokumentes selbst wieder im gleichen Sinne frei sein müssen. Es ergänzt die GNU General Public License, die eine Copyleft-Lizenz für freie Software darstellt.</para>
+
+ <para>Wir haben diese Lizenz gestaltet, um sie für Anleitungen von freier Software zu benutzen, weil freie Software freie Dokumentation benötigt: Ein freies Programm sollte mit Anleitungen kommen, die dieselbe Freiheit wie die Software bieten. Aber diese Lizenz ist nicht auf Software-Anleitungen beschränkt; sie kann für alle textlichen Arbeiten verwendet werden, unabhängig vom Thema, oder ob es als gedrucktes Buch veröffentlicht wird. Wir empfehlen diese Lizenz prinzipiell für Arbeiten, deren Zweck Anleitungen oder Referenzen sind.</para>
+ </sect1>
+ <sect1 id="fdl-section1">
+ <title>1. ANWENDBARKEIT UND DEFINITIONEN</title>
+ <para id="fdl-document">Diese Lizenz betrifft jede Anleitung oder andere Arbeit, die einen Hinweis des Copyright-Halters enthält, welcher besagt, dass sie unter den Bedingungen dieser Lizenz verteilt werden kann. Das <quote>Dokument</quote>, weiter unten, bezieht sich auf jede dieser Anleitungen oder Arbeiten. Jedes Mitglied der Öffentlichkeit ist ein Lizenznehmer, und wird mit <quote>Sie</quote> bezeichnet.</para>
+
+ <para id="fdl-modified">Eine <quote>Modifizierte Version</quote> von dem Dokument bezeichnet jegliche Arbeit, die das Dokument oder einen Teil davon enthält, entweder wortwörtlich kopiert oder mit Modifikationen und/oder in eine andere Sprache übersetzt.</para>
+
+ <para id="fdl-secondary">Ein <quote>Sekundärer Abschnitt</quote> ist ein benannter Anhang oder ein wichtiger Abschnitt des <link linkend="fdl-document">Dokumentes</link>, der exklusiv mit der Beziehung des Veröffentlichers zu dem Gesamtthema des Dokumentes (oder verwandten Themen) handelt und nichts enthält, was direkt unter das Gesamtthema fällt. (Wenn zum Beispiel das Dokument teilweise ein Textbuch der Mathematik ist, erklärt ein <quote>Sekundärer Abschnitt</quote> keine Mathematik.) Die Beziehung könnte eine Angelegenheit einer historischen Verbindung mit dem Thema oder einer verwandten Sache sein, oder einer gesetzlichen, kommerziellen, philosophischen, ethnischen oder politischen Position ihr gegenüber.</para>
+
+ <para id="fdl-invariant"><quote>Unveränderliche Abschnitte</quote> sind spezielle <link linkend="fdl-secondary">Sekundäre Abschnitte</link>, deren Titel in dem Hinweis, der besagt, dass das <link linkend="fdl-document">Dokument</link> unter dieser Lizenz veröffentlicht ist, gekennzeichnet sind, Unveränderte Abschnitte zu sein.</para>
+
+ <para id="fdl-cover-texts">Die <quote>Covertexte</quote> sind spezielle kurze Textpassagen, die, als Vorderseitentexte oder Rückseitentexte, in dem Hinweis aufgeführt sind, der besagt, dass das <link linkend="fdl-document">Dokument</link> unter dieser Lizenz veröffentlicht ist.</para>
+
+ <para id="fdl-transparent">Eine <quote>Transparente</quote> Kopie des <link linkend="fdl-document">Dokumentes</link> meint eine maschinenlesbare Kopie, die in einem der Allgemeinheit zugänglichen Format repräsentiert ist, deren Inhalt direkt und einfach mit gebräuchlichen Texteditoren oder (bei aus Pixeln bestehenden Bildern) gebräuchlichen Zeichenprogrammen oder (bei Bildern) weit verbreiteten Bildverarbeitungsprogramm besehen und verändert werden kann, und das geeignet ist, in Textformatierern eingegeben werden zu können oder automatisch in eine Vielzahl von Formaten übersetzt werden kann, die geeignet sind, in Textformatierern eingegeben werden zu können. Eine Kopie in einem anderen Transparenten Dateiformat, dessen Aufbau gestaltet wurde, eine ständige Veränderung durch den Leser zu vereiteln oder abzuwenden, ist nicht Transparent. Eine Kopie die nicht <quote>Transparent</quote> ist, nennt man <quote>Undurchsichtig</quote>.</para>
+
+ <para>Beispiele von passenden Formaten für Transparente Kopien enthalten reines ASCII ohne Codierung, das Texinfo-Eingabeformat, das LaTeX-Eingabeformat, SGML oder XML die eine öffentlich zugängliche DTD nutzen, und dem Standard entsprechendes HTML, das für die Veränderung durch Menschen gestaltet wurde. Undurchsichtige Formate enthalten PostScript, PDF, proprietäre Formate die nur von proprietären Textverarbeitungen gelesen und bearbeitet werden, SGML oder XML für die die DTD und/oder die Verarbeitungswerkzeuge nicht allgemein erhältlich sind, und maschinengeneriertes HTML, das von einigen Textverarbeitungen nur zu Ausgabezwecken produziert wurde.</para>
+
+ <para id="fdl-title-page">Die <quote>Titelseite</quote> meint bei einem gedruckten Buch die Titelseite selbst, und die folgenden Seiten, die gebraucht werden, um leserlich das Material zu beinhalten, das die Lizenz benötigt, um auf der Titelseite zu erscheinen. Für Arbeiten, die als solche keine Titelseiten haben, meint <quote>Titelseite</quote> den Text, der der wirkungsvollsten Erscheinung des Arbeitstitels am nächsten kommt und den Textkörper einleitet.</para>
+ </sect1>
+
+ <sect1 id="fdl-section2">
+ <title>3. WORTWÖRTLICHE KOPIEN</title>
+ <para>Sie dürfen das <link linkend="fdl-document">Dokument</link> auf jedem Medium kopieren und verteilen, entweder kommerziell oder nichtkommerziell, vorausgesetzt, dass die Lizenz, die Copyrighthinweise und der Lizenzhinweis, der besagt, dass die Lizenz für das Dokument gilt, in allen Kopien reproduziert werden, und dass sie keine wie auch immer lautenden andere Bedingungen als die der Lizenz hinzufügen. Sie dürfen keine technischen Möglichkeiten nutzen, die das Lesen oder Weiterkopieren der Kopien, die Sie machen oder weiterkopieren, kontrollieren oder behindern. Wie auch immer, Sie dürfen im Gegenzug Vergütungen für Kopien akzeptieren. Wenn Sie eine genügend große Anzahl von Kopien verteilen, müssen Sie auch den Bedingungen in <link linkend="fdl-section3">Abschnitt 3</link> zustimmen.</para>
+
+ <para>Sie dürfen auch Kopien unter den oben genannten Bedingungen verleihen, und Sie dürfen Kopien öffentlich zeigen.</para>
+ </sect1>
+
+ <sect1 id="fdl-section3">
+ <title>3. KOPIEREN IN MENGEN</title>
+ <para>Wenn Sie mehr als 100 gedruckte Kopien des <link linkend="fdl-document">Dokumentes</link> veröffentlichen, und die Lizenz des Dokumentes <link linkend="fdl-cover-texts">Cover-Texte</link> verlangt, müssen Sie die Kopien in Verpackungen einschließen, die sauber und leserlich all diese Cover-Texte enthalten: Vorderseitentexte auf der Vorderseite, und Rückseitentexte auf der Rückseite. Beide Seiten müssen auch sauber und leserlich Sie als den Veröffentlicher dieser Kopien identifizieren. Die Vorderseite muß den vollen Titel mit allen Wörtern des Titels gleich auffällig und sichtbar darstellen. Sie dürfen andere Materialien zusätzlich der Seite hinzufügen. Kopieren mit Veränderungen der Seiten, solange diese den Titel des <link linkend="fdl-document">Dokumentes</link> absichern und diese Bedingungen erfüllen, können in anderer Hinsicht als wortwörtliche Kopien behandelt werden.</para>
+
+ <para>Wenn die geforderten Texte für jede Seite zu groß sind, um leserlich darauf zu passen, sollten Sie die erstgenannten (so viele wie vernünftig darauf passen) auf die aktuelle Seite setzen, und mit dem Rest auf angrenzenden Seiten fortfahren.</para>
+
+ <para>Wenn Sie mehr als 100 <link linkend="fdl-transparent">Undurchsichtige Kopien</link> des <link linkend="fdl-document">Dokumentes</link> veröffentlichen oder verteilen, müssen Sie entweder zusammen mit jeder Undurchsichtigen Kopie eine <link linkend="fdl-transparent">Transparente Kopie</link> einfügen, oder in oder mit jeder Undurchsichtigen Kopie eine öffentlich zugängliche Computer-Netzwerk-Adresse angeben, die eine komplette Transparente Kopie des Dokumentes enthält, die frei von hinzugefügtem Material ist und die sich die allgemeine netzwerknutzende Öffentlichkeit mit Standard-Netzwerkprotokollen unentgeltlich herunterladen kann. Wenn Sie die letzte Option verwenden, müssen Sie, wenn Sie beginnen, Undurchsichtige Kopien in Mengen zu verteilen, vernünftige umsichtige Schritte unternehmen, die sicherstellen, dass die Transparente Kopie unter der genannten Adresse mindestens ein Jahr, nachdem Sie das letzte Mal eine Undurchsichtige Kopie dieser Edition (direkt oder über Ihre Vermittler oder Händler) an die Öffentlichkeit verteilt haben.</para>
+
+ <para>Es wird erbeten, aber nicht verlangt, dass Sie die Autoren des <link linkend="fdl-document">Dokumentes</link> kontaktieren, bevor Sie eine große Anzahl an Kopien weiterverteilen, um ihnen zu ermöglichen, Sie mit einer aktualisierten Version des Dokumentes zu versorgen.</para>
+ </sect1>
+
+ <sect1 id="fdl-section4">
+ <title>4. MODIFIKATIONEN</title>
+ <para>Sie dürfen eine <link linkend="fdl-modified">Modifizierte Version</link> eines <link linkend="fdl-document">Dokumentes</link> unter den in den Abschnitten <link linkend="fdl-section2">2</link> und <link linkend="fdl-section3">3</link> oben stehenden Bedingungen kopieren und verteilen, vorausgesetzt, Sie veröffentlichen die Modifizierte Version unter genau dieser Lizenz, so dass die modifizierte Version die Stelle des Dokumentes einnimmt, folglich auch das Lizenzieren der Verteilung und Modifikation der Modifizierten Version an jeden, der eine Kopie davon besitzt. Zuätzlich müssen Sie diese Dinge in der Modifizierten Version tun:</para>
+
+ <itemizedlist mark="opencircle">
+ <listitem>
+ <formalpara>
+ <title>A</title>
+ <para>Auf der <link linkend="fdl-title-page">Titelseite</link> (und auf den Covern, falls vorhanden) einen Titel verwenden, der sich von dem des <link linkend="fdl-document">Dokumentes</link> unterscheidet, und von denen vorhergehender Versionen (die, falls vorhanden, in dem History-Abschnitt des Dokumentes aufgeführt sein sollten). Sie dürfen denselben Titel wie in einer vorhergehenden Version nutzen, wenn der ursprüngliche Veröffentlicher sein Einverständnis gibt.</para>
+ </formalpara>
+ </listitem>
+
+ <listitem>
+ <formalpara>
+ <title>B</title>
+ <para>Auf der <link linkend="fdl-title-page">Titelseite</link>, eine oder mehrere Personen als Autoren benennen, die für das Einbringen von Veränderungen in die <link linkend="fdl-modified">Modifizierte Version</link> verantwortlich sind, zusammen mit mindesten fünf eigentlichen Autoren des <link linkend="fdl-document">Dokumentes</link> (allen eigentlichen Autoren, wenn es weniger als fünf sind).</para>
+ </formalpara>
+ </listitem>
+
+ <listitem>
+ <formalpara>
+ <title>C</title>
+ <para>Auf der <link linkend="fdl-title-page">Titelseite</link> den Namen des Veröffentlichers der <link linkend="fdl-modified">Modifizierten Version</link> als Veröffentlicher kennzeichnen.</para>
+ </formalpara>
+ </listitem>
+
+ <listitem>
+ <formalpara>
+ <title>D</title>
+ <para>Alle Copyright-Hinweise des <link linkend="fdl-document">Dokumentes</link> beibehalten.</para>
+ </formalpara>
+ </listitem>
+
+ <listitem>
+ <formalpara>
+ <title>E</title>
+ <para>Einen passenden Copyright-Hinweis für Ihre Modifikationen angrenzend an die anderen Copyright-Hinweise hinzufügen.</para>
+ </formalpara>
+ </listitem>
+
+ <listitem>
+ <formalpara>
+ <title>F</title>
+ <para>Gleich hinter dem Copyright-Hinweis einen Lizenzhinweis einfügen, der die öffentliche Erlaubnis gibt, die <link linkend="fdl-modified">Modifizierte Version</link> unter den Bedingungen dieser Lizenz zu nutzen, in einer Form, die weiter unten im Anhang dargestellt ist.</para>
+ </formalpara>
+ </listitem>
+
+ <listitem>
+ <formalpara>
+ <title>G</title>
+ <para>In dem Lizenzhinweis die volle Liste der <link linkend="fdl-invariant">Unveränderlichen Abschnitte</link> und benötigten <link linkend="fdl-cover-texts">Cover-Texte</link>, die in dem Lizenzhinweis des <link linkend="fdl-document">Dokumentes</link> gegeben ist, beibehalten.</para>
+ </formalpara>
+ </listitem>
+
+ <listitem>
+ <formalpara>
+ <title>H</title>
+ <para>Eine unveränderte Kopie dieser Lizenz einfügen.</para>
+ </formalpara>
+ </listitem>
+
+ <listitem>
+ <formalpara>
+ <title>I</title>
+ <para>Den Abschnitt, der mit <quote>History</quote> (Geschichte) betitelt ist, und seinen Titel beibehalten und ihn zu einem Punkt hinzufügen, der mindestens Titel, Jahr, neue Autoren, und Veröffentlicher der <link linkend="fdl-modified">Modifizierten Version</link> wie auf der <link linkend="fdl-title-page">Titelseite</link> gegeben, benennt. Wenn es keinen mit <quote>History</quote> betitelten Abschnitt gibt, erstellen Sie einen, der den Titel, Jahr, Autoren, und Veröffentlicher des <link linkend="fdl-document">Dokumentes</link> wie auf der Titelseite gegeben, benennt, und fügen Sie dann einen Punkt hinzu, der die Modifizierte Version beschreibt wie im vorhergehenden Satz.</para>
+ </formalpara>
+ </listitem>
+
+ <listitem>
+ <formalpara>
+ <title>J</title>
+ <para>Die Netzwerk-Adresse, falls aufgeführt, beibehalten, die im <link linkend="fdl-document">Dokument</link> aufgeführt ist, um öffentlichen Zugriff zu einer <link linkend="fdl-transparent">Transparenten</link> Kopie des Dokumentes zu ermöglichen, und genauso die Netzwerk-Adressen, die im Dokument für frühere Versionen, auf denen es basiert, aufgeführt sind. Diese können in den <quote>History</quote>-Abschnitt gestellt werden. Sie können eine Netzwerk-Adresse für ein Werk auslassen, das mindestens vier Jahre vor dem Dokument selbst veröffentlicht wurde, oder wenn der ursprüngliche Autor, auf den sich die jeweilige Version bezieht, es erlaubt.</para>
+ </formalpara>
+ </listitem>
+
+ <listitem>
+ <formalpara>
+ <title>K</title>
+ <para>In jeglichem Abschnitt, der mit <quote>Acknowledgements</quote> (Anerkennungen) oder <quote>Dedications</quote> (Widmungen) betitelt ist, den Titel des Abschnittes beibehalten, und in dem Abschnitt allen Inhalt und Ton von jeder Anerkennung und/oder Widmung jedes Beitragenden beibehalten, der dort aufgeführt ist.</para>
+ </formalpara>
+ </listitem>
+
+ <listitem>
+ <formalpara>
+ <title>L</title>
+ <para>Alle <link linkend="fdl-invariant">Unveränderlichen Abschnitte</link> des <link linkend="fdl-document">Dokumentes</link> beibehalten, unverändert in ihrem Text und ihren Titeln. Abschnittsnummern oder ähnliches werden nicht als Teil von Abschnittstiteln betrachtet.</para>
+ </formalpara>
+ </listitem>
+
+ <listitem>
+ <formalpara>
+ <title>M</title>
+ <para>Alle Abschnitte, die mit <quote>Endorsements</quote> (Billigungen) betitelt sind, löschen. Solche Abschnitte dürfen nicht mit in die <link linkend="fdl-modified">Modifizierte Version</link> aufgenommen werden.</para>
+ </formalpara>
+ </listitem>
+
+ <listitem>
+ <formalpara>
+ <title>N</title>
+ <para>Betiteln Sie keine existierenden Abschnitte mit <quote>Endorsements</quote> oder so, dass sie im Widerspruch zu Titeln von <link linkend="fdl-invariant">Unveränderlichen Abschnitten</link> stehen.</para>
+ </formalpara>
+ </listitem>
+ </itemizedlist>
+
+ <para>Wenn die <link linkend="fdl-modified">Modifizierte Version</link> neue wichtige Abschnitte enthält oder Anhänge, die <link linkend="fdl-secondary">Sekundäre Abschnitte</link> darstellen, und kein Material enthalten, das aus dem Dokument kopiert wurde, dürfen Sie nach Ihrer Wahl einige oder alle diese Abschnitte als Unveränderlich bezeichnen. Um dies zu tun, fügen Sie ihre Titel der Liste der <link linkend="fdl-invariant">Unveränderlichen Abschnitte</link> in dem Lizenzhinweis der Modifizierten Version hinzu. Diese Titel müssen sich von allen anderen Abschnittstiteln unterscheiden.</para>
+
+ <para>Sie dürfen einen Abschnitt <quote>Endorsements</quote> hinzufügen, vorausgesetzt, er enthält nichts außer Bewilligungen Ihrer <link linkend="fdl-modified">Modifizierten Version</link> von verschiedenen Seiten -- zum Beispiel Aussagen von Beurteilungen, oder dass der Text von einer Organisation als für die autoritäre Definition eines Standards befunden wurde.</para>
+
+ <para>Sie dürfen eine Passage aus bis zu fünf Wörtern als <link linkend="fdl-cover-texts">Vorderseitentext</link> hinzufügen, und eine Passage von bis zu 25 Wörtern als <link linkend="fdl-cover-texts">Rückseitentext</link>, ans Ende der Liste von <link linkend="fdl-cover-texts">Covertexten</link> in der <link linkend="fdl-modified">Modifizierten Version</link>. Höchstens eine Passage von Vorderseitentexten und eine von Rückseitentexten darf von (oder durch Abmachungen von) irgendeinem Wesen hinzugefügt werden. Wenn das <link linkend="fdl-document">Dokument</link> für die entsprechende Seite schon einen Covertext hat, der vorher von Ihnen oder durch Abmachungen von demselben Wesen, in dessen Namen Sie handeln, hinzugefügt wurde, dürfen Sie keinen anderen hinzufügen; aber Sie dürfen den alten, wenn es der ursprüngliche Veröffentlicher, der den alten hinzugefügt hat, explizit erlaubt, ersetzen.</para>
+
+ <para>Der/die Autor(en) und Veröffentlicher des <link linkend="fdl-document">Dokumentes</link> erteilen durch diese Lizenz nicht die Erlaubnis, ihre Namen für Veröffentlichungen für Bewilligungen irgendeiner <link linkend="fdl-modified">Modifizierten Version</link> oder deren Durchsetzungen oder Andeutungen zu nutzen.</para>
+ </sect1>
+
+ <sect1 id="fdl-section5">
+ <title>5. DOKUMENTE KOMBINIEREN</title>
+ <para>Sie dürfen das <link linkend="fdl-document">Dokument</link> mit anderen Dokumenten, die unter dieser Lizenz veröffentlicht wurden, unter den Bedingungen in <link linkend="fdl-section4">Abschnitt 4</link> für Modifizierte Versionen kombinieren, vorausgesetzt, Sie beinhalten in der Kombination alle <link linkend="fdl-invariant">Unveränderlichen Abschnitte</link> aller ursprünglichen Dokumente unverändert, und führen Sie alle als Unveränderliche Abschnitte Ihrer kombinierten Arbeit in deren Lizenzhinweis auf.</para>
+
+ <para>Die kombinierte Arbeit braucht nur eine Kopie dieser Lizenz zu beinhalten, und mehrfache identische <link linkend="fdl-invariant">Unveränderliche Abschnitte</link> können durch eine einzige Kopie ersetzt werden. Wenn es mehrere Unveränderliche Abschnitte mit demselben Titel, aber unterschiedlichem Inhalt gibt, machen Sie den Titel jedes Abschnittes durch Hinzufügen (in Klammern) des Namens des ursprünglichen Autors oder Veröffentlichers dieses Abschnittes, falls bekannt, unverwechselbar, oder ansonsten durch eine einzigartige Nummer. Führen Sie dieselben Änderungen in der Liste der Unveränderlichen Abschnitte im Lizenzhinweis der kombinierten Arbeit durch.</para>
+
+ <para>In der Kombination müssen Sie alle mit <quote>History</quote> betitelten Abschnitte aus den verschiedenen ursprünglichen Dokumenten zusammenführen, und daraus einen Abschnitt <quote>History</quote> bilden; genauso kombinieren Sie jeden mit <quote>Acknowledgements</quote> betitelten Abschnitt, und jeden mit <quote>Dedications</quote> betitelten Abschnitt. Sie müssen jeden mit <quote>Endorsements</quote> betitelten Abschnitt löschen.</para>
+ </sect1>
+
+ <sect1 id="fdl-section6">
+ <title>6. SAMMLUNGEN VON DOKUMENTEN</title>
+ <para>Sie dürfen eine Sammlung erstellen, die aus dem <link linkend="fdl-document">Dokument</link> und anderen, unter dieser Lizenz veröffentlichten Dokumenten besteht, und die individuellen Kopien der Lizenz in den einzelnen Dokumenten durch eine einzige Kopie ersetzen, die sich in der Sammlung befindet, vorausgesetzt, Sie folgen den Regeln dieser Lizenz für wortwörtliches Kopieren jedes dieser Dokumente in jeglicher Hinsicht.</para>
+
+ <para>Sie dürfen ein einzelnes Dokument aus einer solchen Sammlung heraustrennen, und es individuell unter dieser Lizenz verteilen, vorausgesetzt, Sie fügen eine Kopie dieser Lizenz in das herausgetrennte Dokument ein und folgen der Lizenz in jeglicher Hinsicht bezüglich dem wortwörtlichen Kopieren des Dokuments.</para>
+ </sect1>
+
+ <sect1 id="fdl-section7">
+ <title>7. AGGREGATION MIT UNABHÄNGIGEN ARBEITEN</title>
+ <para>Eine Zusammenstellung dieses <link linkend="fdl-document">Dokumentes</link> oder seinen Ableitungen mit anderen separaten und unabhängigen Dokumenten oder Arbeiten, in oder auf einem Teil eines Speicher- oder Verteilungsmediums, zählt nicht als Ganzes als <link linkend="fdl-modified">Modifizierte Version</link> des Dokumentes, vorausgesetzt, kein Gesamt-Copyright wurde für die Zusammenstellung festgelegt. Solch eine Zusammenstellung wird <quote>Aggregat</quote> (Mischung) genannt, und diese Lizenz gilt nicht für die anderen selbstenthaltenen Arbeiten, die mit dem Dokument zusammengestellt wurden, im Falle, dass sie zusammengestellt wurden, wenn sie nicht selbst abgeleitete Arbeiten des Dokumentes sind. Wenn die <link linkend="fdl-cover-texts">Covertext</link>-Bedingung von <link linkend="fdl-section3">Abschnitt 3</link> auf diese Kopien des Dokumentes anwendbar ist, dann können, wenn das Dokument weniger als ein Viertel des gesamten Aggregates ist, die Covertexte des Dokumentes auf Seiten platziert werden, die nur das Dokument innerhalb des Aggregates umgeben. Ansonsten müssen sie auf Seiten erscheinen, die das gesamte Aggregat umgeben.</para>
+ </sect1>
+
+ <sect1 id="fdl-section8">
+ <title>8. ÜBERSETZUNG</title>
+ <para>Übersetzung wird als eine Art Modifikation angesehen, also dürfen Sie Übersetzungen des <link linkend="fdl-document">Dokumentes</link> unter den Bedingungen von <link linkend="fdl-section4">Abschnitt 4</link> verteilen. Das Ersetzen von <link linkend="fdl-invariant">Unveränderlichen Abschnitten</link> mit Übersetzungen erfordert spezielle Einwilligung des Copyright-Halters, aber Sie dürfen Übersetzungen von einigen oder allen Unveränderlichen Abschnitten zusätzlich zu den ursprünglichen Versionen dieser Unveränderlichen Abschnitte einfügen. Sie dürfen eine Übersetzung dieser Lizenz hinzufügen, vorausgesetzt Sie beinhalten auch die ursprüngliche englische Version dieser Lizenz. Im Falle einer Nichtübereinstimmung zwischen der Übersetzung und der ursprünglichen englischen Version dieser Lizenz hat die ursprüngliche englische Version Vorrang.</para>
+ </sect1>
+
+ <sect1 id="fdl-section9">
+ <title>9. TERMINATION</title>
+ <para>Sie dürfen das <link linkend="fdl-document">Dokument</link> nicht kopieren, modifizieren, sublizenzieren oder verteilen, außer wie es diese Lizenz ausdrücklich vorschreibt. Jegliche andere Absicht, das Dokument zu kopieren, modifizieren, sublizenzieren oder verteilen, ist nichtig und beendet automatisch Ihre Rechte unter dieser Lizenz. Wie auch immer, Parteien, die Kopien oder Rechte von Ihnen unter dieser Lizenz bekommen haben, wird nicht die Lizenz beendet, solange diese Parteien in voller Zustimmung verbleiben.</para>
+ </sect1>
+
+ <sect1 id="fdl-section10">
+ <title>10. ZUKÜNFTIGE REVISIONEN DIESER LIZENZ</title>
+ <para>Die <ulink type="http" url="http://www.gnu.org/fsf/fsf.html">Free Software Foundation</ulink> kann von Zeit zu Zeit neue, revidierte Versionen der GNU Free Documentation License veröffentlichen. Solche neue Versionen werden vom Grundprinzip her der vorliegenden Version gleichen, können sich aber im Detail unterscheiden, um neue Probleme oder Anliegen anzusprechen. Siehe auch <ulink type="http" url="http://www.gnu.org/copyleft">http://www.gnu.org/copyleft/</ulink>.</para>
+
+ <para>Jeder Version dieser Lizenz wird eine unterscheidende Versionsnummer gegeben. Wenn das <link linkend="fdl-document">Dokument</link> angibt, dass eine spezielle Version dieser Lizenz <quote>oder eine spätere Version</quote> darauf zutrifft, haben Sie die Wahl, den Bestimmungen und Bedingungen von entweder der angegebenen Version oder einer beliebigen späteren Version, die von der Free Software Foundation (nicht als Entwurf) veröffentlicht wurde, zu folgen. Wenn das Dokument keine Versionsnummer angibt, können Sie irgendeine, jemals von der Free Software Foundation (nicht als Entwurf) veröffentlichte Version wählen.</para>
+ </sect1>
+
+ <sect1 id="fdl-using">
+ <title>Anhang</title>
+ <para>Um diese Lizenz in einem von Ihnen geschriebenen Dokument nutzen zu können, fügen Sie eine Kopie der Lizenz in das Dokument ein und setzen Sie die folgenden Copyright- und Lizenzhinweise gleich hinter die Titelseite:</para>
+
+ <blockquote>
+ <para>Copyright (c) JAHR IHR NAME.</para>
+ <para>Es wird die Erlaubnis gegeben, dieses Dokument zu kopieren, verteilen und/oder zu verändern unter den Bedingungen der GNU Free Documentation License, Version 1.1 oder einer späteren, von der Free Software Foundation veröffentlichten Version; mit den <link linkend="fdl-invariant">Unveränderlichen Abschnitten</link>. DEREN TITEL AUFGEZÄHLT sind, mit den <link linkend="fdl-cover-texts">Vorderseitentexten</link>, die AUFGEZÄHLT sind, und mit den <link linkend="fdl-cover-texts">Rückseitentexten</link>, die AUFGEZÄHLT sind. Eine Kopie dieser Lizenz ist in dem Abschnitt enthalten, der mit <quote>GNU Free Documentation License</quote> betitelt ist.</para>
+ </blockquote>
+
+ <para>Wenn Sie keine <link linkend="fdl-invariant">Unveränderlichen Abschnitte</link> haben, schreiben Sie <quote>mit keinen Unveränderlichen Abschnitten</quote>, anstatt anzugeben, welche unveränderlich sind. Wenn Sie keine <link linkend="fdl-cover-texts">Vorderseitentexte</link> haben, schreiben Sie <quote>keine Vorderseitentexte</quote> anstatt <quote>Vorderseitentexte die AUFGEZÄHLT sind</quote>; genauso bei den <link linkend="fdl-cover-texts">Rückseitentexten</link>.</para>
+
+ <para>Wenn Ihr Dokument nicht-triviale Beispiele von Programmcode enthält, empfehlen wir, diese Beispiele parallel unter einer freien Software-Lizenz, wie der <ulink type="http" url="http://www.gnu.org/copyleft/gpl.html">GNU General Public License</ulink>, zu veröffentlichen, um ihren Gebrauch in freier Software zu erlauben.</para>
+ </sect1>
+</appendix>
+
+
+
+
+
+
+
+
+</book>
--- /dev/null
+# translation of gtk-doc-help.master.po to Greek
+# Simos Xenitellis <simos@gnome.org>, 2009.
+# Jennie Petoumenou <epetoumenou@gmail.com>, 2009.
+# Marios Zindilis <m.zindilis@dmajor.org>, 2010.
+# Tsivikis Vasilis <undersec.tr3los@gmail.com>, 2010.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: gtk-doc-help.master\n"
+"POT-Creation-Date: 2010-10-02 18:33+0000\n"
+"PO-Revision-Date: 2010-10-05 09:33+0200\n"
+"Last-Translator: Bakaoukas Nikolaos <nikolaos.x1@gmail.com>\n"
+"Language-Team: Greek <team@gnome.gr>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Lokalize 1.0\n"
+"Plural-Forms: nplurals=2; plural=(n != 1)\n"
+
+#: C/gtk-doc-manual.xml:12(title)
+msgid "GTK-Doc Manual"
+msgstr "Εγχειρίδιο GTK-Doc"
+
+#: C/gtk-doc-manual.xml:13(edition)
+#: C/gtk-doc-manual.xml:86(revnumber)
+msgid "1.15"
+msgstr "1.15"
+
+#: C/gtk-doc-manual.xml:14(para)
+msgid "User manual for developers with instructions of GTK-Doc usage."
+msgstr "Εγχειρίδιο χρήσης του GTK-Doc για προγραμματιστές."
+
+#: C/gtk-doc-manual.xml:17(firstname)
+msgid "Chris"
+msgstr "Chris"
+
+#: C/gtk-doc-manual.xml:18(surname)
+msgid "Lyttle"
+msgstr "Lyttle"
+
+#: C/gtk-doc-manual.xml:21(email)
+msgid "chris@wilddev.net"
+msgstr "chris@wilddev.net"
+
+#: C/gtk-doc-manual.xml:26(firstname)
+msgid "Dan"
+msgstr "Dan"
+
+#: C/gtk-doc-manual.xml:27(surname)
+msgid "Mueth"
+msgstr "Mueth"
+
+#: C/gtk-doc-manual.xml:30(email)
+msgid "d-mueth@uchicago.edu"
+msgstr "d-mueth@uchicago.edu"
+
+#: C/gtk-doc-manual.xml:35(firstname)
+msgid "Stefan"
+msgstr "Stefan"
+
+#: C/gtk-doc-manual.xml:36(surname)
+msgid "Kost"
+msgstr "Kost"
+
+#: C/gtk-doc-manual.xml:39(email)
+msgid "ensonic@users.sf.net"
+msgstr "ensonic@users.sf.net"
+
+#: C/gtk-doc-manual.xml:45(publishername)
+msgid "GTK-Doc project"
+msgstr "Έργο GTK-Doc"
+
+#: C/gtk-doc-manual.xml:46(email)
+msgid "gtk-doc-list@gnome.org"
+msgstr "gtk-doc-list@gnome.org"
+
+#: C/gtk-doc-manual.xml:49(year)
+msgid "2000, 2005, 2007-2009"
+msgstr "2000, 2005, 2007-2009"
+
+#: C/gtk-doc-manual.xml:50(holder)
+msgid "Dan Mueth and Chris Lyttle and Stefan Kost"
+msgstr "Dan Mueth, Chris Lyttle και Stefan Kost"
+
+#: C/gtk-doc-manual.xml:61(para)
+msgid "Permission is granted to copy, distribute and/or modify this document under the terms of the <citetitle>GNU Free Documentation License</citetitle>, Version 1.1 or any later version published by the Free Software Foundation with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is <link linkend=\"fdl\">included</link>."
+msgstr "Χορηγείται άδεια αντιγραφής, διανομής και/ή τροποποίησης του παρόντος εγγράφου υπό τους όρους της έκδοσης 1.1 της <citetitle>Ελεύθερης Άδειας Τεκμηρίωσης GNU (GFDL)</citetitle>, ή οποιασδήποτε μεταγενέστερης έκδοσής αυτής από το Ίδρυμα Ελεύθερου Λογισμικού (FSF), χωρίς αμετάβλητα τμήματα, κείμενα εξωφύλλου και κείμενα οπισθοφύλλου. Συμπεριλαμβάνεται <link linkend=\"fdl\">αντίγραφο της άδειας</link>."
+
+#: C/gtk-doc-manual.xml:69(para)
+msgid "Many of the names used by companies to distinguish their products and services are claimed as trademarks. Where those names appear in any GNOME documentation, and those trademarks are made aware to the members of the GNOME Documentation Project, the names have been printed in caps or initial caps."
+msgstr "Πολλές από τις ονομασίες που χρησιμοποιούνται από εταιρείες για την διαφοροποίηση των προϊόντων και υπηρεσιών τους έχουν καταχωρισθεί ως εμπορικά σήματα. Σε όποιο σημείο της τεκμηρίωσης GNOME τυχόν εμφανίζονται αυτές οι ονομασίες, και εφόσον τα μέλη του Έργου τεκμηρίωσης GNOME έχουν λάβει γνώση αυτών των εμπορικών σημάτων, οι ονομασίες ή τα αρχικά αυτών θα γράφονται με κεφαλαίους χαρακτήρες."
+
+#: C/gtk-doc-manual.xml:80(revnumber)
+msgid "1.15.1"
+msgstr "1.15.1"
+
+#: C/gtk-doc-manual.xml:81(date)
+msgid "24 May 2010"
+msgstr "24 Μαΐου 2010"
+
+#: C/gtk-doc-manual.xml:82(authorinitials)
+#: C/gtk-doc-manual.xml:88(authorinitials)
+#: C/gtk-doc-manual.xml:94(authorinitials)
+#: C/gtk-doc-manual.xml:100(authorinitials)
+#: C/gtk-doc-manual.xml:106(authorinitials)
+msgid "sk"
+msgstr "sk"
+
+#: C/gtk-doc-manual.xml:83(revremark)
+msgid "development version"
+msgstr "έκδοση ανάπτυξης"
+
+#: C/gtk-doc-manual.xml:87(date)
+msgid "21 May 2010"
+msgstr "21 Μαΐου 2010"
+
+#: C/gtk-doc-manual.xml:89(revremark)
+msgid "bug and regression fixes"
+msgstr "διορθώσεις σφαλμάτων και οπισθοδρόμησης"
+
+#: C/gtk-doc-manual.xml:92(revnumber)
+msgid "1.14"
+msgstr "1.14"
+
+#: C/gtk-doc-manual.xml:93(date)
+msgid "28 March 2010"
+msgstr "28 Μαρτίου 2010"
+
+#: C/gtk-doc-manual.xml:95(revremark)
+msgid "bugfixes and performance improvements"
+msgstr "διορθώσεις λαθών και βελτιώσεις απόδοσης"
+
+#: C/gtk-doc-manual.xml:98(revnumber)
+msgid "1.13"
+msgstr "1.13"
+
+#: C/gtk-doc-manual.xml:99(date)
+#: C/gtk-doc-manual.xml:105(date)
+msgid "18 December 2009"
+msgstr "18 Δεκεμβρίου 2009"
+
+#: C/gtk-doc-manual.xml:101(revremark)
+msgid "broken tarball update"
+msgstr "ενημέρωση σπασμένου tarball"
+
+#: C/gtk-doc-manual.xml:104(revnumber)
+msgid "1.12"
+msgstr "1.12"
+
+#: C/gtk-doc-manual.xml:107(revremark)
+msgid "new tool features and bugfixes"
+msgstr "νέα χαρακτηριστικά του εργαλείο και διορθώσεις σφαλμάτων"
+
+#: C/gtk-doc-manual.xml:110(revnumber)
+msgid "1.11"
+msgstr "1.11"
+
+#: C/gtk-doc-manual.xml:111(date)
+msgid "16 Novemebr 2008"
+msgstr "16 Νοεμβρίου 2008"
+
+#: C/gtk-doc-manual.xml:112(authorinitials)
+msgid "mal"
+msgstr "mal"
+
+#: C/gtk-doc-manual.xml:113(revremark)
+msgid "GNOME doc-utils migration"
+msgstr "Μετάβαση από GNOME doc-utils"
+
+#: C/gtk-doc-manual.xml:122(title)
+msgid "Introduction"
+msgstr "Εισαγωγή"
+
+#: C/gtk-doc-manual.xml:124(para)
+msgid "This chapter introduces GTK-Doc and gives an overview of what it is and how it is used."
+msgstr "Αυτό το κεφάλαιο αποτελεί μια εισαγωγή στο GTK-Doc. Περιγράφει το GTK-Doc και τον τρόπο χρήσης του."
+
+#: C/gtk-doc-manual.xml:130(title)
+msgid "What is GTK-Doc?"
+msgstr "Τι είναι το GTK-Doc;"
+
+#: C/gtk-doc-manual.xml:132(para)
+msgid "GTK-Doc is used to document C code. It is typically used to document the public API of libraries, such as the GTK+ and GNOME libraries. But it can also be used to document application code."
+msgstr "Το GTK-Doc χρησιμοποιείται για την τεκμηρίωση κώδικα C. Συνήθως, χρησιμοποιείται για την τεκμηρίωση του δημόσιου API βιβλιοθηκών όπως η GTK+ και η GNOME. Μπορεί όμως να χρησιμοποιηθεί και για την τεκμηρίωση κώδικα εφαρμογών."
+
+#: C/gtk-doc-manual.xml:140(title)
+msgid "How Does GTK-Doc Work?"
+msgstr "Πώς λειτουργεί το GTK-Doc;"
+
+#: C/gtk-doc-manual.xml:142(para)
+msgid "GTK-Doc works by using documentation of functions placed inside the source files in specially-formatted comment blocks, or documentation added to the template files which GTK-Doc uses (though note that GTK-Doc will only document functions that are declared in header files; it won't produce output for static functions)."
+msgstr "Το GTK-Doc χρησιμοποιεί την τεκμηρίωση συναρτήσεων που έχει συμπεριληφθεί στα πηγαία αρχεία (εντός μπλοκ σχολίων με ειδική μορφή), ή την τεκμηρίωση που έχει προστεθεί στα πρότυπα αρχεία που χρησιμοποιεί το GTK-Doc (σημειώστε όμως ότι το GTK-Doc παράγει τεκμηρίωση μόνο για τις συναρτήσεις που δηλώνονται σε αρχεία κεφαλίδας· δεν παράγει τεκμηρίωση για στατικές συναρτήσεις)."
+
+#: C/gtk-doc-manual.xml:149(para)
+msgid "GTK-Doc consists of a number of perl scripts, each performing a different step in the process."
+msgstr "Το GTK-Doc αποτελείται από μια σειρά από σενάρια perl , καθένα από τα οποία είναι υπεύθυνο για διαφορετικό στάδιο της όλης διαδικασίας."
+
+#: C/gtk-doc-manual.xml:154(para)
+msgid "There are 5 main steps in the process:"
+msgstr "Η διαδικασία περιλαμβάνει 5 κύρια στάδια:"
+
+#: C/gtk-doc-manual.xml:161(para)
+msgid "<guilabel>Writing the documentation.</guilabel> The author fills in the source files with the documentation for each function, macro, union etc. (In the past information was entered in generated template files, which is not recommended anymore)."
+msgstr "<guilabel>Συγγραφή τεκμηρίωσης</guilabel> Ο συγγραφέας συμπληρώνει τα πηγαία αρχεία με τεκμηρίωση για όλες τις συναρτήσεις, μακροεντολές, ενώσεις κτλ. (Στο παρελθόν, οι πληροφορίες συμπληρώνονταν σε πρότυπα αρχεία που παράγονταν αυτόματα, αλλά αυτός ο τρόπος δεν συνιστάται πλέον.)"
+
+#: C/gtk-doc-manual.xml:171(para)
+msgid "<guilabel>Gathering information about the code.</guilabel><application>gtkdoc-scan</application> scans the header files of the code looking for declarations of functions, macros, enums, structs, and unions. It creates the file <filename><module>-decl-list.txt</filename> containg a list of the declarations, placing them into sections according to which header file they are in. On the first run this file is copied to <filename><module>-sections.txt</filename>. The author can rearrange the sections, and the order of the declarations within them, to produce the final desired order. The second file it generates is <filename><module>-decl.txt</filename>. This file contains the full declarations found by the scanner. If for some reason one would like some symbols to show up in the docs, where the full declaration cannot be found by the scanner or the declaration should appear differently, one can place enties similar to the ones in <filename><module>-decl.txt</filename> into <filename><module>-overrides.txt</filename>. <application>gtkdoc-scanobj</application> can also be used to dynamically query a library about any GtkObject subclasses it exports. It saves information about each object's position in the class hierarchy and about any GTK Args and Signals it provides."
+msgstr "<guilabel>Συλλογή πληροφοριών για τον κώδικα</guilabel> Το <application>gtkdoc-scan</application> σαρώνει τα αρχεία κεφαλίδας του κώδικα, αναζητώντας δηλώσεις συναρτήσεων, μακροεντολών, αριθμήσεων, δομών και ενώσεων. Στη συνέχεια, δημιουργεί το αρχείο <filename><module>-decl-list.txt</filename> που περιέχει λίστα με όλες τις δηλώσεις, ταξινομημένες ανά ενότητες, ανάλογα με το αρχείο κεφαλίδας από το οποίο προήλθαν. Κατά την πρώτη εκτέλεση, αυτό το αρχείο αντιγράφεται στο <filename><module>-sections.txt</filename>. Ο συγγραφέας μπορεί να αλλάξει τη σειρά των ενοτήτων, καθώς και τη σειρά των δηλώσεων σε κάθε ενότητα, προκειμένου η τελική σειρά να ανταποκρίνεται στις επιθυμίες του. Το δεύτερο αρχείο που παράγεται είναι το <filename><module>-decl.txt</filename>. Αυτό το αρχείο περιέχει όλες τις δηλώσεις που βρέθηκαν κατά τη σάρωση. Αν θέλετε να εμφανιστούν στην τεκμηρίωση δηλώσεις οι οποίες δε βρέθηκαν κατά τη σάρωση, ή αν θέλετε να αλλάξει η εμφάνιση κάποιων δηλώσεων, μπορείτε να δημιουργήσετε εγγραφές παρόμοιες με αυτές του αρχείου <filename><module>-decl.txt</filename> και να τις προσθέσετε στο αρχείο <filename><module>-overrides.txt</filename>. Το <application>gtkdoc-scanobj</application> μπορεί επίσης να χρησιμοποιηθεί για να κάνει δυναμική αναζήτηση σε μια βιβλιοθήκη για ενδεχόμενες υποκλάσεις GtkObject. Αποθηκεύει τις πληροφορίες για τη θέση κάθε αντικειμένου στην ιεραρχία κλάσεων, καθώς και για τα ορίσματα και σήματα GTK που περιέχει."
+
+#: C/gtk-doc-manual.xml:196(para)
+msgid "<guilabel>Generating the \"template\" files.</guilabel><application>gtkdoc-mktmpl</application> creates a number of files in the <filename class=\"directory\">tmpl/</filename> subdirectory, using the information gathered in the first step. (Note that this can be run repeatedly. It will try to ensure that no documentation is ever lost.)"
+msgstr "<guilabel>Δημιουργία \"πρότυπων\" αρχείων</guilabel> Το <application>gtkdoc-mktmpl</application> παράγει μια σειρά από αρχεία στον υποκατάλογο <filename class=\"directory\">tmpl/</filename>, χρησιμοποιώντας τις πληροφορίες που συλλέχθηκαν κατά το πρώτο στάδιο. (Σημειώστε ότι μπορεί να εκτελεστεί περισσότερες από μία φορές. Προσπαθεί να διασφαλίσει ότι δεν χάνεται ποτέ και κανενός είδους τεκμηρίωση.)"
+
+#: C/gtk-doc-manual.xml:205(para)
+msgid "Since GTK-Doc 1.9 the templates can be avoided. We encourage people to keep documentation in the code. <application>gtkdocize</application> supports now a <option>--flavour no-tmpl</option> option that chooses a makefile that skips tmpl usage totally. If you have never changed file in tmpl by hand, please remove the dir (e.g. from version control system)."
+msgstr "Από την έκδοση 1.9 και μετά, τα πρότυπα αρχεία δεν είναι πλέον απαραίτητα. Σας συνιστούμε να διατηρείτε την τεκμηρίωση στον κώδικα. Το <application>gtkdocize</application> υποστηρίζει πλέον την επιλογή <option>--flavour no-tmpl</option> η οποία επιλέγει ένα αρχείο makefile που δεν χρησιμοποιεί καθόλου πρότυπα tmpl. Αν δεν έχετε κάνει ποτέ αλλαγές με το χέρι σε αρχεία προτύπων tmpl, παρακαλώ αφαιρέστε τον κατάλογο (π.χ. από ένα σύστημα ελέγχου εκδόσεων)."
+
+#: C/gtk-doc-manual.xml:217(para)
+msgid "<guilabel>Generating the SGML/XML and HTML/PDF.</guilabel><application>gtkdoc-mkdb</application> turns the template files into SGML or XML files in the <filename class=\"directory\">sgml/</filename> or <filename class=\"directory\">xml/</filename> subdirectory. If the source code contains documentation on functions, using the special comment blocks, it gets merged in here. If there are no tmpl files used it only reads docs from sources and introspection data. We recommend to use Docbook XML."
+msgstr "<guilabel>Παραγωγή SGML/XML και HTML/PDF</guilabel>. Το <application>gtkdoc-mkdb</application> μετατρέπει τα αρχεία προτύπων tmpl σε αρχεία SGML ή XML και τα τοποθετεί στους υποκαταλόγους<filename class=\"directory\">sgml/</filename> ή <filename class=\"directory\">xml/</filename>. Αν ο πηγαίος κώδικας περιέχει τεκμηρίωση συναρτήσεων εντός ειδικών μπλοκ σχολίων, τα σχόλια συγχωνεύονται σε αυτό το στάδιο. Αν δεν υπάρχουν αρχεία προτύπων tmpl, τότε χρησιμοποιούνται μόνο τα έγγραφα που προέκυψαν από τον πηγαίο κώδικα και τα δεδομένα της ενδοσκόπησης. Σας συνιστούμε να χρησιμοποιήσετε το βιβλίο τεκμηρίωσης XML."
+
+#: C/gtk-doc-manual.xml:228(para)
+msgid "<application>gtkdoc-mkhtml</application> turns the SGML/XML files into HTML files in the <filename class=\"directory\">html/</filename> subdirectory. Likewise <application>gtkdoc-mkpdf</application> turns the SGML/XML files into a PDF document called <filename><package>.pdf</filename>."
+msgstr " Το <application>gtkdoc-mkhtml</application> μετατρέπει τα αρχεία SGML/XML σε αρχεία HTML που τοποθετούνται στον υποκατάλογο <filename class=\"directory\">html/</filename>. Ομοίως το <application>gtkdoc-mkpdf</application> μετατρέπει τα αρχεία SGML/XML σε ένα αρχείο PDF που ονομάζεται <filename><package>.pdf</filename>."
+
+#: C/gtk-doc-manual.xml:234(para)
+msgid "Files in <filename class=\"directory\">sgml/</filename> or <filename class=\"directory\">xml/</filename> and <filename class=\"directory\">html/</filename> directories are always overwritten. One should never edit them directly."
+msgstr "Τα αρχεία στους καταλόγους <filename class=\"directory\">sgml/</filename>, <filename class=\"directory\">xml/</filename> και <filename class=\"directory\">html/</filename> αντικαθίστανται αυτόματα. Επομένως, δεν πρέπει να τα αλλάζετε με το χέρι."
+
+#: C/gtk-doc-manual.xml:242(para)
+msgid "<guilabel>Fixing up cross-references between documents.</guilabel> After installing the HTML files, <application>gtkdoc-fixxref</application> can be run to fix up any cross-references between separate documents. For example, the GTK+ documentation contains many cross-references to types documented in the GLib manual. When creating the source tarball for distribution, <application>gtkdoc-rebase</application> turns all external links into web-links. When installing distributed (pregenerated) docs the same application will try to turn links back to local links (where those docs are installed)."
+msgstr "<guilabel>Διόρθωση παραπομπών μεταξύ εγγράφων</guilabel> Μετά την εγκατάσταση των αρχείων HTML, μπορείτε να εκτελέσετε το <application>gtkdoc-fixxref</application> για να διορθώσετε τυχόν παραπομπές σε διαφορετικά έγγραφα. Για παράδειγμα, η τεκμηρίωση του GTK+ περιέχει πολλές παραπομπές σε τύπους που επεξηγούνται στο εγχειρίδιο του GLib. Όταν ετοιμάζετε πακέτα κώδικα για διανομή, μπορείτε να χρησιμοποιείτε το <application>gtkdoc-rebase</application> για να μετατρέπετε όλους τους εξωτερικούς συνδέσμους σε διαδικτυακούς συνδέσμους. Κατά την εγκατάσταση της τεκμηρίωσης που περιλαμβάνεται στο διανεμηθέντα κώδικα (παράγεται αυτόματα), η ίδια εφαρμογή θα προσπαθήσει να μετατρέψει ξανά τους συνδέσμους σε τοπικούς συνδέσμους (προς τις τοποθεσίες όπου είναι εγκατεστημένη η τεκμηρίωση)."
+
+#: C/gtk-doc-manual.xml:260(title)
+msgid "Getting GTK-Doc"
+msgstr "Λήψη GTK-Doc"
+
+#: C/gtk-doc-manual.xml:263(title)
+msgid "Requirements"
+msgstr "Απαιτήσεις"
+
+#: C/gtk-doc-manual.xml:264(para)
+msgid "<guilabel>Perl v5</guilabel> - the main scripts are in Perl."
+msgstr "<guilabel>Perl v5</guilabel> - τα βασικά σενάρια είναι γραμμένα σε Perl."
+
+#: C/gtk-doc-manual.xml:267(para)
+msgid "<guilabel>DocBook DTD v3.0</guilabel> - This is the DocBook SGML DTD. <ulink url=\"http://www.ora.com/davenport\" type=\"http\">http://www.ora.com/davenport</ulink>"
+msgstr "<guilabel>DocBook DTD v3.0</guilabel> - Πρόκειται για την DocBook SGML DTD. <ulink url=\"http://www.ora.com/davenport\" type=\"http\">http://www.ora.com/davenport</ulink>"
+
+#: C/gtk-doc-manual.xml:271(para)
+msgid "<guilabel>Jade v1.1</guilabel> - This is a DSSSL processor for converting SGML to various formats. <ulink url=\"http://www.jclark.com/jade\" type=\"http\">http://www.jclark.com/jade</ulink>"
+msgstr "<guilabel>Jade v1.1</guilabel> - Πρόκειται για επεξεργαστή DSSSL που μετατρέπει τη SGML σε διάφορες άλλες μορφές. <ulink url=\"http://www.jclark.com/jade\" type=\"http\">http://www.jclark.com/jade</ulink>"
+
+#: C/gtk-doc-manual.xml:275(para)
+msgid "<guilabel>Modular DocBook Stylesheets</guilabel> This is the DSSSL code to convert DocBook to HTML (and a few other formats). It's used together with jade. I've customized the DSSSL code slightly, in gtk-doc.dsl, to colour the program code listings/declarations, and to support global cross-reference indices in the generated HTML. <ulink url=\"http://nwalsh.com/docbook/dsssl\" type=\"http\">http://nwalsh.com/docbook/dsssl</ulink>"
+msgstr "<guilabel>Modular DocBook Stylesheets</guilabel> Πρόκειται για τον κώδικα DSSSL που απαιτείται για τη μετατροπή από DocBook σε HTML (και ορισμένες άλλες μορφές). Χρησιμοποιείται σε συνδυασμό με το jade. Έχουν γίνει κάποιες μικρές προσαρμογές του κώδικα DSSSL, στο gtk-doc.dsl, για το χρωματισμό κώδικα/δηλώσεων και για την υποστήριξη των καθολικών ευρετηρίων παραπομπών στα παραγόμενα HTML. <ulink url=\"http://nwalsh.com/docbook/dsssl\" type=\"http\">http://nwalsh.com/docbook/dsssl</ulink>"
+
+#: C/gtk-doc-manual.xml:284(para)
+msgid "<guilabel>docbook-to-man</guilabel> - if you want to create man pages from the DocBook. I've customized the 'translation spec' slightly, to capitalise section headings and add the 'GTK Library' title at the top of the pages and the revision date at the bottom. There is a link to this on <ulink url=\"http://www.ora.com/davenport\" type=\"http\">http://www.ora.com/davenport</ulink> NOTE: This does not work yet."
+msgstr "<guilabel>docbook-to-man</guilabel> - Σε περίπτωση που θέλετε να δημιουργήσετε σελίδες man από το DocBook. Έχουν γίνει κάποιες μικρές προσαρμογές των 'προδιαγραφών μετάφρασης', για να εμφανίζονται με κεφαλαία οι τίτλοι ενοτήτων και να προστίθενται ο τίτλος 'Βιβλιοθήκη GTK' στην αρχή της σελίδας και η ημερομηνία αναθεώρησης στο τέλος της. Βλέπε <ulink url=\"http://www.ora.com/davenport\" type=\"http\">http://www.ora.com/davenport</ulink> ΣΗΜΕΙΩΣΗ: Αυτή η δυνατότητα δε λειτουργεί προς το παρόν."
+
+#: C/gtk-doc-manual.xml:295(title)
+msgid "Installation"
+msgstr "Εγκατάσταση"
+
+#: C/gtk-doc-manual.xml:296(para)
+msgid "There is no standard place where the DocBook Modular Stylesheets are installed."
+msgstr "Δεν υπάρχει σταθερή τοποθεσία για την εγκατάσταση των DocBook Modular Stylesheets."
+
+#: C/gtk-doc-manual.xml:299(para)
+msgid "GTK-Doc's configure script searches these 3 directories automatically:"
+msgstr "Το σενάριο εντολών configure του GTK-Doc ψάχνει αυτόματα τους τρεις παρακάτω καταλόγους:"
+
+#: C/gtk-doc-manual.xml:302(para)
+msgid "<filename> /usr/lib/sgml/stylesheets/nwalsh-modular </filename> (used by RedHat)"
+msgstr "<filename> /usr/lib/sgml/stylesheets/nwalsh-modular </filename> (χρησιμοποιείται από το RedHat)"
+
+#: C/gtk-doc-manual.xml:305(para)
+msgid "<filename> /usr/lib/dsssl/stylesheets/docbook </filename> (used by Debian)"
+msgstr "<filename> /usr/lib/dsssl/stylesheets/docbook </filename> (χρησιμοποιείται από το Debian)"
+
+#: C/gtk-doc-manual.xml:308(para)
+msgid "<filename> /usr/share/sgml/docbkdsl </filename> (used by SuSE)"
+msgstr "<filename> /usr/share/sgml/docbkdsl </filename> (χρησιμοποιείται από το SuSE)"
+
+#: C/gtk-doc-manual.xml:311(para)
+msgid "If you have the stylesheets installed somewhere else, you need to configure GTK-Doc using the option: <command> --with-dsssl-dir=<PATH_TO_TOPLEVEL_STYLESHEETS_DIR> </command>"
+msgstr "Αν τα φύλλα στυλ είναι εγκατεστημένα κάπου αλλού, θα πρέπει να ρυθμίσετε GTK-Doc με την επιλογή: <command> --with-dsssl-dir=< ΔΙΑΔΡΟΜΗ_ΠΡΟΣ_ΡΙΖΙΚΟ_ΚΑΤΑΛΟΓΟ_ΦΥΛΛΩΝ_ΣΤΥΛ> </command>"
+
+#: C/gtk-doc-manual.xml:335(title)
+msgid "About GTK-Doc"
+msgstr "Περί GTK-Doc"
+
+#: C/gtk-doc-manual.xml:337(para)
+#: C/gtk-doc-manual.xml:351(para)
+msgid "(FIXME)"
+msgstr "(ΠΡΟΣ ΔΙΟΡΘΩΣΗ)"
+
+#: C/gtk-doc-manual.xml:341(para)
+msgid "(History, authors, web pages, license, future plans, comparison with other similar systems.)"
+msgstr "(Ιστορικό, συγγραφείς, ιστοσελίδες, άδεια, μελλοντικά σχέδια, σύγκριση με άλλα παρόμοια συστήματα.)"
+
+#: C/gtk-doc-manual.xml:349(title)
+msgid "About this Manual"
+msgstr "Περί του εγχειριδίου"
+
+#: C/gtk-doc-manual.xml:355(para)
+msgid "(who it is meant for, where you can get it, license)"
+msgstr "(σε ποιους απευθύνεται, πού θα το βρείτε, άδεια)"
+
+#: C/gtk-doc-manual.xml:364(title)
+msgid "Setting up your project"
+msgstr "Ξεκινώντας ένα έργο"
+
+#: C/gtk-doc-manual.xml:366(para)
+msgid "The next sections describe what steps to perform to integrate GTK-Doc into your project. Theses sections assume we work on a project called 'meep'. This project contains a library called 'libmeep' and an end-user app called 'meeper'."
+msgstr "Οι επόμενες ενότητες περιγράφουν τα βήματα που απαιτούνται για να ενσωματώσετε το GTK-Doc στο έργο σας. Υποθέστε ότι εργάζεστε στο έργο 'meep'. Το έργο περιέχει τη βιβλιοθήκη 'libmeep' και την εφαρμογή 'meeper' για τον τελικό χρήστη."
+
+#: C/gtk-doc-manual.xml:374(title)
+msgid "Setting up a skeleton documentation"
+msgstr "Δημιουργία ενός σκελετού τεκμηρίωσης"
+
+#: C/gtk-doc-manual.xml:376(para)
+msgid "Under your top-level project directory create folders called docs/reference (this way you can also have docs/help for end-user documentation). It is recommended to create another subdirectory with the name of the doc-package. For packages with just one library this step is not necessary."
+msgstr "Εντός του ριζικού καταλόγου του έργου δημιουργήστε το φάκελο docs/reference (ώστε να μπορείτε να χρησιμοποιήσετε το όνομα docs/help για την τεκμηρίωση του τελικού χρήστη). Συνιστάται να δημιουργήσετε έναν ακόμη υποκατάλογο με το όνομα του πακέτου τεκμηρίωσης. Αυτό δε χρειάζεται για πακέτα που περιλαμβάνουν μόνο μία βιβλιοθήκη."
+
+#: C/gtk-doc-manual.xml:385(title)
+msgid "Example directory structure"
+msgstr "Παράδειγμα δομής καταλόγου"
+
+#: C/gtk-doc-manual.xml:383(para)
+msgid "This can then look as shown below: <placeholder-1/>"
+msgstr "This can then look as shown below: <placeholder-1/>"
+
+#: C/gtk-doc-manual.xml:403(title)
+#: C/gtk-doc-manual.xml:410(title)
+msgid "Integration with autoconf"
+msgstr "Ενσωμάτωση στο autoconf"
+
+#: C/gtk-doc-manual.xml:405(para)
+msgid "Very easy! Just add one line to your <filename>configure.ac</filename> script."
+msgstr "Πολύ απλά! Απλά προσθέτετε μία γραμμή στο σενάριο <filename>configure.ac</filename>."
+
+#: C/gtk-doc-manual.xml:425(title)
+msgid "Keep gtk-doc optional"
+msgstr "Προαιρετικά κρατήστε το gtk-doc"
+
+#: C/gtk-doc-manual.xml:420(para)
+msgid "This will require all developers to have gtk-doc installed. If it is okay for your project to have optional api-doc build setup, you can solve this as below. Keep it as is, as gtkdocize is looking for <function>GTK_DOC_CHECK</function> at the start of a line. <placeholder-1/>"
+msgstr "Αυτό θα επαιτεί όλοι οι προγραμματιστές να έχουν εγκατεστημένο το gtk-doc. Αν είναι εντάξει για το έργο σας να έχετε επιπλέον κατασκευή ρυθμίσεων για το api-doc, μπορείτε να το επιλύσετε όπως αναφέρετε παρακάτω. Αφήστε το όπως έχει, όσο το gtkdocize ψάχνει στην αρχή της σειράς για το <function>GTK_DOC_CHECK</function>. <placeholder-1/>"
+
+#: C/gtk-doc-manual.xml:437(para)
+msgid "The first argument is used to check for the gtkdocversion at configure time. The 2nd, optional argument is used by <application>gtkdocize</application>. The <symbol>GTK_DOC_CHECK</symbol> macro also adds several configure switches:"
+msgstr "Το πρώτο όρισμα χρησιμοποιείται για έλεγχο του gtkdocversion κατά τη ρύθμιση. Το δεύτερο, προαιρετικό όρισμα χρησιμοποιείται από το <application>gtkdocize</application>. Η μακροεντολή <symbol>GTK_DOC_CHECK</symbol> επίσης προσθέτει αρκετούς διακόπτες ρύθμισης:"
+
+#: C/gtk-doc-manual.xml:443(para)
+msgid "--with-html-dir=PATH : path to installed docs"
+msgstr "--with-html-dir=ΔΙΑΔΡΟΜΗ : διαδρομή προς την εγκατεστημένη τεκμηρίωση"
+
+#: C/gtk-doc-manual.xml:444(para)
+msgid "--enable-gtk-doc : use gtk-doc to build documentation [default=no]"
+msgstr "--enable-gtk-doc : χρήση gtk-doc για την παραγωγή τεκμηρίωσης [default=no]"
+
+#: C/gtk-doc-manual.xml:445(para)
+msgid "--enable-gtk-doc-html : build documentation in html format [default=yes]"
+msgstr "--enable-gtk-doc-html : παραγωγή τεκμηρίωσης σε μορφή html [default=yes]"
+
+#: C/gtk-doc-manual.xml:446(para)
+msgid "--enable-gtk-doc-pdf : build documentation in pdf format [default=no]"
+msgstr "--enable-gtk-doc-pdf : παραγωγή τεκμηρίωσης σε μορφή pdf [default=no]"
+
+#: C/gtk-doc-manual.xml:450(para)
+msgid "GTK-Doc is disabled by default! Remember to pass the option <option>'--enable-gtk-doc'</option> to the next <filename>configure</filename> run. Otherwise pregenerated documentation is installed (which makes sense for users but not for developers)."
+msgstr "Η προεπιλογή είναι να είναι απενεργοποιημένο το GTK-Doc! Θυμηθείτε να χρησιμοποιήσετε την επιλογή <option>'--enable-gtk-doc'</option> στην επόμενη εκτέλεση του <filename>configure</filename>. Διαφορετικά εγκαθίσταται η προπαραχθείσα τεκμηρίωση (δυνατότητα χρήσιμη για το χρήστη, αλλά όχι για τον προγραμματιστή)."
+
+#: C/gtk-doc-manual.xml:458(para)
+msgid "Furthermore it is recommended that you have the following line inside you <filename>configure.ac</filename> script. This allows <application>gtkdocize</application> to automatically copy the macro definition for <function>GTK_DOC_CHECK</function> to your project."
+msgstr "Επίσης, συνιστάται να προσθέσετε την ακόλουθη γραμμή στο σενάριο <filename>configure.ac</filename>. Επιτρέπει στο <filename>gtkdocize</filename> να αντιγράφει αυτόματα τον ορισμό της μακροεντολής <function>GTK_DOC_CHECK</function> στο έργο σας."
+
+#: C/gtk-doc-manual.xml:466(title)
+msgid "Preparation for gtkdocize"
+msgstr "Προετοιμασία για το gtkdocize"
+
+#: C/gtk-doc-manual.xml:477(title)
+msgid "Integration with automake"
+msgstr "Ενσωμάτωση στο automake"
+
+#: C/gtk-doc-manual.xml:479(para)
+msgid "First copy the <filename>Makefile.am</filename> from the examples subdirectory of the gtkdoc-sources to your project's API documentation directory ( <filename class=\"directory\">./docs/reference/<package></filename>). If you have multiple doc-packages repeat this for each one."
+msgstr "Πρώτα αντιγράψτε το <filename>Makefile.am</filename> από τον υποκατάλογο με τα παραδείγματα των gtkdoc-sources στον κατάλογο της τεκμηρίωσης API του έργου σας ( <filename class=\"directory\">./docs/reference/<package></filename>). Αν έχετε περισσότερα από ένα πακέτα τεκμηρίωσης, επαναλάβετε τη διαδικασία για καθένα από αυτά."
+
+#: C/gtk-doc-manual.xml:486(para)
+msgid "The next step is to edit the settings inside the <filename>Makefile.am</filename>. All the settings have a comment above that describes their purpose. Most settings are extra flags passed to the respective tools. Every tool has a variable of the form <option><TOOLNAME>_OPTIONS</option>. All the tools support <option>--help</option> to list the supported parameters."
+msgstr "Το επόμενο βήμα είναι να τροποποιήσετε τις ρυθμίσεις στο <filename>Makefile.am</filename>. Πριν από κάθε ρύθμιση υπάρχει ένα σχόλιο που εξηγεί τη χρησιμότητά της. Οι περισσότερες είναι σημαίες που στέλνονται στα αντίστοιχα εργαλεία. Κάθε εργαλείο διαθέτει μια μεταβλητή της μορφής <option><ΟΝΟΜΑ_ΕΡΓΑΛΕΙΟΥ>_ΕΠΙΛΟΓΕΣ</option>. όλα τα εργαλεία υποστηρίζουν την επιλογή <option>--help</option> για την παραγωγή λίστας με τις υποστηριζόμενες παραμέτρους."
+
+#. FIXME: explain options ?
+#: C/gtk-doc-manual.xml:497(para)
+msgid "You may also want to enable GTK-Doc for the distcheck make target. Just add the one line shown in the next example to your top-level <filename>Makefile.am</filename>:"
+msgstr "Μπορείτε, επίσης, να ενεργοποιήσετε το GTK-Doc για το distcheckmake target. Απλά προσθέστε τη γραμμή του επόμενου παραδείγματος στο ριζικό <filename>Makefile.am</filename>:"
+
+#: C/gtk-doc-manual.xml:504(title)
+msgid "Enable GTK-Doc during make distcheck"
+msgstr "Ενεργοποίηση του GTK-Doc κατά το make distcheck"
+
+#: C/gtk-doc-manual.xml:516(title)
+msgid "Integration with autogen"
+msgstr "Ενσωμάτωση στο autogen"
+
+#: C/gtk-doc-manual.xml:518(para)
+msgid "Most projects will have an <filename>autogen.sh</filename> script to setup the build infrastructure after a checkout from version control system (such as cvs/svn/git). GTK-Doc comes with a tool called <application>gtkdocize</application> which can be used in such a script. It should be run before autoheader, automake or autoconf."
+msgstr "Τα περισσότερα έργα διαθέτουν ένα σενάριο <filename>autogen.sh</filename> για τη δημιουργία υποδομών μετά από το checkout από ένα το σύστημα ελέγχου εκδόσεων (π.χ., cvs/svn/git). Το GTK-Doc διαθέτει το εργαλείο <filename>gtkdocize</filename>, το οποίο μπορεί να χρησιμοποιηθεί για ένα τέτοιο σενάριο. Θα πρέπει να εκτελείται πριν το autoheader, το automake ή το autoconf."
+
+#: C/gtk-doc-manual.xml:527(title)
+msgid "Running gtkdocize from autogen.sh"
+msgstr "Εκτέλεση του gtkdocize από το autogen.sh"
+
+#: C/gtk-doc-manual.xml:536(para)
+msgid "When running <application>gtkdocize</application> it copies <filename>gtk-doc.make</filename> to your project root (or any directory specified by the <option>--docdir</option> option). It also checks you configure script for the <function>GTK_DOC_CHECK</function> invocation. This macro can be used to pass extra parameters to <application>gtkdocize</application>."
+msgstr "Κατά την εκτέλεσή του, το <filename>gtkdocize</filename> αντιγράφει το <filename>gtk-doc.make</filename> στο ριζικό κατάλογο του έργου σας (ή στον κατάλογο που ορίζει η επιλογή <option>--docdir</option>). Επίσης, ελέγχει το σενάριο configure για να βρει την κλήση στο <function>GTK_DOC_CHECK</function>."
+
+#: C/gtk-doc-manual.xml:545(para)
+msgid "Historically GTK-Doc was generating template files where developers entered the docs. This turned out to be not so good (e.g. the need for having generated files under version control). Since GTK-Doc 1.9 the tools can get all the information from source comments and thus the templates can be avoided. We encourage people to keep documentation in the code. <application>gtkdocize</application> supports now a <option>--flavour no-tmpl</option> option that chooses a makefile that skips tmpl usage totally. Besides adding the option directly to the command invocation, they can be added also to an environment variable called <symbol>GTKDOCIZE_FLAGS</symbol> or set as a 2nd parameter in <symbol>GTK_DOC_CHECK</symbol> macro in the configure script. If you have never changed file in tmpl by hand and migrating from older gtkdoc versions, please remove the dir (e.g. from version control system)."
+msgstr "Αρχικά, το GTK-Doc δημιουργούσε αρχεία προτύπων εκεί που οι προγραμματιστές εισήγαγαν την τεκμηρίωση. Δυστυχώς, αυτή η προσέγγιση δεν ήταν ιδιαίτερα επιτυχής. Οι τελευταίες εκδόσεις του GTK-Doc επιτρέπουν τη λήψη πληροφοριών από τα σχόλια του πηγαίου κώδικα. Από την έκδοση 1.9 και μετά, τα πρότυπα αρχεία δεν είναι πλέον απαραίτητα. Σας συνιστούμε να διατηρείτε την τεκμηρίωση στον κώδικα. To <application>gtkdocize</application> υποστηρίζει πλέον την επιλογή <option>--flavour no-tmpl</option> που επιλέγει ένα αρχείο makefile που δεν χρησιμοποιεί καθόλου πρότυπα tmpl. Πέρα από την άμεση προσθήκη της επιλογής στην κλήση της εντολής, μπορεί να προστεθεί και σε μια μεταβλητή περιβάλλοντος που ονομάζεται <symbol>GTKDOCIZE_FLAGS</symbol> ή να οριστεί ως δεύτερη παράμετρος στη μακροεντολή <symbol>GTK_DOC_CHECK</symbol> στο σενάριο configure. Αν δεν έχετε κάνει ποτέ αλλαγές με το χέρι σε αρχεία προτύπων και μεταβαίνετε από μια παλιότερη έκδοση του gtkdoc, παρακαλώ αφαιρέστε τον κατάλογο (π.χ. από το σύστημα ελέγχου εκδόσεων)."
+
+#: C/gtk-doc-manual.xml:562(title)
+#: C/gtk-doc-manual.xml:579(title)
+msgid "Running the doc build"
+msgstr "Παραγωγή της τεκμηρίωσης"
+
+#: C/gtk-doc-manual.xml:564(para)
+msgid "After the previous steps it's time to run the build. First we need to rerun <filename>autogen.sh</filename>. If this script runs configure for you, then give it the <option>--enable-gtk-doc</option> option. Otherwise manually run <filename>configure</filename> with this option afterwards."
+msgstr "Αφού ολοκληρωθούν τα προηγούμενα βήματα, προχωρήστε στην παραγωγή. Πρώτα, θα πρέπει να εκτελεστεί εκ νέου το <filename>autogen.sh</filename>. Αν το σενάριο εκτελεί και το configure, προσθέστε την επιλογή <option>--enable-gtk-doc</option>. Διαφορετικά, εκτελέστε εσείς το<filename>configure</filename> με αυτή την επιλογή."
+
+#: C/gtk-doc-manual.xml:571(para)
+msgid "The first make run generates several additional files in the doc-dirs. The important ones are: <filename><package>.types</filename>, <filename><package>-docs.sgml</filename>, <filename><package>-sections.txt</filename>."
+msgstr "Η πρώτη εκτέλεση του make δημιουργεί μια σειρά από πρόσθετα αρχεία στους καταλόγους της τεκμηρίωσης. Τα σημαντικά είναι τα: <filename><package>.types</filename>, <filename><package>-docs.sgml</filename>, <filename><package>-sections.txt</filename>."
+
+#: C/gtk-doc-manual.xml:588(para)
+msgid "Now you can point your browser to <filename>docs/reference/<package>/index.html</filename>. Yes, it's a bit disappointing still. But hang-on, during the next chapter we tell you how to fill the pages with life."
+msgstr "Τώρα, μπορείτε να εμφανίσετε το <filename>docs/reference/<package>/index.html</filename> στον περιηγητή σας. Είναι αλήθεια ότι προς το παρόν το αποτέλεσμα είναι μάλλον απογοητευτικό. Μην ανησυχείτε όμως. Στο επόμενο κεφάλαιο θα μάθετε πώς μπορείτε να ζωντανέψετε τις σελίδες σας."
+
+#: C/gtk-doc-manual.xml:596(title)
+msgid "Integration with version control systems"
+msgstr "Ενσωμάτωση σε συστήματα ελέγχου εκδόσεων"
+
+#: C/gtk-doc-manual.xml:598(para)
+msgid "As a rule of the thumb, it's those files you edit, that should go under version control. For typical projects it's these files: <filename><package>.types</filename><filename><package>-docs.sgml</filename><filename><package>-sections.txt</filename><filename>Makefile.am</filename>"
+msgstr "Ο εμπειρικός κανόνας είναι ότι από τον έλεγχο εκδόσεων πρέπει να περάσουν τα αρχεία που επεξεργαστήκατε εσείς. Συνήθως, πρόκειται για τα αρχεία: <filename><package>.types</filename><filename><package>-docs.sgml</filename><filename><package>-sections.txt</filename><filename>Makefile.am</filename>"
+
+#: C/gtk-doc-manual.xml:611(title)
+msgid "Documenting the code"
+msgstr "Τεκμηρίωση του κώδικα"
+
+#: C/gtk-doc-manual.xml:613(para)
+msgid "GTK-Doc uses source code comment with a special syntax for code documentation. Further it retrieves information about your project structure from other sources. During the next section you will find all information about the syntax of the comments."
+msgstr "Το GTK-Doc χρησιμοποιεί σχόλια με ειδική σύνταξη για την προσθήκη τεκμηρίωσης στον κώδικα. Παράλληλα, ανακαλεί πληροφορίες για τη δομή του έργου σας από άλλες πηγές. Στην επόμενη ενότητα περιέχονται όλες οι λεπτομέρειες για τη σύνταξη αυτών των σχολίων."
+
+#: C/gtk-doc-manual.xml:621(title)
+msgid "Documentation placement"
+msgstr "Τοποθέτηση τεκμηρίωσης"
+
+#: C/gtk-doc-manual.xml:622(para)
+msgid "In the past most documentation had to be filled into files residing inside the <filename>tmpl</filename> directory. This has the disadvantages that the information is often not updated and also that the file tend to cause conflicts with version control systems."
+msgstr "Στο παρελθόν, η τεκμηρίωση έπρεπε να συμπληρώνεται σε αρχεία του καταλόγου <filename>tmpl</filename>. Αυτή η προσέγγιση εμφανίζει το μειονέκτημα ότι οι πληροφορίες δεν ενημερώνονται συχνά, καθώς και το ότι προκύπτουν περιοδικές συγκρούσεις με τα συστήματα ελέγχου εκδόσεων."
+
+#: C/gtk-doc-manual.xml:628(para)
+msgid "The avoid the aforementioned problems we suggest putting the documentation inside the sources. This manual will only describe this way of documenting code."
+msgstr "Για να αποφύγετε αυτά τα προβλήματα, σας προτείνουμε να ενσωματώνετε την τεκμηρίωση στον πηγαίο κώδικα. Αυτή είναι και η μόνη μέθοδος που θα περιγράψουμε σε αυτό το εγχειρίδιο."
+
+#: C/gtk-doc-manual.xml:639(title)
+#: C/gtk-doc-manual.xml:658(title)
+msgid "GTK-Doc comment block"
+msgstr "Μπλοκ σχολίου GTK-Doc"
+
+#: C/gtk-doc-manual.xml:635(para)
+msgid "The scanner can handle the majority of c headers fine. In the case of receiving warnings from the scanner that look like a special case, one can hint GTK-Doc to skip over them. <placeholder-1/>"
+msgstr "Ο σαρωτής μπορεί να χειριστεί άνετα την πλειοψηφία των κεφαλίδων c . Σε περίπτωση που λαμβάνετε προειδοποιήσεις από τον σαρωτή οι οποίες μοιάζουν με έναν ειδικό χαρακτήρα, μπορείτε να υποδείξετε το GTK-Doc να τους παραλείψει. <placeholder-1/>"
+
+#: C/gtk-doc-manual.xml:653(title)
+msgid "Documentation comments"
+msgstr "Σχόλια τεκμηρίωσης"
+
+#: C/gtk-doc-manual.xml:655(para)
+msgid "A multiline comment that starts with an additional '*' marks a documentation block that will be processed by the GTK-Doc tools. <placeholder-1/>"
+msgstr "Ένα σχόλιο πολλαπλών γραμμών που διαθέτει ένα επιπλέον «*» στην αρχή αποτελεί ένα μπλοκ τεκμηρίωσης που λαμβάνεται υπόψη από τα εργαλεία του GTK-Doc. <placeholder-1/>"
+
+#: C/gtk-doc-manual.xml:670(para)
+msgid "The 'identifier' is one line with the name of the item the comment is related to. The syntax differs a little depending on the item. (TODO add table showing identifiers)"
+msgstr "Το 'αναγνωριστικό' είναι μία γραμμή που περιέχει το όνομα του στοιχείου στο οποίο αναφέρεται το σχόλιο. Η σύνταξή του εξαρτάται από τον τύπο του στοιχείου. (ΜΕΛΛΟΝΤΙΚΑ: να προστεθεί πίνακας με τα αναγνωριστικά)"
+
+#: C/gtk-doc-manual.xml:676(para)
+msgid "The 'documentation' block is also different for each symbol type. Symbol types that get parameters such as functions or macros have the parameter description first followed by a blank line (just a '*'). Afterwards follows the detailed description. All lines (outside program- listings and CDATA sections) just containing a ' *' (blank-asterisk) are converted to paragraph breaks. If you don't want a paragraph break, change that into ' * ' (blank-asterisk-blank-blank)."
+msgstr "Το μπλοκ της 'τεκμηρίωσης' επίσης διαφέρει ανάλογα με τον τύπο συμβόλου. Για τους τύπους συμβόλων που δέχονται παραμέτρους (π.χ. συναρτήσεις και μακροεντολές) προηγείται η περιγραφή των παραμέτρων και ακολουθεί μια κενή γραμμή (μόνο '*'). Ακολουθεί η λεπτομερής περιγραφή. Όλες οι γραμμές (εκτός από τον κώδικα του προγράμματος και τις ενότητες CDATA) που περιέχουν μόνο ένα ' *' (διάστημα-αστερίσκος) μετατρέπονται σε αλλαγές παραγράφου. Αν δεν επιθυμείτε αλλαγή παραγράφου, χρησιμοποιήστε το ' * ' (διάστημα-αστερίσκος-διάστημα-διάστημα)."
+
+#: C/gtk-doc-manual.xml:693(para)
+msgid "Use function() to refer to functions or macros which take arguments."
+msgstr "Χρησιμοποιήστε τη γραφή function() για αναφορές σε συναρτήσεις ή μακροεντολές που δέχονται ορίσματα."
+
+#: C/gtk-doc-manual.xml:698(para)
+msgid "Use @param to refer to parameters. Also use this when referring to parameters of other functions, related to the one being described."
+msgstr "Χρησιμοποιήστε τη γραφή @param για να αναφερθείτε σε παραμέτρους. Επίσης, χρησιμοποιήστε αυτή τη γραφή για να αναφερθείτε σε παραμέτρους άλλων συναρτήσεων, σχετικών με την περιγραφόμενη."
+
+#: C/gtk-doc-manual.xml:704(para)
+msgid "Use %constant to refer to a constant, e.g. %G_TRAVERSE_LEAFS."
+msgstr "Χρησιμοποιήστε τη γραφή %constant για να αναφερθείτε σε σταθερές, π.χ. %G_TRAVERSE_LEAFS."
+
+#: C/gtk-doc-manual.xml:709(para)
+msgid "Use #symbol to refer to other types of symbol, e.g. structs and enums and macros which don't take arguments."
+msgstr "Χρησιμοποιήστε τη γραφή #symbol για να αναφερθείτε σε άλλους τύπους συμβόλων, π.χ. δομές, αριθμήσεις και μακροεντολές που δε δέχονται ορίσματα."
+
+#: C/gtk-doc-manual.xml:715(para)
+msgid "Use #Object::signal to refer to a GObject signal"
+msgstr "Χρησιμοποιήστε τη γραφή #Object::signal για να αναφερθείτε σε ένα σήμα GObject"
+
+#: C/gtk-doc-manual.xml:720(para)
+msgid "Use #Object:property to refer to a GObject property"
+msgstr "Χρησιμοποιήστε τη γραφή #Object::property για να αναφερθείτε σε μία ιδιότητα GObject"
+
+#: C/gtk-doc-manual.xml:725(para)
+msgid "Use #Struct.field to refer to a field inside a structure."
+msgstr "Χρησιμοποιήστε τη γραφή #Struct.field για να αναφερθείτε σε ένα πεδίο μιας δομής."
+
+#: C/gtk-doc-manual.xml:687(para)
+msgid "One advantage of hyper-text over plain-text is the ability to have links in the document. Writing the correct markup for a link can be tedious though. GTK-Doc comes to help by providing several useful abbreviations. <placeholder-1/>"
+msgstr "Ένα πλεονέκτημα της χρήσης υπερκειμένου αντί για απλό κείμενο είναι η δυνατότητα προσθήκης συνδέσμων στο έγγραφο. Ωστόσο, η χρήση της σωστής σύνταξης για τη δημιουργία συνδέσμων μπορεί να είναι αρκετά κουραστική διαδικασία. Το GTK-Doc σας βοηθάει, παρέχοντάς σας μια σειρά από χρήσιμες συντμήσεις.<placeholder-1/>"
+
+#: C/gtk-doc-manual.xml:733(para)
+msgid "If you need to use the special characters '<', '>', '()', '@', '%', or '#' in your documentation without GTK-Doc changing them you can use the XML entities \"&lt;\", \"&gt;\", \"&lpar;\", \"&rpar;\", \"&commat;\", \"&percnt;\" and \"&num;\" respectively or escape them with a backslash '\\'."
+msgstr "Αν θέλετε να χρησιμοποιήσετε τους ειδικούς χαρακτήρες «<», «>», «()», «@», «%» ή «#» στην τεκμηρίωση, χωρίς να φοβάστε ότι θα τους αλλάξει το GTK-Doc, μπορείτε να χρησιμοποιήσετε τις οντότητες XML «&lt;», «&gt;», «&lpar;», «&rpar;», «&commat;», «&percnt;» και «&num;», αντίστοιχα, ή να χρησιμοποιήσετε την ανάποδη κάθετο «\\» ως χαρακτήρα διαφυγής."
+
+#: C/gtk-doc-manual.xml:742(para)
+msgid "DocBook can do more that just links. One can also have lists, tables and examples. To enable the usage of SGML/XML tags inside doc-comments you need to have <option>--xml-mode</option> or <option>--sgml-mode</option> in the variable <symbol>MKDB_OPTIONS</symbol> inside <filename>Makefile.am</filename>."
+msgstr "Το DocBook σας προσφέρει και άλλες δυνατότητες πέρα από τους συνδέσμους. Μπορεί να περιλαμβάνει λίστες, πίνακες και παραδείγματα. Για να επιτρέπεται η χρήση ετικετών SGML/XML στα σχόλια τεκμηρίωσης, θα πρέπει να έχει προστεθεί η επιλογή <option>--sgml-mode</option> στη μεταβλητή <symbol>MKDB_OPTIONS</symbol> του <filename>Makefile.am</filename>."
+
+#: C/gtk-doc-manual.xml:751(para)
+msgid "As already mentioned earlier GTK-Doc is for documenting public API. Thus one cannot write documentation for static symbols. Nevertheless it is good to comment those symbols too. This helps other to understand you code. Therefore we recommend to comment these using normal comments (without the 2nd '*' in the first line). If later the function needs to be made public, all one needs to do is to add another '*' in the comment block and insert the symbol name at the right place inside the sections file."
+msgstr "Όπως αναφέρθηκε και προηγουμένως το GTK-Doc αναλαμβάνει την τεκμηρίωση του δημόσιου API. Άρα, δεν μπορεί να γραφτεί τεκμηρίωση για στατικά σύμβολα. Παρόλα αυτά, συνιστάται ο σχολιασμός και αυτών των συμβόλων, γιατί βοηθά στην κατανόηση του κώδικα. Σας προτείνουμε λοιπόν να τα σχολιάζετε χρησιμοποιώντας κανονικά σχόλια (χωρίς το δεύτερο «*» στην πρώτη γραμμή). Αν αργότερα χρειαστεί να μετατραπεί η συνάρτηση σε δημόσια, το μόνο που θα πρέπει να γίνει είναι να προστεθεί άλλο ένα «*» στο μπλοκ του σχολίου, και να εισαχθεί το όνομα του συμβόλου στην κατάλληλη θέση του αρχείου ενοτήτων."
+
+#: C/gtk-doc-manual.xml:765(title)
+msgid "Documenting sections"
+msgstr "Ενότητες τεκμηρίωσης"
+
+#: C/gtk-doc-manual.xml:767(para)
+msgid "Each section of the documentation contains information about one class or module. To introduce the component one can write a section block. The short description is also used inside the table of contents. All the @fields are optional."
+msgstr "Κάθε ενότητα της τεκμηρίωσης περιέχει πληροφορίες για μία κλάση ή ένα άρθρωμα. Για να εισάγετε το συστατικό μπορείτε να γράψετε ένα μπλοκ σχολίου ενότητας. Η σύντομη αυτή περιγραφή χρησιμοποιείται και για τον πίνακα περιεχομένων. Όλα τα πεδία @fields είναι προαιρετικά."
+
+#: C/gtk-doc-manual.xml:775(title)
+msgid "Section comment block"
+msgstr "Μπλοκ σχολίου ενότητας"
+
+#: C/gtk-doc-manual.xml:797(term)
+msgid "SECTION:<name>"
+msgstr "SECTION:<name>"
+
+#: C/gtk-doc-manual.xml:799(para)
+msgid "The name links the section documentation to the respective part in the <filename><package>-sections.txt</filename> file. The name give here should match the <FILE> tag in the <filename><package>-sections.txt</filename> file."
+msgstr "Το name συνδέει την τεκμηρίωση της ενότητας με το αντίστοιχο μέρος στο αρχείο <filename><package>-sections.txt</filename>. Το όνομα που δίνεται εδώ πρέπει να ταιριάζει με την ετικέτα <FILE> στο αρχείο <filename><package>-sections.txt</filename>."
+
+#: C/gtk-doc-manual.xml:808(term)
+msgid "@short_description"
+msgstr "@short_description"
+
+#: C/gtk-doc-manual.xml:810(para)
+msgid "A one line description of the section, that later will appear after the links in the TOC and at the top of the section page."
+msgstr "Περιγραφή της ενότητας σε μία γραμμή, η οποία θα εμφανίζεται, στη συνέχεια, μετά από τους συνδέσμους του πίνακα περιεχομένων και στην αρχή της σελίδας της ενότητας."
+
+#: C/gtk-doc-manual.xml:817(term)
+msgid "@title"
+msgstr "@title"
+
+#: C/gtk-doc-manual.xml:819(para)
+msgid "The section title defaults to <name> from the SECTION declaration. It can be overridden with the @title field."
+msgstr "Ο τίτλος της ενότητας από προεπιλογή έχει όνομα <name> από τη δήλωση SECTION. Μπορεί να παρακαμφθεί με το πεδίο @title."
+
+#: C/gtk-doc-manual.xml:826(term)
+msgid "@section_id"
+msgstr "@section_id"
+
+#: C/gtk-doc-manual.xml:828(para)
+msgid "Overrides the use of title as a section identifier. For GObjects the <title> is used as a section_id and for other sections it is <MODULE>-<title>."
+msgstr "Παρακάμπτει τη χρήση του τίτλου ως αναγνωριστικό της ενότητας. Για αντικείμενα GOBject το <title> χρησιμοποιείται ως section_id και για άλλες ενότητες είναι <MODULE>-<title>."
+
+#: C/gtk-doc-manual.xml:836(term)
+msgid "@see_also"
+msgstr "@see_also"
+
+#: C/gtk-doc-manual.xml:838(para)
+msgid "A list of symbols that are related to this section."
+msgstr "Λίστα συμβόλων σχετικών με αυτή την ενότητα."
+
+#: C/gtk-doc-manual.xml:844(term)
+msgid "@stability"
+msgstr "@stability"
+
+#: C/gtk-doc-manual.xml:851(para)
+msgid "Stable - The intention of a Stable interface is to enable arbitrary third parties to develop applications to these interfaces, release them, and have confidence that they will run on all minor releases of the product (after the one in which the interface was introduced, and within the same major release). Even at a major release, incompatible changes are expected to be rare, and to have strong justifications."
+msgstr "Σταθερή - Μια σταθερή διεπαφή επιτρέπει σε τρίτους να αναπτύσσουν εφαρμογές για τις διεπαφές αυτές, να τις δημοσιεύουν και να είναι βέβαιοι ότι οι εφαρμογές θα τρέχουν σε όλες τις ελάσσονες εκδόσεις του προϊόντος (οι οποίες θα είναι μεταγενέστερες της διεπαφής και θα ανήκουν στην ίδια μείζονα έκδοση). Ακόμη και όταν πρόκειται για μείζονες νέες εκδόσεις, οι ασυμβατότητες αναμένεται να είναι σπάνιες και να οφείλονται σε σοβαρούς λόγους."
+
+#: C/gtk-doc-manual.xml:863(para)
+msgid "Unstable - Unstable interfaces are experimental or transitional. They are typically used to give outside developers early access to new or rapidly changing technology, or to provide an interim solution to a problem where a more general solution is anticipated. No claims are made about either source or binary compatibility from one minor release to the next."
+msgstr "Ασταθής - Ασταθείς είναι οι πειραματικές ή μεταβατικές διεπαφές. Συνήθως χρησιμοποιούνται για να παρέχουν σε τρίτους πρώιμη πρόσβαση σε νέες ή διαρκώς εξελισσόμενες τεχνολογίες, ή ως ενδιάμεσες λύσεις για προβλήματα για τα οποία αναμένεται μια γενικότερη λύση. Δεν υφίσταται καμία εγγύηση συμβατότητας μεταξύ μιας ελάσσονας έκδοσης και της επόμενης."
+
+#: C/gtk-doc-manual.xml:875(para)
+msgid "Private - An interface that can be used within the GNOME stack itself, but that is not documented for end-users. Such functions should only be used in specified and documented ways."
+msgstr "Ιδιωτική - Διεπαφή που μπορεί να χρησιμοποιηθεί εντός της στοίβας του GNOME, αλλά δε διαθέτει τεκμηρίωση που να απευθύνεται στους τελικούς χρήστες. Τέτοιου είδους συναρτήσεις μπορούν να χρησιμοποιούνται μόνο στο πλαίσιο σαφώς καθορισμένων και τεκμηριωμένων διαδικασιών."
+
+#: C/gtk-doc-manual.xml:884(para)
+msgid "Internal - An interface that is internal to a module and does not require end-user documentation. Functions that are undocumented are assumed to be Internal."
+msgstr "Εσωτερική - Μια διεπαφή που είναι εσωτερική σε ένα module δεν απαιτεί την ύπαρξη τεκμηρίωσης για τον τελικό χρήστη. Οι συναρτήσεις που δεν περιέχουν τεκμηρίωση θεωρείται ότι είναι εσωτερικές."
+
+#: C/gtk-doc-manual.xml:846(para)
+msgid "A informal description of the stability level this API has. We recommend the use of one of these terms: <placeholder-1/>"
+msgstr "Άτυπη περιγραφή του επιπέδου σταθερότητας του συγκεκριμένου API. Σας συνιστούμε να χρησιμοποιείται έναν από τους ακόλουθους όρους: <placeholder-1/>"
+
+#: C/gtk-doc-manual.xml:896(term)
+msgid "@include"
+msgstr "@include"
+
+#: C/gtk-doc-manual.xml:898(para)
+msgid "The <literal>#include</literal> files to show in the section synopsis (a comma separated list), overriding the global value from the <link linkend=\"metafiles_sections\">section file</link> or command line. This item is optional."
+msgstr "Αρχεία <literal>#include</literal> που εμφανίζονται στη συνοπτική παρουσίαση των ενοτήτων (λίστα αρχείων που χωρίζονται με κόμματα), αντικαθιστώντας την καθολική τιμή στο <link linkend=\"metafiles_sections\">αρχείο ενότητας</link> ή στη γραμμή εντολών. Πρόκειται για προαιρετικό στοιχείο."
+
+#: C/gtk-doc-manual.xml:907(term)
+msgid "@image"
+msgstr "@image"
+
+#: C/gtk-doc-manual.xml:909(para)
+msgid "The image to display at the top of the reference page for this section. This will often be some sort of a diagram to illustrate the visual appearance of a class or a diagram of its relationship to other classes. This item is optional."
+msgstr "Η εικόνα που θα εμφανίζεται στο πάνω μέρος της σελίδας αναφοράς για αυτή την ενότητα. Αυτή συχνά θα είναι κάποιου είδους διάγραμμα για την απεικόνιση μια κλάσης ή ενός διαγράμματος της σχέσης της με άλλες κλάσεις. Αυτή η καταχώρηση είναι προαιρετική."
+
+#: C/gtk-doc-manual.xml:920(para)
+msgid "To avoid unnecessary recompilation after doc-changes put the section docs into the c-source where possible."
+msgstr "Για να μη χρειαστεί να κάνετε εκ νέου μεταγλώττιση μετά από αλλαγές στην τεκμηρίωση, σας προτείνουμε να ενσωματώνετε την τεκμηρίωση των ενοτήτων στο αρχείο του πηγαίου κώδικα, όπου αυτό είναι δυνατό."
+
+#: C/gtk-doc-manual.xml:929(title)
+msgid "Documenting symbols"
+msgstr "Τεκμηρίωση συμβόλων"
+
+#: C/gtk-doc-manual.xml:931(para)
+msgid "Each symbol (function, macro, struct, enum, signal and property) is documented in a separate block. The block is best placed close to the definition of the symbols so that it is easy to keep them in sync. Thus functions are usually documented in the c-source and macros, structs and enums in the header file."
+msgstr "Κάθε σύμβολο (συνάρτηση, μακροεντολή, δομή, αρίθμηση, σήμα, ιδιότητα) τεκμηριώνεται σε ξεχωριστό μπλοκ. Η καταλληλότερη θέση για τα μπλοκ είναι δίπλα στους ορισμούς των συμβόλων, γιατί διευκολύνει το έργο συγχρονισμού. Επομένως, η τεκμηρίωση των συναρτήσεων συνήθως βρίσκεται στο αρχείο του πηγαίου κώδικα, ενώ των μακροεντολών, δομών και αριθμήσεων στο αρχείο κεφαλίδας."
+
+#: C/gtk-doc-manual.xml:939(title)
+#: C/gtk-doc-manual.xml:968(title)
+msgid "General tags"
+msgstr "Γενικές ετικέτες"
+
+#: C/gtk-doc-manual.xml:941(para)
+msgid "You can add versioning information to all documentation elements to tell when an api was introduced, or when it was deprecated."
+msgstr "Μπορείτε να προσθέσετε πληροφορίες εκδόσεων σε οποιοδήποτε στοιχείο της τεκμηρίωσης για να πείτε πότε εισήχθηκε ένα API ή πότε έγινε πεπαλαιωμένο."
+
+#: C/gtk-doc-manual.xml:946(title)
+msgid "Versioning Tags"
+msgstr "Ετικέτες εκδόσεων"
+
+#: C/gtk-doc-manual.xml:947(term)
+msgid "Since:"
+msgstr "Since:"
+
+#: C/gtk-doc-manual.xml:949(para)
+msgid "Description since which version of the code the API is available."
+msgstr "Από ποια έκδοση του κώδικα είναι διαθέσιμο το API."
+
+#: C/gtk-doc-manual.xml:954(term)
+msgid "Deprecated:"
+msgstr "Deprecated:"
+
+#: C/gtk-doc-manual.xml:956(para)
+msgid "Paragraph denoting that this function should no be used anymore. The description should point the reader to the new API."
+msgstr "Παράγραφος που ενημερώνει ότι θα πρέπει να σταματήσει η χρήση της συνάρτησης. Η περιγραφή θα πρέπει να παραπέμπει τον αναγνώστη στο νέο API."
+
+#: C/gtk-doc-manual.xml:964(para)
+msgid "(FIXME : Stability information)"
+msgstr "(FIXME : Πληροφορίες σταθερότητας)"
+
+#: C/gtk-doc-manual.xml:991(title)
+#: C/gtk-doc-manual.xml:1027(title)
+msgid "Function comment block"
+msgstr "Μπλοκ σχολίου συνάρτησης"
+
+#: C/gtk-doc-manual.xml:997(para)
+msgid "Document whether returned objects, lists, strings, etc, should be freed/unrefed/released."
+msgstr "Τεκμηριώσετε κατά πόσο τα επιστρεφόμενα αντικείμενα, λίστες, συμβολοσειρές, κ.λπ, θα πρέπει να ελευθερώνονται, να μην ελευθερώνονται ή να απορρίπτονται."
+
+#: C/gtk-doc-manual.xml:1003(para)
+msgid "Document whether parameters can be NULL, and what happens if they are."
+msgstr "Τεκμηριώσετε κατά πόσο οι παράμετροι μπορούν να είναι μηδενικές (NULL) και τι συμβαίνει αν είναι."
+
+#: C/gtk-doc-manual.xml:1008(para)
+msgid "Mention interesting pre-conditions and post-conditions where appropriate."
+msgstr "Αναφέρετε ενδιαφέρουσες προ-υποθέσεις και μετα-υποθέσεις όπου χρειάζεται."
+
+#: C/gtk-doc-manual.xml:993(para)
+#: C/gtk-doc-manual.xml:1090(para)
+msgid "Please remember to: <placeholder-1/>"
+msgstr "Παρακαλούμε να θυμηθείτε να: <placeholder-1/>"
+
+#: C/gtk-doc-manual.xml:1015(para)
+msgid "Gtk-doc assumes all symbols (macros, functions) starting with '_' are private. They are treated like static functions."
+msgstr "Το Gtk-doc θεωρεί ότι όλα τα σύμβολα (μακροεντολές, συναρτήσεις, κτλ.) που ξεκινούν με '_' είναι ιδιωτικά και τα μεταχειρίζεται σαν στατικές συναρτήσεις."
+
+#: C/gtk-doc-manual.xml:1020(para)
+msgid "Also, take a look at gobject introspection annotation tags: http://live.gnome.org/GObjectIntrospection/Annotations"
+msgstr "Επίσης, ρίξτε μια ματιά στις ετικέτες σημείωσης ενδοσκόπησης των gobject: http://live.gnome.org/GObjectIntrospection/Annotations"
+
+#: C/gtk-doc-manual.xml:1051(title)
+msgid "Function tags"
+msgstr "Ετικέτες συναρτήσεων"
+
+#: C/gtk-doc-manual.xml:1052(term)
+msgid "Returns:"
+msgstr "Returns:"
+
+#: C/gtk-doc-manual.xml:1054(para)
+msgid "Paragraph describing the returned result."
+msgstr "Παράγραφος που περιγράφει το επιστρεφόμενο αποτέλεσμα."
+
+#: C/gtk-doc-manual.xml:1059(term)
+msgid "@...:"
+msgstr "@...:"
+
+#: C/gtk-doc-manual.xml:1061(para)
+msgid "In case the function has variadic arguments, you should use this tag (@Varargs: does also work for historic reasons)."
+msgstr "Σε περίπτωση που η μεταβλητή μπορεί να δεκτεί μεταβλητό αριθμό ορισμάτων (variadic), πρέπει να χρησιμοποιήσετε αυτή την ετικέτα (η ετικέτα @Varargs: λειτουργεί επίσης, για ιστορικούς λόγους)."
+
+#: C/gtk-doc-manual.xml:1071(title)
+#: C/gtk-doc-manual.xml:1073(title)
+msgid "Property comment block"
+msgstr "Μπλοκ σχολίου ιδιότητας"
+
+#: C/gtk-doc-manual.xml:1088(title)
+#: C/gtk-doc-manual.xml:1107(title)
+msgid "Signal comment block"
+msgstr "Μπλοκ σχολίου σήματος"
+
+#: C/gtk-doc-manual.xml:1094(para)
+msgid "Document when the signal is emitted and whether it is emitted before or after other signals."
+msgstr "Τεκμηριώστε πότε εκπέμπεται το σήμα και αν εκπέμπεται πριν ή μετά από άλλα σήματα."
+
+#: C/gtk-doc-manual.xml:1100(para)
+msgid "Document what an application might do in the signal handler."
+msgstr "Τεκμηριώστε τι μπορεί να κάνει μια εφαρμογή στον διαχειριστή σημάτων."
+
+#: C/gtk-doc-manual.xml:1127(title)
+#: C/gtk-doc-manual.xml:1128(title)
+msgid "Struct comment block"
+msgstr "Μπλοκ σχολίου δομής"
+
+#: C/gtk-doc-manual.xml:1148(para)
+msgid "Use <code>/*< private >*/</code> before the private struct fields you want to hide. Use <code>/*< public >*/</code> for the reverse behaviour."
+msgstr "Χρησιμοποιήστε το <code>/*< private >*/</code> πριν από πεδία ιδιωτικών δομών που θέλετε να αποκρύψετε. Χρησιμοποιήστε το <code>/*< public >*/</code>για την αντίστροφη συμπεριφορά."
+
+#: C/gtk-doc-manual.xml:1154(para)
+msgid "Struct comment blocks can also be used for GObjects and GObjectClasses. It is usualy a good idea to add a comment blco for a class, if it has vmethods (as this is how they can be documented). For the GObject itself one can use the related section docs, having a separate block for the instance struct would be useful if the instance has public fields. One disadvantage here is that this creates two index entries of the same name (the structure and the section)."
+msgstr "Οι ομάδες σχολίων Struct μπορούν επίσης να χρησιμοποιηθούν για GObjects και για GObjectClasses. Είναι συνήθως καλή ιδέα να προσθέτετε μία ομάδα σχολίου για μια κλάση, εάν έχει vmethods (γιατί έτσι μπορούν να τεκμηριωθούν). Για το ίδιο το GObject μπορείτε να χρησιμοποιήσετε τα σχετικά έγγραφα τμημάτων, έχοντας μία ξεχωριστή ομάδα για την στιγμιότυπο struct θα ήταν χρήσιμος εάν το στιγμιότυπο έχει τους δημόσια πεδία. Ένα μειονέκτημα εδώ είναι ότι θα δημιουργηθούν δύο καταχωρήσεις δεικτών για το ίδιο όνομα (για την δομή και για το τμήμα)."
+
+#: C/gtk-doc-manual.xml:1166(title)
+#: C/gtk-doc-manual.xml:1167(title)
+msgid "Enum comment block"
+msgstr "Μπλοκ σχολίου Enum"
+
+#: C/gtk-doc-manual.xml:1188(para)
+msgid "Use <code>/*< private >*/</code> before the private enum values you want to hide. Use <code>/*< public >*/</code> for the reverse behaviour."
+msgstr "Χρησιμοποιήστε το <code>/*< private >*/</code> πριν από ιδιωτικές τιμές enum που θέλετε να αποκρύψετε. Χρησιμοποιήστε το <code>/*< public >*/</code> για την αντίστροφη συμπεριφορά."
+
+#: C/gtk-doc-manual.xml:1198(title)
+msgid "Useful DocBook tags"
+msgstr "Χρήσιμες ετικέτες DocBook"
+
+#: C/gtk-doc-manual.xml:1200(para)
+msgid "Here are some DocBook tags which are most useful when documenting the code."
+msgstr "Ακολουθούν ορισμένες ετικέτες DocBook, ιδιαίτερα χρήσιμες για την τεκμηρίωση του κώδικα."
+
+#: C/gtk-doc-manual.xml:1205(para)
+msgid "To link to another section in the GTK docs: <placeholder-1/> The linkend is the SGML/XML id on the top item of the page you want to link to. For most pages this is currently the part (\"gtk\", \"gdk\", \"glib\") and then the page title (\"Hash Tables\"). For widgets it is just the class name. Spaces and underscores are converted to '-' to conform to SGML/XML."
+msgstr "Για να συνδέσετε με μια άλλη ενότητα στην τεκμηρίωση GTK: <placeholder-1/> Ο προορισμός είναι το id του SGML/XML στο πρώτο στοιχείο της σελίδας στην οποία παραπέμπει ο σύνδεσμος. Για τις περισσότερες σελίδες είναι το (\"gtk\", \"gdk\", glib\"), ακολουθούμενο από τον τίτλο της σελίδας («Πίνακες Hash»). Για τα γραφικά συστατικά είναι το όνομα της κλάσης. Τα διαστήματα και τα «_» μετατρέπονται σε «-» για να υπάρχει συμμόρφωση με το SGML/XML."
+
+#: C/gtk-doc-manual.xml:1221(para)
+msgid "To refer to an external function, e.g. a standard C function: <placeholder-1/>"
+msgstr "Αναφορά σε εξωτερική συνάρτηση, π.χ. τυποποιημένη συνάρτηση C: <placeholder-1/>"
+
+#: C/gtk-doc-manual.xml:1232(para)
+msgid ""
+"To include example code: <placeholder-1/> or possibly this, for very short code fragments which don't need a title: <placeholder-2/> For the latter GTK-Doc also supports an abbreviation: <![CDATA[\n"
+"|[\n"
+" ...\n"
+"]|\n"
+"]]>"
+msgstr ""
+"Συμπερίληψη παραδειγμάτων κώδικα: <placeholder-1/> ή, ενδεχομένως, για πολύ σύντομο κώδικα που δεν χρειάζεται τίτλο: <placeholder-2/>. Στην τελευταία περίπτωση το GTK-Doc υποστηρίζει επίσης τη σύντμηση: <![CDATA[\n"
+"|[\n"
+" ...\n"
+"]|\n"
+"]]>"
+
+#: C/gtk-doc-manual.xml:1266(para)
+msgid "To include bulleted lists: <placeholder-1/>"
+msgstr "Συμπερίληψη λιστών με κουκίδες: <placeholder-1/>"
+
+#: C/gtk-doc-manual.xml:1288(para)
+msgid "To include a note which stands out from the text: <placeholder-1/>"
+msgstr "Συμπερίληψη σημειώσεων που ξεχωρίζουν από το υπόλοιπο κείμενο: <placeholder-1/>"
+
+#: C/gtk-doc-manual.xml:1303(para)
+msgid "To refer to a type: <placeholder-1/>"
+msgstr "Αναφορά σε τύπο: <placeholder-1/>"
+
+#: C/gtk-doc-manual.xml:1314(para)
+msgid "To refer to an external structure (not one described in the GTK docs): <placeholder-1/>"
+msgstr "Αναφορά σε εξωτερική δομή (που δεν περιγράφεται στην τεκμηρίωση GTK): <placeholder-1/>"
+
+#: C/gtk-doc-manual.xml:1325(para)
+msgid "To refer to a field of a structure: <placeholder-1/>"
+msgstr "Αναφορά σε πεδίο μιας δομής: <placeholder-1/>"
+
+#: C/gtk-doc-manual.xml:1336(para)
+msgid "To refer to a class name, we could possibly use: <placeholder-1/> but you'll probably be using #GtkWidget instead (to automatically create a link to the GtkWidget page - see <link linkend=\"documenting_syntax\">the abbreviations</link>)."
+msgstr "Αναφορά σε όνομα κλάσης. Μία δυνατότητα είναι το : <placeholder-1/>, αλλά μάλλον θα χρησιμοποιήσετε το #GtkWidget (για αυτόματη δημιουργία συνδέσμου προς τη σελίδα GtkWidget, δείτε <link linkend=\"documenting_syntax\">τις συντμήσεις</link>)."
+
+#: C/gtk-doc-manual.xml:1349(para)
+msgid "To emphasize text: <placeholder-1/>"
+msgstr "Χρήση έντονων χαρακτήρων: <placeholder-1/>"
+
+#: C/gtk-doc-manual.xml:1360(para)
+msgid "For filenames use: <placeholder-1/>"
+msgstr "Ονόματα αρχείων: <placeholder-1/>"
+
+#: C/gtk-doc-manual.xml:1371(para)
+msgid "To refer to keys use: <placeholder-1/>"
+msgstr "Για να αναφερθείτε σε κλειδιά χρησιμοποιήστε: <placeholder-1/>"
+
+#: C/gtk-doc-manual.xml:1386(title)
+msgid "Filling the extra files"
+msgstr "Συμπλήρωση επιπλέον αρχείων"
+
+#: C/gtk-doc-manual.xml:1388(para)
+msgid "There are a couple of extra files, that need to be maintained along with the inline source code comments: <filename><package>.types</filename>, <filename><package>-docs.sgml</filename>, <filename><package>-sections.txt</filename>."
+msgstr "Υπάρχουν ορισμένα επιπλέον αρχεία που πρέπει να ενημερώνονται παράλληλα με τα σχόλια εντός του πηγαίου κώδικα: <filename><package>.types</filename>, <filename><package>-docs.sgml</filename>, <filename><package>-sections.txt</filename>."
+
+#: C/gtk-doc-manual.xml:1397(title)
+msgid "Editing the types file"
+msgstr "Επεξεργασία του αρχείου types"
+
+#: C/gtk-doc-manual.xml:1399(para)
+msgid "If your library or application includes GtkObjects/GObjects, you want their signals, arguments/parameters and position in the hierarchy to be shown in the documentation. All you need to do, is to list the <function>xxx_get_type</function> functions together with their include inside the <filename><package>.types</filename> file."
+msgstr "Αν η βιβλιοθήκη ή η εφαρμογή σας περιέχει GtkObjects/GObjects, θα θέλετε να εμφανίζονται στην τεκμηρίωση τα σήματα, τα ορίσματα, οι παράμετροι τους, καθώς και η θέση τους στην ιεραρχία. Για να το πετύχετε, απλά καταγράψτε όλες τις συναρτήσεις <function>xxx_get_type</function> μαζί με τα include τους στο αρχείο <filename><package>.types</filename>."
+
+#: C/gtk-doc-manual.xml:1408(title)
+msgid "Example types file snippet"
+msgstr "Υπόδειγμα αποσπάσματος αρχείου types"
+
+#: C/gtk-doc-manual.xml:1422(para)
+msgid "Since GTK-Doc 1.8 <application>gtkdoc-scan</application> can generate this list for you. Just add \"--rebuild-types\" to SCAN_OPTIONS in <filename>Makefile.am</filename>. If you use this approach you should not dist the types file nor have it under version control."
+msgstr "Από την έκδοση 1.8 και μετά το <application>gtkdoc-scan</application> μπορεί να παράγει αυτόματα αυτή τη λίστα. Απλά προσθέστε την επιλογή «--rebuild-types» στο SCAN_OPTIONS του <filename>Makefile.am</filename>. Αν προτιμήσετε αυτή την προσέγγιση, θα πρέπει να μη συμπεριλάβετε το αρχείο types ούτε στη διανομή ούτε στον έλεγχο εκδόσεων."
+
+#: C/gtk-doc-manual.xml:1431(title)
+msgid "Editing the master document"
+msgstr "Επεξεργασία κύριου εγγράφου (master)"
+
+#: C/gtk-doc-manual.xml:1433(para)
+msgid "GTK-Doc produces documentation in DocBook SGML/XML. When processing the inline source comments, the GTK-Doc tools generate one documentation page per class or module as a separate file. The master document includes them and place them in an order."
+msgstr "Το GTK-Doc παράγει τεκμηρίωση σε μορφή SGML/XML DocBook. Κατά την επεξεργασία των σχολίων εντός του πηγαίου κώδικα, τα εργαλεία του GTK-Doc παράγουν μία σελίδα τεκμηρίωσης ανά κλάση ή άρθρωμα, η οποία αποθηκεύεται ως ξεχωριστό αρχείο. Το κύριο έγγραφο συμπεριλαμβάνει αυτά τα αρχεία και τα ταξινομεί."
+
+#: C/gtk-doc-manual.xml:1440(para)
+msgid "While GTK-Doc creates a template master document for you, later run will not touch it again. This means that one can freely structure the documentation. That includes grouping pages and adding extra pages. GTK-Doc has now a test suite, where also the master-document is recreated from scratch. Its a good idea to look at this from time to time to see if there are some new goodies introduced there."
+msgstr "Αν και το GTK-Doc παράγει αυτόματα ένα πρότυπο κύριο έγγραφο, δεν το τροποποιεί κατά τις επόμενες εκτελέσεις. Αυτό σημαίνει ότι έχετε τη δυνατότητα να αλλάξετε τη δομή της τεκμηρίωσης. Μπορείτε να ομαδοποιήσετε κάποιες σελίδες ή να προσθέσετε νέες. Το GTK-Doc διαθέτει πλέον μια σουίτα για δοκιμές, στην οποία το κύριο έγγραφο παράγεται εκ νέου. Συνιστάται να επαναλαμβάνετε τακτικά αυτή τη διαδικασία, για να διαπιστώνετε αν έχουν προστεθεί νέα στοιχεία."
+
+#: C/gtk-doc-manual.xml:1450(para)
+msgid "Do not create tutorials as extra documents. Just write extra chapters. The benefit of directly embedding the tutorial for your library into the API documentation is that it is easy to link for the tutorial to symbol documentation. Apart chances are higher that the tutorial gets updates along with the library."
+msgstr "Μη δημιουργείτε νέα έγγραφα για τους οδηγούς εκμάθησης (tutorials). Απλά προσθέστε τους ως επιπλέον κεφάλαια, δηλαδή ενσωματώστε απευθείας τον οδηγό εκμάθησης για μια βιβλιοθήκη στην τεκμηρίωση API. Το πλεονέκτημα είναι ότι έτσι διευκολύνεται η διαδικασία δημιουργίας συνδέσμων από τον οδηγό εκμάθησης προς την τεκμηρίωση των συμβόλων. Επίσης, έτσι καθίσταται πιθανότερη η ενημέρωση του οδηγού μαζί με τη βιβλιοθήκη."
+
+#: C/gtk-doc-manual.xml:1459(para)
+msgid "So what are the things to change inside the master document? For a start is only a little. There are some placeholders (text in square brackets) there which you should take care of."
+msgstr "Ποιες είναι λοιπόν οι αλλαγές που πρέπει να γίνουν στο κύριο έγγραφο; Διευκρινίζουμε ότι πρόκειται για λίγες μόνο αλλαγές σε ορισμένα placeholders (κείμενα εντός αγκυλών)."
+
+#: C/gtk-doc-manual.xml:1466(title)
+msgid "Master document header"
+msgstr "Κεφαλίδα κύριου εγγράφου"
+
+#: C/gtk-doc-manual.xml:1488(title)
+msgid "Editing the section file"
+msgstr "Επεξεργασία αρχείου ενοτήτων"
+
+#: C/gtk-doc-manual.xml:1490(para)
+msgid "The section file is used to organise the documentation output by GTK-Doc. Here one specifies which symbol belongs to which module or class and control the visibility (public or private)."
+msgstr "Το αρχείο ενοτήτων χρησιμεύει στην οργάνωση της τεκμηρίωσης που παράγεται από το GTK-Doc. Εδώ διευκρινίζεται σε ποιο άρθρωμα ή κλάση ανήκει κάθε σύμβολο και αποφασίζεται η ορατότητά του (αν θα είναι δημόσιο ή ιδιωτικό)."
+
+#: C/gtk-doc-manual.xml:1496(para)
+msgid "The section file is a plain test file with xml like syntax (using tags). Blank lines are ignored and lines starting with a '#' are treated as comment lines."
+msgstr "Το αρχείο ενοτήτων είναι ένα αρχείο απλού κειμένου που χρησιμοποιεί σύνταξη με ετικέτες, παρόμοια με την xml. Οι κενές γραμμές αγνοούνται, ενώ οι γραμμές που ξεκινούν με # αποτελούν σχόλια."
+
+#: C/gtk-doc-manual.xml:1502(para)
+msgid "The <FILE> ... </FILE> tag is used to specify the file name, without any suffix. For example, using '<FILE>gnome-config</FILE>' will result in the section declarations being output in the template file <filename>tmpl/gnome-config.sgml</filename>, which will be converted into the DocBook SGML/XML file <filename>sgml/gnome-config.sgml</filename> or .DocBook XML file <filename>xml/gnome-config.xml</filename>. (The name of the html file is based on the module name and the section title, or for gobjects it is based on the gobjects class name converted to lower case)."
+msgstr "Η ετικέτα <FILE> ... </FILE> χρησιμποιείται για να δηλώσει το όνομα του αρχείου χωρίς την επέκταση. Για παράδειγμα, το '<FILE>gnome-config</FILE>' σημαίνει ότι οι δηλώσεις των ενοτήτων θα βρίσκονται στο πρότυπο αρχείο <filename>tmpl/gnome-config.sgml</filename>, το οποίο θα μετατραπεί στο αρχείο DocBook SGML/XML <filename>sgml/gnome-config.sgml</filename> ή DocBook XML <filename>xml/gnome-config.xml</filename>. (Το όνομα του αρχείου html πηγάζει από το όνομα του αρθρώματος και τον τίτλο της ενότητας, ή από το όνομα της κλάσης του gobject, αλλά με πεζούς χαρακτήρες)."
+
+#: C/gtk-doc-manual.xml:1514(para)
+msgid "The <TITLE> ... </TITLE> tag is used to specify the title of the section. It is only useful before the templates (if used) are initially created, since the title set in the template file overrides this. Also if one uses SECTION comment in the sources, this is obsolete."
+msgstr "Η ετικέτα <TITLE> ... </TITLE> χρησιμοποιείται για να ορίσει τους τίτλους των ενοτήτων. Χρησιμεύει μόνο πριν τη δημιουργία των προτύπων, καθώς ο τίτλος που περιέχεται στα αρχεία προτύπων αντικαθιστά αυτούς τους τίτλους. Επίσης, αν χρησιμοποιείται το σχόλιο SECTION στον πηγαίο κώδικα, αυτό είναι πεπαλαιωμένο."
+
+#: C/gtk-doc-manual.xml:1521(para)
+msgid "You can group items in the section by using the <SUBSECTION> tag. Currently it outputs a blank line between subsections in the synopsis section. You can also use <SUBSECTION Standard> for standard GObject declarations (e.g. the functions like g_object_get_type and macros like G_OBJECT(), G_IS_OBJECT() etc.). Currently these are left out of the documentation. You can also use <SUBSECTION Private> for private declarations which will not be output (It is a handy way to avoid warning messages about unused declarations.). If your library contains private types which you don't want to appear in the object hierarchy and the list of implemented or required interfaces, add them to a Private subsection. Wheter you would place GObject and GObjectClass like structs in public or Standard section depends if they have public entries (variables, vmethods)."
+msgstr "Μπορείτε να ομαδοποιείτε τα στοιχεία των ενοτήτων χρησιμοποιώντας την ετικέτα <SUBSECTION>. Με την τωρινή της μορφή, προσθέτει μία κενή γραμμή μεταξύ υποενοτήτων στη σύνοπτική παρουσίαση. Μπορείτε, επίσης, να χρησιμοποιήσετε την ετικέτα <SUBSECTION Standard> για κλασικές δηλώσεις GObject (π.χ. συναρτήσεις όπως η g_object_get_type και μακροεντολές όπως οι G_OBJECT(), G_IS_OBJECT(), κτλ.). Προς το παρόν, αυτές οι δηλώσεις μένουν εκτός τεκμηρίωσης. Τέλος, μπορείτε να χρησιμοποιήσετε την ετικέτα <SUBSECTION Private> για ιδιωτικές δηλώσεις που δεν πρόκειται να εμφανιστούν στην τεκμηρίωση (έτσι αποφεύγετε τις προειδοποιήσεις για δηλώσεις που δεν χρησιμοποιούνται). Αν η βιβλιοθήκη σας περιέχει ιδιωτικούς τύπους, για τους οποίους δεν επιθυμείτε να εμφανίζονται στην ιεραρχία αντικειμένων και στη λίστα υλοποιημένων ή απαιτούμενων διεπαφών, μπορείτε να τους προσθέσετε σε μία ιδιωτική υποενότητα."
+
+#: C/gtk-doc-manual.xml:1540(para)
+msgid "You can also use <INCLUDE> ... </INCLUDE> to specify the #include files which are shown in the synopsis sections. It contains a comma-separate list of #include files, without the angle brackets. If you set it outside of any sections, it acts for all sections until the end of the file. If you set it within a section, it only applies to that section."
+msgstr "Μπορείτε, επίσης, να χρησιμοποιείτε την ετικέτα <INCLUDE> ... </INCLUDE> για τα αρχεία #include που περιλαμβάνονται στις ενότητες συνοπτικής παρουσίασης. Περιέχει μία λίστα με αρχεία #include, χωρισμένα με κόμματα και χωρίς τα '<' και '>'. Αν δεν τη χρησιμοποιήσετε στο εσωτερικό κάποιας ενότητας, θα αφορά όλες τις ενότητες μέχρι το τέλος του αρχείου. Αν τη χρησιμοποιήσετε στο εσωτερικό μιας ενότητας, τότε θα αφορά μόνο τη συγκεκριμένη ενότητα. "
+
+#: C/gtk-doc-manual.xml:1554(title)
+msgid "Controlling the result"
+msgstr "Έλεγχος αποτελέσματος"
+
+#: C/gtk-doc-manual.xml:1556(para)
+msgid "A GTK-Doc run generates report files inside the documentation directory. The generated files are named: <filename><package>-undocumented.txt</filename>, <filename><package>-undeclared.txt</filename> and <filename><package>-unused.txt</filename>. All those are plain text files that can be viewed and postprocessed easily."
+msgstr "Κατά την εκτέλεση του GTK-Doc παράγονται αρχεία αναφορών που τοποθετούνται στον κατάλογο της τεκμηρίωσης. Πρόκειται για τα αρχεία: <filename><package>-undocumented.txt</filename>, <filename><package>-undeclared.txt</filename> και <filename><package>-unused.txt</filename>. Είναι αρχεία απλού κειμένου, εύκολα στην ανάγνωση και επεξεργασία."
+
+#: C/gtk-doc-manual.xml:1565(para)
+msgid "The <filename><package>-undocumented.txt</filename> file starts with the documentation coverage summary. Below are two sections divided by blank lines. The first section lists undocumented or incomplete symbols. The second section does the same for section docs. Incomplete entries are those, which have documentation, but where e.g. a new parameter has been added."
+msgstr "Το αρχείο <filename><package>-undocumented.txt</filename> ξεκινά με μία περίληψη της κάλυψης της τεκμηρίωσης. Ακολουθούν δύο ενότητες που χωρίζονται μεταξύ τους με κενές γραμμές. Η πρώτη ενότητα αναφέρει τα σύμβολα που δε διαθέτουν τεκμηρίωση ή είναι ημιτελή. Η δεύτερη καταγράφει τα ίδια στοιχεία για την τεκμηρίωση των ενοτήτων. Ημιτελείς θεωρούνται οι καταχωρήσεις για τις οποίες υπάρχει τεκμηρίωση, αλλά στις οποίες π.χ. προστέθηκε μια νέα παράμετρος."
+
+#: C/gtk-doc-manual.xml:1574(para)
+msgid "The <filename><package>-undeclared.txt</filename> file lists symbols given in the <filename><package>-sections.txt</filename> but not found in the sources. Check if they have been removed or if they are misspelled."
+msgstr "Το αρχείο <filename><package>-undeclared.txt</filename> περιέχει σύμβολα που αναφέρονται στο αρχείο <filename><package>-sections.txt</filename>, αλλά δε βρέθηκαν στον πηγαίο κώδικα. Θα πρέπει να ελέγξετε αν έχουν αφαιρεθεί ή αν περιέχουν συντακτικά λάθη."
+
+#: C/gtk-doc-manual.xml:1581(para)
+msgid "The <filename><package>-unused.txt</filename> file lists symbol names, where the GTK-Doc scanner has found documentation, but does not know where to put it. This means that the symbol has not yet been added to the <filename><package>-sections.txt</filename> file."
+msgstr "Το αρχείο <filename><package>-unused.txt</filename> περιέχει ονόματα συμβόλων για τα οποία η σάρωση του GTK-Doc βρήκε τεκμηρίωση, αλλά δεν γνωρίζει πού να την τοποθετήσει. Aυτό σημαίνει ότι τα σύμβολα δεν έχουν προστεθεί ακόμη στο αρχείο <filename><package>-sections.txt</filename>."
+
+#: C/gtk-doc-manual.xml:1589(para)
+msgid "Enable or add the <option>TESTS=$(GTKDOC_CHECK)</option> line in Makefile.am. If at least GTK-Doc 1.9 is installed, this will run sanity checks during <command>make check</command> run."
+msgstr "Ενεργοποιήστε ή προσθέστε τη γραμμή <option>TESTS=($GTKDOC_CHECK)</option> στο Makefile.am. Αν έχετε εγκατεστημένη την έκδοση 1.9 ή μεταγενέστερη, θα πραγματοποιεί διάφορους ελέγχους κατά την εκτέλεση του <command>make check</command>."
+
+#: C/gtk-doc-manual.xml:1596(para)
+msgid "One can also look at the files produced by the source code scanner: <filename><package>-decl-list.txt</filename> and <filename><package>-decl.txt</filename>. The first one can be compared with the section file if that is manualy maintained. The second lists all declarations fromt he headers If a symbol is missing one could check if this file contains it."
+msgstr "Μπορείτε επίσης να δείτε τα αρχεία που παράγονται από το σαρωτή του πηγαίου κώδικα: <filename><package>-decl-list.txt</filename> και <filename><package>-decl.txt</filename>. Το πρώτο μπορεί να συγκριθεί με το αρχείο της ενότητας, αν αυτό συντηρείται χειροκίνητα. Το δεύτερο περιέχει μια λίστα με από τις κεφαλίδες. Αν ένα σύμβολο λείπει, μπορείτε να ελέγξετε αν περιέχεται σε αυτό το αρχείο."
+
+#: C/gtk-doc-manual.xml:1605(para)
+msgid "If the project is GObject based, one can also look into the files produced by the object scanner: <filename><package>.args.txt</filename>, <filename><package>.hierarchy.txt</filename>, <filename><package>.interfaces.txt</filename>, <filename><package>.prerequisites.txt</filename> and <filename><package>.signals.txt</filename>. If there are missing symbols in any of those, one can ask gtkdoc to keep the intermedia scanner file for further analysis, but running it as <command>GTK_DOC_KEEP_INTERMEDIATE=1 make</command>."
+msgstr "Αν το έργο βασίζεται στο GObject, μπορείτε επίσης να δείτε τα αρχεία που παράγονται από το σαρωτή αντικειμένων: <filename><package>.args.txt</filename>, <filename><package>.hierarchy.txt</filename>, <filename><package>.interfaces.txt</filename>, <filename><package>.prerequisites.txt</filename> και <filename><package>.signals.txt</filename>. Αν λείπουν σύμβολα από οποιοδήποτε από αυτά, μπορείτε να ζητήσετε από το gtkdoc να κρατήσει το ενδιάμεσο αρχείο σάρωσης για περαιτέρω ανάλυση, αλλά εκτελώντας το ως <command>GTK_DOC_KEEP_INTERMEDIATE=1 make</command>."
+
+#: C/gtk-doc-manual.xml:1620(title)
+msgid "Documenting other interfaces"
+msgstr "Τεκμηρίωση άλλων επιφανειών"
+
+#: C/gtk-doc-manual.xml:1622(para)
+msgid "So far we have been using GTK-Doc to document the API of code. The next sections contain suggestions how the tools can be used to document other interfaces too."
+msgstr "Τόσο καιρό χρησιμοποιούσαμε το GTK-Doc για να καταγράψουμε το API του κώδικα. Οι επόμενες συνεδρίες περιέχουν προτάσεις για το πώς τα εργαλεία μπορούν να χρησιμοποιηθούν ώστε να καταγράψετε και άλλες επιφάνειες."
+
+#: C/gtk-doc-manual.xml:1629(title)
+msgid "Commandline options and man pages"
+msgstr "Επιλογές γραμμής εντολών και σελίδες man"
+
+#: C/gtk-doc-manual.xml:1631(para)
+msgid "As one can generate man pages for a docbook refentry as well, it sounds like a good idea to use it for that purpose. This way the interface is part of the reference and one gets the man-page for free."
+msgstr "Δεδομένου ότι κάποιος μπορεί να παραγάγει σελίδες man για ένα docbook refentry επίσης, θα ήταν καλή ιδέα να χρησιμοποιηθεί και για αυτόν τον σκοπό. Με αυτόν τον τρόπο η διεπαφή γίνεται μέρος της αναφοράς και αποχτά την σελίδα-man δωρεάν."
+
+#: C/gtk-doc-manual.xml:1638(title)
+msgid "Document the tool"
+msgstr "Τεκμηρίωση του εργαλείου"
+
+#: C/gtk-doc-manual.xml:1640(para)
+msgid "Create one refentry file per tool. Following <link linkend=\"settingup_docfiles\">our example</link> we would call it <filename>meep/docs/reference/meeper/meep.xml</filename>. For the xml tags that should be used and can look at generated file in the xml subdirectory as well as examples e.g. in glib."
+msgstr "Δημιουργήστε ένα refentry αρχείο ανά εργαλείο. Ακολουθώντας <link linkend=\"settingup_docfiles\"> το παράδειγμά μας </link> θα το ονομάσουμε <filename>meep/docs/reference/meeper/meep.xml</filename>. Για τις ετικέτες xml που πρέπει να χρησιμοποιηθούν και μπορούν να εξετάσουν το παραγόμενο αρχείο στον υποκατάλογο xml καθώς επίσης και τα παραδείγματα π.χ. στο glib."
+
+#: C/gtk-doc-manual.xml:1650(title)
+msgid "Adding the extra configure check"
+msgstr "Προσθήκη του έξτρα ελέγχου διαμόρφωσης"
+
+#: C/gtk-doc-manual.xml:1653(title)
+#: C/gtk-doc-manual.xml:1673(title)
+msgid "Extra configure checks"
+msgstr "Έξτρα έλεγχοι διαμόρφωσης"
+
+#: C/gtk-doc-manual.xml:1670(title)
+msgid "Adding the extra makefile rules"
+msgstr "Προσθήκη των έξτρα κανόνων makefile"
+
+#: C/gtk-doc-manual.xml:1698(title)
+msgid "DBus interfaces"
+msgstr "DBus interfaces"
+
+#: C/gtk-doc-manual.xml:1700(para)
+msgid "(FIXME: http://hal.freedesktop.org/docs/DeviceKit/DeviceKit.html, http://cgit.freedesktop.org/DeviceKit/DeviceKit/tree/doc/dbus)"
+msgstr "(FIXME: http://hal.freedesktop.org/docs/DeviceKit/DeviceKit.html, http://cgit.freedesktop.org/DeviceKit/DeviceKit/tree/doc/dbus)"
+
+#: C/gtk-doc-manual.xml:1709(title)
+msgid "Frequently asked questions"
+msgstr "Συχνές ερωτήσεις"
+
+#: C/gtk-doc-manual.xml:1713(segtitle)
+msgid "Question"
+msgstr "Ερώτηση"
+
+#: C/gtk-doc-manual.xml:1714(segtitle)
+msgid "Answer"
+msgstr "Απάντηση"
+
+#: C/gtk-doc-manual.xml:1716(seg)
+msgid "No class hierarchy."
+msgstr "Δεν υπάρχει ιεραρχία κλάσεων."
+
+#: C/gtk-doc-manual.xml:1718(function)
+msgid "xxx_get_type()"
+msgstr "xxx_get_type()"
+
+#: C/gtk-doc-manual.xml:1719(filename)
+msgid "<package>.types"
+msgstr "<package>.types"
+
+#: C/gtk-doc-manual.xml:1717(seg)
+msgid "The objects <placeholder-1/> function has not been entered into the <placeholder-2/> file."
+msgstr "Η συνάρτηση αντικειμένου <placeholder-1/> δεν έχει εισαχθεί στο αρχείο <placeholder-2/>."
+
+#: C/gtk-doc-manual.xml:1723(seg)
+msgid "Still no class hierarchy."
+msgstr "Εξακολουθεί να μην υπάρχει ιεραρχία κλάσεων."
+
+#: C/gtk-doc-manual.xml:1725(filename)
+#: C/gtk-doc-manual.xml:1764(filename)
+#: C/gtk-doc-manual.xml:1772(filename)
+#: C/gtk-doc-manual.xml:1794(filename)
+msgid "<package>-sections.txt"
+msgstr "<package>-sections.txt"
+
+#: C/gtk-doc-manual.xml:1726(ulink)
+msgid "explanation"
+msgstr "εξήγηση"
+
+#: C/gtk-doc-manual.xml:1724(seg)
+msgid "Missing or wrong naming in <placeholder-1/> file (see <placeholder-2/>)."
+msgstr "Απόντα ή λανθασμένα ονόματα στο αρχείο <placeholder-1/> (βλέπε <placeholder-2/>)."
+
+#: C/gtk-doc-manual.xml:1730(seg)
+msgid "Damn, I have still no class hierarchy."
+msgstr "Πάλι δεν έχω ιεραρχία κλάσεων."
+
+#: C/gtk-doc-manual.xml:1732(type)
+#: C/gtk-doc-manual.xml:1773(type)
+msgid "GtkWidget"
+msgstr "GtkWidget"
+
+#: C/gtk-doc-manual.xml:1731(seg)
+msgid "Is the object name (name of the instance struct, e.g. <placeholder-1/>) part of the normal section (don't put this into Standard or Private subsections)."
+msgstr "Ελέγξτε αν το όνομα του αντικειμένου (δηλαδή το όνομα του συγκεκριμένου παραδείγματος της δομής, π.χ. <placeholder-1/>) περιλαμβάνεται στην κανονική ενότητα (δεν πρέπει να βρίσκεται εντός υποενότητας Standard ή Private)."
+
+#: C/gtk-doc-manual.xml:1738(seg)
+msgid "No symbol index."
+msgstr "Δεν υπάρχει ευρετήριο συμβόλων."
+
+#: C/gtk-doc-manual.xml:1740(filename)
+#: C/gtk-doc-manual.xml:1755(filename)
+#: C/gtk-doc-manual.xml:1781(filename)
+msgid "<package>-docs.{xml,sgml}"
+msgstr "<package>-docs.{xml,sgml}"
+
+#: C/gtk-doc-manual.xml:1739(seg)
+msgid "Does the <placeholder-1/> contain a index that xi:includes the generated index?"
+msgstr "Το <placeholder-1/> περιέχει ένα ευρετήριο το οποίο περιλαμβάνει με xi:includes το παραγόμενο ευρετήριο;"
+
+#: C/gtk-doc-manual.xml:1745(seg)
+msgid "Symbols are not linked to their doc-section."
+msgstr "Δεν υπάρχουν σύνδεσμοι μεταξύ των συμβόλων και των κατάλληλων ενοτήτων της τεκμηρίωσης."
+
+#: C/gtk-doc-manual.xml:1746(seg)
+msgid "Is the doc-comment using the correct markup (added #,% or ())? Check if the gtkdoc-fixxref warns about unresolvable xrefs."
+msgstr "Το doc-comment χρησιμοποιεί σωστά τις ετικέτες (έχουν προστεθεί #,% ή ()); Ελέγξτε αν το gtkdoc-fixxref προειδοποιεί για ανεπίλυτα xrefs."
+
+#: C/gtk-doc-manual.xml:1752(seg)
+msgid "A new class does not appear in the docs."
+msgstr "Μια νέα κλάση δεν εμφανίζεται στην τεκμηρίωση."
+
+#: C/gtk-doc-manual.xml:1753(seg)
+msgid "Is the new page xi:included from <placeholder-1/>."
+msgstr "Συμπεριλαμβάνεται μέσω xi:included η νέα σελίδα από το <placeholder-1/>;"
+
+#: C/gtk-doc-manual.xml:1759(seg)
+msgid "A new symbol does not appear in the docs."
+msgstr "Ένα νέο σύμβολο δεν εμφανίζεται στην τεκμηρίωση."
+
+#: C/gtk-doc-manual.xml:1760(seg)
+msgid "Is the doc-comment properly formatted. Check for spelling mistakes in the begin of the comment. Check if the gtkdoc-fixxref warns about unresolvable xrefs. Check if the symbol is correctly listed in the <placeholder-1/> in a public subsection."
+msgstr "Είναι το doc-comment κανονικά μορφοποιημένο; Ελέγξτε για συντακτικά λάθη στην αρχή του σχολίου. Ελέγξτε αν το gtkdoc-fixxref προειδοποιεί για ανεπίλυτα xref. Ελέγξτε αν το σύμβολο είναι σωστά καταχωρημένο στο <placeholder-1/> σε μια δημόσια υποενότητα."
+
+#: C/gtk-doc-manual.xml:1768(seg)
+msgid "A type is missing from the class hierarchy."
+msgstr "Λείπει ένας τύπος από την ιεραρχία κλάσεων."
+
+#: C/gtk-doc-manual.xml:1770(filename)
+msgid "<package>.hierarchy"
+msgstr "<package>.hierarchy"
+
+#: C/gtk-doc-manual.xml:1771(filename)
+msgid "xml/tree_index.sgml"
+msgstr "xml/tree_index.sgml"
+
+#: C/gtk-doc-manual.xml:1769(seg)
+msgid "If the type is listed in <placeholder-1/> but not in <placeholder-2/> then double check that the type is correctly placed in the <placeholder-3/>. If the type instance (e.g. <placeholder-4/>) is not listed or incidentialy makred private it will not be shown."
+msgstr "Αν ο τύπος υπάρχει στο <placeholder-1/> αλλά όχι στο <placeholder-2/> τότε ελέγξτε ξανά ότι ο τύπος είναι σωστά τοποθετημένος στο <placeholder-3/>. Αν η περίσταση του τύπου (π.χ. <placeholder-4/>) δεν είναι καταχωρημένη, ή είναι κατά λάθος σημειωμένη ως ιδιωτική, τότε δε θα εμφανιστεί."
+
+#: C/gtk-doc-manual.xml:1778(seg)
+msgid "I get foldoc links for all gobject annotations."
+msgstr "Λαμβάνω συνδέσμους foldoc για όλες τις σημειώσεις gobject."
+
+#: C/gtk-doc-manual.xml:1780(filename)
+msgid "xml/annotation-glossary.xml"
+msgstr "xml/annotation-glossary.xml"
+
+#: C/gtk-doc-manual.xml:1779(seg)
+msgid "Check that <placeholder-1/> is xi:included from <placeholder-2/>."
+msgstr "Ελέγξτε ότι το <placeholder-1/> συμπεριλαμβάνεται με xi:included από το <placeholder-2/>."
+
+#: C/gtk-doc-manual.xml:1787(seg)
+msgid "Parameter described in source code comment block but does not exist"
+msgstr "Μια παράμετρος περιγράφεται σε σχόλιο του πηγαίου κώδικα, αλλά δεν υπάρχει"
+
+#: C/gtk-doc-manual.xml:1788(seg)
+msgid "Check if the prototype in the header has different parameter names as in the source."
+msgstr "Ελέγξτε αν το πρωτότυπο στην κεφαλίδα περιέχει διαφορετικό όνομα για την παράμετρο από αυτό που αναφέρεται στον κώδικα."
+
+#: C/gtk-doc-manual.xml:1793(seg)
+msgid "multiple \"IDs\" for constraint linkend: XYZ"
+msgstr "Πολλαπλά \"IDs\" για τον προορισμό συνδέσμου: XYZ"
+
+#: C/gtk-doc-manual.xml:1794(seg)
+msgid "Symbol XYZ appears twice in <placeholder-1/> file."
+msgstr "Το σύμβολο XYZ εμφανίζεται δύο φορές στο <placeholder-1/>."
+
+#: C/gtk-doc-manual.xml:1797(seg)
+msgid "Element typename in namespace '' encountered in para, but no template matches."
+msgstr "Βρέθηκε το όνομα τύπου του στοιχείου στο namespace '', αλλά δεν αντιστοιχεί σε κανένα πρότυπο."
+
+#: C/gtk-doc-manual.xml:12(releaseinfo)
+msgid "Version 1.1, March 2000"
+msgstr "Έκδοση 1.1, Μάρτιος 2000"
+
+#: C/gtk-doc-manual.xml:16(year)
+msgid "2000"
+msgstr "2000"
+
+#: C/gtk-doc-manual.xml:16(holder)
+msgid "Free Software Foundation, Inc."
+msgstr "Free Software Foundation, Inc."
+
+#: C/gtk-doc-manual.xml:19(para)
+msgid "<address>Free Software Foundation, Inc. <street>51 Franklin Street, Suite 330</street>, <city>Boston</city>, <state>MA</state><postcode>02110-1301</postcode><country>USA</country></address> Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed."
+msgstr "<address>Free Software Foundation, Inc. <street>51 Franklin Street, Fifth Floor</street>, <city>Boston</city>, <state>MA</state><postcode>02110-1301</postcode><country>USA</country></address>. Επιτρέπεται σε όλους η αντιγραφή και διανομή ακριβούς αντιγράφου του κειμένου αυτής της άδειας αλλά απαγορεύεται η αλλοίωση του περιεχομένου του."
+
+#: C/gtk-doc-manual.xml:28(title)
+msgid "GNU Free Documentation License"
+msgstr "Άδεια Ελεύθερης Τεκμηρίωσης GNU (GFDL)"
+
+#: C/gtk-doc-manual.xml:31(title)
+msgid "0. PREAMBLE"
+msgstr "0. ΠΡΟΟΙΜΙΟ"
+
+#: C/gtk-doc-manual.xml:32(para)
+msgid "The purpose of this License is to make a manual, textbook, or other written document <quote>free</quote> in the sense of freedom: to assure everyone the effective freedom to copy and redistribute it, with or without modifying it, either commercially or noncommercially. Secondarily, this License preserves for the author and publisher a way to get credit for their work, while not being considered responsible for modifications made by others."
+msgstr "Σκοπός της παρούσας Άδειας είναι η δημιουργία εγχειριδίων, συγγραμμάτων ή άλλων εγγράφων που είναι <quote>ελεύθερα</quote> υπό την έννοια ότι παρέχουν σε όλους πραγματική ελευθερία αντιγραφής και αναδιανομής τους, με ή χωρίς τροποποιήσεις, για εμπορικούς ή μη εμπορικούς σκοπούς. Δευτερευόντως, η παρούσα Άδεια παρέχει έναν τρόπο για να αναγνωρίζεται το έργο του συγγραφέα και του εκδότη ενός έργου, χωρίς να μπορούν να θεωρηθούν υπεύθυνοι για τροποποιήσεις που έγιναν από τρίτους."
+
+#: C/gtk-doc-manual.xml:43(para)
+msgid "This License is a kind of <quote>copyleft</quote>, which means that derivative works of the document must themselves be free in the same sense. It complements the GNU General Public License, which is a copyleft license designed for free software."
+msgstr "Η παρούσα Άδεια είναι άδεια τύπου <quote>copyleft</quote>, το οποίο σημαίνει ότι τα παράγωγα έργα του εγγράφου θα πρέπει να είναι και αυτά ελεύθερα υπό την ίδια έννοια. Πρόκειται για άδεια συμπληρωματική της Γενικής Άδειας Δημόσιας Χρήσης GNU, που είναι άδεια copyleft σχεδιασμένη για ελεύθερο λογισμικό."
+
+#: C/gtk-doc-manual.xml:50(para)
+msgid "We have designed this License in order to use it for manuals for free software, because free software needs free documentation: a free program should come with manuals providing the same freedoms that the software does. But this License is not limited to software manuals; it can be used for any textual work, regardless of subject matter or whether it is published as a printed book. We recommend this License principally for works whose purpose is instruction or reference."
+msgstr "Σχεδιάσαμε αυτήν την Άδεια για χρήση με εγχειρίδια ελεύθερου λογισμικού, γιατί το ελεύθερο λογισμικό χρειάζεται και ελεύθερη τεκμηρίωση: τα ελεύθερα προγράμματα πρέπει να συνοδεύονται από εγχειρίδια που παρέχουν τις ίδιες ελευθερίες που παρέχει και το λογισμικό. Ωστόσο, αυτή η Άδεια δεν περιορίζεται στα εγχειρίδια λογισμικού· μπορεί να χρησιμοποιηθεί για οποιοδήποτε έργο κειμένου, ανεξάρτητα από το θέμα του ή από το αν εκδίδεται σε έντυπη μορφή. Συνιστούμε αυτή την Άδεια, κυρίως, για διδακτικό υλικό ή έργα αναφοράς."
+
+#: C/gtk-doc-manual.xml:62(title)
+msgid "1. APPLICABILITY AND DEFINITIONS"
+msgstr "1. ΙΣΧΥΣ ΚΑΙ ΟΡΙΣΜΟΙ"
+
+#: C/gtk-doc-manual.xml:63(para)
+msgid "This License applies to any manual or other work that contains a notice placed by the copyright holder saying it can be distributed under the terms of this License. The <quote>Document</quote>, below, refers to any such manual or work. Any member of the public is a licensee, and is addressed as <quote>you</quote>."
+msgstr "Η Άδεια αυτή εφαρμόζεται σε κάθε εγχειρίδιο ή άλλο έργο που περιέχει ένδειξη του δικαιούχου δικαιωμάτων πνευματικής ιδιοκτησίας, ότι επιτρέπεται η διανομή του υπό τους όρους αυτής της Άδειας. Ως <quote>Έγγραφο</quote>, κατωτέρω, αναφέρεται κάθε τέτοιο εγχειρίδιο. Ως κάτοχος της άδειας χρήσης θεωρείται κάθε άτομο, και αναφέρεται ως <quote>εσείς</quote>."
+
+#: C/gtk-doc-manual.xml:72(para)
+msgid "A <quote>Modified Version</quote> of the Document means any work containing the Document or a portion of it, either copied verbatim, or with modifications and/or translated into another language."
+msgstr "Ως <quote>Τροποποιημένη Έκδοση</quote> του Εγγράφου θεωρείται κάθε έργο που περιέχει το Έγγραφο ή μέρος αυτού, είτε ως ακριβές αντίγραφο, είτε τροποποιημένο και/είτε μεταφρασμένο σε άλλη γλώσσα."
+
+#: C/gtk-doc-manual.xml:79(para)
+msgid "A <quote>Secondary Section</quote> is a named appendix or a front-matter section of the <link linkend=\"fdl-document\">Document</link> that deals exclusively with the relationship of the publishers or authors of the Document to the Document's overall subject (or to related matters) and contains nothing that could fall directly within that overall subject. (For example, if the Document is in part a textbook of mathematics, a Secondary Section may not explain any mathematics.) The relationship could be a matter of historical connection with the subject or with related matters, or of legal, commercial, philosophical, ethical or political position regarding them."
+msgstr "Ως <quote>Δευτερεύουσα Ενότητα</quote> θεωρείται κάθε παράρτημα ή αρχική ενότητα του <link linkend=\"fdl-document\">Εγγράφου</link> που αναφέρεται αποκλειστικά στη σχέση των εκδοτών ή συγγραφέων του Εγγράφου με το συνολικό θέμα του Εγγράφου (ή σχετικά ζητήματα), και που δεν περιέχει οτιδήποτε μπορεί να θεωρηθεί ότι εντάσσεται άμεσα στο συνολικό αυτό θέμα. (Επί παραδείγματι, αν το Έγγραφο αποτελεί, εν μέρει, σύγγραμμα μαθηματικών, η Δευτερεύουσα Ενότητα δεν επιτρέπεται να επεξηγεί μαθηματικές έννοιες.) Η σχέση μπορεί να αποτελεί ιστορική σύνδεση με το θέμα ή σχετικά ζητήματα, ή νομική, εμπορική, φιλοσοφική, ηθική ή πολιτική θέση επί του θέματος ή σχετικών ζητημάτων."
+
+#: C/gtk-doc-manual.xml:94(para)
+msgid "The <quote>Invariant Sections</quote> are certain <link linkend=\"fdl-secondary\"> Secondary Sections</link> whose titles are designated, as being those of Invariant Sections, in the notice that says that the <link linkend=\"fdl-document\">Document</link> is released under this License."
+msgstr "<quote>Αμετάβλητες Ενότητες</quote> είναι ορισμένες <link linkend=\"fdl-secondary\">Δευτερεύουσες Ενότητες</link> των οποίων οι τίτλοι αναφέρονται ρητώς ως τίτλοι Αμετάβλητων Ενοτήτων στην ένδειξη όπου αναφέρεται ότι το <link linkend=\"fdl-document\">Έγγραφο</link> δημοσιεύεται υπό τους όρους αυτής της Άδειας."
+
+#: C/gtk-doc-manual.xml:103(para)
+msgid "The <quote>Cover Texts</quote> are certain short passages of text that are listed, as Front-Cover Texts or Back-Cover Texts, in the notice that says that the <link linkend=\"fdl-document\">Document</link> is released under this License."
+msgstr "Τα <quote>Κείμενα Εξωφύλλου</quote> είναι σύντομα αποσπάσματα κειμένου που αναφέρονται ρητώς ως Κείμενα Εμπροσθοφύλλου ή Κείμενα Οπισθοφύλλου στην ένδειξη όπου αναφέρεται ότι το <link linkend=\"fdl-document\">Έγγραφο</link> δημοσιεύεται υπό τους όρους αυτής της Άδειας."
+
+#: C/gtk-doc-manual.xml:111(para)
+msgid "A <quote>Transparent</quote> copy of the <link linkend=\"fdl-document\"> Document</link> means a machine-readable copy, represented in a format whose specification is available to the general public, whose contents can be viewed and edited directly and straightforwardly with generic text editors or (for images composed of pixels) generic paint programs or (for drawings) some widely available drawing editor, and that is suitable for input to text formatters or for automatic translation to a variety of formats suitable for input to text formatters. A copy made in an otherwise Transparent file format whose markup has been designed to thwart or discourage subsequent modification by readers is not Transparent. A copy that is not <quote>Transparent</quote> is called <quote>Opaque</quote>."
+msgstr "Ως <quote>Διαφανές</quote> αντίγραφο του <link linkend=\"fdl-document\">Εγγράφου</link> θεωρείται κάθε αντίγραφο σε μορφή αναγνώσιμη από μηχανή, όταν συντρέχουν οι εξής προϋποθέσεις: Οι τεχνικές προδιαγραφές τις μορφής αυτής είναι διαθέσιμες για δημόσια χρήση· τα περιεχόμενα του αντιγράφου μπορούν να προβληθούν και να τύχουν επεξεργασίας άμεσα και απλά, με χρήση γενόσημων επεξεργαστών κειμένου ή ( για εικόνες αποτελούμενες από εικονοστοιχεία) γενόσημων προγραμμάτων ζωγραφικής ή (για σχέδια) ευρέως διαθέσιμων επεξεργαστών σχεδίων· το αντίγραφο είναι κατάλληλο για είσοδο σε μορφοποιητές κειμένου ή για αυτόματη μετάφραση σε ποικίλες μορφές κατάλληλες για είσοδο σε μορφοποιητές κειμένου. Δεν θεωρείται Διαφανές ένα αντίγραφο σε Διαφανή, κατά τα λοιπά, μορφή αρχείου, του οποίου η σήμανση έχει σχεδιαστεί κατά τρόπο που να αποτρέπει ή να αποθαρρύνει τη μελλοντική τροποποίηση του αντιγράφου από τους αναγνώστες. Το αντίγραφο που δεν είναι <quote>Διαφανές</quote> ονομάζεται <quote>Αδιαφανές</quote>."
+
+#: C/gtk-doc-manual.xml:128(para)
+msgid "Examples of suitable formats for Transparent copies include plain ASCII without markup, Texinfo input format, LaTeX input format, SGML or XML using a publicly available DTD, and standard-conforming simple HTML designed for human modification. Opaque formats include PostScript, PDF, proprietary formats that can be read and edited only by proprietary word processors, SGML or XML for which the DTD and/or processing tools are not generally available, and the machine-generated HTML produced by some word processors for output purposes only."
+msgstr "Παραδείγματα μορφών κατάλληλων για τη δημιουργία Διαφανών αντιγράφων είναι η απλή ASCII χωρίς σήμανση, η μορφή εισόδου Texinfo, η μορφή εισόδου LaTeX, η SGML ή XML που χρησιμοποιούν δημοσίως διαθέσιμη DTD, και η HTML που συμμορφώνεται με πρότυπα και έχει σχεδιαστεί για τροποποίηση από τον άνθρωπο. Στις Αδιαφανείς μορφές συμπεριλαμβάνονται η PostScript, η PDF, οι ιδιοταγείς μορφές που αναγιγνώσκονται μόνο από ιδιοταγείς επεξεργαστές κειμένου, η SGML ή XML των οποίων η DTD και/ή τα εργαλεία επεξεργασίας δεν είναι δημοσίως διαθέσιμα, και η HTML με αποκλειστικό προορισμό την έξοδο που παράγουν μηχανοκίνητα ορισμένοι επεξεργαστές κειμένου."
+
+#: C/gtk-doc-manual.xml:141(para)
+msgid "The <quote>Title Page</quote> means, for a printed book, the title page itself, plus such following pages as are needed to hold, legibly, the material this License requires to appear in the title page. For works in formats which do not have any title page as such, <quote>Title Page</quote> means the text near the most prominent appearance of the work's title, preceding the beginning of the body of the text."
+msgstr "Ως <quote>Σελίδα Τίτλου</quote> θεωρείται, για τα έντυπα βιβλία, η σελίδα τίτλου αυτή καθαυτή, καθώς και τυχόν επόμενες σελίδες που απαιτούνται για την ευανάγνωστη συμπερίληψη του υλικού που οφείλει να εμφανίζεται στη σελίδα τίτλου σύμφωνα με την παρούσα Άδεια. Για τα έργα σε μορφές που δεν περιλαμβάνουν σελίδα τίτλου αυτή καθαυτή, ως <quote>Σελίδα Τίτλου</quote> θεωρείται το κείμενο που βρίσκεται κοντά στην εμφανέστερη εμφάνιση του τίτλου του έργου και το οποίο προηγείται του σώματος του κειμένου."
+
+#: C/gtk-doc-manual.xml:153(title)
+msgid "2. VERBATIM COPYING"
+msgstr "2. ΑΚΡΙΒΗ ΑΝΤΙΓΡΑΦΑ"
+
+#: C/gtk-doc-manual.xml:154(para)
+msgid "You may copy and distribute the <link linkend=\"fdl-document\">Document</link> in any medium, either commercially or noncommercially, provided that this License, the copyright notices, and the license notice saying this License applies to the Document are reproduced in all copies, and that you add no other conditions whatsoever to those of this License. You may not use technical measures to obstruct or control the reading or further copying of the copies you make or distribute. However, you may accept compensation in exchange for copies. If you distribute a large enough number of copies you must also follow the conditions in <link linkend=\"fdl-section3\">section 3</link>."
+msgstr "Σας χορηγείται άδεια αντιγραφής και διανομής του <link linkend=\"fdl-document\">Εγγράφου</link> σε οποιοδήποτε μέσο, για εμπορικό ή μη εμπορικό σκοπό, με την προϋπόθεση ότι σε κάθε αντίγραφο θα συμπεριλαμβάνετε την παρούσα Άδεια, τις ενδείξεις δικαιωμάτων πνευματικής ιδιοκτησίας και την ένδειξη άδειας χρήσης που αναφέρει ότι για το έγγραφο ισχύει η παρούσα Άδεια, και με την προϋπόθεση ότι δεν θα προσθέσετε κανένα επιπρόσθετο όρο πέρα από τους όρους της Άδειας. Δεν σας επιτρέπεται να χρησιμοποιήσετε τεχνικά μέτρα για την παρεμπόδιση ή τον έλεγχο της ανάγνωσης ή περαιτέρω αντιγραφής των αντιγράφων που δημιουργείτε ή διανέμετε. Ωστόσο, μπορείτε να αποδεχτείτε αποζημίωση σε αντάλλαγμα των αντιγράφων. Αν διανέμετε επαρκή αριθμό αντιγράφων, θα πρέπει να συμμορφωθείτε και με τους όρους της <link linkend=\"fdl-section3\">ενότητας 3</link>."
+
+#: C/gtk-doc-manual.xml:169(para)
+msgid "You may also lend copies, under the same conditions stated above, and you may publicly display copies."
+msgstr "Επίσης, μπορείτε να δανείζετε αντίγραφα σύμφωνα με τους ως άνω όρους και να προβάλλετε δημοσίως τα αντίγραφα."
+
+#: C/gtk-doc-manual.xml:176(title)
+msgid "3. COPYING IN QUANTITY"
+msgstr "3. ΑΝΤΙΓΡΑΦΗ ΣΕ ΜΕΓΑΛΕΣ ΠΟΣΟΤΗΤΕΣ"
+
+#: C/gtk-doc-manual.xml:177(para)
+msgid "If you publish printed copies of the <link linkend=\"fdl-document\">Document</link> numbering more than 100, and the Document's license notice requires <link linkend=\"fdl-cover-texts\">Cover Texts</link>, you must enclose the copies in covers that carry, clearly and legibly, all these Cover Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on the back cover. Both covers must also clearly and legibly identify you as the publisher of these copies. The front cover must present the full title with all words of the title equally prominent and visible. You may add other material on the covers in addition. Copying with changes limited to the covers, as long as they preserve the title of the <link linkend=\"fdl-document\">Document</link> and satisfy these conditions, can be treated as verbatim copying in other respects."
+msgstr "Αν εκδώσετε περισσότερα από 100 στον αριθμό έντυπα αντίγραφα του <link linkend=\"fdl-document\">Εγγράφου</link>, και η ένδειξη άδειας χρήσης του Εγγράφου προϋποθέτει την ύπαρξη <link linkend=\"fdl-cover-texts\">Κειμένων Εξωφύλλου</link>, θα πρέπει να εσωκλείσετε τα αντίγραφα σε εξώφυλλα που θα περιέχουν, με καθαρό και ευανάγνωστο τρόπο, όλα τα ακόλουθα κείμενα εξωφύλλου: Κείμενα Εμπροσθοφύλλου στο εμπροσθόφυλλο και Κείμενα Οπισθοφύλλου στο οπισθόφυλλο. Επίσης, και τα δύο εξώφυλλα θα πρέπει να αναφέρουν, καθαρά και ευανάγνωστα, εσάς ως εκδότη των αντιγράφων. Στο εμπροσθόφυλλο θα πρέπει να αναφέρεται ο πλήρης τίτλος του Εγγράφου, και όλες οι λέξεις του τίτλου θα πρέπει να είναι εξίσου προβεβλημένες και εμφανείς. Επιτρέπεται να προσθέσετε επιπρόσθετο υλικό στα εξώφυλλα. Η παραγωγή αντιγράφων που διαφέρουν μόνο ως προς τα εξώφυλλα, εφόσον διατηρείται ο τίτλος του <link linkend=\"fdl-document\">Εγγράφου</link> και τηρούνται οι παρούσες προϋποθέσεις, μπορεί να θεωρηθεί, κατά τα λοιπά, ως παραγωγή ακριβών αντιγράφων."
+
+#: C/gtk-doc-manual.xml:195(para)
+msgid "If the required texts for either cover are too voluminous to fit legibly, you should put the first ones listed (as many as fit reasonably) on the actual cover, and continue the rest onto adjacent pages."
+msgstr "Αν τα απαιτούμενα κείμενα ενός ή και των δύο εξωφύλλων είναι υπερβολικά μεγάλα για να παραμείνουν ευανάγνωστα αν συμπεριληφθούν σε μία σελίδα, θα πρέπει να τοποθετήσετε τα πρώτα εξώφυλλα του καταλόγου (όσα χωρούν κανονικά) στο εξώφυλλο αυτό καθ' αυτό, και να τοποθετήσετε τα υπόλοιπα στις γειτονικές σελίδες."
+
+#: C/gtk-doc-manual.xml:202(para)
+msgid "If you publish or distribute <link linkend=\"fdl-transparent\">Opaque</link> copies of the <link linkend=\"fdl-document\">Document</link> numbering more than 100, you must either include a machine-readable <link linkend=\"fdl-transparent\">Transparent</link> copy along with each Opaque copy, or state in or with each Opaque copy a publicly-accessible computer-network location containing a complete Transparent copy of the Document, free of added material, which the general network-using public has access to download anonymously at no charge using public-standard network protocols. If you use the latter option, you must take reasonably prudent steps, when you begin distribution of Opaque copies in quantity, to ensure that this Transparent copy will remain thus accessible at the stated location until at least one year after the last time you distribute an Opaque copy (directly or through your agents or retailers) of that edition to the public."
+msgstr "Αν εκδώσετε περισσότερα από 100 στον αριθμό <link linkend=\"fdl-transparent\">Αδιαφανή</link> αντίγραφα του <link linkend=\"fdl-document\">Εγγράφου</link>, είτε θα πρέπει να συμπεριλάβετε ένα <link linkend=\"fdl-transparent\">Διαφανές</link> αντίγραφο (σε μορφή αναγνώσιμη από μηχανή) σε κάθε Αδιαφανές αντίγραφο, είτε θα πρέπει να αναφέρετε — μαζί ή σε κάθε Αδιαφανές αντίγραφο — μια δημοσίως προσβάσιμη τοποθεσία δικτύου υπολογιστών από την οποία θα μπορεί το ευρύ κοινό που χρησιμοποιεί δίκτυα να λάβει ανώνυμα, δωρεάν, και με χρήση πρωτοκόλλων δικτύου δημοσίων προτύπων, ένα ολοκληρωμένο Διαφανές αντίγραφο του Εγγράφου, χωρίς προσθήκες. Αν επιλέξετε τη δεύτερη επιλογή, όταν ξεκινήσετε τη διανομή των Αδιαφανών αντιγράφων, θα πρέπει να λάβετε λελογισμένα μέτρα για να διασφαλίσετε ότι το Διαφανές αντίγραφο θα παραμείνει προσβάσιμο στην ως άνωθεν τοποθεσία για τουλάχιστον ένα έτος μετά την τελευταία δημόσια διανομή Αδιαφανούς αντιγράφου αυτής της έκδοσης (είτε πρόκειται για άμεση διανομή είτε για διανομή μέσω των πρακτόρων ή λιανοπωλητών σας)."
+
+#: C/gtk-doc-manual.xml:222(para)
+msgid "It is requested, but not required, that you contact the authors of the <link linkend=\"fdl-document\">Document</link> well before redistributing any large number of copies, to give them a chance to provide you with an updated version of the Document."
+msgstr "Σας ζητείται, αλλά δεν απαιτείται, να επικοινωνήσετε εγκαίρως με τους συγγραφείς του <link linkend=\"fdl-document\">Εγγράφου</link>, πριν αναδιανείμετε μεγάλο αριθμό αντιγράφων, ώστε να έχουν τη δυνατότητα να σας παράσχουν αναθεωρημένη έκδοση του Εγγράφου."
+
+#: C/gtk-doc-manual.xml:231(title)
+msgid "4. MODIFICATIONS"
+msgstr "4. ΤΡΟΠΟΠΟΙΗΣΕΙΣ"
+
+#: C/gtk-doc-manual.xml:232(para)
+msgid "You may copy and distribute a <link linkend=\"fdl-modified\">Modified Version</link> of the <link linkend=\"fdl-document\">Document</link> under the conditions of sections <link linkend=\"fdl-section2\">2</link> and <link linkend=\"fdl-section3\">3</link> above, provided that you release the Modified Version under precisely this License, with the Modified Version filling the role of the Document, thus licensing distribution and modification of the Modified Version to whoever possesses a copy of it. In addition, you must do these things in the Modified Version:"
+msgstr "Σας χορηγείται άδεια αντιγραφής και διανομής <link linkend=\"fdl-modified\">Τροποποιημένων Εκδόσεων</link> του <link linkend=\"fdl-document\">Εγγράφου</link> υπό τους όρους των ενοτήτων <link linkend=\"fdl-section2\">2</link> και <link linkend=\"fdl-section3\">3</link> ανωτέρω, με την προϋπόθεση ότι θα δημοσιεύσετε την Τροποποιημένη Έκδοση υπό την παρούσα Άδεια ως έχει, όπου ως Έγγραφο θα νοείται η Τροποποιημένη Έκδοση. Άρα, θα χορηγείται άδεια διανομής και τροποποίησης της Τροποποιημένης Έκδοσης σε οποιονδήποτε κατέχει αντίγραφό της. Επιπροσθέτως, στην Τροποποιημένη Έκδοση θα πρέπει να κάνετε τα εξής:"
+
+#: C/gtk-doc-manual.xml:248(title)
+msgid "A"
+msgstr "Α"
+
+#: C/gtk-doc-manual.xml:249(para)
+msgid "Use in the <link linkend=\"fdl-title-page\">Title Page</link> (and on the covers, if any) a title distinct from that of the <link linkend=\"fdl-document\">Document</link>, and from those of previous versions (which should, if there were any, be listed in the History section of the Document). You may use the same title as a previous version if the original publisher of that version gives permission."
+msgstr "Στη <link linkend=\"fdl-title-page\">Σελίδα Τίτλου</link> (και τα εξώφυλλα, αν υφίστανται), χρησιμοποιήστε τίτλο διακριτό από τον τίτλο του <link linkend=\"fdl-document\">Εγγράφου</link> και των προηγούμενων εκδόσεών του (τυχόν προηγούμενες εκδόσεις οφείλουν να αναφέρονται στην ενότητα Ιστορικού του Εγγράφου). Μπορείτε να χρησιμοποιήσετε τον ίδιο τίτλο με τον τίτλο προηγούμενης έκδοσης, αν λάβετε άδεια από τον αρχικό εκδότη της προηγούμενης έκδοσης."
+
+#: C/gtk-doc-manual.xml:264(title)
+msgid "B"
+msgstr "Β"
+
+#: C/gtk-doc-manual.xml:265(para)
+msgid "List on the <link linkend=\"fdl-title-page\">Title Page</link>, as authors, one or more persons or entities responsible for authorship of the modifications in the <link linkend=\"fdl-modified\">Modified Version</link>, together with at least five of the principal authors of the <link linkend=\"fdl-document\">Document</link> (all of its principal authors, if it has less than five)."
+msgstr "Αναφέρετε στη <link linkend=\"fdl-title-page\">Σελίδα Τίτλου</link>, υπό την ιδιότητα του συγγραφέα, όλα τα άτομα ή τους φορείς που ευθύνονται για τη συγγραφή ή την τροποποίηση της <link linkend=\"fdl-modified\">Τροποποιημένης Έκδοσης</link>, μαζί με τουλάχιστον πέντε από τους κύριους συγγραφείς του <link linkend=\"fdl-document\">Εγγράφου</link> ( ή όλους τους κύριους συγγραφείς, αν είναι λιγότεροι από πέντε)."
+
+#: C/gtk-doc-manual.xml:279(title)
+msgid "C"
+msgstr "Γ"
+
+#: C/gtk-doc-manual.xml:280(para)
+msgid "State on the <link linkend=\"fdl-title-page\">Title Page</link> the name of the publisher of the <link linkend=\"fdl-modified\">Modified Version</link>, as the publisher."
+msgstr "Αναφέρετε στη <link linkend=\"fdl-title-page\">Σελίδα Τίτλου</link>, υπό την ιδιότητα του εκδότη, το όνομα του εκδότη της <link linkend=\"fdl-modified\">Τροποποιημένης Έκδοσης</link>."
+
+#: C/gtk-doc-manual.xml:291(title)
+msgid "D"
+msgstr "Δ"
+
+#: C/gtk-doc-manual.xml:292(para)
+msgid "Preserve all the copyright notices of the <link linkend=\"fdl-document\">Document</link>."
+msgstr "Διατηρήστε όλες τις ενδείξεις δικαιωμάτων πνευματικής ιδιοκτησίας του <link linkend=\"fdl-document\">Εγγράφου</link>."
+
+#: C/gtk-doc-manual.xml:301(title)
+msgid "E"
+msgstr "Ε"
+
+#: C/gtk-doc-manual.xml:302(para)
+msgid "Add an appropriate copyright notice for your modifications adjacent to the other copyright notices."
+msgstr "Προσθέστε την κατάλληλη ένδειξη δικαιωμάτων πνευματικής ιδιοκτησίας για τις τροποποιήσεις σας στις υπόλοιπες ενδείξεις δικαιωμάτων πνευματικής ιδιοκτησίας."
+
+#: C/gtk-doc-manual.xml:311(title)
+msgid "F"
+msgstr "ΣΤ"
+
+#: C/gtk-doc-manual.xml:312(para)
+msgid "Include, immediately after the copyright notices, a license notice giving the public permission to use the <link linkend=\"fdl-modified\">Modified Version</link> under the terms of this License, in the form shown in the Addendum below."
+msgstr "Συμπεριλάβετε, αμέσως μετά τις ενδείξεις δικαιωμάτων πνευματικής ιδιοκτησίας, μια ένδειξη άδειας χρήσης που θα χορηγεί δημόσια άδεια χρήσης της <link linkend=\"fdl-modified\">Τροποποιημένης Έκδοσης</link> υπό τους όρους της παρούσας Άδειας. Η μορφή της ένδειξης αυτής παρατίθεται στο Συμπλήρωμα που ακολουθεί."
+
+#: C/gtk-doc-manual.xml:324(title)
+msgid "G"
+msgstr "Ζ"
+
+#: C/gtk-doc-manual.xml:325(para)
+msgid "Preserve in that license notice the full lists of <link linkend=\"fdl-invariant\"> Invariant Sections</link> and required <link linkend=\"fdl-cover-texts\">Cover Texts</link> given in the <link linkend=\"fdl-document\">Document's</link> license notice."
+msgstr "Διατηρήστε σε αυτή την ένδειξη άδειας χρήσης τους πλήρεις καταλόγους <link linkend=\"fdl-invariant\">Αμετάβλητων Ενοτήτων</link> και απαιτούμενων <link linkend=\"fdl-cover-texts\">Κειμένων Εξωφύλλου</link> που παρατίθενται στην ένδειξη άδειας χρήσης του <link linkend=\"fdl-document\">Εγγράφου</link>."
+
+#: C/gtk-doc-manual.xml:337(title)
+msgid "H"
+msgstr "Η"
+
+#: C/gtk-doc-manual.xml:338(para)
+msgid "Include an unaltered copy of this License."
+msgstr "Συμπεριλάβετε αντίγραφο, χωρίς τροποποιήσεις, της παρούσας Άδειας."
+
+#: C/gtk-doc-manual.xml:346(title)
+msgid "I"
+msgstr "Θ"
+
+#: C/gtk-doc-manual.xml:347(para)
+msgid "Preserve the section entitled <quote>History</quote>, and its title, and add to it an item stating at least the title, year, new authors, and publisher of the <link linkend=\"fdl-modified\">Modified Version </link>as given on the <link linkend=\"fdl-title-page\">Title Page</link>. If there is no section entitled <quote>History</quote> in the <link linkend=\"fdl-document\">Document</link>, create one stating the title, year, authors, and publisher of the Document as given on its Title Page, then add an item describing the Modified Version as stated in the previous sentence."
+msgstr "Διατηρήστε την ενότητα με τίτλο <quote>Ιστορικό</quote>, καθώς και τον τίτλο της, και προσθέστε μία εγγραφή που θα αναφέρει τουλάχιστον τον τίτλο, το έτος, τους νέους συγγραφείς και τον εκδότη της <link linkend=\"fdl-modified\">Τροποποιημένης Έκδοσης</link>, όπως αυτά αναφέρονται στη <link linkend=\"fdl-title-page\">Σελίδα Τίτλου</link>. Αν δεν υπάρχει ενότητα με τίτλο <quote>Ιστορικό</quote> στο <link linkend=\"fdl-document\">Έγγραφο</link>, δημιουργήστε αυτήν την ενότητα, αναγράφοντας τον τίτλο, το έτος, τους νέους συγγραφείς και τον εκδότη του Εγγράφου, όπως αυτά αναφέρονται στη Σελίδα Τίτλου, και προσθέτοντας μία εγγραφή που θα περιγράφει την Τροποποιημένη Έκδοση σύμφωνα με την προηγούμενη πρόταση."
+
+#: C/gtk-doc-manual.xml:365(title)
+msgid "J"
+msgstr "Ι"
+
+#: C/gtk-doc-manual.xml:366(para)
+msgid "Preserve the network location, if any, given in the <link linkend=\"fdl-document\">Document</link> for public access to a <link linkend=\"fdl-transparent\">Transparent</link> copy of the Document, and likewise the network locations given in the Document for previous versions it was based on. These may be placed in the <quote>History</quote> section. You may omit a network location for a work that was published at least four years before the Document itself, or if the original publisher of the version it refers to gives permission."
+msgstr "Διατηρήστε την τοποθεσία δικτύου που ενδεχομένως παρέχεται στο <link linkend=\"fdl-document\">Έγγραφο</link> για δημόσια πρόσβαση σε <link linkend=\"fdl-transparent\">Περατό</link> αντίγραφο του Εγγράφου, καθώς και τυχόν άλλες τοποθεσίες δικτύου που παρέχονται στο έγγραφο και αφορούν προηγούμενες εκδόσεις του. Οι τοποθεσίες αυτές μπορούν να τοποθετηθούν στην ενότητα <quote>Ιστορικό</quote>. Μπορείτε να παραλείψετε τοποθεσίες δικτύου για έργα που εκδόθηκαν τουλάχιστον τέσσερα έτη πριν από το ίδιο το Έγγραφο, ή αν ο αρχικός εκδότης της αντίστοιχης έκδοσης σας δώσει την άδεια."
+
+#: C/gtk-doc-manual.xml:383(title)
+msgid "K"
+msgstr "ΙΑ"
+
+#: C/gtk-doc-manual.xml:384(para)
+msgid "In any section entitled <quote>Acknowledgements</quote> or <quote>Dedications</quote>, preserve the section's title, and preserve in the section all the substance and tone of each of the contributor acknowledgements and/or dedications given therein."
+msgstr "Αν υπάρχει ενότητα με τίτλο <quote>Ευχαριστίες</quote> ή <quote>Αφιέρωση</quote>, διατηρήστε τον τίτλο της ενότητας, και διατηρήστε στο σώμα της ενότητας την ουσία και το ύφος των ευχαριστιών και/ή αφιερώσεων που συμπεριλαμβάνονται σε αυτή."
+
+#: C/gtk-doc-manual.xml:396(title)
+msgid "L"
+msgstr "ΙΒ"
+
+#: C/gtk-doc-manual.xml:397(para)
+msgid "Preserve all the <link linkend=\"fdl-invariant\">Invariant Sections</link> of the <link linkend=\"fdl-document\">Document</link>, unaltered in their text and in their titles. Section numbers or the equivalent are not considered part of the section titles."
+msgstr "Διατηρήστε όλες τις <link linkend=\"fdl-invariant\">Αμετάβλητες Ενότητες</link> του <link linkend=\"fdl-document\">Εγγράφου</link>, χωρίς καμία τροποποίηση στο κείμενο και τον τίτλο τους. Η αρίθμηση των ενοτήτων, —ή άλλο ισοδύναμό της—, δεν θεωρείται τμήμα του τίτλου των ενοτήτων."
+
+#: C/gtk-doc-manual.xml:409(title)
+msgid "M"
+msgstr "ΙΓ"
+
+#: C/gtk-doc-manual.xml:410(para)
+msgid "Delete any section entitled <quote>Endorsements</quote>. Such a section may not be included in the <link linkend=\"fdl-modified\">Modified Version</link>."
+msgstr "Διαγράψτε τυχόν ενότητες με τίτλο <quote>Έγκριση</quote>. Αυτού του είδους οι ενότητες δεν επιτρέπεται να συμπεριληφθούν στην <link linkend=\"fdl-modified\">Τροποποιημένη Έκδοση</link>."
+
+#: C/gtk-doc-manual.xml:421(title)
+msgid "N"
+msgstr "ΙΔ"
+
+#: C/gtk-doc-manual.xml:422(para)
+msgid "Do not retitle any existing section as <quote>Endorsements</quote> or to conflict in title with any <link linkend=\"fdl-invariant\">Invariant Section</link>."
+msgstr "Μη μετατρέπετε τον τίτλο καμίας προϋπάρχουσας ενότητας στον τίτλο <quote>Έγκριση</quote> ή σε τίτλο που συγκρούεται με τον τίτλο <link linkend=\"fdl-invariant\">Αμετάβλητης Ενότητας</link>."
+
+#: C/gtk-doc-manual.xml:432(para)
+msgid "If the <link linkend=\"fdl-modified\">Modified Version</link> includes new front-matter sections or appendices that qualify as <link linkend=\"fdl-secondary\">Secondary Sections</link> and contain no material copied from the Document, you may at your option designate some or all of these sections as invariant. To do this, add their titles to the list of <link linkend=\"fdl-invariant\">Invariant Sections</link> in the Modified Version's license notice. These titles must be distinct from any other section titles."
+msgstr "Αν η <link linkend=\"fdl-modified\">Τροποποιημένη Έκδοση</link> περιλαμβάνει νέες αρχικές ενότητες ή παραρτήματα, που εμπίπτουν στον ορισμό των <link linkend=\"fdl-modified\">Δευτερευουσών Ενοτήτων</link>, και δεν περιέχουν υλικό που να είναι προϊόν αντιγραφής του Εγγράφου, μπορείτε, εφόσον το επιθυμείτε, να ορίσετε ορισμένες ή όλες αυτές τις ενότητες ως αμετάβλητες. Για να το πράξετε, προσθέστε τους τίτλους αυτών των ενοτήτων στον κατάλογο <link linkend=\"fdl-secondary\">Αμετάβλητων Ενοτήτων</link> στην ένδειξη άδειας χρήσης της Τροποποιημένης Έκδοσης. Οι τίτλοι αυτοί θα πρέπει να είναι διακριτοί από τους υπόλοιπους τίτλους ενοτήτων.."
+
+#: C/gtk-doc-manual.xml:444(para)
+msgid "You may add a section entitled <quote>Endorsements</quote>, provided it contains nothing but endorsements of your <link linkend=\"fdl-modified\">Modified Version</link> by various parties--for example, statements of peer review or that the text has been approved by an organization as the authoritative definition of a standard."
+msgstr "Μπορείτε να προσθέσετε ενότητα με τίτλο <quote>Έγκριση</quote>, με την προϋπόθεση ότι περιλαμβάνει αποκλειστικά εγκρίσεις της δικής σας <link linkend=\"fdl-modified\">Τροποποιημένης Έκδοσης</link> από διάφορους φορείς, —επί παραδείγματι, δηλώσεις αξιολόγησης ομοτίμων ή δηλώσεις ότι το κείμενο έχει εγκριθεί από έναν οργανισμό ως έγκυρος ορισμός ενός προτύπου."
+
+#: C/gtk-doc-manual.xml:453(para)
+msgid "You may add a passage of up to five words as a <link linkend=\"fdl-cover-texts\">Front-Cover Text</link>, and a passage of up to 25 words as a <link linkend=\"fdl-cover-texts\">Back-Cover Text</link>, to the end of the list of <link linkend=\"fdl-cover-texts\">Cover Texts</link> in the <link linkend=\"fdl-modified\">Modified Version</link>. Only one passage of Front-Cover Text and one of Back-Cover Text may be added by (or through arrangements made by) any one entity. If the <link linkend=\"fdl-document\">Document</link> already includes a cover text for the same cover, previously added by you or by arrangement made by the same entity you are acting on behalf of, you may not add another; but you may replace the old one, on explicit permission from the previous publisher that added the old one."
+msgstr "Μπορείτε να προσθέσετε κείμενο μέχρι και πέντε λέξεις ως <link linkend=\"fdl-cover-texts\">Κείμενο Εμπροσθοφύλλου</link>, καθώς και κείμενο μέχρι και 25 λέξεις ως <link linkend=\"fdl-cover-texts\">Κείμενο Οπισθοφύλλου</link>, στο τέλος του καταλόγου <link linkend=\"fdl-cover-texts\">Κειμένων Εξωφύλλου</link> της <link linkend=\"fdl-modified\">Τροποποιημένης Έκδοσης</link>. Κάθε μεμονωμένος φορέας επιτρέπεται να προσθέτει μόνο ένα Κείμενο Εμπροσθοφύλλου και ένα Κείμενο Οπισθοφύλλου (ο ίδιος ή εξ ονόματος του ίδιου). Αν το <link linkend=\"fdl-document\">Έγγραφο</link> περιέχει ήδη κείμενο εξωφύλλου για το ίδιο εξώφυλλο, —που είχατε προσθέσει προηγουμένως είτε εξ ονόματός σας είτε εξ ονόματος του φορέα που εκπροσωπείτε—, δεν σας επιτρέπεται να προσθέσετε επιπλέον εξώφυλλο· σας επιτρέπεται ωστόσο να αντικαταστήσετε το προηγούμενο, με ρητή άδεια από τον εκδότη που είχε προσθέσει το προηγούμενο εξώφυλλο."
+
+#: C/gtk-doc-manual.xml:470(para)
+msgid "The author(s) and publisher(s) of the <link linkend=\"fdl-document\">Document</link> do not by this License give permission to use their names for publicity for or to assert or imply endorsement of any <link linkend=\"fdl-modified\">Modified Version </link>."
+msgstr "Μέσω της παρούσας άδειας, ο/οι συγγραφείς και ο/οι εκδότες του <link linkend=\"fdl-document\">Εγγράφου</link> δεν χορηγούν άδεια χρήσης των ονομάτων τους για διαφημιστικούς σκοπούς ή για την έγκριση, —ρητή ή υπονοούμενη—, οποιασδήποτε <link linkend=\"fdl-modified\">Τροποποιημένης Έκδοσης</link>."
+
+#: C/gtk-doc-manual.xml:480(title)
+msgid "5. COMBINING DOCUMENTS"
+msgstr "5. ΣΥΝΔΥΑΣΜΟΣ ΕΓΓΡΑΦΩΝ"
+
+#: C/gtk-doc-manual.xml:481(para)
+msgid "You may combine the <link linkend=\"fdl-document\">Document</link> with other documents released under this License, under the terms defined in <link linkend=\"fdl-section4\">section 4</link> above for modified versions, provided that you include in the combination all of the <link linkend=\"fdl-invariant\">Invariant Sections</link> of all of the original documents, unmodified, and list them all as Invariant Sections of your combined work in its license notice."
+msgstr "Μπορείτε να συνδυάσετε το <link linkend=\"fdl-document\">Έγγραφο</link> με άλλα έγγραφα που υπόκεινται στους όρους της παρούσας Άδειας, σύμφωνα με τους ανωτέρω όρους της <link linkend=\"fdl-section4\">ενότητας 4</link> για τις τροποποιημένες εκδόσεις, με την προϋπόθεση ότι ο συνδυασμός θα περιλαμβάνει όλες τις <link linkend=\"fdl-invariant\">Αμετάβλητες Ενότητες</link> όλων των πρωτότυπων εγγράφων, χωρίς τροποποιήσεις, και ότι θα αναφέρονται ως Αμετάβλητες Ενότητες του συνδυασμένου έργου στην ένδειξη άδειας χρήσης του."
+
+#: C/gtk-doc-manual.xml:492(para)
+msgid "The combined work need only contain one copy of this License, and multiple identical <link linkend=\"fdl-invariant\">Invariant Sections</link> may be replaced with a single copy. If there are multiple Invariant Sections with the same name but different contents, make the title of each such section unique by adding at the end of it, in parentheses, the name of the original author or publisher of that section if known, or else a unique number. Make the same adjustment to the section titles in the list of Invariant Sections in the license notice of the combined work."
+msgstr "Το συνδυασμένο έργο οφείλει να περιέχει ένα μόνο αντίγραφο της παρούσας Άδειας, και επιτρέπεται η αντικατάσταση πολλαπλών ταυτόσημων <link linkend=\"fdl-invariant\">Αμετάβλητων Ενοτήτων</link> από ένα μόνο αντίγραφό τους. Αν υφίστανται πολλαπλές Αμετάβλητες Ενότητες με τον ίδιο τίτλο αλλά διαφορετικό περιεχόμενο, φροντίστε να κατασταθεί μοναδικός ο τίτλος κάθε ενότητας, προσθέτοντας στο τέλος του τίτλου, εντός παρενθέσεων, το όνομα του αρχικού συγγραφέα ή εκδότη της ενότητας εφόσον τα γνωρίζετε, ή, εναλλακτικά, ένα μοναδικό αριθμό. Φροντίστε να κάνετε τις ίδιες αλλαγές στους τίτλους των ενοτήτων που αναγράφονται στον κατάλογο Αμετάβλητων Ενοτήτων στην ένδειξη άδειας χρήσης του συνδυασμένου έργου."
+
+#: C/gtk-doc-manual.xml:505(para)
+msgid "In the combination, you must combine any sections entitled <quote>History</quote> in the various original documents, forming one section entitled <quote>History</quote>; likewise combine any sections entitled <quote>Acknowledgements</quote>, and any sections entitled <quote>Dedications</quote>. You must delete all sections entitled <quote>Endorsements.</quote>"
+msgstr "Στο συνδυασμό θα πρέπει να συνδυάσετε όλες τις ενότητες με τίτλο <quote>Ιστορικό</quote> που ενδεχομένως διαθέτουν τα πρωτότυπα έγγραφα, δημιουργώντας μία μοναδική ενότητα με τίτλο <quote>Ιστορικό</quote>. Κατά τον ίδιο τρόπο θα πρέπει να συνδυάσετε και όλες τις ενότητες με τίτλο <quote>Ευχαριστίες</quote> ή όλες τις ενότητες με τίτλο <quote>Αφιέρωση</quote>. Θα πρέπει να διαγράψετε όλες τις ενότητες με τίτλο <quote>Έγκριση</quote>."
+
+#: C/gtk-doc-manual.xml:516(title)
+msgid "6. COLLECTIONS OF DOCUMENTS"
+msgstr "6. ΣΥΛΛΟΓΗ ΕΓΓΡΑΦΩΝ"
+
+#: C/gtk-doc-manual.xml:517(para)
+msgid "You may make a collection consisting of the <link linkend=\"fdl-document\">Document</link> and other documents released under this License, and replace the individual copies of this License in the various documents with a single copy that is included in the collection, provided that you follow the rules of this License for verbatim copying of each of the documents in all other respects."
+msgstr "Μπορείτε να δημιουργήσετε συλλογή που θα περιλαμβάνει το παρόν <link linkend=\"fdl-document\">Έγγραφο</link> μαζί με άλλα έγγραφα που υπόκεινται στους όρους της παρούσας Άδειας, και να συμπεριλάβετε στη συλλογή ένα μόνο αντίγραφο της παρούσας Άδειας, που θα αντικαθιστά τα μεμονωμένα αντίγραφά της στα διάφορα έγγραφα, με την προϋπόθεση ότι, κατά τα λοιπά, θα συμμορφωθείτε με τους κανόνες της παρούσας Άδειας για την παραγωγή πιστών αντιγράφων καθενός από αυτά τα έγγραφα."
+
+#: C/gtk-doc-manual.xml:527(para)
+msgid "You may extract a single document from such a collection, and dispbibute it individually under this License, provided you insert a copy of this License into the extracted document, and follow this License in all other respects regarding verbatim copying of that document."
+msgstr "Μπορείτε να εξάγετε ένα μεμονωμένο έγγραφο από μια συλλογή τέτοιου είδους, και να το διανείμετε ξεχωριστά υπό τους όρους της παρούσας Άδειας, με την προϋπόθεση ότι θα προσθέσετε αντίγραφο της παρούσας Άδειας στο εξαχθέν έγγραφο, και ότι, κατά τα λοιπά, θα συμμορφωθείτε με τους κανόνες της παρούσας Άδειας για την παραγωγή ακριβών αντιγράφων αυτού του εγγράφου."
+
+#: C/gtk-doc-manual.xml:537(title)
+msgid "7. AGGREGATION WITH INDEPENDENT WORKS"
+msgstr "7. ΣΥΡΡΑΦΗ ΜΕ ΑΝΕΞΑΡΤΗΤΑ ΕΡΓΑ"
+
+#: C/gtk-doc-manual.xml:538(para)
+msgid "A compilation of the <link linkend=\"fdl-document\">Document</link> or its derivatives with other separate and independent documents or works, in or on a volume of a storage or distribution medium, does not as a whole count as a <link linkend=\"fdl-modified\">Modified Version</link> of the Document, provided no compilation copyright is claimed for the compilation. Such a compilation is called an <quote>aggregate</quote>, and this License does not apply to the other self-contained works thus compiled with the Document , on account of their being thus compiled, if they are not themselves derivative works of the Document. If the <link linkend=\"fdl-cover-texts\">Cover Text</link> requirement of <link linkend=\"fdl-section3\">section 3</link> is applicable to these copies of the Document, then if the Document is less than one quarter of the entire aggregate, the Document's Cover Texts may be placed on covers that surround only the Document within the aggregate. Otherwise they must appear on covers around the whole aggregate."
+msgstr "Αν το <link linkend=\"fdl-document\">Εγγράφο</link> ή τα παράγωγά του συμπεριληφθούν, μαζί με άλλα ξεχωριστά και ανεξάρτητα έγγραφα ή έργα, σε τόμο ενός μέσου αποθήκευσης ή διανομής, ο τόμος αυτός, στο σύνολό του, δεν θεωρείται <link linkend=\"fdl-modified\">Τροποποιημένη Έκδοση</link> του εγγράφου, με την προϋπόθεση ότι δεν διεκδικούνται δικαιώματα πνευματικής ιδιοκτησίας για αυτόν. Ο εν λόγω τόμος ονομάζεται <quote>συρραφή</quote> και η παρούσα άδεια δεν ισχύει για τα υπόλοιπα αυθύπαρκτα έργα που συμπεριλαμβάνονται σε αυτόν, πέραν του Έγγραφο, απλώς και μόνο επειδή ανήκουν σε αυτή τη συρραφή, εκτός εάν αποτελούν και αυτά παράγωγα έργα του Εγγράφου. Αν για αυτά τα αντίγραφα του Εγγράφου ισχύουν οι όροι για τα <link linkend=\"fdl-cover-texts\">Κείμενα Εξωφύλλου</link> της <link linkend=\"fdl-section3\">ενότητας 3</link>, τότε, αν το Έγγραφο αντιστοιχεί σε λιγότερο από το ένα τέταρτο του συνόλου της συρραφής, τα Κείμενα Εξωφύλλου του Εγγράφου επιτρέπεται να τοποθετηθούν σε εξώφυλλα εντός της συρραφής που εσωκλείουν μόνο το Έγγραφο. Ειδάλλως, θα πρέπει να τοποθετηθούν σε εξώφυλλα που εσωκλείουν ολόκληρη τη συρραφή."
+
+#: C/gtk-doc-manual.xml:561(title)
+msgid "8. TRANSLATION"
+msgstr "8. ΜΕΤΑΦΡΑΣΗ"
+
+#: C/gtk-doc-manual.xml:562(para)
+msgid "Translation is considered a kind of modification, so you may distribute translations of the <link linkend=\"fdl-document\">Document</link> under the terms of <link linkend=\"fdl-section4\">section 4</link>. Replacing <link linkend=\"fdl-invariant\"> Invariant Sections</link> with translations requires special permission from their copyright holders, but you may include translations of some or all Invariant Sections in addition to the original versions of these Invariant Sections. You may include a translation of this License provided that you also include the original English version of this License. In case of a disagreement between the translation and the original English version of this License, the original English version will prevail."
+msgstr "Η μετάφραση θεωρείται μορφή τροποποίησης, άρα μπορείτε να διανέμετε μεταφράσεις του <link linkend=\"fdl-document\">Εγγράφου</link> υπό τους όρους της <link linkend=\"fdl-section4\">ενότητας 4</link>. Η αντικατάσταση των <link linkend=\"fdl-invariant\">Αμετάβλητων Ενοτήτων</link> από μεταφράσεις απαιτεί ειδική άδεια από τους κατόχους των δικαιωμάτων πνευματικής ιδιοκτησίας, αλλά επιτρέπεται η συμπερίληψη στο Έγγραφο μεταφράσεων ορισμένων ή όλων των Αμετάβλητων Ενοτήτων, επιπλέον των πρωτότυπων εκδόσεων αυτών των Αμετάβλητων Ενοτήτων. Μπορείτε να προσθέσετε μεταφράσεις της παρούσας Άδειας, με την προϋπόθεση ότι θα συμπεριλάβετε και την πρωτότυπη Αγγλική έκδοση της Άδειας. Σε περίπτωση ασυμφωνίας μεταξύ μετάφρασης και πρωτότυπης Αγγλικής έκδοσης της Άδειας, ισχύει η πρωτότυπη Αγγλική έκδοση."
+
+#: C/gtk-doc-manual.xml:580(title)
+msgid "9. TERMINATION"
+msgstr "9. ΚΑΤΑΡΓΗΣΗ"
+
+#: C/gtk-doc-manual.xml:581(para)
+msgid "You may not copy, modify, sublicense, or distribute the <link linkend=\"fdl-document\">Document</link> except as expressly provided for under this License. Any other attempt to copy, modify, sublicense or distribute the Document is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance."
+msgstr "Δεν σας επιτρέπεται η αντιγραφή, τροποποίηση, περαιτέρω παραχώρηση άδειας εκμετάλλευσης ή διανομή του <link linkend=\"fdl-document\">Εγγράφου</link> παρά μόνο με τον τρόπο που ρητά προβλέπεται από αυτήν την Άδεια. Κάθε άλλη απόπειρα αντιγραφής, τροποποίησης, περαιτέρω παραχώρησης άδειας εκμετάλλευσης ή διανομής του Εγγράφου είναι άκυρη και αυτομάτως καταργεί τα δικαιώματα που σας παραχωρεί η παρούσα Άδεια. Ωστόσο, τα μέρη στα οποία παρείχατε αντίγραφα ή δικαιώματα υπό τους όρους της παρούσας Άδειας, δεν θα απωλέσουν τα δικαιώματα χρήσης τους, εφόσον εξακολουθούν να συμμορφώνονται πλήρως με τους όρους της Άδειας."
+
+#: C/gtk-doc-manual.xml:594(title)
+msgid "10. FUTURE REVISIONS OF THIS LICENSE"
+msgstr "10. ΜΕΛΛΟΝΤΙΚΕΣ ΑΝΑΘΕΩΡΗΣΕΙΣ ΤΗΣ ΠΑΡΟΥΣΑΣ ΑΔΕΙΑΣ"
+
+#: C/gtk-doc-manual.xml:595(para)
+msgid "The <ulink type=\"http\" url=\"http://www.gnu.org/fsf/fsf.html\">Free Software Foundation</ulink> may publish new, revised versions of the GNU Free Documentation License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. See <ulink type=\"http\" url=\"http://www.gnu.org/copyleft\">http://www.gnu.org/copyleft/</ulink>."
+msgstr "Το <ulink type=\"http\" url=\"http://www.gnu.org/fsf/fsf.html\">Ίδρυμα Ελεύθερου Λογισμικού</ulink> έχει το δικαίωμα να δημοσιεύει περιστασιακά αναθεωρημένες ή/και νέες εκδόσεις της Ελεύθερης Άδειας Τεκμηρίωσης GNU (GFDL). Αυτές οι νέες εκδόσεις θα είναι συναφείς στο πνεύμα με την παρούσα έκδοση, όμως ενδέχεται να διαφέρουν στις λεπτομέρειες, καθώς επιλαμβάνονται νέων προβλημάτων και ζητημάτων. Βλέπε <ulink type=\"http\" url=\"http://www.gnu.org/copyleft\">http://www.gnu.org/copyleft/</ulink>."
+
+#: C/gtk-doc-manual.xml:606(para)
+msgid "Each version of the License is given a distinguishing version number. If the <link linkend=\"fdl-document\">Document</link> specifies that a particular numbered version of this License <quote>or any later version</quote> applies to it, you have the option of following the terms and conditions either of that specified version or of any later version that has been published (not as a draft) by the Free Software Foundation. If the Document does not specify a version number of this License, you may choose any version ever published (not as a draft) by the Free Software Foundation."
+msgstr "Σε κάθε έκδοση δίνεται ένας διακριτικός αριθμός έκδοσης. Εάν στο <link linkend=\"fdl-document\">Έγγραφο</link> καθορίζεται ότι ισχύει ένας συγκεκριμένος αριθμός έκδοσης της παρούσας Άδειας ή <quote>οποιαδήποτε μεταγενέστερη έκδοση</quote>, μπορείτε να επιλέξετε μεταξύ των όρων και προϋποθέσεων είτε αυτής της έκδοσης, είτε οποιασδήποτε μεταγενέστερης έκδοσης έχει δημοσιευτεί (όχι με μορφή σχεδίου) από το Ίδρυμα Ελεύθερου Λογισμικού. Εάν στο Πρόγραμμα δεν καθορίζεται αριθμός έκδοσης της Άδειας, μπορείτε να επιλέξετε οποιαδήποτε έκδοση έχει δημοσιευθεί (όχι με μορφή σχεδίου) από το Ίδρυμα Ελεύθερου Λογισμικού (FSF)."
+
+#: C/gtk-doc-manual.xml:621(title)
+msgid "Addendum"
+msgstr "Συμπλήρωμα"
+
+#: C/gtk-doc-manual.xml:622(para)
+msgid "To use this License in a document you have written, include a copy of the License in the document and put the following copyright and license notices just after the title page:"
+msgstr "Για να χρησιμοποιήσετε την παρούσα Άδεια σε έγγραφο το οποίο συγγράψατε, θα πρέπει να συμπεριλάβετε ένα αντίγραφο της Άδειας στο έγγραφο και να τοποθετήσετε τις ακόλουθες ενδείξεις δικαιωμάτων πνευματικής ιδιοκτησίας και άδειας χρήσης αμέσως μετά τη σελίδα τίτλου: "
+
+#: C/gtk-doc-manual.xml:629(para)
+msgid "Copyright YEAR YOUR NAME."
+msgstr "Copyright © ΕΤΟΣ ΤΟ ΟΝΟΜΑ ΣΑΣ."
+
+#: C/gtk-doc-manual.xml:632(para)
+msgid "Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation; with the <link linkend=\"fdl-invariant\">Invariant Sections</link> being LIST THEIR TITLES, with the <link linkend=\"fdl-cover-texts\">Front-Cover Texts</link> being LIST, and with the <link linkend=\"fdl-cover-texts\">Back-Cover Texts</link> being LIST. A copy of the license is included in the section entitled <quote>GNU Free Documentation License</quote>."
+msgstr "Χορηγείται άδεια αντιγραφής, διανομής και/ή τροποποίησης του παρόντος εγγράφου υπό τους όρους της έκδοσης 1.1 της Ελεύθερης Άδειας Τεκμηρίωσης GNU (GFDL), ή οποιασδήποτε μεταγενέστερης έκδοσής αυτής από το Ίδρυμα Ελεύθερου Λογισμικού (FSF)· οι <link linkend=\"fdl-invariant\">Αμετάβλητες Ενότητες</link> είναι οι ΚΑΤΑΛΟΓΟΣ ΤΙΤΛΩΝ, τα <link linkend=\"fdl-cover-texts\">Κείμενα εμπροσθοφύλλου</link> είναι τα ΚΑΤΑΛΟΓΟΣ, και τα <link linkend=\"fdl-cover-texts\">Κείμενα Οπισθοφύλλου</link> είναι τα ΚΑΤΑΛΟΓΟΣ. Αντίγραφο της άδειας συμπεριλαμβάνεται στην ενότητα με τίτλο <quote>GNU Free Documentation License</quote>."
+
+#: C/gtk-doc-manual.xml:647(para)
+msgid "If you have no <link linkend=\"fdl-invariant\">Invariant Sections</link>, write <quote>with no Invariant Sections</quote> instead of saying which ones are invariant. If you have no <link linkend=\"fdl-cover-texts\">Front-Cover Texts</link>, write <quote>no Front-Cover Texts</quote> instead of <quote>Front-Cover Texts being LIST</quote>; likewise for <link linkend=\"fdl-cover-texts\">Back-Cover Texts</link>."
+msgstr "Αν δεν περιέχονται <link linkend=\"fdl-invariant\">Αμετάβλητες Ενότητες</link>, γράψτε <quote>χωρίς Αμετάβλητες Ενότητες</quote>, αντί να απαριθμήσετε τις αμετάβλητες ενότητες. Αν δεν περιέχονται <link linkend=\"fdl-cover-texts\">Κείμενα Εμπροσθοφύλλου</link>, γράψτε <quote>χωρίς Κείμενα Εμπροσθοφύλλου</quote> αντί για <quote>τα Κείμενα Εμπροσθοφύλλου είναι τα ΚΑΤΑΛΟΓΟΣ</quote>· ομοίως για τα <link linkend=\"fdl-cover-texts\">Κείμενα Οπισθοφύλλου</link>."
+
+#: C/gtk-doc-manual.xml:657(para)
+msgid "If your document contains nontrivial examples of program code, we recommend releasing these examples in parallel under your choice of free software license, such as the <ulink type=\"http\" url=\"http://www.gnu.org/copyleft/gpl.html\"> GNU General Public License</ulink>, to permit their use in free software."
+msgstr "Αν το έγγραφό σας περιέχει μη ασήμαντα παραδείγματα πηγαίου κώδικα, συνιστούμε την παράλληλη δημοσίευσή τους υπό τους όρους της άδειας ελεύθερου λογισμικού της αρεσκείας σας, ώστε να επιτρέψετε τη χρήση τους σε ελεύθερο λογισμικό. Παράδειγμα τέτοιας άδειας αποτελεί η <ulink type=\"http\" url=\"http://www.gnu.org/copyleft/gpl.html\">Γενική Άδεια Δημόσιας Χρήσης GNU</ulink>."
+
+#. Put one translator per line, in the form of NAME <EMAIL>, YEAR1, YEAR2
+#: C/gtk-doc-manual.xml:0(None)
+msgid "translator-credits"
+msgstr ""
+"Ελληνική μεταφραστική ομάδα GNOME\n"
+"Τζένη Πετούμενου <epetoumenou@gmail.com>\n"
+"\n"
+"Για περισσότερες πληροφορίες, επισκεφθείτε την σελίδα http://www.gnome.gr/"
+
+#~ msgid "19 December 2009"
+#~ msgstr "19 Δεκεμβρίου 2009"
+
+#~ msgid ""
+#~ "Besides checking for the required Gtk-Doc version, this adds two "
+#~ "configure switches:"
+#~ msgstr ""
+#~ "Εκτός του ότι ελέγχει αν είναι διαθέσιμη η απαιτούμενη έκδοση του Gtk-Doc "
+#~ "προσθέτει δύο επιλογές ρύθμισης:"
+
+#~ msgid ""
+#~ "FIXME having @title here, would put this title into a newly generated "
+#~ "section file, but later would be obsolete (right?)"
+#~ msgstr ""
+#~ "ΠΡΟς ΔΙΟΡΘΩΣΗ @title, προσθέτει τον τίτλο σε νέα αρχεία ενοτήτων, αλλά "
+#~ "μάλλον θα πρέπει να καταργηθεί στο μέλλον."
+
+#~ msgid "(FIXME) (stability) (glib-enums, ...)"
+#~ msgstr "(ΠΡΟΣ ΔΙΟΡΘΩΣΗ) (σταθερότητα) (glib-enums, ...)"
+
+#~ msgid ".types"
+#~ msgstr ".types"
+
+#~ msgid "FIXME (<index> tag in main sgml file)"
+#~ msgstr "ΠΡΟΣ ΔΙΟΡΘΩΣΗ (Ετικέτα <index> στο αρχείο main-sgml)"
+
+#~ msgid "FIXME (added #,% or () ?)"
+#~ msgstr "ΠΡΟΣ ΔΙΟΡΘΩΣΗ (ίσως προσθήκη #,% ή ())"
+
+#~ msgid "FIXME (section file, types file, main-sgml file)"
+#~ msgstr "ΠΡΟΣ ΔΙΟΡΘΩΣΗ (αρχείο ενοτήτων, αρχείο types, αρχείο main-sgml)"
+
+#~ msgid "FIXME (section file, proper doc comment)"
+#~ msgstr "ΠΡΟΣ ΔΙΟΡΘΩΣΗ (αρχείο ενοτήτων, ορθά σχόλια τεκμηρίωσης)"
--- /dev/null
+<?xml version="1.0" encoding="utf-8" standalone="no"?>
+<?xml-stylesheet type="text/xml" href="params.xsl"?>
+<!-- vim: set ai tw=80 ts=3 sw=3: -->
+<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "
+ http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
+<!ENTITY FDL SYSTEM "fdl-appendix.xml">
+<!ENTITY FDLlink "<link linkend='fdl'>included</link>">
+]>
+<!-- =============Document Header ============================= -->
+<book id="index" lang="el">
+ <bookinfo>
+ <title>Εγχειρίδιο GTK-Doc</title>
+ <edition>1.18</edition>
+ <abstract role="description"><para>Εγχειρίδιο χρήσης του GTK-Doc για προγραμματιστές.</para></abstract>
+ <authorgroup>
+ <author>
+ <firstname>Chris</firstname>
+ <surname>Lyttle</surname>
+ <affiliation>
+ <address>
+ <email>chris@wilddev.net</email>
+ </address>
+ </affiliation>
+ </author>
+ <author>
+ <firstname>Dan</firstname>
+ <surname>Mueth</surname>
+ <affiliation>
+ <address>
+ <email>d-mueth@uchicago.edu</email>
+ </address>
+ </affiliation>
+ </author>
+ <author>
+ <firstname>Stefan</firstname>
+ <surname>Kost</surname>
+ <affiliation>
+ <address>
+ <email>ensonic@users.sf.net</email>
+ </address>
+ </affiliation>
+ </author>
+ </authorgroup>
+ <publisher role="maintainer">
+ <publishername>Έργο GTK-Doc</publishername>
+ <address><email>gtk-doc-list@gnome.org</email></address>
+ </publisher>
+ <copyright>
+ <year>2000, 2005</year>
+ <holder>Dan Mueth and Chris Lyttle</holder>
+ </copyright>
+ <copyright>
+ <year>2007-2011</year>
+ <holder>Stefan Sauer (Kost)</holder>
+ </copyright><copyright><year>επισκεφθείτε την σελίδα http://www.gnome.gr/</year><holder>Για περισσότερες πληροφορίες</holder></copyright>
+
+ <!-- translators: uncomment this:
+ <copyright>
+ <year>2000</year>
+ <holder>ME-THE-TRANSLATOR (Latin translation)</holder>
+ </copyright>
+ -->
+
+ <legalnotice>
+ <para>Χορηγείται άδεια αντιγραφής, διανομής και/ή τροποποίησης του παρόντος εγγράφου υπό τους όρους της έκδοσης 1.1 της <citetitle>Ελεύθερης Άδειας Τεκμηρίωσης GNU (GFDL)</citetitle>, ή οποιασδήποτε μεταγενέστερης έκδοσής αυτής από το Ίδρυμα Ελεύθερου Λογισμικού (FSF), χωρίς αμετάβλητα τμήματα, κείμενα εξωφύλλου και κείμενα οπισθοφύλλου. Συμπεριλαμβάνεται <link linkend="fdl">αντίγραφο της άδειας</link>.</para>
+ <para>Πολλές από τις ονομασίες που χρησιμοποιούνται από εταιρείες για την διαφοροποίηση των προϊόντων και υπηρεσιών τους έχουν καταχωρισθεί ως εμπορικά σήματα. Σε όποιο σημείο της τεκμηρίωσης GNOME τυχόν εμφανίζονται αυτές οι ονομασίες, και εφόσον τα μέλη του Έργου τεκμηρίωσης GNOME έχουν λάβει γνώση αυτών των εμπορικών σημάτων, οι ονομασίες ή τα αρχικά αυτών θα γράφονται με κεφαλαίους χαρακτήρες.</para>
+ </legalnotice>
+
+ <revhistory>
+ <!--revision>
+ <revnumber>1.18.1</revnumber>
+ <date>15 Sep 2011</date>
+ <authorinitials>sk</authorinitials>
+ <revremark>development version, markdown support</revremark>
+ </revision-->
+ <revision>
+ <revnumber>1.18</revnumber>
+ <date>14 sep 2011</date>
+ <authorinitials>sk</authorinitials>
+ <revremark>bug fixes, speedups, markdown support</revremark>
+ </revision>
+ <revision>
+ <revnumber>1.17</revnumber>
+ <date>26 Feb 2011</date>
+ <authorinitials>sk</authorinitials>
+ <revremark>urgent bug fix update</revremark>
+ </revision>
+ <revision>
+ <revnumber>1.16</revnumber>
+ <date>14 Jan 2011</date>
+ <authorinitials>sk</authorinitials>
+ <revremark>bugfixes, layout improvements</revremark>
+ </revision>
+ <revision>
+ <revnumber>1.15</revnumber>
+ <date>21 Μαΐου 2010</date>
+ <authorinitials>sk</authorinitials>
+ <revremark>διορθώσεις σφαλμάτων και οπισθοδρόμησης</revremark>
+ </revision>
+ <revision>
+ <revnumber>1.14</revnumber>
+ <date>28 Μαρτίου 2010</date>
+ <authorinitials>sk</authorinitials>
+ <revremark>διορθώσεις λαθών και βελτιώσεις απόδοσης</revremark>
+ </revision>
+ <revision>
+ <revnumber>1.13</revnumber>
+ <date>18 Δεκεμβρίου 2009</date>
+ <authorinitials>sk</authorinitials>
+ <revremark>ενημέρωση σπασμένου tarball</revremark>
+ </revision>
+ <revision>
+ <revnumber>1.12</revnumber>
+ <date>18 Δεκεμβρίου 2009</date>
+ <authorinitials>sk</authorinitials>
+ <revremark>νέα χαρακτηριστικά του εργαλείο και διορθώσεις σφαλμάτων</revremark>
+ </revision>
+ <revision>
+ <revnumber>1.11</revnumber>
+ <date>16 Νοεμβρίου 2008</date>
+ <authorinitials>mal</authorinitials>
+ <revremark>Μετάβαση από GNOME doc-utils</revremark>
+ </revision>
+ </revhistory>
+
+ </bookinfo>
+
+ <!-- ======== Chapter 1: Introduction ======================== -->
+
+ <chapter id="introduction">
+ <title>Εισαγωγή</title>
+
+ <para>Αυτό το κεφάλαιο αποτελεί μια εισαγωγή στο GTK-Doc. Περιγράφει το GTK-Doc και τον τρόπο χρήσης του.</para>
+
+ <sect1 id="whatisgtkdoc">
+ <title>Τι είναι το GTK-Doc;</title>
+
+ <para>Το GTK-Doc χρησιμοποιείται για την τεκμηρίωση κώδικα C. Συνήθως, χρησιμοποιείται για την τεκμηρίωση του δημόσιου API βιβλιοθηκών όπως η GTK+ και η GNOME. Μπορεί όμως να χρησιμοποιηθεί και για την τεκμηρίωση κώδικα εφαρμογών.</para>
+ </sect1>
+
+ <sect1 id="howdoesgtkdocwork">
+ <title>Πώς λειτουργεί το GTK-Doc;</title>
+
+ <para>Το GTK-Doc χρησιμοποιεί την τεκμηρίωση συναρτήσεων που έχει συμπεριληφθεί στα πηγαία αρχεία (εντός μπλοκ σχολίων με ειδική μορφή), ή την τεκμηρίωση που έχει προστεθεί στα πρότυπα αρχεία που χρησιμοποιεί το GTK-Doc (σημειώστε όμως ότι το GTK-Doc παράγει τεκμηρίωση μόνο για τις συναρτήσεις που δηλώνονται σε αρχεία κεφαλίδας· δεν παράγει τεκμηρίωση για στατικές συναρτήσεις).</para>
+
+ <para>Το GTK-Doc αποτελείται από μια σειρά από σενάρια perl , καθένα από τα οποία είναι υπεύθυνο για διαφορετικό στάδιο της όλης διαδικασίας.</para>
+
+ <para>Η διαδικασία περιλαμβάνει 5 κύρια στάδια:</para>
+
+ <orderedlist>
+
+ <listitem>
+ <para><guilabel>Συγγραφή τεκμηρίωσης</guilabel> Ο συγγραφέας συμπληρώνει τα πηγαία αρχεία με τεκμηρίωση για όλες τις συναρτήσεις, μακροεντολές, ενώσεις κτλ. (Στο παρελθόν, οι πληροφορίες συμπληρώνονταν σε πρότυπα αρχεία που παράγονταν αυτόματα, αλλά αυτός ο τρόπος δεν συνιστάται πλέον.)</para>
+ </listitem>
+
+ <listitem>
+ <para><guilabel>Συλλογή πληροφοριών για τον κώδικα</guilabel> Το <application>gtkdoc-scan</application> σαρώνει τα αρχεία κεφαλίδας του κώδικα, αναζητώντας δηλώσεις συναρτήσεων, μακροεντολών, αριθμήσεων, δομών και ενώσεων. Στη συνέχεια, δημιουργεί το αρχείο <filename><module>-decl-list.txt</filename> που περιέχει λίστα με όλες τις δηλώσεις, ταξινομημένες ανά ενότητες, ανάλογα με το αρχείο κεφαλίδας από το οποίο προήλθαν. Κατά την πρώτη εκτέλεση, αυτό το αρχείο αντιγράφεται στο <filename><module>-sections.txt</filename>. Ο συγγραφέας μπορεί να αλλάξει τη σειρά των ενοτήτων, καθώς και τη σειρά των δηλώσεων σε κάθε ενότητα, προκειμένου η τελική σειρά να ανταποκρίνεται στις επιθυμίες του. Το δεύτερο αρχείο που παράγεται είναι το <filename><module>-decl.txt</filename>. Αυτό το αρχείο περιέχει όλες τις δηλώσεις που βρέθηκαν κατά τη σάρωση. Αν θέλετε να εμφανιστούν στην τεκμηρίωση δηλώσεις οι οποίες δε βρέθηκαν κατά τη σάρωση, ή αν θέλετε να αλλάξει η εμφάνιση κάποιων δηλώσεων, μπορείτε να δημιουργήσετε εγγραφές παρόμοιες με αυτές του αρχείου <filename><module>-decl.txt</filename> και να τις προσθέσετε στο αρχείο <filename><module>-overrides.txt</filename>. Το <application>gtkdoc-scanobj</application> μπορεί επίσης να χρησιμοποιηθεί για να κάνει δυναμική αναζήτηση σε μια βιβλιοθήκη για ενδεχόμενες υποκλάσεις GtkObject. Αποθηκεύει τις πληροφορίες για τη θέση κάθε αντικειμένου στην ιεραρχία κλάσεων, καθώς και για τα ορίσματα και σήματα GTK που περιέχει.</para>
+ </listitem>
+
+ <listitem>
+ <para><guilabel>Δημιουργία "πρότυπων" αρχείων</guilabel> Το <application>gtkdoc-mktmpl</application> παράγει μια σειρά από αρχεία στον υποκατάλογο <filename class="directory">tmpl/</filename>, χρησιμοποιώντας τις πληροφορίες που συλλέχθηκαν κατά το πρώτο στάδιο. (Σημειώστε ότι μπορεί να εκτελεστεί περισσότερες από μία φορές. Προσπαθεί να διασφαλίσει ότι δεν χάνεται ποτέ και κανενός είδους τεκμηρίωση.)</para>
+ <note>
+ <para>Από την έκδοση 1.9 και μετά, τα πρότυπα αρχεία δεν είναι πλέον απαραίτητα. Σας συνιστούμε να διατηρείτε την τεκμηρίωση στον κώδικα. Το <application>gtkdocize</application> υποστηρίζει πλέον την επιλογή <option>--flavour no-tmpl</option> η οποία επιλέγει ένα αρχείο makefile που δεν χρησιμοποιεί καθόλου πρότυπα tmpl. Αν δεν έχετε κάνει ποτέ αλλαγές με το χέρι σε αρχεία προτύπων tmpl, παρακαλώ αφαιρέστε τον κατάλογο (π.χ. από ένα σύστημα ελέγχου εκδόσεων).</para>
+ </note>
+ </listitem>
+
+ <listitem>
+ <para><guilabel>Παραγωγή SGML/XML και HTML/PDF</guilabel>. Το <application>gtkdoc-mkdb</application> μετατρέπει τα αρχεία προτύπων tmpl σε αρχεία SGML ή XML και τα τοποθετεί στους υποκαταλόγους<filename class="directory">sgml/</filename> ή <filename class="directory">xml/</filename>. Αν ο πηγαίος κώδικας περιέχει τεκμηρίωση συναρτήσεων εντός ειδικών μπλοκ σχολίων, τα σχόλια συγχωνεύονται σε αυτό το στάδιο. Αν δεν υπάρχουν αρχεία προτύπων tmpl, τότε χρησιμοποιούνται μόνο τα έγγραφα που προέκυψαν από τον πηγαίο κώδικα και τα δεδομένα της ενδοσκόπησης. Σας συνιστούμε να χρησιμοποιήσετε το βιβλίο τεκμηρίωσης XML.</para>
+ <para> Το <application>gtkdoc-mkhtml</application> μετατρέπει τα αρχεία SGML/XML σε αρχεία HTML που τοποθετούνται στον υποκατάλογο <filename class="directory">html/</filename>. Ομοίως το <application>gtkdoc-mkpdf</application> μετατρέπει τα αρχεία SGML/XML σε ένα αρχείο PDF που ονομάζεται <filename><package>.pdf</filename>.</para>
+ <para>Τα αρχεία στους καταλόγους <filename class="directory">sgml/</filename>, <filename class="directory">xml/</filename> και <filename class="directory">html/</filename> αντικαθίστανται αυτόματα. Επομένως, δεν πρέπει να τα αλλάζετε με το χέρι.</para>
+ </listitem>
+
+ <listitem>
+ <para><guilabel>Διόρθωση παραπομπών μεταξύ εγγράφων</guilabel> Μετά την εγκατάσταση των αρχείων HTML, μπορείτε να εκτελέσετε το <application>gtkdoc-fixxref</application> για να διορθώσετε τυχόν παραπομπές σε διαφορετικά έγγραφα. Για παράδειγμα, η τεκμηρίωση του GTK+ περιέχει πολλές παραπομπές σε τύπους που επεξηγούνται στο εγχειρίδιο του GLib. Όταν ετοιμάζετε πακέτα κώδικα για διανομή, μπορείτε να χρησιμοποιείτε το <application>gtkdoc-rebase</application> για να μετατρέπετε όλους τους εξωτερικούς συνδέσμους σε διαδικτυακούς συνδέσμους. Κατά την εγκατάσταση της τεκμηρίωσης που περιλαμβάνεται στο διανεμηθέντα κώδικα (παράγεται αυτόματα), η ίδια εφαρμογή θα προσπαθήσει να μετατρέψει ξανά τους συνδέσμους σε τοπικούς συνδέσμους (προς τις τοποθεσίες όπου είναι εγκατεστημένη η τεκμηρίωση).</para>
+ </listitem>
+ </orderedlist>
+
+ </sect1>
+
+ <sect1 id="gettinggtkdoc">
+ <title>Λήψη GTK-Doc</title>
+
+ <sect2 id="requirements">
+ <title>Απαιτήσεις</title>
+ <para><guilabel>Perl v5</guilabel> - τα βασικά σενάρια είναι γραμμένα σε Perl.</para>
+ <para><guilabel>DocBook DTD v3.0</guilabel> - Πρόκειται για την DocBook SGML DTD. <ulink url="http://www.ora.com/davenport" type="http">http://www.ora.com/davenport</ulink></para>
+ <para><guilabel>Jade v1.1</guilabel> - Πρόκειται για επεξεργαστή DSSSL που μετατρέπει τη SGML σε διάφορες άλλες μορφές. <ulink url="http://www.jclark.com/jade" type="http">http://www.jclark.com/jade</ulink></para>
+ <para><guilabel>Modular DocBook Stylesheets</guilabel> Πρόκειται για τον κώδικα DSSSL που απαιτείται για τη μετατροπή από DocBook σε HTML (και ορισμένες άλλες μορφές). Χρησιμοποιείται σε συνδυασμό με το jade. Έχουν γίνει κάποιες μικρές προσαρμογές του κώδικα DSSSL, στο gtk-doc.dsl, για το χρωματισμό κώδικα/δηλώσεων και για την υποστήριξη των καθολικών ευρετηρίων παραπομπών στα παραγόμενα HTML. <ulink url="http://nwalsh.com/docbook/dsssl" type="http">http://nwalsh.com/docbook/dsssl</ulink></para>
+ <para><guilabel>docbook-to-man</guilabel> - Σε περίπτωση που θέλετε να δημιουργήσετε σελίδες man από το DocBook. Έχουν γίνει κάποιες μικρές προσαρμογές των 'προδιαγραφών μετάφρασης', για να εμφανίζονται με κεφαλαία οι τίτλοι ενοτήτων και να προστίθενται ο τίτλος 'Βιβλιοθήκη GTK' στην αρχή της σελίδας και η ημερομηνία αναθεώρησης στο τέλος της. Βλέπε <ulink url="http://www.ora.com/davenport" type="http">http://www.ora.com/davenport</ulink> ΣΗΜΕΙΩΣΗ: Αυτή η δυνατότητα δε λειτουργεί προς το παρόν.</para>
+ </sect2>
+
+ <sect2 id="installation">
+ <title>Εγκατάσταση</title>
+ <para>Δεν υπάρχει σταθερή τοποθεσία για την εγκατάσταση των DocBook Modular Stylesheets.</para>
+ <para>Το σενάριο εντολών configure του GTK-Doc ψάχνει αυτόματα τους τρεις παρακάτω καταλόγους:</para>
+ <para><filename> /usr/lib/sgml/stylesheets/nwalsh-modular </filename> (χρησιμοποιείται από το RedHat)</para>
+ <para><filename> /usr/lib/dsssl/stylesheets/docbook </filename> (χρησιμοποιείται από το Debian)</para>
+ <para><filename> /usr/share/sgml/docbkdsl </filename> (χρησιμοποιείται από το SuSE)</para>
+ <para>Αν τα φύλλα στυλ είναι εγκατεστημένα κάπου αλλού, θα πρέπει να ρυθμίσετε GTK-Doc με την επιλογή: <command> --with-dsssl-dir=< ΔΙΑΔΡΟΜΗ_ΠΡΟΣ_ΡΙΖΙΚΟ_ΚΑΤΑΛΟΓΟ_ΦΥΛΛΩΝ_ΣΤΥΛ> </command></para>
+ </sect2>
+
+ </sect1>
+
+ <!-- not realy worth a section
+ <sect1 id="whentousegtkdoc">
+ <title>When to Use GTK-Doc</title>
+
+ <para>
+ (What things GTK-Doc should, and shouldn't, be used for.)
+ (- ???)
+ (- non C-based projects)
+ (+ Tutorials)
+ </para>
+
+ </sect1>
+ -->
+
+ <sect1 id="aboutgtkdoc">
+ <title>Περί GTK-Doc</title>
+
+ <para>(ΠΡΟΣ ΔΙΟΡΘΩΣΗ)</para>
+
+ <para>(Ιστορικό, συγγραφείς, ιστοσελίδες, άδεια, μελλοντικά σχέδια, σύγκριση με άλλα παρόμοια συστήματα.)</para>
+
+ </sect1>
+
+ <sect1 id="aboutthismanual">
+ <title>Περί του εγχειριδίου</title>
+
+ <para>(ΠΡΟΣ ΔΙΟΡΘΩΣΗ)</para>
+
+ <para>(σε ποιους απευθύνεται, πού θα το βρείτε, άδεια)</para>
+
+ </sect1>
+
+ </chapter>
+
+ <chapter id="settingup">
+ <title>Ξεκινώντας ένα έργο</title>
+
+ <para>
+ The next sections describe what steps to perform to integrate GTK-Doc into
+ your project. Theses sections assume we work on a project called 'meep'.
+ This project contains a library called 'libmeep' and
+ an end-user app called 'meeper'. We also assume you will be using autoconf
+ and automake. In addition section <link linkend="plain_makefiles">plain
+ makefiles or other build systems</link> will describe the basics needed to
+ work in a different build setup.
+ </para>
+
+ <sect1 id="settingup_docfiles">
+ <title>Δημιουργία ενός σκελετού τεκμηρίωσης</title>
+
+ <para>Εντός του ριζικού καταλόγου του έργου δημιουργήστε το φάκελο docs/reference (ώστε να μπορείτε να χρησιμοποιήσετε το όνομα docs/help για την τεκμηρίωση του τελικού χρήστη). Συνιστάται να δημιουργήσετε έναν ακόμη υποκατάλογο με το όνομα του πακέτου τεκμηρίωσης. Αυτό δε χρειάζεται για πακέτα που περιλαμβάνουν μόνο μία βιβλιοθήκη.</para>
+
+ <para>This can then look as shown below: <example><title>Παράδειγμα δομής καταλόγου</title>
+ <programlisting>
+<![CDATA[
+meep/
+ docs/
+ reference/
+ libmeep/
+ meeper/
+ src/
+ libmeep/
+ meeper/
+]]>
+ </programlisting>
+ </example></para>
+ </sect1>
+
+ <sect1 id="settingup_autoconf">
+ <title>Ενσωμάτωση στο autoconf</title>
+
+ <para>Πολύ απλά! Απλά προσθέτετε μία γραμμή στο σενάριο <filename>configure.ac</filename>.</para>
+
+ <para>
+ <example><title>Ενσωμάτωση στο autoconf</title>
+ <programlisting>
+<![CDATA[
+# check for gtk-doc
+GTK_DOC_CHECK([1.14],[--flavour no-tmpl])
+]]>
+ </programlisting>
+ </example>
+ </para>
+
+ <para>Αυτό θα επαιτεί όλοι οι προγραμματιστές να έχουν εγκατεστημένο το gtk-doc. Αν είναι εντάξει για το έργο σας να έχετε επιπλέον κατασκευή ρυθμίσεων για το api-doc, μπορείτε να το επιλύσετε όπως αναφέρετε παρακάτω. Αφήστε το όπως έχει, όσο το gtkdocize ψάχνει στην αρχή της σειράς για το <function>GTK_DOC_CHECK</function>. <example><title>Προαιρετικά κρατήστε το gtk-doc</title>
+ <programlisting>
+<![CDATA[
+# check for gtk-doc
+m4_ifdef([GTK_DOC_CHECK], [
+GTK_DOC_CHECK([1.14],[--flavour no-tmpl])
+],[
+AM_CONDITIONAL([ENABLE_GTK_DOC], false)
+])
+]]>
+ </programlisting>
+ </example></para>
+
+ <para>Το πρώτο όρισμα χρησιμοποιείται για έλεγχο του gtkdocversion κατά τη ρύθμιση. Το δεύτερο, προαιρετικό όρισμα χρησιμοποιείται από το <application>gtkdocize</application>. Η μακροεντολή <symbol>GTK_DOC_CHECK</symbol> επίσης προσθέτει αρκετούς διακόπτες ρύθμισης:</para>
+ <orderedlist>
+ <listitem><para>--with-html-dir=ΔΙΑΔΡΟΜΗ : διαδρομή προς την εγκατεστημένη τεκμηρίωση</para></listitem>
+ <listitem><para>--enable-gtk-doc : χρήση gtk-doc για την παραγωγή τεκμηρίωσης [default=no]</para></listitem>
+ <listitem><para>--enable-gtk-doc-html : παραγωγή τεκμηρίωσης σε μορφή html [default=yes]</para></listitem>
+ <listitem><para>--enable-gtk-doc-pdf : παραγωγή τεκμηρίωσης σε μορφή pdf [default=no]</para></listitem>
+ </orderedlist>
+
+ <important>
+ <para>Η προεπιλογή είναι να είναι απενεργοποιημένο το GTK-Doc! Θυμηθείτε να χρησιμοποιήσετε την επιλογή <option>'--enable-gtk-doc'</option> στην επόμενη εκτέλεση του <filename>configure</filename>. Διαφορετικά εγκαθίσταται η προπαραχθείσα τεκμηρίωση (δυνατότητα χρήσιμη για το χρήστη, αλλά όχι για τον προγραμματιστή).</para>
+ </important>
+
+ <para>Επίσης, συνιστάται να προσθέσετε την ακόλουθη γραμμή στο σενάριο <filename>configure.ac</filename>. Επιτρέπει στο <filename>gtkdocize</filename> να αντιγράφει αυτόματα τον ορισμό της μακροεντολής <function>GTK_DOC_CHECK</function> στο έργο σας.</para>
+
+ <para>
+ <example><title>Προετοιμασία για το gtkdocize</title>
+ <programlisting>
+<![CDATA[
+AC_CONFIG_MACRO_DIR(m4)
+]]>
+ </programlisting>
+ </example>
+ </para>
+ </sect1>
+
+ <sect1 id="settingup_automake">
+ <title>Ενσωμάτωση στο automake</title>
+
+ <para>Πρώτα αντιγράψτε το <filename>Makefile.am</filename> από τον υποκατάλογο με τα παραδείγματα των gtkdoc-sources στον κατάλογο της τεκμηρίωσης API του έργου σας ( <filename class="directory">./docs/reference/<package></filename>). Αν έχετε περισσότερα από ένα πακέτα τεκμηρίωσης, επαναλάβετε τη διαδικασία για καθένα από αυτά.</para>
+
+ <para>Το επόμενο βήμα είναι να τροποποιήσετε τις ρυθμίσεις στο <filename>Makefile.am</filename>. Πριν από κάθε ρύθμιση υπάρχει ένα σχόλιο που εξηγεί τη χρησιμότητά της. Οι περισσότερες είναι σημαίες που στέλνονται στα αντίστοιχα εργαλεία. Κάθε εργαλείο διαθέτει μια μεταβλητή της μορφής <option><ΟΝΟΜΑ_ΕΡΓΑΛΕΙΟΥ>_ΕΠΙΛΟΓΕΣ</option>. όλα τα εργαλεία υποστηρίζουν την επιλογή <option>--help</option> για την παραγωγή λίστας με τις υποστηριζόμενες παραμέτρους.</para>
+
+ <!-- FIXME: explain options ? -->
+
+ <para>Μπορείτε, επίσης, να ενεργοποιήσετε το GTK-Doc για το distcheckmake target. Απλά προσθέστε τη γραμμή του επόμενου παραδείγματος στο ριζικό <filename>Makefile.am</filename>:</para>
+
+ <para>
+ <example><title>Ενεργοποίηση του GTK-Doc κατά το make distcheck</title>
+ <programlisting>
+<![CDATA[
+DISTCHECK_CONFIGURE_FLAGS=--enable-gtk-doc
+]]>
+ </programlisting>
+ </example>
+ </para>
+
+ </sect1>
+
+ <sect1 id="settingup_autogen">
+ <title>Ενσωμάτωση στο autogen</title>
+
+ <para>Τα περισσότερα έργα διαθέτουν ένα σενάριο <filename>autogen.sh</filename> για τη δημιουργία υποδομών μετά από το checkout από ένα το σύστημα ελέγχου εκδόσεων (π.χ., cvs/svn/git). Το GTK-Doc διαθέτει το εργαλείο <filename>gtkdocize</filename>, το οποίο μπορεί να χρησιμοποιηθεί για ένα τέτοιο σενάριο. Θα πρέπει να εκτελείται πριν το autoheader, το automake ή το autoconf.</para>
+
+ <para>
+ <example><title>Εκτέλεση του gtkdocize από το autogen.sh</title>
+ <programlisting>
+<![CDATA[
+gtkdocize || exit 1
+]]>
+ </programlisting>
+ </example>
+ </para>
+
+ <para>Κατά την εκτέλεσή του, το <filename>gtkdocize</filename> αντιγράφει το <filename>gtk-doc.make</filename> στο ριζικό κατάλογο του έργου σας (ή στον κατάλογο που ορίζει η επιλογή <option>--docdir</option>). Επίσης, ελέγχει το σενάριο configure για να βρει την κλήση στο <function>GTK_DOC_CHECK</function>.</para>
+
+ <para>Αρχικά, το GTK-Doc δημιουργούσε αρχεία προτύπων εκεί που οι προγραμματιστές εισήγαγαν την τεκμηρίωση. Δυστυχώς, αυτή η προσέγγιση δεν ήταν ιδιαίτερα επιτυχής. Οι τελευταίες εκδόσεις του GTK-Doc επιτρέπουν τη λήψη πληροφοριών από τα σχόλια του πηγαίου κώδικα. Από την έκδοση 1.9 και μετά, τα πρότυπα αρχεία δεν είναι πλέον απαραίτητα. Σας συνιστούμε να διατηρείτε την τεκμηρίωση στον κώδικα. To <application>gtkdocize</application> υποστηρίζει πλέον την επιλογή <option>--flavour no-tmpl</option> που επιλέγει ένα αρχείο makefile που δεν χρησιμοποιεί καθόλου πρότυπα tmpl. Πέρα από την άμεση προσθήκη της επιλογής στην κλήση της εντολής, μπορεί να προστεθεί και σε μια μεταβλητή περιβάλλοντος που ονομάζεται <symbol>GTKDOCIZE_FLAGS</symbol> ή να οριστεί ως δεύτερη παράμετρος στη μακροεντολή <symbol>GTK_DOC_CHECK</symbol> στο σενάριο configure. Αν δεν έχετε κάνει ποτέ αλλαγές με το χέρι σε αρχεία προτύπων και μεταβαίνετε από μια παλιότερη έκδοση του gtkdoc, παρακαλώ αφαιρέστε τον κατάλογο (π.χ. από το σύστημα ελέγχου εκδόσεων).</para>
+ </sect1>
+
+ <sect1 id="settingup_firstrun">
+ <title>Παραγωγή της τεκμηρίωσης</title>
+
+ <para>Αφού ολοκληρωθούν τα προηγούμενα βήματα, προχωρήστε στην παραγωγή. Πρώτα, θα πρέπει να εκτελεστεί εκ νέου το <filename>autogen.sh</filename>. Αν το σενάριο εκτελεί και το configure, προσθέστε την επιλογή <option>--enable-gtk-doc</option>. Διαφορετικά, εκτελέστε εσείς το<filename>configure</filename> με αυτή την επιλογή.</para>
+ <para>
+ The first make run generates several additional files in the doc-dirs.
+ The important ones are:
+ <filename><package>.types</filename>,
+ <filename><package>-docs.xml</filename> (in the past .sgml),
+ <filename><package>-sections.txt</filename>.
+ </para>
+ <para>
+ <example><title>Παραγωγή της τεκμηρίωσης</title>
+ <programlisting>
+<![CDATA[
+./autogen.sh --enable-gtk-doc
+make
+]]>
+ </programlisting>
+ </example>
+ </para>
+ <para>Τώρα, μπορείτε να εμφανίσετε το <filename>docs/reference/<package>/index.html</filename> στον περιηγητή σας. Είναι αλήθεια ότι προς το παρόν το αποτέλεσμα είναι μάλλον απογοητευτικό. Μην ανησυχείτε όμως. Στο επόμενο κεφάλαιο θα μάθετε πώς μπορείτε να ζωντανέψετε τις σελίδες σας.</para>
+ </sect1>
+
+ <sect1 id="settingup_vcs">
+ <title>Ενσωμάτωση σε συστήματα ελέγχου εκδόσεων</title>
+
+ <para>
+ As a rule of the thumb, it's those files you edit, that should go under
+ version control. For typical projects it's these files:
+ <filename><package>.types</filename>,
+ <filename><package>-docs..xml</filename> (in the past .sgml),
+ <filename><package>-sections.txt</filename>,
+ <filename>Makefile.am</filename>
+ </para>
+ </sect1>
+
+ <sect1 id="plain_makefiles">
+ <title>Integration with plain makefiles or other build systems</title>
+
+ <para>
+ In the case one does not want to use automake and therfore
+ <filename>gtk-doc.mak</filename> one will need to call the gtkdoc tools
+ in the right order in own makefiles (or other build tools).
+ </para>
+
+ <para>
+ <example><title>Documentation build steps</title>
+ <programlisting>
+<![CDATA[
+DOC_MODULE=meep
+// sources have changed
+gtkdoc-scan --module=$(DOC_MODULE) --source-dir=...
+gtkdoc-scangobj --module=$(DOC_MODULE)
+gtkdoc-mkdb --module=$(DOC_MODULE) --output-format=xml
+// xml files have changed
+mkdir html
+cd html && gtkdoc-mkhtml $(DOC_MODULE) ../meep-docs.xml
+gtkdoc-fixxref --module=$(DOC_MODULE) --module-dir=html
+]]>
+ </programlisting>
+ </example>
+ </para>
+
+ <para>
+ One will need to look at the <filename>Makefile.am</filename> and
+ <filename>gtk-doc.mak</filename> to pick the extra options needed.
+ </para>
+ </sect1>
+
+ </chapter>
+
+ <chapter id="documenting">
+ <title>Τεκμηρίωση του κώδικα</title>
+
+ <para>Το GTK-Doc χρησιμοποιεί σχόλια με ειδική σύνταξη για την προσθήκη τεκμηρίωσης στον κώδικα. Παράλληλα, ανακαλεί πληροφορίες για τη δομή του έργου σας από άλλες πηγές. Στην επόμενη ενότητα περιέχονται όλες οι λεπτομέρειες για τη σύνταξη αυτών των σχολίων.</para>
+
+ <note>
+ <title>Τοποθέτηση τεκμηρίωσης</title>
+ <para>Στο παρελθόν, η τεκμηρίωση έπρεπε να συμπληρώνεται σε αρχεία του καταλόγου <filename>tmpl</filename>. Αυτή η προσέγγιση εμφανίζει το μειονέκτημα ότι οι πληροφορίες δεν ενημερώνονται συχνά, καθώς και το ότι προκύπτουν περιοδικές συγκρούσεις με τα συστήματα ελέγχου εκδόσεων.</para>
+ <para>Για να αποφύγετε αυτά τα προβλήματα, σας προτείνουμε να ενσωματώνετε την τεκμηρίωση στον πηγαίο κώδικα. Αυτή είναι και η μόνη μέθοδος που θα περιγράψουμε σε αυτό το εγχειρίδιο.</para>
+ </note>
+
+ <para>Ο σαρωτής μπορεί να χειριστεί άνετα την πλειοψηφία των κεφαλίδων c . Σε περίπτωση που λαμβάνετε προειδοποιήσεις από τον σαρωτή οι οποίες μοιάζουν με έναν ειδικό χαρακτήρα, μπορείτε να υποδείξετε το GTK-Doc να τους παραλείψει. <example><title>Μπλοκ σχολίου GTK-Doc</title>
+ <programlisting>
+<![CDATA[
+#ifndef __GTK_DOC_IGNORE__
+/* unparseable code here */
+#endif
+]]>
+ </programlisting>
+ </example></para>
+
+ <!-- -->
+
+ <sect1 id="documenting_syntax">
+ <title>Σχόλια τεκμηρίωσης</title>
+
+ <para>Ένα σχόλιο πολλαπλών γραμμών που διαθέτει ένα επιπλέον «*» στην αρχή αποτελεί ένα μπλοκ τεκμηρίωσης που λαμβάνεται υπόψη από τα εργαλεία του GTK-Doc. <example><title>Μπλοκ σχολίου GTK-Doc</title>
+ <programlisting>
+<![CDATA[
+/**
+ * identifier:
+ * documentation ...
+ */
+]]>
+ </programlisting>
+ </example></para>
+
+ <para>Το 'αναγνωριστικό' είναι μία γραμμή που περιέχει το όνομα του στοιχείου στο οποίο αναφέρεται το σχόλιο. Η σύνταξή του εξαρτάται από τον τύπο του στοιχείου. (ΜΕΛΛΟΝΤΙΚΑ: να προστεθεί πίνακας με τα αναγνωριστικά)</para>
+
+ <para>Το μπλοκ της 'τεκμηρίωσης' επίσης διαφέρει ανάλογα με τον τύπο συμβόλου. Για τους τύπους συμβόλων που δέχονται παραμέτρους (π.χ. συναρτήσεις και μακροεντολές) προηγείται η περιγραφή των παραμέτρων και ακολουθεί μια κενή γραμμή (μόνο '*'). Ακολουθεί η λεπτομερής περιγραφή. Όλες οι γραμμές (εκτός από τον κώδικα του προγράμματος και τις ενότητες CDATA) που περιέχουν μόνο ένα ' *' (διάστημα-αστερίσκος) μετατρέπονται σε αλλαγές παραγράφου. Αν δεν επιθυμείτε αλλαγή παραγράφου, χρησιμοποιήστε το ' * ' (διάστημα-αστερίσκος-διάστημα-διάστημα).</para>
+
+ <tip>
+ <para>
+ When documenting code, describe two apsects:
+ <itemizedlist>
+ <listitem>
+ <para>
+ What it is: The name for a class or function can sometimes
+ be misleading for people coming from a different background.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ What it does: Tell about common uses. Put it in releation
+ with the other API.
+ </para>
+ </listitem>
+ </itemizedlist>
+ </para>
+ </tip>
+
+ <para>Ένα πλεονέκτημα της χρήσης υπερκειμένου αντί για απλό κείμενο είναι η δυνατότητα προσθήκης συνδέσμων στο έγγραφο. Ωστόσο, η χρήση της σωστής σύνταξης για τη δημιουργία συνδέσμων μπορεί να είναι αρκετά κουραστική διαδικασία. Το GTK-Doc σας βοηθάει, παρέχοντάς σας μια σειρά από χρήσιμες συντμήσεις.<itemizedlist>
+ <listitem>
+ <para>Χρησιμοποιήστε τη γραφή function() για αναφορές σε συναρτήσεις ή μακροεντολές που δέχονται ορίσματα.</para>
+ </listitem>
+ <listitem>
+ <para>Χρησιμοποιήστε τη γραφή @param για να αναφερθείτε σε παραμέτρους. Επίσης, χρησιμοποιήστε αυτή τη γραφή για να αναφερθείτε σε παραμέτρους άλλων συναρτήσεων, σχετικών με την περιγραφόμενη.</para>
+ </listitem>
+ <listitem>
+ <para>Χρησιμοποιήστε τη γραφή %constant για να αναφερθείτε σε σταθερές, π.χ. %G_TRAVERSE_LEAFS.</para>
+ </listitem>
+ <listitem>
+ <para>Χρησιμοποιήστε τη γραφή #symbol για να αναφερθείτε σε άλλους τύπους συμβόλων, π.χ. δομές, αριθμήσεις και μακροεντολές που δε δέχονται ορίσματα.</para>
+ </listitem>
+ <listitem>
+ <para>Χρησιμοποιήστε τη γραφή #Object::signal για να αναφερθείτε σε ένα σήμα GObject</para>
+ </listitem>
+ <listitem>
+ <para>Χρησιμοποιήστε τη γραφή #Object::property για να αναφερθείτε σε μία ιδιότητα GObject</para>
+ </listitem>
+ <listitem>
+ <para>Χρησιμοποιήστε τη γραφή #Struct.field για να αναφερθείτε σε ένα πεδίο μιας δομής.</para>
+ </listitem>
+ </itemizedlist></para>
+
+ <tip>
+ <para>Αν θέλετε να χρησιμοποιήσετε τους ειδικούς χαρακτήρες «<», «>», «()», «@», «%» ή «#» στην τεκμηρίωση, χωρίς να φοβάστε ότι θα τους αλλάξει το GTK-Doc, μπορείτε να χρησιμοποιήσετε τις οντότητες XML «&lt;», «&gt;», «&lpar;», «&rpar;», «&commat;», «&percnt;» και «&num;», αντίστοιχα, ή να χρησιμοποιήσετε την ανάποδη κάθετο «\» ως χαρακτήρα διαφυγής.</para>
+ </tip>
+
+ <para>
+ DocBook can do more than just links. One can also have lists, tables and
+ examples. To enable the usage of docbook SGML/XML tags inside
+ doc-comments you need to have <option>--xml-mode</option> or
+ <option>--sgml-mode</option> in the variable
+ <symbol>MKDB_OPTIONS</symbol> inside <filename>Makefile.am</filename>.
+ </para>
+
+ <para>
+ Since GTK-Doc-1.18 the tool supports a subset or the
+ <ulink url="http://daringfireball.net/projects/markdown/">markdown language</ulink>.
+ One can use it for sub-headings and simple itemized lists. On older
+ GTK-Doc versions the content will be rendered as it (the list items will
+ appear in one line separated by dashes).
+ <example><title>GTK-Doc comment block using markdown</title>
+ <programlisting>
+<![CDATA[
+/**
+ * identifier:
+ *
+ * documentation ...
+ *
+ * # Sub heading #
+ *
+ * more documentation:
+ * - list item 1
+ * - list item 2
+ *
+ * Even more docs.
+ */
+]]>
+ </programlisting>
+ </example>
+ </para>
+
+ <tip>
+ <para>Όπως αναφέρθηκε και προηγουμένως το GTK-Doc αναλαμβάνει την τεκμηρίωση του δημόσιου API. Άρα, δεν μπορεί να γραφτεί τεκμηρίωση για στατικά σύμβολα. Παρόλα αυτά, συνιστάται ο σχολιασμός και αυτών των συμβόλων, γιατί βοηθά στην κατανόηση του κώδικα. Σας προτείνουμε λοιπόν να τα σχολιάζετε χρησιμοποιώντας κανονικά σχόλια (χωρίς το δεύτερο «*» στην πρώτη γραμμή). Αν αργότερα χρειαστεί να μετατραπεί η συνάρτηση σε δημόσια, το μόνο που θα πρέπει να γίνει είναι να προστεθεί άλλο ένα «*» στο μπλοκ του σχολίου, και να εισαχθεί το όνομα του συμβόλου στην κατάλληλη θέση του αρχείου ενοτήτων.</para>
+ </tip>
+ </sect1>
+
+ <sect1 id="documenting_sections">
+ <title>Ενότητες τεκμηρίωσης</title>
+
+ <para>Κάθε ενότητα της τεκμηρίωσης περιέχει πληροφορίες για μία κλάση ή ένα άρθρωμα. Για να εισάγετε το συστατικό μπορείτε να γράψετε ένα μπλοκ σχολίου ενότητας. Η σύντομη αυτή περιγραφή χρησιμοποιείται και για τον πίνακα περιεχομένων. Όλα τα πεδία @fields είναι προαιρετικά.</para>
+
+ <para>
+ <example><title>Μπλοκ σχολίου ενότητας</title>
+ <programlisting>
+<![CDATA[
+/**
+ * SECTION:meepapp
+ * @short_description: the application class
+ * @title: Meep application
+ * @section_id:
+ * @see_also: #MeepSettings
+ * @stability: Stable
+ * @include: meep/app.h
+ * @image: application.png
+ *
+ * The application class handles ...
+ */
+]]>
+ </programlisting>
+ </example>
+ </para>
+
+ <variablelist>
+ <varlistentry>
+ <term>SECTION:<name></term>
+ <listitem>
+ <para>Το name συνδέει την τεκμηρίωση της ενότητας με το αντίστοιχο μέρος στο αρχείο <filename><package>-sections.txt</filename>. Το όνομα που δίνεται εδώ πρέπει να ταιριάζει με την ετικέτα <FILE> στο αρχείο <filename><package>-sections.txt</filename>.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>@short_description</term>
+ <listitem>
+ <para>Περιγραφή της ενότητας σε μία γραμμή, η οποία θα εμφανίζεται, στη συνέχεια, μετά από τους συνδέσμους του πίνακα περιεχομένων και στην αρχή της σελίδας της ενότητας.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>@title</term>
+ <listitem>
+ <para>Ο τίτλος της ενότητας από προεπιλογή έχει όνομα <name> από τη δήλωση SECTION. Μπορεί να παρακαμφθεί με το πεδίο @title.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>@section_id</term>
+ <listitem>
+ <para>Παρακάμπτει τη χρήση του τίτλου ως αναγνωριστικό της ενότητας. Για αντικείμενα GOBject το <title> χρησιμοποιείται ως section_id και για άλλες ενότητες είναι <MODULE>-<title>.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>@see_also</term>
+ <listitem>
+ <para>Λίστα συμβόλων σχετικών με αυτή την ενότητα.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>@stability</term>
+ <listitem>
+ <para>Άτυπη περιγραφή του επιπέδου σταθερότητας του συγκεκριμένου API. Σας συνιστούμε να χρησιμοποιείται έναν από τους ακόλουθους όρους: <itemizedlist>
+ <listitem>
+ <para>Σταθερή - Μια σταθερή διεπαφή επιτρέπει σε τρίτους να αναπτύσσουν εφαρμογές για τις διεπαφές αυτές, να τις δημοσιεύουν και να είναι βέβαιοι ότι οι εφαρμογές θα τρέχουν σε όλες τις ελάσσονες εκδόσεις του προϊόντος (οι οποίες θα είναι μεταγενέστερες της διεπαφής και θα ανήκουν στην ίδια μείζονα έκδοση). Ακόμη και όταν πρόκειται για μείζονες νέες εκδόσεις, οι ασυμβατότητες αναμένεται να είναι σπάνιες και να οφείλονται σε σοβαρούς λόγους.</para>
+ </listitem>
+ <listitem>
+ <para>Ασταθής - Ασταθείς είναι οι πειραματικές ή μεταβατικές διεπαφές. Συνήθως χρησιμοποιούνται για να παρέχουν σε τρίτους πρώιμη πρόσβαση σε νέες ή διαρκώς εξελισσόμενες τεχνολογίες, ή ως ενδιάμεσες λύσεις για προβλήματα για τα οποία αναμένεται μια γενικότερη λύση. Δεν υφίσταται καμία εγγύηση συμβατότητας μεταξύ μιας ελάσσονας έκδοσης και της επόμενης.</para>
+ </listitem>
+ <listitem>
+ <para>Ιδιωτική - Διεπαφή που μπορεί να χρησιμοποιηθεί εντός της στοίβας του GNOME, αλλά δε διαθέτει τεκμηρίωση που να απευθύνεται στους τελικούς χρήστες. Τέτοιου είδους συναρτήσεις μπορούν να χρησιμοποιούνται μόνο στο πλαίσιο σαφώς καθορισμένων και τεκμηριωμένων διαδικασιών.</para>
+ </listitem>
+ <listitem>
+ <para>Εσωτερική - Μια διεπαφή που είναι εσωτερική σε ένα module δεν απαιτεί την ύπαρξη τεκμηρίωσης για τον τελικό χρήστη. Οι συναρτήσεις που δεν περιέχουν τεκμηρίωση θεωρείται ότι είναι εσωτερικές.</para>
+ </listitem>
+ </itemizedlist></para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>@include</term>
+ <listitem>
+ <para>Αρχεία <literal>#include</literal> που εμφανίζονται στη συνοπτική παρουσίαση των ενοτήτων (λίστα αρχείων που χωρίζονται με κόμματα), αντικαθιστώντας την καθολική τιμή στο <link linkend="metafiles_sections">αρχείο ενότητας</link> ή στη γραμμή εντολών. Πρόκειται για προαιρετικό στοιχείο.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>@image</term>
+ <listitem>
+ <para>Η εικόνα που θα εμφανίζεται στο πάνω μέρος της σελίδας αναφοράς για αυτή την ενότητα. Αυτή συχνά θα είναι κάποιου είδους διάγραμμα για την απεικόνιση μια κλάσης ή ενός διαγράμματος της σχέσης της με άλλες κλάσεις. Αυτή η καταχώρηση είναι προαιρετική.</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+
+ <tip>
+ <para>Για να μη χρειαστεί να κάνετε εκ νέου μεταγλώττιση μετά από αλλαγές στην τεκμηρίωση, σας προτείνουμε να ενσωματώνετε την τεκμηρίωση των ενοτήτων στο αρχείο του πηγαίου κώδικα, όπου αυτό είναι δυνατό.</para>
+ </tip>
+
+ </sect1>
+
+ <sect1 id="documenting_symbols">
+ <title>Τεκμηρίωση συμβόλων</title>
+
+ <para>Κάθε σύμβολο (συνάρτηση, μακροεντολή, δομή, αρίθμηση, σήμα, ιδιότητα) τεκμηριώνεται σε ξεχωριστό μπλοκ. Η καταλληλότερη θέση για τα μπλοκ είναι δίπλα στους ορισμούς των συμβόλων, γιατί διευκολύνει το έργο συγχρονισμού. Επομένως, η τεκμηρίωση των συναρτήσεων συνήθως βρίσκεται στο αρχείο του πηγαίου κώδικα, ενώ των μακροεντολών, δομών και αριθμήσεων στο αρχείο κεφαλίδας.</para>
+
+ <sect2><title>Γενικές ετικέτες</title>
+
+ <para>Μπορείτε να προσθέσετε πληροφορίες εκδόσεων σε οποιοδήποτε στοιχείο της τεκμηρίωσης για να πείτε πότε εισήχθηκε ένα API ή πότε έγινε πεπαλαιωμένο.</para>
+
+ <variablelist><title>Ετικέτες εκδόσεων</title>
+ <varlistentry><term>Since:</term>
+ <listitem>
+ <para>Από ποια έκδοση του κώδικα είναι διαθέσιμο το API.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry><term>Deprecated:</term>
+ <listitem>
+ <para>Παράγραφος που ενημερώνει ότι θα πρέπει να σταματήσει η χρήση της συνάρτησης. Η περιγραφή θα πρέπει να παραπέμπει τον αναγνώστη στο νέο API.</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+
+ <para>(FIXME : Πληροφορίες σταθερότητας)</para>
+
+ <example><title>Γενικές ετικέτες</title>
+ <programlisting>
+<![CDATA[
+/**
+ * foo_get_bar:
+ * @foo: some foo
+ *
+ * Retrieves @foo's bar.
+ *
+ * Returns: @foo's bar
+ *
+ * Since: 2.6
+ * Deprecated: 2.12: Use foo_baz_get_bar() instead.
+ **/
+Bar *
+foo_get_bar(Foo *foo)
+{
+...
+]]>
+ </programlisting>
+ </example>
+ </sect2>
+
+ <sect2><title>Μπλοκ σχολίου συνάρτησης</title>
+
+ <para>Παρακαλούμε να θυμηθείτε να: <itemizedlist>
+ <listitem>
+ <para>Τεκμηριώσετε κατά πόσο τα επιστρεφόμενα αντικείμενα, λίστες, συμβολοσειρές, κ.λπ, θα πρέπει να ελευθερώνονται, να μην ελευθερώνονται ή να απορρίπτονται.</para>
+ </listitem>
+ <listitem>
+ <para>Τεκμηριώσετε κατά πόσο οι παράμετροι μπορούν να είναι μηδενικές (NULL) και τι συμβαίνει αν είναι.</para>
+ </listitem>
+ <listitem>
+ <para>Αναφέρετε ενδιαφέρουσες προ-υποθέσεις και μετα-υποθέσεις όπου χρειάζεται.</para>
+ </listitem>
+ </itemizedlist></para>
+
+ <para>Το Gtk-doc θεωρεί ότι όλα τα σύμβολα (μακροεντολές, συναρτήσεις, κτλ.) που ξεκινούν με '_' είναι ιδιωτικά και τα μεταχειρίζεται σαν στατικές συναρτήσεις.</para>
+
+ <para>Επίσης, ρίξτε μια ματιά στις ετικέτες σημείωσης ενδοσκόπησης των gobject: http://live.gnome.org/GObjectIntrospection/Annotations</para>
+
+ <example><title>Μπλοκ σχολίου συνάρτησης</title>
+ <programlisting>
+<![CDATA[
+/**
+ * function_name:
+ * @par1: description of parameter 1. These can extend over more than
+ * one line.
+ * @par2: description of parameter 2
+ * @...: a %NULL-terminated list of bars
+ *
+ * The function description goes here. You can use @par1 to refer to parameters
+ * so that they are highlighted in the output. You can also use %constant
+ * for constants, function_name2() for functions and #GtkWidget for links to
+ * other declarations (which may be documented elsewhere).
+ *
+ * Returns: an integer.
+ *
+ * Since: 2.2
+ * Deprecated: 2.18: Use other_function() instead.
+ */
+]]>
+ </programlisting>
+ </example>
+
+ <variablelist><title>Ετικέτες συναρτήσεων</title>
+ <varlistentry><term>Returns:</term>
+ <listitem>
+ <para>Παράγραφος που περιγράφει το επιστρεφόμενο αποτέλεσμα.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry><term>@...:</term>
+ <listitem>
+ <para>Σε περίπτωση που η μεταβλητή μπορεί να δεκτεί μεταβλητό αριθμό ορισμάτων (variadic), πρέπει να χρησιμοποιήσετε αυτή την ετικέτα (η ετικέτα @Varargs: λειτουργεί επίσης, για ιστορικούς λόγους).</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+
+ </sect2>
+
+ <sect2><title>Μπλοκ σχολίου ιδιότητας</title>
+
+ <example><title>Μπλοκ σχολίου ιδιότητας</title>
+ <programlisting>
+<![CDATA[
+/**
+ * SomeWidget:some-property:
+ *
+ * Here you can document a property.
+ */
+g_object_class_install_property (object_class, PROP_SOME_PROPERTY, ...);
+]]>
+ </programlisting>
+ </example>
+
+ </sect2>
+
+ <sect2><title>Μπλοκ σχολίου σήματος</title>
+
+ <para>Παρακαλούμε να θυμηθείτε να: <itemizedlist>
+ <listitem>
+ <para>Τεκμηριώστε πότε εκπέμπεται το σήμα και αν εκπέμπεται πριν ή μετά από άλλα σήματα.</para>
+ </listitem>
+ <listitem>
+ <para>Τεκμηριώστε τι μπορεί να κάνει μια εφαρμογή στον διαχειριστή σημάτων.</para>
+ </listitem>
+ </itemizedlist></para>
+
+ <example><title>Μπλοκ σχολίου σήματος</title>
+ <programlisting>
+<![CDATA[
+/**
+ * FooWidget::foobarized:
+ * @widget: the widget that received the signal
+ * @foo: some foo
+ * @bar: some bar
+ *
+ * The ::foobarized signal is emitted each time someone tries to foobarize @widget.
+ */
+foo_signals[FOOBARIZE] =
+ g_signal_new ("foobarize",
+ ...
+]]>
+ </programlisting>
+ </example>
+
+ </sect2>
+
+ <sect2><title>Μπλοκ σχολίου δομής</title>
+ <example><title>Μπλοκ σχολίου δομής</title>
+ <programlisting>
+<![CDATA[
+/**
+ * FooWidget:
+ * @bar: some #gboolean
+ *
+ * This is the best widget, ever.
+ */
+typedef struct _FooWidget {
+ /*< private >*/
+ GtkWidget parent;
+
+ /*< public >*/
+ gboolean bar;
+} FooWidget;
+]]>
+ </programlisting>
+ </example>
+
+ <para>Χρησιμοποιήστε το <code>/*< private >*/</code> πριν από πεδία ιδιωτικών δομών που θέλετε να αποκρύψετε. Χρησιμοποιήστε το <code>/*< public >*/</code>για την αντίστροφη συμπεριφορά.</para>
+
+ <para>Οι ομάδες σχολίων Struct μπορούν επίσης να χρησιμοποιηθούν για GObjects και για GObjectClasses. Είναι συνήθως καλή ιδέα να προσθέτετε μία ομάδα σχολίου για μια κλάση, εάν έχει vmethods (γιατί έτσι μπορούν να τεκμηριωθούν). Για το ίδιο το GObject μπορείτε να χρησιμοποιήσετε τα σχετικά έγγραφα τμημάτων, έχοντας μία ξεχωριστή ομάδα για την στιγμιότυπο struct θα ήταν χρήσιμος εάν το στιγμιότυπο έχει τους δημόσια πεδία. Ένα μειονέκτημα εδώ είναι ότι θα δημιουργηθούν δύο καταχωρήσεις δεικτών για το ίδιο όνομα (για την δομή και για το τμήμα).</para>
+
+ </sect2>
+
+ <sect2><title>Μπλοκ σχολίου Enum</title>
+ <example><title>Μπλοκ σχολίου Enum</title>
+ <programlisting>
+<![CDATA[
+/**
+ * Something:
+ * @SOMETHING_FOO: something foo
+ * @SOMETHING_BAR: something bar
+ *
+ * Enum values used for the thing, to specify the thing.
+ *
+ **/
+typedef enum {
+ SOMETHING_FOO,
+ SOMETHING_BAR,
+ /*< private >*/
+ SOMETHING_COUNT
+} Something;
+]]>
+ </programlisting>
+ </example>
+
+ <para>Χρησιμοποιήστε το <code>/*< private >*/</code> πριν από ιδιωτικές τιμές enum που θέλετε να αποκρύψετε. Χρησιμοποιήστε το <code>/*< public >*/</code> για την αντίστροφη συμπεριφορά.</para>
+
+ </sect2>
+ </sect1>
+
+ <sect1 id="documenting_docbook">
+ <title>Χρήσιμες ετικέτες DocBook</title>
+
+ <para>Ακολουθούν ορισμένες ετικέτες DocBook, ιδιαίτερα χρήσιμες για την τεκμηρίωση του κώδικα.</para>
+
+ <para>Για να συνδέσετε με μια άλλη ενότητα στην τεκμηρίωση GTK: <informalexample>
+ <programlisting>
+<![CDATA[
+<link linkend="glib-Hash-Tables">Hash Tables</link>
+]]>
+ </programlisting>
+ </informalexample> Ο προορισμός είναι το id του SGML/XML στο πρώτο στοιχείο της σελίδας στην οποία παραπέμπει ο σύνδεσμος. Για τις περισσότερες σελίδες είναι το ("gtk", "gdk", glib"), ακολουθούμενο από τον τίτλο της σελίδας («Πίνακες Hash»). Για τα γραφικά συστατικά είναι το όνομα της κλάσης. Τα διαστήματα και τα «_» μετατρέπονται σε «-» για να υπάρχει συμμόρφωση με το SGML/XML.</para>
+
+ <para>Αναφορά σε εξωτερική συνάρτηση, π.χ. τυποποιημένη συνάρτηση C: <informalexample>
+ <programlisting>
+<![CDATA[
+<function>...</function>
+]]>
+ </programlisting>
+ </informalexample></para>
+
+ <para>Συμπερίληψη παραδειγμάτων κώδικα: <informalexample>
+ <programlisting>
+<![CDATA[
+<example>
+ <title>Using a GHashTable.</title>
+ <programlisting>
+ ...
+ </programlisting>
+</example>
+]]>
+ </programlisting>
+ </informalexample> ή, ενδεχομένως, για πολύ σύντομο κώδικα που δεν χρειάζεται τίτλο: <informalexample>
+ <programlisting>
+<![CDATA[
+<informalexample>
+ <programlisting>
+ ...
+ </programlisting>
+</informalexample>
+]]>
+ </programlisting>
+ </informalexample>. Στην τελευταία περίπτωση το GTK-Doc υποστηρίζει επίσης τη σύντμηση: <![CDATA[
+|[
+ ...
+]|
+]]></para>
+
+ <para>Συμπερίληψη λιστών με κουκίδες: <informalexample>
+ <programlisting>
+<![CDATA[
+<itemizedlist>
+ <listitem>
+ <para>
+ ...
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ ...
+ </para>
+ </listitem>
+</itemizedlist>
+]]>
+ </programlisting>
+ </informalexample></para>
+
+ <para>Συμπερίληψη σημειώσεων που ξεχωρίζουν από το υπόλοιπο κείμενο: <informalexample>
+ <programlisting>
+<![CDATA[
+<note>
+ <para>
+ Make sure you free the data after use.
+ </para>
+</note>
+]]>
+ </programlisting>
+ </informalexample></para>
+
+ <para>Αναφορά σε τύπο: <informalexample>
+ <programlisting>
+<![CDATA[
+<type>unsigned char</type>
+]]>
+ </programlisting>
+ </informalexample></para>
+
+ <para>Αναφορά σε εξωτερική δομή (που δεν περιγράφεται στην τεκμηρίωση GTK): <informalexample>
+ <programlisting>
+<![CDATA[
+<structname>XFontStruct</structname>
+]]>
+ </programlisting>
+ </informalexample></para>
+
+ <para>Αναφορά σε πεδίο μιας δομής: <informalexample>
+ <programlisting>
+<![CDATA[
+<structfield>len</structfield>
+]]>
+ </programlisting>
+ </informalexample></para>
+
+ <para>Αναφορά σε όνομα κλάσης. Μία δυνατότητα είναι το : <informalexample>
+ <programlisting>
+<![CDATA[
+<classname>GtkWidget</classname>
+]]>
+ </programlisting>
+ </informalexample>, αλλά μάλλον θα χρησιμοποιήσετε το #GtkWidget (για αυτόματη δημιουργία συνδέσμου προς τη σελίδα GtkWidget, δείτε <link linkend="documenting_syntax">τις συντμήσεις</link>).</para>
+
+ <para>Χρήση έντονων χαρακτήρων: <informalexample>
+ <programlisting>
+<![CDATA[
+<emphasis>This is important</emphasis>
+]]>
+ </programlisting>
+ </informalexample></para>
+
+ <para>Ονόματα αρχείων: <informalexample>
+ <programlisting>
+<![CDATA[
+<filename>/home/user/documents</filename>
+]]>
+ </programlisting>
+ </informalexample></para>
+
+ <para>Για να αναφερθείτε σε κλειδιά χρησιμοποιήστε: <informalexample>
+ <programlisting>
+<![CDATA[
+<keycombo><keycap>Control</keycap><keycap>L</keycap></keycombo>
+]]>
+ </programlisting>
+ </informalexample></para>
+
+ </sect1>
+ </chapter>
+
+ <chapter id="metafiles">
+ <title>Συμπλήρωση επιπλέον αρχείων</title>
+
+ <para>
+ There are a couple of extra files, that need to be maintained along with
+ the inline source code comments:
+ <filename><package>.types</filename>,
+ <filename><package>-docs.xml</filename> (in the past .sgml),
+ <filename><package>-sections.txt</filename>.
+ </para>
+
+ <sect1 id="metafiles_types">
+ <title>Επεξεργασία του αρχείου types</title>
+
+ <para>Αν η βιβλιοθήκη ή η εφαρμογή σας περιέχει GtkObjects/GObjects, θα θέλετε να εμφανίζονται στην τεκμηρίωση τα σήματα, τα ορίσματα, οι παράμετροι τους, καθώς και η θέση τους στην ιεραρχία. Για να το πετύχετε, απλά καταγράψτε όλες τις συναρτήσεις <function>xxx_get_type</function> μαζί με τα include τους στο αρχείο <filename><package>.types</filename>.</para>
+
+ <para>
+ <example><title>Υπόδειγμα αποσπάσματος αρχείου types</title>
+ <programlisting>
+<![CDATA[
+#include <gtk/gtk.h>
+
+gtk_accel_label_get_type
+gtk_adjustment_get_type
+gtk_alignment_get_type
+gtk_arrow_get_type
+]]>
+ </programlisting>
+ </example>
+ </para>
+
+ <para>Από την έκδοση 1.8 και μετά το <application>gtkdoc-scan</application> μπορεί να παράγει αυτόματα αυτή τη λίστα. Απλά προσθέστε την επιλογή «--rebuild-types» στο SCAN_OPTIONS του <filename>Makefile.am</filename>. Αν προτιμήσετε αυτή την προσέγγιση, θα πρέπει να μη συμπεριλάβετε το αρχείο types ούτε στη διανομή ούτε στον έλεγχο εκδόσεων.</para>
+
+ </sect1>
+
+ <sect1 id="metafiles_master">
+ <title>Επεξεργασία κύριου εγγράφου (master)</title>
+
+ <para>Το GTK-Doc παράγει τεκμηρίωση σε μορφή SGML/XML DocBook. Κατά την επεξεργασία των σχολίων εντός του πηγαίου κώδικα, τα εργαλεία του GTK-Doc παράγουν μία σελίδα τεκμηρίωσης ανά κλάση ή άρθρωμα, η οποία αποθηκεύεται ως ξεχωριστό αρχείο. Το κύριο έγγραφο συμπεριλαμβάνει αυτά τα αρχεία και τα ταξινομεί.</para>
+
+ <para>Αν και το GTK-Doc παράγει αυτόματα ένα πρότυπο κύριο έγγραφο, δεν το τροποποιεί κατά τις επόμενες εκτελέσεις. Αυτό σημαίνει ότι έχετε τη δυνατότητα να αλλάξετε τη δομή της τεκμηρίωσης. Μπορείτε να ομαδοποιήσετε κάποιες σελίδες ή να προσθέσετε νέες. Το GTK-Doc διαθέτει πλέον μια σουίτα για δοκιμές, στην οποία το κύριο έγγραφο παράγεται εκ νέου. Συνιστάται να επαναλαμβάνετε τακτικά αυτή τη διαδικασία, για να διαπιστώνετε αν έχουν προστεθεί νέα στοιχεία.</para>
+
+ <tip>
+ <para>Μη δημιουργείτε νέα έγγραφα για τους οδηγούς εκμάθησης (tutorials). Απλά προσθέστε τους ως επιπλέον κεφάλαια, δηλαδή ενσωματώστε απευθείας τον οδηγό εκμάθησης για μια βιβλιοθήκη στην τεκμηρίωση API. Το πλεονέκτημα είναι ότι έτσι διευκολύνεται η διαδικασία δημιουργίας συνδέσμων από τον οδηγό εκμάθησης προς την τεκμηρίωση των συμβόλων. Επίσης, έτσι καθίσταται πιθανότερη η ενημέρωση του οδηγού μαζί με τη βιβλιοθήκη.</para>
+ </tip>
+
+ <para>Ποιες είναι λοιπόν οι αλλαγές που πρέπει να γίνουν στο κύριο έγγραφο; Διευκρινίζουμε ότι πρόκειται για λίγες μόνο αλλαγές σε ορισμένα placeholders (κείμενα εντός αγκυλών).</para>
+
+ <para>
+ <example><title>Κεφαλίδα κύριου εγγράφου</title>
+ <programlisting>
+<![CDATA[
+<bookinfo>
+ <title>MODULENAME Reference Manual</title>
+ <releaseinfo>
+ for MODULENAME [VERSION]
+ The latest version of this documentation can be found on-line at
+ <ulink role="online-location" url="http://[SERVER]/MODULENAME/index.html">http://[SERVER]/MODULENAME/</ulink>.
+ </releaseinfo>
+</bookinfo>
+
+<chapter>
+ <title>[Insert title here]</title>
+]]>
+ </programlisting>
+ </example>
+ </para>
+
+ </sect1>
+
+ <sect1 id="metafiles_sections">
+ <title>Επεξεργασία αρχείου ενοτήτων</title>
+
+ <para>Το αρχείο ενοτήτων χρησιμεύει στην οργάνωση της τεκμηρίωσης που παράγεται από το GTK-Doc. Εδώ διευκρινίζεται σε ποιο άρθρωμα ή κλάση ανήκει κάθε σύμβολο και αποφασίζεται η ορατότητά του (αν θα είναι δημόσιο ή ιδιωτικό).</para>
+
+ <para>Το αρχείο ενοτήτων είναι ένα αρχείο απλού κειμένου που χρησιμοποιεί σύνταξη με ετικέτες, παρόμοια με την xml. Οι κενές γραμμές αγνοούνται, ενώ οι γραμμές που ξεκινούν με # αποτελούν σχόλια.</para>
+
+ <para>Η ετικέτα <FILE> ... </FILE> χρησιμποιείται για να δηλώσει το όνομα του αρχείου χωρίς την επέκταση. Για παράδειγμα, το '<FILE>gnome-config</FILE>' σημαίνει ότι οι δηλώσεις των ενοτήτων θα βρίσκονται στο πρότυπο αρχείο <filename>tmpl/gnome-config.sgml</filename>, το οποίο θα μετατραπεί στο αρχείο DocBook SGML/XML <filename>sgml/gnome-config.sgml</filename> ή DocBook XML <filename>xml/gnome-config.xml</filename>. (Το όνομα του αρχείου html πηγάζει από το όνομα του αρθρώματος και τον τίτλο της ενότητας, ή από το όνομα της κλάσης του gobject, αλλά με πεζούς χαρακτήρες).</para>
+
+ <para>Η ετικέτα <TITLE> ... </TITLE> χρησιμοποιείται για να ορίσει τους τίτλους των ενοτήτων. Χρησιμεύει μόνο πριν τη δημιουργία των προτύπων, καθώς ο τίτλος που περιέχεται στα αρχεία προτύπων αντικαθιστά αυτούς τους τίτλους. Επίσης, αν χρησιμοποιείται το σχόλιο SECTION στον πηγαίο κώδικα, αυτό είναι πεπαλαιωμένο.</para>
+
+ <para>Μπορείτε να ομαδοποιείτε τα στοιχεία των ενοτήτων χρησιμοποιώντας την ετικέτα <SUBSECTION>. Με την τωρινή της μορφή, προσθέτει μία κενή γραμμή μεταξύ υποενοτήτων στη σύνοπτική παρουσίαση. Μπορείτε, επίσης, να χρησιμοποιήσετε την ετικέτα <SUBSECTION Standard> για κλασικές δηλώσεις GObject (π.χ. συναρτήσεις όπως η g_object_get_type και μακροεντολές όπως οι G_OBJECT(), G_IS_OBJECT(), κτλ.). Προς το παρόν, αυτές οι δηλώσεις μένουν εκτός τεκμηρίωσης. Τέλος, μπορείτε να χρησιμοποιήσετε την ετικέτα <SUBSECTION Private> για ιδιωτικές δηλώσεις που δεν πρόκειται να εμφανιστούν στην τεκμηρίωση (έτσι αποφεύγετε τις προειδοποιήσεις για δηλώσεις που δεν χρησιμοποιούνται). Αν η βιβλιοθήκη σας περιέχει ιδιωτικούς τύπους, για τους οποίους δεν επιθυμείτε να εμφανίζονται στην ιεραρχία αντικειμένων και στη λίστα υλοποιημένων ή απαιτούμενων διεπαφών, μπορείτε να τους προσθέσετε σε μία ιδιωτική υποενότητα.</para>
+
+ <para>Μπορείτε, επίσης, να χρησιμοποιείτε την ετικέτα <INCLUDE> ... </INCLUDE> για τα αρχεία #include που περιλαμβάνονται στις ενότητες συνοπτικής παρουσίασης. Περιέχει μία λίστα με αρχεία #include, χωρισμένα με κόμματα και χωρίς τα '' </para>
+
+ </sect1>
+
+ </chapter>
+
+ <chapter id="reports">
+ <title>Έλεγχος αποτελέσματος</title>
+
+ <para>Κατά την εκτέλεση του GTK-Doc παράγονται αρχεία αναφορών που τοποθετούνται στον κατάλογο της τεκμηρίωσης. Πρόκειται για τα αρχεία: <filename><package>-undocumented.txt</filename>, <filename><package>-undeclared.txt</filename> και <filename><package>-unused.txt</filename>. Είναι αρχεία απλού κειμένου, εύκολα στην ανάγνωση και επεξεργασία.</para>
+
+ <para>Το αρχείο <filename><package>-undocumented.txt</filename> ξεκινά με μία περίληψη της κάλυψης της τεκμηρίωσης. Ακολουθούν δύο ενότητες που χωρίζονται μεταξύ τους με κενές γραμμές. Η πρώτη ενότητα αναφέρει τα σύμβολα που δε διαθέτουν τεκμηρίωση ή είναι ημιτελή. Η δεύτερη καταγράφει τα ίδια στοιχεία για την τεκμηρίωση των ενοτήτων. Ημιτελείς θεωρούνται οι καταχωρήσεις για τις οποίες υπάρχει τεκμηρίωση, αλλά στις οποίες π.χ. προστέθηκε μια νέα παράμετρος.</para>
+
+ <para>Το αρχείο <filename><package>-undeclared.txt</filename> περιέχει σύμβολα που αναφέρονται στο αρχείο <filename><package>-sections.txt</filename>, αλλά δε βρέθηκαν στον πηγαίο κώδικα. Θα πρέπει να ελέγξετε αν έχουν αφαιρεθεί ή αν περιέχουν συντακτικά λάθη.</para>
+
+ <para>Το αρχείο <filename><package>-unused.txt</filename> περιέχει ονόματα συμβόλων για τα οποία η σάρωση του GTK-Doc βρήκε τεκμηρίωση, αλλά δεν γνωρίζει πού να την τοποθετήσει. Aυτό σημαίνει ότι τα σύμβολα δεν έχουν προστεθεί ακόμη στο αρχείο <filename><package>-sections.txt</filename>.</para>
+
+ <tip>
+ <para>Ενεργοποιήστε ή προσθέστε τη γραμμή <option>TESTS=($GTKDOC_CHECK)</option> στο Makefile.am. Αν έχετε εγκατεστημένη την έκδοση 1.9 ή μεταγενέστερη, θα πραγματοποιεί διάφορους ελέγχους κατά την εκτέλεση του <command>make check</command>.</para>
+ </tip>
+
+ <para>Μπορείτε επίσης να δείτε τα αρχεία που παράγονται από το σαρωτή του πηγαίου κώδικα: <filename><package>-decl-list.txt</filename> και <filename><package>-decl.txt</filename>. Το πρώτο μπορεί να συγκριθεί με το αρχείο της ενότητας, αν αυτό συντηρείται χειροκίνητα. Το δεύτερο περιέχει μια λίστα με από τις κεφαλίδες. Αν ένα σύμβολο λείπει, μπορείτε να ελέγξετε αν περιέχεται σε αυτό το αρχείο.</para>
+
+ <para>Αν το έργο βασίζεται στο GObject, μπορείτε επίσης να δείτε τα αρχεία που παράγονται από το σαρωτή αντικειμένων: <filename><package>.args.txt</filename>, <filename><package>.hierarchy.txt</filename>, <filename><package>.interfaces.txt</filename>, <filename><package>.prerequisites.txt</filename> και <filename><package>.signals.txt</filename>. Αν λείπουν σύμβολα από οποιοδήποτε από αυτά, μπορείτε να ζητήσετε από το gtkdoc να κρατήσει το ενδιάμεσο αρχείο σάρωσης για περαιτέρω ανάλυση, αλλά εκτελώντας το ως <command>GTK_DOC_KEEP_INTERMEDIATE=1 make</command>.</para>
+ </chapter>
+
+ <chapter id="documenting-others">
+ <title>Τεκμηρίωση άλλων επιφανειών</title>
+
+ <para>Τόσο καιρό χρησιμοποιούσαμε το GTK-Doc για να καταγράψουμε το API του κώδικα. Οι επόμενες συνεδρίες περιέχουν προτάσεις για το πώς τα εργαλεία μπορούν να χρησιμοποιηθούν ώστε να καταγράψετε και άλλες επιφάνειες.</para>
+
+ <sect1 id="commandline-interfaces">
+ <title>Επιλογές γραμμής εντολών και σελίδες man</title>
+
+ <para>Δεδομένου ότι κάποιος μπορεί να παραγάγει σελίδες man για ένα docbook refentry επίσης, θα ήταν καλή ιδέα να χρησιμοποιηθεί και για αυτόν τον σκοπό. Με αυτόν τον τρόπο η διεπαφή γίνεται μέρος της αναφοράς και αποχτά την σελίδα-man δωρεάν.</para>
+
+ <sect2 id="commandline-interfaces-file">
+ <title>Τεκμηρίωση του εργαλείου</title>
+
+ <para>Δημιουργήστε ένα refentry αρχείο ανά εργαλείο. Ακολουθώντας <link linkend="settingup_docfiles"> το παράδειγμά μας </link> θα το ονομάσουμε <filename>meep/docs/reference/meeper/meep.xml</filename>. Για τις ετικέτες xml που πρέπει να χρησιμοποιηθούν και μπορούν να εξετάσουν το παραγόμενο αρχείο στον υποκατάλογο xml καθώς επίσης και τα παραδείγματα π.χ. στο glib.</para>
+ </sect2>
+
+ <sect2 id="commandline-interfaces-configure">
+ <title>Προσθήκη του έξτρα ελέγχου διαμόρφωσης</title>
+
+ <para>
+ <example><title>Έξτρα έλεγχοι διαμόρφωσης</title>
+ <programlisting>
+<![CDATA[
+AC_ARG_ENABLE(man,
+ [AC_HELP_STRING([--enable-man],
+ [regenerate man pages from Docbook [default=no]])],enable_man=yes,
+ enable_man=no)
+
+AC_PATH_PROG([XSLTPROC], [xsltproc])
+AM_CONDITIONAL(ENABLE_MAN, test x$enable_man != xno)
+]]>
+ </programlisting>
+ </example>
+ </para>
+ </sect2>
+
+ <sect2 id="commandline-interfaces-make">
+ <title>Προσθήκη των έξτρα κανόνων makefile</title>
+
+ <para>
+ <example><title>Έξτρα έλεγχοι διαμόρφωσης</title>
+ <programlisting>
+<![CDATA[
+man_MANS = \
+ meeper.1
+
+if ENABLE_GTK_DOC
+if ENABLE_MAN
+
+%.1 : %.xml
+ @XSLTPROC@ -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
+
+endif
+endif
+
+BUILT_EXTRA_DIST = $(man_MANS)
+EXTRA_DIST += meep.xml
+]]>
+ </programlisting>
+ </example>
+ </para>
+ </sect2>
+ </sect1>
+
+ <sect1 id="dbus-interfaces">
+ <title>DBus interfaces</title>
+
+ <para>(FIXME: http://hal.freedesktop.org/docs/DeviceKit/DeviceKit.html, http://cgit.freedesktop.org/DeviceKit/DeviceKit/tree/doc/dbus)</para>
+ </sect1>
+
+ </chapter>
+
+ <chapter id="faq">
+ <title>Συχνές ερωτήσεις</title>
+
+ <segmentedlist>
+ <?dbhtml list-presentation="list"?>
+ <segtitle>Ερώτηση</segtitle>
+ <segtitle>Απάντηση</segtitle>
+ <seglistitem>
+ <seg>Δεν υπάρχει ιεραρχία κλάσεων.</seg>
+ <seg>Η συνάρτηση αντικειμένου <function>xxx_get_type()</function> δεν έχει εισαχθεί στο αρχείο <filename><package>.types</filename>.</seg>
+ </seglistitem>
+ <seglistitem>
+ <seg>Εξακολουθεί να μην υπάρχει ιεραρχία κλάσεων.</seg>
+ <seg>Απόντα ή λανθασμένα ονόματα στο αρχείο <filename><package>-sections.txt</filename> (βλέπε <ulink url="http://mail.gnome.org/archives/gtk-doc-list/2003-October/msg00006.html">εξήγηση</ulink>).</seg>
+ </seglistitem>
+ <seglistitem>
+ <seg>Πάλι δεν έχω ιεραρχία κλάσεων.</seg>
+ <seg>Ελέγξτε αν το όνομα του αντικειμένου (δηλαδή το όνομα του συγκεκριμένου παραδείγματος της δομής, π.χ. <type>GtkWidget</type>) περιλαμβάνεται στην κανονική ενότητα (δεν πρέπει να βρίσκεται εντός υποενότητας Standard ή Private).</seg>
+ </seglistitem>
+ <seglistitem>
+ <seg>Δεν υπάρχει ευρετήριο συμβόλων.</seg>
+ <seg>Το <filename><package>-docs.{xml,sgml}</filename> περιέχει ένα ευρετήριο το οποίο περιλαμβάνει με xi:includes το παραγόμενο ευρετήριο;</seg>
+ </seglistitem>
+ <seglistitem>
+ <seg>Δεν υπάρχουν σύνδεσμοι μεταξύ των συμβόλων και των κατάλληλων ενοτήτων της τεκμηρίωσης.</seg>
+ <seg>Το doc-comment χρησιμοποιεί σωστά τις ετικέτες (έχουν προστεθεί #,% ή ()); Ελέγξτε αν το gtkdoc-fixxref προειδοποιεί για ανεπίλυτα xrefs.</seg>
+ </seglistitem>
+ <seglistitem>
+ <seg>Μια νέα κλάση δεν εμφανίζεται στην τεκμηρίωση.</seg>
+ <seg>Συμπεριλαμβάνεται μέσω xi:included η νέα σελίδα από το <filename><package>-docs.{xml,sgml}</filename>;</seg>
+ </seglistitem>
+ <seglistitem>
+ <seg>Ένα νέο σύμβολο δεν εμφανίζεται στην τεκμηρίωση.</seg>
+ <seg>Είναι το doc-comment κανονικά μορφοποιημένο; Ελέγξτε για συντακτικά λάθη στην αρχή του σχολίου. Ελέγξτε αν το gtkdoc-fixxref προειδοποιεί για ανεπίλυτα xref. Ελέγξτε αν το σύμβολο είναι σωστά καταχωρημένο στο <filename><package>-sections.txt</filename> σε μια δημόσια υποενότητα.</seg>
+ </seglistitem>
+ <seglistitem>
+ <seg>Λείπει ένας τύπος από την ιεραρχία κλάσεων.</seg>
+ <seg>Αν ο τύπος υπάρχει στο <filename><package>.hierarchy</filename> αλλά όχι στο <filename>xml/tree_index.sgml</filename> τότε ελέγξτε ξανά ότι ο τύπος είναι σωστά τοποθετημένος στο <filename><package>-sections.txt</filename>. Αν η περίσταση του τύπου (π.χ. <type>GtkWidget</type>) δεν είναι καταχωρημένη, ή είναι κατά λάθος σημειωμένη ως ιδιωτική, τότε δε θα εμφανιστεί.</seg>
+ </seglistitem>
+ <seglistitem>
+ <seg>Λαμβάνω συνδέσμους foldoc για όλες τις σημειώσεις gobject.</seg>
+ <seg>Ελέγξτε ότι το <filename>xml/annotation-glossary.xml</filename> συμπεριλαμβάνεται με xi:included από το <filename><package>-docs.{xml,sgml}</filename>.</seg>
+ </seglistitem>
+
+ <!-- gtk-doc warnings: -->
+ <seglistitem>
+ <seg>Μια παράμετρος περιγράφεται σε σχόλιο του πηγαίου κώδικα, αλλά δεν υπάρχει</seg>
+ <seg>Ελέγξτε αν το πρωτότυπο στην κεφαλίδα περιέχει διαφορετικό όνομα για την παράμετρο από αυτό που αναφέρεται στον κώδικα.</seg>
+ </seglistitem>
+
+ <!-- docbook warnings: -->
+ <seglistitem>
+ <seg>Πολλαπλά "IDs" για τον προορισμό συνδέσμου: XYZ</seg>
+ <seg>Το σύμβολο XYZ εμφανίζεται δύο φορές στο <filename><package>-sections.txt</filename>.</seg>
+ </seglistitem>
+ <seglistitem>
+ <seg>Βρέθηκε το όνομα τύπου του στοιχείου στο namespace '', αλλά δεν αντιστοιχεί σε κανένα πρότυπο.</seg>
+ <seg/>
+ </seglistitem>
+ </segmentedlist>
+ </chapter>
+
+ <chapter id="contrib">
+ <title>Tools related to gtk-doc</title>
+
+ <para>
+ GtkDocPlugin - a <ulink url="http://trac-hacks.org/wiki/GtkDocPlugin">Trac GTK-Doc</ulink>
+ integration plugin, that adds api docs to a trac site and integrates with
+ the trac search.
+ </para>
+ <para>
+ Gtkdoc-depscan - a tool (part of gtk-doc) to check used API against since
+ tags in the api to determine the minimum required version.
+ </para>
+
+ </chapter>
+
+ <!-- ======== Appendix: FDL ================================== -->
+ <!--
+ The GNU Free Documentation License 1.1 in DocBook
+ Markup by Eric Baudais <baudais@okstate.edu>
+ Maintained by the GNOME Documentation Project
+ http://developer.gnome.org/projects/gdp
+ Version: 1.0.1
+ Last Modified: Nov 16, 2000
+-->
+
+<appendix id="fdl">
+ <appendixinfo>
+ <releaseinfo>Έκδοση 1.1, Μάρτιος 2000</releaseinfo>
+ <copyright>
+ <year>2000</year><holder>Free Software Foundation, Inc.</holder>
+ </copyright>
+ <legalnotice id="fdl-legalnotice">
+ <para><address>Free Software Foundation, Inc. <street>51 Franklin Street, Fifth Floor</street>, <city>Boston</city>, <state>MA</state><postcode>02110-1301</postcode><country>USA</country></address>. Επιτρέπεται σε όλους η αντιγραφή και διανομή ακριβούς αντιγράφου του κειμένου αυτής της άδειας αλλά απαγορεύεται η αλλοίωση του περιεχομένου του.</para>
+ </legalnotice>
+ </appendixinfo>
+ <title>Άδεια Ελεύθερης Τεκμηρίωσης GNU (GFDL)</title>
+
+ <sect1 id="fdl-preamble">
+ <title>0. ΠΡΟΟΙΜΙΟ</title>
+ <para>Σκοπός της παρούσας Άδειας είναι η δημιουργία εγχειριδίων, συγγραμμάτων ή άλλων εγγράφων που είναι <quote>ελεύθερα</quote> υπό την έννοια ότι παρέχουν σε όλους πραγματική ελευθερία αντιγραφής και αναδιανομής τους, με ή χωρίς τροποποιήσεις, για εμπορικούς ή μη εμπορικούς σκοπούς. Δευτερευόντως, η παρούσα Άδεια παρέχει έναν τρόπο για να αναγνωρίζεται το έργο του συγγραφέα και του εκδότη ενός έργου, χωρίς να μπορούν να θεωρηθούν υπεύθυνοι για τροποποιήσεις που έγιναν από τρίτους.</para>
+
+ <para>Η παρούσα Άδεια είναι άδεια τύπου <quote>copyleft</quote>, το οποίο σημαίνει ότι τα παράγωγα έργα του εγγράφου θα πρέπει να είναι και αυτά ελεύθερα υπό την ίδια έννοια. Πρόκειται για άδεια συμπληρωματική της Γενικής Άδειας Δημόσιας Χρήσης GNU, που είναι άδεια copyleft σχεδιασμένη για ελεύθερο λογισμικό.</para>
+
+ <para>Σχεδιάσαμε αυτήν την Άδεια για χρήση με εγχειρίδια ελεύθερου λογισμικού, γιατί το ελεύθερο λογισμικό χρειάζεται και ελεύθερη τεκμηρίωση: τα ελεύθερα προγράμματα πρέπει να συνοδεύονται από εγχειρίδια που παρέχουν τις ίδιες ελευθερίες που παρέχει και το λογισμικό. Ωστόσο, αυτή η Άδεια δεν περιορίζεται στα εγχειρίδια λογισμικού· μπορεί να χρησιμοποιηθεί για οποιοδήποτε έργο κειμένου, ανεξάρτητα από το θέμα του ή από το αν εκδίδεται σε έντυπη μορφή. Συνιστούμε αυτή την Άδεια, κυρίως, για διδακτικό υλικό ή έργα αναφοράς.</para>
+ </sect1>
+ <sect1 id="fdl-section1">
+ <title>1. ΙΣΧΥΣ ΚΑΙ ΟΡΙΣΜΟΙ</title>
+ <para id="fdl-document">Η Άδεια αυτή εφαρμόζεται σε κάθε εγχειρίδιο ή άλλο έργο που περιέχει ένδειξη του δικαιούχου δικαιωμάτων πνευματικής ιδιοκτησίας, ότι επιτρέπεται η διανομή του υπό τους όρους αυτής της Άδειας. Ως <quote>Έγγραφο</quote>, κατωτέρω, αναφέρεται κάθε τέτοιο εγχειρίδιο. Ως κάτοχος της άδειας χρήσης θεωρείται κάθε άτομο, και αναφέρεται ως <quote>εσείς</quote>.</para>
+
+ <para id="fdl-modified">Ως <quote>Τροποποιημένη Έκδοση</quote> του Εγγράφου θεωρείται κάθε έργο που περιέχει το Έγγραφο ή μέρος αυτού, είτε ως ακριβές αντίγραφο, είτε τροποποιημένο και/είτε μεταφρασμένο σε άλλη γλώσσα.</para>
+
+ <para id="fdl-secondary">Ως <quote>Δευτερεύουσα Ενότητα</quote> θεωρείται κάθε παράρτημα ή αρχική ενότητα του <link linkend="fdl-document">Εγγράφου</link> που αναφέρεται αποκλειστικά στη σχέση των εκδοτών ή συγγραφέων του Εγγράφου με το συνολικό θέμα του Εγγράφου (ή σχετικά ζητήματα), και που δεν περιέχει οτιδήποτε μπορεί να θεωρηθεί ότι εντάσσεται άμεσα στο συνολικό αυτό θέμα. (Επί παραδείγματι, αν το Έγγραφο αποτελεί, εν μέρει, σύγγραμμα μαθηματικών, η Δευτερεύουσα Ενότητα δεν επιτρέπεται να επεξηγεί μαθηματικές έννοιες.) Η σχέση μπορεί να αποτελεί ιστορική σύνδεση με το θέμα ή σχετικά ζητήματα, ή νομική, εμπορική, φιλοσοφική, ηθική ή πολιτική θέση επί του θέματος ή σχετικών ζητημάτων.</para>
+
+ <para id="fdl-invariant"><quote>Αμετάβλητες Ενότητες</quote> είναι ορισμένες <link linkend="fdl-secondary">Δευτερεύουσες Ενότητες</link> των οποίων οι τίτλοι αναφέρονται ρητώς ως τίτλοι Αμετάβλητων Ενοτήτων στην ένδειξη όπου αναφέρεται ότι το <link linkend="fdl-document">Έγγραφο</link> δημοσιεύεται υπό τους όρους αυτής της Άδειας.</para>
+
+ <para id="fdl-cover-texts">Τα <quote>Κείμενα Εξωφύλλου</quote> είναι σύντομα αποσπάσματα κειμένου που αναφέρονται ρητώς ως Κείμενα Εμπροσθοφύλλου ή Κείμενα Οπισθοφύλλου στην ένδειξη όπου αναφέρεται ότι το <link linkend="fdl-document">Έγγραφο</link> δημοσιεύεται υπό τους όρους αυτής της Άδειας.</para>
+
+ <para id="fdl-transparent">Ως <quote>Διαφανές</quote> αντίγραφο του <link linkend="fdl-document">Εγγράφου</link> θεωρείται κάθε αντίγραφο σε μορφή αναγνώσιμη από μηχανή, όταν συντρέχουν οι εξής προϋποθέσεις: Οι τεχνικές προδιαγραφές τις μορφής αυτής είναι διαθέσιμες για δημόσια χρήση· τα περιεχόμενα του αντιγράφου μπορούν να προβληθούν και να τύχουν επεξεργασίας άμεσα και απλά, με χρήση γενόσημων επεξεργαστών κειμένου ή ( για εικόνες αποτελούμενες από εικονοστοιχεία) γενόσημων προγραμμάτων ζωγραφικής ή (για σχέδια) ευρέως διαθέσιμων επεξεργαστών σχεδίων· το αντίγραφο είναι κατάλληλο για είσοδο σε μορφοποιητές κειμένου ή για αυτόματη μετάφραση σε ποικίλες μορφές κατάλληλες για είσοδο σε μορφοποιητές κειμένου. Δεν θεωρείται Διαφανές ένα αντίγραφο σε Διαφανή, κατά τα λοιπά, μορφή αρχείου, του οποίου η σήμανση έχει σχεδιαστεί κατά τρόπο που να αποτρέπει ή να αποθαρρύνει τη μελλοντική τροποποίηση του αντιγράφου από τους αναγνώστες. Το αντίγραφο που δεν είναι <quote>Διαφανές</quote> ονομάζεται <quote>Αδιαφανές</quote>.</para>
+
+ <para>Παραδείγματα μορφών κατάλληλων για τη δημιουργία Διαφανών αντιγράφων είναι η απλή ASCII χωρίς σήμανση, η μορφή εισόδου Texinfo, η μορφή εισόδου LaTeX, η SGML ή XML που χρησιμοποιούν δημοσίως διαθέσιμη DTD, και η HTML που συμμορφώνεται με πρότυπα και έχει σχεδιαστεί για τροποποίηση από τον άνθρωπο. Στις Αδιαφανείς μορφές συμπεριλαμβάνονται η PostScript, η PDF, οι ιδιοταγείς μορφές που αναγιγνώσκονται μόνο από ιδιοταγείς επεξεργαστές κειμένου, η SGML ή XML των οποίων η DTD και/ή τα εργαλεία επεξεργασίας δεν είναι δημοσίως διαθέσιμα, και η HTML με αποκλειστικό προορισμό την έξοδο που παράγουν μηχανοκίνητα ορισμένοι επεξεργαστές κειμένου.</para>
+
+ <para id="fdl-title-page">Ως <quote>Σελίδα Τίτλου</quote> θεωρείται, για τα έντυπα βιβλία, η σελίδα τίτλου αυτή καθαυτή, καθώς και τυχόν επόμενες σελίδες που απαιτούνται για την ευανάγνωστη συμπερίληψη του υλικού που οφείλει να εμφανίζεται στη σελίδα τίτλου σύμφωνα με την παρούσα Άδεια. Για τα έργα σε μορφές που δεν περιλαμβάνουν σελίδα τίτλου αυτή καθαυτή, ως <quote>Σελίδα Τίτλου</quote> θεωρείται το κείμενο που βρίσκεται κοντά στην εμφανέστερη εμφάνιση του τίτλου του έργου και το οποίο προηγείται του σώματος του κειμένου.</para>
+ </sect1>
+
+ <sect1 id="fdl-section2">
+ <title>2. ΑΚΡΙΒΗ ΑΝΤΙΓΡΑΦΑ</title>
+ <para>Σας χορηγείται άδεια αντιγραφής και διανομής του <link linkend="fdl-document">Εγγράφου</link> σε οποιοδήποτε μέσο, για εμπορικό ή μη εμπορικό σκοπό, με την προϋπόθεση ότι σε κάθε αντίγραφο θα συμπεριλαμβάνετε την παρούσα Άδεια, τις ενδείξεις δικαιωμάτων πνευματικής ιδιοκτησίας και την ένδειξη άδειας χρήσης που αναφέρει ότι για το έγγραφο ισχύει η παρούσα Άδεια, και με την προϋπόθεση ότι δεν θα προσθέσετε κανένα επιπρόσθετο όρο πέρα από τους όρους της Άδειας. Δεν σας επιτρέπεται να χρησιμοποιήσετε τεχνικά μέτρα για την παρεμπόδιση ή τον έλεγχο της ανάγνωσης ή περαιτέρω αντιγραφής των αντιγράφων που δημιουργείτε ή διανέμετε. Ωστόσο, μπορείτε να αποδεχτείτε αποζημίωση σε αντάλλαγμα των αντιγράφων. Αν διανέμετε επαρκή αριθμό αντιγράφων, θα πρέπει να συμμορφωθείτε και με τους όρους της <link linkend="fdl-section3">ενότητας 3</link>.</para>
+
+ <para>Επίσης, μπορείτε να δανείζετε αντίγραφα σύμφωνα με τους ως άνω όρους και να προβάλλετε δημοσίως τα αντίγραφα.</para>
+ </sect1>
+
+ <sect1 id="fdl-section3">
+ <title>3. ΑΝΤΙΓΡΑΦΗ ΣΕ ΜΕΓΑΛΕΣ ΠΟΣΟΤΗΤΕΣ</title>
+ <para>Αν εκδώσετε περισσότερα από 100 στον αριθμό έντυπα αντίγραφα του <link linkend="fdl-document">Εγγράφου</link>, και η ένδειξη άδειας χρήσης του Εγγράφου προϋποθέτει την ύπαρξη <link linkend="fdl-cover-texts">Κειμένων Εξωφύλλου</link>, θα πρέπει να εσωκλείσετε τα αντίγραφα σε εξώφυλλα που θα περιέχουν, με καθαρό και ευανάγνωστο τρόπο, όλα τα ακόλουθα κείμενα εξωφύλλου: Κείμενα Εμπροσθοφύλλου στο εμπροσθόφυλλο και Κείμενα Οπισθοφύλλου στο οπισθόφυλλο. Επίσης, και τα δύο εξώφυλλα θα πρέπει να αναφέρουν, καθαρά και ευανάγνωστα, εσάς ως εκδότη των αντιγράφων. Στο εμπροσθόφυλλο θα πρέπει να αναφέρεται ο πλήρης τίτλος του Εγγράφου, και όλες οι λέξεις του τίτλου θα πρέπει να είναι εξίσου προβεβλημένες και εμφανείς. Επιτρέπεται να προσθέσετε επιπρόσθετο υλικό στα εξώφυλλα. Η παραγωγή αντιγράφων που διαφέρουν μόνο ως προς τα εξώφυλλα, εφόσον διατηρείται ο τίτλος του <link linkend="fdl-document">Εγγράφου</link> και τηρούνται οι παρούσες προϋποθέσεις, μπορεί να θεωρηθεί, κατά τα λοιπά, ως παραγωγή ακριβών αντιγράφων.</para>
+
+ <para>Αν τα απαιτούμενα κείμενα ενός ή και των δύο εξωφύλλων είναι υπερβολικά μεγάλα για να παραμείνουν ευανάγνωστα αν συμπεριληφθούν σε μία σελίδα, θα πρέπει να τοποθετήσετε τα πρώτα εξώφυλλα του καταλόγου (όσα χωρούν κανονικά) στο εξώφυλλο αυτό καθ' αυτό, και να τοποθετήσετε τα υπόλοιπα στις γειτονικές σελίδες.</para>
+
+ <para>Αν εκδώσετε περισσότερα από 100 στον αριθμό <link linkend="fdl-transparent">Αδιαφανή</link> αντίγραφα του <link linkend="fdl-document">Εγγράφου</link>, είτε θα πρέπει να συμπεριλάβετε ένα <link linkend="fdl-transparent">Διαφανές</link> αντίγραφο (σε μορφή αναγνώσιμη από μηχανή) σε κάθε Αδιαφανές αντίγραφο, είτε θα πρέπει να αναφέρετε — μαζί ή σε κάθε Αδιαφανές αντίγραφο — μια δημοσίως προσβάσιμη τοποθεσία δικτύου υπολογιστών από την οποία θα μπορεί το ευρύ κοινό που χρησιμοποιεί δίκτυα να λάβει ανώνυμα, δωρεάν, και με χρήση πρωτοκόλλων δικτύου δημοσίων προτύπων, ένα ολοκληρωμένο Διαφανές αντίγραφο του Εγγράφου, χωρίς προσθήκες. Αν επιλέξετε τη δεύτερη επιλογή, όταν ξεκινήσετε τη διανομή των Αδιαφανών αντιγράφων, θα πρέπει να λάβετε λελογισμένα μέτρα για να διασφαλίσετε ότι το Διαφανές αντίγραφο θα παραμείνει προσβάσιμο στην ως άνωθεν τοποθεσία για τουλάχιστον ένα έτος μετά την τελευταία δημόσια διανομή Αδιαφανούς αντιγράφου αυτής της έκδοσης (είτε πρόκειται για άμεση διανομή είτε για διανομή μέσω των πρακτόρων ή λιανοπωλητών σας).</para>
+
+ <para>Σας ζητείται, αλλά δεν απαιτείται, να επικοινωνήσετε εγκαίρως με τους συγγραφείς του <link linkend="fdl-document">Εγγράφου</link>, πριν αναδιανείμετε μεγάλο αριθμό αντιγράφων, ώστε να έχουν τη δυνατότητα να σας παράσχουν αναθεωρημένη έκδοση του Εγγράφου.</para>
+ </sect1>
+
+ <sect1 id="fdl-section4">
+ <title>4. ΤΡΟΠΟΠΟΙΗΣΕΙΣ</title>
+ <para>Σας χορηγείται άδεια αντιγραφής και διανομής <link linkend="fdl-modified">Τροποποιημένων Εκδόσεων</link> του <link linkend="fdl-document">Εγγράφου</link> υπό τους όρους των ενοτήτων <link linkend="fdl-section2">2</link> και <link linkend="fdl-section3">3</link> ανωτέρω, με την προϋπόθεση ότι θα δημοσιεύσετε την Τροποποιημένη Έκδοση υπό την παρούσα Άδεια ως έχει, όπου ως Έγγραφο θα νοείται η Τροποποιημένη Έκδοση. Άρα, θα χορηγείται άδεια διανομής και τροποποίησης της Τροποποιημένης Έκδοσης σε οποιονδήποτε κατέχει αντίγραφό της. Επιπροσθέτως, στην Τροποποιημένη Έκδοση θα πρέπει να κάνετε τα εξής:</para>
+
+ <itemizedlist mark="opencircle">
+ <listitem>
+ <formalpara>
+ <title>Α</title>
+ <para>Στη <link linkend="fdl-title-page">Σελίδα Τίτλου</link> (και τα εξώφυλλα, αν υφίστανται), χρησιμοποιήστε τίτλο διακριτό από τον τίτλο του <link linkend="fdl-document">Εγγράφου</link> και των προηγούμενων εκδόσεών του (τυχόν προηγούμενες εκδόσεις οφείλουν να αναφέρονται στην ενότητα Ιστορικού του Εγγράφου). Μπορείτε να χρησιμοποιήσετε τον ίδιο τίτλο με τον τίτλο προηγούμενης έκδοσης, αν λάβετε άδεια από τον αρχικό εκδότη της προηγούμενης έκδοσης.</para>
+ </formalpara>
+ </listitem>
+
+ <listitem>
+ <formalpara>
+ <title>Β</title>
+ <para>Αναφέρετε στη <link linkend="fdl-title-page">Σελίδα Τίτλου</link>, υπό την ιδιότητα του συγγραφέα, όλα τα άτομα ή τους φορείς που ευθύνονται για τη συγγραφή ή την τροποποίηση της <link linkend="fdl-modified">Τροποποιημένης Έκδοσης</link>, μαζί με τουλάχιστον πέντε από τους κύριους συγγραφείς του <link linkend="fdl-document">Εγγράφου</link> ( ή όλους τους κύριους συγγραφείς, αν είναι λιγότεροι από πέντε).</para>
+ </formalpara>
+ </listitem>
+
+ <listitem>
+ <formalpara>
+ <title>Γ</title>
+ <para>Αναφέρετε στη <link linkend="fdl-title-page">Σελίδα Τίτλου</link>, υπό την ιδιότητα του εκδότη, το όνομα του εκδότη της <link linkend="fdl-modified">Τροποποιημένης Έκδοσης</link>.</para>
+ </formalpara>
+ </listitem>
+
+ <listitem>
+ <formalpara>
+ <title>Δ</title>
+ <para>Διατηρήστε όλες τις ενδείξεις δικαιωμάτων πνευματικής ιδιοκτησίας του <link linkend="fdl-document">Εγγράφου</link>.</para>
+ </formalpara>
+ </listitem>
+
+ <listitem>
+ <formalpara>
+ <title>Ε</title>
+ <para>Προσθέστε την κατάλληλη ένδειξη δικαιωμάτων πνευματικής ιδιοκτησίας για τις τροποποιήσεις σας στις υπόλοιπες ενδείξεις δικαιωμάτων πνευματικής ιδιοκτησίας.</para>
+ </formalpara>
+ </listitem>
+
+ <listitem>
+ <formalpara>
+ <title>ΣΤ</title>
+ <para>Συμπεριλάβετε, αμέσως μετά τις ενδείξεις δικαιωμάτων πνευματικής ιδιοκτησίας, μια ένδειξη άδειας χρήσης που θα χορηγεί δημόσια άδεια χρήσης της <link linkend="fdl-modified">Τροποποιημένης Έκδοσης</link> υπό τους όρους της παρούσας Άδειας. Η μορφή της ένδειξης αυτής παρατίθεται στο Συμπλήρωμα που ακολουθεί.</para>
+ </formalpara>
+ </listitem>
+
+ <listitem>
+ <formalpara>
+ <title>Ζ</title>
+ <para>Διατηρήστε σε αυτή την ένδειξη άδειας χρήσης τους πλήρεις καταλόγους <link linkend="fdl-invariant">Αμετάβλητων Ενοτήτων</link> και απαιτούμενων <link linkend="fdl-cover-texts">Κειμένων Εξωφύλλου</link> που παρατίθενται στην ένδειξη άδειας χρήσης του <link linkend="fdl-document">Εγγράφου</link>.</para>
+ </formalpara>
+ </listitem>
+
+ <listitem>
+ <formalpara>
+ <title>Η</title>
+ <para>Συμπεριλάβετε αντίγραφο, χωρίς τροποποιήσεις, της παρούσας Άδειας.</para>
+ </formalpara>
+ </listitem>
+
+ <listitem>
+ <formalpara>
+ <title>Θ</title>
+ <para>Διατηρήστε την ενότητα με τίτλο <quote>Ιστορικό</quote>, καθώς και τον τίτλο της, και προσθέστε μία εγγραφή που θα αναφέρει τουλάχιστον τον τίτλο, το έτος, τους νέους συγγραφείς και τον εκδότη της <link linkend="fdl-modified">Τροποποιημένης Έκδοσης</link>, όπως αυτά αναφέρονται στη <link linkend="fdl-title-page">Σελίδα Τίτλου</link>. Αν δεν υπάρχει ενότητα με τίτλο <quote>Ιστορικό</quote> στο <link linkend="fdl-document">Έγγραφο</link>, δημιουργήστε αυτήν την ενότητα, αναγράφοντας τον τίτλο, το έτος, τους νέους συγγραφείς και τον εκδότη του Εγγράφου, όπως αυτά αναφέρονται στη Σελίδα Τίτλου, και προσθέτοντας μία εγγραφή που θα περιγράφει την Τροποποιημένη Έκδοση σύμφωνα με την προηγούμενη πρόταση.</para>
+ </formalpara>
+ </listitem>
+
+ <listitem>
+ <formalpara>
+ <title>Ι</title>
+ <para>Διατηρήστε την τοποθεσία δικτύου που ενδεχομένως παρέχεται στο <link linkend="fdl-document">Έγγραφο</link> για δημόσια πρόσβαση σε <link linkend="fdl-transparent">Περατό</link> αντίγραφο του Εγγράφου, καθώς και τυχόν άλλες τοποθεσίες δικτύου που παρέχονται στο έγγραφο και αφορούν προηγούμενες εκδόσεις του. Οι τοποθεσίες αυτές μπορούν να τοποθετηθούν στην ενότητα <quote>Ιστορικό</quote>. Μπορείτε να παραλείψετε τοποθεσίες δικτύου για έργα που εκδόθηκαν τουλάχιστον τέσσερα έτη πριν από το ίδιο το Έγγραφο, ή αν ο αρχικός εκδότης της αντίστοιχης έκδοσης σας δώσει την άδεια.</para>
+ </formalpara>
+ </listitem>
+
+ <listitem>
+ <formalpara>
+ <title>ΙΑ</title>
+ <para>Αν υπάρχει ενότητα με τίτλο <quote>Ευχαριστίες</quote> ή <quote>Αφιέρωση</quote>, διατηρήστε τον τίτλο της ενότητας, και διατηρήστε στο σώμα της ενότητας την ουσία και το ύφος των ευχαριστιών και/ή αφιερώσεων που συμπεριλαμβάνονται σε αυτή.</para>
+ </formalpara>
+ </listitem>
+
+ <listitem>
+ <formalpara>
+ <title>ΙΒ</title>
+ <para>Διατηρήστε όλες τις <link linkend="fdl-invariant">Αμετάβλητες Ενότητες</link> του <link linkend="fdl-document">Εγγράφου</link>, χωρίς καμία τροποποίηση στο κείμενο και τον τίτλο τους. Η αρίθμηση των ενοτήτων, —ή άλλο ισοδύναμό της—, δεν θεωρείται τμήμα του τίτλου των ενοτήτων.</para>
+ </formalpara>
+ </listitem>
+
+ <listitem>
+ <formalpara>
+ <title>ΙΓ</title>
+ <para>Διαγράψτε τυχόν ενότητες με τίτλο <quote>Έγκριση</quote>. Αυτού του είδους οι ενότητες δεν επιτρέπεται να συμπεριληφθούν στην <link linkend="fdl-modified">Τροποποιημένη Έκδοση</link>.</para>
+ </formalpara>
+ </listitem>
+
+ <listitem>
+ <formalpara>
+ <title>ΙΔ</title>
+ <para>Μη μετατρέπετε τον τίτλο καμίας προϋπάρχουσας ενότητας στον τίτλο <quote>Έγκριση</quote> ή σε τίτλο που συγκρούεται με τον τίτλο <link linkend="fdl-invariant">Αμετάβλητης Ενότητας</link>.</para>
+ </formalpara>
+ </listitem>
+ </itemizedlist>
+
+ <para>Αν η <link linkend="fdl-modified">Τροποποιημένη Έκδοση</link> περιλαμβάνει νέες αρχικές ενότητες ή παραρτήματα, που εμπίπτουν στον ορισμό των <link linkend="fdl-modified">Δευτερευουσών Ενοτήτων</link>, και δεν περιέχουν υλικό που να είναι προϊόν αντιγραφής του Εγγράφου, μπορείτε, εφόσον το επιθυμείτε, να ορίσετε ορισμένες ή όλες αυτές τις ενότητες ως αμετάβλητες. Για να το πράξετε, προσθέστε τους τίτλους αυτών των ενοτήτων στον κατάλογο <link linkend="fdl-secondary">Αμετάβλητων Ενοτήτων</link> στην ένδειξη άδειας χρήσης της Τροποποιημένης Έκδοσης. Οι τίτλοι αυτοί θα πρέπει να είναι διακριτοί από τους υπόλοιπους τίτλους ενοτήτων..</para>
+
+ <para>Μπορείτε να προσθέσετε ενότητα με τίτλο <quote>Έγκριση</quote>, με την προϋπόθεση ότι περιλαμβάνει αποκλειστικά εγκρίσεις της δικής σας <link linkend="fdl-modified">Τροποποιημένης Έκδοσης</link> από διάφορους φορείς, —επί παραδείγματι, δηλώσεις αξιολόγησης ομοτίμων ή δηλώσεις ότι το κείμενο έχει εγκριθεί από έναν οργανισμό ως έγκυρος ορισμός ενός προτύπου.</para>
+
+ <para>Μπορείτε να προσθέσετε κείμενο μέχρι και πέντε λέξεις ως <link linkend="fdl-cover-texts">Κείμενο Εμπροσθοφύλλου</link>, καθώς και κείμενο μέχρι και 25 λέξεις ως <link linkend="fdl-cover-texts">Κείμενο Οπισθοφύλλου</link>, στο τέλος του καταλόγου <link linkend="fdl-cover-texts">Κειμένων Εξωφύλλου</link> της <link linkend="fdl-modified">Τροποποιημένης Έκδοσης</link>. Κάθε μεμονωμένος φορέας επιτρέπεται να προσθέτει μόνο ένα Κείμενο Εμπροσθοφύλλου και ένα Κείμενο Οπισθοφύλλου (ο ίδιος ή εξ ονόματος του ίδιου). Αν το <link linkend="fdl-document">Έγγραφο</link> περιέχει ήδη κείμενο εξωφύλλου για το ίδιο εξώφυλλο, —που είχατε προσθέσει προηγουμένως είτε εξ ονόματός σας είτε εξ ονόματος του φορέα που εκπροσωπείτε—, δεν σας επιτρέπεται να προσθέσετε επιπλέον εξώφυλλο· σας επιτρέπεται ωστόσο να αντικαταστήσετε το προηγούμενο, με ρητή άδεια από τον εκδότη που είχε προσθέσει το προηγούμενο εξώφυλλο.</para>
+
+ <para>Μέσω της παρούσας άδειας, ο/οι συγγραφείς και ο/οι εκδότες του <link linkend="fdl-document">Εγγράφου</link> δεν χορηγούν άδεια χρήσης των ονομάτων τους για διαφημιστικούς σκοπούς ή για την έγκριση, —ρητή ή υπονοούμενη—, οποιασδήποτε <link linkend="fdl-modified">Τροποποιημένης Έκδοσης</link>.</para>
+ </sect1>
+
+ <sect1 id="fdl-section5">
+ <title>5. ΣΥΝΔΥΑΣΜΟΣ ΕΓΓΡΑΦΩΝ</title>
+ <para>Μπορείτε να συνδυάσετε το <link linkend="fdl-document">Έγγραφο</link> με άλλα έγγραφα που υπόκεινται στους όρους της παρούσας Άδειας, σύμφωνα με τους ανωτέρω όρους της <link linkend="fdl-section4">ενότητας 4</link> για τις τροποποιημένες εκδόσεις, με την προϋπόθεση ότι ο συνδυασμός θα περιλαμβάνει όλες τις <link linkend="fdl-invariant">Αμετάβλητες Ενότητες</link> όλων των πρωτότυπων εγγράφων, χωρίς τροποποιήσεις, και ότι θα αναφέρονται ως Αμετάβλητες Ενότητες του συνδυασμένου έργου στην ένδειξη άδειας χρήσης του.</para>
+
+ <para>Το συνδυασμένο έργο οφείλει να περιέχει ένα μόνο αντίγραφο της παρούσας Άδειας, και επιτρέπεται η αντικατάσταση πολλαπλών ταυτόσημων <link linkend="fdl-invariant">Αμετάβλητων Ενοτήτων</link> από ένα μόνο αντίγραφό τους. Αν υφίστανται πολλαπλές Αμετάβλητες Ενότητες με τον ίδιο τίτλο αλλά διαφορετικό περιεχόμενο, φροντίστε να κατασταθεί μοναδικός ο τίτλος κάθε ενότητας, προσθέτοντας στο τέλος του τίτλου, εντός παρενθέσεων, το όνομα του αρχικού συγγραφέα ή εκδότη της ενότητας εφόσον τα γνωρίζετε, ή, εναλλακτικά, ένα μοναδικό αριθμό. Φροντίστε να κάνετε τις ίδιες αλλαγές στους τίτλους των ενοτήτων που αναγράφονται στον κατάλογο Αμετάβλητων Ενοτήτων στην ένδειξη άδειας χρήσης του συνδυασμένου έργου.</para>
+
+ <para>Στο συνδυασμό θα πρέπει να συνδυάσετε όλες τις ενότητες με τίτλο <quote>Ιστορικό</quote> που ενδεχομένως διαθέτουν τα πρωτότυπα έγγραφα, δημιουργώντας μία μοναδική ενότητα με τίτλο <quote>Ιστορικό</quote>. Κατά τον ίδιο τρόπο θα πρέπει να συνδυάσετε και όλες τις ενότητες με τίτλο <quote>Ευχαριστίες</quote> ή όλες τις ενότητες με τίτλο <quote>Αφιέρωση</quote>. Θα πρέπει να διαγράψετε όλες τις ενότητες με τίτλο <quote>Έγκριση</quote>.</para>
+ </sect1>
+
+ <sect1 id="fdl-section6">
+ <title>6. ΣΥΛΛΟΓΗ ΕΓΓΡΑΦΩΝ</title>
+ <para>Μπορείτε να δημιουργήσετε συλλογή που θα περιλαμβάνει το παρόν <link linkend="fdl-document">Έγγραφο</link> μαζί με άλλα έγγραφα που υπόκεινται στους όρους της παρούσας Άδειας, και να συμπεριλάβετε στη συλλογή ένα μόνο αντίγραφο της παρούσας Άδειας, που θα αντικαθιστά τα μεμονωμένα αντίγραφά της στα διάφορα έγγραφα, με την προϋπόθεση ότι, κατά τα λοιπά, θα συμμορφωθείτε με τους κανόνες της παρούσας Άδειας για την παραγωγή πιστών αντιγράφων καθενός από αυτά τα έγγραφα.</para>
+
+ <para>Μπορείτε να εξάγετε ένα μεμονωμένο έγγραφο από μια συλλογή τέτοιου είδους, και να το διανείμετε ξεχωριστά υπό τους όρους της παρούσας Άδειας, με την προϋπόθεση ότι θα προσθέσετε αντίγραφο της παρούσας Άδειας στο εξαχθέν έγγραφο, και ότι, κατά τα λοιπά, θα συμμορφωθείτε με τους κανόνες της παρούσας Άδειας για την παραγωγή ακριβών αντιγράφων αυτού του εγγράφου.</para>
+ </sect1>
+
+ <sect1 id="fdl-section7">
+ <title>7. ΣΥΡΡΑΦΗ ΜΕ ΑΝΕΞΑΡΤΗΤΑ ΕΡΓΑ</title>
+ <para>Αν το <link linkend="fdl-document">Εγγράφο</link> ή τα παράγωγά του συμπεριληφθούν, μαζί με άλλα ξεχωριστά και ανεξάρτητα έγγραφα ή έργα, σε τόμο ενός μέσου αποθήκευσης ή διανομής, ο τόμος αυτός, στο σύνολό του, δεν θεωρείται <link linkend="fdl-modified">Τροποποιημένη Έκδοση</link> του εγγράφου, με την προϋπόθεση ότι δεν διεκδικούνται δικαιώματα πνευματικής ιδιοκτησίας για αυτόν. Ο εν λόγω τόμος ονομάζεται <quote>συρραφή</quote> και η παρούσα άδεια δεν ισχύει για τα υπόλοιπα αυθύπαρκτα έργα που συμπεριλαμβάνονται σε αυτόν, πέραν του Έγγραφο, απλώς και μόνο επειδή ανήκουν σε αυτή τη συρραφή, εκτός εάν αποτελούν και αυτά παράγωγα έργα του Εγγράφου. Αν για αυτά τα αντίγραφα του Εγγράφου ισχύουν οι όροι για τα <link linkend="fdl-cover-texts">Κείμενα Εξωφύλλου</link> της <link linkend="fdl-section3">ενότητας 3</link>, τότε, αν το Έγγραφο αντιστοιχεί σε λιγότερο από το ένα τέταρτο του συνόλου της συρραφής, τα Κείμενα Εξωφύλλου του Εγγράφου επιτρέπεται να τοποθετηθούν σε εξώφυλλα εντός της συρραφής που εσωκλείουν μόνο το Έγγραφο. Ειδάλλως, θα πρέπει να τοποθετηθούν σε εξώφυλλα που εσωκλείουν ολόκληρη τη συρραφή.</para>
+ </sect1>
+
+ <sect1 id="fdl-section8">
+ <title>8. ΜΕΤΑΦΡΑΣΗ</title>
+ <para>Η μετάφραση θεωρείται μορφή τροποποίησης, άρα μπορείτε να διανέμετε μεταφράσεις του <link linkend="fdl-document">Εγγράφου</link> υπό τους όρους της <link linkend="fdl-section4">ενότητας 4</link>. Η αντικατάσταση των <link linkend="fdl-invariant">Αμετάβλητων Ενοτήτων</link> από μεταφράσεις απαιτεί ειδική άδεια από τους κατόχους των δικαιωμάτων πνευματικής ιδιοκτησίας, αλλά επιτρέπεται η συμπερίληψη στο Έγγραφο μεταφράσεων ορισμένων ή όλων των Αμετάβλητων Ενοτήτων, επιπλέον των πρωτότυπων εκδόσεων αυτών των Αμετάβλητων Ενοτήτων. Μπορείτε να προσθέσετε μεταφράσεις της παρούσας Άδειας, με την προϋπόθεση ότι θα συμπεριλάβετε και την πρωτότυπη Αγγλική έκδοση της Άδειας. Σε περίπτωση ασυμφωνίας μεταξύ μετάφρασης και πρωτότυπης Αγγλικής έκδοσης της Άδειας, ισχύει η πρωτότυπη Αγγλική έκδοση.</para>
+ </sect1>
+
+ <sect1 id="fdl-section9">
+ <title>9. ΚΑΤΑΡΓΗΣΗ</title>
+ <para>Δεν σας επιτρέπεται η αντιγραφή, τροποποίηση, περαιτέρω παραχώρηση άδειας εκμετάλλευσης ή διανομή του <link linkend="fdl-document">Εγγράφου</link> παρά μόνο με τον τρόπο που ρητά προβλέπεται από αυτήν την Άδεια. Κάθε άλλη απόπειρα αντιγραφής, τροποποίησης, περαιτέρω παραχώρησης άδειας εκμετάλλευσης ή διανομής του Εγγράφου είναι άκυρη και αυτομάτως καταργεί τα δικαιώματα που σας παραχωρεί η παρούσα Άδεια. Ωστόσο, τα μέρη στα οποία παρείχατε αντίγραφα ή δικαιώματα υπό τους όρους της παρούσας Άδειας, δεν θα απωλέσουν τα δικαιώματα χρήσης τους, εφόσον εξακολουθούν να συμμορφώνονται πλήρως με τους όρους της Άδειας.</para>
+ </sect1>
+
+ <sect1 id="fdl-section10">
+ <title>10. ΜΕΛΛΟΝΤΙΚΕΣ ΑΝΑΘΕΩΡΗΣΕΙΣ ΤΗΣ ΠΑΡΟΥΣΑΣ ΑΔΕΙΑΣ</title>
+ <para>Το <ulink type="http" url="http://www.gnu.org/fsf/fsf.html">Ίδρυμα Ελεύθερου Λογισμικού</ulink> έχει το δικαίωμα να δημοσιεύει περιστασιακά αναθεωρημένες ή/και νέες εκδόσεις της Ελεύθερης Άδειας Τεκμηρίωσης GNU (GFDL). Αυτές οι νέες εκδόσεις θα είναι συναφείς στο πνεύμα με την παρούσα έκδοση, όμως ενδέχεται να διαφέρουν στις λεπτομέρειες, καθώς επιλαμβάνονται νέων προβλημάτων και ζητημάτων. Βλέπε <ulink type="http" url="http://www.gnu.org/copyleft">http://www.gnu.org/copyleft/</ulink>.</para>
+
+ <para>Σε κάθε έκδοση δίνεται ένας διακριτικός αριθμός έκδοσης. Εάν στο <link linkend="fdl-document">Έγγραφο</link> καθορίζεται ότι ισχύει ένας συγκεκριμένος αριθμός έκδοσης της παρούσας Άδειας ή <quote>οποιαδήποτε μεταγενέστερη έκδοση</quote>, μπορείτε να επιλέξετε μεταξύ των όρων και προϋποθέσεων είτε αυτής της έκδοσης, είτε οποιασδήποτε μεταγενέστερης έκδοσης έχει δημοσιευτεί (όχι με μορφή σχεδίου) από το Ίδρυμα Ελεύθερου Λογισμικού. Εάν στο Πρόγραμμα δεν καθορίζεται αριθμός έκδοσης της Άδειας, μπορείτε να επιλέξετε οποιαδήποτε έκδοση έχει δημοσιευθεί (όχι με μορφή σχεδίου) από το Ίδρυμα Ελεύθερου Λογισμικού (FSF).</para>
+ </sect1>
+
+ <sect1 id="fdl-using">
+ <title>Συμπλήρωμα</title>
+ <para>Για να χρησιμοποιήσετε την παρούσα Άδεια σε έγγραφο το οποίο συγγράψατε, θα πρέπει να συμπεριλάβετε ένα αντίγραφο της Άδειας στο έγγραφο και να τοποθετήσετε τις ακόλουθες ενδείξεις δικαιωμάτων πνευματικής ιδιοκτησίας και άδειας χρήσης αμέσως μετά τη σελίδα τίτλου: </para>
+
+ <blockquote>
+ <para>Copyright © ΕΤΟΣ ΤΟ ΟΝΟΜΑ ΣΑΣ.</para>
+ <para>Χορηγείται άδεια αντιγραφής, διανομής και/ή τροποποίησης του παρόντος εγγράφου υπό τους όρους της έκδοσης 1.1 της Ελεύθερης Άδειας Τεκμηρίωσης GNU (GFDL), ή οποιασδήποτε μεταγενέστερης έκδοσής αυτής από το Ίδρυμα Ελεύθερου Λογισμικού (FSF)· οι <link linkend="fdl-invariant">Αμετάβλητες Ενότητες</link> είναι οι ΚΑΤΑΛΟΓΟΣ ΤΙΤΛΩΝ, τα <link linkend="fdl-cover-texts">Κείμενα εμπροσθοφύλλου</link> είναι τα ΚΑΤΑΛΟΓΟΣ, και τα <link linkend="fdl-cover-texts">Κείμενα Οπισθοφύλλου</link> είναι τα ΚΑΤΑΛΟΓΟΣ. Αντίγραφο της άδειας συμπεριλαμβάνεται στην ενότητα με τίτλο <quote>GNU Free Documentation License</quote>.</para>
+ </blockquote>
+
+ <para>Αν δεν περιέχονται <link linkend="fdl-invariant">Αμετάβλητες Ενότητες</link>, γράψτε <quote>χωρίς Αμετάβλητες Ενότητες</quote>, αντί να απαριθμήσετε τις αμετάβλητες ενότητες. Αν δεν περιέχονται <link linkend="fdl-cover-texts">Κείμενα Εμπροσθοφύλλου</link>, γράψτε <quote>χωρίς Κείμενα Εμπροσθοφύλλου</quote> αντί για <quote>τα Κείμενα Εμπροσθοφύλλου είναι τα ΚΑΤΑΛΟΓΟΣ</quote>· ομοίως για τα <link linkend="fdl-cover-texts">Κείμενα Οπισθοφύλλου</link>.</para>
+
+ <para>Αν το έγγραφό σας περιέχει μη ασήμαντα παραδείγματα πηγαίου κώδικα, συνιστούμε την παράλληλη δημοσίευσή τους υπό τους όρους της άδειας ελεύθερου λογισμικού της αρεσκείας σας, ώστε να επιτρέψετε τη χρήση τους σε ελεύθερο λογισμικό. Παράδειγμα τέτοιας άδειας αποτελεί η <ulink type="http" url="http://www.gnu.org/copyleft/gpl.html">Γενική Άδεια Δημόσιας Χρήσης GNU</ulink>.</para>
+ </sect1>
+</appendix>
+
+
+
+
+
+
+
+
+</book>
--- /dev/null
+# Abigail Brady <morwen@evilmagic.org>, 2009.
+# Jen Ockwell <jenfraggleubuntu@gmail.com>, 2009
+# Philip Withnall <philip@tecnocode.co.uk>, 2009
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: GTK Doc\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2009-03-18 12:43+0000\n"
+"PO-Revision-Date: 2009-03-19 20:30+0000\n"
+"Last-Translator: Jen Ockwell <jenfraggleubuntu@gmail.com>\n"
+"Language-Team: British English <en@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: C/gtk-doc-manual.xml:12(title)
+msgid "GTK-Doc Manual"
+msgstr "GTK-Doc Manual"
+
+#: C/gtk-doc-manual.xml:13(edition)
+msgid "1.12"
+msgstr "1.12"
+
+#: C/gtk-doc-manual.xml:14(para)
+msgid "User manual for developers with instructions of GTK-Doc usage."
+msgstr "User manual for developers with instructions on GTK-Doc usage."
+
+#: C/gtk-doc-manual.xml:17(firstname)
+msgid "Chris"
+msgstr "Chris"
+
+#: C/gtk-doc-manual.xml:18(surname)
+msgid "Lyttle"
+msgstr "Lyttle"
+
+#: C/gtk-doc-manual.xml:21(email)
+msgid "chris@wilddev.net"
+msgstr "chris@wilddev.net"
+
+#: C/gtk-doc-manual.xml:26(firstname)
+msgid "Dan"
+msgstr "Dan"
+
+#: C/gtk-doc-manual.xml:27(surname)
+msgid "Mueth"
+msgstr "Mueth"
+
+#: C/gtk-doc-manual.xml:30(email)
+msgid "d-mueth@uchicago.edu"
+msgstr "d-mueth@uchicago.edu"
+
+#: C/gtk-doc-manual.xml:35(firstname)
+msgid "Stefan"
+msgstr "Stefan"
+
+#: C/gtk-doc-manual.xml:36(surname)
+msgid "Kost"
+msgstr "Kost"
+
+#: C/gtk-doc-manual.xml:39(email)
+msgid "ensonic@users.sf.net"
+msgstr "ensonic@users.sf.net"
+
+#: C/gtk-doc-manual.xml:45(publishername)
+msgid "GTK-Doc project"
+msgstr "GTK-Doc project"
+
+#: C/gtk-doc-manual.xml:46(email)
+msgid "gtk-doc-list@gnome.org"
+msgstr "gtk-doc-list@gnome.org"
+
+#: C/gtk-doc-manual.xml:49(year)
+msgid "2000, 2005, 2007-2009"
+msgstr "2000, 2005, 2007-2009"
+
+#: C/gtk-doc-manual.xml:50(holder)
+msgid "Dan Mueth and Chris Lyttle and Stefan Kost"
+msgstr "Dan Mueth, Chris Lyttle and Stefan Kost"
+
+#: C/gtk-doc-manual.xml:61(para)
+msgid ""
+"Permission is granted to copy, distribute and/or modify this document under "
+"the terms of the <citetitle>GNU Free Documentation License</citetitle>, "
+"Version 1.1 or any later version published by the Free Software Foundation "
+"with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A "
+"copy of the license is <link linkend=\"fdl\">included</link>."
+msgstr ""
+"Permission is granted to copy, distribute and/or modify this document under "
+"the terms of the <citetitle>GNU Free Documentation Licence</citetitle>, "
+"Version 1.1 or any later version published by the Free Software Foundation "
+"with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A "
+"copy of the licence is <link linkend=\"fdl\">included</link>."
+
+#: C/gtk-doc-manual.xml:69(para)
+msgid ""
+"Many of the names used by companies to distinguish their products and "
+"services are claimed as trademarks. Where those names appear in any GNOME "
+"documentation, and those trademarks are made aware to the members of the "
+"GNOME Documentation Project, the names have been printed in caps or initial "
+"caps."
+msgstr ""
+"Many of the names used by companies to distinguish their products and "
+"services are claimed as trademarks. Where those names appear in any GNOME "
+"documentation, and those trademarks are made aware to the members of the "
+"GNOME Documentation Project, the names have been printed in caps or initial "
+"caps."
+
+#: C/gtk-doc-manual.xml:80(revnumber)
+msgid "1.11"
+msgstr "1.11"
+
+#: C/gtk-doc-manual.xml:81(date)
+msgid "22 March 2008"
+msgstr "22 March 2008"
+
+#: C/gtk-doc-manual.xml:82(authorinitials)
+msgid "mal"
+msgstr "mal"
+
+#: C/gtk-doc-manual.xml:83(revremark)
+msgid "GNOME doc-utils migration"
+msgstr "GNOME doc-utils migration"
+
+#: C/gtk-doc-manual.xml:92(title)
+msgid "Introduction"
+msgstr "Introduction"
+
+#: C/gtk-doc-manual.xml:94(para)
+msgid ""
+"This chapter introduces GTK-Doc and gives an overview of what it is and how "
+"it is used."
+msgstr ""
+"This chapter introduces GTK-Doc and gives an overview of what it is and how "
+"it is used."
+
+#: C/gtk-doc-manual.xml:100(title)
+msgid "What is GTK-Doc?"
+msgstr "What is GTK-Doc?"
+
+#: C/gtk-doc-manual.xml:102(para)
+msgid ""
+"GTK-Doc is used to document C code. It is typically used to document the "
+"public API of libraries, such as the GTK+ and GNOME libraries. But it can "
+"also be used to document application code."
+msgstr ""
+"GTK-Doc is used to document C code. It is typically used to document the "
+"public API of libraries, such as the GTK+ and GNOME libraries, but it can "
+"also be used to document application code."
+
+#: C/gtk-doc-manual.xml:110(title)
+msgid "How Does GTK-Doc Work?"
+msgstr "How Does GTK-Doc Work?"
+
+#: C/gtk-doc-manual.xml:112(para)
+msgid ""
+"GTK-Doc works by using documentation of functions placed inside the source "
+"files in specially-formatted comment blocks, or documentation added to the "
+"template files which GTK-Doc uses (though note that GTK-Doc will only "
+"document functions that are declared in header files; it won't produce "
+"output for static functions)."
+msgstr ""
+"GTK-Doc works by using documentation of functions placed inside the source "
+"files in specially-formatted comment blocks, or documentation added to the "
+"template files which GTK-Doc uses (though note that GTK-Doc will only "
+"document functions that are declared in header files; it won't produce "
+"output for static functions)."
+
+#: C/gtk-doc-manual.xml:119(para)
+msgid ""
+"GTK-Doc consists of a number of perl scripts, each performing a different "
+"step in the process."
+msgstr ""
+"GTK-Doc consists of a number of Perl scripts, each performing a different "
+"step in the process."
+
+#: C/gtk-doc-manual.xml:124(para)
+msgid "There are 5 main steps in the process:"
+msgstr "There are 5 main steps in the process:"
+
+#: C/gtk-doc-manual.xml:131(para)
+msgid ""
+"<guilabel>Writing the documentation.</guilabel> The author fills in the "
+"source files with the documentation for each function, macro, union etc. (In "
+"the past information was entered in generated template files, which is not "
+"recommended anymore)."
+msgstr ""
+"<guilabel>Writing the documentation.</guilabel> The author fills in the "
+"source files with the documentation for each function, macro, union etc. (In "
+"the past information was entered in generated template files, which is not "
+"recommended any more)."
+
+#: C/gtk-doc-manual.xml:141(para)
+msgid ""
+"<guilabel>Gathering information about the code.</"
+"guilabel><application>gtkdoc-scan</application> scans the header files of "
+"the code looking for declarations of functions, macros, enums, structs, and "
+"unions. It creates the file <filename><module>-decl-list.txt</"
+"filename> containg a list of the declarations, placing them into sections "
+"according to which header file they are in. On the first run this file is "
+"copied to <filename><module>-sections.txt</filename> The author can "
+"rearrange the sections, and the order of the declarations within them, to "
+"produce the final desired order. The second file it generates is "
+"<filename><module>-decl.txt</filename>. This file contains the full "
+"declarations found by the scanner. If for some reason one would like some "
+"sybols to show up in the docs, where the full declaration cannot be found by "
+"th scanner or the declaration should appear differently, one can place "
+"enties similar to the ones in <filename><module>-decl.txt</filename> "
+"into <filename><module>-overrides.txt</filename>. <application>gtkdoc-"
+"scanobj</application> can also be used to dynamically query a library about "
+"any GtkObject subclasses it exports. It saves information about each "
+"object's position in the class hierarchy and about any GTK Args and Signals "
+"it provides."
+msgstr ""
+"<guilabel>Gathering information about the code.</"
+"guilabel><application>gtkdoc-scan</application> scans the header files of "
+"the code looking for declarations of functions, macros, enums, structs, and "
+"unions. It creates the file <filename><replaceable>module</replaceable>-decl-list.txt</"
+"filename> containg a list of the declarations, placing them into sections "
+"according to which header file they are in. On the first run this file is "
+"copied to <filename><replaceable>module</replaceable>-sections.txt</filename> The author can "
+"rearrange the sections, and the order of the declarations within them, to "
+"produce the final desired order. The second file it generates is "
+"<filename><replaceable>module</replaceable>-decl.txt</filename>. This file contains the full "
+"declarations found by the scanner. If for some reason one would like some "
+"symbols to show up in the docs, where the full declaration cannot be found "
+"by the scanner or the declaration should appear differently, one can place "
+"enties similar to the ones in <filename><replaceable>module</replaceable>-decl.txt</filename> "
+"into <filename><replaceable>module</replaceable>-overrides.txt</filename>. <application>gtkdoc-"
+"scanobj</application> can also be used to dynamically query a library about "
+"any GtkObject subclasses it exports. It saves information about each "
+"object's position in the class hierarchy and about any GTK Args and Signals "
+"it provides."
+
+#: C/gtk-doc-manual.xml:166(para)
+msgid ""
+"<guilabel>Generating the \"template\" files.</guilabel><application>gtkdoc-"
+"mktmpl</application> creates a number of files in the <filename class="
+"\"directory\">tmpl/</filename> subdirectory, using the information gathered "
+"in the first step. (Note that this can be run repeatedly. It will try to "
+"ensure that no documentation is ever lost.)"
+msgstr ""
+"<guilabel>Generating the \"template\" files.</guilabel> <application>gtkdoc-"
+"mktmpl</application> creates a number of files in the <filename class="
+"\"directory\">tmpl/</filename> subdirectory, using the information gathered "
+"in the first step. (Note that this can be run repeatedly. It will try to "
+"ensure that no documentation is ever lost.)"
+
+#: C/gtk-doc-manual.xml:175(para)
+msgid ""
+"Since gtk-doc 1.9 the templates can be avoided. We encourage people to keep "
+"documentation in the code. <application>gtkdocize</application> supports now "
+"a <command>--flavour no-tmpl</command> option that chooses a makefile that "
+"skips tmpl usage totally. If you have never changed file in tmpl by hand, "
+"please remove the dir once."
+msgstr ""
+"Since GTK-Doc 1.9 the templates can be avoided. We encourage people to keep "
+"documentation in the code. <application>gtkdocize</application> supports now "
+"a <command>--flavour no-tmpl</command> option that chooses a makefile that "
+"skips <filename class=\"directory\">tmpl</filename> usage totally. If you have "
+"never changed file in <filename class=\"directory\">tmpl</filename> by hand, "
+"please remove the directory at once."
+
+#: C/gtk-doc-manual.xml:185(para)
+msgid ""
+"<guilabel>Generating the SGML/XML and HTML.</guilabel><application>gtkdoc-"
+"mkdb</application> turns the template files into SGML or XML files in the "
+"<filename class=\"directory\">sgml/</filename> or <filename class=\"directory"
+"\">xml/</filename> subdirectory. If the source code contains documentation "
+"on functions, using the special comment blocks, it gets merged in here. If "
+"there are no tmpl files used it only reads takes docs from sources and "
+"introspection data. <application>gtkdoc-mkhtml</application> turns the SGML "
+"files into HTML files in the <filename class=\"directory\">html/</filename> "
+"subdirectory. Files in <filename class=\"directory\">sgml/</filename> or "
+"<filename class=\"directory\">xml/</filename> and <filename class=\"directory"
+"\">html/</filename> directories are always overwritten. One should never "
+"edit them directly."
+msgstr ""
+"<guilabel>Generating the SGML/XML and HTML.</guilabel> <application>gtkdoc-"
+"mkdb</application> turns the template files into SGML or XML files in the "
+"<filename class=\"directory\">sgml/</filename> or <filename class=\"directory"
+"\">xml/</filename> subdirectory. If the source code contains documentation "
+"on functions, using the special comment blocks, it gets merged in here. If "
+"there are no <filename class=\"directory\">tmpl</filename> files used it only reads takes docs from sources and "
+"introspection data. <application>gtkdoc-mkhtml</application> turns the SGML "
+"files into HTML files in the <filename class=\"directory\">html/</filename> "
+"subdirectory. Files in <filename class=\"directory\">sgml/</filename> or "
+"<filename class=\"directory\">xml/</filename> and <filename class=\"directory"
+"\">html/</filename> directories are always overwritten. One should never "
+"edit them directly."
+
+#: C/gtk-doc-manual.xml:205(para)
+msgid ""
+"<guilabel>Fixing up cross-references between documents.</guilabel> After "
+"installing the HTML files, <application>gtkdoc-fixxref</application> can be "
+"run to fix up any cross-references between separate documents. For example, "
+"the GTK+ documentation contains many cross-references to types documented in "
+"the GLib manual. When creating the source tarball for distribution, "
+"<application>gtkdoc-rebase</application> turns all external links into web-"
+"links. When installing distributed (pregenerated) docs the same application "
+"will try to turn links back to local links (where those docs are installed)."
+msgstr ""
+"<guilabel>Fixing up cross-references between documents.</guilabel> After "
+"installing the HTML files, <application>gtkdoc-fixxref</application> can be "
+"run to fix up any cross-references between separate documents. For example, "
+"the GTK+ documentation contains many cross-references to types documented in "
+"the GLib manual. When creating the source tarball for distribution, "
+"<application>gtkdoc-rebase</application> turns all external links into web-"
+"links. When installing distributed (pre-generated) docs the same application "
+"will try to turn links back to local links (where those docs are installed)."
+
+#: C/gtk-doc-manual.xml:223(title)
+msgid "Getting GTK-Doc"
+msgstr "Getting GTK-Doc"
+
+#: C/gtk-doc-manual.xml:226(title)
+msgid "Requirements"
+msgstr "Requirements"
+
+#: C/gtk-doc-manual.xml:227(para)
+msgid "<guilabel>Perl v5</guilabel> - the main scripts are in Perl."
+msgstr "<guilabel>Perl v5</guilabel> — the main scripts are in Perl."
+
+#: C/gtk-doc-manual.xml:230(para)
+msgid ""
+"<guilabel>DocBook DTD v3.0</guilabel> - This is the DocBook SGML DTD. <ulink "
+"url=\"http://www.ora.com/davenport\" type=\"http\">http://www.ora.com/"
+"davenport</ulink>"
+msgstr ""
+"<guilabel>DocBook DTD v3.0</guilabel> — This is the DocBook SGML DTD. <ulink "
+"url=\"http://www.ora.com/davenport\" type=\"http\">http://www.ora.com/"
+"davenport</ulink>"
+
+#: C/gtk-doc-manual.xml:234(para)
+msgid ""
+"<guilabel>Jade v1.1</guilabel> - This is a DSSSL processor for converting "
+"SGML to various formats. <ulink url=\"http://www.jclark.com/jade\" type="
+"\"http\">http://www.jclark.com/jade</ulink>"
+msgstr ""
+"<guilabel>Jade v1.1</guilabel> — This is a DSSSL processor for converting "
+"SGML to various formats. <ulink url=\"http://www.jclark.com/jade\" type="
+"\"http\">http://www.jclark.com/jade</ulink>"
+
+#: C/gtk-doc-manual.xml:238(para)
+msgid ""
+"<guilabel>Modular DocBook Stylesheets</guilabel> This is the DSSSL code to "
+"convert DocBook to HTML (and a few other formats). It's used together with "
+"jade. I've customized the DSSSL code slightly, in gtk-doc.dsl, to colour the "
+"program code listings/declarations, and to support global cross-reference "
+"indices in the generated HTML. <ulink url=\"http://nwalsh.com/docbook/dsssl"
+"\" type=\"http\">http://nwalsh.com/docbook/dsssl</ulink>"
+msgstr ""
+"<guilabel>Modular DocBook Stylesheets</guilabel> This is the DSSSL code to "
+"convert DocBook to HTML (and a few other formats). It's used together with "
+"jade. The DSSSL code has been customised slightly, in gtk-doc.dsl, to colour the "
+"program code listings/declarations, and to support global cross-reference "
+"indices in the generated HTML. <ulink url=\"http://nwalsh.com/docbook/dsssl"
+"\" type=\"http\">http://nwalsh.com/docbook/dsssl</ulink>"
+
+#: C/gtk-doc-manual.xml:247(para)
+msgid ""
+"<guilabel>docbook-to-man</guilabel> - if you want to create man pages from "
+"the DocBook. I've customized the 'translation spec' slightly, to capitalise "
+"section headings and add the 'GTK Library' title at the top of the pages and "
+"the revision date at the bottom. There is a link to this on <ulink url="
+"\"http://www.ora.com/davenport\" type=\"http\">http://www.ora.com/davenport</"
+"ulink> NOTE: This does not work yet."
+msgstr ""
+"<guilabel>docbook-to-man</guilabel> — if you want to create man pages from "
+"the DocBook. The 'translation spec' has been customised slightly, to capitalise "
+"section headings and add the 'GTK Library' title at the top of the pages and "
+"the revision date at the bottom. There is a link to this on <ulink url="
+"\"http://www.ora.com/davenport\" type=\"http\">http://www.ora.com/davenport</"
+"ulink> NOTE: This does not work yet."
+
+#: C/gtk-doc-manual.xml:258(title)
+msgid "Installation"
+msgstr "Installation"
+
+#: C/gtk-doc-manual.xml:259(para)
+msgid ""
+"There is no standard place where the DocBook Modular Stylesheets are "
+"installed."
+msgstr ""
+"There is no standard place where the DocBook Modular Stylesheets are "
+"installed."
+
+#: C/gtk-doc-manual.xml:262(para)
+msgid "gtk-doc's configure script searches these 3 directories automatically:"
+msgstr "GTK-Doc's configure script searches these 3 directories automatically:"
+
+#: C/gtk-doc-manual.xml:265(para)
+msgid ""
+"<filename> /usr/lib/sgml/stylesheets/nwalsh-modular </filename> (used by "
+"RedHat)"
+msgstr ""
+"<filename>/usr/lib/sgml/stylesheets/nwalsh-modular</filename> (used by "
+"Red Hat)"
+
+#: C/gtk-doc-manual.xml:268(para)
+msgid ""
+"<filename> /usr/lib/dsssl/stylesheets/docbook </filename> (used by Debian)"
+msgstr ""
+"<filename>/usr/lib/dsssl/stylesheets/docbook</filename> (used by Debian)"
+
+#: C/gtk-doc-manual.xml:271(para)
+msgid "<filename> /usr/share/sgml/docbkdsl </filename> (used by SuSE)"
+msgstr "<filename>/usr/share/sgml/docbkdsl</filename> (used by SuSE)"
+
+#: C/gtk-doc-manual.xml:274(para)
+msgid ""
+"If you have the stylesheets installed somewhere else, you need to configure "
+"gtk-doc using the option: <command> --with-dsssl-dir=<"
+"PATH_TO_TOPLEVEL_STYLESHEETS_DIR> </command>"
+msgstr ""
+"If you have the stylesheets installed somewhere else, you need to configure "
+"GTK-Doc using the option: <command> --with-dsssl-dir=<"
+"PATH_TO_TOPLEVEL_STYLESHEETS_DIR> </command>"
+
+#: C/gtk-doc-manual.xml:297(title)
+msgid "About GTK-Doc"
+msgstr "About GTK-Doc"
+
+#: C/gtk-doc-manual.xml:299(para) C/gtk-doc-manual.xml:313(para)
+msgid "(FIXME)"
+msgstr "(FIXME)"
+
+#: C/gtk-doc-manual.xml:303(para)
+msgid ""
+"(History, authors, web pages, license, future plans, comparison with other "
+"similar systems.)"
+msgstr ""
+"(History, authors, web pages, licence, future plans, comparison with other "
+"similar systems.)"
+
+#: C/gtk-doc-manual.xml:311(title)
+msgid "About this Manual"
+msgstr "About this Manual"
+
+#: C/gtk-doc-manual.xml:317(para)
+msgid "(who it is meant for, where you can get it, license)"
+msgstr "(who it is meant for, where you can get it, licence)"
+
+#: C/gtk-doc-manual.xml:326(title)
+msgid "Setting up your project"
+msgstr "Setting up your project"
+
+#: C/gtk-doc-manual.xml:328(para)
+msgid ""
+"The next sections describe what steps to perform to integrate GTK-Doc into "
+"your project. Theses section assume we work on a project called 'meep'. This "
+"project contains a library called 'libmeep' and an end-user app called "
+"'meeper'."
+msgstr ""
+"The next sections describe what steps to perform to integrate GTK-Doc into "
+"your project. Theses section assume we work on a project called 'meep'. This "
+"project contains a library called 'libmeep' and an end-user app called "
+"'meeper'."
+
+#: C/gtk-doc-manual.xml:336(title)
+msgid "Setting up a skeleton documentation"
+msgstr "Setting up a skeleton documentation"
+
+#: C/gtk-doc-manual.xml:338(para)
+msgid ""
+"Under your top-level project directory create folders called docs/reference "
+"(this way you can also have docs/help for end-user documentation). It is "
+"recommended to create another subdirectory with the name of the doc-package. "
+"For packages with just one library this step is not necessary."
+msgstr ""
+"Under your top-level project directory create a folder called <filename class=\"directory\">docs/reference</filename> "
+"(this way you can also have <filename class=\"directory\">docs/help</filename> for end-user documentation). It is "
+"recommended to create another subdirectory with the name of the doc-package. "
+"For packages with just one library this step is not necessary."
+
+#: C/gtk-doc-manual.xml:347(title)
+msgid "Example directory structure"
+msgstr "Example directory structure"
+
+#: C/gtk-doc-manual.xml:345(para)
+msgid "This can then look as show below: <placeholder-1/>"
+msgstr "This can then look as show below: <placeholder-1/>"
+
+#: C/gtk-doc-manual.xml:365(title) C/gtk-doc-manual.xml:372(title)
+msgid "Integration with autoconf"
+msgstr "Integration with autoconf"
+
+#: C/gtk-doc-manual.xml:367(para)
+msgid ""
+"Very easy! Just add one line to your <filename>configure.ac</filename> "
+"script."
+msgstr ""
+"Very easy! Just add one line to your <filename>configure.ac</filename> "
+"script."
+
+#: C/gtk-doc-manual.xml:382(para)
+msgid ""
+"Besides checking for the required Gtk-Doc version, this adds two configure "
+"switches:"
+msgstr ""
+"Besides checking for the required GTK-Doc version, this adds two configure "
+"switches:"
+
+#: C/gtk-doc-manual.xml:387(para)
+msgid "--with-html-dir=PATH : path to installed docs"
+msgstr "--with-html-dir=PATH : path to installed docs"
+
+#: C/gtk-doc-manual.xml:388(para)
+msgid "--enable-gtk-doc : use gtk-doc to build documentation"
+msgstr "--enable-gtk-doc : use gtk-doc to build documentation"
+
+#: C/gtk-doc-manual.xml:392(para)
+msgid ""
+"Gtk-Doc is disabled by default! Remember to pass the option <option>'--"
+"enable-gtk-doc'</option> to the next <filename>configure</filename> run. "
+"Otherwise pregenerated documentation is installed (which makes sense for "
+"users but not for developers)."
+msgstr ""
+"GTK-Doc is disabled by default! Remember to pass the option <option>--"
+"enable-gtk-doc</option> to the next <filename>configure</filename> run. "
+"Otherwise pre-generated documentation is installed (which makes sense for "
+"users but not for developers)."
+
+#: C/gtk-doc-manual.xml:400(para)
+msgid ""
+"Furthermore it is recommended that you have the following line inside you "
+"<filename>configure.ac</filename> script. This allows <filename>gtkdocize</"
+"filename> to automatically copy the macro definition for "
+"<function>GTK_DOC_CHECK</function> to your project."
+msgstr ""
+"Furthermore it is recommended that you have the following line inside your "
+"<filename>configure.ac</filename> script. This allows <filename>gtkdocize</"
+"filename> to automatically copy the macro definition for "
+"<function>GTK_DOC_CHECK</function> to your project."
+
+#: C/gtk-doc-manual.xml:408(title)
+msgid "Preparation for gtkdocize"
+msgstr "Preparation for gtkdocize"
+
+#: C/gtk-doc-manual.xml:419(title)
+msgid "Integration with automake"
+msgstr "Integration with automake"
+
+#: C/gtk-doc-manual.xml:421(para)
+msgid ""
+"First copy the <filename>Makefile.am</filename> from the examples "
+"subdirectory of the gtkdoc-sources to your project's API documentation "
+"directory ( <filename class=\"directory\">./docs/reference/<package></"
+"filename>). If you have multiple doc-packages repeat this for each one."
+msgstr ""
+"First copy the <filename>Makefile.am</filename> from the <filename class=\"directory\">examples</filename> "
+"subdirectory of the GTK-Doc sources to your project's API documentation "
+"directory (<filename class=\"directory\">./docs/reference/<replaceable>package</replaceable></"
+"filename>). If you have multiple doc-packages, repeat this for each one."
+
+#: C/gtk-doc-manual.xml:428(para)
+msgid ""
+"The next step is to edit the setting inside the <filename>Makefile.am</"
+"filename>. All the settings have a comment above that describes their "
+"purpose. Most settings are extra flags passed to the respective tools. Every "
+"tool has a variable of the form <option><TOOLNAME>_OPTIONS</option>. "
+"All the tools support <option>--help</option> to list the supported "
+"parameters."
+msgstr ""
+"The next step is to edit the settings inside the <filename>Makefile.am</"
+"filename>. All the settings have a comment above that describes their "
+"purpose. Most settings are extra flags passed to the respective tools. Every "
+"tool has a variable of the form <option><replaceable>TOOLNAME</replaceable>_OPTIONS</option>. "
+"All the tools support <option>--help</option> to list the supported "
+"parameters."
+
+#. FIXME: explain options ?
+#: C/gtk-doc-manual.xml:439(para)
+msgid ""
+"You may also want to enable gtk-doc for the distcheckmake target. Just add "
+"then one-liner show in the next example to you top-level <filename>Makefile."
+"am</filename>:"
+msgstr ""
+"You may also want to enable GTK-Doc for the <literal>distcheckmake</literal> target. Just add "
+"the line shown in the next example to your top-level <filename>Makefile."
+"am</filename>:"
+
+#: C/gtk-doc-manual.xml:446(title)
+msgid "Enable gtk-doc during make distcheck"
+msgstr "Enable GTK-Doc during make distcheck"
+
+#: C/gtk-doc-manual.xml:458(title)
+msgid "Integration with autogen"
+msgstr "Integration with autogen"
+
+#: C/gtk-doc-manual.xml:460(para)
+msgid ""
+"Most projects will have an <filename>autogen.sh</filename> script to setup "
+"the build infrastructure after a checkout from version control system (such "
+"as cvs). Gtk-Doc comes with a tool called <filename>gtkdocize</filename> "
+"which can be used in such a script. It should be run before autoheader, "
+"automake or autoconf."
+msgstr ""
+"Most projects will have an <filename>autogen.sh</filename> script to set up "
+"the build infrastructure after a checkout from version control system (such "
+"as CVS). GTK-Doc comes with a tool called <filename>gtkdocize</filename> "
+"which can be used in such a script. It should be run before autoheader, "
+"automake or autoconf."
+
+#: C/gtk-doc-manual.xml:469(title)
+msgid "Running gtkdocize from autogen.sh"
+msgstr "Running gtkdocize from autogen.sh"
+
+#: C/gtk-doc-manual.xml:478(para)
+msgid ""
+"When running <filename>gtkdocize</filename> it copies <filename>gtk-doc."
+"make</filename> to you project root (or any directory specified by the --"
+"docdir option). If also check you configure script for the "
+"<function>GTK_DOC_CHECK</function> invocation."
+msgstr ""
+"When running <filename>gtkdocize</filename> it copies <filename>gtk-doc."
+"make</filename> to your project root (or any directory specified by the <option>--"
+"docdir</option> option). It also checks your configure script for the "
+"<function>GTK_DOC_CHECK</function> invocation."
+
+#: C/gtk-doc-manual.xml:485(para)
+msgid ""
+"Historically gtk-doc was gerating template files where developers entered "
+"the docs. this turned out to be not so good. Since a few version gtk-doc "
+"could also get all the information from source comments. Since gtk-doc 1.9 "
+"the templates can be avoided. We encourage people to keep documentation in "
+"the code. <application>gtkdocize</application> supports now a --flavour=no-"
+"tmpl option that chooses a makefile that skips tmpl usage totally. If you "
+"have never changed file in tmpl by hand, please remove the dir once."
+msgstr ""
+"Historically GTK-Doc was generating template files where developers entered "
+"the docs. this turned out to be not so good. Since a few versions ago, GTK-Doc "
+"can also get all the information from source comments. Since GTK-Doc 1.9 "
+"the templates can be avoided. We encourage people to keep documentation in "
+"the code. <application>gtkdocize</application> now supports a <option>--flavour=no-"
+"tmpl</option> option that chooses a makefile that skips <filename class=\"directory\">tmpl</filename> usage totally. If you "
+"have never changed a file in <filename class=\"directory\">tmpl</filename> by hand, please remove the directory at once."
+
+#: C/gtk-doc-manual.xml:497(title) C/gtk-doc-manual.xml:514(title)
+msgid "Running the doc build"
+msgstr "Running the doc build"
+
+#: C/gtk-doc-manual.xml:499(para)
+msgid ""
+"After the previous steps it's time to run the build. First we need to rerun "
+"<filename>autogen.sh</filename>. If this script runs configure for you, then "
+"give it the <option>--enable-gtk-doc</option> option. Otherwise manually run "
+"<filename>configure</filename> with this option afterwards."
+msgstr ""
+"After the previous steps it is time to run the build. First we need to rerun "
+"<filename>autogen.sh</filename>. If this script runs <filename>configure</filename> for you, then "
+"give it the <option>--enable-gtk-doc</option> option. Otherwise manually run "
+"<filename>configure</filename> with this option afterwards."
+
+#: C/gtk-doc-manual.xml:506(para)
+msgid ""
+"The first make run generates several additional files in the doc-dirs. The "
+"important ones are: <filename><package>.types</filename>, "
+"<filename><package>-docs.sgml</filename>, <filename><package>-"
+"sections.txt</filename>."
+msgstr ""
+"The first make run generates several additional files in the doc-dirs. The "
+"important ones are: <filename><replaceable>package</replaceable>.types</filename>, "
+"<filename><replaceable>package</replaceable>-docs.sgml</filename> and <filename><replaceable>package</replaceable>-"
+"sections.txt</filename>."
+
+#: C/gtk-doc-manual.xml:523(para)
+msgid ""
+"Now you can point your browser to <filename>docs/reference/<package>/"
+"index.html</filename>. Yes, it's a bit disappointing still. But hang-on, "
+"during the next chapter we tell you how to fill the pages with life."
+msgstr ""
+"Now you can point your browser to <filename>docs/reference/<replaceable>package</replaceable>/"
+"index.html</filename>. Yes, it's a bit disappointing still. But hang on; "
+"during the next chapter we tell you how to fill the pages with life."
+
+#: C/gtk-doc-manual.xml:531(title)
+msgid "Integration with version control systems"
+msgstr "Integration with version control systems"
+
+#: C/gtk-doc-manual.xml:533(para)
+msgid ""
+"As a rule of the thumb, it's those files you edit, that should go under "
+"version control. For typical projects it's these files: <filename><"
+"package>.types</filename><filename><package>-docs.sgml</"
+"filename><filename><package>-sections.txt</filename><filename>Makefile."
+"am</filename>"
+msgstr ""
+"As a rule of thumb, it is the files you edit that should go under version "
+"control. For typical projects it's these files: <filename><replaceable>package</replaceable>."
+"types</filename>, <filename><replaceable>package</replaceable>-docs.sgml</filename>, <filename><replaceable>"
+"package</replaceable>-sections.txt</filename> and <filename>Makefile.am</filename>."
+
+#: C/gtk-doc-manual.xml:546(title)
+msgid "Documenting the code"
+msgstr "Documenting the code"
+
+#: C/gtk-doc-manual.xml:548(para)
+msgid ""
+"GTK-Doc uses source code comment with a special syntax for code "
+"documentation. Further it retrieves information about your project structure "
+"from other sources. During the next section you find all information about "
+"the syntax of the comments."
+msgstr ""
+"GTK-Doc uses source code comment with a special syntax for code "
+"documentation. Furthermore, it retrieves information about your project structure "
+"from other sources. During the next section you will find all the information about "
+"the syntax of the comments."
+
+#: C/gtk-doc-manual.xml:556(title)
+msgid "Documentation placement"
+msgstr "Documentation placement"
+
+#: C/gtk-doc-manual.xml:557(para)
+msgid ""
+"In the past most documentation had to be filled into files residing inside "
+"the <filename>tmpl</filename> directory. This has the disadvantages that the "
+"information is often not updated and also that the file tend to cause "
+"conflicts with version control systems."
+msgstr ""
+"In the past most documentation had to be filled into files residing inside "
+"the <filename class=\"directory\">tmpl</filename> directory. This has the disadvantages that the "
+"information is often not updated and also that the file tend to cause "
+"conflicts with version control systems."
+
+#: C/gtk-doc-manual.xml:563(para)
+msgid ""
+"The avoid the aforementioned problems we suggest putting the documentation "
+"inside the sources. This manual will only describe this way of documenting "
+"code."
+msgstr ""
+"To avoid the aforementioned problems we suggest putting the documentation "
+"inside the sources. This manual will only describe this way of documenting "
+"code."
+
+#: C/gtk-doc-manual.xml:573(title)
+msgid "Documentation comments"
+msgstr "Documentation comments"
+
+#: C/gtk-doc-manual.xml:578(title)
+msgid "Gtk-Doc comment block"
+msgstr "GTK-Doc comment block"
+
+#: C/gtk-doc-manual.xml:575(para)
+msgid ""
+"A multiline comment that starts with an additional '*' marks a documentation "
+"block that will be processed by the Gtk-Doc tools. <placeholder-1/>"
+msgstr ""
+"A multiline comment that starts with an additional <literal>*</literal> marks a documentation "
+"block that will be processed by the GTK-Doc tools. <placeholder-1/>"
+
+#: C/gtk-doc-manual.xml:590(para)
+msgid ""
+"The 'identifier' is one line with the name of the item the comment is "
+"related to. The syntax differs a little depending on the item. (TODO add "
+"table showing identifiers)"
+msgstr ""
+"The 'identifier' is one line with the name of the item to which the comment is "
+"related. The syntax differs a little depending on the item. (TODO add "
+"table showing identifiers)"
+
+#: C/gtk-doc-manual.xml:596(para)
+msgid ""
+"The 'documentation' block is also different for each symbol type. Symbol "
+"types that get parameters such as functions or macros have the parameter "
+"description first followed by a blank line (just a '*'). Afterwards follows "
+"the detailed description. All lines (outside program- listings and CDATA "
+"sections) just containing a ' *' (blank-asterisk) are converted to paragraph "
+"breaks. If you don't want a paragraph break, change that into ' * ' (blank-"
+"asterisk-blank-blank)."
+msgstr ""
+"The 'documentation' block is also different for each symbol type. Symbol "
+"types that get parameters such as functions or macros have the parameter "
+"description first followed by a blank line (just a <literal>*</literal>). Afterwards follows "
+"the detailed description. All lines (outside program listings and CDATA "
+"sections) just containing a <literal> *</literal> (blank-asterisk) are converted to paragraph "
+"breaks. If you don't want a paragraph break, change that into <literal> * </literal> (blank-"
+"asterisk-blank-blank)."
+
+#: C/gtk-doc-manual.xml:613(para)
+msgid "Use function() to refer to functions or macros which take arguments."
+msgstr "Use <literal>function()</literal> to refer to functions or macros which take arguments."
+
+#: C/gtk-doc-manual.xml:618(para)
+msgid ""
+"Use @param to refer to parameters. Also use this when referring to "
+"parameters of other functions, related to the one being described."
+msgstr ""
+"Use <literal>@param</literal> to refer to parameters. Also use this when referring to "
+"parameters of other functions, related to the one being described."
+
+#: C/gtk-doc-manual.xml:624(para)
+msgid "Use %constant to refer to a constant, e.g. %G_TRAVERSE_LEAFS."
+msgstr "Use <literal>%constant</literal> to refer to a constant, e.g. <literal>%G_TRAVERSE_LEAFS</literal>."
+
+#: C/gtk-doc-manual.xml:629(para)
+msgid ""
+"Use #symbol to refer to other types of symbol, e.g. structs and enums and "
+"macros which don't take arguments."
+msgstr ""
+"Use <literal>#symbol</literal> to refer to other types of symbol, e.g. structs and enums and "
+"macros which don't take arguments."
+
+#: C/gtk-doc-manual.xml:635(para)
+msgid "Use #Object::signal to refer to a GObject signal"
+msgstr "Use <literal>#Object::signal</literal> to refer to a GObject signal"
+
+#: C/gtk-doc-manual.xml:640(para)
+msgid "Use #Object:property to refer to a GObject property"
+msgstr "Use <literal>#Object:property</literal> to refer to a GObject property"
+
+#: C/gtk-doc-manual.xml:645(para)
+msgid "Use #Struct.field to refer to a field inside a structure."
+msgstr "Use <literal>#Struct.field</literal> to refer to a field inside a structure."
+
+#: C/gtk-doc-manual.xml:607(para)
+msgid ""
+"One advantage of hyper-text over plain-text is the ability to have links in "
+"the document. Writing the correct markup for a link can be tedious though. "
+"Gtk-Doc comes to help by providing several useful abbreviations. "
+"<placeholder-1/>"
+msgstr ""
+"One advantage of hyper-text over plain-text is the ability to have links in "
+"the document. Writing the correct markup for a link can be tedious though. "
+"GTK-Doc comes to help by providing several useful abbreviations. "
+"<placeholder-1/>"
+
+#: C/gtk-doc-manual.xml:653(para)
+msgid ""
+"If you need to use the special characters '()', '@', '%', or '#' in your "
+"documentation without gtk-doc changing them you can use the XML entities "
+"\"&lpar;\", \"&rpar;\", \"&commat;\", \"&percnt;\" and "
+"\"&num;\" respectively or escape them with a backslash '\\'."
+msgstr ""
+"If you need to use the special characters '()', '@', '%', or '#' in your "
+"documentation without GTK-Doc changing them you can use the XML entities "
+"\"&lpar;\", \"&rpar;\", \"&commat;\", \"&percnt;\" and "
+"\"&num;\" respectively or escape them with a backslash '\\'."
+
+#: C/gtk-doc-manual.xml:662(para)
+msgid ""
+"DocBook can do more that just links. One can also have lists, tables and "
+"examples. To enable the usage of SGML/XML tags inside doc-comments you need "
+"to have <option>--sgml-mode</option> in the variable <symbol>MKDB_OPTIONS</"
+"symbol> inside <filename>Makefile.am</filename>."
+msgstr ""
+"DocBook can do more that just links. One can also have lists, tables and "
+"examples. To enable the usage of SGML/XML tags inside doc-comments you need "
+"to have <option>--sgml-mode</option> in the variable <symbol>MKDB_OPTIONS</"
+"symbol> inside <filename>Makefile.am</filename>."
+
+#: C/gtk-doc-manual.xml:670(para)
+msgid ""
+"As already mentioned earlier Gtk-Doc is for documenting public API. Thus one "
+"cannot write documentation for static symbols. Nevertheless it is good to "
+"comment those symbols too. This helps other to understand you code. "
+"Therefore we recommend to comment these using normal comments (without the "
+"2nd '*' in the first line). If later the function needs to be made public, "
+"all one needs to do is to add another '*' in the comment block and insert "
+"the symbol name at the right place inside the sections file."
+msgstr ""
+"As already mentioned earlier, GTK-Doc is for documenting public API. Thus one "
+"cannot write documentation for static symbols. Nevertheless it is good to "
+"comment those symbols too; this helps other to understand your code. "
+"Therefore we recommend to comment these using normal comments (without the "
+"second <literal>*</literal> in the first line). If later the function needs to be made public, "
+"all one needs to do is to add another <literal>*</literal> in the comment block and insert "
+"the symbol name at the right place inside the sections file."
+
+#: C/gtk-doc-manual.xml:684(title)
+msgid "Documenting sections"
+msgstr "Documenting sections"
+
+#: C/gtk-doc-manual.xml:686(para)
+msgid ""
+"Each section of the documentation contains information about one class or "
+"module. To introduce the component one can write a section block. The short "
+"description is also used inside the table of contents."
+msgstr ""
+"Each section of the documentation contains information about one class or "
+"module. To introduce the component one can write a section block. The short "
+"description is also used inside the table of contents."
+
+#: C/gtk-doc-manual.xml:693(title)
+msgid "Section comment block"
+msgstr "Section comment block"
+
+#: C/gtk-doc-manual.xml:712(term)
+msgid "@short_description"
+msgstr "@short_description"
+
+#: C/gtk-doc-manual.xml:714(para)
+msgid ""
+"A one line description of the section, that later will appear after the "
+"links in the TOC and at the top of the section page."
+msgstr ""
+"A one line description of the section that later will appear after the links "
+"in the TOC and at the top of the section page."
+
+#: C/gtk-doc-manual.xml:721(term)
+msgid "@see_also"
+msgstr "@see_also"
+
+#: C/gtk-doc-manual.xml:723(para)
+msgid "A list of symbols that are related to this section.."
+msgstr "A list of symbols that are related to this section."
+
+#: C/gtk-doc-manual.xml:729(term)
+msgid "@stability"
+msgstr "@stability"
+
+#: C/gtk-doc-manual.xml:736(para)
+msgid ""
+"Stable - The intention of a Stable interface is to enable arbitrary third "
+"parties to develop applications to these interfaces, release them, and have "
+"confidence that they will run on all minor releases of the product (after "
+"the one in which the interface was introduced, and within the same major "
+"release). Even at a major release, incompatible changes are expected to be "
+"rare, and to have strong justifications."
+msgstr ""
+"Stable — The intention of a Stable interface is to enable arbitrary third "
+"parties to develop applications to these interfaces, release them, and have "
+"confidence that they will run on all minor releases of the product (after "
+"the one in which the interface was introduced, and within the same major "
+"release). Even at a major release, incompatible changes are expected to be "
+"rare, and to have strong justifications."
+
+#: C/gtk-doc-manual.xml:748(para)
+msgid ""
+"Unstable - Unstable interfaces are experimental or transitional. They are "
+"typically used to give outside developers early access to new or rapidly "
+"changing technology, or to provide an interim solution to a problem where a "
+"more general solution is anticipated. No claims are made about either source "
+"or binary compatibility from one minor release to the next."
+msgstr ""
+"Unstable — Unstable interfaces are experimental or transitional. They are "
+"typically used to give outside developers early access to new or rapidly-"
+"changing technology, or to provide an interim solution to a problem where a "
+"more general solution is anticipated. No claims are made about either source "
+"or binary compatibility from one minor release to the next."
+
+#: C/gtk-doc-manual.xml:760(para)
+msgid ""
+"Private - An interface that can be used within the GNOME stack itself, but "
+"that is not documented for end-users. Such functions should only be used in "
+"specified and documented ways."
+msgstr ""
+"Private — An interface that can be used within the GNOME stack itself, but "
+"that is not documented for end-users. Such functions should only be used in "
+"specified and documented ways."
+
+#: C/gtk-doc-manual.xml:769(para)
+msgid ""
+"Internal - An interface that is internal to a module and does not require "
+"end-user documentation. Functions that are undocumented are assumed to be "
+"Internal."
+msgstr ""
+"Internal — An interface that is internal to a module and does not require "
+"end-user documentation. Functions that are undocumented are assumed to be "
+"Internal."
+
+#: C/gtk-doc-manual.xml:731(para)
+msgid ""
+"A informal description of the stability level this API has. We recommend the "
+"use of one of these terms: <placeholder-1/>"
+msgstr ""
+"A informal description of the stability level this API has. We recommend the "
+"use of one of these terms: <placeholder-1/>"
+
+#: C/gtk-doc-manual.xml:781(term)
+msgid "@include"
+msgstr "@include"
+
+#: C/gtk-doc-manual.xml:783(para)
+msgid ""
+"The <literal>#include</literal> files to show in the section synopsis (a "
+"comma separated list), overriding the global value from the <link linkend="
+"\"metafiles_sections\">section file</link> or command line. This item is "
+"optional."
+msgstr ""
+"The <literal>#include</literal> files to show in the section synopsis (a "
+"comma-separated list), overriding the global value from the <link linkend="
+"\"metafiles_sections\">section file</link> or command line. This item is "
+"optional."
+
+#: C/gtk-doc-manual.xml:793(para)
+msgid ""
+"FIXME having @title here, would put this title into a newly generated "
+"section file, but later would be obsolete (right?)"
+msgstr ""
+"FIXME having @title here, would put this title into a newly generated "
+"section file, but later would be obsolete (right?)"
+
+#: C/gtk-doc-manual.xml:800(para)
+msgid ""
+"To avoid unnecessary recompilation after doc-changes put the section docs "
+"into the c-source where possible."
+msgstr ""
+"To avoid unnecessary recompilation after doc-changes put the section docs "
+"into the C source where possible."
+
+#: C/gtk-doc-manual.xml:809(title)
+msgid "Documenting symbols"
+msgstr "Documenting symbols"
+
+#: C/gtk-doc-manual.xml:811(para)
+msgid ""
+"Each symbol (function, macro, struct, enum, signal and property) is "
+"documented in a separate block. The block is best placed close to the "
+"definition of the symbols so that it is easy to keep them in sync. Thus "
+"function are usually documented in the c-source and macros, struct and enum "
+"in the header file."
+msgstr ""
+"Each symbol (function, macro, struct, enum, signal and property) is "
+"documented in a separate block. The block is best placed close to the "
+"definition of the symbols so that it is easy to keep them in synchronisation. Thus "
+"functions are usually documented in the C source and macros, structs and enums "
+"in the header files."
+
+#: C/gtk-doc-manual.xml:820(title)
+msgid "Function comment block"
+msgstr "Function comment block"
+
+#: C/gtk-doc-manual.xml:843(term)
+msgid "Returns:"
+msgstr "Returns:"
+
+#: C/gtk-doc-manual.xml:845(para)
+msgid "Paragraph describing the returned result."
+msgstr "Paragraph describing the returned result."
+
+#: C/gtk-doc-manual.xml:851(term)
+msgid "Deprecated:"
+msgstr "Deprecated:"
+
+#: C/gtk-doc-manual.xml:853(para)
+msgid ""
+"Paragraph denoting that this function should no be used anymore. The "
+"description should point the reader to the new API."
+msgstr ""
+"Paragraph denoting that this function should no be used any more. The "
+"description should point the reader to the new API."
+
+#: C/gtk-doc-manual.xml:860(term)
+msgid "Since:"
+msgstr "Since:"
+
+#: C/gtk-doc-manual.xml:862(para)
+msgid "Description since which version of the code the API is available."
+msgstr "Description since which version of the code the API is available."
+
+#: C/gtk-doc-manual.xml:869(para)
+msgid ""
+"Gtk-doc assumes all symbols (macros, functions) starting with '_' are "
+"private. They are treated like static functions."
+msgstr ""
+"GTK-Doc assumes all symbols (macros, functions) starting with <literal>_</literal> are "
+"private. They are treated like static functions."
+
+#: C/gtk-doc-manual.xml:874(para)
+msgid "(FIXME) (stability) (glib-enums, ...)"
+msgstr "(FIXME) (stability) (glib-enums, ...)"
+
+#: C/gtk-doc-manual.xml:880(title)
+msgid "Property comment block"
+msgstr "Property comment block"
+
+#: C/gtk-doc-manual.xml:892(title)
+msgid "Signal comment block"
+msgstr "Signal comment block"
+
+#: C/gtk-doc-manual.xml:909(title)
+msgid "Struct comment block"
+msgstr "Struct comment block"
+
+#: C/gtk-doc-manual.xml:928(title)
+msgid "Useful DocBook tags"
+msgstr "Useful DocBook tags"
+
+#: C/gtk-doc-manual.xml:930(para)
+msgid ""
+"Here are some DocBook tags which are most useful when documenting the code."
+msgstr ""
+"Here are some DocBook tags which are most useful when documenting the code."
+
+#: C/gtk-doc-manual.xml:935(para)
+msgid ""
+"To link to another section in the GTK docs: <placeholder-1/> The linkend is "
+"the SGML id on the top item of the page you want to link to. For most pages "
+"this is currently the part (\"gtk\", \"gdk\", glib\") and then the page "
+"title (\"Hash Tables\"). For widgets it is just the class name. Spaces and "
+"underscores are converted to '-' to conform to SGML."
+msgstr ""
+"To link to another section in the GTK docs: <placeholder-1/> The linkend is "
+"the SGML ID on the top item of the page to which you want to link. For most pages "
+"this is currently the part (\"gtk\", \"gdk\", glib\") and then the page "
+"title (\"Hash Tables\"). For widgets it is just the class name. Spaces and "
+"underscores are converted to <literal>-</literal> to conform to SGML."
+
+#: C/gtk-doc-manual.xml:951(para)
+msgid ""
+"To refer to an external function, e.g. a standard C function: <placeholder-1/"
+">"
+msgstr ""
+"To refer to an external function, e.g. a standard C function: <placeholder-1/"
+">"
+
+#: C/gtk-doc-manual.xml:962(para)
+msgid ""
+"To include example code: <placeholder-1/> or possibly this, for very short "
+"code fragments which don't need a title: <placeholder-2/> For the latter gtk-"
+"doc also supports an abbreviation: <![CDATA[\n"
+"|[\n"
+" ...\n"
+"]|\n"
+"]]>"
+msgstr ""
+"To include example code: <placeholder-1/> or possibly this, for very short "
+"code fragments which don't need a title: <placeholder-2/> For the latter, GTK-"
+"Doc also supports an abbreviation: <![CDATA[\n"
+"|[\n"
+" ...\n"
+"]|\n"
+"]]>"
+
+#: C/gtk-doc-manual.xml:996(para)
+msgid "To include bulleted lists: <placeholder-1/>"
+msgstr "To include bulleted lists: <placeholder-1/>"
+
+#: C/gtk-doc-manual.xml:1018(para)
+msgid "To include a note which stands out from the text: <placeholder-1/>"
+msgstr "To include a note which stands out from the text: <placeholder-1/>"
+
+#: C/gtk-doc-manual.xml:1033(para)
+msgid "To refer to a type: <placeholder-1/>"
+msgstr "To refer to a type: <placeholder-1/>"
+
+#: C/gtk-doc-manual.xml:1044(para)
+msgid ""
+"To refer to an external structure (not one described in the GTK docs): "
+"<placeholder-1/>"
+msgstr ""
+"To refer to an external structure (not one described in the GTK docs): "
+"<placeholder-1/>"
+
+#: C/gtk-doc-manual.xml:1055(para)
+msgid "To refer to a field of a structure: <placeholder-1/>"
+msgstr "To refer to a field of a structure: <placeholder-1/>"
+
+#: C/gtk-doc-manual.xml:1066(para)
+msgid ""
+"To refer to a class name, we could possibly use: <placeholder-1/> but you'll "
+"probably be using #GtkWidget instead (to automatically create a link to the "
+"GtkWidget page - see <link linkend=\"documenting_syntax\">the abbreviations</"
+"link>)."
+msgstr ""
+"To refer to a class name, we could possibly use: <placeholder-1/> but you'll "
+"probably be using <literal>#GtkWidget</literal> instead (to automatically create a link to the "
+"GtkWidget page — see <link linkend=\"documenting_syntax\">the abbreviations</"
+"link>)."
+
+#: C/gtk-doc-manual.xml:1079(para)
+msgid "To emphasize text: <placeholder-1/>"
+msgstr "To emphasise text: <placeholder-1/>"
+
+#: C/gtk-doc-manual.xml:1090(para)
+msgid "For filenames use: <placeholder-1/>"
+msgstr "For filenames use: <placeholder-1/>"
+
+#: C/gtk-doc-manual.xml:1105(title)
+msgid "Filling the extra files"
+msgstr "Filling the extra files"
+
+#: C/gtk-doc-manual.xml:1107(para)
+msgid ""
+"There are a couple of extra file, that need to be maintained along with the "
+"inline source code comments: <filename><package>.types</filename>, "
+"<filename><package>-docs.sgml</filename>, <filename><package>-"
+"sections.txt</filename>."
+msgstr ""
+"There are a couple of extra files that need to be maintained along with the "
+"inline source code comments: <filename><replaceable>package</replaceable>.types</filename>, "
+"<filename><replaceable>package</replaceable>-docs.sgml</filename> and <filename><replaceable>package</replaceable>-"
+"sections.txt</filename>."
+
+#: C/gtk-doc-manual.xml:1116(title)
+msgid "Editing the types file"
+msgstr "Editing the types file"
+
+#: C/gtk-doc-manual.xml:1118(para)
+msgid ""
+"If your library or application includes GtkObjects/GObjects, you want their "
+"signals, arguments/parameters and position in the hierarchy to be shown in "
+"the documentation. All you need to do, is to list the "
+"<function>xxx_get_type</function> functions together with their include "
+"inside the <filename><package>.types</filename> file."
+msgstr ""
+"If your library or application includes GtkObjects/GObjects, you want their "
+"signals, arguments/parameters and position in the hierarchy to be shown in "
+"the documentation. All you need to do is to list the "
+"<function>xxx_get_type</function> functions together with their include "
+"inside the <filename><replaceable>package</replaceable>.types</filename> file."
+
+#: C/gtk-doc-manual.xml:1127(title)
+msgid "Example types file snippet"
+msgstr "Example types file snippet"
+
+#: C/gtk-doc-manual.xml:1141(para)
+msgid ""
+"Since gtk-doc 1.8 <application>gtkdoc-scan</application> can generate this "
+"list for you. Just add \"--rebuild-types\" to SCAN_OPTIONS in "
+"<filename>Makefile.am</filename>. If you use this approach you should not "
+"dist the types file nor have it under version control."
+msgstr ""
+"Since GTK-Doc 1.8 <application>gtkdoc-scan</application> can generate this "
+"list for you. Just add <option>--rebuild-types</option> to <symbol>SCAN_OPTIONS</symbol> in "
+"<filename>Makefile.am</filename>. If you use this approach you should not "
+"distribute the types file, nor have it under version control."
+
+#: C/gtk-doc-manual.xml:1150(title)
+msgid "Editing the master document"
+msgstr "Editing the master document"
+
+#: C/gtk-doc-manual.xml:1152(para)
+msgid ""
+"Gtk-Doc produces documentation in DocBook SGML/XML. When processing the "
+"inline source comments, the Gtk-Doc tools generate one documentation page "
+"per class or module as a separate file. The master document includes them "
+"and place them in a order."
+msgstr ""
+"GTK-Doc produces documentation in DocBook SGML/XML. When processing the "
+"inline source comments, the GTK-Doc tools generate one documentation page "
+"per class or module as a separate file. The master document includes them "
+"and place them in a order."
+
+#: C/gtk-doc-manual.xml:1159(para)
+msgid ""
+"While Gtk-Doc creates a template master document for you, later run will not "
+"touch it again. This means that one can freely structure the documentation. "
+"That includes grouping pages and adding extra pages. Gtk-doc has now a test "
+"suite, where also the master-document is recreated from scratch. Its a good "
+"idea to look at this from time to time to see if there are some new goodies "
+"introduced there."
+msgstr ""
+"While GTK-Doc creates a template master document for you, later runs will not "
+"touch it again. This means that one can freely structure the documentation. "
+"That includes grouping pages and adding extra pages. GTK-doc has now a test "
+"suite, where the master-document is also recreated from scratch. It is a good "
+"idea to look at this from time to time to see if there are some new goodies "
+"introduced there."
+
+#: C/gtk-doc-manual.xml:1169(para)
+msgid ""
+"Do not create tutorials as extra documents. Just write extra chapters. The "
+"benefit of directly embedding the tutorial for your library into the API "
+"documentation is that it is easy to link for the tutorial to symbol "
+"documentation. Apart chances are higher that the tutorial gets updates along "
+"with the library."
+msgstr ""
+"Do not create tutorials as extra documents. Just write extra chapters. The "
+"benefit of directly embedding the tutorial for your library into the API "
+"documentation is that it is easy to link for the tutorial to symbol "
+"documentation. Also, chances are higher that the tutorial gets updates along "
+"with the library."
+
+#: C/gtk-doc-manual.xml:1178(para)
+msgid ""
+"So what are the things to change inside the master document? For a start is "
+"only a little. There are some placeholders (text in square brackets) there "
+"which you should take care of."
+msgstr ""
+"So what are the things to change inside the master document? "
+"There are some placeholders (text in square brackets) there "
+"which you should take care of."
+
+#: C/gtk-doc-manual.xml:1185(title)
+msgid "Master document header"
+msgstr "Master document header"
+
+#: C/gtk-doc-manual.xml:1207(title)
+msgid "Editing the section file"
+msgstr "Editing the section file"
+
+#: C/gtk-doc-manual.xml:1209(para)
+msgid ""
+"The section file is used to organise the documentation output by Gtk-Doc. "
+"Here one specifies which symbol belongs to which module or class and control "
+"the visibility (public or private)."
+msgstr ""
+"The section file is used to organise the documentation output by GTK-Doc. "
+"Here one specifies which symbol belongs to which module or class and control "
+"the visibility (public or private)."
+
+#: C/gtk-doc-manual.xml:1215(para)
+msgid ""
+"The section file is a plain test file with xml like syntax (using tags). "
+"Blank lines are ignored and lines starting with a '#' are treated as comment "
+"lines."
+msgstr ""
+"The section file is a plain test file with XML-like syntax (using tags). "
+"Blank lines are ignored and lines starting with a <literal>#</literal> are treated as comment "
+"lines."
+
+#: C/gtk-doc-manual.xml:1221(para)
+msgid ""
+"The <FILE> ... </FILE> tag is used to specify the file name, "
+"without any suffix. For example, using '<FILE>gnome-config</"
+"FILE>' will result in the section declarations being output in the "
+"template file <filename>tmpl/gnome-config.sgml</filename>, which will be "
+"converted into the DocBook SGML file <filename>sgml/gnome-config.sgml</"
+"filename> or .DocBook XML file <filename>xml/gnome-config.xml</filename>. "
+"(The name of the html file is based on the module name and the section "
+"title, or for gobjects it is based on the gobjects class name converted to "
+"lower case)."
+msgstr ""
+"The <FILE> ... </FILE> tag is used to specify the filename, "
+"without any suffix. For example, using '<FILE>gnome-config</"
+"FILE>' will result in the section declarations being output in the "
+"template file <filename>tmpl/gnome-config.sgml</filename>, which will be "
+"converted into the DocBook SGML file <filename>sgml/gnome-config.sgml</"
+"filename> or DocBook XML file <filename>xml/gnome-config.xml</filename>. "
+"(The name of the HTML file is based on the module name and the section "
+"title, or for GObjects it is based on the GObject's class name converted to "
+"lowercase)."
+
+#: C/gtk-doc-manual.xml:1233(para)
+msgid ""
+"The <TITLE> ... </TITLE> tag is used to specify the title of the "
+"section. It is only useful before the templates are initially created, since "
+"the title set in the template file overrides this."
+msgstr ""
+"The <TITLE> ... </TITLE> tag is used to specify the title of the "
+"section. It is only useful before the templates are initially created, since "
+"the title set in the template file overrides this."
+
+#: C/gtk-doc-manual.xml:1239(para)
+msgid ""
+"You can group items in the section by using the <SUBSECTION> tag. "
+"Currently it outputs a blank line between subsections in the synopsis "
+"section. You can also use <SUBSECTION Standard> for standard GObject "
+"declarations (e.g. the functions like g_object_get_type and macros like "
+"G_OBJECT(), G_IS_OBJECT() etc.). Currently these are left out of the "
+"documentation. You can also use <SUBSECTION Private> for private "
+"declarations which will not be output (It is a handy way to avoid warning "
+"messages about unused declarations.). If your library contains private types "
+"which you don't want to appear in the object hierarchy and the list of "
+"implemented or required interfaces, add them to a Private subsection."
+msgstr ""
+"You can group items in the section by using the <SUBSECTION> tag. "
+"Currently it outputs a blank line between subsections in the synopsis "
+"section. You can also use <SUBSECTION Standard> for standard GObject "
+"declarations (e.g. the functions like <function>g_object_get_type</function> and macros like "
+"<symbol>G_OBJECT()</symbol>, <symbol>G_IS_OBJECT()</symbol> etc.). Currently these are left out of the "
+"documentation. You can also use <SUBSECTION Private> for private "
+"declarations which will not be output (it is a handy way to avoid warning "
+"messages about unused declarations). If your library contains private types "
+"which you don't want to appear in the object hierarchy and the list of "
+"implemented or required interfaces, add them to a Private subsection."
+
+#: C/gtk-doc-manual.xml:1255(para)
+msgid ""
+"You can also use <INCLUDE> ... </INCLUDE> to specify the "
+"#include files which are shown in the synopsis sections. It contains a comma-"
+"separate list of #include files, without the angle brackets. If you set it "
+"outside of any sections, it acts for all sections until the end of the file. "
+"If you set it within a section, it only applies to that section."
+msgstr ""
+"You can also use <INCLUDE> ... </INCLUDE> to specify the "
+"<literal>#include</literal> files which are shown in the synopsis sections. It contains a comma-"
+"separated list of <literal>#include</literal> files, without the angle brackets. If you set it "
+"outside of any sections, it acts for all sections until the end of the file. "
+"If you set it within a section, it only applies to that section."
+
+#: C/gtk-doc-manual.xml:1269(title)
+msgid "Controlling the result"
+msgstr "Controlling the result"
+
+#: C/gtk-doc-manual.xml:1271(para)
+msgid ""
+"A Gtk-Doc run generates report files inside the documentation directory. The "
+"generated files are named: <filename><package>-undocumented.txt</"
+"filename>, <filename><package>-undeclared.txt</filename> and "
+"<filename><package>-unused.txt</filename>. All those are plain text "
+"files that can be viewed and postprocessed easily."
+msgstr ""
+"A GTK-Doc run generates report files inside the documentation directory. The "
+"generated files are named: <filename><replaceable>package</replaceable>-undocumented.txt</"
+"filename>, <filename><replaceable>package</replaceable>-undeclared.txt</filename> and "
+"<filename><replaceable>package</replaceable>-unused.txt</filename>. All those are plain text "
+"files that can be viewed and postprocessed easily."
+
+#: C/gtk-doc-manual.xml:1280(para)
+msgid ""
+"The <filename><package>-undocumented.txt</filename> file starts with "
+"the documentation coverage summary. Below are two sections divided by blank "
+"lines. The first section lists undocumented or incomplete symbols. The "
+"second section does the same for section docs. Incomplete entries are those, "
+"which have documentation, but where e.g. a new parameter has been added."
+msgstr ""
+"The <filename><replaceable>package</replaceable>-undocumented.txt</filename> file starts with "
+"the documentation coverage summary. Below are two sections divided by blank "
+"lines. The first section lists undocumented or incomplete symbols. The "
+"second section does the same for section docs. Incomplete entries are those, "
+"which have documentation, but where e.g. a new parameter has been added."
+
+#: C/gtk-doc-manual.xml:1289(para)
+msgid ""
+"The <filename><package>-undeclared.txt</filename> file lists symbols "
+"given in the <filename><package>-section.txt</filename> but not found "
+"in the sources. Check if they have been removed or if they are misspelled."
+msgstr ""
+"The <filename><replaceable>package</replaceable>-undeclared.txt</filename> file lists symbols "
+"given in the <filename><replaceable>package</replaceable>-section.txt</filename> but not found "
+"in the sources. Check if they have been removed or if they are misspelled."
+
+#: C/gtk-doc-manual.xml:1296(para)
+msgid ""
+"The <filename><package>-unused.txt</filename> file lists symbol names, "
+"where the Gtk-Doc scanner has found documentation, but does not know where "
+"to put it. This means that the symbol has not yet been added to the "
+"<filename><package>-section.txt</filename> file."
+msgstr ""
+"The <filename><replaceable>package</replaceable>-unused.txt</filename> file lists symbol names "
+"where the GTK-Doc scanner has found documentation, but does not know where "
+"to put it. This means that the symbol has not yet been added to the "
+"<filename><replaceable>package</replaceable>-section.txt</filename> file."
+
+#: C/gtk-doc-manual.xml:1304(para)
+msgid ""
+"Enable or add the <option>TESTS=($GTKDOC_CHECK)</option> line in Makefile."
+"am. If at least gtk-doc 1.9 is installed, this will run sanity checks during "
+"make check run."
+msgstr ""
+"Enable or add the <option>TESTS=($GTKDOC_CHECK)</option> line in Makefile."
+"am. If at least GTK-Doc 1.9 is installed, this will run sanity checks during "
+"<command>make check</command> run."
+
+#: C/gtk-doc-manual.xml:1314(title)
+msgid "Frequently asked question"
+msgstr "Frequently asked questions"
+
+#: C/gtk-doc-manual.xml:1318(segtitle)
+msgid "Question"
+msgstr "Question"
+
+#: C/gtk-doc-manual.xml:1319(segtitle)
+msgid "Answer"
+msgstr "Answer"
+
+#: C/gtk-doc-manual.xml:1321(seg)
+msgid "No class hierarchy."
+msgstr "No class hierarchy."
+
+#: C/gtk-doc-manual.xml:1322(filename)
+msgid ".types"
+msgstr ".types"
+
+#: C/gtk-doc-manual.xml:1322(seg)
+msgid ""
+"The objects _get_type() function has not been entered into the <placeholder-"
+"1/> file."
+msgstr ""
+"The object's <function>_get_type()</function> function has not been entered into the <placeholder-"
+"1/> file."
+
+#: C/gtk-doc-manual.xml:1325(seg)
+msgid "Still no class hierarchy."
+msgstr "Still no class hierarchy."
+
+#: C/gtk-doc-manual.xml:1326(ulink)
+msgid "explanation"
+msgstr "explanation"
+
+#: C/gtk-doc-manual.xml:1326(seg)
+msgid "Wrong naming in section file (see <placeholder-1/>)"
+msgstr "Wrong naming in section file (see <placeholder-1/>)"
+
+#: C/gtk-doc-manual.xml:1329(seg)
+msgid "Damn, I have still no class hierarchy."
+msgstr "Damn, I still have no class hierarchy."
+
+#: C/gtk-doc-manual.xml:1330(seg)
+msgid ""
+"Is the object name (name of the instance struct) part of the normal section "
+"(don't put this into Standard or Private)."
+msgstr ""
+"Is the object name (name of the instance struct) part of the normal section "
+"(don't put this into Standard or Private)?"
+
+#: C/gtk-doc-manual.xml:1333(seg)
+msgid "No symbol index."
+msgstr "No symbol index."
+
+#: C/gtk-doc-manual.xml:1334(seg)
+msgid "FIXME (<index> tag in main sgml file)"
+msgstr "FIXME (<index> tag in main sgml file)"
+
+#: C/gtk-doc-manual.xml:1337(seg)
+msgid "Symbols are not linked to their doc-section."
+msgstr "Symbols are not linked to their doc-section."
+
+#: C/gtk-doc-manual.xml:1338(seg)
+msgid "FIXME (added #,% or () ?)"
+msgstr "FIXME (added #,% or () ?)"
+
+#: C/gtk-doc-manual.xml:1341(seg)
+msgid "A new class does not appear in the docs."
+msgstr "A new class does not appear in the docs."
+
+#: C/gtk-doc-manual.xml:1342(seg)
+msgid "FIXME (section file, types file, main-sgml file)"
+msgstr "FIXME (section file, types file, main-sgml file)"
+
+#: C/gtk-doc-manual.xml:1345(seg)
+msgid "A new symbol does not appear in the docs."
+msgstr "A new symbol does not appear in the docs."
+
+#: C/gtk-doc-manual.xml:1346(seg)
+msgid "FIXME (section file, proper doc comment)"
+msgstr "FIXME (section file, proper doc comment)"
+
+#: C/gtk-doc-manual.xml:1351(seg)
+msgid "Parameter described in source code comment block but does not exist"
+msgstr "Parameter described in source code comment block but does not exist"
+
+#: C/gtk-doc-manual.xml:1352(seg)
+msgid ""
+"Check if the prototype in the header has different parameter names as in the "
+"source."
+msgstr ""
+"Check if the prototype in the header has different parameter names to the "
+"source."
+
+#: C/gtk-doc-manual.xml:1356(seg)
+msgid "multiple \"IDs\" for constraint linkend: XYZ"
+msgstr "multiple \"IDs\" for constraint linkend: XYZ"
+
+#: C/gtk-doc-manual.xml:1357(seg)
+msgid "Symbol XYZ appears twice in -section.txt file."
+msgstr "Symbol XYZ appears twice in the -section.txt file."
+
+#: C/gtk-doc-manual.xml:1360(seg)
+msgid ""
+"Element typename in namespace '' encountered in para, but no template "
+"matches."
+msgstr ""
+"Element typename in namespace '' encountered in para, but no template "
+"matches."
+
+#: C/gtk-doc-manual.xml:12(releaseinfo)
+msgid "Version 1.1, March 2000"
+msgstr "Version 1.1, March 2000"
+
+#: C/gtk-doc-manual.xml:16(year)
+msgid "2000"
+msgstr "2000"
+
+#: C/gtk-doc-manual.xml:16(holder)
+msgid "Free Software Foundation, Inc."
+msgstr "Free Software Foundation, Inc."
+
+#: C/gtk-doc-manual.xml:19(para)
+msgid ""
+"<address>Free Software Foundation, Inc. <street>51 Franklin Street, Suite "
+"330</street>, <city>Boston</city>, <state>MA</state><postcode>02110-1301</"
+"postcode><country>USA</country></address> Everyone is permitted to copy and "
+"distribute verbatim copies of this license document, but changing it is not "
+"allowed."
+msgstr ""
+"<address>Free Software Foundation, Inc. <street>51 Franklin Street, Suite "
+"330</street>, <city>Boston</city>, <state>MA</state><postcode>02110-1301</"
+"postcode><country>USA</country></address> Everyone is permitted to copy and "
+"distribute verbatim copies of this licence document, but changing it is not "
+"allowed."
+
+#: C/gtk-doc-manual.xml:28(title)
+msgid "GNU Free Documentation License"
+msgstr "GNU Free Documentation Licence"
+
+#: C/gtk-doc-manual.xml:31(title)
+msgid "0. PREAMBLE"
+msgstr "0. PREAMBLE"
+
+#: C/gtk-doc-manual.xml:32(para)
+msgid ""
+"The purpose of this License is to make a manual, textbook, or other written "
+"document <quote>free</quote> in the sense of freedom: to assure everyone the "
+"effective freedom to copy and redistribute it, with or without modifying it, "
+"either commercially or noncommercially. Secondarily, this License preserves "
+"for the author and publisher a way to get credit for their work, while not "
+"being considered responsible for modifications made by others."
+msgstr ""
+"The purpose of this Licence is to make a manual, textbook, or other written "
+"document <quote>free</quote> in the sense of freedom: to assure everyone the "
+"effective freedom to copy and redistribute it, with or without modifying it, "
+"either commercially or noncommercially. Secondarily, this Licence preserves "
+"for the author and publisher a way to get credit for their work, while not "
+"being considered responsible for modifications made by others."
+
+#: C/gtk-doc-manual.xml:43(para)
+msgid ""
+"This License is a kind of <quote>copyleft</quote>, which means that "
+"derivative works of the document must themselves be free in the same sense. "
+"It complements the GNU General Public License, which is a copyleft license "
+"designed for free software."
+msgstr ""
+"This Licence is a kind of <quote>copyleft</quote>, which means that "
+"derivative works of the document must themselves be free in the same sense. "
+"It complements the GNU General Public Licence, which is a copyleft licence "
+"designed for free software."
+
+#: C/gtk-doc-manual.xml:50(para)
+msgid ""
+"We have designed this License in order to use it for manuals for free "
+"software, because free software needs free documentation: a free program "
+"should come with manuals providing the same freedoms that the software does. "
+"But this License is not limited to software manuals; it can be used for any "
+"textual work, regardless of subject matter or whether it is published as a "
+"printed book. We recommend this License principally for works whose purpose "
+"is instruction or reference."
+msgstr ""
+"We have designed this Licence in order to use it for manuals for free "
+"software, because free software needs free documentation: a free program "
+"should come with manuals providing the same freedoms that the software does. "
+"But this Licence is not limited to software manuals; it can be used for any "
+"textual work, regardless of subject matter or whether it is published as a "
+"printed book. We recommend this Licence principally for works whose purpose "
+"is instruction or reference."
+
+#: C/gtk-doc-manual.xml:62(title)
+msgid "1. APPLICABILITY AND DEFINITIONS"
+msgstr "1. APPLICABILITY AND DEFINITIONS"
+
+#: C/gtk-doc-manual.xml:63(para)
+msgid ""
+"This License applies to any manual or other work that contains a notice "
+"placed by the copyright holder saying it can be distributed under the terms "
+"of this License. The <quote>Document</quote>, below, refers to any such "
+"manual or work. Any member of the public is a licensee, and is addressed as "
+"<quote>you</quote>."
+msgstr ""
+"This Licence applies to any manual or other work that contains a notice "
+"placed by the copyright holder saying it can be distributed under the terms "
+"of this Licence. The <quote>Document</quote>, below, refers to any such "
+"manual or work. Any member of the public is a licencee, and is addressed as "
+"<quote>you</quote>."
+
+#: C/gtk-doc-manual.xml:72(para)
+msgid ""
+"A <quote>Modified Version</quote> of the Document means any work containing "
+"the Document or a portion of it, either copied verbatim, or with "
+"modifications and/or translated into another language."
+msgstr ""
+"A <quote>Modified Version</quote> of the Document means any work containing "
+"the Document or a portion of it, either copied verbatim, or with "
+"modifications and/or translated into another language."
+
+#: C/gtk-doc-manual.xml:79(para)
+msgid ""
+"A <quote>Secondary Section</quote> is a named appendix or a front-matter "
+"section of the <link linkend=\"fdl-document\">Document</link> that deals "
+"exclusively with the relationship of the publishers or authors of the "
+"Document to the Document's overall subject (or to related matters) and "
+"contains nothing that could fall directly within that overall subject. (For "
+"example, if the Document is in part a textbook of mathematics, a Secondary "
+"Section may not explain any mathematics.) The relationship could be a matter "
+"of historical connection with the subject or with related matters, or of "
+"legal, commercial, philosophical, ethical or political position regarding "
+"them."
+msgstr ""
+"A <quote>Secondary Section</quote> is a named appendix or a front-matter "
+"section of the <link linkend=\"fdl-document\">Document</link> that deals "
+"exclusively with the relationship of the publishers or authors of the "
+"Document to the Document's overall subject (or to related matters) and "
+"contains nothing that could fall directly within that overall subject. (For "
+"example, if the Document is in part a textbook of mathematics, a Secondary "
+"Section may not explain any mathematics.) The relationship could be a matter "
+"of historical connection with the subject or with related matters, or of "
+"legal, commercial, philosophical, ethical or political position regarding "
+"them."
+
+#: C/gtk-doc-manual.xml:94(para)
+msgid ""
+"The <quote>Invariant Sections</quote> are certain <link linkend=\"fdl-"
+"secondary\"> Secondary Sections</link> whose titles are designated, as being "
+"those of Invariant Sections, in the notice that says that the <link linkend="
+"\"fdl-document\">Document</link> is released under this License."
+msgstr ""
+"The <quote>Invariant Sections</quote> are certain <link linkend=\"fdl-"
+"secondary\"> Secondary Sections</link> whose titles are designated, as being "
+"those of Invariant Sections, in the notice that says that the <link linkend="
+"\"fdl-document\">Document</link> is released under this Licence."
+
+#: C/gtk-doc-manual.xml:103(para)
+msgid ""
+"The <quote>Cover Texts</quote> are certain short passages of text that are "
+"listed, as Front-Cover Texts or Back-Cover Texts, in the notice that says "
+"that the <link linkend=\"fdl-document\">Document</link> is released under "
+"this License."
+msgstr ""
+"The <quote>Cover Texts</quote> are certain short passages of text that are "
+"listed, as Front-Cover Texts or Back-Cover Texts, in the notice that says "
+"that the <link linkend=\"fdl-document\">Document</link> is released under "
+"this Licence."
+
+#: C/gtk-doc-manual.xml:111(para)
+msgid ""
+"A <quote>Transparent</quote> copy of the <link linkend=\"fdl-document\"> "
+"Document</link> means a machine-readable copy, represented in a format whose "
+"specification is available to the general public, whose contents can be "
+"viewed and edited directly and straightforwardly with generic text editors "
+"or (for images composed of pixels) generic paint programs or (for drawings) "
+"some widely available drawing editor, and that is suitable for input to text "
+"formatters or for automatic translation to a variety of formats suitable for "
+"input to text formatters. A copy made in an otherwise Transparent file "
+"format whose markup has been designed to thwart or discourage subsequent "
+"modification by readers is not Transparent. A copy that is not "
+"<quote>Transparent</quote> is called <quote>Opaque</quote>."
+msgstr ""
+"A <quote>Transparent</quote> copy of the <link linkend=\"fdl-document\"> "
+"Document</link> means a machine-readable copy, represented in a format whose "
+"specification is available to the general public, whose contents can be "
+"viewed and edited directly and straightforwardly with generic text editors "
+"or (for images composed of pixels) generic paint programs or (for drawings) "
+"some widely available drawing editor, and that is suitable for input to text "
+"formatters or for automatic translation to a variety of formats suitable for "
+"input to text formatters. A copy made in an otherwise Transparent file "
+"format whose markup has been designed to thwart or discourage subsequent "
+"modification by readers is not Transparent. A copy that is not "
+"<quote>Transparent</quote> is called <quote>Opaque</quote>."
+
+#: C/gtk-doc-manual.xml:128(para)
+msgid ""
+"Examples of suitable formats for Transparent copies include plain ASCII "
+"without markup, Texinfo input format, LaTeX input format, SGML or XML using "
+"a publicly available DTD, and standard-conforming simple HTML designed for "
+"human modification. Opaque formats include PostScript, PDF, proprietary "
+"formats that can be read and edited only by proprietary word processors, "
+"SGML or XML for which the DTD and/or processing tools are not generally "
+"available, and the machine-generated HTML produced by some word processors "
+"for output purposes only."
+msgstr ""
+"Examples of suitable formats for Transparent copies include plain ASCII "
+"without markup, Texinfo input format, LaTeX input format, SGML or XML using "
+"a publicly available DTD, and standard-conforming simple HTML designed for "
+"human modification. Opaque formats include PostScript, PDF, proprietary "
+"formats that can be read and edited only by proprietary word processors, "
+"SGML or XML for which the DTD and/or processing tools are not generally "
+"available, and the machine-generated HTML produced by some word processors "
+"for output purposes only."
+
+#: C/gtk-doc-manual.xml:141(para)
+msgid ""
+"The <quote>Title Page</quote> means, for a printed book, the title page "
+"itself, plus such following pages as are needed to hold, legibly, the "
+"material this License requires to appear in the title page. For works in "
+"formats which do not have any title page as such, <quote>Title Page</quote> "
+"means the text near the most prominent appearance of the work's title, "
+"preceding the beginning of the body of the text."
+msgstr ""
+"The <quote>Title Page</quote> means, for a printed book, the title page "
+"itself, plus such following pages as are needed to hold, legibly, the "
+"material this Licence requires to appear in the title page. For works in "
+"formats which do not have any title page as such, <quote>Title Page</quote> "
+"means the text near the most prominent appearance of the work's title, "
+"preceding the beginning of the body of the text."
+
+#: C/gtk-doc-manual.xml:153(title)
+msgid "2. VERBATIM COPYING"
+msgstr "2. VERBATIM COPYING"
+
+#: C/gtk-doc-manual.xml:154(para)
+msgid ""
+"You may copy and distribute the <link linkend=\"fdl-document\">Document</"
+"link> in any medium, either commercially or noncommercially, provided that "
+"this License, the copyright notices, and the license notice saying this "
+"License applies to the Document are reproduced in all copies, and that you "
+"add no other conditions whatsoever to those of this License. You may not use "
+"technical measures to obstruct or control the reading or further copying of "
+"the copies you make or distribute. However, you may accept compensation in "
+"exchange for copies. If you distribute a large enough number of copies you "
+"must also follow the conditions in <link linkend=\"fdl-section3\">section 3</"
+"link>."
+msgstr ""
+"You may copy and distribute the <link linkend=\"fdl-document\">Document</"
+"link> in any medium, either commercially or noncommercially, provided that "
+"this Licence, the copyright notices, and the licence notice saying this "
+"Licence applies to the Document are reproduced in all copies, and that you "
+"add no other conditions whatsoever to those of this Licence. You may not use "
+"technical measures to obstruct or control the reading or further copying of "
+"the copies you make or distribute. However, you may accept compensation in "
+"exchange for copies. If you distribute a large enough number of copies you "
+"must also follow the conditions in <link linkend=\"fdl-section3\">section 3</"
+"link>."
+
+#: C/gtk-doc-manual.xml:169(para)
+msgid ""
+"You may also lend copies, under the same conditions stated above, and you "
+"may publicly display copies."
+msgstr ""
+"You may also lend copies, under the same conditions stated above, and you "
+"may publicly display copies."
+
+#: C/gtk-doc-manual.xml:176(title)
+msgid "3. COPYING IN QUANTITY"
+msgstr "3. COPYING IN QUANTITY"
+
+#: C/gtk-doc-manual.xml:177(para)
+msgid ""
+"If you publish printed copies of the <link linkend=\"fdl-document"
+"\">Document</link> numbering more than 100, and the Document's license "
+"notice requires <link linkend=\"fdl-cover-texts\">Cover Texts</link>, you "
+"must enclose the copies in covers that carry, clearly and legibly, all these "
+"Cover Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on "
+"the back cover. Both covers must also clearly and legibly identify you as "
+"the publisher of these copies. The front cover must present the full title "
+"with all words of the title equally prominent and visible. You may add other "
+"material on the covers in addition. Copying with changes limited to the "
+"covers, as long as they preserve the title of the <link linkend=\"fdl-"
+"document\">Document</link> and satisfy these conditions, can be treated as "
+"verbatim copying in other respects."
+msgstr ""
+"If you publish printed copies of the <link linkend=\"fdl-document"
+"\">Document</link> numbering more than 100, and the Document's licence "
+"notice requires <link linkend=\"fdl-cover-texts\">Cover Texts</link>, you "
+"must enclose the copies in covers that carry, clearly and legibly, all these "
+"Cover Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on "
+"the back cover. Both covers must also clearly and legibly identify you as "
+"the publisher of these copies. The front cover must present the full title "
+"with all words of the title equally prominent and visible. You may add other "
+"material on the covers in addition. Copying with changes limited to the "
+"covers, as long as they preserve the title of the <link linkend=\"fdl-"
+"document\">Document</link> and satisfy these conditions, can be treated as "
+"verbatim copying in other respects."
+
+#: C/gtk-doc-manual.xml:195(para)
+msgid ""
+"If the required texts for either cover are too voluminous to fit legibly, "
+"you should put the first ones listed (as many as fit reasonably) on the "
+"actual cover, and continue the rest onto adjacent pages."
+msgstr ""
+"If the required texts for either cover are too voluminous to fit legibly, "
+"you should put the first ones listed (as many as fit reasonably) on the "
+"actual cover, and continue the rest onto adjacent pages."
+
+#: C/gtk-doc-manual.xml:202(para)
+msgid ""
+"If you publish or distribute <link linkend=\"fdl-transparent\">Opaque</link> "
+"copies of the <link linkend=\"fdl-document\">Document</link> numbering more "
+"than 100, you must either include a machine-readable <link linkend=\"fdl-"
+"transparent\">Transparent</link> copy along with each Opaque copy, or state "
+"in or with each Opaque copy a publicly-accessible computer-network location "
+"containing a complete Transparent copy of the Document, free of added "
+"material, which the general network-using public has access to download "
+"anonymously at no charge using public-standard network protocols. If you use "
+"the latter option, you must take reasonably prudent steps, when you begin "
+"distribution of Opaque copies in quantity, to ensure that this Transparent "
+"copy will remain thus accessible at the stated location until at least one "
+"year after the last time you distribute an Opaque copy (directly or through "
+"your agents or retailers) of that edition to the public."
+msgstr ""
+"If you publish or distribute <link linkend=\"fdl-transparent\">Opaque</link> "
+"copies of the <link linkend=\"fdl-document\">Document</link> numbering more "
+"than 100, you must either include a machine-readable <link linkend=\"fdl-"
+"transparent\">Transparent</link> copy along with each Opaque copy, or state "
+"in or with each Opaque copy a publicly-accessible computer-network location "
+"containing a complete Transparent copy of the Document, free of added "
+"material, which the general network-using public has access to download "
+"anonymously at no charge using public-standard network protocols. If you use "
+"the latter option, you must take reasonably prudent steps, when you begin "
+"distribution of Opaque copies in quantity, to ensure that this Transparent "
+"copy will remain thus accessible at the stated location until at least one "
+"year after the last time you distribute an Opaque copy (directly or through "
+"your agents or retailers) of that edition to the public."
+
+#: C/gtk-doc-manual.xml:222(para)
+msgid ""
+"It is requested, but not required, that you contact the authors of the <link "
+"linkend=\"fdl-document\">Document</link> well before redistributing any "
+"large number of copies, to give them a chance to provide you with an updated "
+"version of the Document."
+msgstr ""
+"It is requested, but not required, that you contact the authors of the <link "
+"linkend=\"fdl-document\">Document</link> well before redistributing any "
+"large number of copies, to give them a chance to provide you with an updated "
+"version of the Document."
+
+#: C/gtk-doc-manual.xml:231(title)
+msgid "4. MODIFICATIONS"
+msgstr "4. MODIFICATIONS"
+
+#: C/gtk-doc-manual.xml:232(para)
+msgid ""
+"You may copy and distribute a <link linkend=\"fdl-modified\">Modified "
+"Version</link> of the <link linkend=\"fdl-document\">Document</link> under "
+"the conditions of sections <link linkend=\"fdl-section2\">2</link> and <link "
+"linkend=\"fdl-section3\">3</link> above, provided that you release the "
+"Modified Version under precisely this License, with the Modified Version "
+"filling the role of the Document, thus licensing distribution and "
+"modification of the Modified Version to whoever possesses a copy of it. In "
+"addition, you must do these things in the Modified Version:"
+msgstr ""
+"You may copy and distribute a <link linkend=\"fdl-modified\">Modified "
+"Version</link> of the <link linkend=\"fdl-document\">Document</link> under "
+"the conditions of sections <link linkend=\"fdl-section2\">2</link> and <link "
+"linkend=\"fdl-section3\">3</link> above, provided that you release the "
+"Modified Version under precisely this Licence, with the Modified Version "
+"filling the role of the Document, thus licensing distribution and "
+"modification of the Modified Version to whoever possesses a copy of it. In "
+"addition, you must do these things in the Modified Version:"
+
+#: C/gtk-doc-manual.xml:248(title)
+msgid "A"
+msgstr "A"
+
+#: C/gtk-doc-manual.xml:249(para)
+msgid ""
+"Use in the <link linkend=\"fdl-title-page\">Title Page</link> (and on the "
+"covers, if any) a title distinct from that of the <link linkend=\"fdl-"
+"document\">Document</link>, and from those of previous versions (which "
+"should, if there were any, be listed in the History section of the "
+"Document). You may use the same title as a previous version if the original "
+"publisher of that version gives permission."
+msgstr ""
+"Use in the <link linkend=\"fdl-title-page\">Title Page</link> (and on the "
+"covers, if any) a title distinct from that of the <link linkend=\"fdl-"
+"document\">Document</link>, and from those of previous versions (which "
+"should, if there were any, be listed in the History section of the "
+"Document). You may use the same title as a previous version if the original "
+"publisher of that version gives permission."
+
+#: C/gtk-doc-manual.xml:264(title)
+msgid "B"
+msgstr "B"
+
+#: C/gtk-doc-manual.xml:265(para)
+msgid ""
+"List on the <link linkend=\"fdl-title-page\">Title Page</link>, as authors, "
+"one or more persons or entities responsible for authorship of the "
+"modifications in the <link linkend=\"fdl-modified\">Modified Version</link>, "
+"together with at least five of the principal authors of the <link linkend="
+"\"fdl-document\">Document</link> (all of its principal authors, if it has "
+"less than five)."
+msgstr ""
+"List on the <link linkend=\"fdl-title-page\">Title Page</link>, as authors, "
+"one or more persons or entities responsible for authorship of the "
+"modifications in the <link linkend=\"fdl-modified\">Modified Version</link>, "
+"together with at least five of the principal authors of the <link linkend="
+"\"fdl-document\">Document</link> (all of its principal authors, if it has "
+"less than five)."
+
+#: C/gtk-doc-manual.xml:279(title)
+msgid "C"
+msgstr "C"
+
+#: C/gtk-doc-manual.xml:280(para)
+msgid ""
+"State on the <link linkend=\"fdl-title-page\">Title Page</link> the name of "
+"the publisher of the <link linkend=\"fdl-modified\">Modified Version</link>, "
+"as the publisher."
+msgstr ""
+"State on the <link linkend=\"fdl-title-page\">Title Page</link> the name of "
+"the publisher of the <link linkend=\"fdl-modified\">Modified Version</link>, "
+"as the publisher."
+
+#: C/gtk-doc-manual.xml:291(title)
+msgid "D"
+msgstr "D"
+
+#: C/gtk-doc-manual.xml:292(para)
+msgid ""
+"Preserve all the copyright notices of the <link linkend=\"fdl-document"
+"\">Document</link>."
+msgstr ""
+"Preserve all the copyright notices of the <link linkend=\"fdl-document"
+"\">Document</link>."
+
+#: C/gtk-doc-manual.xml:301(title)
+msgid "E"
+msgstr "E"
+
+#: C/gtk-doc-manual.xml:302(para)
+msgid ""
+"Add an appropriate copyright notice for your modifications adjacent to the "
+"other copyright notices."
+msgstr ""
+"Add an appropriate copyright notice for your modifications adjacent to the "
+"other copyright notices."
+
+#: C/gtk-doc-manual.xml:311(title)
+msgid "F"
+msgstr "F"
+
+#: C/gtk-doc-manual.xml:312(para)
+msgid ""
+"Include, immediately after the copyright notices, a license notice giving "
+"the public permission to use the <link linkend=\"fdl-modified\">Modified "
+"Version</link> under the terms of this License, in the form shown in the "
+"Addendum below."
+msgstr ""
+"Include, immediately after the copyright notices, a licence notice giving "
+"the public permission to use the <link linkend=\"fdl-modified\">Modified "
+"Version</link> under the terms of this Licence, in the form shown in the "
+"Addendum below."
+
+#: C/gtk-doc-manual.xml:324(title)
+msgid "G"
+msgstr "G"
+
+#: C/gtk-doc-manual.xml:325(para)
+msgid ""
+"Preserve in that license notice the full lists of <link linkend=\"fdl-"
+"invariant\"> Invariant Sections</link> and required <link linkend=\"fdl-"
+"cover-texts\">Cover Texts</link> given in the <link linkend=\"fdl-document"
+"\">Document's</link> license notice."
+msgstr ""
+"Preserve in that licence notice the full lists of <link linkend=\"fdl-"
+"invariant\"> Invariant Sections</link> and required <link linkend=\"fdl-"
+"cover-texts\">Cover Texts</link> given in the <link linkend=\"fdl-document"
+"\">Document's</link> licence notice."
+
+#: C/gtk-doc-manual.xml:337(title)
+msgid "H"
+msgstr "H"
+
+#: C/gtk-doc-manual.xml:338(para)
+msgid "Include an unaltered copy of this License."
+msgstr "Include an unaltered copy of this Licence."
+
+#: C/gtk-doc-manual.xml:346(title)
+msgid "I"
+msgstr "I"
+
+#: C/gtk-doc-manual.xml:347(para)
+msgid ""
+"Preserve the section entitled <quote>History</quote>, and its title, and add "
+"to it an item stating at least the title, year, new authors, and publisher "
+"of the <link linkend=\"fdl-modified\">Modified Version </link>as given on "
+"the <link linkend=\"fdl-title-page\">Title Page</link>. If there is no "
+"section entitled <quote>History</quote> in the <link linkend=\"fdl-document"
+"\">Document</link>, create one stating the title, year, authors, and "
+"publisher of the Document as given on its Title Page, then add an item "
+"describing the Modified Version as stated in the previous sentence."
+msgstr ""
+"Preserve the section entitled <quote>History</quote>, and its title, and add "
+"to it an item stating at least the title, year, new authors, and publisher "
+"of the <link linkend=\"fdl-modified\">Modified Version </link>as given on "
+"the <link linkend=\"fdl-title-page\">Title Page</link>. If there is no "
+"section entitled <quote>History</quote> in the <link linkend=\"fdl-document"
+"\">Document</link>, create one stating the title, year, authors, and "
+"publisher of the Document as given on its Title Page, then add an item "
+"describing the Modified Version as stated in the previous sentence."
+
+#: C/gtk-doc-manual.xml:365(title)
+msgid "J"
+msgstr "J"
+
+#: C/gtk-doc-manual.xml:366(para)
+msgid ""
+"Preserve the network location, if any, given in the <link linkend=\"fdl-"
+"document\">Document</link> for public access to a <link linkend=\"fdl-"
+"transparent\">Transparent</link> copy of the Document, and likewise the "
+"network locations given in the Document for previous versions it was based "
+"on. These may be placed in the <quote>History</quote> section. You may omit "
+"a network location for a work that was published at least four years before "
+"the Document itself, or if the original publisher of the version it refers "
+"to gives permission."
+msgstr ""
+"Preserve the network location, if any, given in the <link linkend=\"fdl-"
+"document\">Document</link> for public access to a <link linkend=\"fdl-"
+"transparent\">Transparent</link> copy of the Document, and likewise the "
+"network locations given in the Document for previous versions it was based "
+"on. These may be placed in the <quote>History</quote> section. You may omit "
+"a network location for a work that was published at least four years before "
+"the Document itself, or if the original publisher of the version it refers "
+"to gives permission."
+
+#: C/gtk-doc-manual.xml:383(title)
+msgid "K"
+msgstr "K"
+
+#: C/gtk-doc-manual.xml:384(para)
+msgid ""
+"In any section entitled <quote>Acknowledgements</quote> or "
+"<quote>Dedications</quote>, preserve the section's title, and preserve in "
+"the section all the substance and tone of each of the contributor "
+"acknowledgements and/or dedications given therein."
+msgstr ""
+"In any section entitled <quote>Acknowledgements</quote> or "
+"<quote>Dedications</quote>, preserve the section's title, and preserve in "
+"the section all the substance and tone of each of the contributor "
+"acknowledgements and/or dedications given therein."
+
+#: C/gtk-doc-manual.xml:396(title)
+msgid "L"
+msgstr "L"
+
+#: C/gtk-doc-manual.xml:397(para)
+msgid ""
+"Preserve all the <link linkend=\"fdl-invariant\">Invariant Sections</link> "
+"of the <link linkend=\"fdl-document\">Document</link>, unaltered in their "
+"text and in their titles. Section numbers or the equivalent are not "
+"considered part of the section titles."
+msgstr ""
+"Preserve all the <link linkend=\"fdl-invariant\">Invariant Sections</link> "
+"of the <link linkend=\"fdl-document\">Document</link>, unaltered in their "
+"text and in their titles. Section numbers or the equivalent are not "
+"considered part of the section titles."
+
+#: C/gtk-doc-manual.xml:409(title)
+msgid "M"
+msgstr "M"
+
+#: C/gtk-doc-manual.xml:410(para)
+msgid ""
+"Delete any section entitled <quote>Endorsements</quote>. Such a section may "
+"not be included in the <link linkend=\"fdl-modified\">Modified Version</"
+"link>."
+msgstr ""
+"Delete any section entitled <quote>Endorsements</quote>. Such a section may "
+"not be included in the <link linkend=\"fdl-modified\">Modified Version</"
+"link>."
+
+#: C/gtk-doc-manual.xml:421(title)
+msgid "N"
+msgstr "N"
+
+#: C/gtk-doc-manual.xml:422(para)
+msgid ""
+"Do not retitle any existing section as <quote>Endorsements</quote> or to "
+"conflict in title with any <link linkend=\"fdl-invariant\">Invariant "
+"Section</link>."
+msgstr ""
+"Do not retitle any existing section as <quote>Endorsements</quote> or to "
+"conflict in title with any <link linkend=\"fdl-invariant\">Invariant "
+"Section</link>."
+
+#: C/gtk-doc-manual.xml:432(para)
+msgid ""
+"If the <link linkend=\"fdl-modified\">Modified Version</link> includes new "
+"front-matter sections or appendices that qualify as <link linkend=\"fdl-"
+"secondary\">Secondary Sections</link> and contain no material copied from "
+"the Document, you may at your option designate some or all of these sections "
+"as invariant. To do this, add their titles to the list of <link linkend="
+"\"fdl-invariant\">Invariant Sections</link> in the Modified Version's "
+"license notice. These titles must be distinct from any other section titles."
+msgstr ""
+"If the <link linkend=\"fdl-modified\">Modified Version</link> includes new "
+"front-matter sections or appendices that qualify as <link linkend=\"fdl-"
+"secondary\">Secondary Sections</link> and contain no material copied from "
+"the Document, you may at your option designate some or all of these sections "
+"as invariant. To do this, add their titles to the list of <link linkend="
+"\"fdl-invariant\">Invariant Sections</link> in the Modified Version's "
+"licence notice. These titles must be distinct from any other section titles."
+
+#: C/gtk-doc-manual.xml:444(para)
+msgid ""
+"You may add a section entitled <quote>Endorsements</quote>, provided it "
+"contains nothing but endorsements of your <link linkend=\"fdl-modified"
+"\">Modified Version</link> by various parties--for example, statements of "
+"peer review or that the text has been approved by an organization as the "
+"authoritative definition of a standard."
+msgstr ""
+"You may add a section entitled <quote>Endorsements</quote>, provided it "
+"contains nothing but endorsements of your <link linkend=\"fdl-modified"
+"\">Modified Version</link> by various parties--for example, statements of "
+"peer review or that the text has been approved by an organisation as the "
+"authoritative definition of a standard."
+
+#: C/gtk-doc-manual.xml:453(para)
+msgid ""
+"You may add a passage of up to five words as a <link linkend=\"fdl-cover-"
+"texts\">Front-Cover Text</link>, and a passage of up to 25 words as a <link "
+"linkend=\"fdl-cover-texts\">Back-Cover Text</link>, to the end of the list "
+"of <link linkend=\"fdl-cover-texts\">Cover Texts</link> in the <link linkend="
+"\"fdl-modified\">Modified Version</link>. Only one passage of Front-Cover "
+"Text and one of Back-Cover Text may be added by (or through arrangements "
+"made by) any one entity. If the <link linkend=\"fdl-document\">Document</"
+"link> already includes a cover text for the same cover, previously added by "
+"you or by arrangement made by the same entity you are acting on behalf of, "
+"you may not add another; but you may replace the old one, on explicit "
+"permission from the previous publisher that added the old one."
+msgstr ""
+"You may add a passage of up to five words as a <link linkend=\"fdl-cover-"
+"texts\">Front-Cover Text</link>, and a passage of up to 25 words as a <link "
+"linkend=\"fdl-cover-texts\">Back-Cover Text</link>, to the end of the list "
+"of <link linkend=\"fdl-cover-texts\">Cover Texts</link> in the <link linkend="
+"\"fdl-modified\">Modified Version</link>. Only one passage of Front-Cover "
+"Text and one of Back-Cover Text may be added by (or through arrangements "
+"made by) any one entity. If the <link linkend=\"fdl-document\">Document</"
+"link> already includes a cover text for the same cover, previously added by "
+"you or by arrangement made by the same entity you are acting on behalf of, "
+"you may not add another; but you may replace the old one, on explicit "
+"permission from the previous publisher that added the old one."
+
+#: C/gtk-doc-manual.xml:470(para)
+msgid ""
+"The author(s) and publisher(s) of the <link linkend=\"fdl-document"
+"\">Document</link> do not by this License give permission to use their names "
+"for publicity for or to assert or imply endorsement of any <link linkend="
+"\"fdl-modified\">Modified Version </link>."
+msgstr ""
+"The author(s) and publisher(s) of the <link linkend=\"fdl-document"
+"\">Document</link> do not by this Licence give permission to use their names "
+"for publicity for or to assert or imply endorsement of any <link linkend="
+"\"fdl-modified\">Modified Version </link>."
+
+#: C/gtk-doc-manual.xml:480(title)
+msgid "5. COMBINING DOCUMENTS"
+msgstr "5. COMBINING DOCUMENTS"
+
+#: C/gtk-doc-manual.xml:481(para)
+msgid ""
+"You may combine the <link linkend=\"fdl-document\">Document</link> with "
+"other documents released under this License, under the terms defined in "
+"<link linkend=\"fdl-section4\">section 4</link> above for modified versions, "
+"provided that you include in the combination all of the <link linkend=\"fdl-"
+"invariant\">Invariant Sections</link> of all of the original documents, "
+"unmodified, and list them all as Invariant Sections of your combined work in "
+"its license notice."
+msgstr ""
+"You may combine the <link linkend=\"fdl-document\">Document</link> with "
+"other documents released under this Licence, under the terms defined in "
+"<link linkend=\"fdl-section4\">section 4</link> above for modified versions, "
+"provided that you include in the combination all of the <link linkend=\"fdl-"
+"invariant\">Invariant Sections</link> of all of the original documents, "
+"unmodified, and list them all as Invariant Sections of your combined work in "
+"its licence notice."
+
+#: C/gtk-doc-manual.xml:492(para)
+msgid ""
+"The combined work need only contain one copy of this License, and multiple "
+"identical <link linkend=\"fdl-invariant\">Invariant Sections</link> may be "
+"replaced with a single copy. If there are multiple Invariant Sections with "
+"the same name but different contents, make the title of each such section "
+"unique by adding at the end of it, in parentheses, the name of the original "
+"author or publisher of that section if known, or else a unique number. Make "
+"the same adjustment to the section titles in the list of Invariant Sections "
+"in the license notice of the combined work."
+msgstr ""
+"The combined work need only contain one copy of this Licence, and multiple "
+"identical <link linkend=\"fdl-invariant\">Invariant Sections</link> may be "
+"replaced with a single copy. If there are multiple Invariant Sections with "
+"the same name but different contents, make the title of each such section "
+"unique by adding at the end of it, in parentheses, the name of the original "
+"author or publisher of that section if known, or else a unique number. Make "
+"the same adjustment to the section titles in the list of Invariant Sections "
+"in the licence notice of the combined work."
+
+#: C/gtk-doc-manual.xml:505(para)
+msgid ""
+"In the combination, you must combine any sections entitled <quote>History</"
+"quote> in the various original documents, forming one section entitled "
+"<quote>History</quote>; likewise combine any sections entitled "
+"<quote>Acknowledgements</quote>, and any sections entitled "
+"<quote>Dedications</quote>. You must delete all sections entitled "
+"<quote>Endorsements.</quote>"
+msgstr ""
+"In the combination, you must combine any sections entitled <quote>History</"
+"quote> in the various original documents, forming one section entitled "
+"<quote>History</quote>; likewise combine any sections entitled "
+"<quote>Acknowledgements</quote>, and any sections entitled "
+"<quote>Dedications</quote>. You must delete all sections entitled "
+"<quote>Endorsements.</quote>"
+
+#: C/gtk-doc-manual.xml:516(title)
+msgid "6. COLLECTIONS OF DOCUMENTS"
+msgstr "6. COLLECTIONS OF DOCUMENTS"
+
+#: C/gtk-doc-manual.xml:517(para)
+msgid ""
+"You may make a collection consisting of the <link linkend=\"fdl-document"
+"\">Document</link> and other documents released under this License, and "
+"replace the individual copies of this License in the various documents with "
+"a single copy that is included in the collection, provided that you follow "
+"the rules of this License for verbatim copying of each of the documents in "
+"all other respects."
+msgstr ""
+"You may make a collection consisting of the <link linkend=\"fdl-document"
+"\">Document</link> and other documents released under this Licence, and "
+"replace the individual copies of this Licence in the various documents with "
+"a single copy that is included in the collection, provided that you follow "
+"the rules of this Licence for verbatim copying of each of the documents in "
+"all other respects."
+
+#: C/gtk-doc-manual.xml:527(para)
+msgid ""
+"You may extract a single document from such a collection, and dispbibute it "
+"individually under this License, provided you insert a copy of this License "
+"into the extracted document, and follow this License in all other respects "
+"regarding verbatim copying of that document."
+msgstr ""
+"You may extract a single document from such a collection, and distribute it "
+"individually under this Licence, provided you insert a copy of this Licence "
+"into the extracted document, and follow this Licence in all other respects "
+"regarding verbatim copying of that document."
+
+#: C/gtk-doc-manual.xml:537(title)
+msgid "7. AGGREGATION WITH INDEPENDENT WORKS"
+msgstr "7. AGGREGATION WITH INDEPENDENT WORKS"
+
+#: C/gtk-doc-manual.xml:538(para)
+msgid ""
+"A compilation of the <link linkend=\"fdl-document\">Document</link> or its "
+"derivatives with other separate and independent documents or works, in or on "
+"a volume of a storage or distribution medium, does not as a whole count as a "
+"<link linkend=\"fdl-modified\">Modified Version</link> of the Document, "
+"provided no compilation copyright is claimed for the compilation. Such a "
+"compilation is called an <quote>aggregate</quote>, and this License does not "
+"apply to the other self-contained works thus compiled with the Document , on "
+"account of their being thus compiled, if they are not themselves derivative "
+"works of the Document. If the <link linkend=\"fdl-cover-texts\">Cover Text</"
+"link> requirement of <link linkend=\"fdl-section3\">section 3</link> is "
+"applicable to these copies of the Document, then if the Document is less "
+"than one quarter of the entire aggregate, the Document's Cover Texts may be "
+"placed on covers that surround only the Document within the aggregate. "
+"Otherwise they must appear on covers around the whole aggregate."
+msgstr ""
+"A compilation of the <link linkend=\"fdl-document\">Document</link> or its "
+"derivatives with other separate and independent documents or works, in or on "
+"a volume of a storage or distribution medium, does not as a whole count as a "
+"<link linkend=\"fdl-modified\">Modified Version</link> of the Document, "
+"provided no compilation copyright is claimed for the compilation. Such a "
+"compilation is called an <quote>aggregate</quote>, and this Licence does not "
+"apply to the other self-contained works thus compiled with the Document , on "
+"account of their being thus compiled, if they are not themselves derivative "
+"works of the Document. If the <link linkend=\"fdl-cover-texts\">Cover Text</"
+"link> requirement of <link linkend=\"fdl-section3\">section 3</link> is "
+"applicable to these copies of the Document, then if the Document is less "
+"than one quarter of the entire aggregate, the Document's Cover Texts may be "
+"placed on covers that surround only the Document within the aggregate. "
+"Otherwise they must appear on covers around the whole aggregate."
+
+#: C/gtk-doc-manual.xml:561(title)
+msgid "8. TRANSLATION"
+msgstr "8. TRANSLATION"
+
+#: C/gtk-doc-manual.xml:562(para)
+msgid ""
+"Translation is considered a kind of modification, so you may distribute "
+"translations of the <link linkend=\"fdl-document\">Document</link> under the "
+"terms of <link linkend=\"fdl-section4\">section 4</link>. Replacing <link "
+"linkend=\"fdl-invariant\"> Invariant Sections</link> with translations "
+"requires special permission from their copyright holders, but you may "
+"include translations of some or all Invariant Sections in addition to the "
+"original versions of these Invariant Sections. You may include a translation "
+"of this License provided that you also include the original English version "
+"of this License. In case of a disagreement between the translation and the "
+"original English version of this License, the original English version will "
+"prevail."
+msgstr ""
+"Translation is considered a kind of modification, so you may distribute "
+"translations of the <link linkend=\"fdl-document\">Document</link> under the "
+"terms of <link linkend=\"fdl-section4\">section 4</link>. Replacing <link "
+"linkend=\"fdl-invariant\"> Invariant Sections</link> with translations "
+"requires special permission from their copyright holders, but you may "
+"include translations of some or all Invariant Sections in addition to the "
+"original versions of these Invariant Sections. You may include a translation "
+"of this Licence provided that you also include the original English version "
+"of this Licence. In case of a disagreement between the translation and the "
+"original English version of this Licence, the original English version will "
+"prevail."
+
+#: C/gtk-doc-manual.xml:580(title)
+msgid "9. TERMINATION"
+msgstr "9. TERMINATION"
+
+#: C/gtk-doc-manual.xml:581(para)
+msgid ""
+"You may not copy, modify, sublicense, or distribute the <link linkend=\"fdl-"
+"document\">Document</link> except as expressly provided for under this "
+"License. Any other attempt to copy, modify, sublicense or distribute the "
+"Document is void, and will automatically terminate your rights under this "
+"License. However, parties who have received copies, or rights, from you "
+"under this License will not have their licenses terminated so long as such "
+"parties remain in full compliance."
+msgstr ""
+"You may not copy, modify, sublicence, or distribute the <link linkend=\"fdl-"
+"document\">Document</link> except as expressly provided for under this "
+"Licence. Any other attempt to copy, modify, sublicence or distribute the "
+"Document is void, and will automatically terminate your rights under this "
+"Licence. However, parties who have received copies, or rights, from you "
+"under this Licence will not have their licences terminated so long as such "
+"parties remain in full compliance."
+
+#: C/gtk-doc-manual.xml:594(title)
+msgid "10. FUTURE REVISIONS OF THIS LICENSE"
+msgstr "10. FUTURE REVISIONS OF THIS LICENCE"
+
+#: C/gtk-doc-manual.xml:595(para)
+msgid ""
+"The <ulink type=\"http\" url=\"http://www.gnu.org/fsf/fsf.html\">Free "
+"Software Foundation</ulink> may publish new, revised versions of the GNU "
+"Free Documentation License from time to time. Such new versions will be "
+"similar in spirit to the present version, but may differ in detail to "
+"address new problems or concerns. See <ulink type=\"http\" url=\"http://www."
+"gnu.org/copyleft\">http://www.gnu.org/copyleft/</ulink>."
+msgstr ""
+"The <ulink type=\"http\" url=\"http://www.gnu.org/fsf/fsf.html\">Free "
+"Software Foundation</ulink> may publish new, revised versions of the GNU "
+"Free Documentation Licence from time to time. Such new versions will be "
+"similar in spirit to the present version, but may differ in detail to "
+"address new problems or concerns. See <ulink type=\"http\" url=\"http://www."
+"gnu.org/copyleft\">http://www.gnu.org/copyleft/</ulink>."
+
+#: C/gtk-doc-manual.xml:606(para)
+msgid ""
+"Each version of the License is given a distinguishing version number. If the "
+"<link linkend=\"fdl-document\">Document</link> specifies that a particular "
+"numbered version of this License <quote>or any later version</quote> applies "
+"to it, you have the option of following the terms and conditions either of "
+"that specified version or of any later version that has been published (not "
+"as a draft) by the Free Software Foundation. If the Document does not "
+"specify a version number of this License, you may choose any version ever "
+"published (not as a draft) by the Free Software Foundation."
+msgstr ""
+"Each version of the Licence is given a distinguishing version number. If the "
+"<link linkend=\"fdl-document\">Document</link> specifies that a particular "
+"numbered version of this Licence <quote>or any later version</quote> applies "
+"to it, you have the option of following the terms and conditions either of "
+"that specified version or of any later version that has been published (not "
+"as a draft) by the Free Software Foundation. If the Document does not "
+"specify a version number of this Licence, you may choose any version ever "
+"published (not as a draft) by the Free Software Foundation."
+
+#: C/gtk-doc-manual.xml:621(title)
+msgid "Addendum"
+msgstr "Addendum"
+
+#: C/gtk-doc-manual.xml:622(para)
+msgid ""
+"To use this License in a document you have written, include a copy of the "
+"License in the document and put the following copyright and license notices "
+"just after the title page:"
+msgstr ""
+"To use this Licence in a document you have written, include a copy of the "
+"Licence in the document and put the following copyright and licence notices "
+"just after the title page:"
+
+#: C/gtk-doc-manual.xml:629(para)
+msgid "Copyright YEAR YOUR NAME."
+msgstr "Copyright YEAR YOUR NAME."
+
+#: C/gtk-doc-manual.xml:632(para)
+msgid ""
+"Permission is granted to copy, distribute and/or modify this document under "
+"the terms of the GNU Free Documentation License, Version 1.1 or any later "
+"version published by the Free Software Foundation; with the <link linkend="
+"\"fdl-invariant\">Invariant Sections</link> being LIST THEIR TITLES, with "
+"the <link linkend=\"fdl-cover-texts\">Front-Cover Texts</link> being LIST, "
+"and with the <link linkend=\"fdl-cover-texts\">Back-Cover Texts</link> being "
+"LIST. A copy of the license is included in the section entitled <quote>GNU "
+"Free Documentation License</quote>."
+msgstr ""
+"Permission is granted to copy, distribute and/or modify this document under "
+"the terms of the GNU Free Documentation Licence, Version 1.1 or any later "
+"version published by the Free Software Foundation; with the <link linkend="
+"\"fdl-invariant\">Invariant Sections</link> being LIST THEIR TITLES, with "
+"the <link linkend=\"fdl-cover-texts\">Front-Cover Texts</link> being LIST, "
+"and with the <link linkend=\"fdl-cover-texts\">Back-Cover Texts</link> being "
+"LIST. A copy of the licence is included in the section entitled <quote>GNU "
+"Free Documentation Licence</quote>."
+
+#: C/gtk-doc-manual.xml:647(para)
+msgid ""
+"If you have no <link linkend=\"fdl-invariant\">Invariant Sections</link>, "
+"write <quote>with no Invariant Sections</quote> instead of saying which ones "
+"are invariant. If you have no <link linkend=\"fdl-cover-texts\">Front-Cover "
+"Texts</link>, write <quote>no Front-Cover Texts</quote> instead of "
+"<quote>Front-Cover Texts being LIST</quote>; likewise for <link linkend="
+"\"fdl-cover-texts\">Back-Cover Texts</link>."
+msgstr ""
+"If you have no <link linkend=\"fdl-invariant\">Invariant Sections</link>, "
+"write <quote>with no Invariant Sections</quote> instead of saying which ones "
+"are invariant. If you have no <link linkend=\"fdl-cover-texts\">Front-Cover "
+"Texts</link>, write <quote>no Front-Cover Texts</quote> instead of "
+"<quote>Front-Cover Texts being LIST</quote>; likewise for <link linkend="
+"\"fdl-cover-texts\">Back-Cover Texts</link>."
+
+#: C/gtk-doc-manual.xml:657(para)
+msgid ""
+"If your document contains nontrivial examples of program code, we recommend "
+"releasing these examples in parallel under your choice of free software "
+"license, such as the <ulink type=\"http\" url=\"http://www.gnu.org/copyleft/"
+"gpl.html\"> GNU General Public License</ulink>, to permit their use in free "
+"software."
+msgstr ""
+"If your document contains nontrivial examples of program code, we recommend "
+"releasing these examples in parallel under your choice of free software "
+"licence, such as the <ulink type=\"http\" url=\"http://www.gnu.org/copyleft/"
+"gpl.html\"> GNU General Public Licence</ulink>, to permit their use in free "
+"software."
+
+#. Put one translator per line, in the form of NAME <EMAIL>, YEAR1, YEAR2.
+#: C/gtk-doc-manual.xml:0(None)
+msgid "translator-credits"
+msgstr "Jen Ockwell <jenfraggleubuntu@gmail.com>, 2009\n"
+"Philip Withnall <philip@tecnocode.co.uk>, 2009"
--- /dev/null
+<?xml version="1.0" encoding="utf-8" standalone="no"?>
+<?xml-stylesheet type="text/xml" href="params.xsl"?>
+<!-- vim: set ai tw=80 ts=3 sw=3: -->
+<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "
+ http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
+<!ENTITY FDL SYSTEM "fdl-appendix.xml">
+<!ENTITY FDLlink "<link linkend='fdl'>included</link>">
+]>
+<!-- =============Document Header ============================= -->
+<book id="index" lang="en_GB">
+ <bookinfo>
+ <title>GTK-Doc Manual</title>
+ <edition>1.18</edition>
+ <abstract role="description"><para>User manual for developers with instructions on GTK-Doc usage.</para></abstract>
+ <authorgroup>
+ <author>
+ <firstname>Chris</firstname>
+ <surname>Lyttle</surname>
+ <affiliation>
+ <address>
+ <email>chris@wilddev.net</email>
+ </address>
+ </affiliation>
+ </author>
+ <author>
+ <firstname>Dan</firstname>
+ <surname>Mueth</surname>
+ <affiliation>
+ <address>
+ <email>d-mueth@uchicago.edu</email>
+ </address>
+ </affiliation>
+ </author>
+ <author>
+ <firstname>Stefan</firstname>
+ <surname>Kost</surname>
+ <affiliation>
+ <address>
+ <email>ensonic@users.sf.net</email>
+ </address>
+ </affiliation>
+ </author>
+ </authorgroup>
+ <publisher role="maintainer">
+ <publishername>GTK-Doc project</publishername>
+ <address><email>gtk-doc-list@gnome.org</email></address>
+ </publisher>
+ <copyright>
+ <year>2000, 2005</year>
+ <holder>Dan Mueth and Chris Lyttle</holder>
+ </copyright>
+ <copyright>
+ <year>2007-2011</year>
+ <holder>Stefan Sauer (Kost)</holder>
+ </copyright><copyright><year>2009</year><holder>Jen Ockwell (jenfraggleubuntu@gmail.com)</holder></copyright><copyright><year>2009</year><holder>Philip Withnall (philip@tecnocode.co.uk)</holder></copyright>
+
+ <!-- translators: uncomment this:
+ <copyright>
+ <year>2000</year>
+ <holder>ME-THE-TRANSLATOR (Latin translation)</holder>
+ </copyright>
+ -->
+
+ <legalnotice>
+ <para>Permission is granted to copy, distribute and/or modify this document under the terms of the <citetitle>GNU Free Documentation Licence</citetitle>, Version 1.1 or any later version published by the Free Software Foundation with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the licence is <link linkend="fdl">included</link>.</para>
+ <para>Many of the names used by companies to distinguish their products and services are claimed as trademarks. Where those names appear in any GNOME documentation, and those trademarks are made aware to the members of the GNOME Documentation Project, the names have been printed in caps or initial caps.</para>
+ </legalnotice>
+
+ <revhistory>
+ <!--revision>
+ <revnumber>1.18.1</revnumber>
+ <date>15 Sep 2011</date>
+ <authorinitials>sk</authorinitials>
+ <revremark>development version, markdown support</revremark>
+ </revision-->
+ <revision>
+ <revnumber>1.18</revnumber>
+ <date>14 sep 2011</date>
+ <authorinitials>sk</authorinitials>
+ <revremark>bug fixes, speedups, markdown support</revremark>
+ </revision>
+ <revision>
+ <revnumber>1.17</revnumber>
+ <date>26 Feb 2011</date>
+ <authorinitials>sk</authorinitials>
+ <revremark>urgent bug fix update</revremark>
+ </revision>
+ <revision>
+ <revnumber>1.16</revnumber>
+ <date>14 Jan 2011</date>
+ <authorinitials>sk</authorinitials>
+ <revremark>bugfixes, layout improvements</revremark>
+ </revision>
+ <revision>
+ <revnumber>1.15</revnumber>
+ <date>21 May 2010</date>
+ <authorinitials>sk</authorinitials>
+ <revremark>bug and regression fixes</revremark>
+ </revision>
+ <revision>
+ <revnumber>1.14</revnumber>
+ <date>28 March 2010</date>
+ <authorinitials>sk</authorinitials>
+ <revremark>bugfixes and performance improvements</revremark>
+ </revision>
+ <revision>
+ <revnumber>1.13</revnumber>
+ <date>18 December 2009</date>
+ <authorinitials>sk</authorinitials>
+ <revremark>broken tarball update</revremark>
+ </revision>
+ <revision>
+ <revnumber>1.12</revnumber>
+ <date>18 December 2009</date>
+ <authorinitials>sk</authorinitials>
+ <revremark>new tool features and bugfixes</revremark>
+ </revision>
+ <revision>
+ <revnumber>1.11</revnumber>
+ <date>16 Novemebr 2008</date>
+ <authorinitials>mal</authorinitials>
+ <revremark>GNOME doc-utils migration</revremark>
+ </revision>
+ </revhistory>
+
+ </bookinfo>
+
+ <!-- ======== Chapter 1: Introduction ======================== -->
+
+ <chapter id="introduction">
+ <title>Introduction</title>
+
+ <para>This chapter introduces GTK-Doc and gives an overview of what it is and how it is used.</para>
+
+ <sect1 id="whatisgtkdoc">
+ <title>What is GTK-Doc?</title>
+
+ <para>GTK-Doc is used to document C code. It is typically used to document the public API of libraries, such as the GTK+ and GNOME libraries, but it can also be used to document application code.</para>
+ </sect1>
+
+ <sect1 id="howdoesgtkdocwork">
+ <title>How Does GTK-Doc Work?</title>
+
+ <para>GTK-Doc works by using documentation of functions placed inside the source files in specially-formatted comment blocks, or documentation added to the template files which GTK-Doc uses (though note that GTK-Doc will only document functions that are declared in header files; it won't produce output for static functions).</para>
+
+ <para>GTK-Doc consists of a number of Perl scripts, each performing a different step in the process.</para>
+
+ <para>There are 5 main steps in the process:</para>
+
+ <orderedlist>
+
+ <listitem>
+ <para><guilabel>Writing the documentation.</guilabel> The author fills in the source files with the documentation for each function, macro, union etc. (In the past information was entered in generated template files, which is not recommended any more).</para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <guilabel>Gathering information about the code.</guilabel>
+
+ <application>gtkdoc-scan</application> scans the header files of the
+ code looking for declarations of functions, macros, enums, structs, and unions.
+ It creates the file <filename><module>-decl-list.txt</filename> containg a list of the
+ declarations, placing them into sections according to which header file they
+ are in. On the first run this file is copied to <filename><module>-sections.txt</filename>.
+ The author can rearrange the sections, and the order of the
+ declarations within them, to produce the final desired order.
+ The second file it generates is <filename><module>-decl.txt</filename>.
+ This file contains the full declarations found by the scanner. If for
+ some reason one would like some symbols to show up in the docs, where
+ the full declaration cannot be found by the scanner or the declaration
+ should appear differently, one can place enties similar to the ones in
+ <filename><module>-decl.txt</filename> into <filename><module>-overrides.txt</filename>.
+
+ <application>gtkdoc-scanobj</application> can also be used to dynamically query a library about
+ any GtkObject subclasses it exports. It saves information about each
+ object's position in the class hierarchy and about any GTK Args and Signals it
+ provides.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para><guilabel>Generating the "template" files.</guilabel> <application>gtkdoc-mktmpl</application> creates a number of files in the <filename class="directory">tmpl/</filename> subdirectory, using the information gathered in the first step. (Note that this can be run repeatedly. It will try to ensure that no documentation is ever lost.)</para>
+ <note>
+ <para>
+ Since GTK-Doc 1.9 the templates can be avoided. We encourage people to keep
+ documentation in the code. <application>gtkdocize</application> supports now
+ a <option>--flavour no-tmpl</option> option that chooses a makefile that
+ skips tmpl usage totally.
+ If you have never changed file in tmpl by hand, please remove the dir
+ (e.g. from version control system).
+ </para>
+ </note>
+ </listitem>
+
+ <listitem>
+ <para>
+ <guilabel>Generating the SGML/XML and HTML/PDF.</guilabel>
+
+ <application>gtkdoc-mkdb</application> turns the template files into
+ SGML or XML files in the <filename class="directory">sgml/</filename>
+ or <filename class="directory">xml/</filename> subdirectory.
+ If the source code contains documentation on functions, using the
+ special comment blocks, it gets merged in here. If there are no tmpl files used
+ it only reads docs from sources and introspection data. We recommend
+ to use Docbook XML.
+ </para>
+ <para>
+ <application>gtkdoc-mkhtml</application> turns the SGML/XML files into HTML
+ files in the <filename class="directory">html/</filename> subdirectory.
+ Likewise <application>gtkdoc-mkpdf</application> turns the SGML/XML files into a PDF
+ document called <filename><package>.pdf</filename>.
+ </para>
+ <para>
+ Files in <filename class="directory">sgml/</filename> or
+ <filename class="directory">xml/</filename> and <filename class="directory">html/</filename>
+ directories are always overwritten. One should never edit them directly.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para><guilabel>Fixing up cross-references between documents.</guilabel> After installing the HTML files, <application>gtkdoc-fixxref</application> can be run to fix up any cross-references between separate documents. For example, the GTK+ documentation contains many cross-references to types documented in the GLib manual. When creating the source tarball for distribution, <application>gtkdoc-rebase</application> turns all external links into web-links. When installing distributed (pre-generated) docs the same application will try to turn links back to local links (where those docs are installed).</para>
+ </listitem>
+ </orderedlist>
+
+ </sect1>
+
+ <sect1 id="gettinggtkdoc">
+ <title>Getting GTK-Doc</title>
+
+ <sect2 id="requirements">
+ <title>Requirements</title>
+ <para><guilabel>Perl v5</guilabel> — the main scripts are in Perl.</para>
+ <para><guilabel>DocBook DTD v3.0</guilabel> — This is the DocBook SGML DTD. <ulink url="http://www.ora.com/davenport" type="http">http://www.ora.com/davenport</ulink></para>
+ <para><guilabel>Jade v1.1</guilabel> — This is a DSSSL processor for converting SGML to various formats. <ulink url="http://www.jclark.com/jade" type="http">http://www.jclark.com/jade</ulink></para>
+ <para><guilabel>Modular DocBook Stylesheets</guilabel> This is the DSSSL code to convert DocBook to HTML (and a few other formats). It's used together with jade. The DSSSL code has been customised slightly, in gtk-doc.dsl, to colour the program code listings/declarations, and to support global cross-reference indices in the generated HTML. <ulink url="http://nwalsh.com/docbook/dsssl" type="http">http://nwalsh.com/docbook/dsssl</ulink></para>
+ <para><guilabel>docbook-to-man</guilabel> — if you want to create man pages from the DocBook. The 'translation spec' has been customised slightly, to capitalise section headings and add the 'GTK Library' title at the top of the pages and the revision date at the bottom. There is a link to this on <ulink url="http://www.ora.com/davenport" type="http">http://www.ora.com/davenport</ulink> NOTE: This does not work yet.</para>
+ </sect2>
+
+ <sect2 id="installation">
+ <title>Installation</title>
+ <para>There is no standard place where the DocBook Modular Stylesheets are installed.</para>
+ <para>
+ GTK-Doc's configure script searches these 3 directories automatically:
+ </para>
+ <para><filename>/usr/lib/sgml/stylesheets/nwalsh-modular</filename> (used by Red Hat)</para>
+ <para><filename>/usr/lib/dsssl/stylesheets/docbook</filename> (used by Debian)</para>
+ <para><filename>/usr/share/sgml/docbkdsl</filename> (used by SuSE)</para>
+ <para>
+ If you have the stylesheets installed somewhere else, you need to configure
+ GTK-Doc using the option:
+ <command> --with-dsssl-dir=<PATH_TO_TOPLEVEL_STYLESHEETS_DIR> </command>
+ </para>
+ </sect2>
+
+ </sect1>
+
+ <!-- not realy worth a section
+ <sect1 id="whentousegtkdoc">
+ <title>When to Use GTK-Doc</title>
+
+ <para>
+ (What things GTK-Doc should, and shouldn't, be used for.)
+ (- ???)
+ (- non C-based projects)
+ (+ Tutorials)
+ </para>
+
+ </sect1>
+ -->
+
+ <sect1 id="aboutgtkdoc">
+ <title>About GTK-Doc</title>
+
+ <para>(FIXME)</para>
+
+ <para>(History, authors, web pages, licence, future plans, comparison with other similar systems.)</para>
+
+ </sect1>
+
+ <sect1 id="aboutthismanual">
+ <title>About this Manual</title>
+
+ <para>(FIXME)</para>
+
+ <para>(who it is meant for, where you can get it, licence)</para>
+
+ </sect1>
+
+ </chapter>
+
+ <chapter id="settingup">
+ <title>Setting up your project</title>
+
+ <para>
+ The next sections describe what steps to perform to integrate GTK-Doc into
+ your project. Theses sections assume we work on a project called 'meep'.
+ This project contains a library called 'libmeep' and
+ an end-user app called 'meeper'. We also assume you will be using autoconf
+ and automake. In addition section <link linkend="plain_makefiles">plain
+ makefiles or other build systems</link> will describe the basics needed to
+ work in a different build setup.
+ </para>
+
+ <sect1 id="settingup_docfiles">
+ <title>Setting up a skeleton documentation</title>
+
+ <para>Under your top-level project directory create a folder called <filename class="directory">docs/reference</filename> (this way you can also have <filename class="directory">docs/help</filename> for end-user documentation). It is recommended to create another subdirectory with the name of the doc-package. For packages with just one library this step is not necessary.</para>
+
+ <para>
+ This can then look as shown below:
+ <example><title>Example directory structure</title>
+ <programlisting>
+<![CDATA[
+meep/
+ docs/
+ reference/
+ libmeep/
+ meeper/
+ src/
+ libmeep/
+ meeper/
+]]>
+ </programlisting>
+ </example>
+ </para>
+ </sect1>
+
+ <sect1 id="settingup_autoconf">
+ <title>Integration with autoconf</title>
+
+ <para>Very easy! Just add one line to your <filename>configure.ac</filename> script.</para>
+
+ <para>
+ <example><title>Integration with autoconf</title>
+ <programlisting>
+<![CDATA[
+# check for gtk-doc
+GTK_DOC_CHECK([1.14],[--flavour no-tmpl])
+]]>
+ </programlisting>
+ </example>
+ </para>
+
+ <para>
+ This will require all developers to have gtk-doc installed. If it is
+ okay for your project to have optional api-doc build setup, you can
+ solve this as below. Keep it as is, as gtkdocize is looking for
+ <function>GTK_DOC_CHECK</function> at the start of a line.
+ <example><title>Keep gtk-doc optional</title>
+ <programlisting>
+<![CDATA[
+# check for gtk-doc
+m4_ifdef([GTK_DOC_CHECK], [
+GTK_DOC_CHECK([1.14],[--flavour no-tmpl])
+],[
+AM_CONDITIONAL([ENABLE_GTK_DOC], false)
+])
+]]>
+ </programlisting>
+ </example>
+ </para>
+
+ <para>
+ The first argument is used to check for the gtkdocversion at configure time.
+ The 2nd, optional argument is used by <application>gtkdocize</application>.
+ The <symbol>GTK_DOC_CHECK</symbol> macro also adds several configure switches:
+ </para>
+ <orderedlist>
+ <listitem><para>--with-html-dir=PATH : path to installed docs</para></listitem>
+ <listitem><para>--enable-gtk-doc : use gtk-doc to build documentation [default=no]</para></listitem>
+ <listitem><para>--enable-gtk-doc-html : build documentation in html format [default=yes]</para></listitem>
+ <listitem><para>--enable-gtk-doc-pdf : build documentation in pdf format [default=no]</para></listitem>
+ </orderedlist>
+
+ <important>
+ <para>
+ GTK-Doc is disabled by default! Remember to pass the option
+ <option>'--enable-gtk-doc'</option> to the next
+ <filename>configure</filename> run. Otherwise pregenerated documentation is installed
+ (which makes sense for users but not for developers).
+ </para>
+ </important>
+
+ <para>
+ Furthermore it is recommended that you have the following line inside
+ you <filename>configure.ac</filename> script.
+ This allows <application>gtkdocize</application> to automatically copy the
+ macro definition for <function>GTK_DOC_CHECK</function> to your project.
+ </para>
+
+ <para>
+ <example><title>Preparation for gtkdocize</title>
+ <programlisting>
+<![CDATA[
+AC_CONFIG_MACRO_DIR(m4)
+]]>
+ </programlisting>
+ </example>
+ </para>
+ </sect1>
+
+ <sect1 id="settingup_automake">
+ <title>Integration with automake</title>
+
+ <para>First copy the <filename>Makefile.am</filename> from the <filename class="directory">examples</filename> subdirectory of the GTK-Doc sources to your project's API documentation directory (<filename class="directory">./docs/reference/<replaceable>package</replaceable></filename>). If you have multiple doc-packages, repeat this for each one.</para>
+
+ <para>
+ The next step is to edit the settings inside the <filename>Makefile.am</filename>.
+ All the settings have a comment above that describes their purpose.
+ Most settings are extra flags passed to the respective tools. Every tool
+ has a variable of the form <option><TOOLNAME>_OPTIONS</option>.
+ All the tools support <option>--help</option> to list the supported
+ parameters.
+ </para>
+
+ <!-- FIXME: explain options ? -->
+
+ <para>
+ You may also want to enable GTK-Doc for the distcheck make target. Just
+ add the one line shown in the next example to your top-level
+ <filename>Makefile.am</filename>:
+ </para>
+
+ <para>
+ <example><title>Enable GTK-Doc during make distcheck</title>
+ <programlisting>
+<![CDATA[
+DISTCHECK_CONFIGURE_FLAGS=--enable-gtk-doc
+]]>
+ </programlisting>
+ </example>
+ </para>
+
+ </sect1>
+
+ <sect1 id="settingup_autogen">
+ <title>Integration with autogen</title>
+
+ <para>
+ Most projects will have an <filename>autogen.sh</filename> script to
+ setup the build infrastructure after a checkout from version control
+ system (such as cvs/svn/git). GTK-Doc comes with a tool called
+ <application>gtkdocize</application> which can be used in such a script.
+ It should be run before autoheader, automake or autoconf.
+ </para>
+
+ <para>
+ <example><title>Running gtkdocize from autogen.sh</title>
+ <programlisting>
+<![CDATA[
+gtkdocize || exit 1
+]]>
+ </programlisting>
+ </example>
+ </para>
+
+ <para>
+ When running <application>gtkdocize</application> it copies
+ <filename>gtk-doc.make</filename> to your project root (or any directory
+ specified by the <option>--docdir</option> option).
+ It also checks you configure script for the <function>GTK_DOC_CHECK</function>
+ invocation. This macro can be used to pass extra parameters to
+ <application>gtkdocize</application>.
+ </para>
+
+ <para>
+ Historically GTK-Doc was generating template files where developers entered the docs.
+ This turned out to be not so good (e.g. the need for having generated
+ files under version control).
+ Since GTK-Doc 1.9 the tools can get all the information from source comments
+ and thus the templates can be avoided. We encourage people to keep
+ documentation in the code. <application>gtkdocize</application> supports now
+ a <option>--flavour no-tmpl</option> option that chooses a makefile that skips
+ tmpl usage totally. Besides adding the option directly to the command
+ invocation, they can be added also to an environment variable called <symbol>GTKDOCIZE_FLAGS</symbol>
+ or set as a 2nd parameter in <symbol>GTK_DOC_CHECK</symbol> macro in the configure script.
+ If you have never changed file in tmpl by hand and migrating from older gtkdoc versions,
+ please remove the dir (e.g. from version control system).
+ </para>
+ </sect1>
+
+ <sect1 id="settingup_firstrun">
+ <title>Running the doc build</title>
+
+ <para>After the previous steps it is time to run the build. First we need to rerun <filename>autogen.sh</filename>. If this script runs <filename>configure</filename> for you, then give it the <option>--enable-gtk-doc</option> option. Otherwise manually run <filename>configure</filename> with this option afterwards.</para>
+ <para>
+ The first make run generates several additional files in the doc-dirs.
+ The important ones are:
+ <filename><package>.types</filename>,
+ <filename><package>-docs.xml</filename> (in the past .sgml),
+ <filename><package>-sections.txt</filename>.
+ </para>
+ <para>
+ <example><title>Running the doc build</title>
+ <programlisting>
+<![CDATA[
+./autogen.sh --enable-gtk-doc
+make
+]]>
+ </programlisting>
+ </example>
+ </para>
+ <para>Now you can point your browser to <filename>docs/reference/<replaceable>package</replaceable>/index.html</filename>. Yes, it's a bit disappointing still. But hang on; during the next chapter we tell you how to fill the pages with life.</para>
+ </sect1>
+
+ <sect1 id="settingup_vcs">
+ <title>Integration with version control systems</title>
+
+ <para>
+ As a rule of the thumb, it's those files you edit, that should go under
+ version control. For typical projects it's these files:
+ <filename><package>.types</filename>,
+ <filename><package>-docs..xml</filename> (in the past .sgml),
+ <filename><package>-sections.txt</filename>,
+ <filename>Makefile.am</filename>
+ </para>
+ </sect1>
+
+ <sect1 id="plain_makefiles">
+ <title>Integration with plain makefiles or other build systems</title>
+
+ <para>
+ In the case one does not want to use automake and therfore
+ <filename>gtk-doc.mak</filename> one will need to call the gtkdoc tools
+ in the right order in own makefiles (or other build tools).
+ </para>
+
+ <para>
+ <example><title>Documentation build steps</title>
+ <programlisting>
+<![CDATA[
+DOC_MODULE=meep
+// sources have changed
+gtkdoc-scan --module=$(DOC_MODULE) --source-dir=...
+gtkdoc-scangobj --module=$(DOC_MODULE)
+gtkdoc-mkdb --module=$(DOC_MODULE) --output-format=xml
+// xml files have changed
+mkdir html
+cd html && gtkdoc-mkhtml $(DOC_MODULE) ../meep-docs.xml
+gtkdoc-fixxref --module=$(DOC_MODULE) --module-dir=html
+]]>
+ </programlisting>
+ </example>
+ </para>
+
+ <para>
+ One will need to look at the <filename>Makefile.am</filename> and
+ <filename>gtk-doc.mak</filename> to pick the extra options needed.
+ </para>
+ </sect1>
+
+ </chapter>
+
+ <chapter id="documenting">
+ <title>Documenting the code</title>
+
+ <para>
+ GTK-Doc uses source code comment with a special syntax for code documentation.
+ Further it retrieves information about your project structure from other
+ sources. During the next section you will find all information about the
+ syntax of the comments.
+ </para>
+
+ <note>
+ <title>Documentation placement</title>
+ <para>In the past most documentation had to be filled into files residing inside the <filename class="directory">tmpl</filename> directory. This has the disadvantages that the information is often not updated and also that the file tend to cause conflicts with version control systems.</para>
+ <para>To avoid the aforementioned problems we suggest putting the documentation inside the sources. This manual will only describe this way of documenting code.</para>
+ </note>
+
+ <para>
+ The scanner can handle the majority of c headers fine. In the case of
+ receiving warnings from the scanner that look like a special case, one can
+ hint GTK-Doc to skip over them.
+ <example><title>GTK-Doc comment block</title>
+ <programlisting>
+<![CDATA[
+#ifndef __GTK_DOC_IGNORE__
+/* unparseable code here */
+#endif
+]]>
+ </programlisting>
+ </example>
+ </para>
+
+ <!-- -->
+
+ <sect1 id="documenting_syntax">
+ <title>Documentation comments</title>
+
+ <para>
+ A multiline comment that starts with an additional '*' marks a
+ documentation block that will be processed by the GTK-Doc tools.
+ <example><title>GTK-Doc comment block</title>
+ <programlisting>
+<![CDATA[
+/**
+ * identifier:
+ * documentation ...
+ */
+]]>
+ </programlisting>
+ </example>
+ </para>
+
+ <para>The 'identifier' is one line with the name of the item to which the comment is related. The syntax differs a little depending on the item. (TODO add table showing identifiers)</para>
+
+ <para>The 'documentation' block is also different for each symbol type. Symbol types that get parameters such as functions or macros have the parameter description first followed by a blank line (just a <literal>*</literal>). Afterwards follows the detailed description. All lines (outside program listings and CDATA sections) just containing a <literal> *</literal> (blank-asterisk) are converted to paragraph breaks. If you don't want a paragraph break, change that into <literal> * </literal> (blank-asterisk-blank-blank).</para>
+
+ <tip>
+ <para>
+ When documenting code, describe two apsects:
+ <itemizedlist>
+ <listitem>
+ <para>
+ What it is: The name for a class or function can sometimes
+ be misleading for people coming from a different background.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ What it does: Tell about common uses. Put it in releation
+ with the other API.
+ </para>
+ </listitem>
+ </itemizedlist>
+ </para>
+ </tip>
+
+ <para>
+ One advantage of hyper-text over plain-text is the ability to have links
+ in the document. Writing the correct markup for a link can be tedious
+ though. GTK-Doc comes to help by providing several useful abbreviations.
+ <itemizedlist>
+ <listitem>
+ <para>Use <literal>function()</literal> to refer to functions or macros which take arguments.</para>
+ </listitem>
+ <listitem>
+ <para>Use <literal>@param</literal> to refer to parameters. Also use this when referring to parameters of other functions, related to the one being described.</para>
+ </listitem>
+ <listitem>
+ <para>Use <literal>%constant</literal> to refer to a constant, e.g. <literal>%G_TRAVERSE_LEAFS</literal>.</para>
+ </listitem>
+ <listitem>
+ <para>Use <literal>#symbol</literal> to refer to other types of symbol, e.g. structs and enums and macros which don't take arguments.</para>
+ </listitem>
+ <listitem>
+ <para>Use <literal>#Object::signal</literal> to refer to a GObject signal</para>
+ </listitem>
+ <listitem>
+ <para>Use <literal>#Object:property</literal> to refer to a GObject property</para>
+ </listitem>
+ <listitem>
+ <para>Use <literal>#Struct.field</literal> to refer to a field inside a structure.</para>
+ </listitem>
+ </itemizedlist>
+ </para>
+
+ <tip>
+ <para>
+ If you need to use the special characters '<', '>', '()', '@',
+ '%', or '#' in your documentation without GTK-Doc changing them you
+ can use the XML entities "&lt;", "&gt;", "&lpar;",
+ "&rpar;", "&commat;", "&percnt;" and "&num;"
+ respectively or escape them with a backslash '\'.
+ </para>
+ </tip>
+
+ <para>
+ DocBook can do more than just links. One can also have lists, tables and
+ examples. To enable the usage of docbook SGML/XML tags inside
+ doc-comments you need to have <option>--xml-mode</option> or
+ <option>--sgml-mode</option> in the variable
+ <symbol>MKDB_OPTIONS</symbol> inside <filename>Makefile.am</filename>.
+ </para>
+
+ <para>
+ Since GTK-Doc-1.18 the tool supports a subset or the
+ <ulink url="http://daringfireball.net/projects/markdown/">markdown language</ulink>.
+ One can use it for sub-headings and simple itemized lists. On older
+ GTK-Doc versions the content will be rendered as it (the list items will
+ appear in one line separated by dashes).
+ <example><title>GTK-Doc comment block using markdown</title>
+ <programlisting>
+<![CDATA[
+/**
+ * identifier:
+ *
+ * documentation ...
+ *
+ * # Sub heading #
+ *
+ * more documentation:
+ * - list item 1
+ * - list item 2
+ *
+ * Even more docs.
+ */
+]]>
+ </programlisting>
+ </example>
+ </para>
+
+ <tip>
+ <para>
+ As already mentioned earlier GTK-Doc is for documenting public API. Thus
+ one cannot write documentation for static symbols. Nevertheless it is good
+ to comment those symbols too. This helps other to understand you code.
+ Therefore we recommend to comment these using normal comments (without the
+ 2nd '*' in the first line).
+ If later the function needs to be made public, all one needs to do is to
+ add another '*' in the comment block and insert the symbol name at the
+ right place inside the sections file.
+ </para>
+ </tip>
+ </sect1>
+
+ <sect1 id="documenting_sections">
+ <title>Documenting sections</title>
+
+ <para>
+ Each section of the documentation contains information about one class
+ or module. To introduce the component one can write a section block.
+ The short description is also used inside the table of contents.
+ All the @fields are optional.
+ </para>
+
+ <para>
+ <example><title>Section comment block</title>
+ <programlisting>
+<![CDATA[
+/**
+ * SECTION:meepapp
+ * @short_description: the application class
+ * @title: Meep application
+ * @section_id:
+ * @see_also: #MeepSettings
+ * @stability: Stable
+ * @include: meep/app.h
+ * @image: application.png
+ *
+ * The application class handles ...
+ */
+]]>
+ </programlisting>
+ </example>
+ </para>
+
+ <variablelist>
+ <varlistentry>
+ <term>SECTION:<name></term>
+ <listitem>
+ <para>
+ The name links the section documentation to the respective part in
+ the <filename><package>-sections.txt</filename> file. The
+ name give here should match the <FILE> tag in the
+ <filename><package>-sections.txt</filename> file.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>@short_description</term>
+ <listitem>
+ <para>A one line description of the section that later will appear after the links in the TOC and at the top of the section page.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>@title</term>
+ <listitem>
+ <para>
+ The section title defaults to <name> from the SECTION
+ declaration. It can be overridden with the @title field.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>@section_id</term>
+ <listitem>
+ <para>
+ Overrides the use of title as a section identifier. For GObjects
+ the <title> is used as a section_id and for other sections
+ it is <MODULE>-<title>.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>@see_also</term>
+ <listitem>
+ <para>
+ A list of symbols that are related to this section.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>@stability</term>
+ <listitem>
+ <para>A informal description of the stability level this API has. We recommend the use of one of these terms: <itemizedlist>
+ <listitem>
+ <para>Stable — The intention of a Stable interface is to enable arbitrary third parties to develop applications to these interfaces, release them, and have confidence that they will run on all minor releases of the product (after the one in which the interface was introduced, and within the same major release). Even at a major release, incompatible changes are expected to be rare, and to have strong justifications.</para>
+ </listitem>
+ <listitem>
+ <para>Unstable — Unstable interfaces are experimental or transitional. They are typically used to give outside developers early access to new or rapidly-changing technology, or to provide an interim solution to a problem where a more general solution is anticipated. No claims are made about either source or binary compatibility from one minor release to the next.</para>
+ </listitem>
+ <listitem>
+ <para>Private — An interface that can be used within the GNOME stack itself, but that is not documented for end-users. Such functions should only be used in specified and documented ways.</para>
+ </listitem>
+ <listitem>
+ <para>Internal — An interface that is internal to a module and does not require end-user documentation. Functions that are undocumented are assumed to be Internal.</para>
+ </listitem>
+ </itemizedlist></para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>@include</term>
+ <listitem>
+ <para>The <literal>#include</literal> files to show in the section synopsis (a comma-separated list), overriding the global value from the <link linkend="metafiles_sections">section file</link> or command line. This item is optional.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>@image</term>
+ <listitem>
+ <para>
+ The image to display at the top of the reference page for this
+ section. This will often be some sort of a diagram to illustrate
+ the visual appearance of a class or a diagram of its relationship
+ to other classes. This item is optional.
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+
+ <tip>
+ <para>To avoid unnecessary recompilation after doc-changes put the section docs into the C source where possible.</para>
+ </tip>
+
+ </sect1>
+
+ <sect1 id="documenting_symbols">
+ <title>Documenting symbols</title>
+
+ <para>
+ Each symbol (function, macro, struct, enum, signal and property) is
+ documented in a separate block. The block is best placed close to the
+ definition of the symbols so that it is easy to keep them in sync.
+ Thus functions are usually documented in the c-source and macros,
+ structs and enums in the header file.
+ </para>
+
+ <sect2><title>General tags</title>
+
+ <para>
+ You can add versioning information to all documentation elements to tell
+ when an api was introduced, or when it was deprecated.
+ </para>
+
+ <variablelist><title>Versioning Tags</title>
+ <varlistentry><term>Since:</term>
+ <listitem>
+ <para>Description since which version of the code the API is available.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry><term>Deprecated:</term>
+ <listitem>
+ <para>Paragraph denoting that this function should no be used any more. The description should point the reader to the new API.</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+
+ <para>
+ (FIXME : Stability information)
+ </para>
+
+ <example><title>General tags</title>
+ <programlisting>
+<![CDATA[
+/**
+ * foo_get_bar:
+ * @foo: some foo
+ *
+ * Retrieves @foo's bar.
+ *
+ * Returns: @foo's bar
+ *
+ * Since: 2.6
+ * Deprecated: 2.12: Use foo_baz_get_bar() instead.
+ **/
+Bar *
+foo_get_bar(Foo *foo)
+{
+...
+]]>
+ </programlisting>
+ </example>
+ </sect2>
+
+ <sect2><title>Function comment block</title>
+
+ <para>
+ Please remember to:
+ <itemizedlist>
+ <listitem>
+ <para>
+ Document whether returned objects, lists, strings, etc, should be
+ freed/unrefed/released.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Document whether parameters can be NULL, and what happens if they are.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Mention interesting pre-conditions and post-conditions where appropriate.
+ </para>
+ </listitem>
+ </itemizedlist>
+ </para>
+
+ <para>GTK-Doc assumes all symbols (macros, functions) starting with <literal>_</literal> are private. They are treated like static functions.</para>
+
+ <para>
+
+ Also, take a look at gobject introspection annotation tags:
+ http://live.gnome.org/GObjectIntrospection/Annotations
+ </para>
+
+ <example><title>Function comment block</title>
+ <programlisting>
+<![CDATA[
+/**
+ * function_name:
+ * @par1: description of parameter 1. These can extend over more than
+ * one line.
+ * @par2: description of parameter 2
+ * @...: a %NULL-terminated list of bars
+ *
+ * The function description goes here. You can use @par1 to refer to parameters
+ * so that they are highlighted in the output. You can also use %constant
+ * for constants, function_name2() for functions and #GtkWidget for links to
+ * other declarations (which may be documented elsewhere).
+ *
+ * Returns: an integer.
+ *
+ * Since: 2.2
+ * Deprecated: 2.18: Use other_function() instead.
+ */
+]]>
+ </programlisting>
+ </example>
+
+ <variablelist><title>Function tags</title>
+ <varlistentry><term>Returns:</term>
+ <listitem>
+ <para>Paragraph describing the returned result.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry><term>@...:</term>
+ <listitem>
+ <para>
+ In case the function has variadic arguments, you should use this
+ tag (@Varargs: does also work for historic reasons).
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+
+ </sect2>
+
+ <sect2><title>Property comment block</title>
+
+ <example><title>Property comment block</title>
+ <programlisting>
+<![CDATA[
+/**
+ * SomeWidget:some-property:
+ *
+ * Here you can document a property.
+ */
+g_object_class_install_property (object_class, PROP_SOME_PROPERTY, ...);
+]]>
+ </programlisting>
+ </example>
+
+ </sect2>
+
+ <sect2><title>Signal comment block</title>
+
+ <para>
+ Please remember to:
+ <itemizedlist>
+ <listitem>
+ <para>
+ Document when the signal is emitted and whether it is emitted before
+ or after other signals.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Document what an application might do in the signal handler.
+ </para>
+ </listitem>
+ </itemizedlist>
+ </para>
+
+ <example><title>Signal comment block</title>
+ <programlisting>
+<![CDATA[
+/**
+ * FooWidget::foobarized:
+ * @widget: the widget that received the signal
+ * @foo: some foo
+ * @bar: some bar
+ *
+ * The ::foobarized signal is emitted each time someone tries to foobarize @widget.
+ */
+foo_signals[FOOBARIZE] =
+ g_signal_new ("foobarize",
+ ...
+]]>
+ </programlisting>
+ </example>
+
+ </sect2>
+
+ <sect2><title>Struct comment block</title>
+ <example><title>Struct comment block</title>
+ <programlisting>
+<![CDATA[
+/**
+ * FooWidget:
+ * @bar: some #gboolean
+ *
+ * This is the best widget, ever.
+ */
+typedef struct _FooWidget {
+ /*< private >*/
+ GtkWidget parent;
+
+ /*< public >*/
+ gboolean bar;
+} FooWidget;
+]]>
+ </programlisting>
+ </example>
+
+ <para>
+ Use <code>/*< private >*/</code> before the private struct fields
+ you want to hide. Use <code>/*< public >*/</code> for the reverse
+ behaviour.
+ </para>
+
+ <para>
+ Struct comment blocks can also be used for GObjects and GObjectClasses.
+ It is usualy a good idea to add a comment blco for a class, if it has
+ vmethods (as this is how they can be documented). For the GObject
+ itself one can use the related section docs, having a separate block
+ for the instance struct would be useful if the instance has public
+ fields. One disadvantage here is that this creates two index entries
+ of the same name (the structure and the section).
+ </para>
+
+ </sect2>
+
+ <sect2><title>Enum comment block</title>
+ <example><title>Enum comment block</title>
+ <programlisting>
+<![CDATA[
+/**
+ * Something:
+ * @SOMETHING_FOO: something foo
+ * @SOMETHING_BAR: something bar
+ *
+ * Enum values used for the thing, to specify the thing.
+ *
+ **/
+typedef enum {
+ SOMETHING_FOO,
+ SOMETHING_BAR,
+ /*< private >*/
+ SOMETHING_COUNT
+} Something;
+]]>
+ </programlisting>
+ </example>
+
+ <para>
+ Use <code>/*< private >*/</code> before the private enum values
+ you want to hide. Use <code>/*< public >*/</code> for the reverse
+ behaviour.
+ </para>
+
+ </sect2>
+ </sect1>
+
+ <sect1 id="documenting_docbook">
+ <title>Useful DocBook tags</title>
+
+ <para>Here are some DocBook tags which are most useful when documenting the code.</para>
+
+ <para>
+ To link to another section in the GTK docs:
+
+ <informalexample>
+ <programlisting>
+<![CDATA[
+<link linkend="glib-Hash-Tables">Hash Tables</link>
+]]>
+ </programlisting>
+ </informalexample>
+ The linkend is the SGML/XML id on the top item of the page you want to link to.
+ For most pages this is currently the part ("gtk", "gdk", "glib") and then
+ the page title ("Hash Tables"). For widgets it is just the class name.
+ Spaces and underscores are converted to '-' to conform to SGML/XML.
+ </para>
+
+ <para>To refer to an external function, e.g. a standard C function: <informalexample>
+ <programlisting>
+<![CDATA[
+<function>...</function>
+]]>
+ </programlisting>
+ </informalexample></para>
+
+ <para>
+ To include example code:
+ <informalexample>
+ <programlisting>
+<![CDATA[
+<example>
+ <title>Using a GHashTable.</title>
+ <programlisting>
+ ...
+ </programlisting>
+</example>
+]]>
+ </programlisting>
+ </informalexample>
+ or possibly this, for very short code fragments which don't need a title:
+ <informalexample>
+ <programlisting>
+<![CDATA[
+<informalexample>
+ <programlisting>
+ ...
+ </programlisting>
+</informalexample>
+]]>
+ </programlisting>
+ </informalexample>
+ For the latter GTK-Doc also supports an abbreviation:
+<![CDATA[
+|[
+ ...
+]|
+]]>
+ </para>
+
+ <para>To include bulleted lists: <informalexample>
+ <programlisting>
+<![CDATA[
+<itemizedlist>
+ <listitem>
+ <para>
+ ...
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ ...
+ </para>
+ </listitem>
+</itemizedlist>
+]]>
+ </programlisting>
+ </informalexample></para>
+
+ <para>To include a note which stands out from the text: <informalexample>
+ <programlisting>
+<![CDATA[
+<note>
+ <para>
+ Make sure you free the data after use.
+ </para>
+</note>
+]]>
+ </programlisting>
+ </informalexample></para>
+
+ <para>To refer to a type: <informalexample>
+ <programlisting>
+<![CDATA[
+<type>unsigned char</type>
+]]>
+ </programlisting>
+ </informalexample></para>
+
+ <para>To refer to an external structure (not one described in the GTK docs): <informalexample>
+ <programlisting>
+<![CDATA[
+<structname>XFontStruct</structname>
+]]>
+ </programlisting>
+ </informalexample></para>
+
+ <para>To refer to a field of a structure: <informalexample>
+ <programlisting>
+<![CDATA[
+<structfield>len</structfield>
+]]>
+ </programlisting>
+ </informalexample></para>
+
+ <para>To refer to a class name, we could possibly use: <informalexample>
+ <programlisting>
+<![CDATA[
+<classname>GtkWidget</classname>
+]]>
+ </programlisting>
+ </informalexample> but you'll probably be using <literal>#GtkWidget</literal> instead (to automatically create a link to the GtkWidget page — see <link linkend="documenting_syntax">the abbreviations</link>).</para>
+
+ <para>To emphasise text: <informalexample>
+ <programlisting>
+<![CDATA[
+<emphasis>This is important</emphasis>
+]]>
+ </programlisting>
+ </informalexample></para>
+
+ <para>For filenames use: <informalexample>
+ <programlisting>
+<![CDATA[
+<filename>/home/user/documents</filename>
+]]>
+ </programlisting>
+ </informalexample></para>
+
+ <para>
+ To refer to keys use:
+ <informalexample>
+ <programlisting>
+<![CDATA[
+<keycombo><keycap>Control</keycap><keycap>L</keycap></keycombo>
+]]>
+ </programlisting>
+ </informalexample>
+ </para>
+
+ </sect1>
+ </chapter>
+
+ <chapter id="metafiles">
+ <title>Filling the extra files</title>
+
+ <para>
+ There are a couple of extra files, that need to be maintained along with
+ the inline source code comments:
+ <filename><package>.types</filename>,
+ <filename><package>-docs.xml</filename> (in the past .sgml),
+ <filename><package>-sections.txt</filename>.
+ </para>
+
+ <sect1 id="metafiles_types">
+ <title>Editing the types file</title>
+
+ <para>If your library or application includes GtkObjects/GObjects, you want their signals, arguments/parameters and position in the hierarchy to be shown in the documentation. All you need to do is to list the <function>xxx_get_type</function> functions together with their include inside the <filename><replaceable>package</replaceable>.types</filename> file.</para>
+
+ <para>
+ <example><title>Example types file snippet</title>
+ <programlisting>
+<![CDATA[
+#include <gtk/gtk.h>
+
+gtk_accel_label_get_type
+gtk_adjustment_get_type
+gtk_alignment_get_type
+gtk_arrow_get_type
+]]>
+ </programlisting>
+ </example>
+ </para>
+
+ <para>
+ Since GTK-Doc 1.8 <application>gtkdoc-scan</application> can generate this list for you.
+ Just add "--rebuild-types" to SCAN_OPTIONS in <filename>Makefile.am</filename>. If you
+ use this approach you should not dist the types file nor have it under version control.
+ </para>
+
+ </sect1>
+
+ <sect1 id="metafiles_master">
+ <title>Editing the master document</title>
+
+ <para>
+ GTK-Doc produces documentation in DocBook SGML/XML. When processing the
+ inline source comments, the GTK-Doc tools generate one documentation
+ page per class or module as a separate file. The master document
+ includes them and place them in an order.
+ </para>
+
+ <para>
+ While GTK-Doc creates a template master document for you, later run will
+ not touch it again. This means that one can freely structure the
+ documentation. That includes grouping pages and adding extra pages.
+ GTK-Doc has now a test suite, where also the master-document is recreated from scratch.
+ Its a good idea to look at this from time to time to see if there are some new goodies
+ introduced there.
+ </para>
+
+ <tip>
+ <para>Do not create tutorials as extra documents. Just write extra chapters. The benefit of directly embedding the tutorial for your library into the API documentation is that it is easy to link for the tutorial to symbol documentation. Also, chances are higher that the tutorial gets updates along with the library.</para>
+ </tip>
+
+ <para>So what are the things to change inside the master document? There are some placeholders (text in square brackets) there which you should take care of.</para>
+
+ <para>
+ <example><title>Master document header</title>
+ <programlisting>
+<![CDATA[
+<bookinfo>
+ <title>MODULENAME Reference Manual</title>
+ <releaseinfo>
+ for MODULENAME [VERSION]
+ The latest version of this documentation can be found on-line at
+ <ulink role="online-location" url="http://[SERVER]/MODULENAME/index.html">http://[SERVER]/MODULENAME/</ulink>.
+ </releaseinfo>
+</bookinfo>
+
+<chapter>
+ <title>[Insert title here]</title>
+]]>
+ </programlisting>
+ </example>
+ </para>
+
+ </sect1>
+
+ <sect1 id="metafiles_sections">
+ <title>Editing the section file</title>
+
+ <para>
+ The section file is used to organise the documentation output by
+ GTK-Doc. Here one specifies which symbol belongs to which module or
+ class and control the visibility (public or private).
+ </para>
+
+ <para>The section file is a plain test file with XML-like syntax (using tags). Blank lines are ignored and lines starting with a <literal>#</literal> are treated as comment lines.</para>
+
+ <para>
+ The <FILE> ... </FILE> tag is used to specify the file name,
+ without any suffix. For example, using '<FILE>gnome-config</FILE>'
+ will result in the section declarations being output in the template
+ file <filename>tmpl/gnome-config.sgml</filename>, which will be
+ converted into the DocBook SGML/XML file <filename>sgml/gnome-config.sgml</filename>
+ or .DocBook XML file <filename>xml/gnome-config.xml</filename>.
+ (The name of the html file is based on the module name and the section
+ title, or for gobjects it is based on the gobjects class name converted
+ to lower case).
+ </para>
+
+ <para>
+ The <TITLE> ... </TITLE> tag is used to specify the title of
+ the section. It is only useful before the templates (if used) are
+ initially created, since the title set in the template file overrides
+ this. Also if one uses SECTION comment in the sources, this is obsolete.
+ </para>
+
+ <para>
+ You can group items in the section by using the <SUBSECTION> tag.
+ Currently it outputs a blank line between subsections in the synopsis
+ section.
+ You can also use <SUBSECTION Standard> for standard GObject
+ declarations (e.g. the functions like g_object_get_type and macros like
+ G_OBJECT(), G_IS_OBJECT() etc.).
+ Currently these are left out of the documentation.
+ You can also use <SUBSECTION Private> for private declarations
+ which will not be output (It is a handy way to avoid warning messages
+ about unused declarations.).
+ If your library contains private types which you don't want to appear in
+ the object hierarchy and the list of implemented or required interfaces,
+ add them to a Private subsection.
+ Wheter you would place GObject and GObjectClass like structs in public
+ or Standard section depends if they have public entries (variables,
+ vmethods).
+ </para>
+
+ <para>You can also use <INCLUDE> ... </INCLUDE> to specify the <literal>#include</literal> files which are shown in the synopsis sections. It contains a comma-separated list of <literal>#include</literal> files, without the angle brackets. If you set it outside of any sections, it acts for all sections until the end of the file. If you set it within a section, it only applies to that section.</para>
+
+ </sect1>
+
+ </chapter>
+
+ <chapter id="reports">
+ <title>Controlling the result</title>
+
+ <para>
+ A GTK-Doc run generates report files inside the documentation directory.
+ The generated files are named:
+ <filename><package>-undocumented.txt</filename>,
+ <filename><package>-undeclared.txt</filename> and
+ <filename><package>-unused.txt</filename>.
+ All those are plain text files that can be viewed and postprocessed easily.
+ </para>
+
+ <para>The <filename><replaceable>package</replaceable>-undocumented.txt</filename> file starts with the documentation coverage summary. Below are two sections divided by blank lines. The first section lists undocumented or incomplete symbols. The second section does the same for section docs. Incomplete entries are those, which have documentation, but where e.g. a new parameter has been added.</para>
+
+ <para>
+ The <filename><package>-undeclared.txt</filename> file lists symbols
+ given in the <filename><package>-sections.txt</filename> but not
+ found in the sources. Check if they have been removed or if they are
+ misspelled.
+ </para>
+
+ <para>
+ The <filename><package>-unused.txt</filename> file lists symbol
+ names, where the GTK-Doc scanner has found documentation, but does not
+ know where to put it. This means that the symbol has not yet been added to
+ the <filename><package>-sections.txt</filename> file.
+ </para>
+
+ <tip>
+ <para>
+ Enable or add the <option>TESTS=$(GTKDOC_CHECK)</option> line in Makefile.am.
+ If at least GTK-Doc 1.9 is installed, this will run sanity checks during
+ <command>make check</command> run.
+ </para>
+ </tip>
+
+ <para>
+ One can also look at the files produced by the source code scanner:
+ <filename><package>-decl-list.txt</filename> and
+ <filename><package>-decl.txt</filename>. The first one can be
+ compared with the section file if that is manualy maintained. The second
+ lists all declarations fromt he headers If a symbol is missing one could
+ check if this file contains it.
+ </para>
+
+ <para>
+ If the project is GObject based, one can also look into the files produced
+ by the object scanner:
+ <filename><package>.args.txt</filename>,
+ <filename><package>.hierarchy.txt</filename>,
+ <filename><package>.interfaces.txt</filename>,
+ <filename><package>.prerequisites.txt</filename> and
+ <filename><package>.signals.txt</filename>. If there are missing
+ symbols in any of those, one can ask gtkdoc to keep the intermedia scanner
+ file for further analysis, but running it as
+ <command>GTK_DOC_KEEP_INTERMEDIATE=1 make</command>.
+ </para>
+ </chapter>
+
+ <chapter id="documenting-others">
+ <title>Documenting other interfaces</title>
+
+ <para>
+ So far we have been using GTK-Doc to document the API of code. The next
+ sections contain suggestions how the tools can be used to document other
+ interfaces too.
+ </para>
+
+ <sect1 id="commandline-interfaces">
+ <title>Commandline options and man pages</title>
+
+ <para>
+ As one can generate man pages for a docbook refentry as well, it sounds
+ like a good idea to use it for that purpose. This way the interface is
+ part of the reference and one gets the man-page for free.
+ </para>
+
+ <sect2 id="commandline-interfaces-file">
+ <title>Document the tool</title>
+
+ <para>
+ Create one refentry file per tool. Following
+ <link linkend="settingup_docfiles">our example</link> we would call it
+ <filename>meep/docs/reference/meeper/meep.xml</filename>. For the xml
+ tags that should be used and can look at generated file in the xml
+ subdirectory as well as examples e.g. in glib.
+ </para>
+ </sect2>
+
+ <sect2 id="commandline-interfaces-configure">
+ <title>Adding the extra configure check</title>
+
+ <para>
+ <example><title>Extra configure checks</title>
+ <programlisting>
+<![CDATA[
+AC_ARG_ENABLE(man,
+ [AC_HELP_STRING([--enable-man],
+ [regenerate man pages from Docbook [default=no]])],enable_man=yes,
+ enable_man=no)
+
+AC_PATH_PROG([XSLTPROC], [xsltproc])
+AM_CONDITIONAL(ENABLE_MAN, test x$enable_man != xno)
+]]>
+ </programlisting>
+ </example>
+ </para>
+ </sect2>
+
+ <sect2 id="commandline-interfaces-make">
+ <title>Adding the extra makefile rules</title>
+
+ <para>
+ <example><title>Extra configure checks</title>
+ <programlisting>
+<![CDATA[
+man_MANS = \
+ meeper.1
+
+if ENABLE_GTK_DOC
+if ENABLE_MAN
+
+%.1 : %.xml
+ @XSLTPROC@ -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
+
+endif
+endif
+
+BUILT_EXTRA_DIST = $(man_MANS)
+EXTRA_DIST += meep.xml
+]]>
+ </programlisting>
+ </example>
+ </para>
+ </sect2>
+ </sect1>
+
+ <sect1 id="dbus-interfaces">
+ <title>DBus interfaces</title>
+
+ <para>
+ (FIXME: http://hal.freedesktop.org/docs/DeviceKit/DeviceKit.html,
+http://cgit.freedesktop.org/DeviceKit/DeviceKit/tree/doc/dbus)
+ </para>
+ </sect1>
+
+ </chapter>
+
+ <chapter id="faq">
+ <title>Frequently asked questions</title>
+
+ <segmentedlist>
+ <?dbhtml list-presentation="list"?>
+ <segtitle>Question</segtitle>
+ <segtitle>Answer</segtitle>
+ <seglistitem>
+ <seg>No class hierarchy.</seg>
+ <seg>
+ The objects <function>xxx_get_type()</function> function has not been
+ entered into the <filename><package>.types</filename> file.
+ </seg>
+ </seglistitem>
+ <seglistitem>
+ <seg>Still no class hierarchy.</seg>
+ <seg>
+ Missing or wrong naming in <filename><package>-sections.txt</filename>
+ file (see <ulink url="http://mail.gnome.org/archives/gtk-doc-list/2003-October/msg00006.html">explanation</ulink>).
+ </seg>
+ </seglistitem>
+ <seglistitem>
+ <seg>Damn, I still have no class hierarchy.</seg>
+ <seg>
+ Is the object name (name of the instance struct, e.g. <type>GtkWidget</type>)
+ part of the normal section (don't put this into Standard or Private
+ subsections).
+ </seg>
+ </seglistitem>
+ <seglistitem>
+ <seg>No symbol index.</seg>
+ <seg>
+ Does the <filename><package>-docs.{xml,sgml}</filename> contain a
+ index that xi:includes the generated index?
+ </seg>
+ </seglistitem>
+ <seglistitem>
+ <seg>Symbols are not linked to their doc-section.</seg>
+ <seg>
+ Is the doc-comment using the correct markup (added #,% or ())?
+ Check if the gtkdoc-fixxref warns about unresolvable xrefs.
+ </seg>
+ </seglistitem>
+ <seglistitem>
+ <seg>A new class does not appear in the docs.</seg>
+ <seg>
+ Is the new page xi:included from
+ <filename><package>-docs.{xml,sgml}</filename>.
+ </seg>
+ </seglistitem>
+ <seglistitem>
+ <seg>A new symbol does not appear in the docs.</seg>
+ <seg>
+ Is the doc-comment properly formatted. Check for spelling mistakes in
+ the begin of the comment. Check if the gtkdoc-fixxref warns about
+ unresolvable xrefs. Check if the symbol is correctly listed in the
+ <filename><package>-sections.txt</filename> in a public subsection.
+ </seg>
+ </seglistitem>
+ <seglistitem>
+ <seg>A type is missing from the class hierarchy.</seg>
+ <seg>
+ If the type is listed in <filename><package>.hierarchy</filename>
+ but not in <filename>xml/tree_index.sgml</filename> then double check
+ that the type is correctly placed in the <filename><package>-sections.txt</filename>.
+ If the type instance (e.g. <type>GtkWidget</type>) is not listed or
+ incidentialy makred private it will not be shown.
+ </seg>
+ </seglistitem>
+ <seglistitem>
+ <seg>I get foldoc links for all gobject annotations.</seg>
+ <seg>
+ Check that <filename>xml/annotation-glossary.xml</filename> is
+ xi:included from <filename><package>-docs.{xml,sgml}</filename>.
+ </seg>
+ </seglistitem>
+
+ <!-- gtk-doc warnings: -->
+ <seglistitem>
+ <seg>Parameter described in source code comment block but does not exist</seg>
+ <seg>Check if the prototype in the header has different parameter names to the source.</seg>
+ </seglistitem>
+
+ <!-- docbook warnings: -->
+ <seglistitem>
+ <seg>multiple "IDs" for constraint linkend: XYZ</seg>
+ <seg>Symbol XYZ appears twice in <filename><package>-sections.txt</filename> file.</seg>
+ </seglistitem>
+ <seglistitem>
+ <seg>Element typename in namespace '' encountered in para, but no template matches.</seg>
+ <seg/>
+ </seglistitem>
+ </segmentedlist>
+ </chapter>
+
+ <chapter id="contrib">
+ <title>Tools related to gtk-doc</title>
+
+ <para>
+ GtkDocPlugin - a <ulink url="http://trac-hacks.org/wiki/GtkDocPlugin">Trac GTK-Doc</ulink>
+ integration plugin, that adds api docs to a trac site and integrates with
+ the trac search.
+ </para>
+ <para>
+ Gtkdoc-depscan - a tool (part of gtk-doc) to check used API against since
+ tags in the api to determine the minimum required version.
+ </para>
+
+ </chapter>
+
+ <!-- ======== Appendix: FDL ================================== -->
+ <!--
+ The GNU Free Documentation License 1.1 in DocBook
+ Markup by Eric Baudais <baudais@okstate.edu>
+ Maintained by the GNOME Documentation Project
+ http://developer.gnome.org/projects/gdp
+ Version: 1.0.1
+ Last Modified: Nov 16, 2000
+-->
+
+<appendix id="fdl">
+ <appendixinfo>
+ <releaseinfo>Version 1.1, March 2000</releaseinfo>
+ <copyright>
+ <year>2000</year><holder>Free Software Foundation, Inc.</holder>
+ </copyright>
+ <legalnotice id="fdl-legalnotice">
+ <para><address>Free Software Foundation, Inc. <street>51 Franklin Street, Suite 330</street>, <city>Boston</city>, <state>MA</state><postcode>02110-1301</postcode><country>USA</country></address> Everyone is permitted to copy and distribute verbatim copies of this licence document, but changing it is not allowed.</para>
+ </legalnotice>
+ </appendixinfo>
+ <title>GNU Free Documentation Licence</title>
+
+ <sect1 id="fdl-preamble">
+ <title>0. PREAMBLE</title>
+ <para>The purpose of this Licence is to make a manual, textbook, or other written document <quote>free</quote> in the sense of freedom: to assure everyone the effective freedom to copy and redistribute it, with or without modifying it, either commercially or noncommercially. Secondarily, this Licence preserves for the author and publisher a way to get credit for their work, while not being considered responsible for modifications made by others.</para>
+
+ <para>This Licence is a kind of <quote>copyleft</quote>, which means that derivative works of the document must themselves be free in the same sense. It complements the GNU General Public Licence, which is a copyleft licence designed for free software.</para>
+
+ <para>We have designed this Licence in order to use it for manuals for free software, because free software needs free documentation: a free program should come with manuals providing the same freedoms that the software does. But this Licence is not limited to software manuals; it can be used for any textual work, regardless of subject matter or whether it is published as a printed book. We recommend this Licence principally for works whose purpose is instruction or reference.</para>
+ </sect1>
+ <sect1 id="fdl-section1">
+ <title>1. APPLICABILITY AND DEFINITIONS</title>
+ <para id="fdl-document">This Licence applies to any manual or other work that contains a notice placed by the copyright holder saying it can be distributed under the terms of this Licence. The <quote>Document</quote>, below, refers to any such manual or work. Any member of the public is a licencee, and is addressed as <quote>you</quote>.</para>
+
+ <para id="fdl-modified">A <quote>Modified Version</quote> of the Document means any work containing the Document or a portion of it, either copied verbatim, or with modifications and/or translated into another language.</para>
+
+ <para id="fdl-secondary">A <quote>Secondary Section</quote> is a named appendix or a front-matter section of the <link linkend="fdl-document">Document</link> that deals exclusively with the relationship of the publishers or authors of the Document to the Document's overall subject (or to related matters) and contains nothing that could fall directly within that overall subject. (For example, if the Document is in part a textbook of mathematics, a Secondary Section may not explain any mathematics.) The relationship could be a matter of historical connection with the subject or with related matters, or of legal, commercial, philosophical, ethical or political position regarding them.</para>
+
+ <para id="fdl-invariant">The <quote>Invariant Sections</quote> are certain <link linkend="fdl-secondary"> Secondary Sections</link> whose titles are designated, as being those of Invariant Sections, in the notice that says that the <link linkend="fdl-document">Document</link> is released under this Licence.</para>
+
+ <para id="fdl-cover-texts">The <quote>Cover Texts</quote> are certain short passages of text that are listed, as Front-Cover Texts or Back-Cover Texts, in the notice that says that the <link linkend="fdl-document">Document</link> is released under this Licence.</para>
+
+ <para id="fdl-transparent">A <quote>Transparent</quote> copy of the <link linkend="fdl-document"> Document</link> means a machine-readable copy, represented in a format whose specification is available to the general public, whose contents can be viewed and edited directly and straightforwardly with generic text editors or (for images composed of pixels) generic paint programs or (for drawings) some widely available drawing editor, and that is suitable for input to text formatters or for automatic translation to a variety of formats suitable for input to text formatters. A copy made in an otherwise Transparent file format whose markup has been designed to thwart or discourage subsequent modification by readers is not Transparent. A copy that is not <quote>Transparent</quote> is called <quote>Opaque</quote>.</para>
+
+ <para>Examples of suitable formats for Transparent copies include plain ASCII without markup, Texinfo input format, LaTeX input format, SGML or XML using a publicly available DTD, and standard-conforming simple HTML designed for human modification. Opaque formats include PostScript, PDF, proprietary formats that can be read and edited only by proprietary word processors, SGML or XML for which the DTD and/or processing tools are not generally available, and the machine-generated HTML produced by some word processors for output purposes only.</para>
+
+ <para id="fdl-title-page">The <quote>Title Page</quote> means, for a printed book, the title page itself, plus such following pages as are needed to hold, legibly, the material this Licence requires to appear in the title page. For works in formats which do not have any title page as such, <quote>Title Page</quote> means the text near the most prominent appearance of the work's title, preceding the beginning of the body of the text.</para>
+ </sect1>
+
+ <sect1 id="fdl-section2">
+ <title>2. VERBATIM COPYING</title>
+ <para>You may copy and distribute the <link linkend="fdl-document">Document</link> in any medium, either commercially or noncommercially, provided that this Licence, the copyright notices, and the licence notice saying this Licence applies to the Document are reproduced in all copies, and that you add no other conditions whatsoever to those of this Licence. You may not use technical measures to obstruct or control the reading or further copying of the copies you make or distribute. However, you may accept compensation in exchange for copies. If you distribute a large enough number of copies you must also follow the conditions in <link linkend="fdl-section3">section 3</link>.</para>
+
+ <para>You may also lend copies, under the same conditions stated above, and you may publicly display copies.</para>
+ </sect1>
+
+ <sect1 id="fdl-section3">
+ <title>3. COPYING IN QUANTITY</title>
+ <para>If you publish printed copies of the <link linkend="fdl-document">Document</link> numbering more than 100, and the Document's licence notice requires <link linkend="fdl-cover-texts">Cover Texts</link>, you must enclose the copies in covers that carry, clearly and legibly, all these Cover Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on the back cover. Both covers must also clearly and legibly identify you as the publisher of these copies. The front cover must present the full title with all words of the title equally prominent and visible. You may add other material on the covers in addition. Copying with changes limited to the covers, as long as they preserve the title of the <link linkend="fdl-document">Document</link> and satisfy these conditions, can be treated as verbatim copying in other respects.</para>
+
+ <para>If the required texts for either cover are too voluminous to fit legibly, you should put the first ones listed (as many as fit reasonably) on the actual cover, and continue the rest onto adjacent pages.</para>
+
+ <para>If you publish or distribute <link linkend="fdl-transparent">Opaque</link> copies of the <link linkend="fdl-document">Document</link> numbering more than 100, you must either include a machine-readable <link linkend="fdl-transparent">Transparent</link> copy along with each Opaque copy, or state in or with each Opaque copy a publicly-accessible computer-network location containing a complete Transparent copy of the Document, free of added material, which the general network-using public has access to download anonymously at no charge using public-standard network protocols. If you use the latter option, you must take reasonably prudent steps, when you begin distribution of Opaque copies in quantity, to ensure that this Transparent copy will remain thus accessible at the stated location until at least one year after the last time you distribute an Opaque copy (directly or through your agents or retailers) of that edition to the public.</para>
+
+ <para>It is requested, but not required, that you contact the authors of the <link linkend="fdl-document">Document</link> well before redistributing any large number of copies, to give them a chance to provide you with an updated version of the Document.</para>
+ </sect1>
+
+ <sect1 id="fdl-section4">
+ <title>4. MODIFICATIONS</title>
+ <para>You may copy and distribute a <link linkend="fdl-modified">Modified Version</link> of the <link linkend="fdl-document">Document</link> under the conditions of sections <link linkend="fdl-section2">2</link> and <link linkend="fdl-section3">3</link> above, provided that you release the Modified Version under precisely this Licence, with the Modified Version filling the role of the Document, thus licensing distribution and modification of the Modified Version to whoever possesses a copy of it. In addition, you must do these things in the Modified Version:</para>
+
+ <itemizedlist mark="opencircle">
+ <listitem>
+ <formalpara>
+ <title>A</title>
+ <para>Use in the <link linkend="fdl-title-page">Title Page</link> (and on the covers, if any) a title distinct from that of the <link linkend="fdl-document">Document</link>, and from those of previous versions (which should, if there were any, be listed in the History section of the Document). You may use the same title as a previous version if the original publisher of that version gives permission.</para>
+ </formalpara>
+ </listitem>
+
+ <listitem>
+ <formalpara>
+ <title>B</title>
+ <para>List on the <link linkend="fdl-title-page">Title Page</link>, as authors, one or more persons or entities responsible for authorship of the modifications in the <link linkend="fdl-modified">Modified Version</link>, together with at least five of the principal authors of the <link linkend="fdl-document">Document</link> (all of its principal authors, if it has less than five).</para>
+ </formalpara>
+ </listitem>
+
+ <listitem>
+ <formalpara>
+ <title>C</title>
+ <para>State on the <link linkend="fdl-title-page">Title Page</link> the name of the publisher of the <link linkend="fdl-modified">Modified Version</link>, as the publisher.</para>
+ </formalpara>
+ </listitem>
+
+ <listitem>
+ <formalpara>
+ <title>D</title>
+ <para>Preserve all the copyright notices of the <link linkend="fdl-document">Document</link>.</para>
+ </formalpara>
+ </listitem>
+
+ <listitem>
+ <formalpara>
+ <title>E</title>
+ <para>Add an appropriate copyright notice for your modifications adjacent to the other copyright notices.</para>
+ </formalpara>
+ </listitem>
+
+ <listitem>
+ <formalpara>
+ <title>F</title>
+ <para>Include, immediately after the copyright notices, a licence notice giving the public permission to use the <link linkend="fdl-modified">Modified Version</link> under the terms of this Licence, in the form shown in the Addendum below.</para>
+ </formalpara>
+ </listitem>
+
+ <listitem>
+ <formalpara>
+ <title>G</title>
+ <para>Preserve in that licence notice the full lists of <link linkend="fdl-invariant"> Invariant Sections</link> and required <link linkend="fdl-cover-texts">Cover Texts</link> given in the <link linkend="fdl-document">Document's</link> licence notice.</para>
+ </formalpara>
+ </listitem>
+
+ <listitem>
+ <formalpara>
+ <title>H</title>
+ <para>Include an unaltered copy of this Licence.</para>
+ </formalpara>
+ </listitem>
+
+ <listitem>
+ <formalpara>
+ <title>I</title>
+ <para>Preserve the section entitled <quote>History</quote>, and its title, and add to it an item stating at least the title, year, new authors, and publisher of the <link linkend="fdl-modified">Modified Version </link>as given on the <link linkend="fdl-title-page">Title Page</link>. If there is no section entitled <quote>History</quote> in the <link linkend="fdl-document">Document</link>, create one stating the title, year, authors, and publisher of the Document as given on its Title Page, then add an item describing the Modified Version as stated in the previous sentence.</para>
+ </formalpara>
+ </listitem>
+
+ <listitem>
+ <formalpara>
+ <title>J</title>
+ <para>Preserve the network location, if any, given in the <link linkend="fdl-document">Document</link> for public access to a <link linkend="fdl-transparent">Transparent</link> copy of the Document, and likewise the network locations given in the Document for previous versions it was based on. These may be placed in the <quote>History</quote> section. You may omit a network location for a work that was published at least four years before the Document itself, or if the original publisher of the version it refers to gives permission.</para>
+ </formalpara>
+ </listitem>
+
+ <listitem>
+ <formalpara>
+ <title>K</title>
+ <para>In any section entitled <quote>Acknowledgements</quote> or <quote>Dedications</quote>, preserve the section's title, and preserve in the section all the substance and tone of each of the contributor acknowledgements and/or dedications given therein.</para>
+ </formalpara>
+ </listitem>
+
+ <listitem>
+ <formalpara>
+ <title>L</title>
+ <para>Preserve all the <link linkend="fdl-invariant">Invariant Sections</link> of the <link linkend="fdl-document">Document</link>, unaltered in their text and in their titles. Section numbers or the equivalent are not considered part of the section titles.</para>
+ </formalpara>
+ </listitem>
+
+ <listitem>
+ <formalpara>
+ <title>M</title>
+ <para>Delete any section entitled <quote>Endorsements</quote>. Such a section may not be included in the <link linkend="fdl-modified">Modified Version</link>.</para>
+ </formalpara>
+ </listitem>
+
+ <listitem>
+ <formalpara>
+ <title>N</title>
+ <para>Do not retitle any existing section as <quote>Endorsements</quote> or to conflict in title with any <link linkend="fdl-invariant">Invariant Section</link>.</para>
+ </formalpara>
+ </listitem>
+ </itemizedlist>
+
+ <para>If the <link linkend="fdl-modified">Modified Version</link> includes new front-matter sections or appendices that qualify as <link linkend="fdl-secondary">Secondary Sections</link> and contain no material copied from the Document, you may at your option designate some or all of these sections as invariant. To do this, add their titles to the list of <link linkend="fdl-invariant">Invariant Sections</link> in the Modified Version's licence notice. These titles must be distinct from any other section titles.</para>
+
+ <para>You may add a section entitled <quote>Endorsements</quote>, provided it contains nothing but endorsements of your <link linkend="fdl-modified">Modified Version</link> by various parties--for example, statements of peer review or that the text has been approved by an organisation as the authoritative definition of a standard.</para>
+
+ <para>You may add a passage of up to five words as a <link linkend="fdl-cover-texts">Front-Cover Text</link>, and a passage of up to 25 words as a <link linkend="fdl-cover-texts">Back-Cover Text</link>, to the end of the list of <link linkend="fdl-cover-texts">Cover Texts</link> in the <link linkend="fdl-modified">Modified Version</link>. Only one passage of Front-Cover Text and one of Back-Cover Text may be added by (or through arrangements made by) any one entity. If the <link linkend="fdl-document">Document</link> already includes a cover text for the same cover, previously added by you or by arrangement made by the same entity you are acting on behalf of, you may not add another; but you may replace the old one, on explicit permission from the previous publisher that added the old one.</para>
+
+ <para>The author(s) and publisher(s) of the <link linkend="fdl-document">Document</link> do not by this Licence give permission to use their names for publicity for or to assert or imply endorsement of any <link linkend="fdl-modified">Modified Version </link>.</para>
+ </sect1>
+
+ <sect1 id="fdl-section5">
+ <title>5. COMBINING DOCUMENTS</title>
+ <para>You may combine the <link linkend="fdl-document">Document</link> with other documents released under this Licence, under the terms defined in <link linkend="fdl-section4">section 4</link> above for modified versions, provided that you include in the combination all of the <link linkend="fdl-invariant">Invariant Sections</link> of all of the original documents, unmodified, and list them all as Invariant Sections of your combined work in its licence notice.</para>
+
+ <para>The combined work need only contain one copy of this Licence, and multiple identical <link linkend="fdl-invariant">Invariant Sections</link> may be replaced with a single copy. If there are multiple Invariant Sections with the same name but different contents, make the title of each such section unique by adding at the end of it, in parentheses, the name of the original author or publisher of that section if known, or else a unique number. Make the same adjustment to the section titles in the list of Invariant Sections in the licence notice of the combined work.</para>
+
+ <para>In the combination, you must combine any sections entitled <quote>History</quote> in the various original documents, forming one section entitled <quote>History</quote>; likewise combine any sections entitled <quote>Acknowledgements</quote>, and any sections entitled <quote>Dedications</quote>. You must delete all sections entitled <quote>Endorsements.</quote></para>
+ </sect1>
+
+ <sect1 id="fdl-section6">
+ <title>6. COLLECTIONS OF DOCUMENTS</title>
+ <para>You may make a collection consisting of the <link linkend="fdl-document">Document</link> and other documents released under this Licence, and replace the individual copies of this Licence in the various documents with a single copy that is included in the collection, provided that you follow the rules of this Licence for verbatim copying of each of the documents in all other respects.</para>
+
+ <para>You may extract a single document from such a collection, and distribute it individually under this Licence, provided you insert a copy of this Licence into the extracted document, and follow this Licence in all other respects regarding verbatim copying of that document.</para>
+ </sect1>
+
+ <sect1 id="fdl-section7">
+ <title>7. AGGREGATION WITH INDEPENDENT WORKS</title>
+ <para>A compilation of the <link linkend="fdl-document">Document</link> or its derivatives with other separate and independent documents or works, in or on a volume of a storage or distribution medium, does not as a whole count as a <link linkend="fdl-modified">Modified Version</link> of the Document, provided no compilation copyright is claimed for the compilation. Such a compilation is called an <quote>aggregate</quote>, and this Licence does not apply to the other self-contained works thus compiled with the Document , on account of their being thus compiled, if they are not themselves derivative works of the Document. If the <link linkend="fdl-cover-texts">Cover Text</link> requirement of <link linkend="fdl-section3">section 3</link> is applicable to these copies of the Document, then if the Document is less than one quarter of the entire aggregate, the Document's Cover Texts may be placed on covers that surround only the Document within the aggregate. Otherwise they must appear on covers around the whole aggregate.</para>
+ </sect1>
+
+ <sect1 id="fdl-section8">
+ <title>8. TRANSLATION</title>
+ <para>Translation is considered a kind of modification, so you may distribute translations of the <link linkend="fdl-document">Document</link> under the terms of <link linkend="fdl-section4">section 4</link>. Replacing <link linkend="fdl-invariant"> Invariant Sections</link> with translations requires special permission from their copyright holders, but you may include translations of some or all Invariant Sections in addition to the original versions of these Invariant Sections. You may include a translation of this Licence provided that you also include the original English version of this Licence. In case of a disagreement between the translation and the original English version of this Licence, the original English version will prevail.</para>
+ </sect1>
+
+ <sect1 id="fdl-section9">
+ <title>9. TERMINATION</title>
+ <para>You may not copy, modify, sublicence, or distribute the <link linkend="fdl-document">Document</link> except as expressly provided for under this Licence. Any other attempt to copy, modify, sublicence or distribute the Document is void, and will automatically terminate your rights under this Licence. However, parties who have received copies, or rights, from you under this Licence will not have their licences terminated so long as such parties remain in full compliance.</para>
+ </sect1>
+
+ <sect1 id="fdl-section10">
+ <title>10. FUTURE REVISIONS OF THIS LICENCE</title>
+ <para>The <ulink type="http" url="http://www.gnu.org/fsf/fsf.html">Free Software Foundation</ulink> may publish new, revised versions of the GNU Free Documentation Licence from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. See <ulink type="http" url="http://www.gnu.org/copyleft">http://www.gnu.org/copyleft/</ulink>.</para>
+
+ <para>Each version of the Licence is given a distinguishing version number. If the <link linkend="fdl-document">Document</link> specifies that a particular numbered version of this Licence <quote>or any later version</quote> applies to it, you have the option of following the terms and conditions either of that specified version or of any later version that has been published (not as a draft) by the Free Software Foundation. If the Document does not specify a version number of this Licence, you may choose any version ever published (not as a draft) by the Free Software Foundation.</para>
+ </sect1>
+
+ <sect1 id="fdl-using">
+ <title>Addendum</title>
+ <para>To use this Licence in a document you have written, include a copy of the Licence in the document and put the following copyright and licence notices just after the title page:</para>
+
+ <blockquote>
+ <para>Copyright YEAR YOUR NAME.</para>
+ <para>Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation Licence, Version 1.1 or any later version published by the Free Software Foundation; with the <link linkend="fdl-invariant">Invariant Sections</link> being LIST THEIR TITLES, with the <link linkend="fdl-cover-texts">Front-Cover Texts</link> being LIST, and with the <link linkend="fdl-cover-texts">Back-Cover Texts</link> being LIST. A copy of the licence is included in the section entitled <quote>GNU Free Documentation Licence</quote>.</para>
+ </blockquote>
+
+ <para>If you have no <link linkend="fdl-invariant">Invariant Sections</link>, write <quote>with no Invariant Sections</quote> instead of saying which ones are invariant. If you have no <link linkend="fdl-cover-texts">Front-Cover Texts</link>, write <quote>no Front-Cover Texts</quote> instead of <quote>Front-Cover Texts being LIST</quote>; likewise for <link linkend="fdl-cover-texts">Back-Cover Texts</link>.</para>
+
+ <para>If your document contains nontrivial examples of program code, we recommend releasing these examples in parallel under your choice of free software licence, such as the <ulink type="http" url="http://www.gnu.org/copyleft/gpl.html"> GNU General Public Licence</ulink>, to permit their use in free software.</para>
+ </sect1>
+</appendix>
+
+
+
+
+
+
+
+
+</book>
--- /dev/null
+# translation of gtk-doc-help.master.po to Español
+# Francisco Javier Fernandez Serrador <fserrador@gmail.com>, 2009, 2010
+# Jorge Gonzalez <jorgegonz@svn.gnome.org>, 2009.
+# Jorge González <jorgegonz@svn.gnome.org>, 2009, 2010, 2011.
+# Daniel Mustieles <daniel.mustieles@gmail.com>, 2011.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: gtk-doc-help.master\n"
+"POT-Creation-Date: 2011-04-05 07:09+0000\n"
+"PO-Revision-Date: 2011-04-06 11:12+0200\n"
+"Last-Translator: Daniel Mustieles <daniel.mustieles@gmail.com>\n"
+"Language-Team: Español <gnome-es-list@gnome.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.11.4\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: C/gtk-doc-manual.xml:12(title)
+msgid "GTK-Doc Manual"
+msgstr "Manual de GTK-Doc"
+
+#: C/gtk-doc-manual.xml:13(edition) C/gtk-doc-manual.xml:98(revnumber)
+msgid "1.15"
+msgstr "1.15"
+
+#: C/gtk-doc-manual.xml:14(para)
+msgid "User manual for developers with instructions of GTK-Doc usage."
+msgstr ""
+"Manual del usuario para desarrolladores con instrucciones del uso de GTK-Doc."
+
+#: C/gtk-doc-manual.xml:17(firstname)
+msgid "Chris"
+msgstr "Chris"
+
+#: C/gtk-doc-manual.xml:18(surname)
+msgid "Lyttle"
+msgstr "Lyttle"
+
+#: C/gtk-doc-manual.xml:21(email)
+msgid "chris@wilddev.net"
+msgstr "chris@wilddev.net"
+
+#: C/gtk-doc-manual.xml:26(firstname)
+msgid "Dan"
+msgstr "Dan"
+
+#: C/gtk-doc-manual.xml:27(surname)
+msgid "Mueth"
+msgstr "Mueth"
+
+#: C/gtk-doc-manual.xml:30(email)
+msgid "d-mueth@uchicago.edu"
+msgstr "d-mueth@uchicago.edu"
+
+#: C/gtk-doc-manual.xml:35(firstname)
+msgid "Stefan"
+msgstr "Stefan"
+
+#: C/gtk-doc-manual.xml:36(surname)
+msgid "Kost"
+msgstr "Kost"
+
+#: C/gtk-doc-manual.xml:39(email)
+msgid "ensonic@users.sf.net"
+msgstr "ensonic@users.sf.net"
+
+#: C/gtk-doc-manual.xml:45(publishername)
+msgid "GTK-Doc project"
+msgstr "Proyecto GTK-Doc"
+
+#: C/gtk-doc-manual.xml:46(email)
+msgid "gtk-doc-list@gnome.org"
+msgstr "gtk-doc-list@gnome.org"
+
+#: C/gtk-doc-manual.xml:49(year)
+msgid "2000, 2005, 2007-2009"
+msgstr "2000, 2005, 2007-2009"
+
+#: C/gtk-doc-manual.xml:50(holder)
+msgid "Dan Mueth and Chris Lyttle and Stefan Kost"
+msgstr "Dan Mueth, Chris Lyttle y Stefan Kost"
+
+#: C/gtk-doc-manual.xml:61(para)
+msgid ""
+"Permission is granted to copy, distribute and/or modify this document under "
+"the terms of the <citetitle>GNU Free Documentation License</citetitle>, "
+"Version 1.1 or any later version published by the Free Software Foundation "
+"with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A "
+"copy of the license is <link linkend=\"fdl\">included</link>."
+msgstr ""
+"Se concede autorización para copiar, distribuir o modificar este documento "
+"según los términos de la <citetitle>GNU Free Documentation License</"
+"citetitle>, Versión 1.1, o cualquier otra versión posterior publicada por "
+"Free Software Foundation sin secciones invariables, textos de portada ni "
+"textos de contraportada. Se <link linkend=\"fdl\">incluye</link> una copia "
+"de la licencia."
+
+#: C/gtk-doc-manual.xml:69(para)
+msgid ""
+"Many of the names used by companies to distinguish their products and "
+"services are claimed as trademarks. Where those names appear in any GNOME "
+"documentation, and those trademarks are made aware to the members of the "
+"GNOME Documentation Project, the names have been printed in caps or initial "
+"caps."
+msgstr ""
+"Muchos de los nombres usados por compañías para distinguir sus productos y "
+"servicios se mencionan como marcas comerciales. Donde aparezcan dichos "
+"nombres en cualquier documentación GNOME, y para que los miembros del "
+"proyecto de documentación las reconozcan dichas marcas comerciales, dichos "
+"nombres se imprimen en mayúsculas o iniciales mayúsculas."
+
+#: C/gtk-doc-manual.xml:80(revnumber)
+msgid "1.17.1"
+msgstr "1.17.1"
+
+#: C/gtk-doc-manual.xml:81(date) C/gtk-doc-manual.xml:87(date)
+msgid "26 Feb 2011"
+msgstr "26 de febrero de 2011"
+
+#: C/gtk-doc-manual.xml:82(authorinitials)
+#: C/gtk-doc-manual.xml:88(authorinitials)
+#: C/gtk-doc-manual.xml:94(authorinitials)
+#: C/gtk-doc-manual.xml:100(authorinitials)
+#: C/gtk-doc-manual.xml:106(authorinitials)
+#: C/gtk-doc-manual.xml:112(authorinitials)
+#: C/gtk-doc-manual.xml:118(authorinitials)
+msgid "sk"
+msgstr "sk"
+
+#: C/gtk-doc-manual.xml:83(revremark)
+msgid "development version, markdown support"
+msgstr "versión de desarrollo, soporte de marcado"
+
+#: C/gtk-doc-manual.xml:86(revnumber)
+msgid "1.17"
+msgstr "1.17"
+
+#: C/gtk-doc-manual.xml:89(revremark)
+msgid "urgent bug fix update"
+msgstr "actualización de corrección de error urgente"
+
+#: C/gtk-doc-manual.xml:92(revnumber)
+msgid "1.16"
+msgstr "1.16"
+
+#: C/gtk-doc-manual.xml:93(date)
+msgid "14 Jan 2011"
+msgstr "4 de enero de 2011"
+
+#: C/gtk-doc-manual.xml:95(revremark)
+msgid "bugfixes, layout improvements"
+msgstr "correcciones de errores, mejoras de diseño"
+
+#: C/gtk-doc-manual.xml:99(date)
+msgid "21 May 2010"
+msgstr "21 de mayo de 2010"
+
+#: C/gtk-doc-manual.xml:101(revremark)
+msgid "bug and regression fixes"
+msgstr "arreglos de errores y regresiones"
+
+#: C/gtk-doc-manual.xml:104(revnumber)
+msgid "1.14"
+msgstr "1.14"
+
+#: C/gtk-doc-manual.xml:105(date)
+msgid "28 March 2010"
+msgstr "28 de marzo de 2010"
+
+#: C/gtk-doc-manual.xml:107(revremark)
+msgid "bugfixes and performance improvements"
+msgstr "solución de errores y mejoras de rendimiento"
+
+#: C/gtk-doc-manual.xml:110(revnumber)
+msgid "1.13"
+msgstr "1.13"
+
+#: C/gtk-doc-manual.xml:111(date) C/gtk-doc-manual.xml:117(date)
+msgid "18 December 2009"
+msgstr "18 de diciembre de 2009"
+
+#: C/gtk-doc-manual.xml:113(revremark)
+msgid "broken tarball update"
+msgstr "actualización de archivador «tarball» roto"
+
+#: C/gtk-doc-manual.xml:116(revnumber)
+msgid "1.12"
+msgstr "1.12"
+
+#: C/gtk-doc-manual.xml:119(revremark)
+msgid "new tool features and bugfixes"
+msgstr "nuevas característicacs de la herramienta y errores solucionados"
+
+#: C/gtk-doc-manual.xml:122(revnumber)
+msgid "1.11"
+msgstr "1.11"
+
+#: C/gtk-doc-manual.xml:123(date)
+msgid "16 Novemebr 2008"
+msgstr "16 de noviemibre de 2008"
+
+#: C/gtk-doc-manual.xml:124(authorinitials)
+msgid "mal"
+msgstr "mal"
+
+#: C/gtk-doc-manual.xml:125(revremark)
+msgid "GNOME doc-utils migration"
+msgstr "Migración de GNOME doc-utils"
+
+#: C/gtk-doc-manual.xml:134(title)
+msgid "Introduction"
+msgstr "Introducción"
+
+#: C/gtk-doc-manual.xml:136(para)
+msgid ""
+"This chapter introduces GTK-Doc and gives an overview of what it is and how "
+"it is used."
+msgstr ""
+"Este capítulo introduce GTK-Doc y proporciona una visión general de lo que "
+"es y cómo usarlo."
+
+#: C/gtk-doc-manual.xml:142(title)
+msgid "What is GTK-Doc?"
+msgstr "¿Qué es GTK-Doc?"
+
+#: C/gtk-doc-manual.xml:144(para)
+msgid ""
+"GTK-Doc is used to document C code. It is typically used to document the "
+"public API of libraries, such as the GTK+ and GNOME libraries. But it can "
+"also be used to document application code."
+msgstr ""
+"GTK-Doc se usa para documentar código C. Generalmente se usa para documentar "
+"la API pública de bibliotecas, tales como las bibliotecas GTK+ y de GNOME. "
+"Pero también se puede usar para documentar código de aplicaciones."
+
+#: C/gtk-doc-manual.xml:152(title)
+msgid "How Does GTK-Doc Work?"
+msgstr "¿Cómo funciona GTK-Doc?"
+
+#: C/gtk-doc-manual.xml:154(para)
+msgid ""
+"GTK-Doc works by using documentation of functions placed inside the source "
+"files in specially-formatted comment blocks, or documentation added to the "
+"template files which GTK-Doc uses (though note that GTK-Doc will only "
+"document functions that are declared in header files; it won't produce "
+"output for static functions)."
+msgstr ""
+"GTK-Doc funciona usando documentación de las funciones ubicadas dentro de "
+"los archivos de fuentes en bloques de comentarios especialmente formateados, "
+"o documentación añadida a los archivos de plantillas que GTK-Doc usa (aunque "
+"debe notar que GTK-Doc sólo documentará las funciones declaradas en los "
+"archivos de cabecera; no produce salida para funciones estáticas)."
+
+#: C/gtk-doc-manual.xml:161(para)
+msgid ""
+"GTK-Doc consists of a number of perl scripts, each performing a different "
+"step in the process."
+msgstr ""
+"GTK-Doc consiste en un número de scripts en Perl, cada uno realiza un paso "
+"diferente en el proceso."
+
+#: C/gtk-doc-manual.xml:166(para)
+msgid "There are 5 main steps in the process:"
+msgstr "Existen 5 pasos importantes en el proceso:"
+
+#: C/gtk-doc-manual.xml:173(para)
+msgid ""
+"<guilabel>Writing the documentation.</guilabel> The author fills in the "
+"source files with the documentation for each function, macro, union etc. (In "
+"the past information was entered in generated template files, which is not "
+"recommended anymore)."
+msgstr ""
+"<guilabel>Escribir la documentación.</guilabel> El autor rellena los "
+"archivos de fuentes con la documentación para cada función, macro, unión, "
+"etc. (En el pasado la información se introducía en archivos de plantillas, "
+"lo que ya no se recomienda)."
+
+#: C/gtk-doc-manual.xml:183(para)
+msgid ""
+"<guilabel>Gathering information about the code.</"
+"guilabel><application>gtkdoc-scan</application> scans the header files of "
+"the code looking for declarations of functions, macros, enums, structs, and "
+"unions. It creates the file <filename><module>-decl-list.txt</"
+"filename> containg a list of the declarations, placing them into sections "
+"according to which header file they are in. On the first run this file is "
+"copied to <filename><module>-sections.txt</filename>. The author can "
+"rearrange the sections, and the order of the declarations within them, to "
+"produce the final desired order. The second file it generates is "
+"<filename><module>-decl.txt</filename>. This file contains the full "
+"declarations found by the scanner. If for some reason one would like some "
+"symbols to show up in the docs, where the full declaration cannot be found "
+"by the scanner or the declaration should appear differently, one can place "
+"enties similar to the ones in <filename><module>-decl.txt</filename> "
+"into <filename><module>-overrides.txt</filename>. <application>gtkdoc-"
+"scanobj</application> can also be used to dynamically query a library about "
+"any GtkObject subclasses it exports. It saves information about each "
+"object's position in the class hierarchy and about any GTK Args and Signals "
+"it provides."
+msgstr ""
+"<guilabel>Obtener información acerca del código</"
+"guilabel><application>gtkdoc-scan</application> analiza los archivos de "
+"cabecera del código buscando declaraciones de funciones, macros, "
+"enumeraciones, estructuras y uniones. Crea el archivo <filename><"
+"module>-decl-list.txt</filename> conteniendo una lista de las "
+"declaraciones, ubicándolas en secciones de acuerdo con el archivo de "
+"cabecera en el que están. Durante la primera ejecución este archivo se copia "
+"en <filename><module>-sections.txt</filename>. El autor puede "
+"reordenar las secciones y el orden de las declaraciones en ellas, para "
+"producir la salida deseada. El segundo archivo que genera es <filename><"
+"module>-decl.txt</filename>. Este archivo contiene las declaraciones "
+"completas que encontró el análisis. Si por alguna razón un programador "
+"quisiese que algunos símbolos apareciesen en los documentos, donde el "
+"análisis no puede encontrar la declaración completa o la declaración debería "
+"aparecer de forma diferente, puede introducir entradas de forma similar a "
+"las que hay en <filename><module>-decl.txt</filename> dentro de "
+"<filename><module>-overrides.txt</filename>. También se puede usar "
+"<application>gtkdoc-scanobj</application> para consultar dinámicamente una "
+"biblioteca acerca de las subclases GtkObject que exporta. Ahorra información "
+"acerca de la posición de cada objeto en la jerarquía de clases y acerca de "
+"cualquier señal y argumentos GTK que proporciona."
+
+#: C/gtk-doc-manual.xml:208(para)
+msgid ""
+"<guilabel>Generating the \"template\" files.</guilabel><application>gtkdoc-"
+"mktmpl</application> creates a number of files in the <filename class="
+"\"directory\">tmpl/</filename> subdirectory, using the information gathered "
+"in the first step. (Note that this can be run repeatedly. It will try to "
+"ensure that no documentation is ever lost.)"
+msgstr ""
+"<guilabel>Generar los archivos «plantilla».</guilabel> <application>gtkdoc-"
+"mktmpl</application> crea un número de archivos en el subdirectorio "
+"<filename class=\"directory\">tmpl/</filename>, usando la información "
+"obtenida en el primer paso. (Note que esto se puede ejecutar de forma "
+"separada. Intentará asegurarse de que la documentación nunca se pierde.)"
+
+#: C/gtk-doc-manual.xml:217(para)
+msgid ""
+"Since GTK-Doc 1.9 the templates can be avoided. We encourage people to keep "
+"documentation in the code. <application>gtkdocize</application> supports now "
+"a <option>--flavour no-tmpl</option> option that chooses a makefile that "
+"skips tmpl usage totally. If you have never changed file in tmpl by hand, "
+"please remove the dir (e.g. from version control system)."
+msgstr ""
+"Ya que las plantillas de GTK-Doc 1.9 se pueden evitar. Animamos a la gente a "
+"que mantenga la documentación en el código. <application>gtkdocize</"
+"application> ahora soporta una opción <command>--flavour no-tmpl</command> "
+"que elige un archivo makefile que omite completamente el uso de tmpl. Si "
+"nunca ha cambiado a mano el archivo tmpl, elimine el directorio una vez."
+
+#: C/gtk-doc-manual.xml:229(para)
+msgid ""
+"<guilabel>Generating the SGML/XML and HTML/PDF.</"
+"guilabel><application>gtkdoc-mkdb</application> turns the template files "
+"into SGML or XML files in the <filename class=\"directory\">sgml/</filename> "
+"or <filename class=\"directory\">xml/</filename> subdirectory. If the source "
+"code contains documentation on functions, using the special comment blocks, "
+"it gets merged in here. If there are no tmpl files used it only reads docs "
+"from sources and introspection data. We recommend to use Docbook XML."
+msgstr ""
+"<guilabel>Generar el SGML/XML y el HTML/PDF.</guilabel><application>gtkdoc-"
+"mkdb</application> convierte los archivos de plantilla en archivos SGML o "
+"XML en el subdirectorio <filename class=\"directory\">sgml/</filename> o "
+"<filename class=\"directory\">xml/</filename>. Si el código fuente contiene "
+"documentación de funciones, usando los bloques especiales de comentarios, "
+"entonces se mezclarán aquí. Si no se usan archivos tmpl sólo obtiene los "
+"documentos de los fuentes y los datos obtenidos en introspección. Se "
+"recomienda usar Docbook XML."
+
+#: C/gtk-doc-manual.xml:240(para)
+msgid ""
+"<application>gtkdoc-mkhtml</application> turns the SGML/XML files into HTML "
+"files in the <filename class=\"directory\">html/</filename> subdirectory. "
+"Likewise <application>gtkdoc-mkpdf</application> turns the SGML/XML files "
+"into a PDF document called <filename><package>.pdf</filename>."
+msgstr ""
+"<application>gtkdoc-mkhtml</application> convierte los archivos SGML/XML en "
+"archivos HTML en el subdirectorio <filename class=\"directory\">html/</"
+"filename>. De la misma forma <application>gtkdoc-mkpdf</application> "
+"convierte los archivos SGML/XML en un documento PDF llamado <filename><"
+"paquete>.pdf</filename>."
+
+#: C/gtk-doc-manual.xml:246(para)
+msgid ""
+"Files in <filename class=\"directory\">sgml/</filename> or <filename class="
+"\"directory\">xml/</filename> and <filename class=\"directory\">html/</"
+"filename> directories are always overwritten. One should never edit them "
+"directly."
+msgstr ""
+"Los archivos en los directorios <filename class=\"directory\">sgml/</"
+"filename> o <filename class=\"directory\">xml/</filename> y <filename class="
+"\"directory\">html/</filename> siempre se sobreescriben. Nunca se deben "
+"editar directamente."
+
+#: C/gtk-doc-manual.xml:254(para)
+msgid ""
+"<guilabel>Fixing up cross-references between documents.</guilabel> After "
+"installing the HTML files, <application>gtkdoc-fixxref</application> can be "
+"run to fix up any cross-references between separate documents. For example, "
+"the GTK+ documentation contains many cross-references to types documented in "
+"the GLib manual. When creating the source tarball for distribution, "
+"<application>gtkdoc-rebase</application> turns all external links into web-"
+"links. When installing distributed (pregenerated) docs the same application "
+"will try to turn links back to local links (where those docs are installed)."
+msgstr ""
+"<guilabel>Arreglar referencias cruzadas entre documentos.</guilabel> Después "
+"de instalar los archivos HTML se puede ejecutar <application>gtkdoc-fixxref</"
+"application> para arreglar cualquier referencia cruzada entre documentos "
+"separados. Por ejemplo, la documentación GTK+ contiene muchas referencias "
+"cruzadas a tipos documentados en el manual de GLib. Al crear los "
+"archivadores «tarball» para su distribución, <application>gtkdoc-rebase</"
+"application> convierte todos los enlaces externos en enlaces web. Al "
+"instalar la documentación distribuida (pregenerada) la misma aplicación "
+"intentará convertir de nuevo los enlaces, esta vez a enlaces locales (donde "
+"esa documentación está instalada)."
+
+#: C/gtk-doc-manual.xml:272(title)
+msgid "Getting GTK-Doc"
+msgstr "Obtener GTK-Doc"
+
+#: C/gtk-doc-manual.xml:275(title)
+msgid "Requirements"
+msgstr "Requerimientos"
+
+#: C/gtk-doc-manual.xml:276(para)
+msgid "<guilabel>Perl v5</guilabel> - the main scripts are in Perl."
+msgstr "<guilabel>Perl v5</guilabel>: los scripts principales están en Perl."
+
+#: C/gtk-doc-manual.xml:279(para)
+msgid ""
+"<guilabel>DocBook DTD v3.0</guilabel> - This is the DocBook SGML DTD. <ulink "
+"url=\"http://www.ora.com/davenport\" type=\"http\">http://www.ora.com/"
+"davenport</ulink>"
+msgstr ""
+"<guilabel>DocBook DTD v3.0</guilabel>: Este es el DocBook SGML DTD. <ulink "
+"url=\"http://www.ora.com/davenport\" type=\"http\">http://www.ora.com/"
+"davenport</ulink>"
+
+#: C/gtk-doc-manual.xml:283(para)
+msgid ""
+"<guilabel>Jade v1.1</guilabel> - This is a DSSSL processor for converting "
+"SGML to various formats. <ulink url=\"http://www.jclark.com/jade\" type="
+"\"http\">http://www.jclark.com/jade</ulink>"
+msgstr ""
+"<guilabel>Jade v1.1</guilabel>: Este es el procesador DSSSL para convertir "
+"SGML a varios formatos. <ulink url=\"http://www.jclark.com/jade\" type=\"http"
+"\">http://www.jclark.com/jade</ulink>"
+
+#: C/gtk-doc-manual.xml:287(para)
+msgid ""
+"<guilabel>Modular DocBook Stylesheets</guilabel> This is the DSSSL code to "
+"convert DocBook to HTML (and a few other formats). It's used together with "
+"jade. I've customized the DSSSL code slightly, in gtk-doc.dsl, to colour the "
+"program code listings/declarations, and to support global cross-reference "
+"indices in the generated HTML. <ulink url=\"http://nwalsh.com/docbook/dsssl"
+"\" type=\"http\">http://nwalsh.com/docbook/dsssl</ulink>"
+msgstr ""
+"<guilabel>Hojas de estilo DocBook modulares:</guilabel> Éste es el código "
+"DSSSL para convertir DocBook a HTML (y otros cuantos formatos). Se usa junto "
+"con jade. El código DSSSL está algo personalizado, en GTK-Doc dsl, para "
+"colorear el código de listas/declaraciones del programa y soportar índices "
+"de referencias cruzadas globales en el HTML generado. <ulink url=\"http://"
+"nwalsh.com/docbook/dsssl\" type=\"http\">http://nwalsh.com/docbook/dsssl</"
+"ulink>."
+
+#: C/gtk-doc-manual.xml:296(para)
+msgid ""
+"<guilabel>docbook-to-man</guilabel> - if you want to create man pages from "
+"the DocBook. I've customized the 'translation spec' slightly, to capitalise "
+"section headings and add the 'GTK Library' title at the top of the pages and "
+"the revision date at the bottom. There is a link to this on <ulink url="
+"\"http://www.ora.com/davenport\" type=\"http\">http://www.ora.com/davenport</"
+"ulink> NOTE: This does not work yet."
+msgstr ""
+"<guilabel>docbook-to-man</guilabel>: Si quiere crear páginas man desde el "
+"DocBook. «translation spec» se ha personalizado un poco para capitalizar la "
+"sección de cabeceras y añadir un título de «Biblioteca GTK» en la parte "
+"superior de las páginas y la fecha de revisión al final. Existe un enlace "
+"acerca de esto en <ulink url=\"http://www.ora.com/davenport\" type=\"http"
+"\">http://www.ora.com/davenport</ulink>. NOTA: Esto aún no funciona."
+
+#: C/gtk-doc-manual.xml:307(title)
+msgid "Installation"
+msgstr "Instalación"
+
+#: C/gtk-doc-manual.xml:308(para)
+msgid ""
+"There is no standard place where the DocBook Modular Stylesheets are "
+"installed."
+msgstr ""
+"No existe ningún sitio estándar donde se instalan las hojas de estilo "
+"modulares de DocBook."
+
+#: C/gtk-doc-manual.xml:311(para)
+msgid "GTK-Doc's configure script searches these 3 directories automatically:"
+msgstr ""
+"El script de configuración de GTK-Doc busca estos tres directorios "
+"automáticamente:"
+
+#: C/gtk-doc-manual.xml:314(para)
+msgid ""
+"<filename> /usr/lib/sgml/stylesheets/nwalsh-modular </filename> (used by "
+"RedHat)"
+msgstr ""
+"<filename> /usr/lib/sgml/stylesheets/nwalsh-modular </filename> (usado por "
+"RedHat)"
+
+#: C/gtk-doc-manual.xml:317(para)
+msgid ""
+"<filename> /usr/lib/dsssl/stylesheets/docbook </filename> (used by Debian)"
+msgstr ""
+"<filename> /usr/lib/dsssl/stylesheets/docbook </filename> (usado por Debian)"
+
+#: C/gtk-doc-manual.xml:320(para)
+msgid "<filename> /usr/share/sgml/docbkdsl </filename> (used by SuSE)"
+msgstr "<filename> /usr/share/sgml/docbkdsl </filename> (usado por SuSE)"
+
+#: C/gtk-doc-manual.xml:323(para)
+msgid ""
+"If you have the stylesheets installed somewhere else, you need to configure "
+"GTK-Doc using the option: <command> --with-dsssl-dir=<"
+"PATH_TO_TOPLEVEL_STYLESHEETS_DIR> </command>"
+msgstr ""
+"Si tiene las hojas de estilo instaladas en algún otro sitio, deberá "
+"configurar GTK-Doc usando la opción: <command> --with-dsssl-dir=<"
+"RUTA_AL_DIRECTORIO_DE_NIVEL_SUPERIOR_DE_LAS_HOJAS_DE_ESTILO> </command>"
+
+#: C/gtk-doc-manual.xml:347(title)
+msgid "About GTK-Doc"
+msgstr "Acerca de GTK-Doc"
+
+#: C/gtk-doc-manual.xml:349(para) C/gtk-doc-manual.xml:363(para)
+msgid "(FIXME)"
+msgstr "(ARRÉGLAME)"
+
+#: C/gtk-doc-manual.xml:353(para)
+msgid ""
+"(History, authors, web pages, license, future plans, comparison with other "
+"similar systems.)"
+msgstr ""
+"(Historia, autores, páginas web, licencias, planes futuros, comparación con "
+"otros sistemas similares.)"
+
+#: C/gtk-doc-manual.xml:361(title)
+msgid "About this Manual"
+msgstr "Acerca de este manual"
+
+#: C/gtk-doc-manual.xml:367(para)
+msgid "(who it is meant for, where you can get it, license)"
+msgstr "(a quién está dirigido, dónde puede obtenerse, licencia)"
+
+#: C/gtk-doc-manual.xml:376(title)
+msgid "Setting up your project"
+msgstr "Configurando su proyecto"
+
+#: C/gtk-doc-manual.xml:378(para)
+msgid ""
+"The next sections describe what steps to perform to integrate GTK-Doc into "
+"your project. Theses sections assume we work on a project called 'meep'. "
+"This project contains a library called 'libmeep' and an end-user app called "
+"'meeper'. We also assume you will be using autoconf and automake. In "
+"addition section <link linkend=\"plain_makefiles\">plain makefiles or other "
+"build systems</link> will describe the basics needed to work in a different "
+"build setup."
+msgstr ""
+"Las siguientes secciones describen los pasos que realizar para integrar GTK-"
+"Doc en su proyecto. Estas secciones asumen que se trabaja en un proyecto "
+"llamado «meep». Este proyecto contiene una biblioteca llamada «libmeep» y una "
+"aplicación final de usuario llamada «meeper». También se asume que usará "
+"«autoconf» y «automake». En la sección <link linkend=\"plain_makefiles"
+"\">Integración con makefiles u otros sistemas de construcción</link> se "
+"describen las necesidades básicas para trabajar con un sistema de "
+"construcción diferente."
+
+#: C/gtk-doc-manual.xml:389(title)
+msgid "Setting up a skeleton documentation"
+msgstr "Configurar el esquema de la documentación"
+
+#: C/gtk-doc-manual.xml:391(para)
+msgid ""
+"Under your top-level project directory create folders called docs/reference "
+"(this way you can also have docs/help for end-user documentation). It is "
+"recommended to create another subdirectory with the name of the doc-package. "
+"For packages with just one library this step is not necessary."
+msgstr ""
+"Bajo su directorio de nivel superior cree carpetas llamadas docs/reference "
+"(de esta forma también puede tener docs/help para la documentación final de "
+"usuario). Se recomienda crear otro subdirectorio con el nombre doc-package. "
+"Para paquetes con una sola biblioteca este paso no es necesario."
+
+#: C/gtk-doc-manual.xml:400(title)
+msgid "Example directory structure"
+msgstr "Ejemplo de estructura de directorios"
+
+#: C/gtk-doc-manual.xml:398(para)
+msgid "This can then look as shown below: <placeholder-1/>"
+msgstr "Esto después aparecerá como se muestra debajo: <placeholder-1/>"
+
+#: C/gtk-doc-manual.xml:418(title) C/gtk-doc-manual.xml:425(title)
+msgid "Integration with autoconf"
+msgstr "Integración con autoconf"
+
+#: C/gtk-doc-manual.xml:420(para)
+msgid ""
+"Very easy! Just add one line to your <filename>configure.ac</filename> "
+"script."
+msgstr ""
+"Muy fácil, simplemente añada una línea a su script <filename>configure.ac</"
+"filename>."
+
+#: C/gtk-doc-manual.xml:440(title)
+msgid "Keep gtk-doc optional"
+msgstr "Mantener gtk-doc como opcional"
+
+#: C/gtk-doc-manual.xml:435(para)
+msgid ""
+"This will require all developers to have gtk-doc installed. If it is okay "
+"for your project to have optional api-doc build setup, you can solve this as "
+"below. Keep it as is, as gtkdocize is looking for <function>GTK_DOC_CHECK</"
+"function> at the start of a line. <placeholder-1/>"
+msgstr ""
+"Esto requerirá que todos los desarrolladores tengan gtk-doc instalado. Si "
+"para su proyecto es correcto tener una configuración de construcción de api-"
+"doc opcional, puede resolver esto como sigue. Manténgalo como está, ya que "
+"gtkdocize busca en <function>GTK_DOC_CHECK</function> al inicio de la línea. "
+"<placeholder-1/>"
+
+#: C/gtk-doc-manual.xml:454(para)
+msgid ""
+"The first argument is used to check for the gtkdocversion at configure time. "
+"The 2nd, optional argument is used by <application>gtkdocize</application>. "
+"The <symbol>GTK_DOC_CHECK</symbol> macro also adds several configure "
+"switches:"
+msgstr ""
+"El primer argumento se usa para comprobar gtkdocversion durante la "
+"configuración. El segundo, y opcional, argumento lo usa "
+"<application>gtkdocize</application>. La macro <symbol>GTK_DOC_CHECK</"
+"symbol> también añade diversas opciones de configuración:"
+
+#: C/gtk-doc-manual.xml:460(para)
+msgid "--with-html-dir=PATH : path to installed docs"
+msgstr "--with-html-dir=RUTA: ruta a los documentos instalados"
+
+#: C/gtk-doc-manual.xml:461(para)
+msgid "--enable-gtk-doc : use gtk-doc to build documentation [default=no]"
+msgstr ""
+"--enable-gtk-doc: usar gtk-doc para construir la documentación "
+"[predeterminado=no]"
+
+#: C/gtk-doc-manual.xml:462(para)
+msgid ""
+"--enable-gtk-doc-html : build documentation in html format [default=yes]"
+msgstr ""
+"--enable-gtk-doc: usar gtk-doc para construir la documentación "
+"[predeterminado=sí]"
+
+#: C/gtk-doc-manual.xml:463(para)
+msgid "--enable-gtk-doc-pdf : build documentation in pdf format [default=no]"
+msgstr ""
+"--enable-gtk-doc: usar gtk-doc para construir la documentación "
+"[predeterminado=no]"
+
+#: C/gtk-doc-manual.xml:467(para)
+msgid ""
+"GTK-Doc is disabled by default! Remember to pass the option <option>'--"
+"enable-gtk-doc'</option> to the next <filename>configure</filename> run. "
+"Otherwise pregenerated documentation is installed (which makes sense for "
+"users but not for developers)."
+msgstr ""
+"GTK-Doc está desactivado de forma predeterminada. Recuerde pasar la opción "
+"<option>«--enable-gtk-doc»</option> en la siguiente ejecución de "
+"<filename>configure</filename>. De otra forma, la documentación pregenerada "
+"se instala (lo que tiene sentido para usuarios, pero no para "
+"desarrolladores)."
+
+#: C/gtk-doc-manual.xml:475(para)
+msgid ""
+"Furthermore it is recommended that you have the following line inside you "
+"<filename>configure.ac</filename> script. This allows "
+"<application>gtkdocize</application> to automatically copy the macro "
+"definition for <function>GTK_DOC_CHECK</function> to your project."
+msgstr ""
+"Aún más, se recomienda que tenga la siguiente línea en su script "
+"<filename>configure.ac</filename>. Esto permite que <filename>gtkdocize</"
+"filename> copie automáticamente la definición del macro para "
+"<function>GTK_DOC_CHECK</function> a su proyecto."
+
+#: C/gtk-doc-manual.xml:483(title)
+msgid "Preparation for gtkdocize"
+msgstr "Preparación para gtkdocize"
+
+#: C/gtk-doc-manual.xml:494(title)
+msgid "Integration with automake"
+msgstr "Integración con automake"
+
+#: C/gtk-doc-manual.xml:496(para)
+msgid ""
+"First copy the <filename>Makefile.am</filename> from the examples "
+"subdirectory of the gtkdoc-sources to your project's API documentation "
+"directory ( <filename class=\"directory\">./docs/reference/<package></"
+"filename>). If you have multiple doc-packages repeat this for each one."
+msgstr ""
+"Primero copie el archivo <filename>Makefile.am</filename> del subdirectorio "
+"de ejemplos de gtkdoc-sources al directorio de documentación de la API de su "
+"proyecto (<filename class=\"directory\">./docs/reference/<paquete></"
+"filename>). Si tiene varios paquetes de documentación, repítalo para cada "
+"uno de ellos."
+
+#: C/gtk-doc-manual.xml:503(para)
+msgid ""
+"The next step is to edit the settings inside the <filename>Makefile.am</"
+"filename>. All the settings have a comment above that describes their "
+"purpose. Most settings are extra flags passed to the respective tools. Every "
+"tool has a variable of the form <option><TOOLNAME>_OPTIONS</option>. "
+"All the tools support <option>--help</option> to list the supported "
+"parameters."
+msgstr ""
+"El siguiente paso es editar la configuración dentro de <filename>Makefile."
+"am</filename>. Todos los ajustes tienen un comentario encima que describe su "
+"propósito. Muchos ajustes son opciones adicionales pasadas a las respectivas "
+"herramientas. Cada herramienta tiene una variable de la forma <option><"
+"NOMBRE_DE_LA_HERRAMIENTA>_OPCIONES</option>. Todas las herramientas "
+"soportan <option>--help</option> para listar los parámetros que soportan."
+
+#. FIXME: explain options ?
+#: C/gtk-doc-manual.xml:514(para)
+msgid ""
+"You may also want to enable GTK-Doc for the distcheck make target. Just add "
+"the one line shown in the next example to your top-level <filename>Makefile."
+"am</filename>:"
+msgstr ""
+"Puede que también quiera activar GTK-Doc para el objetivo distcheckmate. "
+"Simplemente añada la línea mostrada en el siguiente ejemplo a su nivel "
+"superior de <filename>Makefile.am</filename>:"
+
+#: C/gtk-doc-manual.xml:521(title)
+msgid "Enable GTK-Doc during make distcheck"
+msgstr "Activar GTK-Doc durante make distcheck"
+
+#: C/gtk-doc-manual.xml:533(title)
+msgid "Integration with autogen"
+msgstr "Integración con autogen"
+
+#: C/gtk-doc-manual.xml:535(para)
+msgid ""
+"Most projects will have an <filename>autogen.sh</filename> script to setup "
+"the build infrastructure after a checkout from version control system (such "
+"as cvs/svn/git). GTK-Doc comes with a tool called <application>gtkdocize</"
+"application> which can be used in such a script. It should be run before "
+"autoheader, automake or autoconf."
+msgstr ""
+"La mayoría de los proyectos tienen un script <filename>autogen.sh</filename> "
+"para configurar la infraestructura de construcción después de hacer un "
+"«checkout» desde los sistemas de control de versiones (tales como cvs/svn/"
+"git). GTK-Doc tiene una herramienta llamada <filename>gtkdocize</filename> "
+"que se puede usar en tal script. Se debería ejecutar antes que autoheader, "
+"automake o autoconf."
+
+#: C/gtk-doc-manual.xml:544(title)
+msgid "Running gtkdocize from autogen.sh"
+msgstr "Ejecutar gtkdocize desde autogen.sh"
+
+#: C/gtk-doc-manual.xml:553(para)
+msgid ""
+"When running <application>gtkdocize</application> it copies <filename>gtk-"
+"doc.make</filename> to your project root (or any directory specified by the "
+"<option>--docdir</option> option). It also checks you configure script for "
+"the <function>GTK_DOC_CHECK</function> invocation. This macro can be used to "
+"pass extra parameters to <application>gtkdocize</application>."
+msgstr ""
+"Al ejecutar <filename>gtkdocize</filename> copia <filename>gtk-doc.make</"
+"filename> a la raíz de su proyecto (o cualquier directorio especificado por "
+"la opción <option>--docdir</option>). También comprueba su script de "
+"configuración para la invocación de <function>GTK_DOC_CHECK</function>. Esta "
+"macro se puede usar para pasar parámetros adicionales a "
+"<application>gtkdocize</application>."
+
+#: C/gtk-doc-manual.xml:562(para)
+msgid ""
+"Historically GTK-Doc was generating template files where developers entered "
+"the docs. This turned out to be not so good (e.g. the need for having "
+"generated files under version control). Since GTK-Doc 1.9 the tools can get "
+"all the information from source comments and thus the templates can be "
+"avoided. We encourage people to keep documentation in the code. "
+"<application>gtkdocize</application> supports now a <option>--flavour no-"
+"tmpl</option> option that chooses a makefile that skips tmpl usage totally. "
+"Besides adding the option directly to the command invocation, they can be "
+"added also to an environment variable called <symbol>GTKDOCIZE_FLAGS</"
+"symbol> or set as a 2nd parameter in <symbol>GTK_DOC_CHECK</symbol> macro in "
+"the configure script. If you have never changed file in tmpl by hand and "
+"migrating from older gtkdoc versions, please remove the dir (e.g. from "
+"version control system)."
+msgstr ""
+"Históricamente GTK-Doc generaba plantillas de archivos donde los "
+"desarrolladores introducían los documentos. Al final esto resulto no ser muy "
+"bueno (por ejemplo, por la necesidad de tener archivos generados bajo un "
+"control de versiones). Desde la versión de DTK-Doc 1.9 las herramientas "
+"pueden obtener toda la información desde los comentarios del código fuente y "
+"por ello se pueden evitar las plantillas. Se anima a los desarrolladores a "
+"mantener su documentación en el código. <application>gtkdocize</application> "
+"ahora soporta una opción <option>--flavour no-tmpl</option> que elije un "
+"makefile que omite completamente el uso de plantillas. Además de añadir la "
+"opción directamente a la línea de comandos al invocarlo, se pueden añadir a "
+"una variable de entorno llamada <symbol>GTKDOCIZE_FLAGS</symbol> o "
+"configurar como un segundo parámetro en la macro <symbol>GTK_DOC_CHECK</"
+"symbol> en el script de configuración. Si nunca ha cambiado un archivo tmpl "
+"(plantilla) a mano, elimine el directorio una vez (ej. del sistema de "
+"control de versiones)."
+
+#: C/gtk-doc-manual.xml:579(title) C/gtk-doc-manual.xml:596(title)
+msgid "Running the doc build"
+msgstr "Ejecutar la construcción de la documentación"
+
+#: C/gtk-doc-manual.xml:581(para)
+msgid ""
+"After the previous steps it's time to run the build. First we need to rerun "
+"<filename>autogen.sh</filename>. If this script runs configure for you, then "
+"give it the <option>--enable-gtk-doc</option> option. Otherwise manually run "
+"<filename>configure</filename> with this option afterwards."
+msgstr ""
+"Después de los pasos anteriores es hora de ejecutar el constructor. Primero "
+"se debe volver a ejecutar <filename>autogen.sh</filename>. Si este script "
+"ejecuta configure automáticamente, entonces debe pasar la opción <option>--"
+"enable-gtk-doc</option>. De otra forma, ejecute posteriormente "
+"<filename>configure</filename> con esta opción."
+
+#: C/gtk-doc-manual.xml:588(para)
+msgid ""
+"The first make run generates several additional files in the doc-dirs. The "
+"important ones are: <filename><package>.types</filename>, "
+"<filename><package>-docs.xml</filename> (in the past .sgml), "
+"<filename><package>-sections.txt</filename>."
+msgstr ""
+"El primer make genera diversas líneas adicionales en los directorios de "
+"documentación. Las importantes son: <filename><paquete>.types</"
+"filename>, <filename><paquete>-docs.xml</filename> (.sgml en el "
+"pasado) y <filename><paquete>-sections.txt</filename>."
+
+#: C/gtk-doc-manual.xml:605(para)
+msgid ""
+"Now you can point your browser to <filename>docs/reference/<package>/"
+"index.html</filename>. Yes, it's a bit disappointing still. But hang-on, "
+"during the next chapter we tell you how to fill the pages with life."
+msgstr ""
+"Ahora puede apuntar su navegador a <filename>docs/reference/<paquete>/"
+"index.html</filename>. Sí, aún es un poco decepcionante. Pero espere, "
+"durante el siguiente capítulo aprenderá a rellenar las páginas con "
+"información."
+
+#: C/gtk-doc-manual.xml:613(title)
+msgid "Integration with version control systems"
+msgstr "Integración con los sistemas de control de versiones"
+
+#: C/gtk-doc-manual.xml:615(para)
+msgid ""
+"As a rule of the thumb, it's those files you edit, that should go under "
+"version control. For typical projects it's these files: <filename><"
+"package>.types</filename>, <filename><package>-docs..xml</filename> "
+"(in the past .sgml), <filename><package>-sections.txt</filename>, "
+"<filename>Makefile.am</filename>"
+msgstr ""
+"Como regla principal, son los archivos que edita, los que deberían estar "
+"bajo el control de versiones. Para proyectos típicos son los archivos: "
+"<filename><paquete>.types</filename>, <filename><paquete>-docs."
+"xml</filename> (.sgml en el pasado), <filename><paquete>-sections.txt</"
+"filename> y <filename>Makefile.am</filename>."
+
+#: C/gtk-doc-manual.xml:626(title)
+msgid "Integration with plain makefiles or other build systems"
+msgstr "Integración con makefiles u otros sistemas de construcción"
+
+#: C/gtk-doc-manual.xml:628(para)
+msgid ""
+"In the case one does not want to use automake and therfore <filename>gtk-doc."
+"mak</filename> one will need to call the gtkdoc tools in the right order in "
+"own makefiles (or other build tools)."
+msgstr ""
+"En el caso de que no quiera usar automake y por ello <filename>gtk-doc.mak</"
+"filename> deberá llamar a las herramientas gtkdoc en el orden correcto en "
+"makefiles propios (u otras herramientas de construcción)."
+
+#: C/gtk-doc-manual.xml:635(title)
+msgid "Documentation build steps"
+msgstr "Pasos de construcción de la documentación"
+
+#: C/gtk-doc-manual.xml:652(para)
+msgid ""
+"One will need to look at the <filename>Makefile.am</filename> and "
+"<filename>gtk-doc.mak</filename> to pick the extra options needed."
+msgstr ""
+"Deberá mirar en el archivo <filename>Makefile.am</filename> y <filename>gtk-"
+"doc.mak</filename> para elegir las opciones adicionales necesarias."
+
+#: C/gtk-doc-manual.xml:661(title)
+msgid "Documenting the code"
+msgstr "Documentar el código"
+
+#: C/gtk-doc-manual.xml:663(para)
+msgid ""
+"GTK-Doc uses source code comment with a special syntax for code "
+"documentation. Further it retrieves information about your project structure "
+"from other sources. During the next section you will find all information "
+"about the syntax of the comments."
+msgstr ""
+"GTK-Doc usa código fuente comentado con una sintaxis especial para "
+"documentar el código. Además obtiene información acerca de la estructura de "
+"su proyecto de otras fuentes. En la siguiente sección encontrará información "
+"acerca de la sintaxis de los comentarios."
+
+#: C/gtk-doc-manual.xml:671(title)
+msgid "Documentation placement"
+msgstr "Ubicación de la documentación"
+
+#: C/gtk-doc-manual.xml:672(para)
+msgid ""
+"In the past most documentation had to be filled into files residing inside "
+"the <filename>tmpl</filename> directory. This has the disadvantages that the "
+"information is often not updated and also that the file tend to cause "
+"conflicts with version control systems."
+msgstr ""
+"En el pasado la mayoría de la documentación se debía rellenar en campos "
+"dentro del directorio <filename>tmpl</filename>. Esto tiene las desventajas "
+"de que la información. Esto tiene las desventajas de que la información no "
+"se actualiza muy a menudo y que el archivo tiene tendencia a causar "
+"conflictos con los sistemas de control de versiones."
+
+#: C/gtk-doc-manual.xml:678(para)
+msgid ""
+"The avoid the aforementioned problems we suggest putting the documentation "
+"inside the sources. This manual will only describe this way of documenting "
+"code."
+msgstr ""
+"Para evitar los problemas anteriormente mencionados, se sugiere dejar la "
+"documentación dentro de los fuentes. Este manual sólo describe esta forma de "
+"documentar el código."
+
+#: C/gtk-doc-manual.xml:689(title) C/gtk-doc-manual.xml:708(title)
+msgid "GTK-Doc comment block"
+msgstr "Bloque de comentario de GTK-Doc"
+
+#: C/gtk-doc-manual.xml:685(para)
+msgid ""
+"The scanner can handle the majority of c headers fine. In the case of "
+"receiving warnings from the scanner that look like a special case, one can "
+"hint GTK-Doc to skip over them. <placeholder-1/>"
+msgstr ""
+"El analizador puede manejar bien la mayoría de cabeceras de C. En el caso de "
+"recibir avisos del analizador que parecen casos especiales, puede sugerir a "
+"GTK-Doc que los omita. <placeholder-1/>"
+
+#: C/gtk-doc-manual.xml:703(title)
+msgid "Documentation comments"
+msgstr "Comentarios de la documentación"
+
+#: C/gtk-doc-manual.xml:705(para)
+msgid ""
+"A multiline comment that starts with an additional '*' marks a documentation "
+"block that will be processed by the GTK-Doc tools. <placeholder-1/>"
+msgstr ""
+"Un comentario de varias líneas que comienza con un «*» adicional marca un "
+"bloque de documentación que GTK-Doc tools procesarán. <placeholder-1/>"
+
+#: C/gtk-doc-manual.xml:720(para)
+msgid ""
+"The 'identifier' is one line with the name of the item the comment is "
+"related to. The syntax differs a little depending on the item. (TODO add "
+"table showing identifiers)"
+msgstr ""
+"El «identificador» es una línea con el nombre del elemento relacionado con el "
+"comentario. La sintaxis difiere un poco dependiendo del elemento. (Por "
+"hacer: añadir una tabla mostrando los identificadores)"
+
+#: C/gtk-doc-manual.xml:726(para)
+msgid ""
+"The 'documentation' block is also different for each symbol type. Symbol "
+"types that get parameters such as functions or macros have the parameter "
+"description first followed by a blank line (just a '*'). Afterwards follows "
+"the detailed description. All lines (outside program- listings and CDATA "
+"sections) just containing a ' *' (blank-asterisk) are converted to paragraph "
+"breaks. If you don't want a paragraph break, change that into ' * ' (blank-"
+"asterisk-blank-blank)."
+msgstr ""
+"El bloque de «Documentación» también es diferente para cada tipo de símbolo. "
+"Los tipos de símbolos que obtienen parámetros tales como funciones o macros, "
+"tienen primero las descripciones seguidas por una línea blanca (exactamente "
+"un «*»). Después siguen las descripciones detalladas. Todas las líneas (fuera "
+"de los programas; listaso y CDATA de la secciones) que solo contengan un « "
+"*» (asterisco con espacio) son convertidos en párrafos. Si no quiere un "
+"espaciado de párrafo, cámbielo a un « * » (espacio-asterisco-espacio)."
+
+#: C/gtk-doc-manual.xml:742(para)
+msgid ""
+"What it is: The name for a class or function can sometimes be misleading for "
+"people coming from a different background."
+msgstr ""
+"Qué es: el nombre de la clase o la función puede confundir a veces a "
+"personas que provengan de otros entornos."
+
+#: C/gtk-doc-manual.xml:748(para)
+msgid ""
+"What it does: Tell about common uses. Put it in releation with the other API."
+msgstr "Qué hace: indique los usos comunes, en relación con las otras API."
+
+#: C/gtk-doc-manual.xml:738(para)
+#| msgid "To refer to a type: <placeholder-1/>"
+msgid "When documenting code, describe two apsects: <placeholder-1/>"
+msgstr "Al documentar código, describa dos aspectos: <placeholder-1/>"
+
+#: C/gtk-doc-manual.xml:763(para)
+msgid "Use function() to refer to functions or macros which take arguments."
+msgstr ""
+"Use función() para referirse a funciones o macros que toman argumentos."
+
+#: C/gtk-doc-manual.xml:768(para)
+msgid ""
+"Use @param to refer to parameters. Also use this when referring to "
+"parameters of other functions, related to the one being described."
+msgstr ""
+"Use @parámetro para referirse a parámetros. Úselo también al referirse a "
+"parámetros de otras funciones, relacionados al que se describe."
+
+#: C/gtk-doc-manual.xml:774(para)
+msgid "Use %constant to refer to a constant, e.g. %G_TRAVERSE_LEAFS."
+msgstr "Use %constant para referirse a una constante, ej: %G_TRAVERSE_LEAFS."
+
+#: C/gtk-doc-manual.xml:779(para)
+msgid ""
+"Use #symbol to refer to other types of symbol, e.g. structs and enums and "
+"macros which don't take arguments."
+msgstr ""
+"Use #símbolo para referirse a otro tipo de símbolos, como por ejemplo "
+"estructuras, enumeraciones y macros que no toman argumentos."
+
+#: C/gtk-doc-manual.xml:785(para)
+msgid "Use #Object::signal to refer to a GObject signal"
+msgstr "Use #Object::signal para referirse a una señal de GObject"
+
+#: C/gtk-doc-manual.xml:790(para)
+msgid "Use #Object:property to refer to a GObject property"
+msgstr "Use #Object:property para referirse a una propiedad de GObject"
+
+#: C/gtk-doc-manual.xml:795(para)
+msgid "Use #Struct.field to refer to a field inside a structure."
+msgstr "Use #Struct.field para referirse a un campo dentro de una estructura"
+
+#: C/gtk-doc-manual.xml:757(para)
+msgid ""
+"One advantage of hyper-text over plain-text is the ability to have links in "
+"the document. Writing the correct markup for a link can be tedious though. "
+"GTK-Doc comes to help by providing several useful abbreviations. "
+"<placeholder-1/>"
+msgstr ""
+"Una ventaja del hipertexto sobre el texto plano es la capacidad de tener "
+"enlaces en el documento. Escribir las marcas adecuadas para un enlace puede "
+"ser tedioso aunque GTK-Doc le ayuda proporcionando abreviaturas útiles. "
+"<placeholder-1/>"
+
+#: C/gtk-doc-manual.xml:803(para)
+msgid ""
+"If you need to use the special characters '<', '>', '()', '@', '%', or "
+"'#' in your documentation without GTK-Doc changing them you can use the XML "
+"entities \"&lt;\", \"&gt;\", \"&lpar;\", \"&rpar;\", \"&"
+"commat;\", \"&percnt;\" and \"&num;\" respectively or escape them "
+"with a backslash '\\'."
+msgstr ""
+"Si necesita usar los caracteres especiales «<», «>», «()», «@», «%», o «#» "
+"en su documentación sin que GTK-Doc los cambie, puede usar las entidades XML "
+"«&lt;», «&gt;», «amp;lpar;», «amp;rpar;», «amp;commat;» «&percnt;» y "
+"«&num;» respectivamente o escaparlas con una contrabarra doble «\\»."
+
+#: C/gtk-doc-manual.xml:812(para)
+msgid ""
+"DocBook can do more than just links. One can also have lists, tables and "
+"examples. To enable the usage of docbook SGML/XML tags inside doc-comments "
+"you need to have <option>--xml-mode</option> or <option>--sgml-mode</option> "
+"in the variable <symbol>MKDB_OPTIONS</symbol> inside <filename>Makefile.am</"
+"filename>."
+msgstr ""
+"DocBook puede hacer más que insertar enlaces. Puede tener listas, tablas y "
+"ejemplos. Para activar el uso de etiquetas SGML/XML dentro de comentarios en "
+"la documentación debe tener <option>--xml-mode</option> o <option>--sgml-"
+"mode</option> en la variable <symbol>MKDB_OPTIONS</symbol> dentro de "
+"<filename>Makefile.am</filename>."
+
+#: C/gtk-doc-manual.xml:826(title)
+msgid "GTK-Doc comment block using markdown"
+msgstr "Bloque de comentario de GTK-Doc usando marcado"
+
+#: C/gtk-doc-manual.xml:820(para)
+msgid ""
+"Since GTK-Doc-1.18 the tool supports a subset or the <ulink url=\"http://"
+"daringfireball.net/projects/markdown/\">markdown language</ulink>. One can "
+"use it for sub-headings and simple itemized lists. On older GTK-Doc versions "
+"the content will be rendered as it (the list items will appear in one line "
+"separated by dashes). <placeholder-1/>"
+msgstr ""
+"Desde GTK-Doc-1.18 la herramienta soporta un subconjunto de <ulink url="
+"\"http://daringfireball.net/projects/markdown/\">lenguajes de marcado</"
+"ulink>. Se pueden usar para títulos secundarios y listas de elementos "
+"simples. En versiones más antiguas de GTK-Doc el contenido se puede "
+"renderizar como tal (la lista de elementos aparecerá en una línea separada "
+"por guiones). <placeholder-1/>"
+
+#: C/gtk-doc-manual.xml:848(para)
+msgid ""
+"As already mentioned earlier GTK-Doc is for documenting public API. Thus one "
+"cannot write documentation for static symbols. Nevertheless it is good to "
+"comment those symbols too. This helps other to understand you code. "
+"Therefore we recommend to comment these using normal comments (without the "
+"2nd '*' in the first line). If later the function needs to be made public, "
+"all one needs to do is to add another '*' in the comment block and insert "
+"the symbol name at the right place inside the sections file."
+msgstr ""
+"Tal y como se ha mencionado antes, la documentación anterior de GTK-Doc es "
+"para documentar la API pública .Por ello, no se puede escribir documentación "
+"para los símbolos estáticos. No obstante es una buena práctica comentar los "
+"símbolos. Esto ayuda a que otros entiendan su código. Por ello se recomienda "
+"comentarlos usando comentarios normales (sin el segundo «*» en la primera "
+"línea). Si la función, posteriormente, se debe hacer pública, todo lo que el "
+"programador debe hacer es añadir otro «*» en el bloque de comentario e "
+"introducir el nombre del símbolo en la parte derecha dentro del archivo de "
+"secciones."
+
+#: C/gtk-doc-manual.xml:862(title)
+msgid "Documenting sections"
+msgstr "Documentar secciones"
+
+#: C/gtk-doc-manual.xml:864(para)
+msgid ""
+"Each section of the documentation contains information about one class or "
+"module. To introduce the component one can write a section block. The short "
+"description is also used inside the table of contents. All the @fields are "
+"optional."
+msgstr ""
+"Cada sección del documento contiene información acerca de una clase o un "
+"módulo. Para introducir el componente puede escribir un bloque de sección. "
+"La descripción corta además se usa dentro de la tabla de contenidos. Todos "
+"los campos @ son opcionales."
+
+#: C/gtk-doc-manual.xml:872(title)
+msgid "Section comment block"
+msgstr "Bloque de comentarios en una sección"
+
+#: C/gtk-doc-manual.xml:894(term)
+msgid "SECTION:<name>"
+msgstr "SECCIÓN <nombre>"
+
+#: C/gtk-doc-manual.xml:896(para)
+msgid ""
+"The name links the section documentation to the respective part in the "
+"<filename><package>-sections.txt</filename> file. The name give here "
+"should match the <FILE> tag in the <filename><package>-sections."
+"txt</filename> file."
+msgstr ""
+"El nombre enlaza la sección de la documentación con la parte respectiva en "
+"el archivo <filename><package>-sections.txt</filename>. El nombre aquí "
+"proporcionado debería coincidir con la etiqueta <ARCHIVO> en el "
+"archivo <filename><package>-sections.txt</filename>."
+
+#: C/gtk-doc-manual.xml:905(term)
+msgid "@short_description"
+msgstr "@short_description"
+
+#: C/gtk-doc-manual.xml:907(para)
+msgid ""
+"A one line description of the section, that later will appear after the "
+"links in the TOC and at the top of the section page."
+msgstr ""
+"Una línea descrita en la sección, que después aparece tras los enlaces en el "
+"TOC y en la página de la sección."
+
+#: C/gtk-doc-manual.xml:914(term)
+msgid "@title"
+msgstr "@title"
+
+#: C/gtk-doc-manual.xml:916(para)
+msgid ""
+"The section title defaults to <name> from the SECTION declaration. It "
+"can be overridden with the @title field."
+msgstr ""
+"De forma predeterminada el título de la sección es <name> de la "
+"declaración SECTION. Se puede sobreescribir con el campo @title."
+
+#: C/gtk-doc-manual.xml:923(term)
+msgid "@section_id"
+msgstr "@section_id"
+
+#: C/gtk-doc-manual.xml:925(para)
+msgid ""
+"Overrides the use of title as a section identifier. For GObjects the <"
+"title> is used as a section_id and for other sections it is <"
+"MODULE>-<title>."
+msgstr ""
+"Sobreescribe el uso del título como el identificador de sección. <"
+"title> se usa en GObjects como el identificador de sección (section_id) y "
+"para otra sección es <MÓDULO>-<title>."
+
+#: C/gtk-doc-manual.xml:933(term)
+msgid "@see_also"
+msgstr "@see_also"
+
+#: C/gtk-doc-manual.xml:935(para)
+msgid "A list of symbols that are related to this section."
+msgstr "Una lista de símbolos relacionados con esta sección."
+
+#: C/gtk-doc-manual.xml:941(term)
+msgid "@stability"
+msgstr "@stability"
+
+#: C/gtk-doc-manual.xml:948(para)
+msgid ""
+"Stable - The intention of a Stable interface is to enable arbitrary third "
+"parties to develop applications to these interfaces, release them, and have "
+"confidence that they will run on all minor releases of the product (after "
+"the one in which the interface was introduced, and within the same major "
+"release). Even at a major release, incompatible changes are expected to be "
+"rare, and to have strong justifications."
+msgstr ""
+"Estable: La intención de una interfaz estable es la de permitir que terceras "
+"partes arbitrarias desarrollen aplicaciones para esas interfaces, las "
+"liberen, y confíen que que se podrán ejecutar en todas las publicaciones "
+"menores del producto (después de que se introdujese la interfaz en una de "
+"ellas, y dentro de la misma versión principal de la publicación). Incluso en "
+"publicaciones importantes no se espera que existan cambios incompatibles, y "
+"de haberlos habrá buenas razones para ello."
+
+#: C/gtk-doc-manual.xml:960(para)
+msgid ""
+"Unstable - Unstable interfaces are experimental or transitional. They are "
+"typically used to give outside developers early access to new or rapidly "
+"changing technology, or to provide an interim solution to a problem where a "
+"more general solution is anticipated. No claims are made about either source "
+"or binary compatibility from one minor release to the next."
+msgstr ""
+"Inestable: Las interfaces inestables son experimentales o de transición. "
+"Generalmente se usan para dar a los desarrolladores externos acceso a "
+"tecnología nueva o cambiante, o para proporcionar una solución a un "
+"problema, anticipándose a una solución más general. No se realizan "
+"reclamaciones acerca de la compatibilidad del código o del binario desde una "
+"publicación menor a la siguiente."
+
+#: C/gtk-doc-manual.xml:972(para)
+msgid ""
+"Private - An interface that can be used within the GNOME stack itself, but "
+"that is not documented for end-users. Such functions should only be used in "
+"specified and documented ways."
+msgstr ""
+"Privada: Una interfaz que se puede usar en la pila de GNOME en si misma, "
+"pero que no está documentada para usuarios finales. Tales funciones sólo se "
+"deberían usar de formas especificadas y documentadas."
+
+#: C/gtk-doc-manual.xml:981(para)
+msgid ""
+"Internal - An interface that is internal to a module and does not require "
+"end-user documentation. Functions that are undocumented are assumed to be "
+"Internal."
+msgstr ""
+"Interna: Una interfaz que es interna a un módulo y no requiere documentación "
+"para el usuario final. Se asume que las funciones que están sin documentar "
+"son internas."
+
+#: C/gtk-doc-manual.xml:943(para)
+msgid ""
+"A informal description of the stability level this API has. We recommend the "
+"use of one of these terms: <placeholder-1/>"
+msgstr ""
+"Esta API tiene una descripción informal del nivel de estabilidad. Se "
+"recomienda el uso de uno de estos términos: <placeholder-1/>"
+
+#: C/gtk-doc-manual.xml:993(term)
+msgid "@include"
+msgstr "@include"
+
+#: C/gtk-doc-manual.xml:995(para)
+msgid ""
+"The <literal>#include</literal> files to show in the section synopsis (a "
+"comma separated list), overriding the global value from the <link linkend="
+"\"metafiles_sections\">section file</link> or command line. This item is "
+"optional."
+msgstr ""
+"Los archivos <literal>#include</literal> para mostrar en la sección del "
+"resumen (una lista separada por comas), sobreescribiendo el valor global del "
+"<link linkend=\"metafiles_sections\">archivo de secciones</link> o de la "
+"línea de comandos. Este elemento es opcional."
+
+#: C/gtk-doc-manual.xml:1004(term)
+msgid "@image"
+msgstr "@image"
+
+#: C/gtk-doc-manual.xml:1006(para)
+msgid ""
+"The image to display at the top of the reference page for this section. This "
+"will often be some sort of a diagram to illustrate the visual appearance of "
+"a class or a diagram of its relationship to other classes. This item is "
+"optional."
+msgstr ""
+"La imagen para mostrar en la parte superior de la página de referencia, para "
+"esta sección. Generalmente será un tipo de diagrama para ilustrar la "
+"apariencia visual de una clase o diagrama de su relación con otras clases. "
+"Este elemento es opcional."
+
+#: C/gtk-doc-manual.xml:1017(para)
+msgid ""
+"To avoid unnecessary recompilation after doc-changes put the section docs "
+"into the c-source where possible."
+msgstr ""
+"Para evitar recompilaciones innecesarias después de cambios en la "
+"documentación ponga los documentos de sección en el código fuente C cuando "
+"sea posible."
+
+#: C/gtk-doc-manual.xml:1026(title)
+msgid "Documenting symbols"
+msgstr "Documentar símbolos"
+
+#: C/gtk-doc-manual.xml:1028(para)
+msgid ""
+"Each symbol (function, macro, struct, enum, signal and property) is "
+"documented in a separate block. The block is best placed close to the "
+"definition of the symbols so that it is easy to keep them in sync. Thus "
+"functions are usually documented in the c-source and macros, structs and "
+"enums in the header file."
+msgstr ""
+"Cada símbolo (función, macro, estructura, enum, señal y propiedad) está "
+"documentado en un bloque separado. La mejor posición para el bloque es junto "
+"a la definición del símbolo de tal forma que sea fácil mantenerlos "
+"sincronizados. Por ello las funciones generalmente se documentan en el "
+"código C y las macros, estructuras y enum en el archivo de cabecera."
+
+#: C/gtk-doc-manual.xml:1036(title) C/gtk-doc-manual.xml:1065(title)
+msgid "General tags"
+msgstr "Etiquetas generales"
+
+#: C/gtk-doc-manual.xml:1038(para)
+msgid ""
+"You can add versioning information to all documentation elements to tell "
+"when an api was introduced, or when it was deprecated."
+msgstr ""
+"Puede añadir información de versiones a todos los elementos de la "
+"documentación para mostrar cuándo se introdujo una API o cuándo se declaró "
+"obsoleta."
+
+#: C/gtk-doc-manual.xml:1043(title)
+msgid "Versioning Tags"
+msgstr "Versionado de etiquetas"
+
+#: C/gtk-doc-manual.xml:1044(term)
+msgid "Since:"
+msgstr "Desde:"
+
+#: C/gtk-doc-manual.xml:1046(para)
+msgid "Description since which version of the code the API is available."
+msgstr "Descripción desde qué versión del código está disponible la API."
+
+#: C/gtk-doc-manual.xml:1051(term)
+msgid "Deprecated:"
+msgstr "Obsoleto:"
+
+#: C/gtk-doc-manual.xml:1053(para)
+msgid ""
+"Paragraph denoting that this function should no be used anymore. The "
+"description should point the reader to the new API."
+msgstr ""
+"Párrafo que denota que esta función no se debería usar más. La descripción "
+"debería informar al lector de la nueva API."
+
+#: C/gtk-doc-manual.xml:1061(para)
+msgid "(FIXME : Stability information)"
+msgstr "(ARREGLAR: estabilidad de la información)"
+
+#: C/gtk-doc-manual.xml:1088(title) C/gtk-doc-manual.xml:1124(title)
+msgid "Function comment block"
+msgstr "Bloque de comentario de función"
+
+#: C/gtk-doc-manual.xml:1094(para)
+msgid ""
+"Document whether returned objects, lists, strings, etc, should be freed/"
+"unrefed/released."
+msgstr ""
+"El documento, dependiendo de si devuelve objetos, listas, cadenas, etc. "
+"debería liberarse/desreferenciarse/etc."
+
+#: C/gtk-doc-manual.xml:1100(para)
+msgid "Document whether parameters can be NULL, and what happens if they are."
+msgstr ""
+"El documento, dependiendo de si sus parámetros pueden ser nulos, y qué "
+"sucede si lo son."
+
+#: C/gtk-doc-manual.xml:1105(para)
+msgid ""
+"Mention interesting pre-conditions and post-conditions where appropriate."
+msgstr ""
+"Mencionar precondiciones y postcondiciones interesantes donde sea apropiado."
+
+#: C/gtk-doc-manual.xml:1090(para) C/gtk-doc-manual.xml:1187(para)
+msgid "Please remember to: <placeholder-1/>"
+msgstr "Recuerde: <placeholder-1/>"
+
+#: C/gtk-doc-manual.xml:1112(para)
+msgid ""
+"Gtk-doc assumes all symbols (macros, functions) starting with '_' are "
+"private. They are treated like static functions."
+msgstr ""
+"GTK-Doc asume que todos los símbolos (macros, funciones) que empiezan por «_» "
+"son privados. Se tratan como funciones estáticas."
+
+#: C/gtk-doc-manual.xml:1117(para)
+msgid ""
+"Also, take a look at gobject introspection annotation tags: http://live."
+"gnome.org/GObjectIntrospection/Annotations"
+msgstr ""
+"Además, consultar las etiquetas de anotaciones de introspección de gobject: "
+"http://live.gnome.org/GObjectIntrospection/Annotations"
+
+#: C/gtk-doc-manual.xml:1148(title)
+msgid "Function tags"
+msgstr "Etiquetas de funciones"
+
+#: C/gtk-doc-manual.xml:1149(term)
+msgid "Returns:"
+msgstr "Devuelve:"
+
+#: C/gtk-doc-manual.xml:1151(para)
+msgid "Paragraph describing the returned result."
+msgstr "Párrafo que describe el resultado devuelto."
+
+#: C/gtk-doc-manual.xml:1156(term)
+msgid "@...:"
+msgstr "@...:"
+
+#: C/gtk-doc-manual.xml:1158(para)
+msgid ""
+"In case the function has variadic arguments, you should use this tag "
+"(@Varargs: does also work for historic reasons)."
+msgstr ""
+"En el caso de que la función tenga argumentos variados debe usar esta "
+"etiqueta (@Vargargs: también funciona por razones históricas)."
+
+#: C/gtk-doc-manual.xml:1168(title) C/gtk-doc-manual.xml:1170(title)
+msgid "Property comment block"
+msgstr "Bloque de comentario de propiedad"
+
+#: C/gtk-doc-manual.xml:1185(title) C/gtk-doc-manual.xml:1204(title)
+msgid "Signal comment block"
+msgstr "Bloque de comentario de señal"
+
+#: C/gtk-doc-manual.xml:1191(para)
+msgid ""
+"Document when the signal is emitted and whether it is emitted before or "
+"after other signals."
+msgstr ""
+"Documentar cuando la señal se emite e indica si se emite antes o después de "
+"otras señales."
+
+#: C/gtk-doc-manual.xml:1197(para)
+msgid "Document what an application might do in the signal handler."
+msgstr "Documentar qué aplicación debe gestionar las señales."
+
+#: C/gtk-doc-manual.xml:1224(title) C/gtk-doc-manual.xml:1225(title)
+msgid "Struct comment block"
+msgstr "Bloque de comentario de estructura"
+
+#: C/gtk-doc-manual.xml:1245(para)
+msgid ""
+"Use <code>/*< private >*/</code> before the private struct fields you "
+"want to hide. Use <code>/*< public >*/</code> for the reverse "
+"behaviour."
+msgstr ""
+"Use <code>/*< private >*/</code> antes de campos de estructuras "
+"privadas que quiera ocultar. Use <code>/*< public >*/</code> para "
+"revertir el comportamiento anterior."
+
+#: C/gtk-doc-manual.xml:1251(para)
+msgid ""
+"Struct comment blocks can also be used for GObjects and GObjectClasses. It "
+"is usualy a good idea to add a comment blco for a class, if it has vmethods "
+"(as this is how they can be documented). For the GObject itself one can use "
+"the related section docs, having a separate block for the instance struct "
+"would be useful if the instance has public fields. One disadvantage here is "
+"that this creates two index entries of the same name (the structure and the "
+"section)."
+msgstr ""
+"También se pueden usar bloques de comentario para GObjects y GObjectClasses. "
+"Generalmente es buena idea añadir un bloque de comentario para una clase, si "
+"tiene «vmethods» (ya que así se pueden documentar). Para el GObject en si, se "
+"puede usar la sección relativa a la documentación, tener un bloque separado "
+"para la estructura de la instancia sería útil si la instancia tiene campos "
+"públicos. Una desventaja aquí es que esto crea dos entradas de índice con el "
+"mismo nombre (la estructura y la sección)."
+
+#: C/gtk-doc-manual.xml:1263(title) C/gtk-doc-manual.xml:1264(title)
+msgid "Enum comment block"
+msgstr "Enumerar bloques de comentarios"
+
+#: C/gtk-doc-manual.xml:1285(para)
+msgid ""
+"Use <code>/*< private >*/</code> before the private enum values you "
+"want to hide. Use <code>/*< public >*/</code> for the reverse "
+"behaviour."
+msgstr ""
+"Use <code>/*< private >*/</code> antes de enumerar valores privados "
+"que quiera ocultar. Use <code>/*< public >*/</code> para revertir el "
+"comportamiento anterior."
+
+#: C/gtk-doc-manual.xml:1295(title)
+msgid "Useful DocBook tags"
+msgstr "Etiquetas DocBook útiles"
+
+#: C/gtk-doc-manual.xml:1297(para)
+msgid ""
+"Here are some DocBook tags which are most useful when documenting the code."
+msgstr ""
+"Aquí están varias etiquetas de DocBook muy útiles al documentar código."
+
+#: C/gtk-doc-manual.xml:1302(para)
+msgid ""
+"To link to another section in the GTK docs: <placeholder-1/> The linkend is "
+"the SGML/XML id on the top item of the page you want to link to. For most "
+"pages this is currently the part (\"gtk\", \"gdk\", \"glib\") and then the "
+"page title (\"Hash Tables\"). For widgets it is just the class name. Spaces "
+"and underscores are converted to '-' to conform to SGML/XML."
+msgstr ""
+"Para enlazar otra sección en GTK docs: <placeholder-1/>. El enlace es el id "
+"SGML en el elemento superior de la página a la que quiere enlazar. Para la "
+"mayoría de las páginas esta es la parte («gtk», «gdk», «glib») y después el "
+"título de página («Tablas hash»). Para los widgets es simplemente el nombre "
+"de la clase. Los espacios y guiones bajos se convierten a «-» para ajustarse "
+"a SGML/XML."
+
+#: C/gtk-doc-manual.xml:1318(para)
+msgid ""
+"To refer to an external function, e.g. a standard C function: <placeholder-1/"
+">"
+msgstr ""
+"Para referirse a una función externa, ej. una función de C estándar: "
+"<placeholder-1/>"
+
+#: C/gtk-doc-manual.xml:1329(para)
+msgid ""
+"To include example code: <placeholder-1/> or possibly this, for very short "
+"code fragments which don't need a title: <placeholder-2/> For the latter GTK-"
+"Doc also supports an abbreviation: <![CDATA[\n"
+"|[\n"
+" ...\n"
+"]|\n"
+"]]>"
+msgstr ""
+"Para incluir un código de ejemplo: <placeholder-1/> o posiblemente este, "
+"para fragmentos de código muy cortos que no necesitan título: <placeholder-2/"
+">. El último GTK-Doc también soporta abreviación: <![CDATA[\n"
+"|[\n"
+" ...\n"
+"]|\n"
+"]]>"
+
+#: C/gtk-doc-manual.xml:1363(para)
+msgid "To include bulleted lists: <placeholder-1/>"
+msgstr "Para incluir listas de topos: <placeholder-1/>"
+
+#: C/gtk-doc-manual.xml:1385(para)
+msgid "To include a note which stands out from the text: <placeholder-1/>"
+msgstr "Para incluir una nota que sobresale del texto: <placeholder-1/>"
+
+#: C/gtk-doc-manual.xml:1400(para)
+msgid "To refer to a type: <placeholder-1/>"
+msgstr "Para referirse a un tipo: <placeholder-1/>"
+
+#: C/gtk-doc-manual.xml:1411(para)
+msgid ""
+"To refer to an external structure (not one described in the GTK docs): "
+"<placeholder-1/>"
+msgstr ""
+"Para referirse a una estructura externa (no una descrita en la documentación "
+"de GTK): <placeholder-1/>"
+
+#: C/gtk-doc-manual.xml:1422(para)
+msgid "To refer to a field of a structure: <placeholder-1/>"
+msgstr "Para referirse a un campo o a una estructura: <placeholder-1/>"
+
+#: C/gtk-doc-manual.xml:1433(para)
+msgid ""
+"To refer to a class name, we could possibly use: <placeholder-1/> but you'll "
+"probably be using #GtkWidget instead (to automatically create a link to the "
+"GtkWidget page - see <link linkend=\"documenting_syntax\">the abbreviations</"
+"link>)."
+msgstr ""
+"Para referirse a un nombre de clase, se podría usar: <placeholder-1/> pero "
+"probablemente estará usando #GtkWidget en su lugar (para crear "
+"automaticamenteun enlace a la página GtkWidget; consulte <link linkend="
+"\"documenting_syntax\">abreviaciones</link>)."
+
+#: C/gtk-doc-manual.xml:1446(para)
+msgid "To emphasize text: <placeholder-1/>"
+msgstr "Para enfatizar un texto: <placeholder-1/>"
+
+#: C/gtk-doc-manual.xml:1457(para)
+msgid "For filenames use: <placeholder-1/>"
+msgstr "Para uso de nombres de archivo: <placeholder-1/>"
+
+#: C/gtk-doc-manual.xml:1468(para)
+msgid "To refer to keys use: <placeholder-1/>"
+msgstr "Para referirse a claves: <placeholder-1/>"
+
+#: C/gtk-doc-manual.xml:1483(title)
+msgid "Filling the extra files"
+msgstr "Rellenar campos adicionales"
+
+#: C/gtk-doc-manual.xml:1485(para)
+msgid ""
+"There are a couple of extra files, that need to be maintained along with the "
+"inline source code comments: <filename><package>.types</filename>, "
+"<filename><package>-docs.xml</filename> (in the past .sgml), "
+"<filename><package>-sections.txt</filename>."
+msgstr ""
+"Existen tres archivos adicionales que deben mantenerse junto con los "
+"comentarios en línea del código fuente: <filename><paquete>.types</"
+"filename>, <filename><paquete>-docs.xml</filename> (.sgml en el "
+"pasado) y <filename><paquete>-sections.txt</filename>."
+
+#: C/gtk-doc-manual.xml:1494(title)
+msgid "Editing the types file"
+msgstr "Editar los tipos de archivo"
+
+#: C/gtk-doc-manual.xml:1496(para)
+msgid ""
+"If your library or application includes GtkObjects/GObjects, you want their "
+"signals, arguments/parameters and position in the hierarchy to be shown in "
+"the documentation. All you need to do, is to list the "
+"<function>xxx_get_type</function> functions together with their include "
+"inside the <filename><package>.types</filename> file."
+msgstr ""
+"Si su biblioteca o aplicación incluye GtkObjects/GObjects puede querer que "
+"sus señales, argumentos y/o parámetros y posición en la jerarquía se muestre "
+"en la documentación. Todo lo que debe hacer es listar las funciones "
+"<function>xxx_get_type</function> junto con sus «include» en el archivo "
+"<filename><paquete>.types</filename>."
+
+#: C/gtk-doc-manual.xml:1505(title)
+msgid "Example types file snippet"
+msgstr "Fragmento de ejemplo de tipos de archivo"
+
+#: C/gtk-doc-manual.xml:1519(para)
+msgid ""
+"Since GTK-Doc 1.8 <application>gtkdoc-scan</application> can generate this "
+"list for you. Just add \"--rebuild-types\" to SCAN_OPTIONS in "
+"<filename>Makefile.am</filename>. If you use this approach you should not "
+"dist the types file nor have it under version control."
+msgstr ""
+"Desde GTK-Doc 1.8 <application>gtkdoc-scan</application> puede genera esta "
+"lista. Simplemente añada «--rebuild-types» a SCAN_OPTIONS en el "
+"<filename>Makefile.am</filename>. Si usa esto no debería ejecutar dist sobre "
+"los tipos de archivo ni tenerlos bajo el control de versiones."
+
+#: C/gtk-doc-manual.xml:1528(title)
+msgid "Editing the master document"
+msgstr "Editar la sección maestra del documento"
+
+#: C/gtk-doc-manual.xml:1530(para)
+msgid ""
+"GTK-Doc produces documentation in DocBook SGML/XML. When processing the "
+"inline source comments, the GTK-Doc tools generate one documentation page "
+"per class or module as a separate file. The master document includes them "
+"and place them in an order."
+msgstr ""
+"GTK-Doc produce documentación en DocBook SGML/XML. Cuando se procesan los "
+"comentarios en las líneas del código, las herramientas de GTK-Doc generan "
+"una página de documentación por clase o módulo en un archivo aparte. El "
+"documento maestro las incluye y ordena."
+
+#: C/gtk-doc-manual.xml:1537(para)
+msgid ""
+"While GTK-Doc creates a template master document for you, later run will not "
+"touch it again. This means that one can freely structure the documentation. "
+"That includes grouping pages and adding extra pages. GTK-Doc has now a test "
+"suite, where also the master-document is recreated from scratch. Its a good "
+"idea to look at this from time to time to see if there are some new goodies "
+"introduced there."
+msgstr ""
+"Puesto que GTK-Doc crea una documento maestro de plantilla, una posterior "
+"ejecución no lo tocará de nuevo. Esto significa que se puede estructurar "
+"libremente la documentación. Esto incluye agrupar páginas y añadir páginas "
+"adiciones. Ahora GTK-Doc tiene un entorno de pruebas, donde también el "
+"documento maestro se vuelve a crear desde cero. Es una buena idea mirarlo de "
+"vez en cuando para ver si se han introducido algunas mejoras."
+
+#: C/gtk-doc-manual.xml:1547(para)
+msgid ""
+"Do not create tutorials as extra documents. Just write extra chapters. The "
+"benefit of directly embedding the tutorial for your library into the API "
+"documentation is that it is easy to link for the tutorial to symbol "
+"documentation. Apart chances are higher that the tutorial gets updates along "
+"with the library."
+msgstr ""
+"No crear tutoriales como documentos adicionales. Solamente escriba capítulos "
+"adicionales. La ventaja de integrar directamente el tutorial para su "
+"biblioteca en la documentación de la API es que es fácil para el tutorial "
+"enlazar la documentación de símbolos. Además las posibilidades de actualizar "
+"el tutorial junto con la biblioteca son mayores."
+
+#: C/gtk-doc-manual.xml:1556(para)
+msgid ""
+"So what are the things to change inside the master document? For a start is "
+"only a little. There are some placeholders (text in square brackets) there "
+"which you should take care of."
+msgstr ""
+"¿Así que qué es lo que hay que cambiar en el documento maestro? Para empezar "
+"es muy poco. Existen algunos «placeholders» (texto entre corchetes) de los "
+"que habría que encargarse."
+
+#: C/gtk-doc-manual.xml:1563(title)
+msgid "Master document header"
+msgstr "Cabecera del documento maestro"
+
+#: C/gtk-doc-manual.xml:1585(title)
+msgid "Editing the section file"
+msgstr "Editar el archivo de sección"
+
+#: C/gtk-doc-manual.xml:1587(para)
+msgid ""
+"The section file is used to organise the documentation output by GTK-Doc. "
+"Here one specifies which symbol belongs to which module or class and control "
+"the visibility (public or private)."
+msgstr ""
+"El archivo de sección se usa para organizar la salida de la documentación "
+"por GTK-Doc. Aquí se especifica qué símbolos pertenecen a qué módulo o clase "
+"y el control de la visibilidad (pública o privada)."
+
+#: C/gtk-doc-manual.xml:1593(para)
+msgid ""
+"The section file is a plain test file with xml like syntax (using tags). "
+"Blank lines are ignored and lines starting with a '#' are treated as comment "
+"lines."
+msgstr ""
+"El archivo de sección es un archivo de texto plano con sintaxis parecida a "
+"XML (usando etiquetas). Se ignoran las líneas vacías y las líneas que "
+"comiencen con «#» se tratan como comentarios."
+
+#: C/gtk-doc-manual.xml:1599(para)
+msgid ""
+"The <FILE> ... </FILE> tag is used to specify the file name, "
+"without any suffix. For example, using '<FILE>gnome-config</"
+"FILE>' will result in the section declarations being output in the "
+"template file <filename>tmpl/gnome-config.sgml</filename>, which will be "
+"converted into the DocBook SGML/XML file <filename>sgml/gnome-config.sgml</"
+"filename> or .DocBook XML file <filename>xml/gnome-config.xml</filename>. "
+"(The name of the html file is based on the module name and the section "
+"title, or for gobjects it is based on the gobjects class name converted to "
+"lower case)."
+msgstr ""
+"La etiqueta <FILE> ... </FILE> se usa para especificar el nombre "
+"del archivo, sin sufijo. Por ejemplo, usar «<FILE>gnome-config</"
+"FILE>» dará como resultado en la sección de declaraciones la salida "
+"<filename>tmpl/gnome-config.sgml</filename> en el archivo de plantilla, que "
+"se convertirá al archivo DocBook SGML/XML <filename>sgml/gnome-config.sgml</"
+"filename> o al archivo DocBook XML <filename>xml/gnome-config.xml</"
+"filename>. (El nombre del archivo html está basado en el nombre del módulo y "
+"en el título de la sección, o para gobjects está basado en el nombre de "
+"clase de gobject convertido a minúscula.)"
+
+#: C/gtk-doc-manual.xml:1611(para)
+msgid ""
+"The <TITLE> ... </TITLE> tag is used to specify the title of the "
+"section. It is only useful before the templates (if used) are initially "
+"created, since the title set in the template file overrides this. Also if "
+"one uses SECTION comment in the sources, this is obsolete."
+msgstr ""
+"La etiqueta <TITLE> ... </TITLE> se usa para especificar el "
+"título de una sección. Sólo es útil antes de que las plantillas (si se usan) "
+"se creen inicialmente, ya que el título configurado en la plantilla lo "
+"sobreescribe. Además, si una usa comentarios SECTION en los fuentes, se "
+"queda obsoleto."
+
+#: C/gtk-doc-manual.xml:1618(para)
+msgid ""
+"You can group items in the section by using the <SUBSECTION> tag. "
+"Currently it outputs a blank line between subsections in the synopsis "
+"section. You can also use <SUBSECTION Standard> for standard GObject "
+"declarations (e.g. the functions like g_object_get_type and macros like "
+"G_OBJECT(), G_IS_OBJECT() etc.). Currently these are left out of the "
+"documentation. You can also use <SUBSECTION Private> for private "
+"declarations which will not be output (It is a handy way to avoid warning "
+"messages about unused declarations.). If your library contains private types "
+"which you don't want to appear in the object hierarchy and the list of "
+"implemented or required interfaces, add them to a Private subsection. Wheter "
+"you would place GObject and GObjectClass like structs in public or Standard "
+"section depends if they have public entries (variables, vmethods)."
+msgstr ""
+"Puede agrupar elementos en la sección usando la etiqueta <SUBSECTION>. "
+"Actualmente esto genera una línea en blanco entre subsecciones en la sección "
+"de resumen. También puede usar <SUBSECTION Standard> para "
+"declaraciones estándar de GObject (ej. funciones como g_object_get_type and "
+"macros como G_OBJECT(), G_IS_OBJECT() etc.). Actualmente éstas se han dejado "
+"fuera de la documentación. También puede usar <SUBSECTION Private> "
+"para declaraciones privadas que no producirán ninguna salida (s una manera "
+"práctica de evitar mensajes de advertencia sobre declaraciones sin usar). Si "
+"sus bibliotecas contienen tipos privados que no quiere que aparezcan en la "
+"jerarquía de objetos o en la lista de interfaces implementados o necesarios, "
+"añádalos a una subsección Privada. Si ubica GObject y GObjectClass como "
+"estructuras en la sección pública o estándar, depende de si tienen entradas "
+"públicas (variables, vmethods)."
+
+#: C/gtk-doc-manual.xml:1637(para)
+msgid ""
+"You can also use <INCLUDE> ... </INCLUDE> to specify the "
+"#include files which are shown in the synopsis sections. It contains a comma-"
+"separate list of #include files, without the angle brackets. If you set it "
+"outside of any sections, it acts for all sections until the end of the file. "
+"If you set it within a section, it only applies to that section."
+msgstr ""
+"También puede usar <INCLUDE> ... </INCLUDE> para especificar qué "
+"archivos #include se muestran en la sección de resumen. Contiene una lista "
+"de archivos #include separados por comas, sin las almohadillas. Si lo "
+"configura fuera de cualquier sección, actúa para todas las secciones hasta "
+"el final del archivo. Si lo configura dentro de una sección, sólo se aplica "
+"a esa sección."
+
+#: C/gtk-doc-manual.xml:1651(title)
+msgid "Controlling the result"
+msgstr "Controlar el resultado"
+
+#: C/gtk-doc-manual.xml:1653(para)
+msgid ""
+"A GTK-Doc run generates report files inside the documentation directory. The "
+"generated files are named: <filename><package>-undocumented.txt</"
+"filename>, <filename><package>-undeclared.txt</filename> and "
+"<filename><package>-unused.txt</filename>. All those are plain text "
+"files that can be viewed and postprocessed easily."
+msgstr ""
+"Una ejecución de GTK-Doc genera archivos de informe dentro del directorio de "
+"la documentación. Los archivos generados se llaman <filename><paquete>-"
+"undocumented.txt</filename>, <filename><paquete>-undeclared.txt</"
+"filename> y <filename><paquete>-unused.txt</filename>.Todos son "
+"archivos de texto plano y se pueden ver y posprocesar fácilmente."
+
+#: C/gtk-doc-manual.xml:1662(para)
+msgid ""
+"The <filename><package>-undocumented.txt</filename> file starts with "
+"the documentation coverage summary. Below are two sections divided by blank "
+"lines. The first section lists undocumented or incomplete symbols. The "
+"second section does the same for section docs. Incomplete entries are those, "
+"which have documentation, but where e.g. a new parameter has been added."
+msgstr ""
+"El archivo <filename><package>-undocumented.txt</filename> comienza "
+"con el resumen de cobertura de la documentación. Debajo hay dos secciones "
+"divididas por líneas vacías. La primera sección lista los símbolos "
+"incompletos o indocumentados. La segunda sección hace lo mismo para los "
+"documentos de sección. Las entradas incompletas son aquellas que tienen "
+"documentación pero dónde; p.e. se ha añadido un parámetro nuevo."
+
+#: C/gtk-doc-manual.xml:1671(para)
+msgid ""
+"The <filename><package>-undeclared.txt</filename> file lists symbols "
+"given in the <filename><package>-sections.txt</filename> but not found "
+"in the sources. Check if they have been removed or if they are misspelled."
+msgstr ""
+"El archivo <filename><package>-undeclared.txt</filename> lista "
+"símbolos proporcionados en el archivo <filename><package>-sections."
+"txt</filename>, pero no encontrados en los fuentes. Compruebe si se han "
+"eliminado o no se han escrito correctamente."
+
+#: C/gtk-doc-manual.xml:1678(para)
+msgid ""
+"The <filename><package>-unused.txt</filename> file lists symbol names, "
+"where the GTK-Doc scanner has found documentation, but does not know where "
+"to put it. This means that the symbol has not yet been added to the "
+"<filename><package>-sections.txt</filename> file."
+msgstr ""
+"El archivo <filename><package>-unused.txt</filename> lista nombres de "
+"símbolos, donde el analizador de GTK-Doc ha encontrado documentación, pero "
+"no sabe dónde ponerla. Esto significa que el símbolo no se ha añadido "
+"todavía al archivo <filename><package>-sections.txt</filename>."
+
+#: C/gtk-doc-manual.xml:1686(para)
+msgid ""
+"Enable or add the <option>TESTS=$(GTKDOC_CHECK)</option> line in Makefile."
+"am. If at least GTK-Doc 1.9 is installed, this will run sanity checks during "
+"<command>make check</command> run."
+msgstr ""
+"Activar o añadir la línea <option>TESTS=($GTKDOC_CHECK)</option> en Makefile."
+"am. Si como mínimo está instalado GTK-Doc 1.9, esto ejecutará comprobaciones "
+"de integridad durante la ejecución de make check."
+
+#: C/gtk-doc-manual.xml:1693(para)
+msgid ""
+"One can also look at the files produced by the source code scanner: "
+"<filename><package>-decl-list.txt</filename> and <filename><"
+"package>-decl.txt</filename>. The first one can be compared with the "
+"section file if that is manualy maintained. The second lists all "
+"declarations fromt he headers If a symbol is missing one could check if this "
+"file contains it."
+msgstr ""
+"También puede mirar los archivos producidos por el analizador del código "
+"fuente: <filename><paquete>-decl-list.txt</filename> y <filename><"
+"paquete>-decl.txt</filename>. El primero se puede comparar con el archivo "
+"de sección si se mantiene manualmente. El segundo lista todas las "
+"declaraciones desde las cabeceras. Si falta un símbolo, se puede comprobar "
+"si este archivo lo contiene."
+
+#: C/gtk-doc-manual.xml:1702(para)
+msgid ""
+"If the project is GObject based, one can also look into the files produced "
+"by the object scanner: <filename><package>.args.txt</filename>, "
+"<filename><package>.hierarchy.txt</filename>, <filename><"
+"package>.interfaces.txt</filename>, <filename><package>."
+"prerequisites.txt</filename> and <filename><package>.signals.txt</"
+"filename>. If there are missing symbols in any of those, one can ask gtkdoc "
+"to keep the intermedia scanner file for further analysis, but running it as "
+"<command>GTK_DOC_KEEP_INTERMEDIATE=1 make</command>."
+msgstr ""
+"Si el proyecto está basado en GObject, también se puede mirar en los "
+"archivos producidos por el analizador de objetos: <filename><paquete>."
+"args.txt</filename>, <filename><paquete>.hierarchy.txt</filename>, "
+"<filename><paquete>.interfaces.txt</filename>, <filename><"
+"paquete>.prerequisites.txt</filename> y <filename><paquete>.signals."
+"txt</filename>. Si faltan símbolos en cualquiera de ellos, puede hacer que "
+"gtkdoc guarde el análisis de archivos para futuros análisis, pero "
+"ejecutándolo como <command>GTK_DOC_KEEP_INTERMEDIATE=1 make</command>."
+
+#: C/gtk-doc-manual.xml:1717(title)
+msgid "Documenting other interfaces"
+msgstr "Documentar otras interfaces"
+
+#: C/gtk-doc-manual.xml:1719(para)
+msgid ""
+"So far we have been using GTK-Doc to document the API of code. The next "
+"sections contain suggestions how the tools can be used to document other "
+"interfaces too."
+msgstr ""
+"Hasta ahora se ha usado GTK-Doc para documentar la API del código. Las "
+"siguientes secciones contienen sugerencias acerca de cómo se pueden usar las "
+"herramientas para documentar otras interfaces."
+
+#: C/gtk-doc-manual.xml:1726(title)
+msgid "Commandline options and man pages"
+msgstr "Opciones de la línea de comandos y las páginas man"
+
+#: C/gtk-doc-manual.xml:1728(para)
+msgid ""
+"As one can generate man pages for a docbook refentry as well, it sounds like "
+"a good idea to use it for that purpose. This way the interface is part of "
+"the reference and one gets the man-page for free."
+msgstr ""
+"Ya que también se pueden generar páginas man para referencias de entrada "
+"docbook, parece buena idea usarlas para ese propósito. De esta forma la "
+"interfaz es parte de la referencia y se obtienen las páginas man sin trabajo."
+
+#: C/gtk-doc-manual.xml:1735(title)
+msgid "Document the tool"
+msgstr "Documentar la herramienta"
+
+#: C/gtk-doc-manual.xml:1737(para)
+msgid ""
+"Create one refentry file per tool. Following <link linkend="
+"\"settingup_docfiles\">our example</link> we would call it <filename>meep/"
+"docs/reference/meeper/meep.xml</filename>. For the xml tags that should be "
+"used and can look at generated file in the xml subdirectory as well as "
+"examples e.g. in glib."
+msgstr ""
+"Cree un archivo de entrada de referencia para cada herramienta. Siguiendo "
+"<link linkend=\"settingup_docfiles\">el ejemplo</link> se llamará "
+"<filename>meep/docs/reference/meeper/meep.xml</filename>. Para las etiquetas "
+"xml que se deben usar puede mirar al archivo generado en el subdirectorio "
+"xml así como los ejemplos en, por ejemplo, glib."
+
+#: C/gtk-doc-manual.xml:1747(title)
+msgid "Adding the extra configure check"
+msgstr "Añadir la comprobación de configuración adicional"
+
+#: C/gtk-doc-manual.xml:1750(title) C/gtk-doc-manual.xml:1770(title)
+msgid "Extra configure checks"
+msgstr "Comprobaciones de configuración adicionales"
+
+#: C/gtk-doc-manual.xml:1767(title)
+msgid "Adding the extra makefile rules"
+msgstr "Añadir reglas de makefile adicionales"
+
+#: C/gtk-doc-manual.xml:1795(title)
+msgid "DBus interfaces"
+msgstr "Interfaces de DBus"
+
+#: C/gtk-doc-manual.xml:1797(para)
+msgid ""
+"(FIXME: http://hal.freedesktop.org/docs/DeviceKit/DeviceKit.html, http://"
+"cgit.freedesktop.org/DeviceKit/DeviceKit/tree/doc/dbus)"
+msgstr ""
+"(ARREGLAR: http://hal.freedesktop.org/docs/DeviceKit/DeviceKit.html, http://"
+"cgit.freedesktop.org/DeviceKit/DeviceKit/tree/doc/dbus)"
+
+#: C/gtk-doc-manual.xml:1806(title)
+msgid "Frequently asked questions"
+msgstr "Preguntas más frecuentes"
+
+#: C/gtk-doc-manual.xml:1810(segtitle)
+msgid "Question"
+msgstr "Pregunta"
+
+#: C/gtk-doc-manual.xml:1811(segtitle)
+msgid "Answer"
+msgstr "Respuesta"
+
+#: C/gtk-doc-manual.xml:1813(seg)
+msgid "No class hierarchy."
+msgstr "Sin jerarquía de clases."
+
+#: C/gtk-doc-manual.xml:1815(function)
+msgid "xxx_get_type()"
+msgstr "xxx_get_type()"
+
+#: C/gtk-doc-manual.xml:1816(filename)
+msgid "<package>.types"
+msgstr "<paquete>.tipos"
+
+#: C/gtk-doc-manual.xml:1814(seg)
+msgid ""
+"The objects <placeholder-1/> function has not been entered into the "
+"<placeholder-2/> file."
+msgstr ""
+"Los objetos de la función <placeholder-1/> no se han introducido en el "
+"archivo <placeholder-2/>."
+
+#: C/gtk-doc-manual.xml:1820(seg)
+msgid "Still no class hierarchy."
+msgstr "Aún sin jerarquía de clases."
+
+#: C/gtk-doc-manual.xml:1822(filename) C/gtk-doc-manual.xml:1861(filename)
+#: C/gtk-doc-manual.xml:1869(filename) C/gtk-doc-manual.xml:1891(filename)
+msgid "<package>-sections.txt"
+msgstr "<package>-sections.txt"
+
+#: C/gtk-doc-manual.xml:1823(ulink)
+msgid "explanation"
+msgstr "explicación"
+
+#: C/gtk-doc-manual.xml:1821(seg)
+msgid ""
+"Missing or wrong naming in <placeholder-1/> file (see <placeholder-2/>)."
+msgstr ""
+"Faltan nombres o son erróneos en el archivo <placeholder-1/> (consultar "
+"<placeholder-2/>)."
+
+#: C/gtk-doc-manual.xml:1827(seg)
+msgid "Damn, I have still no class hierarchy."
+msgstr "Maldición, aún no hay una jerarquía de clases."
+
+#: C/gtk-doc-manual.xml:1829(type) C/gtk-doc-manual.xml:1870(type)
+msgid "GtkWidget"
+msgstr "GtkWidget"
+
+#: C/gtk-doc-manual.xml:1828(seg)
+msgid ""
+"Is the object name (name of the instance struct, e.g. <placeholder-1/>) part "
+"of the normal section (don't put this into Standard or Private subsections)."
+msgstr ""
+"Es el nombre del objeto (nombre de la estructura de la instancia, ej. "
+"<placeholder-1/>) parte de la sección normal (no ponga esto en Estándar o "
+"Privado)."
+
+#: C/gtk-doc-manual.xml:1835(seg)
+msgid "No symbol index."
+msgstr "Sin índice de símbolos."
+
+#: C/gtk-doc-manual.xml:1837(filename) C/gtk-doc-manual.xml:1852(filename)
+#: C/gtk-doc-manual.xml:1878(filename)
+msgid "<package>-docs.{xml,sgml}"
+msgstr "<package>-docs.{xml,sgml}"
+
+#: C/gtk-doc-manual.xml:1836(seg)
+msgid ""
+"Does the <placeholder-1/> contain a index that xi:includes the generated "
+"index?"
+msgstr ""
+"¿<placeholder-1/> contiene un índice que «xi:includes» el índice generado?"
+
+#: C/gtk-doc-manual.xml:1842(seg)
+msgid "Symbols are not linked to their doc-section."
+msgstr "Los símbolos no se enlazan con su sección en el documento."
+
+#: C/gtk-doc-manual.xml:1843(seg)
+msgid ""
+"Is the doc-comment using the correct markup (added #,% or ())? Check if the "
+"gtkdoc-fixxref warns about unresolvable xrefs."
+msgstr ""
+"¿Está doc-comment usando el marcado correcto (añadido #,% o ())? Compruebe "
+"si gtk-doc-fixxref avisa de alguna referencia xref sin resolver."
+
+#: C/gtk-doc-manual.xml:1849(seg)
+msgid "A new class does not appear in the docs."
+msgstr "Una clase nueva no aparece en la documentación."
+
+#: C/gtk-doc-manual.xml:1850(seg)
+msgid "Is the new page xi:included from <placeholder-1/>."
+msgstr "Es la página nueva «xi:included» desde <placeholder-1/>."
+
+#: C/gtk-doc-manual.xml:1856(seg)
+msgid "A new symbol does not appear in the docs."
+msgstr "Un símbolo nuevo no aparece en la documentación."
+
+#: C/gtk-doc-manual.xml:1857(seg)
+msgid ""
+"Is the doc-comment properly formatted. Check for spelling mistakes in the "
+"begin of the comment. Check if the gtkdoc-fixxref warns about unresolvable "
+"xrefs. Check if the symbol is correctly listed in the <placeholder-1/> in a "
+"public subsection."
+msgstr ""
+"Comprobar que el doc-comment está formateado correctamente. Compruebe "
+"errores de escritura al principio del comentario. Compruebe si gtkdoc-"
+"fixxref avisa acerca de referencias xref no solventables. Compruebe si el "
+"símbolo está listado correctamente en la <placeholder-1/> en una subsección "
+"pública."
+
+#: C/gtk-doc-manual.xml:1865(seg)
+msgid "A type is missing from the class hierarchy."
+msgstr "Falta un tipo en la clase de jerarquías"
+
+#: C/gtk-doc-manual.xml:1867(filename)
+msgid "<package>.hierarchy"
+msgstr "<paquete>.jerarquía"
+
+#: C/gtk-doc-manual.xml:1868(filename)
+msgid "xml/tree_index.sgml"
+msgstr "xml/tree_index.sgml"
+
+#: C/gtk-doc-manual.xml:1866(seg)
+msgid ""
+"If the type is listed in <placeholder-1/> but not in <placeholder-2/> then "
+"double check that the type is correctly placed in the <placeholder-3/>. If "
+"the type instance (e.g. <placeholder-4/>) is not listed or incidentialy "
+"makred private it will not be shown."
+msgstr ""
+"Si el tipo está listado en <placeholder-1/> pero no en <placeholder-2/>, "
+"entonces compruebe dos veces que el tipo está correctamente ubicado en la "
+"<placeholder-3/>. No se mostrará el tipo de instancia (ej. <placeholder-4/>) "
+"si no está listada o accidentalmente marcada como privada."
+
+#: C/gtk-doc-manual.xml:1875(seg)
+msgid "I get foldoc links for all gobject annotations."
+msgstr ""
+"Obtengo enlaces de seguimiento de documentos para todas las anotaciones "
+"gobject."
+
+#: C/gtk-doc-manual.xml:1877(filename)
+msgid "xml/annotation-glossary.xml"
+msgstr "xml/annotation-glossary.xml"
+
+#: C/gtk-doc-manual.xml:1876(seg)
+msgid "Check that <placeholder-1/> is xi:included from <placeholder-2/>."
+msgstr ""
+"Compruebe que <placeholder-1/> está «xi:included» desde <placeholder-2/>."
+
+#: C/gtk-doc-manual.xml:1884(seg)
+msgid "Parameter described in source code comment block but does not exist"
+msgstr ""
+"Parámetro descrito en el bloque de comentarios del código fuente pero no "
+"existe"
+
+#: C/gtk-doc-manual.xml:1885(seg)
+msgid ""
+"Check if the prototype in the header has different parameter names as in the "
+"source."
+msgstr ""
+"Compruebe si el prototipo en la cabecera tiene nombres de parámetro "
+"diferentes de la fuente."
+
+#: C/gtk-doc-manual.xml:1890(seg)
+msgid "multiple \"IDs\" for constraint linkend: XYZ"
+msgstr "múltiples «ID» para la restricción enlazada: XYZ"
+
+#: C/gtk-doc-manual.xml:1891(seg)
+msgid "Symbol XYZ appears twice in <placeholder-1/> file."
+msgstr "El símbolo XYZ aparece dos veces en el archivo <placeholder-1/>."
+
+#: C/gtk-doc-manual.xml:1894(seg)
+msgid ""
+"Element typename in namespace '' encountered in para, but no template "
+"matches."
+msgstr ""
+"Elemento typename en namespac e«» encontrado en para, pero ninguna plantilla "
+"coincide."
+
+#: C/gtk-doc-manual.xml:1901(title)
+msgid "Tools related to gtk-doc"
+msgstr "Herramientas relacionadas con GTK-Doc"
+
+#: C/gtk-doc-manual.xml:1903(para)
+msgid ""
+"GtkDocPlugin - a <ulink url=\"http://trac-hacks.org/wiki/GtkDocPlugin\">Trac "
+"GTK-Doc</ulink> integration plugin, that adds api docs to a trac site and "
+"integrates with the trac search."
+msgstr ""
+"GtkDocPlugin: un complemento de integración <ulink url=\"http://trac-hacks."
+"org/wiki/GtkDocPlugin\">Trac GTK-Doc</ulink> que añade documentos de la API "
+"al sitio «trac» y se integra con la búsqueda de «trac»."
+
+#: C/gtk-doc-manual.xml:1908(para)
+msgid ""
+"Gtkdoc-depscan - a tool (part of gtk-doc) to check used API against since "
+"tags in the api to determine the minimum required version."
+msgstr ""
+"Gtkdoc-depscan: una herramienta (parte de GTK-Doc) para comprobar la API "
+"usada contra etiquetas en la API para determinar la mínima versión necesaria."
+
+#: C/gtk-doc-manual.xml:12(releaseinfo)
+msgid "Version 1.1, March 2000"
+msgstr "Versión 1.1, marzo de 2000"
+
+#: C/gtk-doc-manual.xml:16(year)
+msgid "2000"
+msgstr "2000"
+
+#: C/gtk-doc-manual.xml:16(holder)
+msgid "Free Software Foundation, Inc."
+msgstr "Free Software Foundation, Inc."
+
+#: C/gtk-doc-manual.xml:19(para)
+msgid ""
+"<address>Free Software Foundation, Inc. <street>51 Franklin Street, Suite "
+"330</street>, <city>Boston</city>, <state>MA</state><postcode>02110-1301</"
+"postcode><country>USA</country></address> Everyone is permitted to copy and "
+"distribute verbatim copies of this license document, but changing it is not "
+"allowed."
+msgstr ""
+"<address>Free Software Foundation, Inc. <street>51 Franklin Street, Suite "
+"330</street>, <city>Boston</city>, <state>MA</state><postcode>02110-1301</"
+"postcode><country>EE. UU.</country></address> Se permite la copia y "
+"distribución de este documento de licencia, pero no se permite su "
+"modificación."
+
+#: C/gtk-doc-manual.xml:28(title)
+msgid "GNU Free Documentation License"
+msgstr "Licencia de documentación libre de GNU"
+
+#: C/gtk-doc-manual.xml:31(title)
+msgid "0. PREAMBLE"
+msgstr "0. PREÁMBULO"
+
+#: C/gtk-doc-manual.xml:32(para)
+msgid ""
+"The purpose of this License is to make a manual, textbook, or other written "
+"document <quote>free</quote> in the sense of freedom: to assure everyone the "
+"effective freedom to copy and redistribute it, with or without modifying it, "
+"either commercially or noncommercially. Secondarily, this License preserves "
+"for the author and publisher a way to get credit for their work, while not "
+"being considered responsible for modifications made by others."
+msgstr ""
+"El propósito de esta Licencia es permitir que un manual, libro de texto, u "
+"otro documento escrito sea <quote>libre</quote> en el sentido de libertad: "
+"asegurar a todo el mundo la libertad efectiva de copiarlo y redistribuirlo, "
+"con o sin modificaciones, de manera comercial o no. En segundo término, esta "
+"Licencia proporciona al autor y al editor una manera de obtener "
+"reconocimiento por su trabajo, sin que se le considere responsable de las "
+"modificaciones realizadas por otros."
+
+#: C/gtk-doc-manual.xml:43(para)
+msgid ""
+"This License is a kind of <quote>copyleft</quote>, which means that "
+"derivative works of the document must themselves be free in the same sense. "
+"It complements the GNU General Public License, which is a copyleft license "
+"designed for free software."
+msgstr ""
+"Esta Licencia es de tipo <quote>copyleft</quote>, lo que significa que los "
+"trabajos derivados del documento deben a su vez ser libres en el mismo "
+"sentido. Complementa la Licencia Pública General de GNU, que es una licencia "
+"tipo copyleft diseñada para el software libre."
+
+#: C/gtk-doc-manual.xml:50(para)
+msgid ""
+"We have designed this License in order to use it for manuals for free "
+"software, because free software needs free documentation: a free program "
+"should come with manuals providing the same freedoms that the software does. "
+"But this License is not limited to software manuals; it can be used for any "
+"textual work, regardless of subject matter or whether it is published as a "
+"printed book. We recommend this License principally for works whose purpose "
+"is instruction or reference."
+msgstr ""
+"Hemos diseñado esta Licencia para usarla en manuales de software libre, ya "
+"que el software libre necesita documentación libre: Un programa libre debe "
+"venir con los manuales que ofrezcan la mismas libertades que da el software. "
+"Pero esta licencia no se limita a manuales de software; puede ser usada para "
+"cualquier trabajo textual, sin tener en cuenta su temática o si se publica "
+"como libro impreso. Recomendamos esta licencia principalmente para trabajos "
+"cuyo fin sea instructivo o de referencia."
+
+#: C/gtk-doc-manual.xml:62(title)
+msgid "1. APPLICABILITY AND DEFINITIONS"
+msgstr "1. APLICABILIDAD Y DEFINICIONES"
+
+#: C/gtk-doc-manual.xml:63(para)
+msgid ""
+"This License applies to any manual or other work that contains a notice "
+"placed by the copyright holder saying it can be distributed under the terms "
+"of this License. The <quote>Document</quote>, below, refers to any such "
+"manual or work. Any member of the public is a licensee, and is addressed as "
+"<quote>you</quote>."
+msgstr ""
+"Esta Licencia se aplica a cualquier manual u otro trabajo que contenga un "
+"aviso colocado por el poseedor del copyright diciendo que puede distribuirse "
+"bajo los términos de esta Licencia. El <quote>Documento</quote>, abajo, se "
+"refiere a cualquier manual o trabajo. Cualquier miembro del público es un "
+"licenciatario, y será referido como <quote>Usted</quote>."
+
+#: C/gtk-doc-manual.xml:72(para)
+msgid ""
+"A <quote>Modified Version</quote> of the Document means any work containing "
+"the Document or a portion of it, either copied verbatim, or with "
+"modifications and/or translated into another language."
+msgstr ""
+"Una <quote>Versión Modificada</quote> del Documento significa cualquier "
+"trabajo que contenga el Documento o una porción del mismo, ya sea una copia "
+"literal o con modificaciones y/o traducciones a otro idioma."
+
+#: C/gtk-doc-manual.xml:79(para)
+msgid ""
+"A <quote>Secondary Section</quote> is a named appendix or a front-matter "
+"section of the <link linkend=\"fdl-document\">Document</link> that deals "
+"exclusively with the relationship of the publishers or authors of the "
+"Document to the Document's overall subject (or to related matters) and "
+"contains nothing that could fall directly within that overall subject. (For "
+"example, if the Document is in part a textbook of mathematics, a Secondary "
+"Section may not explain any mathematics.) The relationship could be a matter "
+"of historical connection with the subject or with related matters, or of "
+"legal, commercial, philosophical, ethical or political position regarding "
+"them."
+msgstr ""
+"Una <quote>Sección Secundaria</quote> es un apéndice con título o una "
+"sección preliminar del Documento que trata exclusivamente de la relación "
+"entre los autores o editores y el tema general del<link linkend=\"fdl-"
+"document\">Documento</link> que trata exclusivamente con la relación entre "
+"los editores o autores del Documento con el asunto general del Documento (o "
+"asuntos relacionados) y no contiene nada que pueda considerarse dentro del "
+"tema principal. (Por ejemplo, si el Documento es en parte un libro de texto "
+"de matemáticas, una Sección Secundaria no explicará nada de matemáticas.) La "
+"relación puede ser una conexión histórica con el asunto o temas "
+"relacionados, o una opinión legal, comercial, filosófica, ética o política "
+"acerca de ellos."
+
+#: C/gtk-doc-manual.xml:94(para)
+msgid ""
+"The <quote>Invariant Sections</quote> are certain <link linkend=\"fdl-"
+"secondary\"> Secondary Sections</link> whose titles are designated, as being "
+"those of Invariant Sections, in the notice that says that the <link linkend="
+"\"fdl-document\">Document</link> is released under this License."
+msgstr ""
+"Las <quote>Secciones Invariantes</quote> son ciertas <link linkend=\"fdl-"
+"secondary\">Secciones Secundarias</link> cuyos títulos son designados como "
+"Secciones Invariantes en la nota que indica que el <link linkend=\"fdl-"
+"document\">Documento</link> se publica bajo esta Licencia."
+
+#: C/gtk-doc-manual.xml:103(para)
+msgid ""
+"The <quote>Cover Texts</quote> are certain short passages of text that are "
+"listed, as Front-Cover Texts or Back-Cover Texts, in the notice that says "
+"that the <link linkend=\"fdl-document\">Document</link> is released under "
+"this License."
+msgstr ""
+" Los <quote>Textos de Cubierta</quote> son ciertos pasajes cortos de texto "
+"que se listan como Textos de Cubierta Delantera o Textos de Cubierta Trasera "
+"en la nota que indica que el <link linkend=\"fdl-document\">Documento</link> "
+"se publica bajo esta Licencia."
+
+#: C/gtk-doc-manual.xml:111(para)
+msgid ""
+"A <quote>Transparent</quote> copy of the <link linkend=\"fdl-document\"> "
+"Document</link> means a machine-readable copy, represented in a format whose "
+"specification is available to the general public, whose contents can be "
+"viewed and edited directly and straightforwardly with generic text editors "
+"or (for images composed of pixels) generic paint programs or (for drawings) "
+"some widely available drawing editor, and that is suitable for input to text "
+"formatters or for automatic translation to a variety of formats suitable for "
+"input to text formatters. A copy made in an otherwise Transparent file "
+"format whose markup has been designed to thwart or discourage subsequent "
+"modification by readers is not Transparent. A copy that is not "
+"<quote>Transparent</quote> is called <quote>Opaque</quote>."
+msgstr ""
+"Una copia <quote>Transparente</quote> del <link linkend=\"fdl-document"
+"\">Documento</link>, significa una copia para lectura en máquina, "
+"representada en un formato cuya especificación está disponible al público en "
+"general, cuyo contenido puede ser visto y editados directamente con editores "
+"de texto genéricos o (para imágenes compuestas por píxeles) con programas "
+"genéricos de manipulación de imágenes o (para dibujos) con algún editor de "
+"dibujos ampliamente disponible, y que sea adecuado como entrada para "
+"formateadores de texto o para su traducción automática a formatos adecuados "
+"para formateadores de texto. Una copia hecha en un formato definido como "
+"Transparente, pero cuyo marcaje o ausencia de él haya sido diseñado para "
+"impedir o dificultar modificaciones posteriores por parte de los lectores no "
+"es Transparente. Una copia que no es <quote>Transparente</quote> se denomina "
+"<quote>Opaca</quote>."
+
+#: C/gtk-doc-manual.xml:128(para)
+msgid ""
+"Examples of suitable formats for Transparent copies include plain ASCII "
+"without markup, Texinfo input format, LaTeX input format, SGML or XML using "
+"a publicly available DTD, and standard-conforming simple HTML designed for "
+"human modification. Opaque formats include PostScript, PDF, proprietary "
+"formats that can be read and edited only by proprietary word processors, "
+"SGML or XML for which the DTD and/or processing tools are not generally "
+"available, and the machine-generated HTML produced by some word processors "
+"for output purposes only."
+msgstr ""
+"Como ejemplos de formatos adecuados para copias Transparentes están ASCII "
+"puro sin marcaje, formato de entrada de Texinfo, formato de entrada de "
+"LaTeX, SGML o XML usando una DTD disponible públicamente, y HTML, PostScript "
+"o PDF simples, que sigan los estándares y diseños para que los modifiquen "
+"personas.Los formatos Opacos incluyen formatos propietarios que pueden ser "
+"leídos y editados únicamente en procesadores de textos propietarios, SGML o "
+"XML para los cuáles las DTD y/o herramientas de procesamiento no estén "
+"ampliamente disponibles, y HTML, PostScript o PDF generados por algunos "
+"procesadores de textos sólo como salida."
+
+#: C/gtk-doc-manual.xml:141(para)
+msgid ""
+"The <quote>Title Page</quote> means, for a printed book, the title page "
+"itself, plus such following pages as are needed to hold, legibly, the "
+"material this License requires to appear in the title page. For works in "
+"formats which do not have any title page as such, <quote>Title Page</quote> "
+"means the text near the most prominent appearance of the work's title, "
+"preceding the beginning of the body of the text."
+msgstr ""
+" La <quote>Portada</quote> significa, en un libro impreso, la página de "
+"título, más las páginas siguientes que sean necesarias para mantener "
+"legiblemente el material que esta Licencia requiere en la portada. Para "
+"trabajos en formatos que no tienen página de portada como tal, "
+"<quote>Portada</quote>significa el texto cercano a la aparición más "
+"prominente del título del trabajo,precediendo el comienzo del cuerpo del "
+"texto."
+
+#: C/gtk-doc-manual.xml:153(title)
+msgid "2. VERBATIM COPYING"
+msgstr "2. COPIA LITERAL"
+
+#: C/gtk-doc-manual.xml:154(para)
+msgid ""
+"You may copy and distribute the <link linkend=\"fdl-document\">Document</"
+"link> in any medium, either commercially or noncommercially, provided that "
+"this License, the copyright notices, and the license notice saying this "
+"License applies to the Document are reproduced in all copies, and that you "
+"add no other conditions whatsoever to those of this License. You may not use "
+"technical measures to obstruct or control the reading or further copying of "
+"the copies you make or distribute. However, you may accept compensation in "
+"exchange for copies. If you distribute a large enough number of copies you "
+"must also follow the conditions in <link linkend=\"fdl-section3\">section 3</"
+"link>."
+msgstr ""
+"Usted puede copiar y distribuir el <link linkend=\"fdl-document\">Documento</"
+"link> en cualquier soporte, sea en forma comercial o no, siempre y cuando "
+"proporcione esta Licencia, las notas de copyright y la nota que indica que "
+"esta Licencia se aplica al Documento reproduciéndola en todas las copias y "
+"que usted no añada ninguna otra condición a las expuestas en esta Licencia. "
+"Usted no puede usar medidas técnicas para obstruir o controlar la lectura o "
+"copia posterior de las copias que usted haga o distribuya. Sin embargo, "
+"usted puede aceptar compensación a cambio de las copias. Si distribuye un "
+"número suficientemente grande de copias también deberá seguir las "
+"condiciones de la <link linkend=\"fdl-section3\">sección 3</link>."
+
+#: C/gtk-doc-manual.xml:169(para)
+msgid ""
+"You may also lend copies, under the same conditions stated above, and you "
+"may publicly display copies."
+msgstr ""
+"Usted también puede prestar copias, bajo las mismas condiciones establecidas "
+"anteriormente, y puede exhibir copias públicamente."
+
+#: C/gtk-doc-manual.xml:176(title)
+msgid "3. COPYING IN QUANTITY"
+msgstr "3. COPIAR EN CANTIDAD"
+
+#: C/gtk-doc-manual.xml:177(para)
+msgid ""
+"If you publish printed copies of the <link linkend=\"fdl-document"
+"\">Document</link> numbering more than 100, and the Document's license "
+"notice requires <link linkend=\"fdl-cover-texts\">Cover Texts</link>, you "
+"must enclose the copies in covers that carry, clearly and legibly, all these "
+"Cover Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on "
+"the back cover. Both covers must also clearly and legibly identify you as "
+"the publisher of these copies. The front cover must present the full title "
+"with all words of the title equally prominent and visible. You may add other "
+"material on the covers in addition. Copying with changes limited to the "
+"covers, as long as they preserve the title of the <link linkend=\"fdl-"
+"document\">Document</link> and satisfy these conditions, can be treated as "
+"verbatim copying in other respects."
+msgstr ""
+" Si publica copias impresas del <link linkend=\"fdl-document\">Documento</"
+"link> que sobrepasen las 100, y la nota de licencia del Documento exige "
+"<link linkend=\"fdl-cover-texts\">Textos de Cubierta</link>, debe incluirlas "
+"copias con cubiertas que lleven en forma clara y legible todos esos Textos "
+"de Cubierta: Textos de Cubierta Delantera en la cubierta delantera y Textos "
+"de Cubierta Trasera en la cubierta trasera. Ambas cubiertas deben "
+"identificarlo a Usted clara y legiblemente como editor de tales copias. La "
+"cubierta debe mostrar el título completo con todas las palabras igualmente "
+"prominentes y visibles. Además puede añadir otro material en las cubiertas. "
+"Las copias con cambios limitados a las cubiertas, siempre que conserven el "
+"título del <link linkend=\"fdl-document\">Documento</link> y satisfagan "
+"estas condiciones, pueden considerarse como copias literales en todos los "
+"aspectos."
+
+#: C/gtk-doc-manual.xml:195(para)
+msgid ""
+"If the required texts for either cover are too voluminous to fit legibly, "
+"you should put the first ones listed (as many as fit reasonably) on the "
+"actual cover, and continue the rest onto adjacent pages."
+msgstr ""
+" Si los textos requeridos para la cubierta son muy voluminosos para que "
+"ajusten legiblemente, debe colocar los primeros (tantos como sea razonable "
+"colocar) en la verdadera cubierta y situar el resto en páginas adyacentes."
+
+#: C/gtk-doc-manual.xml:202(para)
+msgid ""
+"If you publish or distribute <link linkend=\"fdl-transparent\">Opaque</link> "
+"copies of the <link linkend=\"fdl-document\">Document</link> numbering more "
+"than 100, you must either include a machine-readable <link linkend=\"fdl-"
+"transparent\">Transparent</link> copy along with each Opaque copy, or state "
+"in or with each Opaque copy a publicly-accessible computer-network location "
+"containing a complete Transparent copy of the Document, free of added "
+"material, which the general network-using public has access to download "
+"anonymously at no charge using public-standard network protocols. If you use "
+"the latter option, you must take reasonably prudent steps, when you begin "
+"distribution of Opaque copies in quantity, to ensure that this Transparent "
+"copy will remain thus accessible at the stated location until at least one "
+"year after the last time you distribute an Opaque copy (directly or through "
+"your agents or retailers) of that edition to the public."
+msgstr ""
+" Si Usted publica o distribuye copias <link linkend=\"fdl-transparent"
+"\">Opacas</link> del <link linkend=\"fdl-document\">Documento</link> cuya "
+"cantidad exceda las 100, debe incluir una copia <link linkend=\"fdl-"
+"transparent\">Transparente</link>, que pueda ser leída por una máquina, con "
+"cada copia Opaca, o bien mostrar, en cada copia Opaca, una dirección de red "
+"donde cualquier usuario de la misma tenga acceso por medio de protocolos "
+"públicos y estandarizados a una copia Transparente del Documento completa, "
+"sin material adicional. Si usted hace uso de la última opción, deberá tomar "
+"las medidas necesarias, cuando comience la distribución de las copias Opacas "
+"en cantidad, para asegurar que esta copia Transparente permanecerá accesible "
+"en el sitio establecido por lo menos un año después de la última vez que "
+"distribuya una copia Opaca de esa edición al público (directamente o a "
+"través de sus agentes o distribuidores)."
+
+#: C/gtk-doc-manual.xml:222(para)
+msgid ""
+"It is requested, but not required, that you contact the authors of the <link "
+"linkend=\"fdl-document\">Document</link> well before redistributing any "
+"large number of copies, to give them a chance to provide you with an updated "
+"version of the Document."
+msgstr ""
+"Se solicita, aunque no es requisito, que se ponga en contacto con los "
+"autores del <link linkend=\"fdl-document\">Documento</link> antes de "
+"redistribuir gran número de copias, para darles la oportunidad de que le "
+"proporcionen una versión actualizada del Documento."
+
+#: C/gtk-doc-manual.xml:231(title)
+msgid "4. MODIFICATIONS"
+msgstr "4. MODIFICACIONES"
+
+#: C/gtk-doc-manual.xml:232(para)
+msgid ""
+"You may copy and distribute a <link linkend=\"fdl-modified\">Modified "
+"Version</link> of the <link linkend=\"fdl-document\">Document</link> under "
+"the conditions of sections <link linkend=\"fdl-section2\">2</link> and <link "
+"linkend=\"fdl-section3\">3</link> above, provided that you release the "
+"Modified Version under precisely this License, with the Modified Version "
+"filling the role of the Document, thus licensing distribution and "
+"modification of the Modified Version to whoever possesses a copy of it. In "
+"addition, you must do these things in the Modified Version:"
+msgstr ""
+"Puede copiar y distribuir una <link linkend=\"fdl-modified\">Versión "
+"Modificada</link> del <link linkend=\"fdl-document\">Documento</link> bajo "
+"las condiciones de las secciones <link linkend=\"fdl-section2\">2</link> y "
+"<link linkend=\"fdl-section3\">3</link> anteriores, siempre que Usted libere "
+"la Versión Modificada bajo esta misma Licencia, con la Versión Modificada "
+"haciendo el rol del Documento, por lo tanto dando Licencia de distribución y "
+"modificación de la Versión Modificada a quienquiera posea una copia de la "
+"misma. Además, debe hacer lo siguiente en la Versión Modificada:"
+
+#: C/gtk-doc-manual.xml:248(title)
+msgid "A"
+msgstr "A"
+
+#: C/gtk-doc-manual.xml:249(para)
+msgid ""
+"Use in the <link linkend=\"fdl-title-page\">Title Page</link> (and on the "
+"covers, if any) a title distinct from that of the <link linkend=\"fdl-"
+"document\">Document</link>, and from those of previous versions (which "
+"should, if there were any, be listed in the History section of the "
+"Document). You may use the same title as a previous version if the original "
+"publisher of that version gives permission."
+msgstr ""
+"Usar en la <link linkend=\"fdl-title-page\">Portada</link> (y en las "
+"cubiertas, si hay alguna) un título distinto al del <link linkend=\"fdl-"
+"document\">Documento</link> y de sus versiones anteriores (que deberían, si "
+"hay alguna, estar listadas en la sección de Historia del Documento). Puede "
+"usar el mismo título de versiones anteriores al original siempre y cuando "
+"quien las publicó originalmente otorgue permiso."
+
+#: C/gtk-doc-manual.xml:264(title)
+msgid "B"
+msgstr "B"
+
+#: C/gtk-doc-manual.xml:265(para)
+msgid ""
+"List on the <link linkend=\"fdl-title-page\">Title Page</link>, as authors, "
+"one or more persons or entities responsible for authorship of the "
+"modifications in the <link linkend=\"fdl-modified\">Modified Version</link>, "
+"together with at least five of the principal authors of the <link linkend="
+"\"fdl-document\">Document</link> (all of its principal authors, if it has "
+"less than five)."
+msgstr ""
+"Listar en la <link linkend=\"fdl-title-page\">Portada</link>, como autores, "
+"una o más personas o entidades responsables de la autoría de las "
+"modificaciones de la <link linkend=\"fdl-modified\">Versión Modificada</"
+"link>, junto con por lo menos cinco de los autores principales del <link "
+"linkend=\"fdl-document\">Documento</link> (todos sus autores principales, si "
+"hay menos de cinco), a menos que le eximan de tal requisito."
+
+#: C/gtk-doc-manual.xml:279(title)
+msgid "C"
+msgstr "C"
+
+#: C/gtk-doc-manual.xml:280(para)
+msgid ""
+"State on the <link linkend=\"fdl-title-page\">Title Page</link> the name of "
+"the publisher of the <link linkend=\"fdl-modified\">Modified Version</link>, "
+"as the publisher."
+msgstr ""
+"Mostrar en la <link linkend=\"fdl-title-page\">Portada</link> como editor "
+"el nombre del editor de la <link linkend=\"fdl-modified\">Versión "
+"Modificada</link>"
+
+#: C/gtk-doc-manual.xml:291(title)
+msgid "D"
+msgstr "D"
+
+#: C/gtk-doc-manual.xml:292(para)
+msgid ""
+"Preserve all the copyright notices of the <link linkend=\"fdl-document"
+"\">Document</link>."
+msgstr ""
+"Conservar todas las notas de copyright del <link linkend=\"fdl-document"
+"\">Documento</link>."
+
+#: C/gtk-doc-manual.xml:301(title)
+msgid "E"
+msgstr "E"
+
+#: C/gtk-doc-manual.xml:302(para)
+msgid ""
+"Add an appropriate copyright notice for your modifications adjacent to the "
+"other copyright notices."
+msgstr ""
+"Añadir una nota de copyright apropiada a sus modificaciones, adyacente a las "
+"otras notas de copyright."
+
+#: C/gtk-doc-manual.xml:311(title)
+msgid "F"
+msgstr "F"
+
+#: C/gtk-doc-manual.xml:312(para)
+msgid ""
+"Include, immediately after the copyright notices, a license notice giving "
+"the public permission to use the <link linkend=\"fdl-modified\">Modified "
+"Version</link> under the terms of this License, in the form shown in the "
+"Addendum below."
+msgstr ""
+"Incluir, inmediatamente después de los avisos de copyright, una nota de "
+"licencia dando el permiso público para usar la <link linkend=\"fdl-modified"
+"\">Versión Modificada</link> bajo los términos de esta Licencia, de la forma "
+"mostrada en el Adenda de más abajo."
+
+#: C/gtk-doc-manual.xml:324(title)
+msgid "G"
+msgstr "G"
+
+#: C/gtk-doc-manual.xml:325(para)
+msgid ""
+"Preserve in that license notice the full lists of <link linkend=\"fdl-"
+"invariant\"> Invariant Sections</link> and required <link linkend=\"fdl-"
+"cover-texts\">Cover Texts</link> given in the <link linkend=\"fdl-document"
+"\">Document's</link> license notice."
+msgstr ""
+"Incluir, inmediatamente después de ese aviso de licencia, la lista completa "
+"de <link linkend=\"fdl-invariant\">Secciones invariantes</link> y de los "
+"<link linkend=\"fdl-cover-texts\">Textos de Cubierta</link> que sean "
+"requeridos en el aviso de Licencia del <link linkend=\"fdl-document"
+"\">Documento</link> original."
+
+#: C/gtk-doc-manual.xml:337(title)
+msgid "H"
+msgstr "H"
+
+#: C/gtk-doc-manual.xml:338(para)
+msgid "Include an unaltered copy of this License."
+msgstr "Incluir una copia sin modificación de esta Licencia."
+
+#: C/gtk-doc-manual.xml:346(title)
+msgid "I"
+msgstr "I"
+
+#: C/gtk-doc-manual.xml:347(para)
+msgid ""
+"Preserve the section entitled <quote>History</quote>, and its title, and add "
+"to it an item stating at least the title, year, new authors, and publisher "
+"of the <link linkend=\"fdl-modified\">Modified Version </link>as given on "
+"the <link linkend=\"fdl-title-page\">Title Page</link>. If there is no "
+"section entitled <quote>History</quote> in the <link linkend=\"fdl-document"
+"\">Document</link>, create one stating the title, year, authors, and "
+"publisher of the Document as given on its Title Page, then add an item "
+"describing the Modified Version as stated in the previous sentence."
+msgstr ""
+"Conservar la sección titulada <quote>Historia</quote>, conservar su Título y "
+"añadirle un elemento que declare al menos el título, el año, los nuevos "
+"autores y el editor de la <link linkend=\"fdl-modified\">Versión Modificada</"
+"link>, tal como figuran en la <link linkend=\"fdl-title-page\">Portada</"
+"link>. Si no hay una sección titulada <quote>Historia</quote> en el <link "
+"linkend=\"fdl-document\">Documento</link>, crear una estableciendo el "
+"título, el año, los autores y el editor del Documento, tal como figuran en "
+"su Portada, añadiendo además un elemento describiendo la Versión Modificada, "
+"como se estableció en la sentencia anterior."
+
+#: C/gtk-doc-manual.xml:365(title)
+msgid "J"
+msgstr "J"
+
+#: C/gtk-doc-manual.xml:366(para)
+msgid ""
+"Preserve the network location, if any, given in the <link linkend=\"fdl-"
+"document\">Document</link> for public access to a <link linkend=\"fdl-"
+"transparent\">Transparent</link> copy of the Document, and likewise the "
+"network locations given in the Document for previous versions it was based "
+"on. These may be placed in the <quote>History</quote> section. You may omit "
+"a network location for a work that was published at least four years before "
+"the Document itself, or if the original publisher of the version it refers "
+"to gives permission."
+msgstr ""
+"Conservar la dirección en red, si la hay, dada en el <link linkend=\"fdl-"
+"document\">Documento</link> para el acceso público a una copia <link linkend="
+"\"fdl-transparent\">Transparente</link> del mismo, así como las otras "
+"direcciones de red dadas en el Documento para versiones anteriores en las "
+"que estuviese basado. Pueden ubicarse en la sección <quote>Historia</quote>. "
+"Se puede omitir la ubicación en red de un trabajo que haya sido publicado "
+"por lo menos cuatro años antes que el Documento mismo, o si el editor "
+"original de dicha versión da permiso."
+
+#: C/gtk-doc-manual.xml:383(title)
+msgid "K"
+msgstr "K"
+
+#: C/gtk-doc-manual.xml:384(para)
+msgid ""
+"In any section entitled <quote>Acknowledgements</quote> or "
+"<quote>Dedications</quote>, preserve the section's title, and preserve in "
+"the section all the substance and tone of each of the contributor "
+"acknowledgements and/or dedications given therein."
+msgstr ""
+"En cualquier sección titulada <quote>Agradecimientos</quote> o "
+"<quote>Dedicatorias</quote>, conservar el título de la sección y conservar "
+"en ella toda la sustancia y el tono de los agradecimientos y/o dedicatorias "
+"incluidas por cada contribuyente."
+
+#: C/gtk-doc-manual.xml:396(title)
+msgid "L"
+msgstr "L"
+
+#: C/gtk-doc-manual.xml:397(para)
+msgid ""
+"Preserve all the <link linkend=\"fdl-invariant\">Invariant Sections</link> "
+"of the <link linkend=\"fdl-document\">Document</link>, unaltered in their "
+"text and in their titles. Section numbers or the equivalent are not "
+"considered part of the section titles."
+msgstr ""
+"Conservar todas las <link linkend=\"fdl-invariant\">Secciones Invariantes</"
+"link> del <link linkend=\"fdl-document\">Documento</link>, sin alterar su "
+"texto ni sus títulos. Los números de sección o equivalentes no se consideran "
+"parte de los títulos de la sección."
+
+#: C/gtk-doc-manual.xml:409(title)
+msgid "M"
+msgstr "M"
+
+#: C/gtk-doc-manual.xml:410(para)
+msgid ""
+"Delete any section entitled <quote>Endorsements</quote>. Such a section may "
+"not be included in the <link linkend=\"fdl-modified\">Modified Version</"
+"link>."
+msgstr ""
+"Borrar cualquier sección titulada <quote>Aprobaciones</quote>. Tales "
+"secciones no pueden estar incluidas en las <link linkend=\"fdl-modified"
+"\">Versiones Modificadas</link>."
+
+#: C/gtk-doc-manual.xml:421(title)
+msgid "N"
+msgstr "N"
+
+#: C/gtk-doc-manual.xml:422(para)
+msgid ""
+"Do not retitle any existing section as <quote>Endorsements</quote> or to "
+"conflict in title with any <link linkend=\"fdl-invariant\">Invariant "
+"Section</link>."
+msgstr ""
+"No cambiar el título de ninguna sección existente a <quote>Aprobaciones</"
+"quote> ni a uno que entre en conflicto con el de alguna <link linkend=\"fdl-"
+"invariant\">Sección Invariante</link>."
+
+#: C/gtk-doc-manual.xml:432(para)
+msgid ""
+"If the <link linkend=\"fdl-modified\">Modified Version</link> includes new "
+"front-matter sections or appendices that qualify as <link linkend=\"fdl-"
+"secondary\">Secondary Sections</link> and contain no material copied from "
+"the Document, you may at your option designate some or all of these sections "
+"as invariant. To do this, add their titles to the list of <link linkend="
+"\"fdl-invariant\">Invariant Sections</link> in the Modified Version's "
+"license notice. These titles must be distinct from any other section titles."
+msgstr ""
+" Si la <link linkend=\"fdl-modified\">Versión Modificada</link> incluye "
+"secciones o apéndices nuevos que cualifiquen como <link linkend=\"fdl-"
+"secondary\">Secciones Secundarias</link> y no contienen ningún material "
+"copiado del Documento, puede opcionalmente designar algunas o todas esas "
+"secciones como invariantes. Para hacerlo, añada sus títulos a la lista de "
+"<link linkend=\"fdl-invariant\">Secciones Invariantes</link> en el aviso de "
+"licencia de la Versión Modificada. Tales títulos deben ser distintos de "
+"cualquier otro título de sección."
+
+#: C/gtk-doc-manual.xml:444(para)
+msgid ""
+"You may add a section entitled <quote>Endorsements</quote>, provided it "
+"contains nothing but endorsements of your <link linkend=\"fdl-modified"
+"\">Modified Version</link> by various parties--for example, statements of "
+"peer review or that the text has been approved by an organization as the "
+"authoritative definition of a standard."
+msgstr ""
+"Puede añadir una sección titulada <quote>Aprobaciones</quote>, siempre que "
+"contenga únicamente aprobaciones de su <link linkend=\"fdl-modified"
+"\">Versión Modificada</link> por otras fuentes --por ejemplo, observaciones "
+"de compañeros o que el texto ha sido aprobado por una organización como "
+"definición oficial de un estándar."
+
+#: C/gtk-doc-manual.xml:453(para)
+msgid ""
+"You may add a passage of up to five words as a <link linkend=\"fdl-cover-"
+"texts\">Front-Cover Text</link>, and a passage of up to 25 words as a <link "
+"linkend=\"fdl-cover-texts\">Back-Cover Text</link>, to the end of the list "
+"of <link linkend=\"fdl-cover-texts\">Cover Texts</link> in the <link linkend="
+"\"fdl-modified\">Modified Version</link>. Only one passage of Front-Cover "
+"Text and one of Back-Cover Text may be added by (or through arrangements "
+"made by) any one entity. If the <link linkend=\"fdl-document\">Document</"
+"link> already includes a cover text for the same cover, previously added by "
+"you or by arrangement made by the same entity you are acting on behalf of, "
+"you may not add another; but you may replace the old one, on explicit "
+"permission from the previous publisher that added the old one."
+msgstr ""
+"Puede añadir un pasaje de hasta cinco palabras como <link linkend=\"fdl-"
+"cover-texts\">Texto de Cubierta Delantera</link> y un pasaje de hasta 25 "
+"palabras como <link linkend=\"fdl-cover-texts\">Texto de Cubierta Trasera</"
+"link> al final de la lista de <link linkend=\"fdl-cover-texts\">Texto de "
+"Cubierta</link> en la <link linkend=\"fdl-modified\">Versión Modificada</"
+"link>. Una entidad sólo puede añadir (o hacer que se añada) un pasaje al "
+"Texto de Cubierta Delantera y uno al de Cubierta Trasera. Si el <link "
+"linkend=\"fdl-document\">Documento</link> ya incluye un textos de cubiertas "
+"añadidos previamente por usted o por acuerdo previo con la entidad que usted "
+"representa, usted no puede añadir otro; pero puede reemplazar el anterior, "
+"con permiso explícito del editor anterior que agregó el texto anterior."
+
+#: C/gtk-doc-manual.xml:470(para)
+msgid ""
+"The author(s) and publisher(s) of the <link linkend=\"fdl-document"
+"\">Document</link> do not by this License give permission to use their names "
+"for publicity for or to assert or imply endorsement of any <link linkend="
+"\"fdl-modified\">Modified Version </link>."
+msgstr ""
+"Con esta Licencia ni los autores ni los editores del <link linkend=\"fdl-"
+"document\">Documento</link> dan permiso para usar sus nombres para "
+"publicidad ni para asegurar o implicar aprobación de cualquier <link linkend="
+"\"fdl-modified\">Versión Modificada</link>."
+
+#: C/gtk-doc-manual.xml:480(title)
+msgid "5. COMBINING DOCUMENTS"
+msgstr "5. COMBINAR DOCUMENTOS"
+
+#: C/gtk-doc-manual.xml:481(para)
+msgid ""
+"You may combine the <link linkend=\"fdl-document\">Document</link> with "
+"other documents released under this License, under the terms defined in "
+"<link linkend=\"fdl-section4\">section 4</link> above for modified versions, "
+"provided that you include in the combination all of the <link linkend=\"fdl-"
+"invariant\">Invariant Sections</link> of all of the original documents, "
+"unmodified, and list them all as Invariant Sections of your combined work in "
+"its license notice."
+msgstr ""
+"Usted puede combinar el <link linkend=\"fdl-document\">Documento</link> con "
+"otros documentos liberados bajo esta Licencia, bajo los términos definidos "
+"en la sección <link linkend=\"fdl-section4\">section 4</link> más arriba "
+"para versiones modificadas, siempre que incluya en la combinación todas las "
+"<link linkend=\"fdl-invariant\">Secciones Invariantes</link> de todos los "
+"documentos originales, sin modificaciones, y las liste todas como Secciones "
+"Invariantes de su trabajo combinado en su aviso de licencia."
+
+#: C/gtk-doc-manual.xml:492(para)
+msgid ""
+"The combined work need only contain one copy of this License, and multiple "
+"identical <link linkend=\"fdl-invariant\">Invariant Sections</link> may be "
+"replaced with a single copy. If there are multiple Invariant Sections with "
+"the same name but different contents, make the title of each such section "
+"unique by adding at the end of it, in parentheses, the name of the original "
+"author or publisher of that section if known, or else a unique number. Make "
+"the same adjustment to the section titles in the list of Invariant Sections "
+"in the license notice of the combined work."
+msgstr ""
+"El trabajo combinado necesita contener solamente una copia de esta Licencia, "
+"y múltiples <link linkend=\"fdl-invariant\">Secciones Invariantes</link> "
+"idénticas pueden reemplazarse por una sola copia. Si hay múltiples Secciones "
+"Invariantes con el mismo nombre pero con contenidos diferentes, haga el "
+"título de cada una de estas secciones único añadiéndolo al final de este, "
+"entre paréntesis, el nombre del autor o de quien editó originalmente esa "
+"sección, si es conocido, o si no, un número único. Haga el mismo ajuste a "
+"los títulos de sección en la lista de Secciones Invariantes en la nota de "
+"licencia del trabajo combinado."
+
+#: C/gtk-doc-manual.xml:505(para)
+msgid ""
+"In the combination, you must combine any sections entitled <quote>History</"
+"quote> in the various original documents, forming one section entitled "
+"<quote>History</quote>; likewise combine any sections entitled "
+"<quote>Acknowledgements</quote>, and any sections entitled "
+"<quote>Dedications</quote>. You must delete all sections entitled "
+"<quote>Endorsements.</quote>"
+msgstr ""
+"En la combinación, debe combinar cualquier sección titulada <quote>Historia</"
+"quote> de los distintos documentos originales, formando una sección titulada "
+"<quote>Historia</quote>; de la misma forma, combine cualquier sección "
+"titulada <quote>Reconocimientos</quote> y cualquier sección titulada "
+"<quote>Dedicatorias</quote>. Debe borrar todas las secciones tituladas "
+"<quote>Aprobaciones</quote>."
+
+#: C/gtk-doc-manual.xml:516(title)
+msgid "6. COLLECTIONS OF DOCUMENTS"
+msgstr "6. COLECCIONES DE DOCUMENTOS"
+
+#: C/gtk-doc-manual.xml:517(para)
+msgid ""
+"You may make a collection consisting of the <link linkend=\"fdl-document"
+"\">Document</link> and other documents released under this License, and "
+"replace the individual copies of this License in the various documents with "
+"a single copy that is included in the collection, provided that you follow "
+"the rules of this License for verbatim copying of each of the documents in "
+"all other respects."
+msgstr ""
+"Puede hacer una colección que conste del <link linkend=\"fdl-document"
+"\">Documento</link> y de otros documentos publicados bajo esta Licencia, y "
+"reemplazar las copias individuales de esta Licencia en todos los documentos "
+"por una sola copia que esté incluida en la colección, siempre que siga las "
+"reglas de esta Licencia para cada copia literal de cada uno de los "
+"documentos en cualquiera de los demás aspectos."
+
+#: C/gtk-doc-manual.xml:527(para)
+msgid ""
+"You may extract a single document from such a collection, and dispbibute it "
+"individually under this License, provided you insert a copy of this License "
+"into the extracted document, and follow this License in all other respects "
+"regarding verbatim copying of that document."
+msgstr ""
+" Puede extraer un solo documento de una de tales colecciones y distribuirlo "
+"individualmente bajo esta Licencia, siempre que inserte una copia de esta "
+"Licencia en el documento extraído, y siga esta Licencia en todos los demás "
+"aspectos relativos a la copia literal de dicho documento."
+
+#: C/gtk-doc-manual.xml:537(title)
+msgid "7. AGGREGATION WITH INDEPENDENT WORKS"
+msgstr "7. AGREGACIÓN CON TRABAJOS INDEPENDIENTES"
+
+#: C/gtk-doc-manual.xml:538(para)
+msgid ""
+"A compilation of the <link linkend=\"fdl-document\">Document</link> or its "
+"derivatives with other separate and independent documents or works, in or on "
+"a volume of a storage or distribution medium, does not as a whole count as a "
+"<link linkend=\"fdl-modified\">Modified Version</link> of the Document, "
+"provided no compilation copyright is claimed for the compilation. Such a "
+"compilation is called an <quote>aggregate</quote>, and this License does not "
+"apply to the other self-contained works thus compiled with the Document , on "
+"account of their being thus compiled, if they are not themselves derivative "
+"works of the Document. If the <link linkend=\"fdl-cover-texts\">Cover Text</"
+"link> requirement of <link linkend=\"fdl-section3\">section 3</link> is "
+"applicable to these copies of the Document, then if the Document is less "
+"than one quarter of the entire aggregate, the Document's Cover Texts may be "
+"placed on covers that surround only the Document within the aggregate. "
+"Otherwise they must appear on covers around the whole aggregate."
+msgstr ""
+"Una recopilación que conste del <link linkend=\"fdl-document\">Documento</"
+"link> o sus derivados y de otros documentos o trabajos separados e "
+"independientes, en cualquier soporte de almacenamiento o distribución, no "
+"cuenta como un todo como una <link linkend=\"fdl-modified\">Versión "
+"Modificada</link> del Documento, siempre que no se reclame ningún derecho de "
+"copyright por la compilación. Dicha compilación se denomina un "
+"<quote>agregado</quote>, y esta Licencia no se aplica a otros trabajos "
+"autocontenidos incluidos con el Documento. teniendo en cuenta que son "
+"compilados, si no son los mismos trabajos derivados del Documento. Si el "
+"requisito de <link linkend=\"fdl-cover-texts\">Texto de Cubierta</link> de "
+"la <link linkend=\"fdl-section3\">sección 3</link> es aplicable a estas "
+"copias del Documento, entonces si el Documento es menor que un cuarto del "
+"agregado completo, los Textos de Cubierta del Documento pueden colocarse en "
+"cubiertas que enmarquen solamente el Documento dentro del agregado. En caso "
+"contrario deben aparecer en cubiertas impresas enmarcando todo el agregado."
+
+#: C/gtk-doc-manual.xml:561(title)
+msgid "8. TRANSLATION"
+msgstr "8. TRADUCCIÓN"
+
+#: C/gtk-doc-manual.xml:562(para)
+msgid ""
+"Translation is considered a kind of modification, so you may distribute "
+"translations of the <link linkend=\"fdl-document\">Document</link> under the "
+"terms of <link linkend=\"fdl-section4\">section 4</link>. Replacing <link "
+"linkend=\"fdl-invariant\"> Invariant Sections</link> with translations "
+"requires special permission from their copyright holders, but you may "
+"include translations of some or all Invariant Sections in addition to the "
+"original versions of these Invariant Sections. You may include a translation "
+"of this License provided that you also include the original English version "
+"of this License. In case of a disagreement between the translation and the "
+"original English version of this License, the original English version will "
+"prevail."
+msgstr ""
+"La traducción se considera un tipo de modificación, así que puede distribuir "
+"traducciones del <link linkend=\"fdl-document\">Documento</link> bajo los "
+"términos de la <link linkend=\"fdl-section4\">sección 4</link>. Reemplazar "
+"las <link linkend=\"fdl-invariant\">Secciones invariantes</link> con "
+"traducciones requiere permiso especial de los mantenedores de la "
+"propietarios del copyright, pero puede incluir traducciones de algunos o "
+"todas las Secciones invariantes. Puede incluir una traducción de esta "
+"licencia proporcionada que además incluya la versión original de esta "
+"Sección invariante en adición de esta licencia. En caso de desacuerdo "
+"prevalecerá la versión original en inglés."
+
+#: C/gtk-doc-manual.xml:580(title)
+msgid "9. TERMINATION"
+msgstr "9. TERMINACIÓN"
+
+#: C/gtk-doc-manual.xml:581(para)
+msgid ""
+"You may not copy, modify, sublicense, or distribute the <link linkend=\"fdl-"
+"document\">Document</link> except as expressly provided for under this "
+"License. Any other attempt to copy, modify, sublicense or distribute the "
+"Document is void, and will automatically terminate your rights under this "
+"License. However, parties who have received copies, or rights, from you "
+"under this License will not have their licenses terminated so long as such "
+"parties remain in full compliance."
+msgstr ""
+" Usted no puede copiar, modificar, sublicenciar o distribuir el <link "
+"linkend=\"fdl-document\">Documento</link> salvo por lo permitido "
+"expresamente por esta Licencia. Cualquier otro intento de copia, "
+"modificación, sublicenciamiento o distribución del Documento es nulo, y dará "
+"por terminados automáticamente sus derechos bajo esa Licencia. Sin embargo, "
+"los terceros que hayan recibido copias, o derechos, de usted bajo esta "
+"Licencia no verán terminadas sus licencias, siempre que permanezcan en total "
+"conformidad con ella."
+
+#: C/gtk-doc-manual.xml:594(title)
+msgid "10. FUTURE REVISIONS OF THIS LICENSE"
+msgstr "10. FUTURAS REVISIONES DE ESTA LICENCIA"
+
+#: C/gtk-doc-manual.xml:595(para)
+msgid ""
+"The <ulink type=\"http\" url=\"http://www.gnu.org/fsf/fsf.html\">Free "
+"Software Foundation</ulink> may publish new, revised versions of the GNU "
+"Free Documentation License from time to time. Such new versions will be "
+"similar in spirit to the present version, but may differ in detail to "
+"address new problems or concerns. See <ulink type=\"http\" url=\"http://www."
+"gnu.org/copyleft\">http://www.gnu.org/copyleft/</ulink>."
+msgstr ""
+"La <ulink type=\"http\" url=\"http://www.gnu.org/fsf/fsf.html\">Free "
+"Software Foundation</ulink> puede publicar versiones nuevas y revisadas de "
+"la Licencia de Documentación Libre GNU de vez en cuando. Dichas versiones "
+"nuevas serán similares en espíritu a la presente versión, pero pueden "
+"diferir en detalles para solucionar nuevos problemas o preocupaciones. Vea "
+"<ulink type=\"http\" url=\"http://www.gnu.org/copyleft\">http://www.gnu.org/"
+"copyleft/</ulink>."
+
+#: C/gtk-doc-manual.xml:606(para)
+msgid ""
+"Each version of the License is given a distinguishing version number. If the "
+"<link linkend=\"fdl-document\">Document</link> specifies that a particular "
+"numbered version of this License <quote>or any later version</quote> applies "
+"to it, you have the option of following the terms and conditions either of "
+"that specified version or of any later version that has been published (not "
+"as a draft) by the Free Software Foundation. If the Document does not "
+"specify a version number of this License, you may choose any version ever "
+"published (not as a draft) by the Free Software Foundation."
+msgstr ""
+"Cada versión de la licencia tiene un número de versión. Si la <link linkend="
+"\"fdl-document\">Documentación</link> especifica que el número particular de "
+"versión de esta Licencia <quote>o cualquier posterior versión</quote> "
+"aplicado sobre él, tiene la opción de seguir los términos y condiciones de "
+"cualquiera de esas versiones especificadas o de cualquiera de las versiones "
+"publicadas (no como borrador) por la Free Software Foundation. Si el "
+"Documento no especifica un número de versión de la licencia, puede elegir "
+"cualquier versión publicada (no como borrador) por la Free Software "
+"Foundation."
+
+#: C/gtk-doc-manual.xml:621(title)
+msgid "Addendum"
+msgstr "Addendum"
+
+#: C/gtk-doc-manual.xml:622(para)
+msgid ""
+"To use this License in a document you have written, include a copy of the "
+"License in the document and put the following copyright and license notices "
+"just after the title page:"
+msgstr ""
+"Para usar esta licencia en un documento que ha escrito, incluya una copia de "
+"la Licencia en el documento y ponga el siguiente copyright y las notas justo "
+"después del título de la página."
+
+#: C/gtk-doc-manual.xml:629(para)
+msgid "Copyright YEAR YOUR NAME."
+msgstr ""
+"Copyright 2009-2010 Jorge González González\n"
+"Copyright 2009-2010 Francisco Javier Fernández Serrador\n"
+"Copyright 2009 Daniel Mustieles"
+
+#: C/gtk-doc-manual.xml:632(para)
+msgid ""
+"Permission is granted to copy, distribute and/or modify this document under "
+"the terms of the GNU Free Documentation License, Version 1.1 or any later "
+"version published by the Free Software Foundation; with the <link linkend="
+"\"fdl-invariant\">Invariant Sections</link> being LIST THEIR TITLES, with "
+"the <link linkend=\"fdl-cover-texts\">Front-Cover Texts</link> being LIST, "
+"and with the <link linkend=\"fdl-cover-texts\">Back-Cover Texts</link> being "
+"LIST. A copy of the license is included in the section entitled <quote>GNU "
+"Free Documentation License</quote>."
+msgstr ""
+"Se otorga permiso para copiar, distribuir y/o modificar este documento bajo "
+"los términos de la Licencia de Documentación Libre de GNU, Versión 1.1 o "
+"cualquier otra versión posterior publicada por la Free Software Foundation; "
+"con las <link linkend=\"fdl-invariant\">Secciones Invariantes</link> siendo "
+"su LISTE SUS TÍTULOS, con <link linkend=\"fdl-cover-texts\">Textos de "
+"Cubierta Delantera</link> siendo LISTA, y con los <link linkend=\"fdl-cover-"
+"texts\">Textos de Cubierta Trasera</link> siendo LISTA. Una copia de la "
+"licencia está incluida en la sección titulada <quote>GNU Free Documentation "
+"License</quote>."
+
+#: C/gtk-doc-manual.xml:647(para)
+msgid ""
+"If you have no <link linkend=\"fdl-invariant\">Invariant Sections</link>, "
+"write <quote>with no Invariant Sections</quote> instead of saying which ones "
+"are invariant. If you have no <link linkend=\"fdl-cover-texts\">Front-Cover "
+"Texts</link>, write <quote>no Front-Cover Texts</quote> instead of "
+"<quote>Front-Cover Texts being LIST</quote>; likewise for <link linkend="
+"\"fdl-cover-texts\">Back-Cover Texts</link>."
+msgstr ""
+"Si no tiene <link linkend=\"fdl-invariant\">Secciones Invariantes</link>, "
+"escriba <quote>sin Secciones Invariantes</quote> en vez de decir cuáles son "
+"invariantes. Si no tiene <link linkend=\"fdl-cover-texts\">Textos de "
+"Cubierta Frontal</link>, escriba <quote>sin Textos de Cubierta Frontal</"
+"quote>; de la misma manera para <link linkend=\"fdl-cover-texts\">Textos de "
+"Cubierta Trasera</link>."
+
+#: C/gtk-doc-manual.xml:657(para)
+msgid ""
+"If your document contains nontrivial examples of program code, we recommend "
+"releasing these examples in parallel under your choice of free software "
+"license, such as the <ulink type=\"http\" url=\"http://www.gnu.org/copyleft/"
+"gpl.html\"> GNU General Public License</ulink>, to permit their use in free "
+"software."
+msgstr ""
+"Si su documento contiene ejemplos de código de programa no triviales, "
+"recomendamos liberar estos ejemplos en paralelo bajo la licencia de software "
+"libre que usted elija, como la <ulink type=\"http\" url=\"http://www.gnu.org/"
+"copyleft/gpl.html\">Licencia Pública General de GNU (GNU General Public "
+"License)</ulink>, para permitir su uso en software libre."
+
+#. Put one translator per line, in the form of NAME <EMAIL>, YEAR1, YEAR2
+#: C/gtk-doc-manual.xml:0(None)
+msgid "translator-credits"
+msgstr ""
+"Francisco Javier F. Serrador <serrrador@svn.gnome.org>, 2009, 2010\n"
+"Jorge González <jorgegonz@svn.gnome.org>, 2009-2011\n"
+"Daniel Mustieles <daniel.mustieles@gmail.com>, 2009"
+
+#~| msgid "21 May 2010"
+#~ msgid "17 Jan 2011"
+#~ msgstr "17 de enero 2011"
+
+#~ msgid "6 April 2010"
+#~ msgstr "6 de abril de 2010"
+
+#~ msgid "19 December 2009"
+#~ msgstr "19 de diciembre de 2009"
+
+#~ msgid "(FIXME) (stability) (glib-enums, ...)"
+#~ msgstr "(ARRÉGLAME) (estabilidad) (glib-enums, ...)"
--- /dev/null
+<?xml version="1.0" encoding="utf-8" standalone="no"?>
+<?xml-stylesheet type="text/xml" href="params.xsl"?>
+<!-- vim: set ai tw=80 ts=3 sw=3: -->
+<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "
+ http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
+<!ENTITY FDL SYSTEM "fdl-appendix.xml">
+<!ENTITY FDLlink "<link linkend='fdl'>included</link>">
+]>
+<!-- =============Document Header ============================= -->
+<book id="index" lang="es">
+ <bookinfo>
+ <title>Manual de GTK-Doc</title>
+ <edition>1.18</edition>
+ <abstract role="description"><para>Manual del usuario para desarrolladores con instrucciones del uso de GTK-Doc.</para></abstract>
+ <authorgroup>
+ <author>
+ <firstname>Chris</firstname>
+ <surname>Lyttle</surname>
+ <affiliation>
+ <address>
+ <email>chris@wilddev.net</email>
+ </address>
+ </affiliation>
+ </author>
+ <author>
+ <firstname>Dan</firstname>
+ <surname>Mueth</surname>
+ <affiliation>
+ <address>
+ <email>d-mueth@uchicago.edu</email>
+ </address>
+ </affiliation>
+ </author>
+ <author>
+ <firstname>Stefan</firstname>
+ <surname>Kost</surname>
+ <affiliation>
+ <address>
+ <email>ensonic@users.sf.net</email>
+ </address>
+ </affiliation>
+ </author>
+ </authorgroup>
+ <publisher role="maintainer">
+ <publishername>Proyecto GTK-Doc</publishername>
+ <address><email>gtk-doc-list@gnome.org</email></address>
+ </publisher>
+ <copyright>
+ <year>2000, 2005</year>
+ <holder>Dan Mueth and Chris Lyttle</holder>
+ </copyright>
+ <copyright>
+ <year>2007-2011</year>
+ <holder>Stefan Sauer (Kost)</holder>
+ </copyright><copyright><year>2009, 2010</year><holder>Francisco Javier F. Serrador (serrrador@svn.gnome.org)</holder></copyright><copyright><year>2009-2011</year><holder>Jorge González (jorgegonz@svn.gnome.org)</holder></copyright><copyright><year>2009</year><holder>Daniel Mustieles (daniel.mustieles@gmail.com)</holder></copyright>
+
+ <!-- translators: uncomment this:
+ <copyright>
+ <year>2000</year>
+ <holder>ME-THE-TRANSLATOR (Latin translation)</holder>
+ </copyright>
+ -->
+
+ <legalnotice>
+ <para>Se concede autorización para copiar, distribuir o modificar este documento según los términos de la <citetitle>GNU Free Documentation License</citetitle>, Versión 1.1, o cualquier otra versión posterior publicada por Free Software Foundation sin secciones invariables, textos de portada ni textos de contraportada. Se <link linkend="fdl">incluye</link> una copia de la licencia.</para>
+ <para>Muchos de los nombres usados por compañías para distinguir sus productos y servicios se mencionan como marcas comerciales. Donde aparezcan dichos nombres en cualquier documentación GNOME, y para que los miembros del proyecto de documentación las reconozcan dichas marcas comerciales, dichos nombres se imprimen en mayúsculas o iniciales mayúsculas.</para>
+ </legalnotice>
+
+ <revhistory>
+ <!--revision>
+ <revnumber>1.18.1</revnumber>
+ <date>15 Sep 2011</date>
+ <authorinitials>sk</authorinitials>
+ <revremark>development version, markdown support</revremark>
+ </revision-->
+ <revision>
+ <revnumber>1.18</revnumber>
+ <date>14 sep 2011</date>
+ <authorinitials>sk</authorinitials>
+ <revremark>bug fixes, speedups, markdown support</revremark>
+ </revision>
+ <revision>
+ <revnumber>1.17</revnumber>
+ <date>26 de febrero de 2011</date>
+ <authorinitials>sk</authorinitials>
+ <revremark>actualización de corrección de error urgente</revremark>
+ </revision>
+ <revision>
+ <revnumber>1.16</revnumber>
+ <date>4 de enero de 2011</date>
+ <authorinitials>sk</authorinitials>
+ <revremark>correcciones de errores, mejoras de diseño</revremark>
+ </revision>
+ <revision>
+ <revnumber>1.15</revnumber>
+ <date>21 de mayo de 2010</date>
+ <authorinitials>sk</authorinitials>
+ <revremark>arreglos de errores y regresiones</revremark>
+ </revision>
+ <revision>
+ <revnumber>1.14</revnumber>
+ <date>28 de marzo de 2010</date>
+ <authorinitials>sk</authorinitials>
+ <revremark>solución de errores y mejoras de rendimiento</revremark>
+ </revision>
+ <revision>
+ <revnumber>1.13</revnumber>
+ <date>18 de diciembre de 2009</date>
+ <authorinitials>sk</authorinitials>
+ <revremark>actualización de archivador «tarball» roto</revremark>
+ </revision>
+ <revision>
+ <revnumber>1.12</revnumber>
+ <date>18 de diciembre de 2009</date>
+ <authorinitials>sk</authorinitials>
+ <revremark>nuevas característicacs de la herramienta y errores solucionados</revremark>
+ </revision>
+ <revision>
+ <revnumber>1.11</revnumber>
+ <date>16 de noviemibre de 2008</date>
+ <authorinitials>mal</authorinitials>
+ <revremark>Migración de GNOME doc-utils</revremark>
+ </revision>
+ </revhistory>
+
+ </bookinfo>
+
+ <!-- ======== Chapter 1: Introduction ======================== -->
+
+ <chapter id="introduction">
+ <title>Introducción</title>
+
+ <para>Este capítulo introduce GTK-Doc y proporciona una visión general de lo que es y cómo usarlo.</para>
+
+ <sect1 id="whatisgtkdoc">
+ <title>¿Qué es GTK-Doc?</title>
+
+ <para>GTK-Doc se usa para documentar código C. Generalmente se usa para documentar la API pública de bibliotecas, tales como las bibliotecas GTK+ y de GNOME. Pero también se puede usar para documentar código de aplicaciones.</para>
+ </sect1>
+
+ <sect1 id="howdoesgtkdocwork">
+ <title>¿Cómo funciona GTK-Doc?</title>
+
+ <para>GTK-Doc funciona usando documentación de las funciones ubicadas dentro de los archivos de fuentes en bloques de comentarios especialmente formateados, o documentación añadida a los archivos de plantillas que GTK-Doc usa (aunque debe notar que GTK-Doc sólo documentará las funciones declaradas en los archivos de cabecera; no produce salida para funciones estáticas).</para>
+
+ <para>GTK-Doc consiste en un número de scripts en Perl, cada uno realiza un paso diferente en el proceso.</para>
+
+ <para>Existen 5 pasos importantes en el proceso:</para>
+
+ <orderedlist>
+
+ <listitem>
+ <para><guilabel>Escribir la documentación.</guilabel> El autor rellena los archivos de fuentes con la documentación para cada función, macro, unión, etc. (En el pasado la información se introducía en archivos de plantillas, lo que ya no se recomienda).</para>
+ </listitem>
+
+ <listitem>
+ <para><guilabel>Obtener información acerca del código</guilabel><application>gtkdoc-scan</application> analiza los archivos de cabecera del código buscando declaraciones de funciones, macros, enumeraciones, estructuras y uniones. Crea el archivo <filename><module>-decl-list.txt</filename> conteniendo una lista de las declaraciones, ubicándolas en secciones de acuerdo con el archivo de cabecera en el que están. Durante la primera ejecución este archivo se copia en <filename><module>-sections.txt</filename>. El autor puede reordenar las secciones y el orden de las declaraciones en ellas, para producir la salida deseada. El segundo archivo que genera es <filename><module>-decl.txt</filename>. Este archivo contiene las declaraciones completas que encontró el análisis. Si por alguna razón un programador quisiese que algunos símbolos apareciesen en los documentos, donde el análisis no puede encontrar la declaración completa o la declaración debería aparecer de forma diferente, puede introducir entradas de forma similar a las que hay en <filename><module>-decl.txt</filename> dentro de <filename><module>-overrides.txt</filename>. También se puede usar <application>gtkdoc-scanobj</application> para consultar dinámicamente una biblioteca acerca de las subclases GtkObject que exporta. Ahorra información acerca de la posición de cada objeto en la jerarquía de clases y acerca de cualquier señal y argumentos GTK que proporciona.</para>
+ </listitem>
+
+ <listitem>
+ <para><guilabel>Generar los archivos «plantilla».</guilabel> <application>gtkdoc-mktmpl</application> crea un número de archivos en el subdirectorio <filename class="directory">tmpl/</filename>, usando la información obtenida en el primer paso. (Note que esto se puede ejecutar de forma separada. Intentará asegurarse de que la documentación nunca se pierde.)</para>
+ <note>
+ <para>Ya que las plantillas de GTK-Doc 1.9 se pueden evitar. Animamos a la gente a que mantenga la documentación en el código. <application>gtkdocize</application> ahora soporta una opción <command>--flavour no-tmpl</command> que elige un archivo makefile que omite completamente el uso de tmpl. Si nunca ha cambiado a mano el archivo tmpl, elimine el directorio una vez.</para>
+ </note>
+ </listitem>
+
+ <listitem>
+ <para><guilabel>Generar el SGML/XML y el HTML/PDF.</guilabel><application>gtkdoc-mkdb</application> convierte los archivos de plantilla en archivos SGML o XML en el subdirectorio <filename class="directory">sgml/</filename> o <filename class="directory">xml/</filename>. Si el código fuente contiene documentación de funciones, usando los bloques especiales de comentarios, entonces se mezclarán aquí. Si no se usan archivos tmpl sólo obtiene los documentos de los fuentes y los datos obtenidos en introspección. Se recomienda usar Docbook XML.</para>
+ <para><application>gtkdoc-mkhtml</application> convierte los archivos SGML/XML en archivos HTML en el subdirectorio <filename class="directory">html/</filename>. De la misma forma <application>gtkdoc-mkpdf</application> convierte los archivos SGML/XML en un documento PDF llamado <filename><paquete>.pdf</filename>.</para>
+ <para>Los archivos en los directorios <filename class="directory">sgml/</filename> o <filename class="directory">xml/</filename> y <filename class="directory">html/</filename> siempre se sobreescriben. Nunca se deben editar directamente.</para>
+ </listitem>
+
+ <listitem>
+ <para><guilabel>Arreglar referencias cruzadas entre documentos.</guilabel> Después de instalar los archivos HTML se puede ejecutar <application>gtkdoc-fixxref</application> para arreglar cualquier referencia cruzada entre documentos separados. Por ejemplo, la documentación GTK+ contiene muchas referencias cruzadas a tipos documentados en el manual de GLib. Al crear los archivadores «tarball» para su distribución, <application>gtkdoc-rebase</application> convierte todos los enlaces externos en enlaces web. Al instalar la documentación distribuida (pregenerada) la misma aplicación intentará convertir de nuevo los enlaces, esta vez a enlaces locales (donde esa documentación está instalada).</para>
+ </listitem>
+ </orderedlist>
+
+ </sect1>
+
+ <sect1 id="gettinggtkdoc">
+ <title>Obtener GTK-Doc</title>
+
+ <sect2 id="requirements">
+ <title>Requerimientos</title>
+ <para><guilabel>Perl v5</guilabel>: los scripts principales están en Perl.</para>
+ <para><guilabel>DocBook DTD v3.0</guilabel>: Este es el DocBook SGML DTD. <ulink url="http://www.ora.com/davenport" type="http">http://www.ora.com/davenport</ulink></para>
+ <para><guilabel>Jade v1.1</guilabel>: Este es el procesador DSSSL para convertir SGML a varios formatos. <ulink url="http://www.jclark.com/jade" type="http">http://www.jclark.com/jade</ulink></para>
+ <para><guilabel>Hojas de estilo DocBook modulares:</guilabel> Éste es el código DSSSL para convertir DocBook a HTML (y otros cuantos formatos). Se usa junto con jade. El código DSSSL está algo personalizado, en GTK-Doc dsl, para colorear el código de listas/declaraciones del programa y soportar índices de referencias cruzadas globales en el HTML generado. <ulink url="http://nwalsh.com/docbook/dsssl" type="http">http://nwalsh.com/docbook/dsssl</ulink>.</para>
+ <para><guilabel>docbook-to-man</guilabel>: Si quiere crear páginas man desde el DocBook. «translation spec» se ha personalizado un poco para capitalizar la sección de cabeceras y añadir un título de «Biblioteca GTK» en la parte superior de las páginas y la fecha de revisión al final. Existe un enlace acerca de esto en <ulink url="http://www.ora.com/davenport" type="http">http://www.ora.com/davenport</ulink>. NOTA: Esto aún no funciona.</para>
+ </sect2>
+
+ <sect2 id="installation">
+ <title>Instalación</title>
+ <para>No existe ningún sitio estándar donde se instalan las hojas de estilo modulares de DocBook.</para>
+ <para>El script de configuración de GTK-Doc busca estos tres directorios automáticamente:</para>
+ <para><filename> /usr/lib/sgml/stylesheets/nwalsh-modular </filename> (usado por RedHat)</para>
+ <para><filename> /usr/lib/dsssl/stylesheets/docbook </filename> (usado por Debian)</para>
+ <para><filename> /usr/share/sgml/docbkdsl </filename> (usado por SuSE)</para>
+ <para>Si tiene las hojas de estilo instaladas en algún otro sitio, deberá configurar GTK-Doc usando la opción: <command> --with-dsssl-dir=<RUTA_AL_DIRECTORIO_DE_NIVEL_SUPERIOR_DE_LAS_HOJAS_DE_ESTILO> </command></para>
+ </sect2>
+
+ </sect1>
+
+ <!-- not realy worth a section
+ <sect1 id="whentousegtkdoc">
+ <title>When to Use GTK-Doc</title>
+
+ <para>
+ (What things GTK-Doc should, and shouldn't, be used for.)
+ (- ???)
+ (- non C-based projects)
+ (+ Tutorials)
+ </para>
+
+ </sect1>
+ -->
+
+ <sect1 id="aboutgtkdoc">
+ <title>Acerca de GTK-Doc</title>
+
+ <para>(ARRÉGLAME)</para>
+
+ <para>(Historia, autores, páginas web, licencias, planes futuros, comparación con otros sistemas similares.)</para>
+
+ </sect1>
+
+ <sect1 id="aboutthismanual">
+ <title>Acerca de este manual</title>
+
+ <para>(ARRÉGLAME)</para>
+
+ <para>(a quién está dirigido, dónde puede obtenerse, licencia)</para>
+
+ </sect1>
+
+ </chapter>
+
+ <chapter id="settingup">
+ <title>Configurando su proyecto</title>
+
+ <para>Las siguientes secciones describen los pasos que realizar para integrar GTK-Doc en su proyecto. Estas secciones asumen que se trabaja en un proyecto llamado «meep». Este proyecto contiene una biblioteca llamada «libmeep» y una aplicación final de usuario llamada «meeper». También se asume que usará «autoconf» y «automake». En la sección <link linkend="plain_makefiles">Integración con makefiles u otros sistemas de construcción</link> se describen las necesidades básicas para trabajar con un sistema de construcción diferente.</para>
+
+ <sect1 id="settingup_docfiles">
+ <title>Configurar el esquema de la documentación</title>
+
+ <para>Bajo su directorio de nivel superior cree carpetas llamadas docs/reference (de esta forma también puede tener docs/help para la documentación final de usuario). Se recomienda crear otro subdirectorio con el nombre doc-package. Para paquetes con una sola biblioteca este paso no es necesario.</para>
+
+ <para>Esto después aparecerá como se muestra debajo: <example><title>Ejemplo de estructura de directorios</title>
+ <programlisting>
+<![CDATA[
+meep/
+ docs/
+ reference/
+ libmeep/
+ meeper/
+ src/
+ libmeep/
+ meeper/
+]]>
+ </programlisting>
+ </example></para>
+ </sect1>
+
+ <sect1 id="settingup_autoconf">
+ <title>Integración con autoconf</title>
+
+ <para>Muy fácil, simplemente añada una línea a su script <filename>configure.ac</filename>.</para>
+
+ <para>
+ <example><title>Integración con autoconf</title>
+ <programlisting>
+<![CDATA[
+# check for gtk-doc
+GTK_DOC_CHECK([1.14],[--flavour no-tmpl])
+]]>
+ </programlisting>
+ </example>
+ </para>
+
+ <para>Esto requerirá que todos los desarrolladores tengan gtk-doc instalado. Si para su proyecto es correcto tener una configuración de construcción de api-doc opcional, puede resolver esto como sigue. Manténgalo como está, ya que gtkdocize busca en <function>GTK_DOC_CHECK</function> al inicio de la línea. <example><title>Mantener gtk-doc como opcional</title>
+ <programlisting>
+<![CDATA[
+# check for gtk-doc
+m4_ifdef([GTK_DOC_CHECK], [
+GTK_DOC_CHECK([1.14],[--flavour no-tmpl])
+],[
+AM_CONDITIONAL([ENABLE_GTK_DOC], false)
+])
+]]>
+ </programlisting>
+ </example></para>
+
+ <para>El primer argumento se usa para comprobar gtkdocversion durante la configuración. El segundo, y opcional, argumento lo usa <application>gtkdocize</application>. La macro <symbol>GTK_DOC_CHECK</symbol> también añade diversas opciones de configuración:</para>
+ <orderedlist>
+ <listitem><para>--with-html-dir=RUTA: ruta a los documentos instalados</para></listitem>
+ <listitem><para>--enable-gtk-doc: usar gtk-doc para construir la documentación [predeterminado=no]</para></listitem>
+ <listitem><para>--enable-gtk-doc: usar gtk-doc para construir la documentación [predeterminado=sí]</para></listitem>
+ <listitem><para>--enable-gtk-doc: usar gtk-doc para construir la documentación [predeterminado=no]</para></listitem>
+ </orderedlist>
+
+ <important>
+ <para>GTK-Doc está desactivado de forma predeterminada. Recuerde pasar la opción <option>«--enable-gtk-doc»</option> en la siguiente ejecución de <filename>configure</filename>. De otra forma, la documentación pregenerada se instala (lo que tiene sentido para usuarios, pero no para desarrolladores).</para>
+ </important>
+
+ <para>Aún más, se recomienda que tenga la siguiente línea en su script <filename>configure.ac</filename>. Esto permite que <filename>gtkdocize</filename> copie automáticamente la definición del macro para <function>GTK_DOC_CHECK</function> a su proyecto.</para>
+
+ <para>
+ <example><title>Preparación para gtkdocize</title>
+ <programlisting>
+<![CDATA[
+AC_CONFIG_MACRO_DIR(m4)
+]]>
+ </programlisting>
+ </example>
+ </para>
+ </sect1>
+
+ <sect1 id="settingup_automake">
+ <title>Integración con automake</title>
+
+ <para>Primero copie el archivo <filename>Makefile.am</filename> del subdirectorio de ejemplos de gtkdoc-sources al directorio de documentación de la API de su proyecto (<filename class="directory">./docs/reference/<paquete></filename>). Si tiene varios paquetes de documentación, repítalo para cada uno de ellos.</para>
+
+ <para>El siguiente paso es editar la configuración dentro de <filename>Makefile.am</filename>. Todos los ajustes tienen un comentario encima que describe su propósito. Muchos ajustes son opciones adicionales pasadas a las respectivas herramientas. Cada herramienta tiene una variable de la forma <option><NOMBRE_DE_LA_HERRAMIENTA>_OPCIONES</option>. Todas las herramientas soportan <option>--help</option> para listar los parámetros que soportan.</para>
+
+ <!-- FIXME: explain options ? -->
+
+ <para>Puede que también quiera activar GTK-Doc para el objetivo distcheckmate. Simplemente añada la línea mostrada en el siguiente ejemplo a su nivel superior de <filename>Makefile.am</filename>:</para>
+
+ <para>
+ <example><title>Activar GTK-Doc durante make distcheck</title>
+ <programlisting>
+<![CDATA[
+DISTCHECK_CONFIGURE_FLAGS=--enable-gtk-doc
+]]>
+ </programlisting>
+ </example>
+ </para>
+
+ </sect1>
+
+ <sect1 id="settingup_autogen">
+ <title>Integración con autogen</title>
+
+ <para>La mayoría de los proyectos tienen un script <filename>autogen.sh</filename> para configurar la infraestructura de construcción después de hacer un «checkout» desde los sistemas de control de versiones (tales como cvs/svn/git). GTK-Doc tiene una herramienta llamada <filename>gtkdocize</filename> que se puede usar en tal script. Se debería ejecutar antes que autoheader, automake o autoconf.</para>
+
+ <para>
+ <example><title>Ejecutar gtkdocize desde autogen.sh</title>
+ <programlisting>
+<![CDATA[
+gtkdocize || exit 1
+]]>
+ </programlisting>
+ </example>
+ </para>
+
+ <para>Al ejecutar <filename>gtkdocize</filename> copia <filename>gtk-doc.make</filename> a la raíz de su proyecto (o cualquier directorio especificado por la opción <option>--docdir</option>). También comprueba su script de configuración para la invocación de <function>GTK_DOC_CHECK</function>. Esta macro se puede usar para pasar parámetros adicionales a <application>gtkdocize</application>.</para>
+
+ <para>Históricamente GTK-Doc generaba plantillas de archivos donde los desarrolladores introducían los documentos. Al final esto resulto no ser muy bueno (por ejemplo, por la necesidad de tener archivos generados bajo un control de versiones). Desde la versión de DTK-Doc 1.9 las herramientas pueden obtener toda la información desde los comentarios del código fuente y por ello se pueden evitar las plantillas. Se anima a los desarrolladores a mantener su documentación en el código. <application>gtkdocize</application> ahora soporta una opción <option>--flavour no-tmpl</option> que elije un makefile que omite completamente el uso de plantillas. Además de añadir la opción directamente a la línea de comandos al invocarlo, se pueden añadir a una variable de entorno llamada <symbol>GTKDOCIZE_FLAGS</symbol> o configurar como un segundo parámetro en la macro <symbol>GTK_DOC_CHECK</symbol> en el script de configuración. Si nunca ha cambiado un archivo tmpl (plantilla) a mano, elimine el directorio una vez (ej. del sistema de control de versiones).</para>
+ </sect1>
+
+ <sect1 id="settingup_firstrun">
+ <title>Ejecutar la construcción de la documentación</title>
+
+ <para>Después de los pasos anteriores es hora de ejecutar el constructor. Primero se debe volver a ejecutar <filename>autogen.sh</filename>. Si este script ejecuta configure automáticamente, entonces debe pasar la opción <option>--enable-gtk-doc</option>. De otra forma, ejecute posteriormente <filename>configure</filename> con esta opción.</para>
+ <para>El primer make genera diversas líneas adicionales en los directorios de documentación. Las importantes son: <filename><paquete>.types</filename>, <filename><paquete>-docs.xml</filename> (.sgml en el pasado) y <filename><paquete>-sections.txt</filename>.</para>
+ <para>
+ <example><title>Ejecutar la construcción de la documentación</title>
+ <programlisting>
+<![CDATA[
+./autogen.sh --enable-gtk-doc
+make
+]]>
+ </programlisting>
+ </example>
+ </para>
+ <para>Ahora puede apuntar su navegador a <filename>docs/reference/<paquete>/index.html</filename>. Sí, aún es un poco decepcionante. Pero espere, durante el siguiente capítulo aprenderá a rellenar las páginas con información.</para>
+ </sect1>
+
+ <sect1 id="settingup_vcs">
+ <title>Integración con los sistemas de control de versiones</title>
+
+ <para>Como regla principal, son los archivos que edita, los que deberían estar bajo el control de versiones. Para proyectos típicos son los archivos: <filename><paquete>.types</filename>, <filename><paquete>-docs.xml</filename> (.sgml en el pasado), <filename><paquete>-sections.txt</filename> y <filename>Makefile.am</filename>.</para>
+ </sect1>
+
+ <sect1 id="plain_makefiles">
+ <title>Integración con makefiles u otros sistemas de construcción</title>
+
+ <para>En el caso de que no quiera usar automake y por ello <filename>gtk-doc.mak</filename> deberá llamar a las herramientas gtkdoc en el orden correcto en makefiles propios (u otras herramientas de construcción).</para>
+
+ <para>
+ <example><title>Pasos de construcción de la documentación</title>
+ <programlisting>
+<![CDATA[
+DOC_MODULE=meep
+// sources have changed
+gtkdoc-scan --module=$(DOC_MODULE) --source-dir=...
+gtkdoc-scangobj --module=$(DOC_MODULE)
+gtkdoc-mkdb --module=$(DOC_MODULE) --output-format=xml
+// xml files have changed
+mkdir html
+cd html && gtkdoc-mkhtml $(DOC_MODULE) ../meep-docs.xml
+gtkdoc-fixxref --module=$(DOC_MODULE) --module-dir=html
+]]>
+ </programlisting>
+ </example>
+ </para>
+
+ <para>Deberá mirar en el archivo <filename>Makefile.am</filename> y <filename>gtk-doc.mak</filename> para elegir las opciones adicionales necesarias.</para>
+ </sect1>
+
+ </chapter>
+
+ <chapter id="documenting">
+ <title>Documentar el código</title>
+
+ <para>GTK-Doc usa código fuente comentado con una sintaxis especial para documentar el código. Además obtiene información acerca de la estructura de su proyecto de otras fuentes. En la siguiente sección encontrará información acerca de la sintaxis de los comentarios.</para>
+
+ <note>
+ <title>Ubicación de la documentación</title>
+ <para>En el pasado la mayoría de la documentación se debía rellenar en campos dentro del directorio <filename>tmpl</filename>. Esto tiene las desventajas de que la información. Esto tiene las desventajas de que la información no se actualiza muy a menudo y que el archivo tiene tendencia a causar conflictos con los sistemas de control de versiones.</para>
+ <para>Para evitar los problemas anteriormente mencionados, se sugiere dejar la documentación dentro de los fuentes. Este manual sólo describe esta forma de documentar el código.</para>
+ </note>
+
+ <para>El analizador puede manejar bien la mayoría de cabeceras de C. En el caso de recibir avisos del analizador que parecen casos especiales, puede sugerir a GTK-Doc que los omita. <example><title>Bloque de comentario de GTK-Doc</title>
+ <programlisting>
+<![CDATA[
+#ifndef __GTK_DOC_IGNORE__
+/* unparseable code here */
+#endif
+]]>
+ </programlisting>
+ </example></para>
+
+ <!-- -->
+
+ <sect1 id="documenting_syntax">
+ <title>Comentarios de la documentación</title>
+
+ <para>Un comentario de varias líneas que comienza con un «*» adicional marca un bloque de documentación que GTK-Doc tools procesarán. <example><title>Bloque de comentario de GTK-Doc</title>
+ <programlisting>
+<![CDATA[
+/**
+ * identifier:
+ * documentation ...
+ */
+]]>
+ </programlisting>
+ </example></para>
+
+ <para>El «identificador» es una línea con el nombre del elemento relacionado con el comentario. La sintaxis difiere un poco dependiendo del elemento. (Por hacer: añadir una tabla mostrando los identificadores)</para>
+
+ <para>El bloque de «Documentación» también es diferente para cada tipo de símbolo. Los tipos de símbolos que obtienen parámetros tales como funciones o macros, tienen primero las descripciones seguidas por una línea blanca (exactamente un «*»). Después siguen las descripciones detalladas. Todas las líneas (fuera de los programas; listaso y CDATA de la secciones) que solo contengan un « *» (asterisco con espacio) son convertidos en párrafos. Si no quiere un espaciado de párrafo, cámbielo a un « * » (espacio-asterisco-espacio).</para>
+
+ <tip>
+ <para>Al documentar código, describa dos aspectos: <itemizedlist>
+ <listitem>
+ <para>Qué es: el nombre de la clase o la función puede confundir a veces a personas que provengan de otros entornos.</para>
+ </listitem>
+ <listitem>
+ <para>Qué hace: indique los usos comunes, en relación con las otras API.</para>
+ </listitem>
+ </itemizedlist></para>
+ </tip>
+
+ <para>Una ventaja del hipertexto sobre el texto plano es la capacidad de tener enlaces en el documento. Escribir las marcas adecuadas para un enlace puede ser tedioso aunque GTK-Doc le ayuda proporcionando abreviaturas útiles. <itemizedlist>
+ <listitem>
+ <para>Use función() para referirse a funciones o macros que toman argumentos.</para>
+ </listitem>
+ <listitem>
+ <para>Use @parámetro para referirse a parámetros. Úselo también al referirse a parámetros de otras funciones, relacionados al que se describe.</para>
+ </listitem>
+ <listitem>
+ <para>Use %constant para referirse a una constante, ej: %G_TRAVERSE_LEAFS.</para>
+ </listitem>
+ <listitem>
+ <para>Use #símbolo para referirse a otro tipo de símbolos, como por ejemplo estructuras, enumeraciones y macros que no toman argumentos.</para>
+ </listitem>
+ <listitem>
+ <para>Use #Object::signal para referirse a una señal de GObject</para>
+ </listitem>
+ <listitem>
+ <para>Use #Object:property para referirse a una propiedad de GObject</para>
+ </listitem>
+ <listitem>
+ <para>Use #Struct.field para referirse a un campo dentro de una estructura</para>
+ </listitem>
+ </itemizedlist></para>
+
+ <tip>
+ <para>Si necesita usar los caracteres especiales «<», «>», «()», «@», «%», o «#» en su documentación sin que GTK-Doc los cambie, puede usar las entidades XML «&lt;», «&gt;», «amp;lpar;», «amp;rpar;», «amp;commat;» «&percnt;» y «&num;» respectivamente o escaparlas con una contrabarra doble «\».</para>
+ </tip>
+
+ <para>DocBook puede hacer más que insertar enlaces. Puede tener listas, tablas y ejemplos. Para activar el uso de etiquetas SGML/XML dentro de comentarios en la documentación debe tener <option>--xml-mode</option> o <option>--sgml-mode</option> en la variable <symbol>MKDB_OPTIONS</symbol> dentro de <filename>Makefile.am</filename>.</para>
+
+ <para>Desde GTK-Doc-1.18 la herramienta soporta un subconjunto de <ulink url="http://daringfireball.net/projects/markdown/">lenguajes de marcado</ulink>. Se pueden usar para títulos secundarios y listas de elementos simples. En versiones más antiguas de GTK-Doc el contenido se puede renderizar como tal (la lista de elementos aparecerá en una línea separada por guiones). <example><title>Bloque de comentario de GTK-Doc usando marcado</title>
+ <programlisting>
+<![CDATA[
+/**
+ * identifier:
+ *
+ * documentation ...
+ *
+ * # Sub heading #
+ *
+ * more documentation:
+ * - list item 1
+ * - list item 2
+ *
+ * Even more docs.
+ */
+]]>
+ </programlisting>
+ </example></para>
+
+ <tip>
+ <para>Tal y como se ha mencionado antes, la documentación anterior de GTK-Doc es para documentar la API pública .Por ello, no se puede escribir documentación para los símbolos estáticos. No obstante es una buena práctica comentar los símbolos. Esto ayuda a que otros entiendan su código. Por ello se recomienda comentarlos usando comentarios normales (sin el segundo «*» en la primera línea). Si la función, posteriormente, se debe hacer pública, todo lo que el programador debe hacer es añadir otro «*» en el bloque de comentario e introducir el nombre del símbolo en la parte derecha dentro del archivo de secciones.</para>
+ </tip>
+ </sect1>
+
+ <sect1 id="documenting_sections">
+ <title>Documentar secciones</title>
+
+ <para>Cada sección del documento contiene información acerca de una clase o un módulo. Para introducir el componente puede escribir un bloque de sección. La descripción corta además se usa dentro de la tabla de contenidos. Todos los campos @ son opcionales.</para>
+
+ <para>
+ <example><title>Bloque de comentarios en una sección</title>
+ <programlisting>
+<![CDATA[
+/**
+ * SECTION:meepapp
+ * @short_description: the application class
+ * @title: Meep application
+ * @section_id:
+ * @see_also: #MeepSettings
+ * @stability: Stable
+ * @include: meep/app.h
+ * @image: application.png
+ *
+ * The application class handles ...
+ */
+]]>
+ </programlisting>
+ </example>
+ </para>
+
+ <variablelist>
+ <varlistentry>
+ <term>SECCIÓN <nombre></term>
+ <listitem>
+ <para>El nombre enlaza la sección de la documentación con la parte respectiva en el archivo <filename><package>-sections.txt</filename>. El nombre aquí proporcionado debería coincidir con la etiqueta <ARCHIVO> en el archivo <filename><package>-sections.txt</filename>.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>@short_description</term>
+ <listitem>
+ <para>Una línea descrita en la sección, que después aparece tras los enlaces en el TOC y en la página de la sección.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>@title</term>
+ <listitem>
+ <para>De forma predeterminada el título de la sección es <name> de la declaración SECTION. Se puede sobreescribir con el campo @title.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>@section_id</term>
+ <listitem>
+ <para>Sobreescribe el uso del título como el identificador de sección. <title> se usa en GObjects como el identificador de sección (section_id) y para otra sección es <MÓDULO>-<title>.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>@see_also</term>
+ <listitem>
+ <para>Una lista de símbolos relacionados con esta sección.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>@stability</term>
+ <listitem>
+ <para>Esta API tiene una descripción informal del nivel de estabilidad. Se recomienda el uso de uno de estos términos: <itemizedlist>
+ <listitem>
+ <para>Estable: La intención de una interfaz estable es la de permitir que terceras partes arbitrarias desarrollen aplicaciones para esas interfaces, las liberen, y confíen que que se podrán ejecutar en todas las publicaciones menores del producto (después de que se introdujese la interfaz en una de ellas, y dentro de la misma versión principal de la publicación). Incluso en publicaciones importantes no se espera que existan cambios incompatibles, y de haberlos habrá buenas razones para ello.</para>
+ </listitem>
+ <listitem>
+ <para>Inestable: Las interfaces inestables son experimentales o de transición. Generalmente se usan para dar a los desarrolladores externos acceso a tecnología nueva o cambiante, o para proporcionar una solución a un problema, anticipándose a una solución más general. No se realizan reclamaciones acerca de la compatibilidad del código o del binario desde una publicación menor a la siguiente.</para>
+ </listitem>
+ <listitem>
+ <para>Privada: Una interfaz que se puede usar en la pila de GNOME en si misma, pero que no está documentada para usuarios finales. Tales funciones sólo se deberían usar de formas especificadas y documentadas.</para>
+ </listitem>
+ <listitem>
+ <para>Interna: Una interfaz que es interna a un módulo y no requiere documentación para el usuario final. Se asume que las funciones que están sin documentar son internas.</para>
+ </listitem>
+ </itemizedlist></para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>@include</term>
+ <listitem>
+ <para>Los archivos <literal>#include</literal> para mostrar en la sección del resumen (una lista separada por comas), sobreescribiendo el valor global del <link linkend="metafiles_sections">archivo de secciones</link> o de la línea de comandos. Este elemento es opcional.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>@image</term>
+ <listitem>
+ <para>La imagen para mostrar en la parte superior de la página de referencia, para esta sección. Generalmente será un tipo de diagrama para ilustrar la apariencia visual de una clase o diagrama de su relación con otras clases. Este elemento es opcional.</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+
+ <tip>
+ <para>Para evitar recompilaciones innecesarias después de cambios en la documentación ponga los documentos de sección en el código fuente C cuando sea posible.</para>
+ </tip>
+
+ </sect1>
+
+ <sect1 id="documenting_symbols">
+ <title>Documentar símbolos</title>
+
+ <para>Cada símbolo (función, macro, estructura, enum, señal y propiedad) está documentado en un bloque separado. La mejor posición para el bloque es junto a la definición del símbolo de tal forma que sea fácil mantenerlos sincronizados. Por ello las funciones generalmente se documentan en el código C y las macros, estructuras y enum en el archivo de cabecera.</para>
+
+ <sect2><title>Etiquetas generales</title>
+
+ <para>Puede añadir información de versiones a todos los elementos de la documentación para mostrar cuándo se introdujo una API o cuándo se declaró obsoleta.</para>
+
+ <variablelist><title>Versionado de etiquetas</title>
+ <varlistentry><term>Desde:</term>
+ <listitem>
+ <para>Descripción desde qué versión del código está disponible la API.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry><term>Obsoleto:</term>
+ <listitem>
+ <para>Párrafo que denota que esta función no se debería usar más. La descripción debería informar al lector de la nueva API.</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+
+ <para>(ARREGLAR: estabilidad de la información)</para>
+
+ <example><title>Etiquetas generales</title>
+ <programlisting>
+<![CDATA[
+/**
+ * foo_get_bar:
+ * @foo: some foo
+ *
+ * Retrieves @foo's bar.
+ *
+ * Returns: @foo's bar
+ *
+ * Since: 2.6
+ * Deprecated: 2.12: Use foo_baz_get_bar() instead.
+ **/
+Bar *
+foo_get_bar(Foo *foo)
+{
+...
+]]>
+ </programlisting>
+ </example>
+ </sect2>
+
+ <sect2><title>Bloque de comentario de función</title>
+
+ <para>Recuerde: <itemizedlist>
+ <listitem>
+ <para>El documento, dependiendo de si devuelve objetos, listas, cadenas, etc. debería liberarse/desreferenciarse/etc.</para>
+ </listitem>
+ <listitem>
+ <para>El documento, dependiendo de si sus parámetros pueden ser nulos, y qué sucede si lo son.</para>
+ </listitem>
+ <listitem>
+ <para>Mencionar precondiciones y postcondiciones interesantes donde sea apropiado.</para>
+ </listitem>
+ </itemizedlist></para>
+
+ <para>GTK-Doc asume que todos los símbolos (macros, funciones) que empiezan por «_» son privados. Se tratan como funciones estáticas.</para>
+
+ <para>Además, consultar las etiquetas de anotaciones de introspección de gobject: http://live.gnome.org/GObjectIntrospection/Annotations</para>
+
+ <example><title>Bloque de comentario de función</title>
+ <programlisting>
+<![CDATA[
+/**
+ * function_name:
+ * @par1: description of parameter 1. These can extend over more than
+ * one line.
+ * @par2: description of parameter 2
+ * @...: a %NULL-terminated list of bars
+ *
+ * The function description goes here. You can use @par1 to refer to parameters
+ * so that they are highlighted in the output. You can also use %constant
+ * for constants, function_name2() for functions and #GtkWidget for links to
+ * other declarations (which may be documented elsewhere).
+ *
+ * Returns: an integer.
+ *
+ * Since: 2.2
+ * Deprecated: 2.18: Use other_function() instead.
+ */
+]]>
+ </programlisting>
+ </example>
+
+ <variablelist><title>Etiquetas de funciones</title>
+ <varlistentry><term>Devuelve:</term>
+ <listitem>
+ <para>Párrafo que describe el resultado devuelto.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry><term>@...:</term>
+ <listitem>
+ <para>En el caso de que la función tenga argumentos variados debe usar esta etiqueta (@Vargargs: también funciona por razones históricas).</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+
+ </sect2>
+
+ <sect2><title>Bloque de comentario de propiedad</title>
+
+ <example><title>Bloque de comentario de propiedad</title>
+ <programlisting>
+<![CDATA[
+/**
+ * SomeWidget:some-property:
+ *
+ * Here you can document a property.
+ */
+g_object_class_install_property (object_class, PROP_SOME_PROPERTY, ...);
+]]>
+ </programlisting>
+ </example>
+
+ </sect2>
+
+ <sect2><title>Bloque de comentario de señal</title>
+
+ <para>Recuerde: <itemizedlist>
+ <listitem>
+ <para>Documentar cuando la señal se emite e indica si se emite antes o después de otras señales.</para>
+ </listitem>
+ <listitem>
+ <para>Documentar qué aplicación debe gestionar las señales.</para>
+ </listitem>
+ </itemizedlist></para>
+
+ <example><title>Bloque de comentario de señal</title>
+ <programlisting>
+<![CDATA[
+/**
+ * FooWidget::foobarized:
+ * @widget: the widget that received the signal
+ * @foo: some foo
+ * @bar: some bar
+ *
+ * The ::foobarized signal is emitted each time someone tries to foobarize @widget.
+ */
+foo_signals[FOOBARIZE] =
+ g_signal_new ("foobarize",
+ ...
+]]>
+ </programlisting>
+ </example>
+
+ </sect2>
+
+ <sect2><title>Bloque de comentario de estructura</title>
+ <example><title>Bloque de comentario de estructura</title>
+ <programlisting>
+<![CDATA[
+/**
+ * FooWidget:
+ * @bar: some #gboolean
+ *
+ * This is the best widget, ever.
+ */
+typedef struct _FooWidget {
+ /*< private >*/
+ GtkWidget parent;
+
+ /*< public >*/
+ gboolean bar;
+} FooWidget;
+]]>
+ </programlisting>
+ </example>
+
+ <para>Use <code>/*< private >*/</code> antes de campos de estructuras privadas que quiera ocultar. Use <code>/*< public >*/</code> para revertir el comportamiento anterior.</para>
+
+ <para>También se pueden usar bloques de comentario para GObjects y GObjectClasses. Generalmente es buena idea añadir un bloque de comentario para una clase, si tiene «vmethods» (ya que así se pueden documentar). Para el GObject en si, se puede usar la sección relativa a la documentación, tener un bloque separado para la estructura de la instancia sería útil si la instancia tiene campos públicos. Una desventaja aquí es que esto crea dos entradas de índice con el mismo nombre (la estructura y la sección).</para>
+
+ </sect2>
+
+ <sect2><title>Enumerar bloques de comentarios</title>
+ <example><title>Enumerar bloques de comentarios</title>
+ <programlisting>
+<![CDATA[
+/**
+ * Something:
+ * @SOMETHING_FOO: something foo
+ * @SOMETHING_BAR: something bar
+ *
+ * Enum values used for the thing, to specify the thing.
+ *
+ **/
+typedef enum {
+ SOMETHING_FOO,
+ SOMETHING_BAR,
+ /*< private >*/
+ SOMETHING_COUNT
+} Something;
+]]>
+ </programlisting>
+ </example>
+
+ <para>Use <code>/*< private >*/</code> antes de enumerar valores privados que quiera ocultar. Use <code>/*< public >*/</code> para revertir el comportamiento anterior.</para>
+
+ </sect2>
+ </sect1>
+
+ <sect1 id="documenting_docbook">
+ <title>Etiquetas DocBook útiles</title>
+
+ <para>Aquí están varias etiquetas de DocBook muy útiles al documentar código.</para>
+
+ <para>Para enlazar otra sección en GTK docs: <informalexample>
+ <programlisting>
+<![CDATA[
+<link linkend="glib-Hash-Tables">Hash Tables</link>
+]]>
+ </programlisting>
+ </informalexample>. El enlace es el id SGML en el elemento superior de la página a la que quiere enlazar. Para la mayoría de las páginas esta es la parte («gtk», «gdk», «glib») y después el título de página («Tablas hash»). Para los widgets es simplemente el nombre de la clase. Los espacios y guiones bajos se convierten a «-» para ajustarse a SGML/XML.</para>
+
+ <para>Para referirse a una función externa, ej. una función de C estándar: <informalexample>
+ <programlisting>
+<![CDATA[
+<function>...</function>
+]]>
+ </programlisting>
+ </informalexample></para>
+
+ <para>Para incluir un código de ejemplo: <informalexample>
+ <programlisting>
+<![CDATA[
+<example>
+ <title>Using a GHashTable.</title>
+ <programlisting>
+ ...
+ </programlisting>
+</example>
+]]>
+ </programlisting>
+ </informalexample> o posiblemente este, para fragmentos de código muy cortos que no necesitan título: <informalexample>
+ <programlisting>
+<![CDATA[
+<informalexample>
+ <programlisting>
+ ...
+ </programlisting>
+</informalexample>
+]]>
+ </programlisting>
+ </informalexample>. El último GTK-Doc también soporta abreviación: <![CDATA[
+|[
+ ...
+]|
+]]></para>
+
+ <para>Para incluir listas de topos: <informalexample>
+ <programlisting>
+<![CDATA[
+<itemizedlist>
+ <listitem>
+ <para>
+ ...
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ ...
+ </para>
+ </listitem>
+</itemizedlist>
+]]>
+ </programlisting>
+ </informalexample></para>
+
+ <para>Para incluir una nota que sobresale del texto: <informalexample>
+ <programlisting>
+<![CDATA[
+<note>
+ <para>
+ Make sure you free the data after use.
+ </para>
+</note>
+]]>
+ </programlisting>
+ </informalexample></para>
+
+ <para>Para referirse a un tipo: <informalexample>
+ <programlisting>
+<![CDATA[
+<type>unsigned char</type>
+]]>
+ </programlisting>
+ </informalexample></para>
+
+ <para>Para referirse a una estructura externa (no una descrita en la documentación de GTK): <informalexample>
+ <programlisting>
+<![CDATA[
+<structname>XFontStruct</structname>
+]]>
+ </programlisting>
+ </informalexample></para>
+
+ <para>Para referirse a un campo o a una estructura: <informalexample>
+ <programlisting>
+<![CDATA[
+<structfield>len</structfield>
+]]>
+ </programlisting>
+ </informalexample></para>
+
+ <para>Para referirse a un nombre de clase, se podría usar: <informalexample>
+ <programlisting>
+<![CDATA[
+<classname>GtkWidget</classname>
+]]>
+ </programlisting>
+ </informalexample> pero probablemente estará usando #GtkWidget en su lugar (para crear automaticamenteun enlace a la página GtkWidget; consulte <link linkend="documenting_syntax">abreviaciones</link>).</para>
+
+ <para>Para enfatizar un texto: <informalexample>
+ <programlisting>
+<![CDATA[
+<emphasis>This is important</emphasis>
+]]>
+ </programlisting>
+ </informalexample></para>
+
+ <para>Para uso de nombres de archivo: <informalexample>
+ <programlisting>
+<![CDATA[
+<filename>/home/user/documents</filename>
+]]>
+ </programlisting>
+ </informalexample></para>
+
+ <para>Para referirse a claves: <informalexample>
+ <programlisting>
+<![CDATA[
+<keycombo><keycap>Control</keycap><keycap>L</keycap></keycombo>
+]]>
+ </programlisting>
+ </informalexample></para>
+
+ </sect1>
+ </chapter>
+
+ <chapter id="metafiles">
+ <title>Rellenar campos adicionales</title>
+
+ <para>Existen tres archivos adicionales que deben mantenerse junto con los comentarios en línea del código fuente: <filename><paquete>.types</filename>, <filename><paquete>-docs.xml</filename> (.sgml en el pasado) y <filename><paquete>-sections.txt</filename>.</para>
+
+ <sect1 id="metafiles_types">
+ <title>Editar los tipos de archivo</title>
+
+ <para>Si su biblioteca o aplicación incluye GtkObjects/GObjects puede querer que sus señales, argumentos y/o parámetros y posición en la jerarquía se muestre en la documentación. Todo lo que debe hacer es listar las funciones <function>xxx_get_type</function> junto con sus «include» en el archivo <filename><paquete>.types</filename>.</para>
+
+ <para>
+ <example><title>Fragmento de ejemplo de tipos de archivo</title>
+ <programlisting>
+<![CDATA[
+#include <gtk/gtk.h>
+
+gtk_accel_label_get_type
+gtk_adjustment_get_type
+gtk_alignment_get_type
+gtk_arrow_get_type
+]]>
+ </programlisting>
+ </example>
+ </para>
+
+ <para>Desde GTK-Doc 1.8 <application>gtkdoc-scan</application> puede genera esta lista. Simplemente añada «--rebuild-types» a SCAN_OPTIONS en el <filename>Makefile.am</filename>. Si usa esto no debería ejecutar dist sobre los tipos de archivo ni tenerlos bajo el control de versiones.</para>
+
+ </sect1>
+
+ <sect1 id="metafiles_master">
+ <title>Editar la sección maestra del documento</title>
+
+ <para>GTK-Doc produce documentación en DocBook SGML/XML. Cuando se procesan los comentarios en las líneas del código, las herramientas de GTK-Doc generan una página de documentación por clase o módulo en un archivo aparte. El documento maestro las incluye y ordena.</para>
+
+ <para>Puesto que GTK-Doc crea una documento maestro de plantilla, una posterior ejecución no lo tocará de nuevo. Esto significa que se puede estructurar libremente la documentación. Esto incluye agrupar páginas y añadir páginas adiciones. Ahora GTK-Doc tiene un entorno de pruebas, donde también el documento maestro se vuelve a crear desde cero. Es una buena idea mirarlo de vez en cuando para ver si se han introducido algunas mejoras.</para>
+
+ <tip>
+ <para>No crear tutoriales como documentos adicionales. Solamente escriba capítulos adicionales. La ventaja de integrar directamente el tutorial para su biblioteca en la documentación de la API es que es fácil para el tutorial enlazar la documentación de símbolos. Además las posibilidades de actualizar el tutorial junto con la biblioteca son mayores.</para>
+ </tip>
+
+ <para>¿Así que qué es lo que hay que cambiar en el documento maestro? Para empezar es muy poco. Existen algunos «placeholders» (texto entre corchetes) de los que habría que encargarse.</para>
+
+ <para>
+ <example><title>Cabecera del documento maestro</title>
+ <programlisting>
+<![CDATA[
+<bookinfo>
+ <title>MODULENAME Reference Manual</title>
+ <releaseinfo>
+ for MODULENAME [VERSION]
+ The latest version of this documentation can be found on-line at
+ <ulink role="online-location" url="http://[SERVER]/MODULENAME/index.html">http://[SERVER]/MODULENAME/</ulink>.
+ </releaseinfo>
+</bookinfo>
+
+<chapter>
+ <title>[Insert title here]</title>
+]]>
+ </programlisting>
+ </example>
+ </para>
+
+ </sect1>
+
+ <sect1 id="metafiles_sections">
+ <title>Editar el archivo de sección</title>
+
+ <para>El archivo de sección se usa para organizar la salida de la documentación por GTK-Doc. Aquí se especifica qué símbolos pertenecen a qué módulo o clase y el control de la visibilidad (pública o privada).</para>
+
+ <para>El archivo de sección es un archivo de texto plano con sintaxis parecida a XML (usando etiquetas). Se ignoran las líneas vacías y las líneas que comiencen con «#» se tratan como comentarios.</para>
+
+ <para>La etiqueta <FILE> ... </FILE> se usa para especificar el nombre del archivo, sin sufijo. Por ejemplo, usar «<FILE>gnome-config</FILE>» dará como resultado en la sección de declaraciones la salida <filename>tmpl/gnome-config.sgml</filename> en el archivo de plantilla, que se convertirá al archivo DocBook SGML/XML <filename>sgml/gnome-config.sgml</filename> o al archivo DocBook XML <filename>xml/gnome-config.xml</filename>. (El nombre del archivo html está basado en el nombre del módulo y en el título de la sección, o para gobjects está basado en el nombre de clase de gobject convertido a minúscula.)</para>
+
+ <para>La etiqueta <TITLE> ... </TITLE> se usa para especificar el título de una sección. Sólo es útil antes de que las plantillas (si se usan) se creen inicialmente, ya que el título configurado en la plantilla lo sobreescribe. Además, si una usa comentarios SECTION en los fuentes, se queda obsoleto.</para>
+
+ <para>Puede agrupar elementos en la sección usando la etiqueta <SUBSECTION>. Actualmente esto genera una línea en blanco entre subsecciones en la sección de resumen. También puede usar <SUBSECTION Standard> para declaraciones estándar de GObject (ej. funciones como g_object_get_type and macros como G_OBJECT(), G_IS_OBJECT() etc.). Actualmente éstas se han dejado fuera de la documentación. También puede usar <SUBSECTION Private> para declaraciones privadas que no producirán ninguna salida (s una manera práctica de evitar mensajes de advertencia sobre declaraciones sin usar). Si sus bibliotecas contienen tipos privados que no quiere que aparezcan en la jerarquía de objetos o en la lista de interfaces implementados o necesarios, añádalos a una subsección Privada. Si ubica GObject y GObjectClass como estructuras en la sección pública o estándar, depende de si tienen entradas públicas (variables, vmethods).</para>
+
+ <para>También puede usar <INCLUDE> ... </INCLUDE> para especificar qué archivos #include se muestran en la sección de resumen. Contiene una lista de archivos #include separados por comas, sin las almohadillas. Si lo configura fuera de cualquier sección, actúa para todas las secciones hasta el final del archivo. Si lo configura dentro de una sección, sólo se aplica a esa sección.</para>
+
+ </sect1>
+
+ </chapter>
+
+ <chapter id="reports">
+ <title>Controlar el resultado</title>
+
+ <para>Una ejecución de GTK-Doc genera archivos de informe dentro del directorio de la documentación. Los archivos generados se llaman <filename><paquete>-undocumented.txt</filename>, <filename><paquete>-undeclared.txt</filename> y <filename><paquete>-unused.txt</filename>.Todos son archivos de texto plano y se pueden ver y posprocesar fácilmente.</para>
+
+ <para>El archivo <filename><package>-undocumented.txt</filename> comienza con el resumen de cobertura de la documentación. Debajo hay dos secciones divididas por líneas vacías. La primera sección lista los símbolos incompletos o indocumentados. La segunda sección hace lo mismo para los documentos de sección. Las entradas incompletas son aquellas que tienen documentación pero dónde; p.e. se ha añadido un parámetro nuevo.</para>
+
+ <para>El archivo <filename><package>-undeclared.txt</filename> lista símbolos proporcionados en el archivo <filename><package>-sections.txt</filename>, pero no encontrados en los fuentes. Compruebe si se han eliminado o no se han escrito correctamente.</para>
+
+ <para>El archivo <filename><package>-unused.txt</filename> lista nombres de símbolos, donde el analizador de GTK-Doc ha encontrado documentación, pero no sabe dónde ponerla. Esto significa que el símbolo no se ha añadido todavía al archivo <filename><package>-sections.txt</filename>.</para>
+
+ <tip>
+ <para>Activar o añadir la línea <option>TESTS=($GTKDOC_CHECK)</option> en Makefile.am. Si como mínimo está instalado GTK-Doc 1.9, esto ejecutará comprobaciones de integridad durante la ejecución de make check.</para>
+ </tip>
+
+ <para>También puede mirar los archivos producidos por el analizador del código fuente: <filename><paquete>-decl-list.txt</filename> y <filename><paquete>-decl.txt</filename>. El primero se puede comparar con el archivo de sección si se mantiene manualmente. El segundo lista todas las declaraciones desde las cabeceras. Si falta un símbolo, se puede comprobar si este archivo lo contiene.</para>
+
+ <para>Si el proyecto está basado en GObject, también se puede mirar en los archivos producidos por el analizador de objetos: <filename><paquete>.args.txt</filename>, <filename><paquete>.hierarchy.txt</filename>, <filename><paquete>.interfaces.txt</filename>, <filename><paquete>.prerequisites.txt</filename> y <filename><paquete>.signals.txt</filename>. Si faltan símbolos en cualquiera de ellos, puede hacer que gtkdoc guarde el análisis de archivos para futuros análisis, pero ejecutándolo como <command>GTK_DOC_KEEP_INTERMEDIATE=1 make</command>.</para>
+ </chapter>
+
+ <chapter id="documenting-others">
+ <title>Documentar otras interfaces</title>
+
+ <para>Hasta ahora se ha usado GTK-Doc para documentar la API del código. Las siguientes secciones contienen sugerencias acerca de cómo se pueden usar las herramientas para documentar otras interfaces.</para>
+
+ <sect1 id="commandline-interfaces">
+ <title>Opciones de la línea de comandos y las páginas man</title>
+
+ <para>Ya que también se pueden generar páginas man para referencias de entrada docbook, parece buena idea usarlas para ese propósito. De esta forma la interfaz es parte de la referencia y se obtienen las páginas man sin trabajo.</para>
+
+ <sect2 id="commandline-interfaces-file">
+ <title>Documentar la herramienta</title>
+
+ <para>Cree un archivo de entrada de referencia para cada herramienta. Siguiendo <link linkend="settingup_docfiles">el ejemplo</link> se llamará <filename>meep/docs/reference/meeper/meep.xml</filename>. Para las etiquetas xml que se deben usar puede mirar al archivo generado en el subdirectorio xml así como los ejemplos en, por ejemplo, glib.</para>
+ </sect2>
+
+ <sect2 id="commandline-interfaces-configure">
+ <title>Añadir la comprobación de configuración adicional</title>
+
+ <para>
+ <example><title>Comprobaciones de configuración adicionales</title>
+ <programlisting>
+<![CDATA[
+AC_ARG_ENABLE(man,
+ [AC_HELP_STRING([--enable-man],
+ [regenerate man pages from Docbook [default=no]])],enable_man=yes,
+ enable_man=no)
+
+AC_PATH_PROG([XSLTPROC], [xsltproc])
+AM_CONDITIONAL(ENABLE_MAN, test x$enable_man != xno)
+]]>
+ </programlisting>
+ </example>
+ </para>
+ </sect2>
+
+ <sect2 id="commandline-interfaces-make">
+ <title>Añadir reglas de makefile adicionales</title>
+
+ <para>
+ <example><title>Comprobaciones de configuración adicionales</title>
+ <programlisting>
+<![CDATA[
+man_MANS = \
+ meeper.1
+
+if ENABLE_GTK_DOC
+if ENABLE_MAN
+
+%.1 : %.xml
+ @XSLTPROC@ -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
+
+endif
+endif
+
+BUILT_EXTRA_DIST = $(man_MANS)
+EXTRA_DIST += meep.xml
+]]>
+ </programlisting>
+ </example>
+ </para>
+ </sect2>
+ </sect1>
+
+ <sect1 id="dbus-interfaces">
+ <title>Interfaces de DBus</title>
+
+ <para>(ARREGLAR: http://hal.freedesktop.org/docs/DeviceKit/DeviceKit.html, http://cgit.freedesktop.org/DeviceKit/DeviceKit/tree/doc/dbus)</para>
+ </sect1>
+
+ </chapter>
+
+ <chapter id="faq">
+ <title>Preguntas más frecuentes</title>
+
+ <segmentedlist>
+ <?dbhtml list-presentation="list"?>
+ <segtitle>Pregunta</segtitle>
+ <segtitle>Respuesta</segtitle>
+ <seglistitem>
+ <seg>Sin jerarquía de clases.</seg>
+ <seg>Los objetos de la función <function>xxx_get_type()</function> no se han introducido en el archivo <filename><paquete>.tipos</filename>.</seg>
+ </seglistitem>
+ <seglistitem>
+ <seg>Aún sin jerarquía de clases.</seg>
+ <seg>Faltan nombres o son erróneos en el archivo <filename><package>-sections.txt</filename> (consultar <ulink url="http://mail.gnome.org/archives/gtk-doc-list/2003-October/msg00006.html">explicación</ulink>).</seg>
+ </seglistitem>
+ <seglistitem>
+ <seg>Maldición, aún no hay una jerarquía de clases.</seg>
+ <seg>Es el nombre del objeto (nombre de la estructura de la instancia, ej. <type>GtkWidget</type>) parte de la sección normal (no ponga esto en Estándar o Privado).</seg>
+ </seglistitem>
+ <seglistitem>
+ <seg>Sin índice de símbolos.</seg>
+ <seg>¿<filename><package>-docs.{xml,sgml}</filename> contiene un índice que «xi:includes» el índice generado?</seg>
+ </seglistitem>
+ <seglistitem>
+ <seg>Los símbolos no se enlazan con su sección en el documento.</seg>
+ <seg>¿Está doc-comment usando el marcado correcto (añadido #,% o ())? Compruebe si gtk-doc-fixxref avisa de alguna referencia xref sin resolver.</seg>
+ </seglistitem>
+ <seglistitem>
+ <seg>Una clase nueva no aparece en la documentación.</seg>
+ <seg>Es la página nueva «xi:included» desde <filename><package>-docs.{xml,sgml}</filename>.</seg>
+ </seglistitem>
+ <seglistitem>
+ <seg>Un símbolo nuevo no aparece en la documentación.</seg>
+ <seg>Comprobar que el doc-comment está formateado correctamente. Compruebe errores de escritura al principio del comentario. Compruebe si gtkdoc-fixxref avisa acerca de referencias xref no solventables. Compruebe si el símbolo está listado correctamente en la <filename><package>-sections.txt</filename> en una subsección pública.</seg>
+ </seglistitem>
+ <seglistitem>
+ <seg>Falta un tipo en la clase de jerarquías</seg>
+ <seg>Si el tipo está listado en <filename><paquete>.jerarquía</filename> pero no en <filename>xml/tree_index.sgml</filename>, entonces compruebe dos veces que el tipo está correctamente ubicado en la <filename><package>-sections.txt</filename>. No se mostrará el tipo de instancia (ej. <type>GtkWidget</type>) si no está listada o accidentalmente marcada como privada.</seg>
+ </seglistitem>
+ <seglistitem>
+ <seg>Obtengo enlaces de seguimiento de documentos para todas las anotaciones gobject.</seg>
+ <seg>Compruebe que <filename>xml/annotation-glossary.xml</filename> está «xi:included» desde <filename><package>-docs.{xml,sgml}</filename>.</seg>
+ </seglistitem>
+
+ <!-- gtk-doc warnings: -->
+ <seglistitem>
+ <seg>Parámetro descrito en el bloque de comentarios del código fuente pero no existe</seg>
+ <seg>Compruebe si el prototipo en la cabecera tiene nombres de parámetro diferentes de la fuente.</seg>
+ </seglistitem>
+
+ <!-- docbook warnings: -->
+ <seglistitem>
+ <seg>múltiples «ID» para la restricción enlazada: XYZ</seg>
+ <seg>El símbolo XYZ aparece dos veces en el archivo <filename><package>-sections.txt</filename>.</seg>
+ </seglistitem>
+ <seglistitem>
+ <seg>Elemento typename en namespac e«» encontrado en para, pero ninguna plantilla coincide.</seg>
+ <seg/>
+ </seglistitem>
+ </segmentedlist>
+ </chapter>
+
+ <chapter id="contrib">
+ <title>Herramientas relacionadas con GTK-Doc</title>
+
+ <para>GtkDocPlugin: un complemento de integración <ulink url="http://trac-hacks.org/wiki/GtkDocPlugin">Trac GTK-Doc</ulink> que añade documentos de la API al sitio «trac» y se integra con la búsqueda de «trac».</para>
+ <para>Gtkdoc-depscan: una herramienta (parte de GTK-Doc) para comprobar la API usada contra etiquetas en la API para determinar la mínima versión necesaria.</para>
+
+ </chapter>
+
+ <!-- ======== Appendix: FDL ================================== -->
+ <!--
+ The GNU Free Documentation License 1.1 in DocBook
+ Markup by Eric Baudais <baudais@okstate.edu>
+ Maintained by the GNOME Documentation Project
+ http://developer.gnome.org/projects/gdp
+ Version: 1.0.1
+ Last Modified: Nov 16, 2000
+-->
+
+<appendix id="fdl">
+ <appendixinfo>
+ <releaseinfo>Versión 1.1, marzo de 2000</releaseinfo>
+ <copyright>
+ <year>2000</year><holder>Free Software Foundation, Inc.</holder>
+ </copyright>
+ <legalnotice id="fdl-legalnotice">
+ <para><address>Free Software Foundation, Inc. <street>51 Franklin Street, Suite 330</street>, <city>Boston</city>, <state>MA</state><postcode>02110-1301</postcode><country>EE. UU.</country></address> Se permite la copia y distribución de este documento de licencia, pero no se permite su modificación.</para>
+ </legalnotice>
+ </appendixinfo>
+ <title>Licencia de documentación libre de GNU</title>
+
+ <sect1 id="fdl-preamble">
+ <title>0. PREÁMBULO</title>
+ <para>El propósito de esta Licencia es permitir que un manual, libro de texto, u otro documento escrito sea <quote>libre</quote> en el sentido de libertad: asegurar a todo el mundo la libertad efectiva de copiarlo y redistribuirlo, con o sin modificaciones, de manera comercial o no. En segundo término, esta Licencia proporciona al autor y al editor una manera de obtener reconocimiento por su trabajo, sin que se le considere responsable de las modificaciones realizadas por otros.</para>
+
+ <para>Esta Licencia es de tipo <quote>copyleft</quote>, lo que significa que los trabajos derivados del documento deben a su vez ser libres en el mismo sentido. Complementa la Licencia Pública General de GNU, que es una licencia tipo copyleft diseñada para el software libre.</para>
+
+ <para>Hemos diseñado esta Licencia para usarla en manuales de software libre, ya que el software libre necesita documentación libre: Un programa libre debe venir con los manuales que ofrezcan la mismas libertades que da el software. Pero esta licencia no se limita a manuales de software; puede ser usada para cualquier trabajo textual, sin tener en cuenta su temática o si se publica como libro impreso. Recomendamos esta licencia principalmente para trabajos cuyo fin sea instructivo o de referencia.</para>
+ </sect1>
+ <sect1 id="fdl-section1">
+ <title>1. APLICABILIDAD Y DEFINICIONES</title>
+ <para id="fdl-document">Esta Licencia se aplica a cualquier manual u otro trabajo que contenga un aviso colocado por el poseedor del copyright diciendo que puede distribuirse bajo los términos de esta Licencia. El <quote>Documento</quote>, abajo, se refiere a cualquier manual o trabajo. Cualquier miembro del público es un licenciatario, y será referido como <quote>Usted</quote>.</para>
+
+ <para id="fdl-modified">Una <quote>Versión Modificada</quote> del Documento significa cualquier trabajo que contenga el Documento o una porción del mismo, ya sea una copia literal o con modificaciones y/o traducciones a otro idioma.</para>
+
+ <para id="fdl-secondary">Una <quote>Sección Secundaria</quote> es un apéndice con título o una sección preliminar del Documento que trata exclusivamente de la relación entre los autores o editores y el tema general del<link linkend="fdl-document">Documento</link> que trata exclusivamente con la relación entre los editores o autores del Documento con el asunto general del Documento (o asuntos relacionados) y no contiene nada que pueda considerarse dentro del tema principal. (Por ejemplo, si el Documento es en parte un libro de texto de matemáticas, una Sección Secundaria no explicará nada de matemáticas.) La relación puede ser una conexión histórica con el asunto o temas relacionados, o una opinión legal, comercial, filosófica, ética o política acerca de ellos.</para>
+
+ <para id="fdl-invariant">Las <quote>Secciones Invariantes</quote> son ciertas <link linkend="fdl-secondary">Secciones Secundarias</link> cuyos títulos son designados como Secciones Invariantes en la nota que indica que el <link linkend="fdl-document">Documento</link> se publica bajo esta Licencia.</para>
+
+ <para id="fdl-cover-texts"> Los <quote>Textos de Cubierta</quote> son ciertos pasajes cortos de texto que se listan como Textos de Cubierta Delantera o Textos de Cubierta Trasera en la nota que indica que el <link linkend="fdl-document">Documento</link> se publica bajo esta Licencia.</para>
+
+ <para id="fdl-transparent">Una copia <quote>Transparente</quote> del <link linkend="fdl-document">Documento</link>, significa una copia para lectura en máquina, representada en un formato cuya especificación está disponible al público en general, cuyo contenido puede ser visto y editados directamente con editores de texto genéricos o (para imágenes compuestas por píxeles) con programas genéricos de manipulación de imágenes o (para dibujos) con algún editor de dibujos ampliamente disponible, y que sea adecuado como entrada para formateadores de texto o para su traducción automática a formatos adecuados para formateadores de texto. Una copia hecha en un formato definido como Transparente, pero cuyo marcaje o ausencia de él haya sido diseñado para impedir o dificultar modificaciones posteriores por parte de los lectores no es Transparente. Una copia que no es <quote>Transparente</quote> se denomina <quote>Opaca</quote>.</para>
+
+ <para>Como ejemplos de formatos adecuados para copias Transparentes están ASCII puro sin marcaje, formato de entrada de Texinfo, formato de entrada de LaTeX, SGML o XML usando una DTD disponible públicamente, y HTML, PostScript o PDF simples, que sigan los estándares y diseños para que los modifiquen personas.Los formatos Opacos incluyen formatos propietarios que pueden ser leídos y editados únicamente en procesadores de textos propietarios, SGML o XML para los cuáles las DTD y/o herramientas de procesamiento no estén ampliamente disponibles, y HTML, PostScript o PDF generados por algunos procesadores de textos sólo como salida.</para>
+
+ <para id="fdl-title-page"> La <quote>Portada</quote> significa, en un libro impreso, la página de título, más las páginas siguientes que sean necesarias para mantener legiblemente el material que esta Licencia requiere en la portada. Para trabajos en formatos que no tienen página de portada como tal, <quote>Portada</quote>significa el texto cercano a la aparición más prominente del título del trabajo,precediendo el comienzo del cuerpo del texto.</para>
+ </sect1>
+
+ <sect1 id="fdl-section2">
+ <title>2. COPIA LITERAL</title>
+ <para>Usted puede copiar y distribuir el <link linkend="fdl-document">Documento</link> en cualquier soporte, sea en forma comercial o no, siempre y cuando proporcione esta Licencia, las notas de copyright y la nota que indica que esta Licencia se aplica al Documento reproduciéndola en todas las copias y que usted no añada ninguna otra condición a las expuestas en esta Licencia. Usted no puede usar medidas técnicas para obstruir o controlar la lectura o copia posterior de las copias que usted haga o distribuya. Sin embargo, usted puede aceptar compensación a cambio de las copias. Si distribuye un número suficientemente grande de copias también deberá seguir las condiciones de la <link linkend="fdl-section3">sección 3</link>.</para>
+
+ <para>Usted también puede prestar copias, bajo las mismas condiciones establecidas anteriormente, y puede exhibir copias públicamente.</para>
+ </sect1>
+
+ <sect1 id="fdl-section3">
+ <title>3. COPIAR EN CANTIDAD</title>
+ <para> Si publica copias impresas del <link linkend="fdl-document">Documento</link> que sobrepasen las 100, y la nota de licencia del Documento exige <link linkend="fdl-cover-texts">Textos de Cubierta</link>, debe incluirlas copias con cubiertas que lleven en forma clara y legible todos esos Textos de Cubierta: Textos de Cubierta Delantera en la cubierta delantera y Textos de Cubierta Trasera en la cubierta trasera. Ambas cubiertas deben identificarlo a Usted clara y legiblemente como editor de tales copias. La cubierta debe mostrar el título completo con todas las palabras igualmente prominentes y visibles. Además puede añadir otro material en las cubiertas. Las copias con cambios limitados a las cubiertas, siempre que conserven el título del <link linkend="fdl-document">Documento</link> y satisfagan estas condiciones, pueden considerarse como copias literales en todos los aspectos.</para>
+
+ <para> Si los textos requeridos para la cubierta son muy voluminosos para que ajusten legiblemente, debe colocar los primeros (tantos como sea razonable colocar) en la verdadera cubierta y situar el resto en páginas adyacentes.</para>
+
+ <para> Si Usted publica o distribuye copias <link linkend="fdl-transparent">Opacas</link> del <link linkend="fdl-document">Documento</link> cuya cantidad exceda las 100, debe incluir una copia <link linkend="fdl-transparent">Transparente</link>, que pueda ser leída por una máquina, con cada copia Opaca, o bien mostrar, en cada copia Opaca, una dirección de red donde cualquier usuario de la misma tenga acceso por medio de protocolos públicos y estandarizados a una copia Transparente del Documento completa, sin material adicional. Si usted hace uso de la última opción, deberá tomar las medidas necesarias, cuando comience la distribución de las copias Opacas en cantidad, para asegurar que esta copia Transparente permanecerá accesible en el sitio establecido por lo menos un año después de la última vez que distribuya una copia Opaca de esa edición al público (directamente o a través de sus agentes o distribuidores).</para>
+
+ <para>Se solicita, aunque no es requisito, que se ponga en contacto con los autores del <link linkend="fdl-document">Documento</link> antes de redistribuir gran número de copias, para darles la oportunidad de que le proporcionen una versión actualizada del Documento.</para>
+ </sect1>
+
+ <sect1 id="fdl-section4">
+ <title>4. MODIFICACIONES</title>
+ <para>Puede copiar y distribuir una <link linkend="fdl-modified">Versión Modificada</link> del <link linkend="fdl-document">Documento</link> bajo las condiciones de las secciones <link linkend="fdl-section2">2</link> y <link linkend="fdl-section3">3</link> anteriores, siempre que Usted libere la Versión Modificada bajo esta misma Licencia, con la Versión Modificada haciendo el rol del Documento, por lo tanto dando Licencia de distribución y modificación de la Versión Modificada a quienquiera posea una copia de la misma. Además, debe hacer lo siguiente en la Versión Modificada:</para>
+
+ <itemizedlist mark="opencircle">
+ <listitem>
+ <formalpara>
+ <title>A</title>
+ <para>Usar en la <link linkend="fdl-title-page">Portada</link> (y en las cubiertas, si hay alguna) un título distinto al del <link linkend="fdl-document">Documento</link> y de sus versiones anteriores (que deberían, si hay alguna, estar listadas en la sección de Historia del Documento). Puede usar el mismo título de versiones anteriores al original siempre y cuando quien las publicó originalmente otorgue permiso.</para>
+ </formalpara>
+ </listitem>
+
+ <listitem>
+ <formalpara>
+ <title>B</title>
+ <para>Listar en la <link linkend="fdl-title-page">Portada</link>, como autores, una o más personas o entidades responsables de la autoría de las modificaciones de la <link linkend="fdl-modified">Versión Modificada</link>, junto con por lo menos cinco de los autores principales del <link linkend="fdl-document">Documento</link> (todos sus autores principales, si hay menos de cinco), a menos que le eximan de tal requisito.</para>
+ </formalpara>
+ </listitem>
+
+ <listitem>
+ <formalpara>
+ <title>C</title>
+ <para>Mostrar en la <link linkend="fdl-title-page">Portada</link> como editor el nombre del editor de la <link linkend="fdl-modified">Versión Modificada</link></para>
+ </formalpara>
+ </listitem>
+
+ <listitem>
+ <formalpara>
+ <title>D</title>
+ <para>Conservar todas las notas de copyright del <link linkend="fdl-document">Documento</link>.</para>
+ </formalpara>
+ </listitem>
+
+ <listitem>
+ <formalpara>
+ <title>E</title>
+ <para>Añadir una nota de copyright apropiada a sus modificaciones, adyacente a las otras notas de copyright.</para>
+ </formalpara>
+ </listitem>
+
+ <listitem>
+ <formalpara>
+ <title>F</title>
+ <para>Incluir, inmediatamente después de los avisos de copyright, una nota de licencia dando el permiso público para usar la <link linkend="fdl-modified">Versión Modificada</link> bajo los términos de esta Licencia, de la forma mostrada en el Adenda de más abajo.</para>
+ </formalpara>
+ </listitem>
+
+ <listitem>
+ <formalpara>
+ <title>G</title>
+ <para>Incluir, inmediatamente después de ese aviso de licencia, la lista completa de <link linkend="fdl-invariant">Secciones invariantes</link> y de los <link linkend="fdl-cover-texts">Textos de Cubierta</link> que sean requeridos en el aviso de Licencia del <link linkend="fdl-document">Documento</link> original.</para>
+ </formalpara>
+ </listitem>
+
+ <listitem>
+ <formalpara>
+ <title>H</title>
+ <para>Incluir una copia sin modificación de esta Licencia.</para>
+ </formalpara>
+ </listitem>
+
+ <listitem>
+ <formalpara>
+ <title>I</title>
+ <para>Conservar la sección titulada <quote>Historia</quote>, conservar su Título y añadirle un elemento que declare al menos el título, el año, los nuevos autores y el editor de la <link linkend="fdl-modified">Versión Modificada</link>, tal como figuran en la <link linkend="fdl-title-page">Portada</link>. Si no hay una sección titulada <quote>Historia</quote> en el <link linkend="fdl-document">Documento</link>, crear una estableciendo el título, el año, los autores y el editor del Documento, tal como figuran en su Portada, añadiendo además un elemento describiendo la Versión Modificada, como se estableció en la sentencia anterior.</para>
+ </formalpara>
+ </listitem>
+
+ <listitem>
+ <formalpara>
+ <title>J</title>
+ <para>Conservar la dirección en red, si la hay, dada en el <link linkend="fdl-document">Documento</link> para el acceso público a una copia <link linkend="fdl-transparent">Transparente</link> del mismo, así como las otras direcciones de red dadas en el Documento para versiones anteriores en las que estuviese basado. Pueden ubicarse en la sección <quote>Historia</quote>. Se puede omitir la ubicación en red de un trabajo que haya sido publicado por lo menos cuatro años antes que el Documento mismo, o si el editor original de dicha versión da permiso.</para>
+ </formalpara>
+ </listitem>
+
+ <listitem>
+ <formalpara>
+ <title>K</title>
+ <para>En cualquier sección titulada <quote>Agradecimientos</quote> o <quote>Dedicatorias</quote>, conservar el título de la sección y conservar en ella toda la sustancia y el tono de los agradecimientos y/o dedicatorias incluidas por cada contribuyente.</para>
+ </formalpara>
+ </listitem>
+
+ <listitem>
+ <formalpara>
+ <title>L</title>
+ <para>Conservar todas las <link linkend="fdl-invariant">Secciones Invariantes</link> del <link linkend="fdl-document">Documento</link>, sin alterar su texto ni sus títulos. Los números de sección o equivalentes no se consideran parte de los títulos de la sección.</para>
+ </formalpara>
+ </listitem>
+
+ <listitem>
+ <formalpara>
+ <title>M</title>
+ <para>Borrar cualquier sección titulada <quote>Aprobaciones</quote>. Tales secciones no pueden estar incluidas en las <link linkend="fdl-modified">Versiones Modificadas</link>.</para>
+ </formalpara>
+ </listitem>
+
+ <listitem>
+ <formalpara>
+ <title>N</title>
+ <para>No cambiar el título de ninguna sección existente a <quote>Aprobaciones</quote> ni a uno que entre en conflicto con el de alguna <link linkend="fdl-invariant">Sección Invariante</link>.</para>
+ </formalpara>
+ </listitem>
+ </itemizedlist>
+
+ <para> Si la <link linkend="fdl-modified">Versión Modificada</link> incluye secciones o apéndices nuevos que cualifiquen como <link linkend="fdl-secondary">Secciones Secundarias</link> y no contienen ningún material copiado del Documento, puede opcionalmente designar algunas o todas esas secciones como invariantes. Para hacerlo, añada sus títulos a la lista de <link linkend="fdl-invariant">Secciones Invariantes</link> en el aviso de licencia de la Versión Modificada. Tales títulos deben ser distintos de cualquier otro título de sección.</para>
+
+ <para>Puede añadir una sección titulada <quote>Aprobaciones</quote>, siempre que contenga únicamente aprobaciones de su <link linkend="fdl-modified">Versión Modificada</link> por otras fuentes --por ejemplo, observaciones de compañeros o que el texto ha sido aprobado por una organización como definición oficial de un estándar.</para>
+
+ <para>Puede añadir un pasaje de hasta cinco palabras como <link linkend="fdl-cover-texts">Texto de Cubierta Delantera</link> y un pasaje de hasta 25 palabras como <link linkend="fdl-cover-texts">Texto de Cubierta Trasera</link> al final de la lista de <link linkend="fdl-cover-texts">Texto de Cubierta</link> en la <link linkend="fdl-modified">Versión Modificada</link>. Una entidad sólo puede añadir (o hacer que se añada) un pasaje al Texto de Cubierta Delantera y uno al de Cubierta Trasera. Si el <link linkend="fdl-document">Documento</link> ya incluye un textos de cubiertas añadidos previamente por usted o por acuerdo previo con la entidad que usted representa, usted no puede añadir otro; pero puede reemplazar el anterior, con permiso explícito del editor anterior que agregó el texto anterior.</para>
+
+ <para>Con esta Licencia ni los autores ni los editores del <link linkend="fdl-document">Documento</link> dan permiso para usar sus nombres para publicidad ni para asegurar o implicar aprobación de cualquier <link linkend="fdl-modified">Versión Modificada</link>.</para>
+ </sect1>
+
+ <sect1 id="fdl-section5">
+ <title>5. COMBINAR DOCUMENTOS</title>
+ <para>Usted puede combinar el <link linkend="fdl-document">Documento</link> con otros documentos liberados bajo esta Licencia, bajo los términos definidos en la sección <link linkend="fdl-section4">section 4</link> más arriba para versiones modificadas, siempre que incluya en la combinación todas las <link linkend="fdl-invariant">Secciones Invariantes</link> de todos los documentos originales, sin modificaciones, y las liste todas como Secciones Invariantes de su trabajo combinado en su aviso de licencia.</para>
+
+ <para>El trabajo combinado necesita contener solamente una copia de esta Licencia, y múltiples <link linkend="fdl-invariant">Secciones Invariantes</link> idénticas pueden reemplazarse por una sola copia. Si hay múltiples Secciones Invariantes con el mismo nombre pero con contenidos diferentes, haga el título de cada una de estas secciones único añadiéndolo al final de este, entre paréntesis, el nombre del autor o de quien editó originalmente esa sección, si es conocido, o si no, un número único. Haga el mismo ajuste a los títulos de sección en la lista de Secciones Invariantes en la nota de licencia del trabajo combinado.</para>
+
+ <para>En la combinación, debe combinar cualquier sección titulada <quote>Historia</quote> de los distintos documentos originales, formando una sección titulada <quote>Historia</quote>; de la misma forma, combine cualquier sección titulada <quote>Reconocimientos</quote> y cualquier sección titulada <quote>Dedicatorias</quote>. Debe borrar todas las secciones tituladas <quote>Aprobaciones</quote>.</para>
+ </sect1>
+
+ <sect1 id="fdl-section6">
+ <title>6. COLECCIONES DE DOCUMENTOS</title>
+ <para>Puede hacer una colección que conste del <link linkend="fdl-document">Documento</link> y de otros documentos publicados bajo esta Licencia, y reemplazar las copias individuales de esta Licencia en todos los documentos por una sola copia que esté incluida en la colección, siempre que siga las reglas de esta Licencia para cada copia literal de cada uno de los documentos en cualquiera de los demás aspectos.</para>
+
+ <para> Puede extraer un solo documento de una de tales colecciones y distribuirlo individualmente bajo esta Licencia, siempre que inserte una copia de esta Licencia en el documento extraído, y siga esta Licencia en todos los demás aspectos relativos a la copia literal de dicho documento.</para>
+ </sect1>
+
+ <sect1 id="fdl-section7">
+ <title>7. AGREGACIÓN CON TRABAJOS INDEPENDIENTES</title>
+ <para>Una recopilación que conste del <link linkend="fdl-document">Documento</link> o sus derivados y de otros documentos o trabajos separados e independientes, en cualquier soporte de almacenamiento o distribución, no cuenta como un todo como una <link linkend="fdl-modified">Versión Modificada</link> del Documento, siempre que no se reclame ningún derecho de copyright por la compilación. Dicha compilación se denomina un <quote>agregado</quote>, y esta Licencia no se aplica a otros trabajos autocontenidos incluidos con el Documento. teniendo en cuenta que son compilados, si no son los mismos trabajos derivados del Documento. Si el requisito de <link linkend="fdl-cover-texts">Texto de Cubierta</link> de la <link linkend="fdl-section3">sección 3</link> es aplicable a estas copias del Documento, entonces si el Documento es menor que un cuarto del agregado completo, los Textos de Cubierta del Documento pueden colocarse en cubiertas que enmarquen solamente el Documento dentro del agregado. En caso contrario deben aparecer en cubiertas impresas enmarcando todo el agregado.</para>
+ </sect1>
+
+ <sect1 id="fdl-section8">
+ <title>8. TRADUCCIÓN</title>
+ <para>La traducción se considera un tipo de modificación, así que puede distribuir traducciones del <link linkend="fdl-document">Documento</link> bajo los términos de la <link linkend="fdl-section4">sección 4</link>. Reemplazar las <link linkend="fdl-invariant">Secciones invariantes</link> con traducciones requiere permiso especial de los mantenedores de la propietarios del copyright, pero puede incluir traducciones de algunos o todas las Secciones invariantes. Puede incluir una traducción de esta licencia proporcionada que además incluya la versión original de esta Sección invariante en adición de esta licencia. En caso de desacuerdo prevalecerá la versión original en inglés.</para>
+ </sect1>
+
+ <sect1 id="fdl-section9">
+ <title>9. TERMINACIÓN</title>
+ <para> Usted no puede copiar, modificar, sublicenciar o distribuir el <link linkend="fdl-document">Documento</link> salvo por lo permitido expresamente por esta Licencia. Cualquier otro intento de copia, modificación, sublicenciamiento o distribución del Documento es nulo, y dará por terminados automáticamente sus derechos bajo esa Licencia. Sin embargo, los terceros que hayan recibido copias, o derechos, de usted bajo esta Licencia no verán terminadas sus licencias, siempre que permanezcan en total conformidad con ella.</para>
+ </sect1>
+
+ <sect1 id="fdl-section10">
+ <title>10. FUTURAS REVISIONES DE ESTA LICENCIA</title>
+ <para>La <ulink type="http" url="http://www.gnu.org/fsf/fsf.html">Free Software Foundation</ulink> puede publicar versiones nuevas y revisadas de la Licencia de Documentación Libre GNU de vez en cuando. Dichas versiones nuevas serán similares en espíritu a la presente versión, pero pueden diferir en detalles para solucionar nuevos problemas o preocupaciones. Vea <ulink type="http" url="http://www.gnu.org/copyleft">http://www.gnu.org/copyleft/</ulink>.</para>
+
+ <para>Cada versión de la licencia tiene un número de versión. Si la <link linkend="fdl-document">Documentación</link> especifica que el número particular de versión de esta Licencia <quote>o cualquier posterior versión</quote> aplicado sobre él, tiene la opción de seguir los términos y condiciones de cualquiera de esas versiones especificadas o de cualquiera de las versiones publicadas (no como borrador) por la Free Software Foundation. Si el Documento no especifica un número de versión de la licencia, puede elegir cualquier versión publicada (no como borrador) por la Free Software Foundation.</para>
+ </sect1>
+
+ <sect1 id="fdl-using">
+ <title>Addendum</title>
+ <para>Para usar esta licencia en un documento que ha escrito, incluya una copia de la Licencia en el documento y ponga el siguiente copyright y las notas justo después del título de la página.</para>
+
+ <blockquote>
+ <para>Copyright 2009-2010 Jorge González González
+Copyright 2009-2010 Francisco Javier Fernández Serrador
+Copyright 2009 Daniel Mustieles</para>
+ <para>Se otorga permiso para copiar, distribuir y/o modificar este documento bajo los términos de la Licencia de Documentación Libre de GNU, Versión 1.1 o cualquier otra versión posterior publicada por la Free Software Foundation; con las <link linkend="fdl-invariant">Secciones Invariantes</link> siendo su LISTE SUS TÍTULOS, con <link linkend="fdl-cover-texts">Textos de Cubierta Delantera</link> siendo LISTA, y con los <link linkend="fdl-cover-texts">Textos de Cubierta Trasera</link> siendo LISTA. Una copia de la licencia está incluida en la sección titulada <quote>GNU Free Documentation License</quote>.</para>
+ </blockquote>
+
+ <para>Si no tiene <link linkend="fdl-invariant">Secciones Invariantes</link>, escriba <quote>sin Secciones Invariantes</quote> en vez de decir cuáles son invariantes. Si no tiene <link linkend="fdl-cover-texts">Textos de Cubierta Frontal</link>, escriba <quote>sin Textos de Cubierta Frontal</quote>; de la misma manera para <link linkend="fdl-cover-texts">Textos de Cubierta Trasera</link>.</para>
+
+ <para>Si su documento contiene ejemplos de código de programa no triviales, recomendamos liberar estos ejemplos en paralelo bajo la licencia de software libre que usted elija, como la <ulink type="http" url="http://www.gnu.org/copyleft/gpl.html">Licencia Pública General de GNU (GNU General Public License)</ulink>, para permitir su uso en software libre.</para>
+ </sect1>
+</appendix>
+
+
+
+
+
+
+
+
+</book>
--- /dev/null
+# French translation of gtk-doc
+# This file is distributed under the same license as the gtk-doc package.
+#
+#
+# Yannick Tailliez <ytdispatch-libre02@yahoo.com>, 2009.
+# Bruno Brouard <annoa.b@gmail.com>, 2009-2010.
+# Claude Paroz <claude@2xlibre.net>, 2010.
+# Gérard Baylard <Geodebay@gmail.com>, 2010.
+msgid ""
+msgstr ""
+"Project-Id-Version: gtk-doc-help HEAD\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2011-04-05 07:09+0000\n"
+"PO-Revision-Date: 2010-09-23 23:37+0200\n"
+"Last-Translator: Gérard Baylard <Geodebay@gmail.com>\n"
+"Language-Team: GNOME French Team <gnomefr@traduc.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+
+#: C/gtk-doc-manual.xml:12(title)
+msgid "GTK-Doc Manual"
+msgstr "Manuel de GTK-Doc"
+
+#: C/gtk-doc-manual.xml:13(edition) C/gtk-doc-manual.xml:98(revnumber)
+msgid "1.15"
+msgstr "1.15"
+
+#: C/gtk-doc-manual.xml:14(para)
+msgid "User manual for developers with instructions of GTK-Doc usage."
+msgstr ""
+"Manuel utilisateur pour les développeurs contenant les instructions sur "
+"l'usage de GTK-Doc."
+
+#: C/gtk-doc-manual.xml:17(firstname)
+msgid "Chris"
+msgstr "Chris"
+
+#: C/gtk-doc-manual.xml:18(surname)
+msgid "Lyttle"
+msgstr "Lyttle"
+
+#: C/gtk-doc-manual.xml:21(email)
+msgid "chris@wilddev.net"
+msgstr "chris@wilddev.net"
+
+#: C/gtk-doc-manual.xml:26(firstname)
+msgid "Dan"
+msgstr "Dan"
+
+#: C/gtk-doc-manual.xml:27(surname)
+msgid "Mueth"
+msgstr "Mueth"
+
+#: C/gtk-doc-manual.xml:30(email)
+msgid "d-mueth@uchicago.edu"
+msgstr "d-mueth@uchicago.edu"
+
+#: C/gtk-doc-manual.xml:35(firstname)
+msgid "Stefan"
+msgstr "Stefan"
+
+#: C/gtk-doc-manual.xml:36(surname)
+msgid "Kost"
+msgstr "Kost"
+
+#: C/gtk-doc-manual.xml:39(email)
+msgid "ensonic@users.sf.net"
+msgstr "ensonic@users.sf.net"
+
+#: C/gtk-doc-manual.xml:45(publishername)
+msgid "GTK-Doc project"
+msgstr "Projet GTK-Doc"
+
+#: C/gtk-doc-manual.xml:46(email)
+msgid "gtk-doc-list@gnome.org"
+msgstr "gtk-doc-list@gnome.org"
+
+#: C/gtk-doc-manual.xml:49(year)
+msgid "2000, 2005, 2007-2009"
+msgstr "2000, 2005, 2007-2009"
+
+#: C/gtk-doc-manual.xml:50(holder)
+msgid "Dan Mueth and Chris Lyttle and Stefan Kost"
+msgstr "Dan Mueth, Chris Lyttle et Stefan Kost"
+
+#: C/gtk-doc-manual.xml:61(para)
+msgid ""
+"Permission is granted to copy, distribute and/or modify this document under "
+"the terms of the <citetitle>GNU Free Documentation License</citetitle>, "
+"Version 1.1 or any later version published by the Free Software Foundation "
+"with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A "
+"copy of the license is <link linkend=\"fdl\">included</link>."
+msgstr ""
+"Permission vous est donnée de copier, distribuer et/ou modifier ce document "
+"selon les termes de la <citetitle>licence de documentation libre GNU</"
+"citetitle>, version 1.1 ou ultérieure publiée par la Free Software "
+"Foundation sans section inaltérable, sans texte de première page de "
+"couverture ni texte de dernière page de couverture. Vous trouverez un "
+"exemplaire de cette licence en suivant ce <link linkend=\"fdl\">lien</link>."
+
+#: C/gtk-doc-manual.xml:69(para)
+msgid ""
+"Many of the names used by companies to distinguish their products and "
+"services are claimed as trademarks. Where those names appear in any GNOME "
+"documentation, and those trademarks are made aware to the members of the "
+"GNOME Documentation Project, the names have been printed in caps or initial "
+"caps."
+msgstr ""
+"La plupart des noms utilisés par les entreprises pour distinguer leurs "
+"produits et services sont des marques déposées. Lorsque ces noms "
+"apparaissent dans la documentation GNOME et que les membres du projet de "
+"Documentation GNOME sont informés de l'existence de ces marques déposées, "
+"soit ces noms entiers, soit leur première lettre est en majuscule."
+
+#: C/gtk-doc-manual.xml:80(revnumber)
+msgid "1.17.1"
+msgstr "1.17.1"
+
+#: C/gtk-doc-manual.xml:81(date) C/gtk-doc-manual.xml:87(date)
+msgid "26 Feb 2011"
+msgstr "26 février 2011"
+
+#: C/gtk-doc-manual.xml:82(authorinitials)
+#: C/gtk-doc-manual.xml:88(authorinitials)
+#: C/gtk-doc-manual.xml:94(authorinitials)
+#: C/gtk-doc-manual.xml:100(authorinitials)
+#: C/gtk-doc-manual.xml:106(authorinitials)
+#: C/gtk-doc-manual.xml:112(authorinitials)
+#: C/gtk-doc-manual.xml:118(authorinitials)
+msgid "sk"
+msgstr "sk"
+
+#: C/gtk-doc-manual.xml:83(revremark)
+msgid "development version, markdown support"
+msgstr "version de développementi, prise en charge de markdown"
+
+#: C/gtk-doc-manual.xml:86(revnumber)
+msgid "1.17"
+msgstr "1.17"
+
+#: C/gtk-doc-manual.xml:89(revremark)
+msgid "urgent bug fix update"
+msgstr "mise à jour pour une correction de bogue urgente"
+
+#: C/gtk-doc-manual.xml:92(revnumber)
+msgid "1.16"
+msgstr "1.16"
+
+#: C/gtk-doc-manual.xml:93(date)
+msgid "14 Jan 2011"
+msgstr "14 janvier 2011"
+
+#: C/gtk-doc-manual.xml:95(revremark)
+msgid "bugfixes, layout improvements"
+msgstr "correctifs et améliorations de mise en page"
+
+#: C/gtk-doc-manual.xml:99(date)
+msgid "21 May 2010"
+msgstr "21 mai 2010"
+
+#: C/gtk-doc-manual.xml:101(revremark)
+msgid "bug and regression fixes"
+msgstr "corrections d'anomalies et de régressions"
+
+#: C/gtk-doc-manual.xml:104(revnumber)
+msgid "1.14"
+msgstr "1.14"
+
+#: C/gtk-doc-manual.xml:105(date)
+msgid "28 March 2010"
+msgstr "28 mars 2010"
+
+#: C/gtk-doc-manual.xml:107(revremark)
+msgid "bugfixes and performance improvements"
+msgstr "correctifs et amélioration de performances"
+
+#: C/gtk-doc-manual.xml:110(revnumber)
+msgid "1.13"
+msgstr "1.13"
+
+#: C/gtk-doc-manual.xml:111(date) C/gtk-doc-manual.xml:117(date)
+msgid "18 December 2009"
+msgstr "18 décembre 2009"
+
+#: C/gtk-doc-manual.xml:113(revremark)
+msgid "broken tarball update"
+msgstr "mise à jour du tarball brisé"
+
+#: C/gtk-doc-manual.xml:116(revnumber)
+msgid "1.12"
+msgstr "1.12"
+
+#: C/gtk-doc-manual.xml:119(revremark)
+msgid "new tool features and bugfixes"
+msgstr "comportements de nouveaux outils et résolution de bogues"
+
+#: C/gtk-doc-manual.xml:122(revnumber)
+msgid "1.11"
+msgstr "1.11"
+
+#: C/gtk-doc-manual.xml:123(date)
+msgid "16 Novemebr 2008"
+msgstr "16 novembre 2008"
+
+#: C/gtk-doc-manual.xml:124(authorinitials)
+msgid "mal"
+msgstr "mal"
+
+#: C/gtk-doc-manual.xml:125(revremark)
+msgid "GNOME doc-utils migration"
+msgstr "Migration à GNOME doc-utils"
+
+#: C/gtk-doc-manual.xml:134(title)
+msgid "Introduction"
+msgstr "Introduction"
+
+#: C/gtk-doc-manual.xml:136(para)
+msgid ""
+"This chapter introduces GTK-Doc and gives an overview of what it is and how "
+"it is used."
+msgstr ""
+"Ce chapitre présente GTK-Doc et fournit un aperçu de ce que c'est et de la "
+"manière de l'utiliser."
+
+#: C/gtk-doc-manual.xml:142(title)
+msgid "What is GTK-Doc?"
+msgstr "Qu'est-ce que GTK-Doc ?"
+
+#: C/gtk-doc-manual.xml:144(para)
+msgid ""
+"GTK-Doc is used to document C code. It is typically used to document the "
+"public API of libraries, such as the GTK+ and GNOME libraries. But it can "
+"also be used to document application code."
+msgstr ""
+"GTK-Doc est utilisé pour documenter du code C. Il est typiquement utilisé "
+"pour documenter les API publiques de bibliothèques, comme les bibliothèques "
+"GTK+ et GNOME. Mais il peut aussi être utilisé pour documenter du code "
+"d'application."
+
+#: C/gtk-doc-manual.xml:152(title)
+msgid "How Does GTK-Doc Work?"
+msgstr "Fonctionnement de GTK-Doc ?"
+
+#: C/gtk-doc-manual.xml:154(para)
+msgid ""
+"GTK-Doc works by using documentation of functions placed inside the source "
+"files in specially-formatted comment blocks, or documentation added to the "
+"template files which GTK-Doc uses (though note that GTK-Doc will only "
+"document functions that are declared in header files; it won't produce "
+"output for static functions)."
+msgstr ""
+"GTK-Doc fonctionne en utilisant la documentation de fonctions placées dans "
+"le code source sous la forme de blocs de commentaires avec un formatage "
+"spécifique ou la documentation ajoutée aux fichiers prototypes que GTK-Doc "
+"utilise (notez cependant que GTK-Doc ne documente que les fonctions "
+"déclarées dans des fichiers d'en-tête ; il ne fait rien pour les fonctions "
+"statiques)."
+
+#: C/gtk-doc-manual.xml:161(para)
+msgid ""
+"GTK-Doc consists of a number of perl scripts, each performing a different "
+"step in the process."
+msgstr ""
+"GTK-Doc consiste en un certain nombre de scripts Perl, chacun réalisant une "
+"étape du processus."
+
+#: C/gtk-doc-manual.xml:166(para)
+msgid "There are 5 main steps in the process:"
+msgstr "Il y a 5 étapes principales :"
+
+#: C/gtk-doc-manual.xml:173(para)
+msgid ""
+"<guilabel>Writing the documentation.</guilabel> The author fills in the "
+"source files with the documentation for each function, macro, union etc. (In "
+"the past information was entered in generated template files, which is not "
+"recommended anymore)."
+msgstr ""
+"<guilabel>Écriture de la documentation.</guilabel> L'auteur complète les "
+"fichiers sources avec la documentation pour chaque fonction, macro, union, "
+"etc. (dans le passé, l'information était saisie dans les fichiers prototypes "
+"générés mais ce n'est plus recommandé)."
+
+#: C/gtk-doc-manual.xml:183(para)
+msgid ""
+"<guilabel>Gathering information about the code.</"
+"guilabel><application>gtkdoc-scan</application> scans the header files of "
+"the code looking for declarations of functions, macros, enums, structs, and "
+"unions. It creates the file <filename><module>-decl-list.txt</"
+"filename> containg a list of the declarations, placing them into sections "
+"according to which header file they are in. On the first run this file is "
+"copied to <filename><module>-sections.txt</filename>. The author can "
+"rearrange the sections, and the order of the declarations within them, to "
+"produce the final desired order. The second file it generates is "
+"<filename><module>-decl.txt</filename>. This file contains the full "
+"declarations found by the scanner. If for some reason one would like some "
+"symbols to show up in the docs, where the full declaration cannot be found "
+"by the scanner or the declaration should appear differently, one can place "
+"enties similar to the ones in <filename><module>-decl.txt</filename> "
+"into <filename><module>-overrides.txt</filename>. <application>gtkdoc-"
+"scanobj</application> can also be used to dynamically query a library about "
+"any GtkObject subclasses it exports. It saves information about each "
+"object's position in the class hierarchy and about any GTK Args and Signals "
+"it provides."
+msgstr ""
+"<guilabel>Collecte des informations sur le code.</guilabel> "
+"<application>gtkdoc-scan</application> analyse les fichiers d'en-tête du "
+"code à la recherche des déclarations de fonctions, de macros, "
+"d'énumérations, de structures et d'unions. Il crée le fichier <filename><"
+"module>-decl-list.txt</filename> contenant une liste des déclarations en "
+"les plaçant dans des sections en accord avec le fichier d'en-tête d'où elles "
+"proviennent. Lors du premier lancement, ce fichier est copié dans "
+"<filename><module>-sections.txt</filename>. L'auteur peut réorganiser "
+"les sections et l'ordre des déclarations dans celui-ci, pour obtenir l'ordre "
+"final souhaité. Le deuxième fichier généré est <filename><module>-decl."
+"txt</filename>. Ce fichier contient les déclarations complètes trouvées lors "
+"de l'analyse. Si, pour une raison quelconque, on souhaite voir apparaître "
+"dans la documentation des éléments qui n'ont pas été trouvé lors de "
+"l'analyse, ou dont la déclaration doit apparaître différemment, il est "
+"possible d'ajouter des entrées dans <filename><module>-overrides.txt</"
+"filename> similaires à celle de <filename><module>-decl.txt</"
+"filename>. <application>gtkdoc-scanobj</application> peut aussi être utilisé "
+"pour interroger de manière dynamique une bibliothèque à propos de n'importe "
+"quelle sous-classe de GtkObject qu'elle exporte. Il enregistre les "
+"informations sur la position de chaque objet dans la hiérarchie de classe et "
+"sur tous les arguments et signaux GTK fournis."
+
+#: C/gtk-doc-manual.xml:208(para)
+msgid ""
+"<guilabel>Generating the \"template\" files.</guilabel><application>gtkdoc-"
+"mktmpl</application> creates a number of files in the <filename class="
+"\"directory\">tmpl/</filename> subdirectory, using the information gathered "
+"in the first step. (Note that this can be run repeatedly. It will try to "
+"ensure that no documentation is ever lost.)"
+msgstr ""
+"<guilabel>Génération des fichiers « prototypes ».</guilabel> "
+"<application>gtkdoc-mktmpl</application> crée un certain nombre de fichiers "
+"dans le sous-répertoire <filename class=\"directory\">tmpl/</filename>, en "
+"utilisant les informations récoltées lors de la première étape (notez que le "
+"script peut être exécuté plusieurs fois, il est fait en sorte qu'aucune "
+"donnée ne soit jamais perdue)."
+
+#: C/gtk-doc-manual.xml:217(para)
+msgid ""
+"Since GTK-Doc 1.9 the templates can be avoided. We encourage people to keep "
+"documentation in the code. <application>gtkdocize</application> supports now "
+"a <option>--flavour no-tmpl</option> option that chooses a makefile that "
+"skips tmpl usage totally. If you have never changed file in tmpl by hand, "
+"please remove the dir (e.g. from version control system)."
+msgstr ""
+"Depuis GTK-Doc 1.9, les prototypes peuvent être évités. Nous encourageons "
+"tout le monde à conserver la documentation dans le code. "
+"<application>gtkdocize</application> prend maintenant en charge l'option "
+"<command>--flavour no-tmpl</command> qui choisit un makefile qui évite "
+"complètement l'utilisation de tmpl. Si vous n'avez jamais modifié de "
+"fichiers à la main dans tmpl, effacez le répertoire (par ex. à partir d'un "
+"système de gestion de versions)."
+
+#: C/gtk-doc-manual.xml:229(para)
+msgid ""
+"<guilabel>Generating the SGML/XML and HTML/PDF.</"
+"guilabel><application>gtkdoc-mkdb</application> turns the template files "
+"into SGML or XML files in the <filename class=\"directory\">sgml/</filename> "
+"or <filename class=\"directory\">xml/</filename> subdirectory. If the source "
+"code contains documentation on functions, using the special comment blocks, "
+"it gets merged in here. If there are no tmpl files used it only reads docs "
+"from sources and introspection data. We recommend to use Docbook XML."
+msgstr ""
+"<guilabel>Génération du SGML/XML et du HTML/PDF.</guilabel> "
+"<application>gtkdoc-mkdb</application> transforme les fichiers prototypes en "
+"fichiers SGML ou XML dans le répertoire <filename class=\"directory\">sgml/</"
+"filename> ou <filename class=\"directory\">xml/</filename>. Si le code "
+"source contient de la documentation sur les fonctions, en utilisant les "
+"blocs de commentaires spéciaux, elle sera fusionnée ici. Si aucun fichier "
+"tmpl n'est utilisé, seule la documentation contenue dans les sources et les "
+"données d'introspection seront lues. Nous recommandons l'utilisation de XML "
+"DocBook."
+
+#: C/gtk-doc-manual.xml:240(para)
+msgid ""
+"<application>gtkdoc-mkhtml</application> turns the SGML/XML files into HTML "
+"files in the <filename class=\"directory\">html/</filename> subdirectory. "
+"Likewise <application>gtkdoc-mkpdf</application> turns the SGML/XML files "
+"into a PDF document called <filename><package>.pdf</filename>."
+msgstr ""
+"<application>gtkdoc-mkhtml</application> transforme les fichiers SGML/XML en "
+"fichiers HTML dans le répertoire <filename class=\"directory\">html/</"
+"filename>. De même <application>gtkdoc-mkpdf</application> transforme les "
+"fichiers SGML/XML en documents PDF appelés <filename><package>.pdf</"
+"filename>."
+
+#: C/gtk-doc-manual.xml:246(para)
+msgid ""
+"Files in <filename class=\"directory\">sgml/</filename> or <filename class="
+"\"directory\">xml/</filename> and <filename class=\"directory\">html/</"
+"filename> directories are always overwritten. One should never edit them "
+"directly."
+msgstr ""
+"Les fichiers dans les répertoires <filename class=\"directory\">sgml/</"
+"filename> ou <filename class=\"directory\">xml/</filename> et <filename "
+"class=\"directory\">html/</filename> sont toujours écrasés. Il ne faut pas "
+"les modifier directement."
+
+#: C/gtk-doc-manual.xml:254(para)
+msgid ""
+"<guilabel>Fixing up cross-references between documents.</guilabel> After "
+"installing the HTML files, <application>gtkdoc-fixxref</application> can be "
+"run to fix up any cross-references between separate documents. For example, "
+"the GTK+ documentation contains many cross-references to types documented in "
+"the GLib manual. When creating the source tarball for distribution, "
+"<application>gtkdoc-rebase</application> turns all external links into web-"
+"links. When installing distributed (pregenerated) docs the same application "
+"will try to turn links back to local links (where those docs are installed)."
+msgstr ""
+"<guilabel>Résolution des références croisées entre les documents.</guilabel> "
+"Après installation des fichiers HTML, <application>gtkdoc-fixxref</"
+"application> peut être exécuté pour résoudre toutes les références croisées "
+"entre les différents documents. Par exemple, la documentation de GTK+ "
+"contient beaucoup de références croisées vers des types documentés dans le "
+"manuel de GLib. Lors de la création de l'archive des sources pour la "
+"distribution, <application>gtkdoc-rebase</application> transforme tous les "
+"liens externes en liens Web. Lorsque vous installez la documentation "
+"distribuée (pré-générée), la même application va essayer de retransformer "
+"les liens en liens locaux (là où ces documentations sont installées)."
+
+#: C/gtk-doc-manual.xml:272(title)
+msgid "Getting GTK-Doc"
+msgstr "Obtention de GTK-Doc"
+
+#: C/gtk-doc-manual.xml:275(title)
+msgid "Requirements"
+msgstr "Pré-requis"
+
+#: C/gtk-doc-manual.xml:276(para)
+msgid "<guilabel>Perl v5</guilabel> - the main scripts are in Perl."
+msgstr ""
+"<guilabel>Perl v5</guilabel> - les principaux scripts sont écrits en Perl."
+
+#: C/gtk-doc-manual.xml:279(para)
+msgid ""
+"<guilabel>DocBook DTD v3.0</guilabel> - This is the DocBook SGML DTD. <ulink "
+"url=\"http://www.ora.com/davenport\" type=\"http\">http://www.ora.com/"
+"davenport</ulink>"
+msgstr ""
+"<guilabel>DocBook DTD v3.0</guilabel> - ce sont les DTD DocBook SGML. <ulink "
+"url=\"http://www.ora.com/davenport\" type=\"http\">http://www.ora.com/"
+"davenport</ulink>"
+
+#: C/gtk-doc-manual.xml:283(para)
+msgid ""
+"<guilabel>Jade v1.1</guilabel> - This is a DSSSL processor for converting "
+"SGML to various formats. <ulink url=\"http://www.jclark.com/jade\" type="
+"\"http\">http://www.jclark.com/jade</ulink>"
+msgstr ""
+"<guilabel>Jade v1.1</guilabel> - c'est un moteur DSSSL pour convertir le "
+"SGML en divers formats. <ulink url=\"http://www.jclark.com/jade\" type=\"http"
+"\">http://www.jclark.com/jade</ulink>"
+
+#: C/gtk-doc-manual.xml:287(para)
+msgid ""
+"<guilabel>Modular DocBook Stylesheets</guilabel> This is the DSSSL code to "
+"convert DocBook to HTML (and a few other formats). It's used together with "
+"jade. I've customized the DSSSL code slightly, in gtk-doc.dsl, to colour the "
+"program code listings/declarations, and to support global cross-reference "
+"indices in the generated HTML. <ulink url=\"http://nwalsh.com/docbook/dsssl"
+"\" type=\"http\">http://nwalsh.com/docbook/dsssl</ulink>"
+msgstr ""
+"<guilabel>Modular DocBook Stylesheets</guilabel> - c'est le code DSSSL "
+"utilisé pour convertir de DocBook vers HTML (ainsi que quelques autres "
+"formats). Il est utilisé conjointement avec Jade. J'ai légèrement "
+"personnalisé le code DSSSL, dans gtk-doc.dsl, pour coloriser les listings de "
+"code du programme et les déclarations ainsi que pour prendre en charge les "
+"indices globaux des références croisées dans le HTML généré. <ulink url="
+"\"http://nwalsh.com/docbook/dsssl\" type=\"http\">http://nwalsh.com/docbook/"
+"dsssl</ulink>"
+
+#: C/gtk-doc-manual.xml:296(para)
+msgid ""
+"<guilabel>docbook-to-man</guilabel> - if you want to create man pages from "
+"the DocBook. I've customized the 'translation spec' slightly, to capitalise "
+"section headings and add the 'GTK Library' title at the top of the pages and "
+"the revision date at the bottom. There is a link to this on <ulink url="
+"\"http://www.ora.com/davenport\" type=\"http\">http://www.ora.com/davenport</"
+"ulink> NOTE: This does not work yet."
+msgstr ""
+"<guilabel>docbook-to-man</guilabel> - si vous souhaitez créer des pages de "
+"manuel depuis DocBook. J'ai légèrement adapté les « spécifications de "
+"traduction » pour mettre en majuscule les en-têtes de section et pour "
+"ajouter le titre « GTK Library » en haut des pages et la date de révision en "
+"bas. Il y a un lien sur cela ici <ulink url=\"http://www.ora.com/davenport\" "
+"type=\"http\">http://www.ora.com/davenport</ulink>. Note : cela ne "
+"fonctionne pas encore."
+
+#: C/gtk-doc-manual.xml:307(title)
+msgid "Installation"
+msgstr "Installation"
+
+#: C/gtk-doc-manual.xml:308(para)
+msgid ""
+"There is no standard place where the DocBook Modular Stylesheets are "
+"installed."
+msgstr ""
+"Il n'y a pas d'emplacement standard pour l'installation des feuilles de "
+"styles modulaires de DocBook."
+
+#: C/gtk-doc-manual.xml:311(para)
+msgid "GTK-Doc's configure script searches these 3 directories automatically:"
+msgstr ""
+"Les scripts d'installation de GTK-Doc cherchent dans ces trois répertoires "
+"automatiquement :"
+
+#: C/gtk-doc-manual.xml:314(para)
+msgid ""
+"<filename> /usr/lib/sgml/stylesheets/nwalsh-modular </filename> (used by "
+"RedHat)"
+msgstr ""
+"<filename> /usr/lib/sgml/stylesheets/nwalsh-modular </filename> (utilisé par "
+"Red Hat)"
+
+#: C/gtk-doc-manual.xml:317(para)
+msgid ""
+"<filename> /usr/lib/dsssl/stylesheets/docbook </filename> (used by Debian)"
+msgstr ""
+"<filename> /usr/lib/dsssl/stylesheets/docbook </filename> (utilisé par "
+"Debian)"
+
+#: C/gtk-doc-manual.xml:320(para)
+msgid "<filename> /usr/share/sgml/docbkdsl </filename> (used by SuSE)"
+msgstr "<filename> /usr/share/sgml/docbkdsl </filename> (utilisé par SuSE)"
+
+#: C/gtk-doc-manual.xml:323(para)
+msgid ""
+"If you have the stylesheets installed somewhere else, you need to configure "
+"GTK-Doc using the option: <command> --with-dsssl-dir=<"
+"PATH_TO_TOPLEVEL_STYLESHEETS_DIR> </command>"
+msgstr ""
+"Si les feuilles de styles sont installées autre part, vous devez configurer "
+"GTK-Doc en utilisant l'option : <command>--with-dsssl-dir=<"
+"CHEMIN_VERS_REPERTOIRE_RACINE_FEUILLES2STYLEs></command>."
+
+#: C/gtk-doc-manual.xml:347(title)
+msgid "About GTK-Doc"
+msgstr "À propos de GTK-Doc"
+
+#: C/gtk-doc-manual.xml:349(para) C/gtk-doc-manual.xml:363(para)
+msgid "(FIXME)"
+msgstr "(À COMPLETER)"
+
+#: C/gtk-doc-manual.xml:353(para)
+msgid ""
+"(History, authors, web pages, license, future plans, comparison with other "
+"similar systems.)"
+msgstr ""
+"(Historique, auteurs, pages Web, licence, projets futurs, comparaison avec "
+"des systèmes similaires.)"
+
+#: C/gtk-doc-manual.xml:361(title)
+msgid "About this Manual"
+msgstr "À propos de ce manuel"
+
+#: C/gtk-doc-manual.xml:367(para)
+msgid "(who it is meant for, where you can get it, license)"
+msgstr "(qui est concerné, où le récupérer, licence)"
+
+#: C/gtk-doc-manual.xml:376(title)
+msgid "Setting up your project"
+msgstr "Mise en place de votre projet"
+
+#: C/gtk-doc-manual.xml:378(para)
+msgid ""
+"The next sections describe what steps to perform to integrate GTK-Doc into "
+"your project. Theses sections assume we work on a project called 'meep'. "
+"This project contains a library called 'libmeep' and an end-user app called "
+"'meeper'. We also assume you will be using autoconf and automake. In "
+"addition section <link linkend=\"plain_makefiles\">plain makefiles or other "
+"build systems</link> will describe the basics needed to work in a different "
+"build setup."
+msgstr ""
+"Les sections suivantes décrivent les étapes à suivre pour intégrer GTK-Doc "
+"dans votre projet. Nous allons supposer que vous travaillez sur un projet "
+"appelé « meep ». Ce projet contient une bibliothèque appelée « libmeep » et "
+"une application « meeper ». Nous supposons également que vous utilisez autoconf "
+"et automake. Dans le cas contraire, la section <link linkend=\"plain_makefiles\">"
+"« makefiles » simples et autres systèmes de compilation</link> décrit les éléments "
+"de base à respecter pour travailler dans une autre configuration de construction."
+
+#: C/gtk-doc-manual.xml:389(title)
+msgid "Setting up a skeleton documentation"
+msgstr "Mise en place du squelette de documentation"
+
+#: C/gtk-doc-manual.xml:391(para)
+msgid ""
+"Under your top-level project directory create folders called docs/reference "
+"(this way you can also have docs/help for end-user documentation). It is "
+"recommended to create another subdirectory with the name of the doc-package. "
+"For packages with just one library this step is not necessary."
+msgstr ""
+"Dans le répertoire racine de votre projet, créez les répertoires appelés "
+"docs/reference (de la même façon, vous pouvez avoir docs/help pour la "
+"documentation utilisateur). Il est recommandé de créer un autre sous-"
+"répertoire portant le nom du paquet de documentation. Pour les paquets qui "
+"contiennent seulement une bibliothèque, cette étape n'est pas nécessaire."
+
+#: C/gtk-doc-manual.xml:400(title)
+msgid "Example directory structure"
+msgstr "Exemple d'arborescence de répertoires"
+
+#: C/gtk-doc-manual.xml:398(para)
+msgid "This can then look as shown below: <placeholder-1/>"
+msgstr "Cela peut ressembler à ce qui suit : <placeholder-1/>"
+
+#: C/gtk-doc-manual.xml:418(title) C/gtk-doc-manual.xml:425(title)
+msgid "Integration with autoconf"
+msgstr "Intégration avec autoconf"
+
+#: C/gtk-doc-manual.xml:420(para)
+msgid ""
+"Very easy! Just add one line to your <filename>configure.ac</filename> "
+"script."
+msgstr ""
+"C'est très simple ! Il faut juste ajouter une ligne dans votre script "
+"<filename>configure.ac</filename>."
+
+#: C/gtk-doc-manual.xml:440(title)
+msgid "Keep gtk-doc optional"
+msgstr "Laisser gtk-doc optionnel"
+
+#: C/gtk-doc-manual.xml:435(para)
+msgid ""
+"This will require all developers to have gtk-doc installed. If it is okay "
+"for your project to have optional api-doc build setup, you can solve this as "
+"below. Keep it as is, as gtkdocize is looking for <function>GTK_DOC_CHECK</"
+"function> at the start of a line. <placeholder-1/>"
+msgstr ""
+"Cela impose à tous les développeurs d'installer gtk-doc. Si pour votre "
+"projet, vous pouvez avoir une configuration de construction api-doc "
+"optionnelle, vous pouvez résoudre ce problème comme ci-dessous. Ne le "
+"modifiez pas car gtkdocize recherche <function>GTK_DOC_CHECK</function> au "
+"début d'une ligne. <placeholder-1/>"
+
+#: C/gtk-doc-manual.xml:454(para)
+msgid ""
+"The first argument is used to check for the gtkdocversion at configure time. "
+"The 2nd, optional argument is used by <application>gtkdocize</application>. "
+"The <symbol>GTK_DOC_CHECK</symbol> macro also adds several configure "
+"switches:"
+msgstr ""
+"Le premier argument est utilisé pour vérifier le paramètre gtkdocversion au "
+"moment de la configuration. Le second, en option, est utilisé par "
+"<application>gtkdocize</application>. La macro <symbol>GTK_DOC_CHECK</"
+"symbol> ajoute également plusieurs drapeaux de configuration :"
+
+#: C/gtk-doc-manual.xml:460(para)
+msgid "--with-html-dir=PATH : path to installed docs"
+msgstr ""
+"--with-html-dir=CHEMIN : répertoire d'installation de la documentation,"
+
+#: C/gtk-doc-manual.xml:461(para)
+msgid "--enable-gtk-doc : use gtk-doc to build documentation [default=no]"
+msgstr ""
+"--enable-gtk-doc : utilisation de gtk-doc pour construire la documentation "
+"[par défaut=no],"
+
+#: C/gtk-doc-manual.xml:462(para)
+msgid ""
+"--enable-gtk-doc-html : build documentation in html format [default=yes]"
+msgstr ""
+"--enable-gtk-doc-html : construction de la documentation au format html [par "
+"défaut=yes],"
+
+#: C/gtk-doc-manual.xml:463(para)
+msgid "--enable-gtk-doc-pdf : build documentation in pdf format [default=no]"
+msgstr ""
+"--enable-gtk-doc-pdf : construction de la documentation au format pdf [par "
+"défaut=no]."
+
+#: C/gtk-doc-manual.xml:467(para)
+msgid ""
+"GTK-Doc is disabled by default! Remember to pass the option <option>'--"
+"enable-gtk-doc'</option> to the next <filename>configure</filename> run. "
+"Otherwise pregenerated documentation is installed (which makes sense for "
+"users but not for developers)."
+msgstr ""
+"GTK-Doc est désactivé par défaut ! N'oubliez pas de passer l'option "
+"<option>'--enable-gtk-doc'</option> lors de la prochaine exécution du script "
+"<filename>configure</filename>. Dans le cas contraire, la documentation pré-"
+"générée est installée (ce qui a du sens pour les utilisateurs mais pas pour "
+"les développeurs)."
+
+#: C/gtk-doc-manual.xml:475(para)
+msgid ""
+"Furthermore it is recommended that you have the following line inside you "
+"<filename>configure.ac</filename> script. This allows "
+"<application>gtkdocize</application> to automatically copy the macro "
+"definition for <function>GTK_DOC_CHECK</function> to your project."
+msgstr ""
+"De plus, il est recommandé d'avoir la ligne suivante dans votre script "
+"<filename>configure.ac</filename>. Cela permet à <filename>gtkdocize</"
+"filename> de copier automatiquement les définitions de macro pour "
+"<function>GTK_DOC_CHECK</function> à votre projet."
+
+#: C/gtk-doc-manual.xml:483(title)
+msgid "Preparation for gtkdocize"
+msgstr "Préparation pour gtkdocize"
+
+#: C/gtk-doc-manual.xml:494(title)
+msgid "Integration with automake"
+msgstr "Intégration avec automake"
+
+#: C/gtk-doc-manual.xml:496(para)
+msgid ""
+"First copy the <filename>Makefile.am</filename> from the examples "
+"subdirectory of the gtkdoc-sources to your project's API documentation "
+"directory ( <filename class=\"directory\">./docs/reference/<package></"
+"filename>). If you have multiple doc-packages repeat this for each one."
+msgstr ""
+"Pour commencer, copiez le fichier <filename>Makefile.am</filename> depuis le "
+"sous-répertoire des exemples de gtkdoc-sources vers le répertoire de "
+"documentation d'API du projet (<filename class=\"directory\">./docs/"
+"reference/<paquet></filename>). S'il y a plusieurs paquets de "
+"documentation, répétez cette étape pour chacun d'eux."
+
+#: C/gtk-doc-manual.xml:503(para)
+msgid ""
+"The next step is to edit the settings inside the <filename>Makefile.am</"
+"filename>. All the settings have a comment above that describes their "
+"purpose. Most settings are extra flags passed to the respective tools. Every "
+"tool has a variable of the form <option><TOOLNAME>_OPTIONS</option>. "
+"All the tools support <option>--help</option> to list the supported "
+"parameters."
+msgstr ""
+"L'étape suivante est de modifier les options dans le fichier "
+"<filename>Makefile.am</filename>. Toutes les options sont accompagnées d'un "
+"commentaire au-dessus qui explique leur fonction. La plupart des options "
+"sont des paramètres supplémentaires qui sont passés aux outils respectifs. "
+"Chaque outil possède une variable de la forme <option><NOM_DE_L_OUTIL>"
+"_OPTIONS</option>. Tous les outils prennent en charge l'option <option>--"
+"help</option> qui affiche la liste des options prises en charge."
+
+#. FIXME: explain options ?
+#: C/gtk-doc-manual.xml:514(para)
+msgid ""
+"You may also want to enable GTK-Doc for the distcheck make target. Just add "
+"the one line shown in the next example to your top-level <filename>Makefile."
+"am</filename>:"
+msgstr ""
+"Il est aussi possible d'activer GTK-Doc pour la cible distcheck de make. Il "
+"faut juste ajouter la ligne suivante au fichier <filename>Makefile.am</"
+"filename> du répertoire racine :"
+
+#: C/gtk-doc-manual.xml:521(title)
+msgid "Enable GTK-Doc during make distcheck"
+msgstr "Activation de GTK-Doc pendant le « make distcheck »"
+
+#: C/gtk-doc-manual.xml:533(title)
+msgid "Integration with autogen"
+msgstr "Intégration avec autogen"
+
+#: C/gtk-doc-manual.xml:535(para)
+msgid ""
+"Most projects will have an <filename>autogen.sh</filename> script to setup "
+"the build infrastructure after a checkout from version control system (such "
+"as cvs/svn/git). GTK-Doc comes with a tool called <application>gtkdocize</"
+"application> which can be used in such a script. It should be run before "
+"autoheader, automake or autoconf."
+msgstr ""
+"La plupart des projets possède un script <filename>autogen.sh</filename> "
+"pour configurer l'infrastructure de compilation après un « checkout » depuis "
+"un système de gestion de versions (comme cvs/svn/git). GTK-Doc est livré "
+"avec un outil appelé <filename>gtkdocize</filename>, qui peut être utilisé "
+"dans un script comme celui-ci. Il doit être lancé avant autoheader, automake "
+"ou autoconf."
+
+#: C/gtk-doc-manual.xml:544(title)
+msgid "Running gtkdocize from autogen.sh"
+msgstr "Exécution de gtkdocize depuis autogen.sh"
+
+#: C/gtk-doc-manual.xml:553(para)
+msgid ""
+"When running <application>gtkdocize</application> it copies <filename>gtk-"
+"doc.make</filename> to your project root (or any directory specified by the "
+"<option>--docdir</option> option). It also checks you configure script for "
+"the <function>GTK_DOC_CHECK</function> invocation. This macro can be used to "
+"pass extra parameters to <application>gtkdocize</application>."
+msgstr ""
+"Lorsque <filename>gtkdocize</filename> est exécuté, il copie <filename>gtk-"
+"doc.make</filename> vers le répertoire racine de votre projet (ou tout autre "
+"répertoire désigné par l'option --docdir). Il vérifie également l'invocation "
+"de <function>GTK_DOC_CHECK</function> dans le script configure. Cette macro "
+"peut être utilisée pour transmettre des paramètres supplémentaires à "
+"<application>gtkdocize</application>."
+
+#: C/gtk-doc-manual.xml:562(para)
+msgid ""
+"Historically GTK-Doc was generating template files where developers entered "
+"the docs. This turned out to be not so good (e.g. the need for having "
+"generated files under version control). Since GTK-Doc 1.9 the tools can get "
+"all the information from source comments and thus the templates can be "
+"avoided. We encourage people to keep documentation in the code. "
+"<application>gtkdocize</application> supports now a <option>--flavour no-"
+"tmpl</option> option that chooses a makefile that skips tmpl usage totally. "
+"Besides adding the option directly to the command invocation, they can be "
+"added also to an environment variable called <symbol>GTKDOCIZE_FLAGS</"
+"symbol> or set as a 2nd parameter in <symbol>GTK_DOC_CHECK</symbol> macro in "
+"the configure script. If you have never changed file in tmpl by hand and "
+"migrating from older gtkdoc versions, please remove the dir (e.g. from "
+"version control system)."
+msgstr ""
+"Historiquement, GTK-Doc générait des fichiers prototypes dans lesquels les "
+"développeurs saisissaient la documentation. Il s'est avéré que ce n'était "
+"pas une bonne idée (comme le besoin de placer les fichiers générés dans le "
+"gestionnaire de versions). Depuis GTK-Doc 1.9, les outils peuvent récupérer "
+"toutes les informations à partir des commentaires dans les sources, ce qui "
+"permet d'éviter d'avoir des prototypes. Nous vous encourageons à conserver "
+"la documentation dans le code. <application>gtkdocize</application> prend "
+"maintenant en charge une option <option>--flavour=no-tmpl</option> qui "
+"choisit un makefile qui s'affranchit totalement de l'utilisation des "
+"fichiers prototypes (tmpl). En plus d'ajouter les options directement au "
+"moment de l'appel de la commande, elles peuvent être ajoutées également dans "
+"une variable d'environnement appelée <symbol>GTKDOCIZE_FLAGS</symbol> ou "
+"choisies comme deuxième paramètre dans la macro <symbol>GTK_DOC_CHECK</"
+"symbol> dans le script de configuration. Si aucune modification n'a été "
+"faite à la main dans les fichiers prototypes et si vous migrez à partir "
+"d'anciennes versions de gtkdoc, supprimez le répertoire (par ex. à partir du "
+"système de gestion de versions)."
+
+#: C/gtk-doc-manual.xml:579(title) C/gtk-doc-manual.xml:596(title)
+msgid "Running the doc build"
+msgstr "Lancement de la construction de la documentation"
+
+#: C/gtk-doc-manual.xml:581(para)
+msgid ""
+"After the previous steps it's time to run the build. First we need to rerun "
+"<filename>autogen.sh</filename>. If this script runs configure for you, then "
+"give it the <option>--enable-gtk-doc</option> option. Otherwise manually run "
+"<filename>configure</filename> with this option afterwards."
+msgstr ""
+"Après toutes ces étapes, il est temps de lancer la construction. Tout "
+"d'abord, il faut relancer <filename>autogen.sh</filename>. Si ce script "
+"lance « configure » pour vous, alors il faut ajouter l'option <option>--"
+"enable-gtk-doc</option>, sinon lancez manuellement <filename>configure</"
+"filename> suivi de cette option."
+
+#: C/gtk-doc-manual.xml:588(para)
+msgid ""
+"The first make run generates several additional files in the doc-dirs. The "
+"important ones are: <filename><package>.types</filename>, "
+"<filename><package>-docs.xml</filename> (in the past .sgml), "
+"<filename><package>-sections.txt</filename>."
+msgstr ""
+"La première exécution de make génère plusieurs fichiers supplémentaires dans "
+"les répertoires de documentation (doc-dirs). Les plus importants sont : "
+"<filename><paquet>.types</filename>, <filename><paquet>-docs."
+"xml</filename> (anciennement .sgml), <filename><paquet>-sections.txt</filename>."
+
+#: C/gtk-doc-manual.xml:605(para)
+msgid ""
+"Now you can point your browser to <filename>docs/reference/<package>/"
+"index.html</filename>. Yes, it's a bit disappointing still. But hang-on, "
+"during the next chapter we tell you how to fill the pages with life."
+msgstr ""
+"Maintenant, vous pouvez saisir l'adresse <filename>docs/reference/<"
+"paquet>/index.html</filename> dans votre navigateur. Le résultat est "
+"encore un peu décevant mais le prochain chapitre va expliquer comment donner "
+"de la vie à ces pages."
+
+#: C/gtk-doc-manual.xml:613(title)
+msgid "Integration with version control systems"
+msgstr "Intégration avec des systèmes de gestion de versions"
+
+#: C/gtk-doc-manual.xml:615(para)
+msgid ""
+"As a rule of the thumb, it's those files you edit, that should go under "
+"version control. For typical projects it's these files: <filename><"
+"package>.types</filename>, <filename><package>-docs..xml</filename> "
+"(in the past .sgml), <filename><package>-sections.txt</filename>, "
+"<filename>Makefile.am</filename>"
+msgstr ""
+"Comme le veut la règle de base, ce sont les fichiers que vous modifiez qui "
+"doivent être placés dans le système de gestion de versions. Pour les projets "
+"typiques, ce sont ces fichiers : <filename><paquet>.types</filename>, "
+"<filename><paquet>-docs.xml</filename> (anciennement .sgml), <filename><paquet>-"
+"sections.txt</filename>, <filename>Makefile.am</filename>"
+
+#: C/gtk-doc-manual.xml:626(title)
+msgid "Integration with plain makefiles or other build systems"
+msgstr ""
+"Intégration avec des « makefiles » simples et d'autres systèmes de compilation"
+
+#: C/gtk-doc-manual.xml:628(para)
+msgid ""
+"In the case one does not want to use automake and therfore <filename>gtk-doc."
+"mak</filename> one will need to call the gtkdoc tools in the right order in "
+"own makefiles (or other build tools)."
+msgstr ""
+"Dans les cas où l'emploi de automake n'est pas souhaité et donc sans fichier "
+"<filename>gtk-doc.mak</filename>, il s'agit alors d'appeler les outils gtkdoc "
+"dans le bon ordre dans les fichiers « makefiles » ad hoc (ou d'autres systèmes)."
+
+#: C/gtk-doc-manual.xml:635(title)
+msgid "Documentation build steps"
+msgstr "Étapes de construction de la documentation"
+
+#: C/gtk-doc-manual.xml:652(para)
+msgid ""
+"One will need to look at the <filename>Makefile.am</filename> and "
+"<filename>gtk-doc.mak</filename> to pick the extra options needed."
+msgstr ""
+"Il s'agit d'examiner les fichiers <filename>Makefile.am</filename> et "
+"<filename>gtk-doc.mak</filename> pour y trouver les options supplémentaires "
+"nécessaires."
+
+#: C/gtk-doc-manual.xml:661(title)
+msgid "Documenting the code"
+msgstr "Documentation du code"
+
+#: C/gtk-doc-manual.xml:663(para)
+msgid ""
+"GTK-Doc uses source code comment with a special syntax for code "
+"documentation. Further it retrieves information about your project structure "
+"from other sources. During the next section you will find all information "
+"about the syntax of the comments."
+msgstr ""
+"GTK-Doc utilise les commentaires du code source, avec une syntaxe spéciale "
+"pour la documentation du code. En outre, il récupère des informations sur la "
+"structure de votre projet à partir d'autres sources. La section suivante "
+"vous donne toutes les informations concernant la syntaxe des commentaires."
+
+#: C/gtk-doc-manual.xml:671(title)
+msgid "Documentation placement"
+msgstr "Emplacement de la documentation"
+
+#: C/gtk-doc-manual.xml:672(para)
+msgid ""
+"In the past most documentation had to be filled into files residing inside "
+"the <filename>tmpl</filename> directory. This has the disadvantages that the "
+"information is often not updated and also that the file tend to cause "
+"conflicts with version control systems."
+msgstr ""
+"Par le passé, la plupart de la documentation devait être placé dans des "
+"fichiers dans le répertoire <filename>tmpl</filename>. Les inconvénients "
+"étaient que l'information n'était pas souvent mise à jour et que ces "
+"fichiers avaient tendance à provoquer des conflits avec les systèmes de "
+"gestion de versions."
+
+#: C/gtk-doc-manual.xml:678(para)
+msgid ""
+"The avoid the aforementioned problems we suggest putting the documentation "
+"inside the sources. This manual will only describe this way of documenting "
+"code."
+msgstr ""
+"Pour éviter ces problèmes, il est conseillé de placer la documentation dans "
+"le code source. Ce manuel ne décrit que cette manière de documenter du code."
+
+#: C/gtk-doc-manual.xml:689(title) C/gtk-doc-manual.xml:708(title)
+msgid "GTK-Doc comment block"
+msgstr "Bloc de commentaire GTK-Doc"
+
+#: C/gtk-doc-manual.xml:685(para)
+msgid ""
+"The scanner can handle the majority of c headers fine. In the case of "
+"receiving warnings from the scanner that look like a special case, one can "
+"hint GTK-Doc to skip over them. <placeholder-1/>"
+msgstr ""
+"L'analyse peut prendre en charge de manière correcte la majorité des en-"
+"têtes C. Au cours de l'analyse, en cas d'apparition d'avertissements qui ont "
+"l'air d'être des cas spéciaux, vous pouvez indiquer à GTK-Doc de les passer. "
+"<placeholder-1/>"
+
+#: C/gtk-doc-manual.xml:703(title)
+msgid "Documentation comments"
+msgstr "Commentaires de documentation"
+
+#: C/gtk-doc-manual.xml:705(para)
+msgid ""
+"A multiline comment that starts with an additional '*' marks a documentation "
+"block that will be processed by the GTK-Doc tools. <placeholder-1/>"
+msgstr ""
+"Un commentaire multi-ligne qui commence avec un symbole « * » supplémentaire "
+"indique un bloc de documentation qui sera traité par les outils GTK-Doc. "
+"<placeholder-1/>"
+
+#: C/gtk-doc-manual.xml:720(para)
+msgid ""
+"The 'identifier' is one line with the name of the item the comment is "
+"related to. The syntax differs a little depending on the item. (TODO add "
+"table showing identifiers)"
+msgstr ""
+"L'« identifier » (identifiant) est une ligne contenant le nom de l'élément "
+"avec lequel le commentaire est lié. La syntaxe diffère légèrement en "
+"fonction de l'élément. (À FAIRE : ajouter un tableau montrant les "
+"identifiants)"
+
+#: C/gtk-doc-manual.xml:726(para)
+msgid ""
+"The 'documentation' block is also different for each symbol type. Symbol "
+"types that get parameters such as functions or macros have the parameter "
+"description first followed by a blank line (just a '*'). Afterwards follows "
+"the detailed description. All lines (outside program- listings and CDATA "
+"sections) just containing a ' *' (blank-asterisk) are converted to paragraph "
+"breaks. If you don't want a paragraph break, change that into ' * ' (blank-"
+"asterisk-blank-blank)."
+msgstr ""
+"Le bloc « documentation » est aussi différent pour chaque type de symbole. "
+"Les type de symbole qui prennent des paramètres comme les fonctions ou les "
+"macros commencent par une description des paramètres suivie par une ligne "
+"blanche (juste un « * »). Ensuite, vient la description détaillée. Toutes les "
+"lignes (à l'exception des sections de code et des sections CDATA) contenant "
+"seulement un « * » (espace-astérisque) sont converties en saut de "
+"paragraphe. Si vous ne désirez pas de saut de paragraphe, modifiez-les en "
+"« * » (espace-astérisque-espace-espace)."
+
+#: C/gtk-doc-manual.xml:742(para)
+msgid ""
+"What it is: The name for a class or function can sometimes be misleading for "
+"people coming from a different background."
+msgstr ""
+"Ce que c'est : le nom d'une classe ou d'une fonction peut parfois être trompeur "
+"pour les personnes habituées à d'autres environnements."
+
+#: C/gtk-doc-manual.xml:748(para)
+msgid ""
+"What it does: Tell about common uses. Put it in releation with the other API."
+msgstr ""
+"Ce qu'il fait : indiquer les usages courants. À mettre en relation avec les "
+"autres API."
+
+#: C/gtk-doc-manual.xml:738(para)
+msgid "When documenting code, describe two apsects: <placeholder-1/>"
+msgstr "En documentant le code, deux aspects doivent être abordés : <placeholder-1/>"
+
+#: C/gtk-doc-manual.xml:763(para)
+msgid "Use function() to refer to functions or macros which take arguments."
+msgstr ""
+"Utilisez fonction() pour vous référer à des fonctions ou des macros qui "
+"prennent des arguments."
+
+#: C/gtk-doc-manual.xml:768(para)
+msgid ""
+"Use @param to refer to parameters. Also use this when referring to "
+"parameters of other functions, related to the one being described."
+msgstr ""
+"Utilisez @paramètre pour vous référer aux paramètres. Utilisez-le aussi pour "
+"les paramètres d'autres fonctions, en relation avec celle décrite."
+
+#: C/gtk-doc-manual.xml:774(para)
+msgid "Use %constant to refer to a constant, e.g. %G_TRAVERSE_LEAFS."
+msgstr ""
+"Utilisez %constante pour vous référer à une constante, par ex. : %"
+"MA_CONSTANTE."
+
+#: C/gtk-doc-manual.xml:779(para)
+msgid ""
+"Use #symbol to refer to other types of symbol, e.g. structs and enums and "
+"macros which don't take arguments."
+msgstr ""
+"Utilisez #symbole pour vous référer à d'autres types de symbole. Par exemple "
+"des structures, énumérations ou macros qui ne prennent pas d'arguments."
+
+#: C/gtk-doc-manual.xml:785(para)
+msgid "Use #Object::signal to refer to a GObject signal"
+msgstr "Utilisez #Objet::signal pour vous référer à un signal GObject."
+
+#: C/gtk-doc-manual.xml:790(para)
+msgid "Use #Object:property to refer to a GObject property"
+msgstr "Utilisez #Objet::propriété pour vous référer à une propriété GObject."
+
+#: C/gtk-doc-manual.xml:795(para)
+msgid "Use #Struct.field to refer to a field inside a structure."
+msgstr "Utilisez #Structure.champ pour vous référer au champ d'une stucture."
+
+#: C/gtk-doc-manual.xml:757(para)
+msgid ""
+"One advantage of hyper-text over plain-text is the ability to have links in "
+"the document. Writing the correct markup for a link can be tedious though. "
+"GTK-Doc comes to help by providing several useful abbreviations. "
+"<placeholder-1/>"
+msgstr ""
+"L'un des avantages de l'hypertexte par rapport au texte simple, c'est la "
+"possibilité d'avoir des liens dans les documents. Écrire correctement le "
+"balisage d'un lien peut être fastidieux. GTK-Doc fournit plusieurs "
+"raccourcis utiles pour vous aider. <placeholder-1/>"
+
+#: C/gtk-doc-manual.xml:803(para)
+msgid ""
+"If you need to use the special characters '<', '>', '()', '@', '%', or "
+"'#' in your documentation without GTK-Doc changing them you can use the XML "
+"entities \"&lt;\", \"&gt;\", \"&lpar;\", \"&rpar;\", \"&"
+"commat;\", \"&percnt;\" and \"&num;\" respectively or escape them "
+"with a backslash '\\'."
+msgstr ""
+"Si vous avez besoin d'utiliser les caractères spéciaux « '<', '> », "
+"« () », « @ », « % » ou « # » dans votre documentation sans que GTK-Doc ne les "
+"interprète, vous pouvez utiliser les entités XML « &lt; », « &gt; », "
+"« &lpar; », « &rpar; », « &commat; », « &percnt; », « &num; » "
+"ou les échapper en les précédant d'un antislash « \\ »."
+
+#: C/gtk-doc-manual.xml:812(para)
+msgid ""
+"DocBook can do more than just links. One can also have lists, tables and "
+"examples. To enable the usage of docbook SGML/XML tags inside doc-comments "
+"you need to have <option>--xml-mode</option> or <option>--sgml-mode</option> "
+"in the variable <symbol>MKDB_OPTIONS</symbol> inside <filename>Makefile.am</"
+"filename>."
+msgstr ""
+"DocBook peut faire plus que des liens. Il peut aussi générer des listes, des "
+"tableaux et des exemples. Pour activer l'utilisation des balises SGML/XML DocBook "
+"dans les commentaires de documentation, vous devez avoir une des options "
+"<option>--xml-mode</option> ou <option>--sgml-mode</option> dans la variable "
+"<symbol>MKDB_OPTIONS</symbol> du fichier <filename>Makefile.am</filename>."
+
+#: C/gtk-doc-manual.xml:826(title)
+msgid "GTK-Doc comment block using markdown"
+msgstr "Bloc de commentaire GTK-Doc utilisant la syntaxe markdown"
+
+#: C/gtk-doc-manual.xml:820(para)
+msgid ""
+"Since GTK-Doc-1.18 the tool supports a subset or the <ulink url=\"http://"
+"daringfireball.net/projects/markdown/\">markdown language</ulink>. One can "
+"use it for sub-headings and simple itemized lists. On older GTK-Doc versions "
+"the content will be rendered as it (the list items will appear in one line "
+"separated by dashes). <placeholder-1/>"
+msgstr ""
+"À partir de GTK-Doc 1.18, il est possible d'utiliser un sous-ensemble de la "
+"<ulink url=\"http://daringfireball.net/projects/markdown/\">syntaxe markdown</"
+"ulink>. On peut l'utiliser pour les sous-titres et les listes à puces simples. "
+"Dans des versions plus anciennes de GTK-Doc, le contenu est affiché tel quel "
+"(les éléments d'une liste sont affichés sur une seule ligne, séparés par des "
+"tirets). <placeholder-1/>"
+
+#: C/gtk-doc-manual.xml:848(para)
+msgid ""
+"As already mentioned earlier GTK-Doc is for documenting public API. Thus one "
+"cannot write documentation for static symbols. Nevertheless it is good to "
+"comment those symbols too. This helps other to understand you code. "
+"Therefore we recommend to comment these using normal comments (without the "
+"2nd '*' in the first line). If later the function needs to be made public, "
+"all one needs to do is to add another '*' in the comment block and insert "
+"the symbol name at the right place inside the sections file."
+msgstr ""
+"Comme indiqué plus tôt, GTK-Doc est fait pour documenter les API publiques. "
+"On ne peut donc pas écrire de la documentation pour les symboles statiques. "
+"Néanmoins, il est bon de commenter ces symboles aussi. Cela aide les autres "
+"à comprendre votre code. Par conséquent, nous recommandons de les documenter "
+"à l'aide de commentaires normaux (sans le second « * » à la première ligne). "
+"Si, plus tard, la fonction doit être rendue publique, il suffira juste "
+"d'ajouter un « * » dans le bloc de commentaires et d'ajouter le nom du "
+"symbole à la bonne place à l'intérieur du fichier des sections."
+
+#: C/gtk-doc-manual.xml:862(title)
+msgid "Documenting sections"
+msgstr "Documentation des sections"
+
+#: C/gtk-doc-manual.xml:864(para)
+msgid ""
+"Each section of the documentation contains information about one class or "
+"module. To introduce the component one can write a section block. The short "
+"description is also used inside the table of contents. All the @fields are "
+"optional."
+msgstr ""
+"Chaque section de la documentation contient des informations sur une classe "
+"ou un module. Pour introduire le composant, il est possible d'écrire un bloc "
+"de section. La description courte est également utilisée dans la table des "
+"matières. Tous les @champs sont facultatifs."
+
+#: C/gtk-doc-manual.xml:872(title)
+msgid "Section comment block"
+msgstr "Bloc de commentaires de section"
+
+#: C/gtk-doc-manual.xml:894(term)
+msgid "SECTION:<name>"
+msgstr "SECTION:<nom>"
+
+#: C/gtk-doc-manual.xml:896(para)
+msgid ""
+"The name links the section documentation to the respective part in the "
+"<filename><package>-sections.txt</filename> file. The name give here "
+"should match the <FILE> tag in the <filename><package>-sections."
+"txt</filename> file."
+msgstr ""
+"Le nom relie la section de la documentation à la partie respective dans le "
+"fichier <filename><package>-sections.txt</filename>. Le nom fourni ici "
+"doit correspondre à la balise <FILE> du fichier <filename><"
+"package>-sections.txt</filename>."
+
+#: C/gtk-doc-manual.xml:905(term)
+msgid "@short_description"
+msgstr "@short_description"
+
+#: C/gtk-doc-manual.xml:907(para)
+msgid ""
+"A one line description of the section, that later will appear after the "
+"links in the TOC and at the top of the section page."
+msgstr ""
+"Une description de la section en une seule ligne, elle apparaîtra derrière "
+"les liens dans la table des matières et au début de la page de la section."
+
+#: C/gtk-doc-manual.xml:914(term)
+msgid "@title"
+msgstr "@title"
+
+#: C/gtk-doc-manual.xml:916(para)
+msgid ""
+"The section title defaults to <name> from the SECTION declaration. It "
+"can be overridden with the @title field."
+msgstr ""
+"Par défaut, la section titre est celle de la déclaration SECTION: <"
+"nom>. Elle peut être modifiée grâce au champ @title."
+
+#: C/gtk-doc-manual.xml:923(term)
+msgid "@section_id"
+msgstr "@section_id"
+
+#: C/gtk-doc-manual.xml:925(para)
+msgid ""
+"Overrides the use of title as a section identifier. For GObjects the <"
+"title> is used as a section_id and for other sections it is <"
+"MODULE>-<title>."
+msgstr ""
+"Remplace l'utilisation du titre comme identificateur de section. Pour "
+"GObjects, <title> est utilisé à la place de section_id et pour les "
+"autres sections, c'est <MODULE>-<title>."
+
+#: C/gtk-doc-manual.xml:933(term)
+msgid "@see_also"
+msgstr "@see_also"
+
+#: C/gtk-doc-manual.xml:935(para)
+msgid "A list of symbols that are related to this section."
+msgstr "Une liste de symboles qui ont un lien avec cette section."
+
+#: C/gtk-doc-manual.xml:941(term)
+msgid "@stability"
+msgstr "@stability"
+
+#: C/gtk-doc-manual.xml:948(para)
+msgid ""
+"Stable - The intention of a Stable interface is to enable arbitrary third "
+"parties to develop applications to these interfaces, release them, and have "
+"confidence that they will run on all minor releases of the product (after "
+"the one in which the interface was introduced, and within the same major "
+"release). Even at a major release, incompatible changes are expected to be "
+"rare, and to have strong justifications."
+msgstr ""
+"« Stable » - L'intention d'une interface stable est de permettre à des "
+"parties tierces de développer des applications pour ces interfaces, de les "
+"distribuer et d'avoir l'assurance qu'elles fonctionneront avec toutes les "
+"versions mineures du produit (après celle où l'interface a été introduite et "
+"pour le même numéro de version majeur). De plus, à chaque version majeure, "
+"les modifications incompatibles doivent être rares et être sérieusement "
+"justifiées."
+
+#: C/gtk-doc-manual.xml:960(para)
+msgid ""
+"Unstable - Unstable interfaces are experimental or transitional. They are "
+"typically used to give outside developers early access to new or rapidly "
+"changing technology, or to provide an interim solution to a problem where a "
+"more general solution is anticipated. No claims are made about either source "
+"or binary compatibility from one minor release to the next."
+msgstr ""
+"« Unstable » - Les interfaces instables sont expérimentales ou en transition. "
+"Elles sont généralement utilisées pour que les développeurs extérieurs aient "
+"un accès précoce aux technologies nouvelles ou en évolution rapide, ou de "
+"fournir une solution temporaire à un problème pour lequel une solution plus "
+"générale est prévue. Aucune exigence n'est demandée à propos de la "
+"compatibilité binaire ou de celle des sources, d'une version mineure à "
+"l'autre."
+
+#: C/gtk-doc-manual.xml:972(para)
+msgid ""
+"Private - An interface that can be used within the GNOME stack itself, but "
+"that is not documented for end-users. Such functions should only be used in "
+"specified and documented ways."
+msgstr ""
+"« Private » - C'est une interface qui peut être utilisée dans le noyau GNOME "
+"lui-même, mais qui n'est pas documentée pour les utilisateurs finaux. Ce "
+"type de fonctions ne doit être utilisé que dans des cas spécifiques et "
+"documentés."
+
+#: C/gtk-doc-manual.xml:981(para)
+msgid ""
+"Internal - An interface that is internal to a module and does not require "
+"end-user documentation. Functions that are undocumented are assumed to be "
+"Internal."
+msgstr ""
+"« Internal » - C'est une interface qui est interne à un module et qui ne "
+"nécessite pas de documentation pour l'utilisateur final. Les fonctions non "
+"documentées sont considérées comme internes."
+
+#: C/gtk-doc-manual.xml:943(para)
+msgid ""
+"A informal description of the stability level this API has. We recommend the "
+"use of one of these terms: <placeholder-1/>"
+msgstr ""
+"Une description informelle du niveau de stabilité de cet API. Il est "
+"recommandé d'utiliser l'un de ces termes : <placeholder-1/>"
+
+#: C/gtk-doc-manual.xml:993(term)
+msgid "@include"
+msgstr "@include"
+
+#: C/gtk-doc-manual.xml:995(para)
+msgid ""
+"The <literal>#include</literal> files to show in the section synopsis (a "
+"comma separated list), overriding the global value from the <link linkend="
+"\"metafiles_sections\">section file</link> or command line. This item is "
+"optional."
+msgstr ""
+"Les fichiers <literal>#include</literal> à afficher dans le résumé de la "
+"section (liste d'éléments séparés par des virgules), elle outrepasse la "
+"valeur globale du <link linkend=\"metafiles_sections\">fichier de section</"
+"link> ou de la ligne de commande. Cet élément est facultatif."
+
+#: C/gtk-doc-manual.xml:1004(term)
+msgid "@image"
+msgstr "@image"
+
+#: C/gtk-doc-manual.xml:1006(para)
+msgid ""
+"The image to display at the top of the reference page for this section. This "
+"will often be some sort of a diagram to illustrate the visual appearance of "
+"a class or a diagram of its relationship to other classes. This item is "
+"optional."
+msgstr ""
+"L'image à afficher en haut de la page de référence pour cette section. C'est "
+"très souvent une espèce de diagramme pour illustrer l'apparence visuelle "
+"d'une classe ou un diagramme de ses relations avec d'autres classes. Cet "
+"élément est facultatif."
+
+#: C/gtk-doc-manual.xml:1017(para)
+msgid ""
+"To avoid unnecessary recompilation after doc-changes put the section docs "
+"into the c-source where possible."
+msgstr ""
+"Pour éviter des recompilations inutiles après des modifications de la "
+"documentation, placez la documentation de section dans les fichiers sources "
+"C, lorsque cela est possible."
+
+#: C/gtk-doc-manual.xml:1026(title)
+msgid "Documenting symbols"
+msgstr "Documentation des symboles"
+
+#: C/gtk-doc-manual.xml:1028(para)
+msgid ""
+"Each symbol (function, macro, struct, enum, signal and property) is "
+"documented in a separate block. The block is best placed close to the "
+"definition of the symbols so that it is easy to keep them in sync. Thus "
+"functions are usually documented in the c-source and macros, structs and "
+"enums in the header file."
+msgstr ""
+"Chaque symbole (fonction, macro, structure, énumération, signal et "
+"propriété) est documenté dans un bloc séparé. Il est mieux de placer le bloc "
+"près de la définition de son symbole pour faciliter sa synchronisation. Par "
+"conséquent, les fonctions sont habituellement documentées dans les fichiers "
+"sources C et les macros et les structures et les énumérations le sont dans "
+"le fichier d'en-tête."
+
+#: C/gtk-doc-manual.xml:1036(title) C/gtk-doc-manual.xml:1065(title)
+msgid "General tags"
+msgstr "Étiquettes générales"
+
+#: C/gtk-doc-manual.xml:1038(para)
+msgid ""
+"You can add versioning information to all documentation elements to tell "
+"when an api was introduced, or when it was deprecated."
+msgstr ""
+"Vous pouvez ajouter des informations de version à tous les éléments de "
+"documentation pour indiquer quand l'api a été introduite ou quand elle est "
+"devenue obsolète."
+
+#: C/gtk-doc-manual.xml:1043(title)
+msgid "Versioning Tags"
+msgstr "Étiquettes de version"
+
+#: C/gtk-doc-manual.xml:1044(term)
+msgid "Since:"
+msgstr "« Since »:"
+
+#: C/gtk-doc-manual.xml:1046(para)
+msgid "Description since which version of the code the API is available."
+msgstr ""
+"Texte indiquant depuis quelle version du code cette API est disponible."
+
+#: C/gtk-doc-manual.xml:1051(term)
+msgid "Deprecated:"
+msgstr "« Deprecated » :"
+
+#: C/gtk-doc-manual.xml:1053(para)
+msgid ""
+"Paragraph denoting that this function should no be used anymore. The "
+"description should point the reader to the new API."
+msgstr ""
+"Texte indiquant que cette fonction ne doit plus être utilisée. La "
+"description doit rediriger le lecteur vers la nouvelle API."
+
+#: C/gtk-doc-manual.xml:1061(para)
+msgid "(FIXME : Stability information)"
+msgstr "(FIXME : informations de stabilité)"
+
+#: C/gtk-doc-manual.xml:1088(title) C/gtk-doc-manual.xml:1124(title)
+msgid "Function comment block"
+msgstr "Bloc de commentaires pour les fonctions"
+
+#: C/gtk-doc-manual.xml:1094(para)
+msgid ""
+"Document whether returned objects, lists, strings, etc, should be freed/"
+"unrefed/released."
+msgstr ""
+"d'indiquer si les objets, listes, chaînes, etc. retournés doivent être freed/"
+"unfreed/released,"
+
+#: C/gtk-doc-manual.xml:1100(para)
+msgid "Document whether parameters can be NULL, and what happens if they are."
+msgstr ""
+"d'indiquer si les paramètres peuvent être NULL et ce qui se passe dans ce "
+"cas,"
+
+#: C/gtk-doc-manual.xml:1105(para)
+msgid ""
+"Mention interesting pre-conditions and post-conditions where appropriate."
+msgstr ""
+"de mentionner les pré-conditions et post-conditions intéressantes si "
+"nécessaire."
+
+#: C/gtk-doc-manual.xml:1090(para) C/gtk-doc-manual.xml:1187(para)
+msgid "Please remember to: <placeholder-1/>"
+msgstr "N'oubliez pas : <placeholder-1/>"
+
+#: C/gtk-doc-manual.xml:1112(para)
+msgid ""
+"Gtk-doc assumes all symbols (macros, functions) starting with '_' are "
+"private. They are treated like static functions."
+msgstr ""
+"GTK-Doc considère que tous les symboles (macros, fonctions) commençant par "
+"« _ » sont privés. Ils sont traités comme des fonctions statiques."
+
+#: C/gtk-doc-manual.xml:1117(para)
+msgid ""
+"Also, take a look at gobject introspection annotation tags: http://live."
+"gnome.org/GObjectIntrospection/Annotations"
+msgstr ""
+"Jetez un coup d'œil aux étiquettes d'annotation de l'introspection gobject : "
+"http://live.gnome.org/GObjectIntrospection/Annotations"
+
+#: C/gtk-doc-manual.xml:1148(title)
+msgid "Function tags"
+msgstr "Étiquettes de fonction"
+
+#: C/gtk-doc-manual.xml:1149(term)
+msgid "Returns:"
+msgstr "« Returns » :"
+
+#: C/gtk-doc-manual.xml:1151(para)
+msgid "Paragraph describing the returned result."
+msgstr "Paragraphe décrivant le résultat retourné."
+
+#: C/gtk-doc-manual.xml:1156(term)
+msgid "@...:"
+msgstr "@...:"
+
+#: C/gtk-doc-manual.xml:1158(para)
+msgid ""
+"In case the function has variadic arguments, you should use this tag "
+"(@Varargs: does also work for historic reasons)."
+msgstr ""
+"Au cas où la fonction possède des arguments variables, vous devriez utiliser "
+"cette étiquette (@Varargs : peut également être utilisé pour des raisons "
+"historiques)."
+
+#: C/gtk-doc-manual.xml:1168(title) C/gtk-doc-manual.xml:1170(title)
+msgid "Property comment block"
+msgstr "Bloc de commentaires pour les propriétés"
+
+#: C/gtk-doc-manual.xml:1185(title) C/gtk-doc-manual.xml:1204(title)
+msgid "Signal comment block"
+msgstr "Bloc de commentaires pour les signaux"
+
+#: C/gtk-doc-manual.xml:1191(para)
+msgid ""
+"Document when the signal is emitted and whether it is emitted before or "
+"after other signals."
+msgstr ""
+"d'indiquer quand le signal est émis et s'il est émis avant ou après d'autres "
+"signaux,"
+
+#: C/gtk-doc-manual.xml:1197(para)
+msgid "Document what an application might do in the signal handler."
+msgstr ""
+"d'indiquer ce qu'une application peut faire dans le gestionnaire du signal."
+
+#: C/gtk-doc-manual.xml:1224(title) C/gtk-doc-manual.xml:1225(title)
+msgid "Struct comment block"
+msgstr "Bloc de commentaire pour les structures"
+
+#: C/gtk-doc-manual.xml:1245(para)
+msgid ""
+"Use <code>/*< private >*/</code> before the private struct fields you "
+"want to hide. Use <code>/*< public >*/</code> for the reverse "
+"behaviour."
+msgstr ""
+"Utilisez <code>/*< private >*/</code> avant les champs de structures "
+"privées que vous voulez cacher. Utilisez <code>/*< public >*/</code> "
+"dans le cas contraire."
+
+#: C/gtk-doc-manual.xml:1251(para)
+msgid ""
+"Struct comment blocks can also be used for GObjects and GObjectClasses. It "
+"is usualy a good idea to add a comment blco for a class, if it has vmethods "
+"(as this is how they can be documented). For the GObject itself one can use "
+"the related section docs, having a separate block for the instance struct "
+"would be useful if the instance has public fields. One disadvantage here is "
+"that this creates two index entries of the same name (the structure and the "
+"section)."
+msgstr ""
+"Les blocs de commentaire pour les structures peuvent aussi être utilisés "
+"avec GObjects et GObjectClasses. Il est normalement recommandé d'ajouter un "
+"bloc de commentaire pour une classe, si elle contient des vmethods (car "
+"c'est la manière de les documenter). Pour GObject, il est possible "
+"d'utiliser la documentation de section correspondante ; la présence d'un "
+"bloc séparé pour la structure de l'instance serait utile si l'instance "
+"possède des champs publics. Le désavantage ici étant que cela crée deux "
+"entrées d'index pour le même nom (la structure et la section)."
+
+#: C/gtk-doc-manual.xml:1263(title) C/gtk-doc-manual.xml:1264(title)
+msgid "Enum comment block"
+msgstr "Bloc de commentaire pour les énumérations"
+
+#: C/gtk-doc-manual.xml:1285(para)
+msgid ""
+"Use <code>/*< private >*/</code> before the private enum values you "
+"want to hide. Use <code>/*< public >*/</code> for the reverse "
+"behaviour."
+msgstr ""
+"Utilisez <code>/*< private >*/</code> avant les valeurs d'énumérations "
+"privées que vous voulez cacher. Utilisez <code>/*< public >*/</code> "
+"dans le cas contraire."
+
+#: C/gtk-doc-manual.xml:1295(title)
+msgid "Useful DocBook tags"
+msgstr "Balises DocBook utiles"
+
+#: C/gtk-doc-manual.xml:1297(para)
+msgid ""
+"Here are some DocBook tags which are most useful when documenting the code."
+msgstr ""
+"Voici quelques balises DocBook très utiles pendant la conception de la "
+"documentation d'un code."
+
+#: C/gtk-doc-manual.xml:1302(para)
+msgid ""
+"To link to another section in the GTK docs: <placeholder-1/> The linkend is "
+"the SGML/XML id on the top item of the page you want to link to. For most "
+"pages this is currently the part (\"gtk\", \"gdk\", \"glib\") and then the "
+"page title (\"Hash Tables\"). For widgets it is just the class name. Spaces "
+"and underscores are converted to '-' to conform to SGML/XML."
+msgstr ""
+"Pour créer un lien vers une autre section dans la documentation GTK : "
+"<placeholder-1/> l'élément « linkend » est l'identifiant SGML/XML de "
+"l'élément le plus haut sur la page vers laquelle vous voulez pointer. Pour "
+"la plupart des pages, c'est en général la partie (« gtk », « gdk », « glib ») "
+"suivi du titre de la page (« Hash Tables »). Pour les éléments graphiques, "
+"c'est simplement le nom de la classe. Les espaces et les caractères de "
+"soulignement sont convertis en « - » pour être conforme au SGML/XML."
+
+#: C/gtk-doc-manual.xml:1318(para)
+msgid ""
+"To refer to an external function, e.g. a standard C function: <placeholder-1/"
+">"
+msgstr ""
+"Pour faire référence à une fonction externe comme, par exemple, à une "
+"fonction C standard : <placeholder-1/>"
+
+#: C/gtk-doc-manual.xml:1329(para)
+msgid ""
+"To include example code: <placeholder-1/> or possibly this, for very short "
+"code fragments which don't need a title: <placeholder-2/> For the latter GTK-"
+"Doc also supports an abbreviation: <![CDATA[\n"
+"|[\n"
+" ...\n"
+"]|\n"
+"]]>"
+msgstr ""
+"Pour inclure des extraits de code : <placeholder-1/> ou ceci, pour des "
+"petits fragments de code qui ne nécessitent pas de titre : <placeholder-2/> "
+"Pour ces derniers, GTK-Doc prend également en charge une abréviation : <!"
+"[CDATA[\n"
+"|[\n"
+" ...\n"
+"]|\n"
+"]]>"
+
+#: C/gtk-doc-manual.xml:1363(para)
+msgid "To include bulleted lists: <placeholder-1/>"
+msgstr "Pour ajouter une liste à puces : <placeholder-1/>"
+
+#: C/gtk-doc-manual.xml:1385(para)
+msgid "To include a note which stands out from the text: <placeholder-1/>"
+msgstr "Pour ajouter une note de bas de page : <placeholder-1/>"
+
+#: C/gtk-doc-manual.xml:1400(para)
+msgid "To refer to a type: <placeholder-1/>"
+msgstr "Pour se référer à un type : <placeholder-1/>"
+
+#: C/gtk-doc-manual.xml:1411(para)
+msgid ""
+"To refer to an external structure (not one described in the GTK docs): "
+"<placeholder-1/>"
+msgstr ""
+"Pour se référer à une structure externe (non décrite dans la documentation "
+"GTK) : <placeholder-1/>"
+
+#: C/gtk-doc-manual.xml:1422(para)
+msgid "To refer to a field of a structure: <placeholder-1/>"
+msgstr "Pour se référer à un champ d'une structure : <placeholder-1/>"
+
+#: C/gtk-doc-manual.xml:1433(para)
+msgid ""
+"To refer to a class name, we could possibly use: <placeholder-1/> but you'll "
+"probably be using #GtkWidget instead (to automatically create a link to the "
+"GtkWidget page - see <link linkend=\"documenting_syntax\">the abbreviations</"
+"link>)."
+msgstr ""
+"Pour se référer au nom d'une classe, il est possible d'utiliser : "
+"<placeholder-1/> mais vous utiliserez probablement #GtkWidget à la place "
+"(pour créer automatiquement un lien vers la page GtkWidget - consultez <link "
+"linkend=\"documenting_syntax\">les raccourcis</link>)."
+
+#: C/gtk-doc-manual.xml:1446(para)
+msgid "To emphasize text: <placeholder-1/>"
+msgstr "Pour mettre en évidence un texte : <placeholder-1/>"
+
+#: C/gtk-doc-manual.xml:1457(para)
+msgid "For filenames use: <placeholder-1/>"
+msgstr "Pour les noms de fichiers : <placeholder-1/>"
+
+#: C/gtk-doc-manual.xml:1468(para)
+msgid "To refer to keys use: <placeholder-1/>"
+msgstr "Pour se référer à des touches : <placeholder-1/>"
+
+#: C/gtk-doc-manual.xml:1483(title)
+msgid "Filling the extra files"
+msgstr "Remplissage des fichiers supplémentaires"
+
+#: C/gtk-doc-manual.xml:1485(para)
+msgid ""
+"There are a couple of extra files, that need to be maintained along with the "
+"inline source code comments: <filename><package>.types</filename>, "
+"<filename><package>-docs.xml</filename> (in the past .sgml), "
+"<filename><package>-sections.txt</filename>."
+msgstr ""
+"Il y a plusieurs fichiers supplémentaires, qui ont besoin d'être maintenus "
+"en parallèle aux commentaires dans le code source : <filename><"
+"package>.types</filename>, <filename><package>-docs.xml</"
+"filename> (anciennement .sgml), <filename><package>-sections.txt</filename>."
+
+#: C/gtk-doc-manual.xml:1494(title)
+msgid "Editing the types file"
+msgstr "Édition du fichier « types »"
+
+#: C/gtk-doc-manual.xml:1496(para)
+msgid ""
+"If your library or application includes GtkObjects/GObjects, you want their "
+"signals, arguments/parameters and position in the hierarchy to be shown in "
+"the documentation. All you need to do, is to list the "
+"<function>xxx_get_type</function> functions together with their include "
+"inside the <filename><package>.types</filename> file."
+msgstr ""
+"Si votre bibliothèque ou application contient des GtkObjects ou GObjects, "
+"vous voudrez que leurs signaux, arguments/paramètres et position dans la "
+"hiérarchie soient affichés dans la documentation. Il vous suffit juste de "
+"lister les fonctions <function>xxx_get_type</function> ainsi que leur "
+"fichier inclus dans le fichier <filename><package>.types</filename>."
+
+#: C/gtk-doc-manual.xml:1505(title)
+msgid "Example types file snippet"
+msgstr "Extrait d'un exemple de fichier « types »"
+
+#: C/gtk-doc-manual.xml:1519(para)
+msgid ""
+"Since GTK-Doc 1.8 <application>gtkdoc-scan</application> can generate this "
+"list for you. Just add \"--rebuild-types\" to SCAN_OPTIONS in "
+"<filename>Makefile.am</filename>. If you use this approach you should not "
+"dist the types file nor have it under version control."
+msgstr ""
+"Depuis GTK-Doc 1.8, <application>gtkdoc-scan</application> peut générer "
+"cette liste pour vous. Ajoutez simplement l'option « --rebuild-types » à "
+"SCAN_OPTIONS dans le fichier <filename>Makefile.am</filename>. Si vous "
+"utilisez cette approche vous ne devriez pas distribuer le fichier « types », "
+"ni l'avoir dans le système de gestion de versions."
+
+#: C/gtk-doc-manual.xml:1528(title)
+msgid "Editing the master document"
+msgstr "Édition du document maître"
+
+#: C/gtk-doc-manual.xml:1530(para)
+msgid ""
+"GTK-Doc produces documentation in DocBook SGML/XML. When processing the "
+"inline source comments, the GTK-Doc tools generate one documentation page "
+"per class or module as a separate file. The master document includes them "
+"and place them in an order."
+msgstr ""
+"GTK-Doc génère de la documentation au format SGML/XML DocBook. Lors du "
+"traitement des commentaires dans les fichiers sources, les outils GTK-Doc "
+"génèrent une page de documentation par classe ou par module dans un fichier "
+"séparé. Le document maître les inclut et les place dans l'ordre."
+
+#: C/gtk-doc-manual.xml:1537(para)
+msgid ""
+"While GTK-Doc creates a template master document for you, later run will not "
+"touch it again. This means that one can freely structure the documentation. "
+"That includes grouping pages and adding extra pages. GTK-Doc has now a test "
+"suite, where also the master-document is recreated from scratch. Its a good "
+"idea to look at this from time to time to see if there are some new goodies "
+"introduced there."
+msgstr ""
+"Une fois que GTK-Doc a créé un prototype de document maître pour vous, il ne "
+"va plus y toucher par la suite. Vous pouvez ainsi structurer votre "
+"documentation comme vous l'entendez. Vous pouvez regrouper des pages et en "
+"ajouter. GTK-Doc possède maintenant une panoplie de tests, dans laquelle "
+"même le document maître est recréé à partir de zéro. C'est une bonne idée de "
+"regarder cela de temps en temps pour voir s'il n'y a pas des nouveautés "
+"intéressantes."
+
+#: C/gtk-doc-manual.xml:1547(para)
+msgid ""
+"Do not create tutorials as extra documents. Just write extra chapters. The "
+"benefit of directly embedding the tutorial for your library into the API "
+"documentation is that it is easy to link for the tutorial to symbol "
+"documentation. Apart chances are higher that the tutorial gets updates along "
+"with the library."
+msgstr ""
+"Ne créez pas de tutoriels comme documents supplémentaires. Écrivez juste des "
+"chapitres supplémentaires. L'avantage d'inclure le tutoriel de votre "
+"bibliothèque directement dans la documentation de l'API est qu'il est facile "
+"d'y ajouter des liens qui pointent vers la documentation des symboles. De "
+"plus, il y aura plus de chance que votre tutoriel soit mis à jour en même "
+"temps que la bibliothèque."
+
+#: C/gtk-doc-manual.xml:1556(para)
+msgid ""
+"So what are the things to change inside the master document? For a start is "
+"only a little. There are some placeholders (text in square brackets) there "
+"which you should take care of."
+msgstr ""
+"Alors, quelles sont les choses à modifier dans le document maître ? Pour "
+"commencer, très peu de choses. Il n'y a quelques paramètres substituables "
+"(texte entre crochets) que vous devrez prendre en charge."
+
+#: C/gtk-doc-manual.xml:1563(title)
+msgid "Master document header"
+msgstr "En-tête du document maître"
+
+#: C/gtk-doc-manual.xml:1585(title)
+msgid "Editing the section file"
+msgstr "Édition du fichier section"
+
+#: C/gtk-doc-manual.xml:1587(para)
+msgid ""
+"The section file is used to organise the documentation output by GTK-Doc. "
+"Here one specifies which symbol belongs to which module or class and control "
+"the visibility (public or private)."
+msgstr ""
+"Le fichier section est utilisé pour organiser la documentation générée par "
+"GTK-Doc. C'est ici qu'il faut indiquer quels symboles sont attachés à quels "
+"modules ou classes et contrôler la visibilité (« public » ou « private »)."
+
+#: C/gtk-doc-manual.xml:1593(para)
+msgid ""
+"The section file is a plain test file with xml like syntax (using tags). "
+"Blank lines are ignored and lines starting with a '#' are treated as comment "
+"lines."
+msgstr ""
+"Le fichier section est un fichier texte plat, avec une syntaxe type XML "
+"(utilisant des balises). Les lignes blanches sont ignorées et celles "
+"commençant par un « # » sont considérées comme des lignes de commentaires."
+
+#: C/gtk-doc-manual.xml:1599(para)
+msgid ""
+"The <FILE> ... </FILE> tag is used to specify the file name, "
+"without any suffix. For example, using '<FILE>gnome-config</"
+"FILE>' will result in the section declarations being output in the "
+"template file <filename>tmpl/gnome-config.sgml</filename>, which will be "
+"converted into the DocBook SGML/XML file <filename>sgml/gnome-config.sgml</"
+"filename> or .DocBook XML file <filename>xml/gnome-config.xml</filename>. "
+"(The name of the html file is based on the module name and the section "
+"title, or for gobjects it is based on the gobjects class name converted to "
+"lower case)."
+msgstr ""
+"La balise <FILE> ... </FILE> est utilisée pour indiquer le nom "
+"du fichier, sans extension. Par exemple, utiliser <FILE>gnome-"
+"config</FILE> va entraîner la sortie des déclarations de section dans "
+"le fichier prototype <filename>tmpl/gnome-config.sgml</filename>, qui seront "
+"converties dans le fichier SGML/XML DocBook <filename>sgml/gnome-config."
+"sgml</filename> ou le fichier XML DocBook <filename>xml/gnome-config.xml</"
+"filename> (le nom du fichier html est basé sur le nom du module et le titre "
+"de la section, ou, pour les gobjects, sur le nom de la classe gobjects "
+"converti en minuscule)."
+
+#: C/gtk-doc-manual.xml:1611(para)
+msgid ""
+"The <TITLE> ... </TITLE> tag is used to specify the title of the "
+"section. It is only useful before the templates (if used) are initially "
+"created, since the title set in the template file overrides this. Also if "
+"one uses SECTION comment in the sources, this is obsolete."
+msgstr ""
+"La balise <TITLE> ... </TITLE> est utilisée pour indiquer le "
+"titre de la section. C'est utile seulement avant la création initiale des "
+"prototypes, car ensuite le titre défini dans le prototype est prioritaire. "
+"Elle est également obsolète si des commentaires de SECTION sont utilisés "
+"dans les fichiers sources."
+
+#: C/gtk-doc-manual.xml:1618(para)
+msgid ""
+"You can group items in the section by using the <SUBSECTION> tag. "
+"Currently it outputs a blank line between subsections in the synopsis "
+"section. You can also use <SUBSECTION Standard> for standard GObject "
+"declarations (e.g. the functions like g_object_get_type and macros like "
+"G_OBJECT(), G_IS_OBJECT() etc.). Currently these are left out of the "
+"documentation. You can also use <SUBSECTION Private> for private "
+"declarations which will not be output (It is a handy way to avoid warning "
+"messages about unused declarations.). If your library contains private types "
+"which you don't want to appear in the object hierarchy and the list of "
+"implemented or required interfaces, add them to a Private subsection. Wheter "
+"you would place GObject and GObjectClass like structs in public or Standard "
+"section depends if they have public entries (variables, vmethods)."
+msgstr ""
+"Vous pouvez regrouper les éléments dans la section en utilisant la balise "
+"<SUBSECTION>. Actuellement, une ligne blanche est ajoutée entre les "
+"sous-sections dans la section résumé. Vous pouvez également utiliser <"
+"SUBSECTION Standard> pour les déclarations GObject standards (par "
+"exemple, les fonctions comme g_object_get_type et les macros comme G_OBJECT"
+"(), G_IS_OBJECT(), etc.). Actuellement, elles ne sont pas intégrées dans la "
+"documentation. Vous pouvez utiliser <SUBSECTION Private> pour les "
+"déclarations privées qui ne seront pas affichées (c'est un moyen pratique "
+"d'éviter les messages d'avertissement sur les déclarations inutilisées). Si "
+"votre bibliothèque contient des types privés que vous ne souhaitez pas voir "
+"apparaître dans la hiérarchie des objets et dans la liste des interfaces "
+"implémentées ou nécessaires, ajoutez-les à une sous-section privée. Le choix "
+"de placer des GObject ou GObjectClass comme des structures dans une section "
+"standard ou publique dépend de la présence d'éléments publics (variables, "
+"vmethods)."
+
+#: C/gtk-doc-manual.xml:1637(para)
+msgid ""
+"You can also use <INCLUDE> ... </INCLUDE> to specify the "
+"#include files which are shown in the synopsis sections. It contains a comma-"
+"separate list of #include files, without the angle brackets. If you set it "
+"outside of any sections, it acts for all sections until the end of the file. "
+"If you set it within a section, it only applies to that section."
+msgstr ""
+"Vous pouvez utiliser les balises <INCLUDE> ... </INCLUDE> pour "
+"indiquer les fichiers #include qui sont affichés dans les sections résumé. "
+"Elles contiennent une liste de fichiers #include, séparés par des virgules, "
+"sans les chevrons. Si vous les placez en dehors d'une section, elles "
+"s'appliquent à toutes les sections jusqu'à la fin du fichier. Si vous les "
+"placez dans une section, elles s'appliquent seulement à cette section."
+
+#: C/gtk-doc-manual.xml:1651(title)
+msgid "Controlling the result"
+msgstr "Contrôle du résultat"
+
+#: C/gtk-doc-manual.xml:1653(para)
+msgid ""
+"A GTK-Doc run generates report files inside the documentation directory. The "
+"generated files are named: <filename><package>-undocumented.txt</"
+"filename>, <filename><package>-undeclared.txt</filename> and "
+"<filename><package>-unused.txt</filename>. All those are plain text "
+"files that can be viewed and postprocessed easily."
+msgstr ""
+"Une exécution de GTK-Doc produit des fichiers de compte-rendu dans le "
+"répertoire de documentation. Ces fichiers sont nommés : <filename><"
+"package>-undocumented.txt</filename>, <filename><package>-"
+"undeclared.txt</filename> et <filename><package>-unused.txt</"
+"filename>. Tous ces fichiers texte peuvent être lus et post-traités "
+"facilement."
+
+#: C/gtk-doc-manual.xml:1662(para)
+msgid ""
+"The <filename><package>-undocumented.txt</filename> file starts with "
+"the documentation coverage summary. Below are two sections divided by blank "
+"lines. The first section lists undocumented or incomplete symbols. The "
+"second section does the same for section docs. Incomplete entries are those, "
+"which have documentation, but where e.g. a new parameter has been added."
+msgstr ""
+"Le fichier <filename><package>-undocumented.txt</filename> commence "
+"avec un résumé du sujet couvert par la documentation. Suivent deux sections "
+"séparées par des lignes blanches. La première section liste les symboles non "
+"documentés ou incomplets. La seconde section fait de même pour les "
+"documentations de sections. Les éléments incomplets sont ceux qui possèdent "
+"une documentation mais auxquels, par exemple, un paramètre a été ajouté."
+
+#: C/gtk-doc-manual.xml:1671(para)
+msgid ""
+"The <filename><package>-undeclared.txt</filename> file lists symbols "
+"given in the <filename><package>-sections.txt</filename> but not found "
+"in the sources. Check if they have been removed or if they are misspelled."
+msgstr ""
+"Le fichier <filename><package>-undeclared.txt</filename> liste les "
+"symboles contenus dans le fichier <filename><package>-sections.txt</"
+"filename> mais non trouvés dans les fichiers sources. Vérifiez s'ils n'ont "
+"pas été supprimés ou mal orthographiés."
+
+#: C/gtk-doc-manual.xml:1678(para)
+msgid ""
+"The <filename><package>-unused.txt</filename> file lists symbol names, "
+"where the GTK-Doc scanner has found documentation, but does not know where "
+"to put it. This means that the symbol has not yet been added to the "
+"<filename><package>-sections.txt</filename> file."
+msgstr ""
+"Le fichier <filename><package>-unused.txt</filename> liste les noms "
+"des symboles pour lesquels l'analyseur GTK-Doc a trouvé de la documentation "
+"mais ne sait pas où la placer. Cela signifie que le symbole n'a pas encore "
+"été ajouté au fichier <filename><package>-sections.txt</filename>."
+
+#: C/gtk-doc-manual.xml:1686(para)
+msgid ""
+"Enable or add the <option>TESTS=$(GTKDOC_CHECK)</option> line in Makefile."
+"am. If at least GTK-Doc 1.9 is installed, this will run sanity checks during "
+"<command>make check</command> run."
+msgstr ""
+"Activez ou ajoutez la ligne <option>TESTS=($GTKDOC_CHECK)</option> dans le "
+"fichier Makefile.am. Si la version installée de GTK-Doc est supérieure à "
+"1.9, des contrôles de validité seront lancés pendant l'exécution de "
+"<command>make check</command>."
+
+#: C/gtk-doc-manual.xml:1693(para)
+msgid ""
+"One can also look at the files produced by the source code scanner: "
+"<filename><package>-decl-list.txt</filename> and <filename><"
+"package>-decl.txt</filename>. The first one can be compared with the "
+"section file if that is manualy maintained. The second lists all "
+"declarations fromt he headers If a symbol is missing one could check if this "
+"file contains it."
+msgstr ""
+"Vous pouvez également regarder les fichiers produits par le scanneur de code "
+"source : <filename><package>-decl-list.txt</filename> et <filename><"
+"package>-decl.txt</filename>. Le premier peut être comparé avec le "
+"fichier section s'il est maintenu manuellement. Le second liste toutes les "
+"déclarations contenues dans les fichiers en-tête. Si un symbole est "
+"manquant, il faut vérifier si ce fichier le contient."
+
+#: C/gtk-doc-manual.xml:1702(para)
+msgid ""
+"If the project is GObject based, one can also look into the files produced "
+"by the object scanner: <filename><package>.args.txt</filename>, "
+"<filename><package>.hierarchy.txt</filename>, <filename><"
+"package>.interfaces.txt</filename>, <filename><package>."
+"prerequisites.txt</filename> and <filename><package>.signals.txt</"
+"filename>. If there are missing symbols in any of those, one can ask gtkdoc "
+"to keep the intermedia scanner file for further analysis, but running it as "
+"<command>GTK_DOC_KEEP_INTERMEDIATE=1 make</command>."
+msgstr ""
+"Si le projet est basé sur GObject, il est possible de regarder dans les "
+"fichiersgénérés par le scanneur d'objet : <filename><package>.args."
+"txt</filename>, <filename><package>.hierarchy.txt</filename>, "
+"<filename><package>.interfaces.txt</filename>, <filename><"
+"package>.prerequisites.txt</filename> et <filename><package>."
+"signals.txt</filename>. S'il manque des symboles dans l'un d'eux, il est "
+"possible de demander à gtkdoc de conserver le fichier de scanneur "
+"intermédiaire pour en faire une analyse ultérieure mais en le lançant comme "
+"<command>GTK_DOC_KEEP_INTERMEDIATE=1 make</command>."
+
+#: C/gtk-doc-manual.xml:1717(title)
+msgid "Documenting other interfaces"
+msgstr "Documentation d'autres interfaces"
+
+#: C/gtk-doc-manual.xml:1719(para)
+msgid ""
+"So far we have been using GTK-Doc to document the API of code. The next "
+"sections contain suggestions how the tools can be used to document other "
+"interfaces too."
+msgstr ""
+"Nous avons jusqu'ici utilisé GTK-Doc pour documenter les API du code. Les "
+"sections qui suivent contiennent des suggestions sur la manière d'utiliser "
+"les outils pour documenter aussi d'autres interfaces."
+
+#: C/gtk-doc-manual.xml:1726(title)
+msgid "Commandline options and man pages"
+msgstr "Options de ligne de commande et pages de manuel"
+
+#: C/gtk-doc-manual.xml:1728(para)
+msgid ""
+"As one can generate man pages for a docbook refentry as well, it sounds like "
+"a good idea to use it for that purpose. This way the interface is part of "
+"the reference and one gets the man-page for free."
+msgstr ""
+"Comme il est possible de générer aussi des pages de manuel à partir d'une "
+"« refentry » DocBook, il semble donc intéressant de l'utiliser dans ce but. "
+"Ainsi, l'interface fait partie de la référence et l'on obtient en cadeau la "
+"page de manuel."
+
+#: C/gtk-doc-manual.xml:1735(title)
+msgid "Document the tool"
+msgstr "Documentation de l'outil"
+
+#: C/gtk-doc-manual.xml:1737(para)
+msgid ""
+"Create one refentry file per tool. Following <link linkend="
+"\"settingup_docfiles\">our example</link> we would call it <filename>meep/"
+"docs/reference/meeper/meep.xml</filename>. For the xml tags that should be "
+"used and can look at generated file in the xml subdirectory as well as "
+"examples e.g. in glib."
+msgstr ""
+"Créez un fichier « refentry » par outil. En suivant <link linkend="
+"\"settingup_docfiles\">notre exemple</link>, nous l'appellerons "
+"<filename>meep/docs/reference/meeper/meep.xml</filename>. Pour connaître les "
+"balises XML pouvant être utilisées, on peut observer le fichier généré dans "
+"le sous-répertoire xml ou des exemples comme dans glib."
+
+#: C/gtk-doc-manual.xml:1747(title)
+msgid "Adding the extra configure check"
+msgstr "Ajout de contrôles « configure » supplémentaires"
+
+#: C/gtk-doc-manual.xml:1750(title) C/gtk-doc-manual.xml:1770(title)
+msgid "Extra configure checks"
+msgstr "Contrôles « configure » supplémentaires"
+
+#: C/gtk-doc-manual.xml:1767(title)
+msgid "Adding the extra makefile rules"
+msgstr "Ajout de règles « makefile » supplémentaires"
+
+#: C/gtk-doc-manual.xml:1795(title)
+msgid "DBus interfaces"
+msgstr "Interfaces DBus"
+
+#: C/gtk-doc-manual.xml:1797(para)
+msgid ""
+"(FIXME: http://hal.freedesktop.org/docs/DeviceKit/DeviceKit.html, http://"
+"cgit.freedesktop.org/DeviceKit/DeviceKit/tree/doc/dbus)"
+msgstr ""
+"(À_CORRIGER : http://hal.freedesktop.org/docs/DeviceKit/DeviceKit.html, "
+"http://cgit.freedesktop.org/DeviceKit/DeviceKit/tree/doc/dbus)"
+
+#: C/gtk-doc-manual.xml:1806(title)
+msgid "Frequently asked questions"
+msgstr "Foire aux questions"
+
+#: C/gtk-doc-manual.xml:1810(segtitle)
+msgid "Question"
+msgstr "Question "
+
+#: C/gtk-doc-manual.xml:1811(segtitle)
+msgid "Answer"
+msgstr "Réponse "
+
+#: C/gtk-doc-manual.xml:1813(seg)
+msgid "No class hierarchy."
+msgstr "Pas de hiérarchie de classe."
+
+#: C/gtk-doc-manual.xml:1815(function)
+msgid "xxx_get_type()"
+msgstr "xxx_get_type()"
+
+#: C/gtk-doc-manual.xml:1816(filename)
+msgid "<package>.types"
+msgstr "<package>.types"
+
+#: C/gtk-doc-manual.xml:1814(seg)
+msgid ""
+"The objects <placeholder-1/> function has not been entered into the "
+"<placeholder-2/> file."
+msgstr ""
+"Les fonctions objet <placeholder-1/> n'ont pas été saisies dans le fichier "
+"<placeholder-2/>."
+
+#: C/gtk-doc-manual.xml:1820(seg)
+msgid "Still no class hierarchy."
+msgstr "Toujours pas de hiérarchie de classe."
+
+#: C/gtk-doc-manual.xml:1822(filename) C/gtk-doc-manual.xml:1861(filename)
+#: C/gtk-doc-manual.xml:1869(filename) C/gtk-doc-manual.xml:1891(filename)
+msgid "<package>-sections.txt"
+msgstr "<package>-sections.txt"
+
+#: C/gtk-doc-manual.xml:1823(ulink)
+msgid "explanation"
+msgstr "explication"
+
+#: C/gtk-doc-manual.xml:1821(seg)
+msgid ""
+"Missing or wrong naming in <placeholder-1/> file (see <placeholder-2/>)."
+msgstr ""
+"Mauvais nom ou nom absent dans le fichier <placeholder-1/> (consultez "
+"<placeholder-2/>)."
+
+#: C/gtk-doc-manual.xml:1827(seg)
+msgid "Damn, I have still no class hierarchy."
+msgstr "Zut, je n'ai toujours pas de hiérarchie de classe."
+
+#: C/gtk-doc-manual.xml:1829(type) C/gtk-doc-manual.xml:1870(type)
+msgid "GtkWidget"
+msgstr "GtkWidget"
+
+#: C/gtk-doc-manual.xml:1828(seg)
+msgid ""
+"Is the object name (name of the instance struct, e.g. <placeholder-1/>) part "
+"of the normal section (don't put this into Standard or Private subsections)."
+msgstr ""
+"Est-ce que le nom de l'objet (nom de la structure de l'instance, par ex. "
+"<placeholder-1/>) fait parti de la section « normal » (ne pas le mettre dans "
+"les sous-sections « Standard » ou « Private »)."
+
+#: C/gtk-doc-manual.xml:1835(seg)
+msgid "No symbol index."
+msgstr "Pas d'index des symboles."
+
+#: C/gtk-doc-manual.xml:1837(filename) C/gtk-doc-manual.xml:1852(filename)
+#: C/gtk-doc-manual.xml:1878(filename)
+msgid "<package>-docs.{xml,sgml}"
+msgstr "<package>-docs.{xml,sgml}"
+
+#: C/gtk-doc-manual.xml:1836(seg)
+msgid ""
+"Does the <placeholder-1/> contain a index that xi:includes the generated "
+"index?"
+msgstr ""
+"Est-ce que <placeholder-1/> contient un index qui « xi:includes » l'index "
+"généré ?"
+
+#: C/gtk-doc-manual.xml:1842(seg)
+msgid "Symbols are not linked to their doc-section."
+msgstr "Les symboles ne sont pas liés à leur section de documentation."
+
+#: C/gtk-doc-manual.xml:1843(seg)
+msgid ""
+"Is the doc-comment using the correct markup (added #,% or ())? Check if the "
+"gtkdoc-fixxref warns about unresolvable xrefs."
+msgstr ""
+"Est-ce que doc-comment utilise le markup correct (ajout d'un #, % ou ()) ? "
+"Contrôlez si gtkdoc-fixxref affiche des avertissements à propos de xrefs non "
+"résolus."
+
+#: C/gtk-doc-manual.xml:1849(seg)
+msgid "A new class does not appear in the docs."
+msgstr "Une nouvelle classe n'apparaît pas dans les documents."
+
+#: C/gtk-doc-manual.xml:1850(seg)
+msgid "Is the new page xi:included from <placeholder-1/>."
+msgstr ""
+"Est-ce que la nouvelle page est xi:included à partir de <placeholder-1/>."
+
+#: C/gtk-doc-manual.xml:1856(seg)
+msgid "A new symbol does not appear in the docs."
+msgstr "Un nouveau symbole n'apparaît pas dans les documents."
+
+#: C/gtk-doc-manual.xml:1857(seg)
+msgid ""
+"Is the doc-comment properly formatted. Check for spelling mistakes in the "
+"begin of the comment. Check if the gtkdoc-fixxref warns about unresolvable "
+"xrefs. Check if the symbol is correctly listed in the <placeholder-1/> in a "
+"public subsection."
+msgstr ""
+"Est-ce que le doc-comment est correctement formaté. Vérifiez qu'il n'y a pas "
+"d'erreur de frappe au début du commentaire. Vérifiez que gtkdoc-fixxref ne "
+"vous indique pas de xrefs non résolus. Vérifiez que le symbole est "
+"correctement listé dans une section publique de <placeholder-1/>."
+
+#: C/gtk-doc-manual.xml:1865(seg)
+msgid "A type is missing from the class hierarchy."
+msgstr "Un type est absent dans la hiérarchie de classe."
+
+#: C/gtk-doc-manual.xml:1867(filename)
+msgid "<package>.hierarchy"
+msgstr "<package>.hierarchy"
+
+#: C/gtk-doc-manual.xml:1868(filename)
+msgid "xml/tree_index.sgml"
+msgstr "xml/tree_index.sgml"
+
+#: C/gtk-doc-manual.xml:1866(seg)
+msgid ""
+"If the type is listed in <placeholder-1/> but not in <placeholder-2/> then "
+"double check that the type is correctly placed in the <placeholder-3/>. If "
+"the type instance (e.g. <placeholder-4/>) is not listed or incidentialy "
+"makred private it will not be shown."
+msgstr ""
+"Si le type est listé dans <placeholder-1/> mais pas dans <placeholder-2/> "
+"alors contrôlez deux-fois que le type est correctement placé dans "
+"<placeholder-3/>. Si l'instance du type (par ex. <placeholder-4/>) n'est pas "
+"listée ou marquée par accident comme privée, elle ne sera pas affichée."
+
+#: C/gtk-doc-manual.xml:1875(seg)
+msgid "I get foldoc links for all gobject annotations."
+msgstr "J'obtiens des liens foldoc pour toutes les annotations gobject."
+
+#: C/gtk-doc-manual.xml:1877(filename)
+msgid "xml/annotation-glossary.xml"
+msgstr "xml/annotation-glossary.xml"
+
+#: C/gtk-doc-manual.xml:1876(seg)
+msgid "Check that <placeholder-1/> is xi:included from <placeholder-2/>."
+msgstr ""
+"Vérifiez que <placeholder-1/> est xi:included à partir de <placeholder-2/>."
+
+#: C/gtk-doc-manual.xml:1884(seg)
+msgid "Parameter described in source code comment block but does not exist"
+msgstr ""
+"Un paramètre est décrit dans le bloc de commentaires dans le code source "
+"mais il n'existe pas."
+
+#: C/gtk-doc-manual.xml:1885(seg)
+msgid ""
+"Check if the prototype in the header has different parameter names as in the "
+"source."
+msgstr ""
+"Vérifiez si le prototype dans le fichier d'en-tête possède des noms de "
+"paramètres différents de ceux du fichier source."
+
+#: C/gtk-doc-manual.xml:1890(seg)
+msgid "multiple \"IDs\" for constraint linkend: XYZ"
+msgstr "« ID » multiples pour le linkend: XYZ contraint"
+
+#: C/gtk-doc-manual.xml:1891(seg)
+msgid "Symbol XYZ appears twice in <placeholder-1/> file."
+msgstr "Le symbole XYZ apparaît en double dans le fichier <placeholder-1/>."
+
+#: C/gtk-doc-manual.xml:1894(seg)
+msgid ""
+"Element typename in namespace '' encountered in para, but no template "
+"matches."
+msgstr ""
+"Élément typename dans l'espace de nom '' rencontré dans para mais aucun "
+"prototype ne correspond."
+
+#: C/gtk-doc-manual.xml:1901(title)
+msgid "Tools related to gtk-doc"
+msgstr "Outils liés à gtk-doc"
+
+#: C/gtk-doc-manual.xml:1903(para)
+msgid ""
+"GtkDocPlugin - a <ulink url=\"http://trac-hacks.org/wiki/GtkDocPlugin\">Trac "
+"GTK-Doc</ulink> integration plugin, that adds api docs to a trac site and "
+"integrates with the trac search."
+msgstr ""
+"GtkDocPlugin - un greffon d'intégration à <ulink url=\"http://trac-hacks.org/"
+"wiki/GtkDocPlugin\">Trac</ulink>, qui ajoute la documentation d'API à un site "
+"Trac et s'intègre à la recherche Trac."
+
+#: C/gtk-doc-manual.xml:1908(para)
+msgid ""
+"Gtkdoc-depscan - a tool (part of gtk-doc) to check used API against since "
+"tags in the api to determine the minimum required version."
+msgstr ""
+"Gtkdoc-depscan - un outil (intégré à gtk-doc) qui vérifie les API utilisées "
+"pour déterminer la version minimale requise."
+
+#: C/gtk-doc-manual.xml:12(releaseinfo)
+msgid "Version 1.1, March 2000"
+msgstr "Version 1.1, mars 2000"
+
+#: C/gtk-doc-manual.xml:16(year)
+msgid "2000"
+msgstr "2000"
+
+#: C/gtk-doc-manual.xml:16(holder)
+msgid "Free Software Foundation, Inc."
+msgstr "Free Software Foundation, Inc."
+
+#: C/gtk-doc-manual.xml:19(para)
+msgid ""
+"<address>Free Software Foundation, Inc. <street>51 Franklin Street, Suite "
+"330</street>, <city>Boston</city>, <state>MA</state><postcode>02110-1301</"
+"postcode><country>USA</country></address> Everyone is permitted to copy and "
+"distribute verbatim copies of this license document, but changing it is not "
+"allowed."
+msgstr ""
+"<address>Free Software Foundation, Inc <street>51 Franklin Street, Fifth "
+"Floor</street>, <city>Boston</city>, <state>MA</state><postcode>02110-1301</"
+"postcode><country>USA</country></address>. Chacun est libre de copier et de "
+"distribuer des copies conformes de cette Licence, mais nul n'est autorisé à "
+"la modifier."
+
+#: C/gtk-doc-manual.xml:28(title)
+msgid "GNU Free Documentation License"
+msgstr "Licence de Documentation Libre GNU"
+
+#: C/gtk-doc-manual.xml:31(title)
+msgid "0. PREAMBLE"
+msgstr "0. Préambule"
+
+#: C/gtk-doc-manual.xml:32(para)
+msgid ""
+"The purpose of this License is to make a manual, textbook, or other written "
+"document <quote>free</quote> in the sense of freedom: to assure everyone the "
+"effective freedom to copy and redistribute it, with or without modifying it, "
+"either commercially or noncommercially. Secondarily, this License preserves "
+"for the author and publisher a way to get credit for their work, while not "
+"being considered responsible for modifications made by others."
+msgstr ""
+"L'objet de cette Licence est de rendre tout manuel, livre ou autre document "
+"écrit « libre » au sens de la liberté d'utilisation, à savoir : assurer à "
+"chacun la liberté effective de le copier ou de le redistribuer, avec ou sans "
+"modifications, commercialement ou non. En outre, cette Licence garantit à "
+"l'auteur et à l'éditeur la reconnaissance de leur travail, sans qu'ils "
+"soient pour autant considérés comme responsables des modifications réalisées "
+"par des tiers."
+
+#: C/gtk-doc-manual.xml:43(para)
+msgid ""
+"This License is a kind of <quote>copyleft</quote>, which means that "
+"derivative works of the document must themselves be free in the same sense. "
+"It complements the GNU General Public License, which is a copyleft license "
+"designed for free software."
+msgstr ""
+"Cette Licence est une sorte de <quote>copyleft</quote>, ce qui signifie que "
+"les travaux dérivés du document d'origine sont eux-mêmes « libres » selon les "
+"mêmes termes. Elle complète la Licence Publique Générale GNU, qui est "
+"également une Licence copyleft, conçue pour les logiciels libres."
+
+#: C/gtk-doc-manual.xml:50(para)
+msgid ""
+"We have designed this License in order to use it for manuals for free "
+"software, because free software needs free documentation: a free program "
+"should come with manuals providing the same freedoms that the software does. "
+"But this License is not limited to software manuals; it can be used for any "
+"textual work, regardless of subject matter or whether it is published as a "
+"printed book. We recommend this License principally for works whose purpose "
+"is instruction or reference."
+msgstr ""
+"Nous avons conçu cette Licence pour la documentation des logiciels libres, "
+"car les logiciels libres ont besoin d'une documentation elle-même libre : un "
+"logiciel libre doit être accompagné d'un manuel garantissant les mêmes "
+"libertés que celles accordées par le logiciel lui-même. Mais cette Licence "
+"n'est pas limitée aux seuls manuels des logiciels ; elle peut être utilisée "
+"pour tous les documents écrits, sans distinction particulière relative au "
+"sujet traité ou au mode de publication. Nous recommandons l'usage de cette "
+"Licence principalement pour les travaux destinés à des fins d'enseignement "
+"ou devant servir de documents de référence."
+
+#: C/gtk-doc-manual.xml:62(title)
+msgid "1. APPLICABILITY AND DEFINITIONS"
+msgstr "1. APPLICABILITÉ ET DÉFINITIONS"
+
+#: C/gtk-doc-manual.xml:63(para)
+msgid ""
+"This License applies to any manual or other work that contains a notice "
+"placed by the copyright holder saying it can be distributed under the terms "
+"of this License. The <quote>Document</quote>, below, refers to any such "
+"manual or work. Any member of the public is a licensee, and is addressed as "
+"<quote>you</quote>."
+msgstr ""
+"Cette Licence couvre tout manuel ou tout autre travail écrit contenant une "
+"notice de copyright autorisant la redistribution selon les termes de cette "
+"Licence. Le mot <quote>Document</quote> se réfère ci-après à un tel manuel "
+"ou travail. Toute personne en est par définition concessionnaire et est "
+"référencée ci-après par le terme <quote>Vous</quote>."
+
+#: C/gtk-doc-manual.xml:72(para)
+msgid ""
+"A <quote>Modified Version</quote> of the Document means any work containing "
+"the Document or a portion of it, either copied verbatim, or with "
+"modifications and/or translated into another language."
+msgstr ""
+"Une <quote>Version modifiée</quote> du Document désigne tout travail en "
+"contenant la totalité ou seulement une portion de celui-ci, copiée mot pour "
+"mot, modifiée et/ou traduite dans une autre langue."
+
+#: C/gtk-doc-manual.xml:79(para)
+msgid ""
+"A <quote>Secondary Section</quote> is a named appendix or a front-matter "
+"section of the <link linkend=\"fdl-document\">Document</link> that deals "
+"exclusively with the relationship of the publishers or authors of the "
+"Document to the Document's overall subject (or to related matters) and "
+"contains nothing that could fall directly within that overall subject. (For "
+"example, if the Document is in part a textbook of mathematics, a Secondary "
+"Section may not explain any mathematics.) The relationship could be a matter "
+"of historical connection with the subject or with related matters, or of "
+"legal, commercial, philosophical, ethical or political position regarding "
+"them."
+msgstr ""
+"Une <quote>Section secondaire</quote> désigne une annexe au <link linkend="
+"\"fdl-document\">Document</link>, ou toute information indiquant les "
+"rapports entre l'auteur ou l'éditeur et le sujet (ou tout autre sujet "
+"connexe) du Document, sans toutefois être en rapport direct avec le sujet "
+"lui-même (par exemple, si le Document est un manuel de mathématiques, une "
+"Section secondaire ne traitera d'aucune notion mathématique). Cette section "
+"peut contenir des informations relatives à l'historique du Document, des "
+"sources documentaires, des dispositions légales, commerciales, "
+"philosophiques, ou des positions éthiques ou politiques susceptibles de "
+"concerner le sujet traité."
+
+#: C/gtk-doc-manual.xml:94(para)
+msgid ""
+"The <quote>Invariant Sections</quote> are certain <link linkend=\"fdl-"
+"secondary\"> Secondary Sections</link> whose titles are designated, as being "
+"those of Invariant Sections, in the notice that says that the <link linkend="
+"\"fdl-document\">Document</link> is released under this License."
+msgstr ""
+"Les <quote>Sections inaltérables</quote> sont des <link linkend=\"fdl-"
+"secondary\">sections secondaires</link> considérées comme ne pouvant être "
+"modifiées et citées comme telles dans la notice légale qui place le <link "
+"linkend=\"fdl-document\">Document</link> sous cette Licence."
+
+#: C/gtk-doc-manual.xml:103(para)
+msgid ""
+"The <quote>Cover Texts</quote> are certain short passages of text that are "
+"listed, as Front-Cover Texts or Back-Cover Texts, in the notice that says "
+"that the <link linkend=\"fdl-document\">Document</link> is released under "
+"this License."
+msgstr ""
+"Les <quote>Textes de couverture</quote> sont les textes courts situés sur "
+"les pages de couverture avant et arrière du <link linkend=\"fdl-document"
+"\">Document</link>, et cités comme tels dans la mention légale de ce <link "
+"linkend=\"fdl-document\">Document</link>."
+
+#: C/gtk-doc-manual.xml:111(para)
+msgid ""
+"A <quote>Transparent</quote> copy of the <link linkend=\"fdl-document\"> "
+"Document</link> means a machine-readable copy, represented in a format whose "
+"specification is available to the general public, whose contents can be "
+"viewed and edited directly and straightforwardly with generic text editors "
+"or (for images composed of pixels) generic paint programs or (for drawings) "
+"some widely available drawing editor, and that is suitable for input to text "
+"formatters or for automatic translation to a variety of formats suitable for "
+"input to text formatters. A copy made in an otherwise Transparent file "
+"format whose markup has been designed to thwart or discourage subsequent "
+"modification by readers is not Transparent. A copy that is not "
+"<quote>Transparent</quote> is called <quote>Opaque</quote>."
+msgstr ""
+"Le terme <quote>Copie transparente</quote> désigne une version numérique du "
+"<link linkend=\"fdl-document\"> Document</link> représentée dans un format "
+"dont les spécifications sont publiquement disponibles et dont le contenu "
+"peut être visualisé et édité directement et immédiatement par un éditeur de "
+"texte quelconque, ou (pour les images composées de pixels) par un programme "
+"de traitement d'images quelconque, ou (pour les dessins) par un éditeur de "
+"dessins courant. Ce format doit pouvoir être accepté directement ou être "
+"convertible facilement dans des formats utilisables directement par des "
+"logiciels de formatage de texte. Une copie publiée dans un quelconque format "
+"numérique ouvert mais dont la structure a été conçue dans le but exprès de "
+"prévenir les modifications ultérieures du Document ou dans le but d'en "
+"décourager les lecteurs n'est pas considérée comme une Copie Transparente. "
+"Une copie qui n'est pas <quote>Transparente</quote> est considérée, par "
+"opposition, comme <quote>Opaque</quote>."
+
+#: C/gtk-doc-manual.xml:128(para)
+msgid ""
+"Examples of suitable formats for Transparent copies include plain ASCII "
+"without markup, Texinfo input format, LaTeX input format, SGML or XML using "
+"a publicly available DTD, and standard-conforming simple HTML designed for "
+"human modification. Opaque formats include PostScript, PDF, proprietary "
+"formats that can be read and edited only by proprietary word processors, "
+"SGML or XML for which the DTD and/or processing tools are not generally "
+"available, and the machine-generated HTML produced by some word processors "
+"for output purposes only."
+msgstr ""
+"Le format de fichier texte codé en ASCII générique et n'utilisant pas de "
+"balises, les formats de fichiers Texinfo ou LaTeX, les formats de fichiers "
+"SGML ou XML utilisant une DTD publiquement accessible, ainsi que les formats "
+"de fichiers HTML simple et standard, écrits de telle sorte qu'ils sont "
+"modifiables sans outil spécifique, sont des exemples de formats acceptables "
+"pour la réalisation de Copies Transparentes. Les formats suivants sont "
+"opaques : PostScript, PDF, formats de fichiers propriétaires qui ne peuvent "
+"être visualisés ou édités que par des traitements de textes propriétaires, "
+"SGML et XML utilisant des DTD et/ou des outils de formatage qui ne sont pas "
+"disponibles publiquement, et du code HTML généré par une machine à l'aide "
+"d'un traitement de texte quelconque et dans le seul but de la génération "
+"d'un format de sortie."
+
+#: C/gtk-doc-manual.xml:141(para)
+msgid ""
+"The <quote>Title Page</quote> means, for a printed book, the title page "
+"itself, plus such following pages as are needed to hold, legibly, the "
+"material this License requires to appear in the title page. For works in "
+"formats which do not have any title page as such, <quote>Title Page</quote> "
+"means the text near the most prominent appearance of the work's title, "
+"preceding the beginning of the body of the text."
+msgstr ""
+"La <quote>Page de titre</quote> désigne, pour les ouvrages imprimés, la page "
+"de titre elle-même, ainsi que les pages supplémentaires nécessaires pour "
+"fournir clairement les informations dont cette Licence impose la présence "
+"sur la page de titre. Pour les travaux n'ayant pas de Page de titre comme "
+"décrit ci-dessus, la <quote>Page de titre</quote> désigne le texte qui "
+"s'apparente le plus au titre du document et situé avant le texte principal."
+
+#: C/gtk-doc-manual.xml:153(title)
+msgid "2. VERBATIM COPYING"
+msgstr "2. COPIES CONFORMES"
+
+#: C/gtk-doc-manual.xml:154(para)
+msgid ""
+"You may copy and distribute the <link linkend=\"fdl-document\">Document</"
+"link> in any medium, either commercially or noncommercially, provided that "
+"this License, the copyright notices, and the license notice saying this "
+"License applies to the Document are reproduced in all copies, and that you "
+"add no other conditions whatsoever to those of this License. You may not use "
+"technical measures to obstruct or control the reading or further copying of "
+"the copies you make or distribute. However, you may accept compensation in "
+"exchange for copies. If you distribute a large enough number of copies you "
+"must also follow the conditions in <link linkend=\"fdl-section3\">section 3</"
+"link>."
+msgstr ""
+"Vous pouvez copier et distribuer le <link linkend=\"fdl-document\">Document</"
+"link> sur tout type de support, commercialement ou non, à condition que "
+"cette Licence, la notice de copyright et la notice de la Licence indiquant "
+"que cette Licence s'applique à ce Document soient reproduits dans toutes les "
+"copies, et que vous n'y ajoutiez aucune condition restrictive "
+"supplémentaire. Vous ne pouvez pas utiliser un quelconque moyen technique "
+"visant à empêcher ou à contrôler la lecture ou la reproduction ultérieure "
+"des copies que vous avez créées ou distribuées. Toutefois, vous pouvez "
+"solliciter une rétribution en échange des copies. Si vous distribuez une "
+"grande quantité de copies, référez-vous aux dispositions de la <link linkend="
+"\"fdl-section3\">section 3</link>."
+
+#: C/gtk-doc-manual.xml:169(para)
+msgid ""
+"You may also lend copies, under the same conditions stated above, and you "
+"may publicly display copies."
+msgstr ""
+"Vous pouvez également prêter des copies, sous les mêmes conditions que "
+"celles suscitées, et vous pouvez afficher publiquement des copies de ce "
+"Document."
+
+#: C/gtk-doc-manual.xml:176(title)
+msgid "3. COPYING IN QUANTITY"
+msgstr "3. COPIES EN NOMBRE"
+
+#: C/gtk-doc-manual.xml:177(para)
+msgid ""
+"If you publish printed copies of the <link linkend=\"fdl-document"
+"\">Document</link> numbering more than 100, and the Document's license "
+"notice requires <link linkend=\"fdl-cover-texts\">Cover Texts</link>, you "
+"must enclose the copies in covers that carry, clearly and legibly, all these "
+"Cover Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on "
+"the back cover. Both covers must also clearly and legibly identify you as "
+"the publisher of these copies. The front cover must present the full title "
+"with all words of the title equally prominent and visible. You may add other "
+"material on the covers in addition. Copying with changes limited to the "
+"covers, as long as they preserve the title of the <link linkend=\"fdl-"
+"document\">Document</link> and satisfy these conditions, can be treated as "
+"verbatim copying in other respects."
+msgstr ""
+"Si vous publiez des copies imprimées de ce <link linkend=\"fdl-document"
+"\">Document</link> à plus de 100 exemplaires et que la Licence du Document "
+"indique la présence de <link linkend=\"fdl-cover-texts\">Textes de "
+"couverture</link>, vous devez fournir une couverture pour chaque copie, qui "
+"présente les Textes de couverture des première et dernière pages de "
+"couverture du Document. Les première et dernière pages de couverture doivent "
+"également vous identifier clairement et sans ambiguïté comme étant l'éditeur "
+"de ces copies. La première page de couverture doit comporter le titre du "
+"Document en mots d'importance et de visibilité égales. Vous pouvez ajouter "
+"des informations complémentaires sur les pages de couverture. Les copies du "
+"Document dont seule la couverture a été modifiée peuvent être considérées "
+"comme des copies conformes, à condition que le titre du <link linkend=\"fdl-"
+"document\">Document</link> soit préservé et que les conditions indiquées "
+"précédemment soient respectées."
+
+#: C/gtk-doc-manual.xml:195(para)
+msgid ""
+"If the required texts for either cover are too voluminous to fit legibly, "
+"you should put the first ones listed (as many as fit reasonably) on the "
+"actual cover, and continue the rest onto adjacent pages."
+msgstr ""
+"Si les textes devant se trouver sur la couverture sont trop importants pour "
+"y tenir de manière claire, vous pouvez ne placer que les premiers sur la "
+"première page et placer les suivants sur les pages consécutives."
+
+#: C/gtk-doc-manual.xml:202(para)
+msgid ""
+"If you publish or distribute <link linkend=\"fdl-transparent\">Opaque</link> "
+"copies of the <link linkend=\"fdl-document\">Document</link> numbering more "
+"than 100, you must either include a machine-readable <link linkend=\"fdl-"
+"transparent\">Transparent</link> copy along with each Opaque copy, or state "
+"in or with each Opaque copy a publicly-accessible computer-network location "
+"containing a complete Transparent copy of the Document, free of added "
+"material, which the general network-using public has access to download "
+"anonymously at no charge using public-standard network protocols. If you use "
+"the latter option, you must take reasonably prudent steps, when you begin "
+"distribution of Opaque copies in quantity, to ensure that this Transparent "
+"copy will remain thus accessible at the stated location until at least one "
+"year after the last time you distribute an Opaque copy (directly or through "
+"your agents or retailers) of that edition to the public."
+msgstr ""
+"Si vous publiez plus de 100 <link linkend=\"fdl-transparent\">Copies "
+"opaques</link> du <link linkend=\"fdl-document\">Document</link>, vous devez "
+"soit fournir une Copie transparente pour chaque Copie opaque, soit préciser "
+"ou fournir avec chaque Copie opaque une adresse réseau publiquement "
+"accessible d'une <link linkend=\"fdl-transparent\">Copie transparente</link> "
+"et complète du Document, sans aucun ajout ou modification, et à laquelle "
+"tout le monde peut accéder en téléchargement anonyme et sans frais, selon "
+"des protocoles réseau communs et standard. Si vous choisissez cette dernière "
+"option, vous devez prendre les dispositions nécessaires, dans la limite du "
+"raisonnable, afin de garantir l'accès non restrictif à la Copie transparente "
+"durant une année pleine après la diffusion publique de la dernière Copie "
+"opaque(directement ou via vos revendeurs)."
+
+#: C/gtk-doc-manual.xml:222(para)
+msgid ""
+"It is requested, but not required, that you contact the authors of the <link "
+"linkend=\"fdl-document\">Document</link> well before redistributing any "
+"large number of copies, to give them a chance to provide you with an updated "
+"version of the Document."
+msgstr ""
+"Nous recommandons, mais ce n'est pas obligatoire, que vous contactiez "
+"l'auteur du <link linkend=\"fdl-document\">Document</link> suffisamment tôt "
+"avant toute publication d'un grand nombre de copies, afin de lui permettre "
+"de vous donner une version à jour du Document."
+
+#: C/gtk-doc-manual.xml:231(title)
+msgid "4. MODIFICATIONS"
+msgstr "4. MODIFICATIONS"
+
+#: C/gtk-doc-manual.xml:232(para)
+msgid ""
+"You may copy and distribute a <link linkend=\"fdl-modified\">Modified "
+"Version</link> of the <link linkend=\"fdl-document\">Document</link> under "
+"the conditions of sections <link linkend=\"fdl-section2\">2</link> and <link "
+"linkend=\"fdl-section3\">3</link> above, provided that you release the "
+"Modified Version under precisely this License, with the Modified Version "
+"filling the role of the Document, thus licensing distribution and "
+"modification of the Modified Version to whoever possesses a copy of it. In "
+"addition, you must do these things in the Modified Version:"
+msgstr ""
+"Vous pouvez copier et distribuer une <link linkend=\"fdl-modified\">Version "
+"modifiée</link> du <link linkend=\"fdl-document\">Document</link> en "
+"respectant les conditions des sections <link linkend=\"fdl-section2\">2</"
+"link> et <link linkend=\"fdl-section3\">3</link> précédentes, à condition de "
+"placer cette Version modifiée sous la présente Licence, dans laquelle le "
+"terme « Document » doit être remplacé par les termes « Version modifiée », "
+"donnant ainsi l'autorisation de redistribuer et de modifier cette Version "
+"modifiée à quiconque en possède une copie. De plus, vous devez effectuer les "
+"actions suivantes dans la Version modifiée :"
+
+#: C/gtk-doc-manual.xml:248(title)
+msgid "A"
+msgstr "A"
+
+#: C/gtk-doc-manual.xml:249(para)
+msgid ""
+"Use in the <link linkend=\"fdl-title-page\">Title Page</link> (and on the "
+"covers, if any) a title distinct from that of the <link linkend=\"fdl-"
+"document\">Document</link>, and from those of previous versions (which "
+"should, if there were any, be listed in the History section of the "
+"Document). You may use the same title as a previous version if the original "
+"publisher of that version gives permission."
+msgstr ""
+"Utiliser sur la <link linkend=\"fdl-title-page\">Page de titre</link> (et "
+"sur la page de couverture éventuellement présente) un titre distinct de "
+"celui du <link linkend=\"fdl-document\">Document</link> d'origine et de "
+"toutes ses versions antérieures (qui, si elles existent, doivent être "
+"mentionnées dans la section Historique du Document). Vous pouvez utiliser le "
+"même titre si l'éditeur d'origine vous en a donné expressément la permission."
+
+#: C/gtk-doc-manual.xml:264(title)
+msgid "B"
+msgstr "B"
+
+#: C/gtk-doc-manual.xml:265(para)
+msgid ""
+"List on the <link linkend=\"fdl-title-page\">Title Page</link>, as authors, "
+"one or more persons or entities responsible for authorship of the "
+"modifications in the <link linkend=\"fdl-modified\">Modified Version</link>, "
+"together with at least five of the principal authors of the <link linkend="
+"\"fdl-document\">Document</link> (all of its principal authors, if it has "
+"less than five)."
+msgstr ""
+"Mentionner sur la <link linkend=\"fdl-title-page\">Page de titre</link> en "
+"tant qu'auteurs une ou plusieurs des personnes ou entités responsables des "
+"modifications de la <link linkend=\"fdl-modified\">Version modifiée</link>, "
+"avec au moins les cinq principaux auteurs du <link linkend=\"fdl-document"
+"\">Document</link> (ou tous les auteurs s'il y en a moins de cinq)."
+
+#: C/gtk-doc-manual.xml:279(title)
+msgid "C"
+msgstr "C"
+
+#: C/gtk-doc-manual.xml:280(para)
+msgid ""
+"State on the <link linkend=\"fdl-title-page\">Title Page</link> the name of "
+"the publisher of the <link linkend=\"fdl-modified\">Modified Version</link>, "
+"as the publisher."
+msgstr ""
+"Préciser sur la <link linkend=\"fdl-title-page\">Page de titre</link> le nom "
+"de l'éditeur de la <link linkend=\"fdl-modified\">Version modifiée</link>, "
+"en tant qu'éditeur du Document."
+
+#: C/gtk-doc-manual.xml:291(title)
+msgid "D"
+msgstr "D"
+
+#: C/gtk-doc-manual.xml:292(para)
+msgid ""
+"Preserve all the copyright notices of the <link linkend=\"fdl-document"
+"\">Document</link>."
+msgstr ""
+"Préserver intégralement toutes les notices de copyright du <link linkend="
+"\"fdl-document\">Document</link>."
+
+#: C/gtk-doc-manual.xml:301(title)
+msgid "E"
+msgstr "E"
+
+#: C/gtk-doc-manual.xml:302(para)
+msgid ""
+"Add an appropriate copyright notice for your modifications adjacent to the "
+"other copyright notices."
+msgstr ""
+"Ajouter une notice de copyright adjacente aux autres notices pour vos "
+"propres modifications."
+
+#: C/gtk-doc-manual.xml:311(title)
+msgid "F"
+msgstr "F"
+
+#: C/gtk-doc-manual.xml:312(para)
+msgid ""
+"Include, immediately after the copyright notices, a license notice giving "
+"the public permission to use the <link linkend=\"fdl-modified\">Modified "
+"Version</link> under the terms of this License, in the form shown in the "
+"Addendum below."
+msgstr ""
+"Inclure immédiatement après les notices de copyright une notice donnant à "
+"quiconque l'autorisation d'utiliser la <link linkend=\"fdl-modified"
+"\">Version modifiée</link> selon les termes de cette Licence, sous la forme "
+"présentée dans l'annexe indiquée ci-dessous."
+
+#: C/gtk-doc-manual.xml:324(title)
+msgid "G"
+msgstr "G"
+
+#: C/gtk-doc-manual.xml:325(para)
+msgid ""
+"Preserve in that license notice the full lists of <link linkend=\"fdl-"
+"invariant\"> Invariant Sections</link> and required <link linkend=\"fdl-"
+"cover-texts\">Cover Texts</link> given in the <link linkend=\"fdl-document"
+"\">Document's</link> license notice."
+msgstr ""
+"Préserver dans cette notice la liste complète des <link linkend=\"fdl-"
+"invariant\">Sections inaltérables</link> et les <link linkend=\"fdl-cover-"
+"texts\">Textes de couverture</link> donnés avec la notice de la Licence du "
+"<link linkend=\"fdl-document\">Document</link>."
+
+#: C/gtk-doc-manual.xml:337(title)
+msgid "H"
+msgstr "H"
+
+#: C/gtk-doc-manual.xml:338(para)
+msgid "Include an unaltered copy of this License."
+msgstr "Inclure une copie non modifiée de cette Licence."
+
+#: C/gtk-doc-manual.xml:346(title)
+msgid "I"
+msgstr "I"
+
+#: C/gtk-doc-manual.xml:347(para)
+msgid ""
+"Preserve the section entitled <quote>History</quote>, and its title, and add "
+"to it an item stating at least the title, year, new authors, and publisher "
+"of the <link linkend=\"fdl-modified\">Modified Version </link>as given on "
+"the <link linkend=\"fdl-title-page\">Title Page</link>. If there is no "
+"section entitled <quote>History</quote> in the <link linkend=\"fdl-document"
+"\">Document</link>, create one stating the title, year, authors, and "
+"publisher of the Document as given on its Title Page, then add an item "
+"describing the Modified Version as stated in the previous sentence."
+msgstr ""
+"Préserver la section nommée <quote>Historique</quote> et son titre, et y "
+"ajouter une nouvelle entrée décrivant le titre, l'année, les nouveaux "
+"auteurs et l'éditeur de la <link linkend=\"fdl-modified\">Version modifiée</"
+"link>, tels que décrits sur la <link linkend=\"fdl-title-page\">Page de "
+"titre</link>, ainsi qu'un descriptif des modifications apportées depuis la "
+"précédente version. S'il n'y a pas de section nommée <quote>Historique</"
+"quote> dans le <link linkend=\"fdl-document\">Document</link>, créer une "
+"telle section précisant le titre, l'année, les auteurs et l'éditeur du "
+"Document tel que précisé sur la <link linkend=\"fdl-title-page\">Page de "
+"titre</link>, et ajouter une entrée décrivant la <link linkend=\"fdl-modified"
+"\">Version modifiée</link> tel que précisé dans la phrase précédente."
+
+#: C/gtk-doc-manual.xml:365(title)
+msgid "J"
+msgstr "J"
+
+#: C/gtk-doc-manual.xml:366(para)
+msgid ""
+"Preserve the network location, if any, given in the <link linkend=\"fdl-"
+"document\">Document</link> for public access to a <link linkend=\"fdl-"
+"transparent\">Transparent</link> copy of the Document, and likewise the "
+"network locations given in the Document for previous versions it was based "
+"on. These may be placed in the <quote>History</quote> section. You may omit "
+"a network location for a work that was published at least four years before "
+"the Document itself, or if the original publisher of the version it refers "
+"to gives permission."
+msgstr ""
+"Conserver l'adresse réseau éventuellement indiquée dans le <link linkend="
+"\"fdl-document\">Document</link> permettant à quiconque d'accéder à une "
+"<link linkend=\"fdl-transparent\">Copie transparente</link> du Document, "
+"ainsi que les adresses réseau indiquées dans le Document pour les versions "
+"précédentes sur lesquelles le Document se base. Ces liens peuvent être "
+"placés dans la section <quote>Historique</quote>. Vous pouvez ne pas "
+"conserver les liens pour un travail datant de plus de quatre ans avant la "
+"version courante ou si l'éditeur d'origine vous en accorde la permission."
+
+#: C/gtk-doc-manual.xml:383(title)
+msgid "K"
+msgstr "K"
+
+#: C/gtk-doc-manual.xml:384(para)
+msgid ""
+"In any section entitled <quote>Acknowledgements</quote> or "
+"<quote>Dedications</quote>, preserve the section's title, and preserve in "
+"the section all the substance and tone of each of the contributor "
+"acknowledgements and/or dedications given therein."
+msgstr ""
+"Si une section <quote>Dédicaces</quote> ou une section <quote>Remerciements</"
+"quote> sont présentes, les informations et les appréciations concernant les "
+"contributeurs et les personnes auxquelles s'adressent ces remerciements "
+"doivent être conservées, ainsi que le titre de ces sections."
+
+#: C/gtk-doc-manual.xml:396(title)
+msgid "L"
+msgstr "L"
+
+#: C/gtk-doc-manual.xml:397(para)
+msgid ""
+"Preserve all the <link linkend=\"fdl-invariant\">Invariant Sections</link> "
+"of the <link linkend=\"fdl-document\">Document</link>, unaltered in their "
+"text and in their titles. Section numbers or the equivalent are not "
+"considered part of the section titles."
+msgstr ""
+"Conserver sans modification les <link linkend=\"fdl-invariant\">Sections "
+"inaltérables</link> du <link linkend=\"fdl-document\">Document</link>, ni "
+"dans leurs textes, ni dans leurs titres. Les numéros de sections ne sont pas "
+"considérés comme faisant partie du texte des sections."
+
+#: C/gtk-doc-manual.xml:409(title)
+msgid "M"
+msgstr "M"
+
+#: C/gtk-doc-manual.xml:410(para)
+msgid ""
+"Delete any section entitled <quote>Endorsements</quote>. Such a section may "
+"not be included in the <link linkend=\"fdl-modified\">Modified Version</"
+"link>."
+msgstr ""
+"Effacer toute section intitulée <quote>Approbations</quote>. Une telle "
+"section ne peut pas être incluse dans une <link linkend=\"fdl-modified"
+"\">Version modifiée</link>."
+
+#: C/gtk-doc-manual.xml:421(title)
+msgid "N"
+msgstr "N"
+
+#: C/gtk-doc-manual.xml:422(para)
+msgid ""
+"Do not retitle any existing section as <quote>Endorsements</quote> or to "
+"conflict in title with any <link linkend=\"fdl-invariant\">Invariant "
+"Section</link>."
+msgstr ""
+"Ne pas renommer une section existante sous le titre <quote>Approbations</"
+"quote> ou sous un autre titre entrant en conflit avec le titre d'une <link "
+"linkend=\"fdl-invariant\">Section inaltérable</link>."
+
+#: C/gtk-doc-manual.xml:432(para)
+msgid ""
+"If the <link linkend=\"fdl-modified\">Modified Version</link> includes new "
+"front-matter sections or appendices that qualify as <link linkend=\"fdl-"
+"secondary\">Secondary Sections</link> and contain no material copied from "
+"the Document, you may at your option designate some or all of these sections "
+"as invariant. To do this, add their titles to the list of <link linkend="
+"\"fdl-invariant\">Invariant Sections</link> in the Modified Version's "
+"license notice. These titles must be distinct from any other section titles."
+msgstr ""
+"Si la <link linkend=\"fdl-modified\">Version modifiée</link> contient de "
+"nouvelles sections préliminaires ou de nouvelles annexes considérées comme "
+"des <link linkend=\"fdl-secondary\">Sections secondaires</link> et que "
+"celles-ci ne contiennent aucun élément copié à partir du Document, vous "
+"pouvez à votre convenance en désigner une ou plusieurs comme étant des "
+"Sections inaltérables. Pour ce faire, ajoutez leurs titres dans la liste des "
+"<link linkend=\"fdl-invariant\">Sections inaltérables</link> au sein de la "
+"notice de Licence de la Version modifiée. Ces titres doivent êtres distincts "
+"des titres des autres sections."
+
+#: C/gtk-doc-manual.xml:444(para)
+msgid ""
+"You may add a section entitled <quote>Endorsements</quote>, provided it "
+"contains nothing but endorsements of your <link linkend=\"fdl-modified"
+"\">Modified Version</link> by various parties--for example, statements of "
+"peer review or that the text has been approved by an organization as the "
+"authoritative definition of a standard."
+msgstr ""
+"Vous pouvez ajouter une section nommée <quote>Approbations</quote> à "
+"condition que ces approbations ne concernent que les modifications ayant "
+"donné naissance à la <link linkend=\"fdl-modified\">Version modifiée</link> "
+"(par exemple, comptes rendus de revue du document ou acceptation du texte "
+"par une organisation le reconnaissant comme étant la définition d'un "
+"standard)."
+
+#: C/gtk-doc-manual.xml:453(para)
+msgid ""
+"You may add a passage of up to five words as a <link linkend=\"fdl-cover-"
+"texts\">Front-Cover Text</link>, and a passage of up to 25 words as a <link "
+"linkend=\"fdl-cover-texts\">Back-Cover Text</link>, to the end of the list "
+"of <link linkend=\"fdl-cover-texts\">Cover Texts</link> in the <link linkend="
+"\"fdl-modified\">Modified Version</link>. Only one passage of Front-Cover "
+"Text and one of Back-Cover Text may be added by (or through arrangements "
+"made by) any one entity. If the <link linkend=\"fdl-document\">Document</"
+"link> already includes a cover text for the same cover, previously added by "
+"you or by arrangement made by the same entity you are acting on behalf of, "
+"you may not add another; but you may replace the old one, on explicit "
+"permission from the previous publisher that added the old one."
+msgstr ""
+"Vous pouvez ajouter un passage comprenant jusqu'à cinq mots en <link linkend="
+"\"fdl-cover-texts\">première page de couverture</link>, et jusqu'à vingt-"
+"cinq mots en <link linkend=\"fdl-cover-texts\">dernière page de couverture</"
+"link>, à la liste des <link linkend=\"fdl-cover-texts\">Textes de "
+"couverture</link> de la <link linkend=\"fdl-modified\">Version modifiée</"
+"link>. Il n'est autorisé d'ajouter qu'un seul passage en première et en "
+"dernière pages de couverture par personne ou groupe de personnes ou "
+"organisation ayant contribué à la modification du Document. Si le <link "
+"linkend=\"fdl-document\">Document</link> comporte déjà un passage sur la "
+"même couverture, ajouté en votre nom ou au nom de l'organisation au nom de "
+"laquelle vous agissez, vous ne pouvez pas ajouter de passage "
+"supplémentaire ; mais vous pouvez remplacer un ancien passage si vous avez "
+"expressément obtenu l'autorisation de l'éditeur de celui-ci."
+
+#: C/gtk-doc-manual.xml:470(para)
+msgid ""
+"The author(s) and publisher(s) of the <link linkend=\"fdl-document"
+"\">Document</link> do not by this License give permission to use their names "
+"for publicity for or to assert or imply endorsement of any <link linkend="
+"\"fdl-modified\">Modified Version </link>."
+msgstr ""
+"Cette Licence ne vous donne pas le droit d'utiliser le nom des auteurs et "
+"des éditeurs de ce <link linkend=\"fdl-document\">Document</link> à des fins "
+"publicitaires ou pour prétendre à l'approbation d'une <link linkend=\"fdl-"
+"modified\">Version modifiée</link>."
+
+#: C/gtk-doc-manual.xml:480(title)
+msgid "5. COMBINING DOCUMENTS"
+msgstr "5. FUSION DE DOCUMENTS"
+
+#: C/gtk-doc-manual.xml:481(para)
+msgid ""
+"You may combine the <link linkend=\"fdl-document\">Document</link> with "
+"other documents released under this License, under the terms defined in "
+"<link linkend=\"fdl-section4\">section 4</link> above for modified versions, "
+"provided that you include in the combination all of the <link linkend=\"fdl-"
+"invariant\">Invariant Sections</link> of all of the original documents, "
+"unmodified, and list them all as Invariant Sections of your combined work in "
+"its license notice."
+msgstr ""
+"Vous pouvez fusionner le <link linkend=\"fdl-document\">Document</link> avec "
+"d'autres documents soumis à cette Licence, suivant les spécifications de la "
+"<link linkend=\"fdl-section4\">section 4</link> pour les Versions modifiées, "
+"à condition d'inclure dans le document résultant toutes les <link linkend="
+"\"fdl-invariant\">Sections inaltérables</link> des documents originaux sans "
+"modification, et de toutes les lister dans la liste des Sections "
+"inaltérables de la notice de Licence du document résultant de la fusion."
+
+#: C/gtk-doc-manual.xml:492(para)
+msgid ""
+"The combined work need only contain one copy of this License, and multiple "
+"identical <link linkend=\"fdl-invariant\">Invariant Sections</link> may be "
+"replaced with a single copy. If there are multiple Invariant Sections with "
+"the same name but different contents, make the title of each such section "
+"unique by adding at the end of it, in parentheses, the name of the original "
+"author or publisher of that section if known, or else a unique number. Make "
+"the same adjustment to the section titles in the list of Invariant Sections "
+"in the license notice of the combined work."
+msgstr ""
+"Le document résultant de la fusion n'a besoin que d'une seule copie de cette "
+"Licence, et les <link linkend=\"fdl-invariant\">Sections inaltérables</link> "
+"existant en multiples exemplaires peuvent être remplacées par une copie "
+"unique. S'il existe plusieurs Sections inaltérables portant le même nom mais "
+"de contenu différent, rendez unique le titre de chaque section en ajoutant, "
+"à la fin de celui-ci, entre parenthèses, le nom de l'auteur ou de l'éditeur "
+"d'origine, ou, à défaut, un numéro unique. Les mêmes modifications doivent "
+"être réalisées dans la liste des Sections inaltérables de la notice de "
+"Licence du document final."
+
+#: C/gtk-doc-manual.xml:505(para)
+msgid ""
+"In the combination, you must combine any sections entitled <quote>History</"
+"quote> in the various original documents, forming one section entitled "
+"<quote>History</quote>; likewise combine any sections entitled "
+"<quote>Acknowledgements</quote>, and any sections entitled "
+"<quote>Dedications</quote>. You must delete all sections entitled "
+"<quote>Endorsements.</quote>"
+msgstr ""
+"Dans le document résultant de la fusion, vous devez rassembler en une seule "
+"toutes les sections <quote>Historique</quote> des documents d'origine. De "
+"même, vous devez rassembler les sections <quote>Remerciements</quote> et "
+"<quote>Dédicaces</quote>. Vous devez supprimer toutes les sections "
+"<quote>Approbations</quote>."
+
+#: C/gtk-doc-manual.xml:516(title)
+msgid "6. COLLECTIONS OF DOCUMENTS"
+msgstr "6. REGROUPEMENTS DE DOCUMENTS"
+
+#: C/gtk-doc-manual.xml:517(para)
+msgid ""
+"You may make a collection consisting of the <link linkend=\"fdl-document"
+"\">Document</link> and other documents released under this License, and "
+"replace the individual copies of this License in the various documents with "
+"a single copy that is included in the collection, provided that you follow "
+"the rules of this License for verbatim copying of each of the documents in "
+"all other respects."
+msgstr ""
+"Vous pouvez créer un regroupement de documents comprenant le <link linkend="
+"\"fdl-document\">Document</link> et d'autres documents soumis à cette "
+"Licence, et remplacer les copies individuelles de cette Licence des "
+"différents documents par une unique copie incluse dans le regroupement de "
+"documents, à condition de respecter pour chacun de ces documents l'ensemble "
+"des règles de cette Licence concernant les copies conformes."
+
+#: C/gtk-doc-manual.xml:527(para)
+msgid ""
+"You may extract a single document from such a collection, and dispbibute it "
+"individually under this License, provided you insert a copy of this License "
+"into the extracted document, and follow this License in all other respects "
+"regarding verbatim copying of that document."
+msgstr ""
+"Vous pouvez extraire un document d'un tel regroupement et le distribuer "
+"individuellement sous couvert de cette Licence, à condition d'y inclure une "
+"copie de cette Licence et d'en respecter l'ensemble des règles concernant "
+"les copies conformes."
+
+#: C/gtk-doc-manual.xml:537(title)
+msgid "7. AGGREGATION WITH INDEPENDENT WORKS"
+msgstr "7. AGRÉGATION AVEC DES TRAVAUX INDÉPENDANTS"
+
+#: C/gtk-doc-manual.xml:538(para)
+msgid ""
+"A compilation of the <link linkend=\"fdl-document\">Document</link> or its "
+"derivatives with other separate and independent documents or works, in or on "
+"a volume of a storage or distribution medium, does not as a whole count as a "
+"<link linkend=\"fdl-modified\">Modified Version</link> of the Document, "
+"provided no compilation copyright is claimed for the compilation. Such a "
+"compilation is called an <quote>aggregate</quote>, and this License does not "
+"apply to the other self-contained works thus compiled with the Document , on "
+"account of their being thus compiled, if they are not themselves derivative "
+"works of the Document. If the <link linkend=\"fdl-cover-texts\">Cover Text</"
+"link> requirement of <link linkend=\"fdl-section3\">section 3</link> is "
+"applicable to these copies of the Document, then if the Document is less "
+"than one quarter of the entire aggregate, the Document's Cover Texts may be "
+"placed on covers that surround only the Document within the aggregate. "
+"Otherwise they must appear on covers around the whole aggregate."
+msgstr ""
+"La compilation du <link linkend=\"fdl-document\">Document</link> ou de ses "
+"dérivés avec d'autres documents ou travaux séparés et indépendants sur un "
+"support de stockage ou sur un média de distribution quelconque ne représente "
+"pas une <link linkend=\"fdl-modified\">Version modifiée</link> du Document "
+"tant qu'aucun copyright n'est déposé pour cette compilation. Une telle "
+"compilation est appelée <quote>agrégat</quote> et cette Licence ne "
+"s'applique pas aux autres travaux indépendants compilés avec le Document "
+"s'ils ne sont pas eux-mêmes des travaux dérivés du Document. Si les "
+"exigences de la <link linkend=\"fdl-section3\">section 3</link> concernant "
+"les <link linkend=\"fdl-cover-texts\">Textes de couverture</link> sont "
+"applicables à ces copies du Document, et si le Document représente un volume "
+"inférieur à un quart du volume total de l'agrégat, les Textes de couverture "
+"du Document peuvent être placés sur des pages de couverture qui n'encadrent "
+"que le Document au sein de l'agrégat. Dans le cas contraire, ils doivent "
+"apparaître sur les pages de couverture de l'agrégat complet."
+
+#: C/gtk-doc-manual.xml:561(title)
+msgid "8. TRANSLATION"
+msgstr "8. TRADUCTION"
+
+#: C/gtk-doc-manual.xml:562(para)
+msgid ""
+"Translation is considered a kind of modification, so you may distribute "
+"translations of the <link linkend=\"fdl-document\">Document</link> under the "
+"terms of <link linkend=\"fdl-section4\">section 4</link>. Replacing <link "
+"linkend=\"fdl-invariant\"> Invariant Sections</link> with translations "
+"requires special permission from their copyright holders, but you may "
+"include translations of some or all Invariant Sections in addition to the "
+"original versions of these Invariant Sections. You may include a translation "
+"of this License provided that you also include the original English version "
+"of this License. In case of a disagreement between the translation and the "
+"original English version of this License, the original English version will "
+"prevail."
+msgstr ""
+"La traduction est considérée comme une forme de modification, vous pouvez "
+"donc distribuer les traductions du <link linkend=\"fdl-document\">Document</"
+"link> selon les termes de la <link linkend=\"fdl-section4\">section 4</"
+"link>. Vous devez obtenir l'autorisation spéciale des auteurs des <link "
+"linkend=\"fdl-invariant\">Sections inaltérables</link> pour les remplacer "
+"par des traductions, mais vous pouvez inclure les traductions des Sections "
+"inaltérables en plus des textes originaux. Vous pouvez inclure une "
+"traduction de cette Licence à condition d'inclure également la version "
+"originale en anglais. En cas de contradiction entre la traduction et la "
+"version originale en anglais, c'est cette dernière qui prévaut."
+
+#: C/gtk-doc-manual.xml:580(title)
+msgid "9. TERMINATION"
+msgstr "9. RÉVOCATION"
+
+#: C/gtk-doc-manual.xml:581(para)
+msgid ""
+"You may not copy, modify, sublicense, or distribute the <link linkend=\"fdl-"
+"document\">Document</link> except as expressly provided for under this "
+"License. Any other attempt to copy, modify, sublicense or distribute the "
+"Document is void, and will automatically terminate your rights under this "
+"License. However, parties who have received copies, or rights, from you "
+"under this License will not have their licenses terminated so long as such "
+"parties remain in full compliance."
+msgstr ""
+"Vous ne pouvez pas copier, modifier, sous-licencier ou distribuer le <link "
+"linkend=\"fdl-document\">Document</link> autrement que selon les termes de "
+"cette Licence. Tout autre acte de copie, modification, sous-Licence ou "
+"distribution du Document est sans objet et vous prive automatiquement des "
+"droits que cette Licence vous accorde. En revanche, les personnes qui ont "
+"reçu de votre part des copies ou les droits sur le document sous couvert de "
+"cette Licence ne voient pas leurs droits révoqués tant qu'elles en "
+"respectent les principes."
+
+#: C/gtk-doc-manual.xml:594(title)
+msgid "10. FUTURE REVISIONS OF THIS LICENSE"
+msgstr "10. RÉVISIONS FUTURES DE CETTE LICENCE"
+
+#: C/gtk-doc-manual.xml:595(para)
+msgid ""
+"The <ulink type=\"http\" url=\"http://www.gnu.org/fsf/fsf.html\">Free "
+"Software Foundation</ulink> may publish new, revised versions of the GNU "
+"Free Documentation License from time to time. Such new versions will be "
+"similar in spirit to the present version, but may differ in detail to "
+"address new problems or concerns. See <ulink type=\"http\" url=\"http://www."
+"gnu.org/copyleft\">http://www.gnu.org/copyleft/</ulink>."
+msgstr ""
+"La <ulink type=\"http\" url=\"http://www.gnu.org/fsf/fsf.html\">Free "
+"Software Foundation</ulink> peut publier de temps en temps de nouvelles "
+"versions révisées de cette Licence. Ces nouvelles versions seront semblables "
+"à la présente version dans l'esprit, mais pourront différer sur des points "
+"particuliers en fonction de nouvelles questions ou nouveaux problèmes. Voyez "
+"<ulink type=\"http\" url=\"http://www.gnu.org/copyleft\">http://www.gnu.org/"
+"copyleft/</ulink> pour plus de détails."
+
+#: C/gtk-doc-manual.xml:606(para)
+msgid ""
+"Each version of the License is given a distinguishing version number. If the "
+"<link linkend=\"fdl-document\">Document</link> specifies that a particular "
+"numbered version of this License <quote>or any later version</quote> applies "
+"to it, you have the option of following the terms and conditions either of "
+"that specified version or of any later version that has been published (not "
+"as a draft) by the Free Software Foundation. If the Document does not "
+"specify a version number of this License, you may choose any version ever "
+"published (not as a draft) by the Free Software Foundation."
+msgstr ""
+"Chaque version de cette Licence est dotée d'un numéro de version distinct. "
+"Si un <link linkend=\"fdl-document\">Document</link> spécifie un numéro de "
+"version particulier de cette Licence, et porte la mention <quote>ou toute "
+"autre version ultérieure</quote>, vous pouvez choisir de suivre les termes "
+"de la version spécifiée ou ceux de n'importe quelle version ultérieure "
+"publiée par la Free Software Foundation. Si aucun numéro de version n'est "
+"spécifié, vous pouvez choisir n'importe quelle version officielle publiée "
+"par la Free Software Foundation."
+
+#: C/gtk-doc-manual.xml:621(title)
+msgid "Addendum"
+msgstr "Addendum"
+
+#: C/gtk-doc-manual.xml:622(para)
+msgid ""
+"To use this License in a document you have written, include a copy of the "
+"License in the document and put the following copyright and license notices "
+"just after the title page:"
+msgstr ""
+"Pour utiliser cette Licence avec un document que vous avez écrit, incorporez "
+"une copie du texte de cette Licence en anglais et placez le texte ci-dessous "
+"juste après la page de titre :"
+
+#: C/gtk-doc-manual.xml:629(para)
+msgid "Copyright YEAR YOUR NAME."
+msgstr "Copyright © 2010 Bruno Brouard."
+
+#: C/gtk-doc-manual.xml:632(para)
+msgid ""
+"Permission is granted to copy, distribute and/or modify this document under "
+"the terms of the GNU Free Documentation License, Version 1.1 or any later "
+"version published by the Free Software Foundation; with the <link linkend="
+"\"fdl-invariant\">Invariant Sections</link> being LIST THEIR TITLES, with "
+"the <link linkend=\"fdl-cover-texts\">Front-Cover Texts</link> being LIST, "
+"and with the <link linkend=\"fdl-cover-texts\">Back-Cover Texts</link> being "
+"LIST. A copy of the license is included in the section entitled <quote>GNU "
+"Free Documentation License</quote>."
+msgstr ""
+"Permission vous est donnée de copier, distribuer et/ou modifier ce document "
+"selon les termes de la Licence GNU Free Documentation License, Version 1.1 "
+"ou ultérieure publiée par la Free Software Foundation ; avec <link linkend="
+"\"fdl-invariant\">les sections inaltérables</link> suivantes LISTE DES "
+"TITRES DES SECTIONS INALTÉRABLES, avec le <link linkend=\"fdl-cover-texts"
+"\">texte de première page de couverture</link> suivant TEXTE DE PREMIÈRE "
+"PAGE DE COUVERTURE et avec le <link linkend=\"fdl-cover-texts\">texte de "
+"dernière page de couverture</link> suivant TEXTE DE DERNIÈRE PAGE DE "
+"COUVERTURE. Une copie de cette Licence est incluse dans la section appelée "
+"<quote>GNU Free Documentation License</quote> de ce document."
+
+#: C/gtk-doc-manual.xml:647(para)
+msgid ""
+"If you have no <link linkend=\"fdl-invariant\">Invariant Sections</link>, "
+"write <quote>with no Invariant Sections</quote> instead of saying which ones "
+"are invariant. If you have no <link linkend=\"fdl-cover-texts\">Front-Cover "
+"Texts</link>, write <quote>no Front-Cover Texts</quote> instead of "
+"<quote>Front-Cover Texts being LIST</quote>; likewise for <link linkend="
+"\"fdl-cover-texts\">Back-Cover Texts</link>."
+msgstr ""
+"Si votre Document ne comporte pas de <link linkend=\"fdl-invariant\">section "
+"inaltérable</link> écrivez <quote>pas de section inaltérable</quote> au lieu "
+"de la liste des sections inaltérables. Si votre Document ne comporte pas de "
+"<link linkend=\"fdl-cover-texts\">texte de première page de couverture</"
+"link>, écrivez <quote>pas de texte de première page de couverture</quote> au "
+"lieu de <quote>texte de première page de couverture suivant TEXTE DE "
+"PREMIÈRE PAGE DE COUVERTURE</quote> ; de même pour le <link linkend=\"fdl-"
+"cover-texts\">texte de dernière page de couverture</link>."
+
+#: C/gtk-doc-manual.xml:657(para)
+msgid ""
+"If your document contains nontrivial examples of program code, we recommend "
+"releasing these examples in parallel under your choice of free software "
+"license, such as the <ulink type=\"http\" url=\"http://www.gnu.org/copyleft/"
+"gpl.html\"> GNU General Public License</ulink>, to permit their use in free "
+"software."
+msgstr ""
+"Si votre Document contient des exemples non triviaux de code programme, nous "
+"recommandons de distribuer ces exemples en parallèle sous <ulink type=\"http"
+"\" url=\"http://www.gnu.org/copyleft/gpl.html\">Licence GNU General Public "
+"License</ulink>, qui permet leur usage dans les logiciels libres."
+
+#. Put one translator per line, in the form of NAME <EMAIL>, YEAR1, YEAR2
+#: C/gtk-doc-manual.xml:0(None)
+msgid "translator-credits"
+msgstr ""
+"Yannick Tailliez <ytdispatch-libre02@yahoo.com>, 2009\n"
+"Frédéric Péters <fpeters@0d.be>, 2009\n"
+"Bruno Brouard <annoa.b@gmail.com>, 2010\n"
+"Claude Paroz <claude@2xlibre.net>, 2010\n"
+"Gérard Baylard <Geodebay@gmail.com>, 2010"
--- /dev/null
+<?xml version="1.0" encoding="utf-8" standalone="no"?>
+<?xml-stylesheet type="text/xml" href="params.xsl"?>
+<!-- vim: set ai tw=80 ts=3 sw=3: -->
+<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "
+ http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
+<!ENTITY FDL SYSTEM "fdl-appendix.xml">
+<!ENTITY FDLlink "<link linkend='fdl'>included</link>">
+]>
+<!-- =============Document Header ============================= -->
+<book id="index" lang="fr">
+ <bookinfo>
+ <title>Manuel de GTK-Doc</title>
+ <edition>1.18</edition>
+ <abstract role="description"><para>Manuel utilisateur pour les développeurs contenant les instructions sur l'usage de GTK-Doc.</para></abstract>
+ <authorgroup>
+ <author>
+ <firstname>Chris</firstname>
+ <surname>Lyttle</surname>
+ <affiliation>
+ <address>
+ <email>chris@wilddev.net</email>
+ </address>
+ </affiliation>
+ </author>
+ <author>
+ <firstname>Dan</firstname>
+ <surname>Mueth</surname>
+ <affiliation>
+ <address>
+ <email>d-mueth@uchicago.edu</email>
+ </address>
+ </affiliation>
+ </author>
+ <author>
+ <firstname>Stefan</firstname>
+ <surname>Kost</surname>
+ <affiliation>
+ <address>
+ <email>ensonic@users.sf.net</email>
+ </address>
+ </affiliation>
+ </author>
+ </authorgroup>
+ <publisher role="maintainer">
+ <publishername>Projet GTK-Doc</publishername>
+ <address><email>gtk-doc-list@gnome.org</email></address>
+ </publisher>
+ <copyright>
+ <year>2000, 2005</year>
+ <holder>Dan Mueth and Chris Lyttle</holder>
+ </copyright>
+ <copyright>
+ <year>2007-2011</year>
+ <holder>Stefan Sauer (Kost)</holder>
+ </copyright><copyright><year>2009</year><holder>Yannick Tailliez (ytdispatch-libre02@yahoo.com)</holder></copyright><copyright><year>2009</year><holder>Frédéric Péters (fpeters@0d.be)</holder></copyright><copyright><year>2010</year><holder>Bruno Brouard (annoa.b@gmail.com)</holder></copyright><copyright><year>2010</year><holder>Claude Paroz (claude@2xlibre.net)</holder></copyright><copyright><year>2010</year><holder>Gérard Baylard (Geodebay@gmail.com)</holder></copyright>
+
+ <!-- translators: uncomment this:
+ <copyright>
+ <year>2000</year>
+ <holder>ME-THE-TRANSLATOR (Latin translation)</holder>
+ </copyright>
+ -->
+
+ <legalnotice>
+ <para>Permission vous est donnée de copier, distribuer et/ou modifier ce document selon les termes de la <citetitle>licence de documentation libre GNU</citetitle>, version 1.1 ou ultérieure publiée par la Free Software Foundation sans section inaltérable, sans texte de première page de couverture ni texte de dernière page de couverture. Vous trouverez un exemplaire de cette licence en suivant ce <link linkend="fdl">lien</link>.</para>
+ <para>La plupart des noms utilisés par les entreprises pour distinguer leurs produits et services sont des marques déposées. Lorsque ces noms apparaissent dans la documentation GNOME et que les membres du projet de Documentation GNOME sont informés de l'existence de ces marques déposées, soit ces noms entiers, soit leur première lettre est en majuscule.</para>
+ </legalnotice>
+
+ <revhistory>
+ <!--revision>
+ <revnumber>1.18.1</revnumber>
+ <date>15 Sep 2011</date>
+ <authorinitials>sk</authorinitials>
+ <revremark>development version, markdown support</revremark>
+ </revision-->
+ <revision>
+ <revnumber>1.18</revnumber>
+ <date>14 sep 2011</date>
+ <authorinitials>sk</authorinitials>
+ <revremark>bug fixes, speedups, markdown support</revremark>
+ </revision>
+ <revision>
+ <revnumber>1.17</revnumber>
+ <date>26 février 2011</date>
+ <authorinitials>sk</authorinitials>
+ <revremark>mise à jour pour une correction de bogue urgente</revremark>
+ </revision>
+ <revision>
+ <revnumber>1.16</revnumber>
+ <date>14 janvier 2011</date>
+ <authorinitials>sk</authorinitials>
+ <revremark>correctifs et améliorations de mise en page</revremark>
+ </revision>
+ <revision>
+ <revnumber>1.15</revnumber>
+ <date>21 mai 2010</date>
+ <authorinitials>sk</authorinitials>
+ <revremark>corrections d'anomalies et de régressions</revremark>
+ </revision>
+ <revision>
+ <revnumber>1.14</revnumber>
+ <date>28 mars 2010</date>
+ <authorinitials>sk</authorinitials>
+ <revremark>correctifs et amélioration de performances</revremark>
+ </revision>
+ <revision>
+ <revnumber>1.13</revnumber>
+ <date>18 décembre 2009</date>
+ <authorinitials>sk</authorinitials>
+ <revremark>mise à jour du tarball brisé</revremark>
+ </revision>
+ <revision>
+ <revnumber>1.12</revnumber>
+ <date>18 décembre 2009</date>
+ <authorinitials>sk</authorinitials>
+ <revremark>comportements de nouveaux outils et résolution de bogues</revremark>
+ </revision>
+ <revision>
+ <revnumber>1.11</revnumber>
+ <date>16 novembre 2008</date>
+ <authorinitials>mal</authorinitials>
+ <revremark>Migration à GNOME doc-utils</revremark>
+ </revision>
+ </revhistory>
+
+ </bookinfo>
+
+ <!-- ======== Chapter 1: Introduction ======================== -->
+
+ <chapter id="introduction">
+ <title>Introduction</title>
+
+ <para>Ce chapitre présente GTK-Doc et fournit un aperçu de ce que c'est et de la manière de l'utiliser.</para>
+
+ <sect1 id="whatisgtkdoc">
+ <title>Qu'est-ce que GTK-Doc ?</title>
+
+ <para>GTK-Doc est utilisé pour documenter du code C. Il est typiquement utilisé pour documenter les API publiques de bibliothèques, comme les bibliothèques GTK+ et GNOME. Mais il peut aussi être utilisé pour documenter du code d'application.</para>
+ </sect1>
+
+ <sect1 id="howdoesgtkdocwork">
+ <title>Fonctionnement de GTK-Doc ?</title>
+
+ <para>GTK-Doc fonctionne en utilisant la documentation de fonctions placées dans le code source sous la forme de blocs de commentaires avec un formatage spécifique ou la documentation ajoutée aux fichiers prototypes que GTK-Doc utilise (notez cependant que GTK-Doc ne documente que les fonctions déclarées dans des fichiers d'en-tête ; il ne fait rien pour les fonctions statiques).</para>
+
+ <para>GTK-Doc consiste en un certain nombre de scripts Perl, chacun réalisant une étape du processus.</para>
+
+ <para>Il y a 5 étapes principales :</para>
+
+ <orderedlist>
+
+ <listitem>
+ <para><guilabel>Écriture de la documentation.</guilabel> L'auteur complète les fichiers sources avec la documentation pour chaque fonction, macro, union, etc. (dans le passé, l'information était saisie dans les fichiers prototypes générés mais ce n'est plus recommandé).</para>
+ </listitem>
+
+ <listitem>
+ <para><guilabel>Collecte des informations sur le code.</guilabel> <application>gtkdoc-scan</application> analyse les fichiers d'en-tête du code à la recherche des déclarations de fonctions, de macros, d'énumérations, de structures et d'unions. Il crée le fichier <filename><module>-decl-list.txt</filename> contenant une liste des déclarations en les plaçant dans des sections en accord avec le fichier d'en-tête d'où elles proviennent. Lors du premier lancement, ce fichier est copié dans <filename><module>-sections.txt</filename>. L'auteur peut réorganiser les sections et l'ordre des déclarations dans celui-ci, pour obtenir l'ordre final souhaité. Le deuxième fichier généré est <filename><module>-decl.txt</filename>. Ce fichier contient les déclarations complètes trouvées lors de l'analyse. Si, pour une raison quelconque, on souhaite voir apparaître dans la documentation des éléments qui n'ont pas été trouvé lors de l'analyse, ou dont la déclaration doit apparaître différemment, il est possible d'ajouter des entrées dans <filename><module>-overrides.txt</filename> similaires à celle de <filename><module>-decl.txt</filename>. <application>gtkdoc-scanobj</application> peut aussi être utilisé pour interroger de manière dynamique une bibliothèque à propos de n'importe quelle sous-classe de GtkObject qu'elle exporte. Il enregistre les informations sur la position de chaque objet dans la hiérarchie de classe et sur tous les arguments et signaux GTK fournis.</para>
+ </listitem>
+
+ <listitem>
+ <para><guilabel>Génération des fichiers « prototypes ».</guilabel> <application>gtkdoc-mktmpl</application> crée un certain nombre de fichiers dans le sous-répertoire <filename class="directory">tmpl/</filename>, en utilisant les informations récoltées lors de la première étape (notez que le script peut être exécuté plusieurs fois, il est fait en sorte qu'aucune donnée ne soit jamais perdue).</para>
+ <note>
+ <para>Depuis GTK-Doc 1.9, les prototypes peuvent être évités. Nous encourageons tout le monde à conserver la documentation dans le code. <application>gtkdocize</application> prend maintenant en charge l'option <command>--flavour no-tmpl</command> qui choisit un makefile qui évite complètement l'utilisation de tmpl. Si vous n'avez jamais modifié de fichiers à la main dans tmpl, effacez le répertoire (par ex. à partir d'un système de gestion de versions).</para>
+ </note>
+ </listitem>
+
+ <listitem>
+ <para><guilabel>Génération du SGML/XML et du HTML/PDF.</guilabel> <application>gtkdoc-mkdb</application> transforme les fichiers prototypes en fichiers SGML ou XML dans le répertoire <filename class="directory">sgml/</filename> ou <filename class="directory">xml/</filename>. Si le code source contient de la documentation sur les fonctions, en utilisant les blocs de commentaires spéciaux, elle sera fusionnée ici. Si aucun fichier tmpl n'est utilisé, seule la documentation contenue dans les sources et les données d'introspection seront lues. Nous recommandons l'utilisation de XML DocBook.</para>
+ <para><application>gtkdoc-mkhtml</application> transforme les fichiers SGML/XML en fichiers HTML dans le répertoire <filename class="directory">html/</filename>. De même <application>gtkdoc-mkpdf</application> transforme les fichiers SGML/XML en documents PDF appelés <filename><package>.pdf</filename>.</para>
+ <para>Les fichiers dans les répertoires <filename class="directory">sgml/</filename> ou <filename class="directory">xml/</filename> et <filename class="directory">html/</filename> sont toujours écrasés. Il ne faut pas les modifier directement.</para>
+ </listitem>
+
+ <listitem>
+ <para><guilabel>Résolution des références croisées entre les documents.</guilabel> Après installation des fichiers HTML, <application>gtkdoc-fixxref</application> peut être exécuté pour résoudre toutes les références croisées entre les différents documents. Par exemple, la documentation de GTK+ contient beaucoup de références croisées vers des types documentés dans le manuel de GLib. Lors de la création de l'archive des sources pour la distribution, <application>gtkdoc-rebase</application> transforme tous les liens externes en liens Web. Lorsque vous installez la documentation distribuée (pré-générée), la même application va essayer de retransformer les liens en liens locaux (là où ces documentations sont installées).</para>
+ </listitem>
+ </orderedlist>
+
+ </sect1>
+
+ <sect1 id="gettinggtkdoc">
+ <title>Obtention de GTK-Doc</title>
+
+ <sect2 id="requirements">
+ <title>Pré-requis</title>
+ <para><guilabel>Perl v5</guilabel> - les principaux scripts sont écrits en Perl.</para>
+ <para><guilabel>DocBook DTD v3.0</guilabel> - ce sont les DTD DocBook SGML. <ulink url="http://www.ora.com/davenport" type="http">http://www.ora.com/davenport</ulink></para>
+ <para><guilabel>Jade v1.1</guilabel> - c'est un moteur DSSSL pour convertir le SGML en divers formats. <ulink url="http://www.jclark.com/jade" type="http">http://www.jclark.com/jade</ulink></para>
+ <para><guilabel>Modular DocBook Stylesheets</guilabel> - c'est le code DSSSL utilisé pour convertir de DocBook vers HTML (ainsi que quelques autres formats). Il est utilisé conjointement avec Jade. J'ai légèrement personnalisé le code DSSSL, dans gtk-doc.dsl, pour coloriser les listings de code du programme et les déclarations ainsi que pour prendre en charge les indices globaux des références croisées dans le HTML généré. <ulink url="http://nwalsh.com/docbook/dsssl" type="http">http://nwalsh.com/docbook/dsssl</ulink></para>
+ <para><guilabel>docbook-to-man</guilabel> - si vous souhaitez créer des pages de manuel depuis DocBook. J'ai légèrement adapté les « spécifications de traduction » pour mettre en majuscule les en-têtes de section et pour ajouter le titre « GTK Library » en haut des pages et la date de révision en bas. Il y a un lien sur cela ici <ulink url="http://www.ora.com/davenport" type="http">http://www.ora.com/davenport</ulink>. Note : cela ne fonctionne pas encore.</para>
+ </sect2>
+
+ <sect2 id="installation">
+ <title>Installation</title>
+ <para>Il n'y a pas d'emplacement standard pour l'installation des feuilles de styles modulaires de DocBook.</para>
+ <para>Les scripts d'installation de GTK-Doc cherchent dans ces trois répertoires automatiquement :</para>
+ <para><filename> /usr/lib/sgml/stylesheets/nwalsh-modular </filename> (utilisé par Red Hat)</para>
+ <para><filename> /usr/lib/dsssl/stylesheets/docbook </filename> (utilisé par Debian)</para>
+ <para><filename> /usr/share/sgml/docbkdsl </filename> (utilisé par SuSE)</para>
+ <para>Si les feuilles de styles sont installées autre part, vous devez configurer GTK-Doc en utilisant l'option : <command>--with-dsssl-dir=<CHEMIN_VERS_REPERTOIRE_RACINE_FEUILLES2STYLEs></command>.</para>
+ </sect2>
+
+ </sect1>
+
+ <!-- not realy worth a section
+ <sect1 id="whentousegtkdoc">
+ <title>When to Use GTK-Doc</title>
+
+ <para>
+ (What things GTK-Doc should, and shouldn't, be used for.)
+ (- ???)
+ (- non C-based projects)
+ (+ Tutorials)
+ </para>
+
+ </sect1>
+ -->
+
+ <sect1 id="aboutgtkdoc">
+ <title>À propos de GTK-Doc</title>
+
+ <para>(À COMPLETER)</para>
+
+ <para>(Historique, auteurs, pages Web, licence, projets futurs, comparaison avec des systèmes similaires.)</para>
+
+ </sect1>
+
+ <sect1 id="aboutthismanual">
+ <title>À propos de ce manuel</title>
+
+ <para>(À COMPLETER)</para>
+
+ <para>(qui est concerné, où le récupérer, licence)</para>
+
+ </sect1>
+
+ </chapter>
+
+ <chapter id="settingup">
+ <title>Mise en place de votre projet</title>
+
+ <para>Les sections suivantes décrivent les étapes à suivre pour intégrer GTK-Doc dans votre projet. Nous allons supposer que vous travaillez sur un projet appelé « meep ». Ce projet contient une bibliothèque appelée « libmeep » et une application « meeper ». Nous supposons également que vous utilisez autoconf et automake. Dans le cas contraire, la section <link linkend="plain_makefiles">« makefiles » simples et autres systèmes de compilation</link> décrit les éléments de base à respecter pour travailler dans une autre configuration de construction.</para>
+
+ <sect1 id="settingup_docfiles">
+ <title>Mise en place du squelette de documentation</title>
+
+ <para>Dans le répertoire racine de votre projet, créez les répertoires appelés docs/reference (de la même façon, vous pouvez avoir docs/help pour la documentation utilisateur). Il est recommandé de créer un autre sous-répertoire portant le nom du paquet de documentation. Pour les paquets qui contiennent seulement une bibliothèque, cette étape n'est pas nécessaire.</para>
+
+ <para>Cela peut ressembler à ce qui suit : <example><title>Exemple d'arborescence de répertoires</title>
+ <programlisting>
+<![CDATA[
+meep/
+ docs/
+ reference/
+ libmeep/
+ meeper/
+ src/
+ libmeep/
+ meeper/
+]]>
+ </programlisting>
+ </example></para>
+ </sect1>
+
+ <sect1 id="settingup_autoconf">
+ <title>Intégration avec autoconf</title>
+
+ <para>C'est très simple ! Il faut juste ajouter une ligne dans votre script <filename>configure.ac</filename>.</para>
+
+ <para>
+ <example><title>Intégration avec autoconf</title>
+ <programlisting>
+<![CDATA[
+# check for gtk-doc
+GTK_DOC_CHECK([1.14],[--flavour no-tmpl])
+]]>
+ </programlisting>
+ </example>
+ </para>
+
+ <para>Cela impose à tous les développeurs d'installer gtk-doc. Si pour votre projet, vous pouvez avoir une configuration de construction api-doc optionnelle, vous pouvez résoudre ce problème comme ci-dessous. Ne le modifiez pas car gtkdocize recherche <function>GTK_DOC_CHECK</function> au début d'une ligne. <example><title>Laisser gtk-doc optionnel</title>
+ <programlisting>
+<![CDATA[
+# check for gtk-doc
+m4_ifdef([GTK_DOC_CHECK], [
+GTK_DOC_CHECK([1.14],[--flavour no-tmpl])
+],[
+AM_CONDITIONAL([ENABLE_GTK_DOC], false)
+])
+]]>
+ </programlisting>
+ </example></para>
+
+ <para>Le premier argument est utilisé pour vérifier le paramètre gtkdocversion au moment de la configuration. Le second, en option, est utilisé par <application>gtkdocize</application>. La macro <symbol>GTK_DOC_CHECK</symbol> ajoute également plusieurs drapeaux de configuration :</para>
+ <orderedlist>
+ <listitem><para>--with-html-dir=CHEMIN : répertoire d'installation de la documentation,</para></listitem>
+ <listitem><para>--enable-gtk-doc : utilisation de gtk-doc pour construire la documentation [par défaut=no],</para></listitem>
+ <listitem><para>--enable-gtk-doc-html : construction de la documentation au format html [par défaut=yes],</para></listitem>
+ <listitem><para>--enable-gtk-doc-pdf : construction de la documentation au format pdf [par défaut=no].</para></listitem>
+ </orderedlist>
+
+ <important>
+ <para>GTK-Doc est désactivé par défaut ! N'oubliez pas de passer l'option <option>'--enable-gtk-doc'</option> lors de la prochaine exécution du script <filename>configure</filename>. Dans le cas contraire, la documentation pré-générée est installée (ce qui a du sens pour les utilisateurs mais pas pour les développeurs).</para>
+ </important>
+
+ <para>De plus, il est recommandé d'avoir la ligne suivante dans votre script <filename>configure.ac</filename>. Cela permet à <filename>gtkdocize</filename> de copier automatiquement les définitions de macro pour <function>GTK_DOC_CHECK</function> à votre projet.</para>
+
+ <para>
+ <example><title>Préparation pour gtkdocize</title>
+ <programlisting>
+<![CDATA[
+AC_CONFIG_MACRO_DIR(m4)
+]]>
+ </programlisting>
+ </example>
+ </para>
+ </sect1>
+
+ <sect1 id="settingup_automake">
+ <title>Intégration avec automake</title>
+
+ <para>Pour commencer, copiez le fichier <filename>Makefile.am</filename> depuis le sous-répertoire des exemples de gtkdoc-sources vers le répertoire de documentation d'API du projet (<filename class="directory">./docs/reference/<paquet></filename>). S'il y a plusieurs paquets de documentation, répétez cette étape pour chacun d'eux.</para>
+
+ <para>L'étape suivante est de modifier les options dans le fichier <filename>Makefile.am</filename>. Toutes les options sont accompagnées d'un commentaire au-dessus qui explique leur fonction. La plupart des options sont des paramètres supplémentaires qui sont passés aux outils respectifs. Chaque outil possède une variable de la forme <option><NOM_DE_L_OUTIL>_OPTIONS</option>. Tous les outils prennent en charge l'option <option>--help</option> qui affiche la liste des options prises en charge.</para>
+
+ <!-- FIXME: explain options ? -->
+
+ <para>Il est aussi possible d'activer GTK-Doc pour la cible distcheck de make. Il faut juste ajouter la ligne suivante au fichier <filename>Makefile.am</filename> du répertoire racine :</para>
+
+ <para>
+ <example><title>Activation de GTK-Doc pendant le « make distcheck »</title>
+ <programlisting>
+<![CDATA[
+DISTCHECK_CONFIGURE_FLAGS=--enable-gtk-doc
+]]>
+ </programlisting>
+ </example>
+ </para>
+
+ </sect1>
+
+ <sect1 id="settingup_autogen">
+ <title>Intégration avec autogen</title>
+
+ <para>La plupart des projets possède un script <filename>autogen.sh</filename> pour configurer l'infrastructure de compilation après un « checkout » depuis un système de gestion de versions (comme cvs/svn/git). GTK-Doc est livré avec un outil appelé <filename>gtkdocize</filename>, qui peut être utilisé dans un script comme celui-ci. Il doit être lancé avant autoheader, automake ou autoconf.</para>
+
+ <para>
+ <example><title>Exécution de gtkdocize depuis autogen.sh</title>
+ <programlisting>
+<![CDATA[
+gtkdocize || exit 1
+]]>
+ </programlisting>
+ </example>
+ </para>
+
+ <para>Lorsque <filename>gtkdocize</filename> est exécuté, il copie <filename>gtk-doc.make</filename> vers le répertoire racine de votre projet (ou tout autre répertoire désigné par l'option --docdir). Il vérifie également l'invocation de <function>GTK_DOC_CHECK</function> dans le script configure. Cette macro peut être utilisée pour transmettre des paramètres supplémentaires à <application>gtkdocize</application>.</para>
+
+ <para>Historiquement, GTK-Doc générait des fichiers prototypes dans lesquels les développeurs saisissaient la documentation. Il s'est avéré que ce n'était pas une bonne idée (comme le besoin de placer les fichiers générés dans le gestionnaire de versions). Depuis GTK-Doc 1.9, les outils peuvent récupérer toutes les informations à partir des commentaires dans les sources, ce qui permet d'éviter d'avoir des prototypes. Nous vous encourageons à conserver la documentation dans le code. <application>gtkdocize</application> prend maintenant en charge une option <option>--flavour=no-tmpl</option> qui choisit un makefile qui s'affranchit totalement de l'utilisation des fichiers prototypes (tmpl). En plus d'ajouter les options directement au moment de l'appel de la commande, elles peuvent être ajoutées également dans une variable d'environnement appelée <symbol>GTKDOCIZE_FLAGS</symbol> ou choisies comme deuxième paramètre dans la macro <symbol>GTK_DOC_CHECK</symbol> dans le script de configuration. Si aucune modification n'a été faite à la main dans les fichiers prototypes et si vous migrez à partir d'anciennes versions de gtkdoc, supprimez le répertoire (par ex. à partir du système de gestion de versions).</para>
+ </sect1>
+
+ <sect1 id="settingup_firstrun">
+ <title>Lancement de la construction de la documentation</title>
+
+ <para>Après toutes ces étapes, il est temps de lancer la construction. Tout d'abord, il faut relancer <filename>autogen.sh</filename>. Si ce script lance « configure » pour vous, alors il faut ajouter l'option <option>--enable-gtk-doc</option>, sinon lancez manuellement <filename>configure</filename> suivi de cette option.</para>
+ <para>La première exécution de make génère plusieurs fichiers supplémentaires dans les répertoires de documentation (doc-dirs). Les plus importants sont : <filename><paquet>.types</filename>, <filename><paquet>-docs.xml</filename> (anciennement .sgml), <filename><paquet>-sections.txt</filename>.</para>
+ <para>
+ <example><title>Lancement de la construction de la documentation</title>
+ <programlisting>
+<![CDATA[
+./autogen.sh --enable-gtk-doc
+make
+]]>
+ </programlisting>
+ </example>
+ </para>
+ <para>Maintenant, vous pouvez saisir l'adresse <filename>docs/reference/<paquet>/index.html</filename> dans votre navigateur. Le résultat est encore un peu décevant mais le prochain chapitre va expliquer comment donner de la vie à ces pages.</para>
+ </sect1>
+
+ <sect1 id="settingup_vcs">
+ <title>Intégration avec des systèmes de gestion de versions</title>
+
+ <para>Comme le veut la règle de base, ce sont les fichiers que vous modifiez qui doivent être placés dans le système de gestion de versions. Pour les projets typiques, ce sont ces fichiers : <filename><paquet>.types</filename>, <filename><paquet>-docs.xml</filename> (anciennement .sgml), <filename><paquet>-sections.txt</filename>, <filename>Makefile.am</filename></para>
+ </sect1>
+
+ <sect1 id="plain_makefiles">
+ <title>Intégration avec des « makefiles » simples et d'autres systèmes de compilation</title>
+
+ <para>Dans les cas où l'emploi de automake n'est pas souhaité et donc sans fichier <filename>gtk-doc.mak</filename>, il s'agit alors d'appeler les outils gtkdoc dans le bon ordre dans les fichiers « makefiles » ad hoc (ou d'autres systèmes).</para>
+
+ <para>
+ <example><title>Étapes de construction de la documentation</title>
+ <programlisting>
+<![CDATA[
+DOC_MODULE=meep
+// sources have changed
+gtkdoc-scan --module=$(DOC_MODULE) --source-dir=...
+gtkdoc-scangobj --module=$(DOC_MODULE)
+gtkdoc-mkdb --module=$(DOC_MODULE) --output-format=xml
+// xml files have changed
+mkdir html
+cd html && gtkdoc-mkhtml $(DOC_MODULE) ../meep-docs.xml
+gtkdoc-fixxref --module=$(DOC_MODULE) --module-dir=html
+]]>
+ </programlisting>
+ </example>
+ </para>
+
+ <para>Il s'agit d'examiner les fichiers <filename>Makefile.am</filename> et <filename>gtk-doc.mak</filename> pour y trouver les options supplémentaires nécessaires.</para>
+ </sect1>
+
+ </chapter>
+
+ <chapter id="documenting">
+ <title>Documentation du code</title>
+
+ <para>GTK-Doc utilise les commentaires du code source, avec une syntaxe spéciale pour la documentation du code. En outre, il récupère des informations sur la structure de votre projet à partir d'autres sources. La section suivante vous donne toutes les informations concernant la syntaxe des commentaires.</para>
+
+ <note>
+ <title>Emplacement de la documentation</title>
+ <para>Par le passé, la plupart de la documentation devait être placé dans des fichiers dans le répertoire <filename>tmpl</filename>. Les inconvénients étaient que l'information n'était pas souvent mise à jour et que ces fichiers avaient tendance à provoquer des conflits avec les systèmes de gestion de versions.</para>
+ <para>Pour éviter ces problèmes, il est conseillé de placer la documentation dans le code source. Ce manuel ne décrit que cette manière de documenter du code.</para>
+ </note>
+
+ <para>L'analyse peut prendre en charge de manière correcte la majorité des en-têtes C. Au cours de l'analyse, en cas d'apparition d'avertissements qui ont l'air d'être des cas spéciaux, vous pouvez indiquer à GTK-Doc de les passer. <example><title>Bloc de commentaire GTK-Doc</title>
+ <programlisting>
+<![CDATA[
+#ifndef __GTK_DOC_IGNORE__
+/* unparseable code here */
+#endif
+]]>
+ </programlisting>
+ </example></para>
+
+ <!-- -->
+
+ <sect1 id="documenting_syntax">
+ <title>Commentaires de documentation</title>
+
+ <para>Un commentaire multi-ligne qui commence avec un symbole « * » supplémentaire indique un bloc de documentation qui sera traité par les outils GTK-Doc. <example><title>Bloc de commentaire GTK-Doc</title>
+ <programlisting>
+<![CDATA[
+/**
+ * identifier:
+ * documentation ...
+ */
+]]>
+ </programlisting>
+ </example></para>
+
+ <para>L'« identifier » (identifiant) est une ligne contenant le nom de l'élément avec lequel le commentaire est lié. La syntaxe diffère légèrement en fonction de l'élément. (À FAIRE : ajouter un tableau montrant les identifiants)</para>
+
+ <para>Le bloc « documentation » est aussi différent pour chaque type de symbole. Les type de symbole qui prennent des paramètres comme les fonctions ou les macros commencent par une description des paramètres suivie par une ligne blanche (juste un « * »). Ensuite, vient la description détaillée. Toutes les lignes (à l'exception des sections de code et des sections CDATA) contenant seulement un « * » (espace-astérisque) sont converties en saut de paragraphe. Si vous ne désirez pas de saut de paragraphe, modifiez-les en « * » (espace-astérisque-espace-espace).</para>
+
+ <tip>
+ <para>En documentant le code, deux aspects doivent être abordés : <itemizedlist>
+ <listitem>
+ <para>Ce que c'est : le nom d'une classe ou d'une fonction peut parfois être trompeur pour les personnes habituées à d'autres environnements.</para>
+ </listitem>
+ <listitem>
+ <para>Ce qu'il fait : indiquer les usages courants. À mettre en relation avec les autres API.</para>
+ </listitem>
+ </itemizedlist></para>
+ </tip>
+
+ <para>L'un des avantages de l'hypertexte par rapport au texte simple, c'est la possibilité d'avoir des liens dans les documents. Écrire correctement le balisage d'un lien peut être fastidieux. GTK-Doc fournit plusieurs raccourcis utiles pour vous aider. <itemizedlist>
+ <listitem>
+ <para>Utilisez fonction() pour vous référer à des fonctions ou des macros qui prennent des arguments.</para>
+ </listitem>
+ <listitem>
+ <para>Utilisez @paramètre pour vous référer aux paramètres. Utilisez-le aussi pour les paramètres d'autres fonctions, en relation avec celle décrite.</para>
+ </listitem>
+ <listitem>
+ <para>Utilisez %constante pour vous référer à une constante, par ex. : %MA_CONSTANTE.</para>
+ </listitem>
+ <listitem>
+ <para>Utilisez #symbole pour vous référer à d'autres types de symbole. Par exemple des structures, énumérations ou macros qui ne prennent pas d'arguments.</para>
+ </listitem>
+ <listitem>
+ <para>Utilisez #Objet::signal pour vous référer à un signal GObject.</para>
+ </listitem>
+ <listitem>
+ <para>Utilisez #Objet::propriété pour vous référer à une propriété GObject.</para>
+ </listitem>
+ <listitem>
+ <para>Utilisez #Structure.champ pour vous référer au champ d'une stucture.</para>
+ </listitem>
+ </itemizedlist></para>
+
+ <tip>
+ <para>Si vous avez besoin d'utiliser les caractères spéciaux « '<', '> », « () », « @ », « % » ou « # » dans votre documentation sans que GTK-Doc ne les interprète, vous pouvez utiliser les entités XML « &lt; », « &gt; », « &lpar; », « &rpar; », « &commat; », « &percnt; », « &num; » ou les échapper en les précédant d'un antislash « \ ».</para>
+ </tip>
+
+ <para>DocBook peut faire plus que des liens. Il peut aussi générer des listes, des tableaux et des exemples. Pour activer l'utilisation des balises SGML/XML DocBook dans les commentaires de documentation, vous devez avoir une des options <option>--xml-mode</option> ou <option>--sgml-mode</option> dans la variable <symbol>MKDB_OPTIONS</symbol> du fichier <filename>Makefile.am</filename>.</para>
+
+ <para>À partir de GTK-Doc 1.18, il est possible d'utiliser un sous-ensemble de la <ulink url="http://daringfireball.net/projects/markdown/">syntaxe markdown</ulink>. On peut l'utiliser pour les sous-titres et les listes à puces simples. Dans des versions plus anciennes de GTK-Doc, le contenu est affiché tel quel (les éléments d'une liste sont affichés sur une seule ligne, séparés par des tirets). <example><title>Bloc de commentaire GTK-Doc utilisant la syntaxe markdown</title>
+ <programlisting>
+<![CDATA[
+/**
+ * identifier:
+ *
+ * documentation ...
+ *
+ * # Sub heading #
+ *
+ * more documentation:
+ * - list item 1
+ * - list item 2
+ *
+ * Even more docs.
+ */
+]]>
+ </programlisting>
+ </example></para>
+
+ <tip>
+ <para>Comme indiqué plus tôt, GTK-Doc est fait pour documenter les API publiques. On ne peut donc pas écrire de la documentation pour les symboles statiques. Néanmoins, il est bon de commenter ces symboles aussi. Cela aide les autres à comprendre votre code. Par conséquent, nous recommandons de les documenter à l'aide de commentaires normaux (sans le second « * » à la première ligne). Si, plus tard, la fonction doit être rendue publique, il suffira juste d'ajouter un « * » dans le bloc de commentaires et d'ajouter le nom du symbole à la bonne place à l'intérieur du fichier des sections.</para>
+ </tip>
+ </sect1>
+
+ <sect1 id="documenting_sections">
+ <title>Documentation des sections</title>
+
+ <para>Chaque section de la documentation contient des informations sur une classe ou un module. Pour introduire le composant, il est possible d'écrire un bloc de section. La description courte est également utilisée dans la table des matières. Tous les @champs sont facultatifs.</para>
+
+ <para>
+ <example><title>Bloc de commentaires de section</title>
+ <programlisting>
+<![CDATA[
+/**
+ * SECTION:meepapp
+ * @short_description: the application class
+ * @title: Meep application
+ * @section_id:
+ * @see_also: #MeepSettings
+ * @stability: Stable
+ * @include: meep/app.h
+ * @image: application.png
+ *
+ * The application class handles ...
+ */
+]]>
+ </programlisting>
+ </example>
+ </para>
+
+ <variablelist>
+ <varlistentry>
+ <term>SECTION:<nom></term>
+ <listitem>
+ <para>Le nom relie la section de la documentation à la partie respective dans le fichier <filename><package>-sections.txt</filename>. Le nom fourni ici doit correspondre à la balise <FILE> du fichier <filename><package>-sections.txt</filename>.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>@short_description</term>
+ <listitem>
+ <para>Une description de la section en une seule ligne, elle apparaîtra derrière les liens dans la table des matières et au début de la page de la section.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>@title</term>
+ <listitem>
+ <para>Par défaut, la section titre est celle de la déclaration SECTION: <nom>. Elle peut être modifiée grâce au champ @title.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>@section_id</term>
+ <listitem>
+ <para>Remplace l'utilisation du titre comme identificateur de section. Pour GObjects, <title> est utilisé à la place de section_id et pour les autres sections, c'est <MODULE>-<title>.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>@see_also</term>
+ <listitem>
+ <para>Une liste de symboles qui ont un lien avec cette section.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>@stability</term>
+ <listitem>
+ <para>Une description informelle du niveau de stabilité de cet API. Il est recommandé d'utiliser l'un de ces termes : <itemizedlist>
+ <listitem>
+ <para>« Stable » - L'intention d'une interface stable est de permettre à des parties tierces de développer des applications pour ces interfaces, de les distribuer et d'avoir l'assurance qu'elles fonctionneront avec toutes les versions mineures du produit (après celle où l'interface a été introduite et pour le même numéro de version majeur). De plus, à chaque version majeure, les modifications incompatibles doivent être rares et être sérieusement justifiées.</para>
+ </listitem>
+ <listitem>
+ <para>« Unstable » - Les interfaces instables sont expérimentales ou en transition. Elles sont généralement utilisées pour que les développeurs extérieurs aient un accès précoce aux technologies nouvelles ou en évolution rapide, ou de fournir une solution temporaire à un problème pour lequel une solution plus générale est prévue. Aucune exigence n'est demandée à propos de la compatibilité binaire ou de celle des sources, d'une version mineure à l'autre.</para>
+ </listitem>
+ <listitem>
+ <para>« Private » - C'est une interface qui peut être utilisée dans le noyau GNOME lui-même, mais qui n'est pas documentée pour les utilisateurs finaux. Ce type de fonctions ne doit être utilisé que dans des cas spécifiques et documentés.</para>
+ </listitem>
+ <listitem>
+ <para>« Internal » - C'est une interface qui est interne à un module et qui ne nécessite pas de documentation pour l'utilisateur final. Les fonctions non documentées sont considérées comme internes.</para>
+ </listitem>
+ </itemizedlist></para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>@include</term>
+ <listitem>
+ <para>Les fichiers <literal>#include</literal> à afficher dans le résumé de la section (liste d'éléments séparés par des virgules), elle outrepasse la valeur globale du <link linkend="metafiles_sections">fichier de section</link> ou de la ligne de commande. Cet élément est facultatif.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>@image</term>
+ <listitem>
+ <para>L'image à afficher en haut de la page de référence pour cette section. C'est très souvent une espèce de diagramme pour illustrer l'apparence visuelle d'une classe ou un diagramme de ses relations avec d'autres classes. Cet élément est facultatif.</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+
+ <tip>
+ <para>Pour éviter des recompilations inutiles après des modifications de la documentation, placez la documentation de section dans les fichiers sources C, lorsque cela est possible.</para>
+ </tip>
+
+ </sect1>
+
+ <sect1 id="documenting_symbols">
+ <title>Documentation des symboles</title>
+
+ <para>Chaque symbole (fonction, macro, structure, énumération, signal et propriété) est documenté dans un bloc séparé. Il est mieux de placer le bloc près de la définition de son symbole pour faciliter sa synchronisation. Par conséquent, les fonctions sont habituellement documentées dans les fichiers sources C et les macros et les structures et les énumérations le sont dans le fichier d'en-tête.</para>
+
+ <sect2><title>Étiquettes générales</title>
+
+ <para>Vous pouvez ajouter des informations de version à tous les éléments de documentation pour indiquer quand l'api a été introduite ou quand elle est devenue obsolète.</para>
+
+ <variablelist><title>Étiquettes de version</title>
+ <varlistentry><term>« Since »:</term>
+ <listitem>
+ <para>Texte indiquant depuis quelle version du code cette API est disponible.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry><term>« Deprecated » :</term>
+ <listitem>
+ <para>Texte indiquant que cette fonction ne doit plus être utilisée. La description doit rediriger le lecteur vers la nouvelle API.</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+
+ <para>(FIXME : informations de stabilité)</para>
+
+ <example><title>Étiquettes générales</title>
+ <programlisting>
+<![CDATA[
+/**
+ * foo_get_bar:
+ * @foo: some foo
+ *
+ * Retrieves @foo's bar.
+ *
+ * Returns: @foo's bar
+ *
+ * Since: 2.6
+ * Deprecated: 2.12: Use foo_baz_get_bar() instead.
+ **/
+Bar *
+foo_get_bar(Foo *foo)
+{
+...
+]]>
+ </programlisting>
+ </example>
+ </sect2>
+
+ <sect2><title>Bloc de commentaires pour les fonctions</title>
+
+ <para>N'oubliez pas : <itemizedlist>
+ <listitem>
+ <para>d'indiquer si les objets, listes, chaînes, etc. retournés doivent être freed/unfreed/released,</para>
+ </listitem>
+ <listitem>
+ <para>d'indiquer si les paramètres peuvent être NULL et ce qui se passe dans ce cas,</para>
+ </listitem>
+ <listitem>
+ <para>de mentionner les pré-conditions et post-conditions intéressantes si nécessaire.</para>
+ </listitem>
+ </itemizedlist></para>
+
+ <para>GTK-Doc considère que tous les symboles (macros, fonctions) commençant par « _ » sont privés. Ils sont traités comme des fonctions statiques.</para>
+
+ <para>Jetez un coup d'œil aux étiquettes d'annotation de l'introspection gobject : http://live.gnome.org/GObjectIntrospection/Annotations</para>
+
+ <example><title>Bloc de commentaires pour les fonctions</title>
+ <programlisting>
+<![CDATA[
+/**
+ * function_name:
+ * @par1: description of parameter 1. These can extend over more than
+ * one line.
+ * @par2: description of parameter 2
+ * @...: a %NULL-terminated list of bars
+ *
+ * The function description goes here. You can use @par1 to refer to parameters
+ * so that they are highlighted in the output. You can also use %constant
+ * for constants, function_name2() for functions and #GtkWidget for links to
+ * other declarations (which may be documented elsewhere).
+ *
+ * Returns: an integer.
+ *
+ * Since: 2.2
+ * Deprecated: 2.18: Use other_function() instead.
+ */
+]]>
+ </programlisting>
+ </example>
+
+ <variablelist><title>Étiquettes de fonction</title>
+ <varlistentry><term>« Returns » :</term>
+ <listitem>
+ <para>Paragraphe décrivant le résultat retourné.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry><term>@...:</term>
+ <listitem>
+ <para>Au cas où la fonction possède des arguments variables, vous devriez utiliser cette étiquette (@Varargs : peut également être utilisé pour des raisons historiques).</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+
+ </sect2>
+
+ <sect2><title>Bloc de commentaires pour les propriétés</title>
+
+ <example><title>Bloc de commentaires pour les propriétés</title>
+ <programlisting>
+<![CDATA[
+/**
+ * SomeWidget:some-property:
+ *
+ * Here you can document a property.
+ */
+g_object_class_install_property (object_class, PROP_SOME_PROPERTY, ...);
+]]>
+ </programlisting>
+ </example>
+
+ </sect2>
+
+ <sect2><title>Bloc de commentaires pour les signaux</title>
+
+ <para>N'oubliez pas : <itemizedlist>
+ <listitem>
+ <para>d'indiquer quand le signal est émis et s'il est émis avant ou après d'autres signaux,</para>
+ </listitem>
+ <listitem>
+ <para>d'indiquer ce qu'une application peut faire dans le gestionnaire du signal.</para>
+ </listitem>
+ </itemizedlist></para>
+
+ <example><title>Bloc de commentaires pour les signaux</title>
+ <programlisting>
+<![CDATA[
+/**
+ * FooWidget::foobarized:
+ * @widget: the widget that received the signal
+ * @foo: some foo
+ * @bar: some bar
+ *
+ * The ::foobarized signal is emitted each time someone tries to foobarize @widget.
+ */
+foo_signals[FOOBARIZE] =
+ g_signal_new ("foobarize",
+ ...
+]]>
+ </programlisting>
+ </example>
+
+ </sect2>
+
+ <sect2><title>Bloc de commentaire pour les structures</title>
+ <example><title>Bloc de commentaire pour les structures</title>
+ <programlisting>
+<![CDATA[
+/**
+ * FooWidget:
+ * @bar: some #gboolean
+ *
+ * This is the best widget, ever.
+ */
+typedef struct _FooWidget {
+ /*< private >*/
+ GtkWidget parent;
+
+ /*< public >*/
+ gboolean bar;
+} FooWidget;
+]]>
+ </programlisting>
+ </example>
+
+ <para>Utilisez <code>/*< private >*/</code> avant les champs de structures privées que vous voulez cacher. Utilisez <code>/*< public >*/</code> dans le cas contraire.</para>
+
+ <para>Les blocs de commentaire pour les structures peuvent aussi être utilisés avec GObjects et GObjectClasses. Il est normalement recommandé d'ajouter un bloc de commentaire pour une classe, si elle contient des vmethods (car c'est la manière de les documenter). Pour GObject, il est possible d'utiliser la documentation de section correspondante ; la présence d'un bloc séparé pour la structure de l'instance serait utile si l'instance possède des champs publics. Le désavantage ici étant que cela crée deux entrées d'index pour le même nom (la structure et la section).</para>
+
+ </sect2>
+
+ <sect2><title>Bloc de commentaire pour les énumérations</title>
+ <example><title>Bloc de commentaire pour les énumérations</title>
+ <programlisting>
+<![CDATA[
+/**
+ * Something:
+ * @SOMETHING_FOO: something foo
+ * @SOMETHING_BAR: something bar
+ *
+ * Enum values used for the thing, to specify the thing.
+ *
+ **/
+typedef enum {
+ SOMETHING_FOO,
+ SOMETHING_BAR,
+ /*< private >*/
+ SOMETHING_COUNT
+} Something;
+]]>
+ </programlisting>
+ </example>
+
+ <para>Utilisez <code>/*< private >*/</code> avant les valeurs d'énumérations privées que vous voulez cacher. Utilisez <code>/*< public >*/</code> dans le cas contraire.</para>
+
+ </sect2>
+ </sect1>
+
+ <sect1 id="documenting_docbook">
+ <title>Balises DocBook utiles</title>
+
+ <para>Voici quelques balises DocBook très utiles pendant la conception de la documentation d'un code.</para>
+
+ <para>Pour créer un lien vers une autre section dans la documentation GTK : <informalexample>
+ <programlisting>
+<![CDATA[
+<link linkend="glib-Hash-Tables">Hash Tables</link>
+]]>
+ </programlisting>
+ </informalexample> l'élément « linkend » est l'identifiant SGML/XML de l'élément le plus haut sur la page vers laquelle vous voulez pointer. Pour la plupart des pages, c'est en général la partie (« gtk », « gdk », « glib ») suivi du titre de la page (« Hash Tables »). Pour les éléments graphiques, c'est simplement le nom de la classe. Les espaces et les caractères de soulignement sont convertis en « - » pour être conforme au SGML/XML.</para>
+
+ <para>Pour faire référence à une fonction externe comme, par exemple, à une fonction C standard : <informalexample>
+ <programlisting>
+<![CDATA[
+<function>...</function>
+]]>
+ </programlisting>
+ </informalexample></para>
+
+ <para>Pour inclure des extraits de code : <informalexample>
+ <programlisting>
+<![CDATA[
+<example>
+ <title>Using a GHashTable.</title>
+ <programlisting>
+ ...
+ </programlisting>
+</example>
+]]>
+ </programlisting>
+ </informalexample> ou ceci, pour des petits fragments de code qui ne nécessitent pas de titre : <informalexample>
+ <programlisting>
+<![CDATA[
+<informalexample>
+ <programlisting>
+ ...
+ </programlisting>
+</informalexample>
+]]>
+ </programlisting>
+ </informalexample> Pour ces derniers, GTK-Doc prend également en charge une abréviation : <![CDATA[
+|[
+ ...
+]|
+]]></para>
+
+ <para>Pour ajouter une liste à puces : <informalexample>
+ <programlisting>
+<![CDATA[
+<itemizedlist>
+ <listitem>
+ <para>
+ ...
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ ...
+ </para>
+ </listitem>
+</itemizedlist>
+]]>
+ </programlisting>
+ </informalexample></para>
+
+ <para>Pour ajouter une note de bas de page : <informalexample>
+ <programlisting>
+<![CDATA[
+<note>
+ <para>
+ Make sure you free the data after use.
+ </para>
+</note>
+]]>
+ </programlisting>
+ </informalexample></para>
+
+ <para>Pour se référer à un type : <informalexample>
+ <programlisting>
+<![CDATA[
+<type>unsigned char</type>
+]]>
+ </programlisting>
+ </informalexample></para>
+
+ <para>Pour se référer à une structure externe (non décrite dans la documentation GTK) : <informalexample>
+ <programlisting>
+<![CDATA[
+<structname>XFontStruct</structname>
+]]>
+ </programlisting>
+ </informalexample></para>
+
+ <para>Pour se référer à un champ d'une structure : <informalexample>
+ <programlisting>
+<![CDATA[
+<structfield>len</structfield>
+]]>
+ </programlisting>
+ </informalexample></para>
+
+ <para>Pour se référer au nom d'une classe, il est possible d'utiliser : <informalexample>
+ <programlisting>
+<![CDATA[
+<classname>GtkWidget</classname>
+]]>
+ </programlisting>
+ </informalexample> mais vous utiliserez probablement #GtkWidget à la place (pour créer automatiquement un lien vers la page GtkWidget - consultez <link linkend="documenting_syntax">les raccourcis</link>).</para>
+
+ <para>Pour mettre en évidence un texte : <informalexample>
+ <programlisting>
+<![CDATA[
+<emphasis>This is important</emphasis>
+]]>
+ </programlisting>
+ </informalexample></para>
+
+ <para>Pour les noms de fichiers : <informalexample>
+ <programlisting>
+<![CDATA[
+<filename>/home/user/documents</filename>
+]]>
+ </programlisting>
+ </informalexample></para>
+
+ <para>Pour se référer à des touches : <informalexample>
+ <programlisting>
+<![CDATA[
+<keycombo><keycap>Control</keycap><keycap>L</keycap></keycombo>
+]]>
+ </programlisting>
+ </informalexample></para>
+
+ </sect1>
+ </chapter>
+
+ <chapter id="metafiles">
+ <title>Remplissage des fichiers supplémentaires</title>
+
+ <para>Il y a plusieurs fichiers supplémentaires, qui ont besoin d'être maintenus en parallèle aux commentaires dans le code source : <filename><package>.types</filename>, <filename><package>-docs.xml</filename> (anciennement .sgml), <filename><package>-sections.txt</filename>.</para>
+
+ <sect1 id="metafiles_types">
+ <title>Édition du fichier « types »</title>
+
+ <para>Si votre bibliothèque ou application contient des GtkObjects ou GObjects, vous voudrez que leurs signaux, arguments/paramètres et position dans la hiérarchie soient affichés dans la documentation. Il vous suffit juste de lister les fonctions <function>xxx_get_type</function> ainsi que leur fichier inclus dans le fichier <filename><package>.types</filename>.</para>
+
+ <para>
+ <example><title>Extrait d'un exemple de fichier « types »</title>
+ <programlisting>
+<![CDATA[
+#include <gtk/gtk.h>
+
+gtk_accel_label_get_type
+gtk_adjustment_get_type
+gtk_alignment_get_type
+gtk_arrow_get_type
+]]>
+ </programlisting>
+ </example>
+ </para>
+
+ <para>Depuis GTK-Doc 1.8, <application>gtkdoc-scan</application> peut générer cette liste pour vous. Ajoutez simplement l'option « --rebuild-types » à SCAN_OPTIONS dans le fichier <filename>Makefile.am</filename>. Si vous utilisez cette approche vous ne devriez pas distribuer le fichier « types », ni l'avoir dans le système de gestion de versions.</para>
+
+ </sect1>
+
+ <sect1 id="metafiles_master">
+ <title>Édition du document maître</title>
+
+ <para>GTK-Doc génère de la documentation au format SGML/XML DocBook. Lors du traitement des commentaires dans les fichiers sources, les outils GTK-Doc génèrent une page de documentation par classe ou par module dans un fichier séparé. Le document maître les inclut et les place dans l'ordre.</para>
+
+ <para>Une fois que GTK-Doc a créé un prototype de document maître pour vous, il ne va plus y toucher par la suite. Vous pouvez ainsi structurer votre documentation comme vous l'entendez. Vous pouvez regrouper des pages et en ajouter. GTK-Doc possède maintenant une panoplie de tests, dans laquelle même le document maître est recréé à partir de zéro. C'est une bonne idée de regarder cela de temps en temps pour voir s'il n'y a pas des nouveautés intéressantes.</para>
+
+ <tip>
+ <para>Ne créez pas de tutoriels comme documents supplémentaires. Écrivez juste des chapitres supplémentaires. L'avantage d'inclure le tutoriel de votre bibliothèque directement dans la documentation de l'API est qu'il est facile d'y ajouter des liens qui pointent vers la documentation des symboles. De plus, il y aura plus de chance que votre tutoriel soit mis à jour en même temps que la bibliothèque.</para>
+ </tip>
+
+ <para>Alors, quelles sont les choses à modifier dans le document maître ? Pour commencer, très peu de choses. Il n'y a quelques paramètres substituables (texte entre crochets) que vous devrez prendre en charge.</para>
+
+ <para>
+ <example><title>En-tête du document maître</title>
+ <programlisting>
+<![CDATA[
+<bookinfo>
+ <title>MODULENAME Reference Manual</title>
+ <releaseinfo>
+ for MODULENAME [VERSION]
+ The latest version of this documentation can be found on-line at
+ <ulink role="online-location" url="http://[SERVER]/MODULENAME/index.html">http://[SERVER]/MODULENAME/</ulink>.
+ </releaseinfo>
+</bookinfo>
+
+<chapter>
+ <title>[Insert title here]</title>
+]]>
+ </programlisting>
+ </example>
+ </para>
+
+ </sect1>
+
+ <sect1 id="metafiles_sections">
+ <title>Édition du fichier section</title>
+
+ <para>Le fichier section est utilisé pour organiser la documentation générée par GTK-Doc. C'est ici qu'il faut indiquer quels symboles sont attachés à quels modules ou classes et contrôler la visibilité (« public » ou « private »).</para>
+
+ <para>Le fichier section est un fichier texte plat, avec une syntaxe type XML (utilisant des balises). Les lignes blanches sont ignorées et celles commençant par un « # » sont considérées comme des lignes de commentaires.</para>
+
+ <para>La balise <FILE> ... </FILE> est utilisée pour indiquer le nom du fichier, sans extension. Par exemple, utiliser <FILE>gnome-config</FILE> va entraîner la sortie des déclarations de section dans le fichier prototype <filename>tmpl/gnome-config.sgml</filename>, qui seront converties dans le fichier SGML/XML DocBook <filename>sgml/gnome-config.sgml</filename> ou le fichier XML DocBook <filename>xml/gnome-config.xml</filename> (le nom du fichier html est basé sur le nom du module et le titre de la section, ou, pour les gobjects, sur le nom de la classe gobjects converti en minuscule).</para>
+
+ <para>La balise <TITLE> ... </TITLE> est utilisée pour indiquer le titre de la section. C'est utile seulement avant la création initiale des prototypes, car ensuite le titre défini dans le prototype est prioritaire. Elle est également obsolète si des commentaires de SECTION sont utilisés dans les fichiers sources.</para>
+
+ <para>Vous pouvez regrouper les éléments dans la section en utilisant la balise <SUBSECTION>. Actuellement, une ligne blanche est ajoutée entre les sous-sections dans la section résumé. Vous pouvez également utiliser <SUBSECTION Standard> pour les déclarations GObject standards (par exemple, les fonctions comme g_object_get_type et les macros comme G_OBJECT(), G_IS_OBJECT(), etc.). Actuellement, elles ne sont pas intégrées dans la documentation. Vous pouvez utiliser <SUBSECTION Private> pour les déclarations privées qui ne seront pas affichées (c'est un moyen pratique d'éviter les messages d'avertissement sur les déclarations inutilisées). Si votre bibliothèque contient des types privés que vous ne souhaitez pas voir apparaître dans la hiérarchie des objets et dans la liste des interfaces implémentées ou nécessaires, ajoutez-les à une sous-section privée. Le choix de placer des GObject ou GObjectClass comme des structures dans une section standard ou publique dépend de la présence d'éléments publics (variables, vmethods).</para>
+
+ <para>Vous pouvez utiliser les balises <INCLUDE> ... </INCLUDE> pour indiquer les fichiers #include qui sont affichés dans les sections résumé. Elles contiennent une liste de fichiers #include, séparés par des virgules, sans les chevrons. Si vous les placez en dehors d'une section, elles s'appliquent à toutes les sections jusqu'à la fin du fichier. Si vous les placez dans une section, elles s'appliquent seulement à cette section.</para>
+
+ </sect1>
+
+ </chapter>
+
+ <chapter id="reports">
+ <title>Contrôle du résultat</title>
+
+ <para>Une exécution de GTK-Doc produit des fichiers de compte-rendu dans le répertoire de documentation. Ces fichiers sont nommés : <filename><package>-undocumented.txt</filename>, <filename><package>-undeclared.txt</filename> et <filename><package>-unused.txt</filename>. Tous ces fichiers texte peuvent être lus et post-traités facilement.</para>
+
+ <para>Le fichier <filename><package>-undocumented.txt</filename> commence avec un résumé du sujet couvert par la documentation. Suivent deux sections séparées par des lignes blanches. La première section liste les symboles non documentés ou incomplets. La seconde section fait de même pour les documentations de sections. Les éléments incomplets sont ceux qui possèdent une documentation mais auxquels, par exemple, un paramètre a été ajouté.</para>
+
+ <para>Le fichier <filename><package>-undeclared.txt</filename> liste les symboles contenus dans le fichier <filename><package>-sections.txt</filename> mais non trouvés dans les fichiers sources. Vérifiez s'ils n'ont pas été supprimés ou mal orthographiés.</para>
+
+ <para>Le fichier <filename><package>-unused.txt</filename> liste les noms des symboles pour lesquels l'analyseur GTK-Doc a trouvé de la documentation mais ne sait pas où la placer. Cela signifie que le symbole n'a pas encore été ajouté au fichier <filename><package>-sections.txt</filename>.</para>
+
+ <tip>
+ <para>Activez ou ajoutez la ligne <option>TESTS=($GTKDOC_CHECK)</option> dans le fichier Makefile.am. Si la version installée de GTK-Doc est supérieure à 1.9, des contrôles de validité seront lancés pendant l'exécution de <command>make check</command>.</para>
+ </tip>
+
+ <para>Vous pouvez également regarder les fichiers produits par le scanneur de code source : <filename><package>-decl-list.txt</filename> et <filename><package>-decl.txt</filename>. Le premier peut être comparé avec le fichier section s'il est maintenu manuellement. Le second liste toutes les déclarations contenues dans les fichiers en-tête. Si un symbole est manquant, il faut vérifier si ce fichier le contient.</para>
+
+ <para>Si le projet est basé sur GObject, il est possible de regarder dans les fichiersgénérés par le scanneur d'objet : <filename><package>.args.txt</filename>, <filename><package>.hierarchy.txt</filename>, <filename><package>.interfaces.txt</filename>, <filename><package>.prerequisites.txt</filename> et <filename><package>.signals.txt</filename>. S'il manque des symboles dans l'un d'eux, il est possible de demander à gtkdoc de conserver le fichier de scanneur intermédiaire pour en faire une analyse ultérieure mais en le lançant comme <command>GTK_DOC_KEEP_INTERMEDIATE=1 make</command>.</para>
+ </chapter>
+
+ <chapter id="documenting-others">
+ <title>Documentation d'autres interfaces</title>
+
+ <para>Nous avons jusqu'ici utilisé GTK-Doc pour documenter les API du code. Les sections qui suivent contiennent des suggestions sur la manière d'utiliser les outils pour documenter aussi d'autres interfaces.</para>
+
+ <sect1 id="commandline-interfaces">
+ <title>Options de ligne de commande et pages de manuel</title>
+
+ <para>Comme il est possible de générer aussi des pages de manuel à partir d'une « refentry » DocBook, il semble donc intéressant de l'utiliser dans ce but. Ainsi, l'interface fait partie de la référence et l'on obtient en cadeau la page de manuel.</para>
+
+ <sect2 id="commandline-interfaces-file">
+ <title>Documentation de l'outil</title>
+
+ <para>Créez un fichier « refentry » par outil. En suivant <link linkend="settingup_docfiles">notre exemple</link>, nous l'appellerons <filename>meep/docs/reference/meeper/meep.xml</filename>. Pour connaître les balises XML pouvant être utilisées, on peut observer le fichier généré dans le sous-répertoire xml ou des exemples comme dans glib.</para>
+ </sect2>
+
+ <sect2 id="commandline-interfaces-configure">
+ <title>Ajout de contrôles « configure » supplémentaires</title>
+
+ <para>
+ <example><title>Contrôles « configure » supplémentaires</title>
+ <programlisting>
+<![CDATA[
+AC_ARG_ENABLE(man,
+ [AC_HELP_STRING([--enable-man],
+ [regenerate man pages from Docbook [default=no]])],enable_man=yes,
+ enable_man=no)
+
+AC_PATH_PROG([XSLTPROC], [xsltproc])
+AM_CONDITIONAL(ENABLE_MAN, test x$enable_man != xno)
+]]>
+ </programlisting>
+ </example>
+ </para>
+ </sect2>
+
+ <sect2 id="commandline-interfaces-make">
+ <title>Ajout de règles « makefile » supplémentaires</title>
+
+ <para>
+ <example><title>Contrôles « configure » supplémentaires</title>
+ <programlisting>
+<![CDATA[
+man_MANS = \
+ meeper.1
+
+if ENABLE_GTK_DOC
+if ENABLE_MAN
+
+%.1 : %.xml
+ @XSLTPROC@ -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
+
+endif
+endif
+
+BUILT_EXTRA_DIST = $(man_MANS)
+EXTRA_DIST += meep.xml
+]]>
+ </programlisting>
+ </example>
+ </para>
+ </sect2>
+ </sect1>
+
+ <sect1 id="dbus-interfaces">
+ <title>Interfaces DBus</title>
+
+ <para>(À_CORRIGER : http://hal.freedesktop.org/docs/DeviceKit/DeviceKit.html, http://cgit.freedesktop.org/DeviceKit/DeviceKit/tree/doc/dbus)</para>
+ </sect1>
+
+ </chapter>
+
+ <chapter id="faq">
+ <title>Foire aux questions</title>
+
+ <segmentedlist>
+ <?dbhtml list-presentation="list"?>
+ <segtitle>Question </segtitle>
+ <segtitle>Réponse </segtitle>
+ <seglistitem>
+ <seg>Pas de hiérarchie de classe.</seg>
+ <seg>Les fonctions objet <function>xxx_get_type()</function> n'ont pas été saisies dans le fichier <filename><package>.types</filename>.</seg>
+ </seglistitem>
+ <seglistitem>
+ <seg>Toujours pas de hiérarchie de classe.</seg>
+ <seg>Mauvais nom ou nom absent dans le fichier <filename><package>-sections.txt</filename> (consultez <ulink url="http://mail.gnome.org/archives/gtk-doc-list/2003-October/msg00006.html">explication</ulink>).</seg>
+ </seglistitem>
+ <seglistitem>
+ <seg>Zut, je n'ai toujours pas de hiérarchie de classe.</seg>
+ <seg>Est-ce que le nom de l'objet (nom de la structure de l'instance, par ex. <type>GtkWidget</type>) fait parti de la section « normal » (ne pas le mettre dans les sous-sections « Standard » ou « Private »).</seg>
+ </seglistitem>
+ <seglistitem>
+ <seg>Pas d'index des symboles.</seg>
+ <seg>Est-ce que <filename><package>-docs.{xml,sgml}</filename> contient un index qui « xi:includes » l'index généré ?</seg>
+ </seglistitem>
+ <seglistitem>
+ <seg>Les symboles ne sont pas liés à leur section de documentation.</seg>
+ <seg>Est-ce que doc-comment utilise le markup correct (ajout d'un #, % ou ()) ? Contrôlez si gtkdoc-fixxref affiche des avertissements à propos de xrefs non résolus.</seg>
+ </seglistitem>
+ <seglistitem>
+ <seg>Une nouvelle classe n'apparaît pas dans les documents.</seg>
+ <seg>Est-ce que la nouvelle page est xi:included à partir de <filename><package>-docs.{xml,sgml}</filename>.</seg>
+ </seglistitem>
+ <seglistitem>
+ <seg>Un nouveau symbole n'apparaît pas dans les documents.</seg>
+ <seg>Est-ce que le doc-comment est correctement formaté. Vérifiez qu'il n'y a pas d'erreur de frappe au début du commentaire. Vérifiez que gtkdoc-fixxref ne vous indique pas de xrefs non résolus. Vérifiez que le symbole est correctement listé dans une section publique de <filename><package>-sections.txt</filename>.</seg>
+ </seglistitem>
+ <seglistitem>
+ <seg>Un type est absent dans la hiérarchie de classe.</seg>
+ <seg>Si le type est listé dans <filename><package>.hierarchy</filename> mais pas dans <filename>xml/tree_index.sgml</filename> alors contrôlez deux-fois que le type est correctement placé dans <filename><package>-sections.txt</filename>. Si l'instance du type (par ex. <type>GtkWidget</type>) n'est pas listée ou marquée par accident comme privée, elle ne sera pas affichée.</seg>
+ </seglistitem>
+ <seglistitem>
+ <seg>J'obtiens des liens foldoc pour toutes les annotations gobject.</seg>
+ <seg>Vérifiez que <filename>xml/annotation-glossary.xml</filename> est xi:included à partir de <filename><package>-docs.{xml,sgml}</filename>.</seg>
+ </seglistitem>
+
+ <!-- gtk-doc warnings: -->
+ <seglistitem>
+ <seg>Un paramètre est décrit dans le bloc de commentaires dans le code source mais il n'existe pas.</seg>
+ <seg>Vérifiez si le prototype dans le fichier d'en-tête possède des noms de paramètres différents de ceux du fichier source.</seg>
+ </seglistitem>
+
+ <!-- docbook warnings: -->
+ <seglistitem>
+ <seg>« ID » multiples pour le linkend: XYZ contraint</seg>
+ <seg>Le symbole XYZ apparaît en double dans le fichier <filename><package>-sections.txt</filename>.</seg>
+ </seglistitem>
+ <seglistitem>
+ <seg>Élément typename dans l'espace de nom '' rencontré dans para mais aucun prototype ne correspond.</seg>
+ <seg/>
+ </seglistitem>
+ </segmentedlist>
+ </chapter>
+
+ <chapter id="contrib">
+ <title>Outils liés à gtk-doc</title>
+
+ <para>GtkDocPlugin - un greffon d'intégration à <ulink url="http://trac-hacks.org/wiki/GtkDocPlugin">Trac</ulink>, qui ajoute la documentation d'API à un site Trac et s'intègre à la recherche Trac.</para>
+ <para>Gtkdoc-depscan - un outil (intégré à gtk-doc) qui vérifie les API utilisées pour déterminer la version minimale requise.</para>
+
+ </chapter>
+
+ <!-- ======== Appendix: FDL ================================== -->
+ <!--
+ The GNU Free Documentation License 1.1 in DocBook
+ Markup by Eric Baudais <baudais@okstate.edu>
+ Maintained by the GNOME Documentation Project
+ http://developer.gnome.org/projects/gdp
+ Version: 1.0.1
+ Last Modified: Nov 16, 2000
+-->
+
+<appendix id="fdl">
+ <appendixinfo>
+ <releaseinfo>Version 1.1, mars 2000</releaseinfo>
+ <copyright>
+ <year>2000</year><holder>Free Software Foundation, Inc.</holder>
+ </copyright>
+ <legalnotice id="fdl-legalnotice">
+ <para><address>Free Software Foundation, Inc <street>51 Franklin Street, Fifth Floor</street>, <city>Boston</city>, <state>MA</state><postcode>02110-1301</postcode><country>USA</country></address>. Chacun est libre de copier et de distribuer des copies conformes de cette Licence, mais nul n'est autorisé à la modifier.</para>
+ </legalnotice>
+ </appendixinfo>
+ <title>Licence de Documentation Libre GNU</title>
+
+ <sect1 id="fdl-preamble">
+ <title>0. Préambule</title>
+ <para>L'objet de cette Licence est de rendre tout manuel, livre ou autre document écrit « libre » au sens de la liberté d'utilisation, à savoir : assurer à chacun la liberté effective de le copier ou de le redistribuer, avec ou sans modifications, commercialement ou non. En outre, cette Licence garantit à l'auteur et à l'éditeur la reconnaissance de leur travail, sans qu'ils soient pour autant considérés comme responsables des modifications réalisées par des tiers.</para>
+
+ <para>Cette Licence est une sorte de <quote>copyleft</quote>, ce qui signifie que les travaux dérivés du document d'origine sont eux-mêmes « libres » selon les mêmes termes. Elle complète la Licence Publique Générale GNU, qui est également une Licence copyleft, conçue pour les logiciels libres.</para>
+
+ <para>Nous avons conçu cette Licence pour la documentation des logiciels libres, car les logiciels libres ont besoin d'une documentation elle-même libre : un logiciel libre doit être accompagné d'un manuel garantissant les mêmes libertés que celles accordées par le logiciel lui-même. Mais cette Licence n'est pas limitée aux seuls manuels des logiciels ; elle peut être utilisée pour tous les documents écrits, sans distinction particulière relative au sujet traité ou au mode de publication. Nous recommandons l'usage de cette Licence principalement pour les travaux destinés à des fins d'enseignement ou devant servir de documents de référence.</para>
+ </sect1>
+ <sect1 id="fdl-section1">
+ <title>1. APPLICABILITÉ ET DÉFINITIONS</title>
+ <para id="fdl-document">Cette Licence couvre tout manuel ou tout autre travail écrit contenant une notice de copyright autorisant la redistribution selon les termes de cette Licence. Le mot <quote>Document</quote> se réfère ci-après à un tel manuel ou travail. Toute personne en est par définition concessionnaire et est référencée ci-après par le terme <quote>Vous</quote>.</para>
+
+ <para id="fdl-modified">Une <quote>Version modifiée</quote> du Document désigne tout travail en contenant la totalité ou seulement une portion de celui-ci, copiée mot pour mot, modifiée et/ou traduite dans une autre langue.</para>
+
+ <para id="fdl-secondary">Une <quote>Section secondaire</quote> désigne une annexe au <link linkend="fdl-document">Document</link>, ou toute information indiquant les rapports entre l'auteur ou l'éditeur et le sujet (ou tout autre sujet connexe) du Document, sans toutefois être en rapport direct avec le sujet lui-même (par exemple, si le Document est un manuel de mathématiques, une Section secondaire ne traitera d'aucune notion mathématique). Cette section peut contenir des informations relatives à l'historique du Document, des sources documentaires, des dispositions légales, commerciales, philosophiques, ou des positions éthiques ou politiques susceptibles de concerner le sujet traité.</para>
+
+ <para id="fdl-invariant">Les <quote>Sections inaltérables</quote> sont des <link linkend="fdl-secondary">sections secondaires</link> considérées comme ne pouvant être modifiées et citées comme telles dans la notice légale qui place le <link linkend="fdl-document">Document</link> sous cette Licence.</para>
+
+ <para id="fdl-cover-texts">Les <quote>Textes de couverture</quote> sont les textes courts situés sur les pages de couverture avant et arrière du <link linkend="fdl-document">Document</link>, et cités comme tels dans la mention légale de ce <link linkend="fdl-document">Document</link>.</para>
+
+ <para id="fdl-transparent">Le terme <quote>Copie transparente</quote> désigne une version numérique du <link linkend="fdl-document"> Document</link> représentée dans un format dont les spécifications sont publiquement disponibles et dont le contenu peut être visualisé et édité directement et immédiatement par un éditeur de texte quelconque, ou (pour les images composées de pixels) par un programme de traitement d'images quelconque, ou (pour les dessins) par un éditeur de dessins courant. Ce format doit pouvoir être accepté directement ou être convertible facilement dans des formats utilisables directement par des logiciels de formatage de texte. Une copie publiée dans un quelconque format numérique ouvert mais dont la structure a été conçue dans le but exprès de prévenir les modifications ultérieures du Document ou dans le but d'en décourager les lecteurs n'est pas considérée comme une Copie Transparente. Une copie qui n'est pas <quote>Transparente</quote> est considérée, par opposition, comme <quote>Opaque</quote>.</para>
+
+ <para>Le format de fichier texte codé en ASCII générique et n'utilisant pas de balises, les formats de fichiers Texinfo ou LaTeX, les formats de fichiers SGML ou XML utilisant une DTD publiquement accessible, ainsi que les formats de fichiers HTML simple et standard, écrits de telle sorte qu'ils sont modifiables sans outil spécifique, sont des exemples de formats acceptables pour la réalisation de Copies Transparentes. Les formats suivants sont opaques : PostScript, PDF, formats de fichiers propriétaires qui ne peuvent être visualisés ou édités que par des traitements de textes propriétaires, SGML et XML utilisant des DTD et/ou des outils de formatage qui ne sont pas disponibles publiquement, et du code HTML généré par une machine à l'aide d'un traitement de texte quelconque et dans le seul but de la génération d'un format de sortie.</para>
+
+ <para id="fdl-title-page">La <quote>Page de titre</quote> désigne, pour les ouvrages imprimés, la page de titre elle-même, ainsi que les pages supplémentaires nécessaires pour fournir clairement les informations dont cette Licence impose la présence sur la page de titre. Pour les travaux n'ayant pas de Page de titre comme décrit ci-dessus, la <quote>Page de titre</quote> désigne le texte qui s'apparente le plus au titre du document et situé avant le texte principal.</para>
+ </sect1>
+
+ <sect1 id="fdl-section2">
+ <title>2. COPIES CONFORMES</title>
+ <para>Vous pouvez copier et distribuer le <link linkend="fdl-document">Document</link> sur tout type de support, commercialement ou non, à condition que cette Licence, la notice de copyright et la notice de la Licence indiquant que cette Licence s'applique à ce Document soient reproduits dans toutes les copies, et que vous n'y ajoutiez aucune condition restrictive supplémentaire. Vous ne pouvez pas utiliser un quelconque moyen technique visant à empêcher ou à contrôler la lecture ou la reproduction ultérieure des copies que vous avez créées ou distribuées. Toutefois, vous pouvez solliciter une rétribution en échange des copies. Si vous distribuez une grande quantité de copies, référez-vous aux dispositions de la <link linkend="fdl-section3">section 3</link>.</para>
+
+ <para>Vous pouvez également prêter des copies, sous les mêmes conditions que celles suscitées, et vous pouvez afficher publiquement des copies de ce Document.</para>
+ </sect1>
+
+ <sect1 id="fdl-section3">
+ <title>3. COPIES EN NOMBRE</title>
+ <para>Si vous publiez des copies imprimées de ce <link linkend="fdl-document">Document</link> à plus de 100 exemplaires et que la Licence du Document indique la présence de <link linkend="fdl-cover-texts">Textes de couverture</link>, vous devez fournir une couverture pour chaque copie, qui présente les Textes de couverture des première et dernière pages de couverture du Document. Les première et dernière pages de couverture doivent également vous identifier clairement et sans ambiguïté comme étant l'éditeur de ces copies. La première page de couverture doit comporter le titre du Document en mots d'importance et de visibilité égales. Vous pouvez ajouter des informations complémentaires sur les pages de couverture. Les copies du Document dont seule la couverture a été modifiée peuvent être considérées comme des copies conformes, à condition que le titre du <link linkend="fdl-document">Document</link> soit préservé et que les conditions indiquées précédemment soient respectées.</para>
+
+ <para>Si les textes devant se trouver sur la couverture sont trop importants pour y tenir de manière claire, vous pouvez ne placer que les premiers sur la première page et placer les suivants sur les pages consécutives.</para>
+
+ <para>Si vous publiez plus de 100 <link linkend="fdl-transparent">Copies opaques</link> du <link linkend="fdl-document">Document</link>, vous devez soit fournir une Copie transparente pour chaque Copie opaque, soit préciser ou fournir avec chaque Copie opaque une adresse réseau publiquement accessible d'une <link linkend="fdl-transparent">Copie transparente</link> et complète du Document, sans aucun ajout ou modification, et à laquelle tout le monde peut accéder en téléchargement anonyme et sans frais, selon des protocoles réseau communs et standard. Si vous choisissez cette dernière option, vous devez prendre les dispositions nécessaires, dans la limite du raisonnable, afin de garantir l'accès non restrictif à la Copie transparente durant une année pleine après la diffusion publique de la dernière Copie opaque(directement ou via vos revendeurs).</para>
+
+ <para>Nous recommandons, mais ce n'est pas obligatoire, que vous contactiez l'auteur du <link linkend="fdl-document">Document</link> suffisamment tôt avant toute publication d'un grand nombre de copies, afin de lui permettre de vous donner une version à jour du Document.</para>
+ </sect1>
+
+ <sect1 id="fdl-section4">
+ <title>4. MODIFICATIONS</title>
+ <para>Vous pouvez copier et distribuer une <link linkend="fdl-modified">Version modifiée</link> du <link linkend="fdl-document">Document</link> en respectant les conditions des sections <link linkend="fdl-section2">2</link> et <link linkend="fdl-section3">3</link> précédentes, à condition de placer cette Version modifiée sous la présente Licence, dans laquelle le terme « Document » doit être remplacé par les termes « Version modifiée », donnant ainsi l'autorisation de redistribuer et de modifier cette Version modifiée à quiconque en possède une copie. De plus, vous devez effectuer les actions suivantes dans la Version modifiée :</para>
+
+ <itemizedlist mark="opencircle">
+ <listitem>
+ <formalpara>
+ <title>A</title>
+ <para>Utiliser sur la <link linkend="fdl-title-page">Page de titre</link> (et sur la page de couverture éventuellement présente) un titre distinct de celui du <link linkend="fdl-document">Document</link> d'origine et de toutes ses versions antérieures (qui, si elles existent, doivent être mentionnées dans la section Historique du Document). Vous pouvez utiliser le même titre si l'éditeur d'origine vous en a donné expressément la permission.</para>
+ </formalpara>
+ </listitem>
+
+ <listitem>
+ <formalpara>
+ <title>B</title>
+ <para>Mentionner sur la <link linkend="fdl-title-page">Page de titre</link> en tant qu'auteurs une ou plusieurs des personnes ou entités responsables des modifications de la <link linkend="fdl-modified">Version modifiée</link>, avec au moins les cinq principaux auteurs du <link linkend="fdl-document">Document</link> (ou tous les auteurs s'il y en a moins de cinq).</para>
+ </formalpara>
+ </listitem>
+
+ <listitem>
+ <formalpara>
+ <title>C</title>
+ <para>Préciser sur la <link linkend="fdl-title-page">Page de titre</link> le nom de l'éditeur de la <link linkend="fdl-modified">Version modifiée</link>, en tant qu'éditeur du Document.</para>
+ </formalpara>
+ </listitem>
+
+ <listitem>
+ <formalpara>
+ <title>D</title>
+ <para>Préserver intégralement toutes les notices de copyright du <link linkend="fdl-document">Document</link>.</para>
+ </formalpara>
+ </listitem>
+
+ <listitem>
+ <formalpara>
+ <title>E</title>
+ <para>Ajouter une notice de copyright adjacente aux autres notices pour vos propres modifications.</para>
+ </formalpara>
+ </listitem>
+
+ <listitem>
+ <formalpara>
+ <title>F</title>
+ <para>Inclure immédiatement après les notices de copyright une notice donnant à quiconque l'autorisation d'utiliser la <link linkend="fdl-modified">Version modifiée</link> selon les termes de cette Licence, sous la forme présentée dans l'annexe indiquée ci-dessous.</para>
+ </formalpara>
+ </listitem>
+
+ <listitem>
+ <formalpara>
+ <title>G</title>
+ <para>Préserver dans cette notice la liste complète des <link linkend="fdl-invariant">Sections inaltérables</link> et les <link linkend="fdl-cover-texts">Textes de couverture</link> donnés avec la notice de la Licence du <link linkend="fdl-document">Document</link>.</para>
+ </formalpara>
+ </listitem>
+
+ <listitem>
+ <formalpara>
+ <title>H</title>
+ <para>Inclure une copie non modifiée de cette Licence.</para>
+ </formalpara>
+ </listitem>
+
+ <listitem>
+ <formalpara>
+ <title>I</title>
+ <para>Préserver la section nommée <quote>Historique</quote> et son titre, et y ajouter une nouvelle entrée décrivant le titre, l'année, les nouveaux auteurs et l'éditeur de la <link linkend="fdl-modified">Version modifiée</link>, tels que décrits sur la <link linkend="fdl-title-page">Page de titre</link>, ainsi qu'un descriptif des modifications apportées depuis la précédente version. S'il n'y a pas de section nommée <quote>Historique</quote> dans le <link linkend="fdl-document">Document</link>, créer une telle section précisant le titre, l'année, les auteurs et l'éditeur du Document tel que précisé sur la <link linkend="fdl-title-page">Page de titre</link>, et ajouter une entrée décrivant la <link linkend="fdl-modified">Version modifiée</link> tel que précisé dans la phrase précédente.</para>
+ </formalpara>
+ </listitem>
+
+ <listitem>
+ <formalpara>
+ <title>J</title>
+ <para>Conserver l'adresse réseau éventuellement indiquée dans le <link linkend="fdl-document">Document</link> permettant à quiconque d'accéder à une <link linkend="fdl-transparent">Copie transparente</link> du Document, ainsi que les adresses réseau indiquées dans le Document pour les versions précédentes sur lesquelles le Document se base. Ces liens peuvent être placés dans la section <quote>Historique</quote>. Vous pouvez ne pas conserver les liens pour un travail datant de plus de quatre ans avant la version courante ou si l'éditeur d'origine vous en accorde la permission.</para>
+ </formalpara>
+ </listitem>
+
+ <listitem>
+ <formalpara>
+ <title>K</title>
+ <para>Si une section <quote>Dédicaces</quote> ou une section <quote>Remerciements</quote> sont présentes, les informations et les appréciations concernant les contributeurs et les personnes auxquelles s'adressent ces remerciements doivent être conservées, ainsi que le titre de ces sections.</para>
+ </formalpara>
+ </listitem>
+
+ <listitem>
+ <formalpara>
+ <title>L</title>
+ <para>Conserver sans modification les <link linkend="fdl-invariant">Sections inaltérables</link> du <link linkend="fdl-document">Document</link>, ni dans leurs textes, ni dans leurs titres. Les numéros de sections ne sont pas considérés comme faisant partie du texte des sections.</para>
+ </formalpara>
+ </listitem>
+
+ <listitem>
+ <formalpara>
+ <title>M</title>
+ <para>Effacer toute section intitulée <quote>Approbations</quote>. Une telle section ne peut pas être incluse dans une <link linkend="fdl-modified">Version modifiée</link>.</para>
+ </formalpara>
+ </listitem>
+
+ <listitem>
+ <formalpara>
+ <title>N</title>
+ <para>Ne pas renommer une section existante sous le titre <quote>Approbations</quote> ou sous un autre titre entrant en conflit avec le titre d'une <link linkend="fdl-invariant">Section inaltérable</link>.</para>
+ </formalpara>
+ </listitem>
+ </itemizedlist>
+
+ <para>Si la <link linkend="fdl-modified">Version modifiée</link> contient de nouvelles sections préliminaires ou de nouvelles annexes considérées comme des <link linkend="fdl-secondary">Sections secondaires</link> et que celles-ci ne contiennent aucun élément copié à partir du Document, vous pouvez à votre convenance en désigner une ou plusieurs comme étant des Sections inaltérables. Pour ce faire, ajoutez leurs titres dans la liste des <link linkend="fdl-invariant">Sections inaltérables</link> au sein de la notice de Licence de la Version modifiée. Ces titres doivent êtres distincts des titres des autres sections.</para>
+
+ <para>Vous pouvez ajouter une section nommée <quote>Approbations</quote> à condition que ces approbations ne concernent que les modifications ayant donné naissance à la <link linkend="fdl-modified">Version modifiée</link> (par exemple, comptes rendus de revue du document ou acceptation du texte par une organisation le reconnaissant comme étant la définition d'un standard).</para>
+
+ <para>Vous pouvez ajouter un passage comprenant jusqu'à cinq mots en <link linkend="fdl-cover-texts">première page de couverture</link>, et jusqu'à vingt-cinq mots en <link linkend="fdl-cover-texts">dernière page de couverture</link>, à la liste des <link linkend="fdl-cover-texts">Textes de couverture</link> de la <link linkend="fdl-modified">Version modifiée</link>. Il n'est autorisé d'ajouter qu'un seul passage en première et en dernière pages de couverture par personne ou groupe de personnes ou organisation ayant contribué à la modification du Document. Si le <link linkend="fdl-document">Document</link> comporte déjà un passage sur la même couverture, ajouté en votre nom ou au nom de l'organisation au nom de laquelle vous agissez, vous ne pouvez pas ajouter de passage supplémentaire ; mais vous pouvez remplacer un ancien passage si vous avez expressément obtenu l'autorisation de l'éditeur de celui-ci.</para>
+
+ <para>Cette Licence ne vous donne pas le droit d'utiliser le nom des auteurs et des éditeurs de ce <link linkend="fdl-document">Document</link> à des fins publicitaires ou pour prétendre à l'approbation d'une <link linkend="fdl-modified">Version modifiée</link>.</para>
+ </sect1>
+
+ <sect1 id="fdl-section5">
+ <title>5. FUSION DE DOCUMENTS</title>
+ <para>Vous pouvez fusionner le <link linkend="fdl-document">Document</link> avec d'autres documents soumis à cette Licence, suivant les spécifications de la <link linkend="fdl-section4">section 4</link> pour les Versions modifiées, à condition d'inclure dans le document résultant toutes les <link linkend="fdl-invariant">Sections inaltérables</link> des documents originaux sans modification, et de toutes les lister dans la liste des Sections inaltérables de la notice de Licence du document résultant de la fusion.</para>
+
+ <para>Le document résultant de la fusion n'a besoin que d'une seule copie de cette Licence, et les <link linkend="fdl-invariant">Sections inaltérables</link> existant en multiples exemplaires peuvent être remplacées par une copie unique. S'il existe plusieurs Sections inaltérables portant le même nom mais de contenu différent, rendez unique le titre de chaque section en ajoutant, à la fin de celui-ci, entre parenthèses, le nom de l'auteur ou de l'éditeur d'origine, ou, à défaut, un numéro unique. Les mêmes modifications doivent être réalisées dans la liste des Sections inaltérables de la notice de Licence du document final.</para>
+
+ <para>Dans le document résultant de la fusion, vous devez rassembler en une seule toutes les sections <quote>Historique</quote> des documents d'origine. De même, vous devez rassembler les sections <quote>Remerciements</quote> et <quote>Dédicaces</quote>. Vous devez supprimer toutes les sections <quote>Approbations</quote>.</para>
+ </sect1>
+
+ <sect1 id="fdl-section6">
+ <title>6. REGROUPEMENTS DE DOCUMENTS</title>
+ <para>Vous pouvez créer un regroupement de documents comprenant le <link linkend="fdl-document">Document</link> et d'autres documents soumis à cette Licence, et remplacer les copies individuelles de cette Licence des différents documents par une unique copie incluse dans le regroupement de documents, à condition de respecter pour chacun de ces documents l'ensemble des règles de cette Licence concernant les copies conformes.</para>
+
+ <para>Vous pouvez extraire un document d'un tel regroupement et le distribuer individuellement sous couvert de cette Licence, à condition d'y inclure une copie de cette Licence et d'en respecter l'ensemble des règles concernant les copies conformes.</para>
+ </sect1>
+
+ <sect1 id="fdl-section7">
+ <title>7. AGRÉGATION AVEC DES TRAVAUX INDÉPENDANTS</title>
+ <para>La compilation du <link linkend="fdl-document">Document</link> ou de ses dérivés avec d'autres documents ou travaux séparés et indépendants sur un support de stockage ou sur un média de distribution quelconque ne représente pas une <link linkend="fdl-modified">Version modifiée</link> du Document tant qu'aucun copyright n'est déposé pour cette compilation. Une telle compilation est appelée <quote>agrégat</quote> et cette Licence ne s'applique pas aux autres travaux indépendants compilés avec le Document s'ils ne sont pas eux-mêmes des travaux dérivés du Document. Si les exigences de la <link linkend="fdl-section3">section 3</link> concernant les <link linkend="fdl-cover-texts">Textes de couverture</link> sont applicables à ces copies du Document, et si le Document représente un volume inférieur à un quart du volume total de l'agrégat, les Textes de couverture du Document peuvent être placés sur des pages de couverture qui n'encadrent que le Document au sein de l'agrégat. Dans le cas contraire, ils doivent apparaître sur les pages de couverture de l'agrégat complet.</para>
+ </sect1>
+
+ <sect1 id="fdl-section8">
+ <title>8. TRADUCTION</title>
+ <para>La traduction est considérée comme une forme de modification, vous pouvez donc distribuer les traductions du <link linkend="fdl-document">Document</link> selon les termes de la <link linkend="fdl-section4">section 4</link>. Vous devez obtenir l'autorisation spéciale des auteurs des <link linkend="fdl-invariant">Sections inaltérables</link> pour les remplacer par des traductions, mais vous pouvez inclure les traductions des Sections inaltérables en plus des textes originaux. Vous pouvez inclure une traduction de cette Licence à condition d'inclure également la version originale en anglais. En cas de contradiction entre la traduction et la version originale en anglais, c'est cette dernière qui prévaut.</para>
+ </sect1>
+
+ <sect1 id="fdl-section9">
+ <title>9. RÉVOCATION</title>
+ <para>Vous ne pouvez pas copier, modifier, sous-licencier ou distribuer le <link linkend="fdl-document">Document</link> autrement que selon les termes de cette Licence. Tout autre acte de copie, modification, sous-Licence ou distribution du Document est sans objet et vous prive automatiquement des droits que cette Licence vous accorde. En revanche, les personnes qui ont reçu de votre part des copies ou les droits sur le document sous couvert de cette Licence ne voient pas leurs droits révoqués tant qu'elles en respectent les principes.</para>
+ </sect1>
+
+ <sect1 id="fdl-section10">
+ <title>10. RÉVISIONS FUTURES DE CETTE LICENCE</title>
+ <para>La <ulink type="http" url="http://www.gnu.org/fsf/fsf.html">Free Software Foundation</ulink> peut publier de temps en temps de nouvelles versions révisées de cette Licence. Ces nouvelles versions seront semblables à la présente version dans l'esprit, mais pourront différer sur des points particuliers en fonction de nouvelles questions ou nouveaux problèmes. Voyez <ulink type="http" url="http://www.gnu.org/copyleft">http://www.gnu.org/copyleft/</ulink> pour plus de détails.</para>
+
+ <para>Chaque version de cette Licence est dotée d'un numéro de version distinct. Si un <link linkend="fdl-document">Document</link> spécifie un numéro de version particulier de cette Licence, et porte la mention <quote>ou toute autre version ultérieure</quote>, vous pouvez choisir de suivre les termes de la version spécifiée ou ceux de n'importe quelle version ultérieure publiée par la Free Software Foundation. Si aucun numéro de version n'est spécifié, vous pouvez choisir n'importe quelle version officielle publiée par la Free Software Foundation.</para>
+ </sect1>
+
+ <sect1 id="fdl-using">
+ <title>Addendum</title>
+ <para>Pour utiliser cette Licence avec un document que vous avez écrit, incorporez une copie du texte de cette Licence en anglais et placez le texte ci-dessous juste après la page de titre :</para>
+
+ <blockquote>
+ <para>Copyright © 2010 Bruno Brouard.</para>
+ <para>Permission vous est donnée de copier, distribuer et/ou modifier ce document selon les termes de la Licence GNU Free Documentation License, Version 1.1 ou ultérieure publiée par la Free Software Foundation ; avec <link linkend="fdl-invariant">les sections inaltérables</link> suivantes LISTE DES TITRES DES SECTIONS INALTÉRABLES, avec le <link linkend="fdl-cover-texts">texte de première page de couverture</link> suivant TEXTE DE PREMIÈRE PAGE DE COUVERTURE et avec le <link linkend="fdl-cover-texts">texte de dernière page de couverture</link> suivant TEXTE DE DERNIÈRE PAGE DE COUVERTURE. Une copie de cette Licence est incluse dans la section appelée <quote>GNU Free Documentation License</quote> de ce document.</para>
+ </blockquote>
+
+ <para>Si votre Document ne comporte pas de <link linkend="fdl-invariant">section inaltérable</link> écrivez <quote>pas de section inaltérable</quote> au lieu de la liste des sections inaltérables. Si votre Document ne comporte pas de <link linkend="fdl-cover-texts">texte de première page de couverture</link>, écrivez <quote>pas de texte de première page de couverture</quote> au lieu de <quote>texte de première page de couverture suivant TEXTE DE PREMIÈRE PAGE DE COUVERTURE</quote> ; de même pour le <link linkend="fdl-cover-texts">texte de dernière page de couverture</link>.</para>
+
+ <para>Si votre Document contient des exemples non triviaux de code programme, nous recommandons de distribuer ces exemples en parallèle sous <ulink type="http" url="http://www.gnu.org/copyleft/gpl.html">Licence GNU General Public License</ulink>, qui permet leur usage dans les logiciels libres.</para>
+ </sect1>
+</appendix>
+
+
+
+
+
+
+
+
+</book>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<omf>
+ <resource>
+ <subject category="GNOME|Development"/>
+ <type>manual</type>
+ <relation seriesid="04ecd20e-775e-11d9-81af-a7c5a5fa91f6"/>
+ <rights type="GNU FDL" license.version="1.1" holder="gtk-doc developer team"/>
+ </resource>
+</omf>
+
+
+
+
+
+
--- /dev/null
+<?xml version="1.0" encoding="utf-8" standalone="no"?>
+<?xml-stylesheet type="text/xml" href="params.xsl"?>
+<!-- vim: set ai tw=80 ts=3 sw=3: -->
+<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "
+ http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
+<!ENTITY FDL SYSTEM "fdl-appendix.xml">
+<!ENTITY FDLlink "<link linkend='fdl'>included</link>">
+]>
+<!-- =============Document Header ============================= -->
+<book id="index" lang="gu">
+ <bookinfo>
+ <title>GTK-Doc પુસ્તિકા</title>
+ <edition>1.18</edition>
+ <abstract role="description"><para>GTK-Doc વપરાશની સૂચનાઓ સાથે ડેવલપરો માટે વપરાશકર્તા પુસ્તિકા.</para></abstract>
+ <authorgroup>
+ <author>
+ <firstname>ક્રીસ</firstname>
+ <surname>લિટ્લે</surname>
+ <affiliation>
+ <address>
+ <email>chris@wilddev.net</email>
+ </address>
+ </affiliation>
+ </author>
+ <author>
+ <firstname>Dan</firstname>
+ <surname>મૂએથ</surname>
+ <affiliation>
+ <address>
+ <email>d-mueth@uchicago.edu</email>
+ </address>
+ </affiliation>
+ </author>
+ <author>
+ <firstname>સ્ટેફાન</firstname>
+ <surname>કોસ્ટ</surname>
+ <affiliation>
+ <address>
+ <email>ensonic@users.sf.net</email>
+ </address>
+ </affiliation>
+ </author>
+ </authorgroup>
+ <publisher role="maintainer">
+ <publishername>GTK-Doc પ્રોજેક્ટ</publishername>
+ <address><email>gtk-doc-list@gnome.org</email></address>
+ </publisher>
+ <copyright>
+ <year>2000, 2005</year>
+ <holder>Dan Mueth and Chris Lyttle</holder>
+ </copyright>
+ <copyright>
+ <year>2007-2011</year>
+ <holder>Stefan Sauer (Kost)</holder>
+ </copyright>
+
+ <!-- translators: uncomment this:
+ <copyright>
+ <year>2000</year>
+ <holder>ME-THE-TRANSLATOR (Latin translation)</holder>
+ </copyright>
+ -->
+
+ <legalnotice>
+ <para>Permission is granted to copy, distribute and/or modify this document under the terms of the <citetitle>GNU Free Documentation License</citetitle>, Version 1.1 or any later version published by the Free Software Foundation with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is <link linkend="fdl">included</link>.</para>
+ <para>Many of the names used by companies to distinguish their products and services are claimed as trademarks. Where those names appear in any GNOME documentation, and those trademarks are made aware to the members of the GNOME Documentation Project, the names have been printed in caps or initial caps.</para>
+ </legalnotice>
+
+ <revhistory>
+ <!--revision>
+ <revnumber>1.18.1</revnumber>
+ <date>15 Sep 2011</date>
+ <authorinitials>sk</authorinitials>
+ <revremark>development version, markdown support</revremark>
+ </revision-->
+ <revision>
+ <revnumber>1.18</revnumber>
+ <date>14 sep 2011</date>
+ <authorinitials>sk</authorinitials>
+ <revremark>bug fixes, speedups, markdown support</revremark>
+ </revision>
+ <revision>
+ <revnumber>1.17</revnumber>
+ <date>26 Feb 2011</date>
+ <authorinitials>sk</authorinitials>
+ <revremark>urgent bug fix update</revremark>
+ </revision>
+ <revision>
+ <revnumber>1.16</revnumber>
+ <date>14 Jan 2011</date>
+ <authorinitials>sk</authorinitials>
+ <revremark>bugfixes, layout improvements</revremark>
+ </revision>
+ <revision>
+ <revnumber>1.15</revnumber>
+ <date>21 May 2010</date>
+ <authorinitials>sk</authorinitials>
+ <revremark>bug and regression fixes</revremark>
+ </revision>
+ <revision>
+ <revnumber>1.14</revnumber>
+ <date>28 March 2010</date>
+ <authorinitials>sk</authorinitials>
+ <revremark>bugfixes and performance improvements</revremark>
+ </revision>
+ <revision>
+ <revnumber>1.13</revnumber>
+ <date>18 ડિસેમ્બર 2009</date>
+ <authorinitials>sk</authorinitials>
+ <revremark>તૂટેલ ટારબોલ સુધારા</revremark>
+ </revision>
+ <revision>
+ <revnumber>1.12</revnumber>
+ <date>18 ડિસેમ્બર 2009</date>
+ <authorinitials>sk</authorinitials>
+ <revremark>નવા સાધન લક્ષણો અને ભૂલ સુધારાઓ</revremark>
+ </revision>
+ <revision>
+ <revnumber>1.11</revnumber>
+ <date>16 નવેમ્બર 2008</date>
+ <authorinitials>mal</authorinitials>
+ <revremark>GNOME doc-utils સ્થળાંતર</revremark>
+ </revision>
+ </revhistory>
+
+ </bookinfo>
+
+ <!-- ======== Chapter 1: Introduction ======================== -->
+
+ <chapter id="introduction">
+ <title>પરિચય</title>
+
+ <para>આ પ્રકરણ GTK-Doc ને રજૂ કરે છે અને તે શું છે અને તેને કેવી રીતે વપરાયેલ છે તેની ઝાંખી આપે છે.</para>
+
+ <sect1 id="whatisgtkdoc">
+ <title>GTK-Doc શું છે?</title>
+
+ <para>GTK-Doc એ દસ્તાવેજ C કોડ માટે વપરાયેલ છે. તે લાઇબ્રેરીઓનાં સાર્વજનિક API નાં દસ્તાવેજ માટે વપરાયેલ છે, જેવું કે GTK+ અને GNOME લાઇબ્રેરીઓ. પરંતુ તે પણ દસ્તાવેજ કાર્યક્રમ કોડ માટે વપરાયેલ છે.</para>
+ </sect1>
+
+ <sect1 id="howdoesgtkdocwork">
+ <title>GTK-Doc કામ કેવી રીતે કરે છે?</title>
+
+ <para>GTK-Doc એ વિશિષ્ટ રીતે માળખુ થયેલ ટિપ્પણી બ્લોકોમાં સ્ત્રોત ફાઇલોની અંદર સ્થિત થયેલ વિધેયોનાં દસ્તાવેજીકરણની મદદથી કામ કરે છે, અથવા દસ્તાવેજીકરણ ટેમ્પલેટ ફાઇલોમાં ઉમેરાયેલ છે કે જે GTK-Doc વાપરે છે (છતાંપણ નોંધો કે GTK-Doc એ પણ દસ્તાવેજ વિધેયો હશે કે જે શીર્ષક ફાઇલોમાં જાહેર થયેલ છે; તે સ્થિર વિધેયો માટે આઉટપુટ ઉત્પન્ન કરતુ નથી).</para>
+
+ <para>GTK-Doc એ perl સ્ક્રિપ્ટોની સંખ્યાને સમાવે છે, પ્રક્રિયામાં દરેક વિવિધ પગલું કરે છે.</para>
+
+ <para>ત્યાં પ્રક્રિયામાં મુખ્ય ૫ પગલાંઓ છે:</para>
+
+ <orderedlist>
+
+ <listitem>
+ <para><guilabel>દસ્તાવેજીકરણને લખી રહ્યા છે.</guilabel> લેખક એ દરેક વિધેયને, મેક્રો, યુનિયન વગેરે માટે દસ્તાવેજીકરણ સાથે સ્ત્રોત ફાઇલોમાં ભરે છે. (ઉત્પન્ન થયેલ ટેમ્પલેટ ફાઇલમાં ભૂતકાળની જાણકારી દાખલ થયેલ હતી, કે જે કોઇપણ રીતે અગ્રહણીય થયેલ નથી)</para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <guilabel>Gathering information about the code.</guilabel>
+
+ <application>gtkdoc-scan</application> scans the header files of the
+ code looking for declarations of functions, macros, enums, structs, and unions.
+ It creates the file <filename><module>-decl-list.txt</filename> containg a list of the
+ declarations, placing them into sections according to which header file they
+ are in. On the first run this file is copied to <filename><module>-sections.txt</filename>.
+ The author can rearrange the sections, and the order of the
+ declarations within them, to produce the final desired order.
+ The second file it generates is <filename><module>-decl.txt</filename>.
+ This file contains the full declarations found by the scanner. If for
+ some reason one would like some symbols to show up in the docs, where
+ the full declaration cannot be found by the scanner or the declaration
+ should appear differently, one can place enties similar to the ones in
+ <filename><module>-decl.txt</filename> into <filename><module>-overrides.txt</filename>.
+
+ <application>gtkdoc-scanobj</application> can also be used to dynamically query a library about
+ any GtkObject subclasses it exports. It saves information about each
+ object's position in the class hierarchy and about any GTK Args and Signals it
+ provides.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para><guilabel>"template" ફાઇલોને ઉત્પન્ન કરી રહ્યા છે.</guilabel><application>gtkdoc-mktmpl</application> એ પહેલાં પગલામાં ભેગી થયેલ જાણકારીની મદદથી <filename class="directory">tmpl/</filename> ઉપડિરેક્ટરીમાં ફાઇલોની સંખ્યાને બનાવે છે. (નોંધો કે જે આ વારંવાર ચલાવી શકાય છે. તે ખાતરી કરવા માટે પ્રયત્ન કરશે કે જે દસ્તાવેજીકરણ હંમેશ માટે ગુમ થઇ જતો નથી.)</para>
+ <note>
+ <para>જ્યાં સુધી GTK-Doc 1.9 નાં ટેમ્પલેટને અવગણી શકાય છે ત્યાં સુધી. આપણે કોડમાં દસ્તાવેજીકરણ ને રાખવા માટે લોકોને પ્રોત્સાહિત કરો. <application>gtkdocize</application> એ હવે <option>--flavour no-tmpl</option> વિકલ્પને આધાર આપે છે કે જે makefile ને પસંદ કરે છે કે જે સંપૂર્ણપણે tmpl વપરાશને છોડી દે છે. જો તમે પોતાની જાતે tmpl માં ફાઇલને કદી બદલો નહિં તો, મહેરબાની કરીને dir ને દૂર કરો (દા.ત. આવૃત્તિ નિયંત્રણ સિસ્ટમ માંથી).</para>
+ </note>
+ </listitem>
+
+ <listitem>
+ <para>
+ <guilabel>Generating the SGML/XML and HTML/PDF.</guilabel>
+
+ <application>gtkdoc-mkdb</application> turns the template files into
+ SGML or XML files in the <filename class="directory">sgml/</filename>
+ or <filename class="directory">xml/</filename> subdirectory.
+ If the source code contains documentation on functions, using the
+ special comment blocks, it gets merged in here. If there are no tmpl files used
+ it only reads docs from sources and introspection data. We recommend
+ to use Docbook XML.
+ </para>
+ <para>
+ <application>gtkdoc-mkhtml</application> turns the SGML/XML files into HTML
+ files in the <filename class="directory">html/</filename> subdirectory.
+ Likewise <application>gtkdoc-mkpdf</application> turns the SGML/XML files into a PDF
+ document called <filename><package>.pdf</filename>.
+ </para>
+ <para><filename class="directory">sgml/</filename> અથવા <filename class="directory">xml/</filename> માં ફાઇલો અને <filename class="directory">html/</filename> ડિરેક્ટરીઓ એ હંમેશા ઉપલ લખાયેલ છે. એક એ સીધુ જ તેઓને કદી સુધારતુ હોવુ જોઇએ નહિં.</para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <guilabel>Fixing up cross-references between documents.</guilabel>
+
+ After installing the HTML files, <application>gtkdoc-fixxref</application> can be run to fix up any
+ cross-references between separate documents. For example, the GTK+
+ documentation contains many cross-references to types documented in the GLib manual.
+
+ When creating the source tarball for distribution, <application>gtkdoc-rebase</application>
+ turns all external links into web-links. When installing distributed (pregenerated) docs
+ the same application will try to turn links back to local links
+ (where those docs are installed).
+ </para>
+ </listitem>
+ </orderedlist>
+
+ </sect1>
+
+ <sect1 id="gettinggtkdoc">
+ <title>GTK-Doc ને મેળવી રહ્યા છે</title>
+
+ <sect2 id="requirements">
+ <title>જરૂરિયાતો</title>
+ <para><guilabel>Perl v5</guilabel> - મુખ્ય સ્ક્રિપ્ટો એ Perl માં છે.</para>
+ <para><guilabel>DocBook DTD v3.0</guilabel> - આ DocBook SGML DTD છે. <ulink url="http://www.ora.com/davenport" type="http">http://www.ora.com/davenport</ulink></para>
+ <para><guilabel>Jade v1.1</guilabel> - આ વિવિધ માળખાઓમાં SGML ને રૂપાંતર કરવા માટે DSSSL પ્રોસેસર છે. <ulink url="http://www.jclark.com/jade" type="http">http://www.jclark.com/jade</ulink></para>
+ <para><guilabel>Modular DocBook Stylesheets</guilabel> આ DocBook ને HTML માં રૂપાંતરિત કરવા માટે DSSSL કોડ છે (અને થોડા બીજા બંધારણો). તે jade સાથે ભેગા વાપરેલ છે. મેં DSSSL કોડને કાર્યક્રમ કોડની યાદીઓ/ જાહેરાતોને રંગ આપવા માટે, અને ઉત્પન્ન થયેલ HTML માં વૈશ્ર્વિક પ્રતિનિર્દેશ સૂચિને આધાર આપવા માટે gtk-doc.dsl માં જરાક DSSSL કોડને વૈવિધ્યપૂર્ણ બનાવેલ છે. <ulink url="http://nwalsh.com/docbook/dsssl" type="http">http://nwalsh.com/docbook/dsssl</ulink></para>
+ <para><guilabel>docbook-to-man</guilabel> - જો તમે DocBook માંથી મુખ્ય પાનાંઓને બનાવવાનું ઇચ્છતા હોય તો, મેં થોડુ 'translation spec' ને વૈવિધ્યપૂર્ણ બનાવેલ છે, વિભાગનાં શીર્ષકનાં મોટા અક્ષર કરવા માટે અને પાનાંઓના ઊંચે 'GTK Library' શીર્ષકને ઉમેરો અને નીચે પૂનરાવર્તિત તારીખને ઉમેરો. ત્યાં <ulink url="http://www.ora.com/davenport" type="http">http://www.ora.com/davenport</ulink> પર આની કડી છે નોંધો: આ હજુ કામ કરતુ નથી.</para>
+ </sect2>
+
+ <sect2 id="installation">
+ <title>સ્થાપન</title>
+ <para>ત્યાં મૂળભૂત સ્થાન નથી કે જ્યાં DocBook Modular Stylesheets એ સ્થાપિત થયેલ હોય.</para>
+ <para>GTK-Doc ની રૂપરેખાંકિત સ્ક્રિપ્ટ એ આ 3 ડિરેક્ટરીઓને આપમેળે શોધે છે:</para>
+ <para><filename> /usr/lib/sgml/stylesheets/nwalsh-modular </filename> (RedHat દ્દારા વપરાયેલ છે)</para>
+ <para><filename> /usr/lib/dsssl/stylesheets/docbook </filename> (Debian દ્દારા વપરાયેલ છે)</para>
+ <para><filename> /usr/share/sgml/docbkdsl </filename> (SuSE દ્દારા વપરાયેલ છે)</para>
+ <para>જો તમે ગમે ત્યાં સ્ટાઇલશીટો સ્થાપિત કરેલ હોય તો, તમે વિકલ્પની મદદથી GTK-Doc ને રૂપરેખાંકિત કરવા માટે જરૂ છે, <command> --with-dsssl-dir=<PATH_TO_TOPLEVEL_STYLESHEETS_DIR> </command></para>
+ </sect2>
+
+ </sect1>
+
+ <!-- not realy worth a section
+ <sect1 id="whentousegtkdoc">
+ <title>When to Use GTK-Doc</title>
+
+ <para>
+ (What things GTK-Doc should, and shouldn't, be used for.)
+ (- ???)
+ (- non C-based projects)
+ (+ Tutorials)
+ </para>
+
+ </sect1>
+ -->
+
+ <sect1 id="aboutgtkdoc">
+ <title>GTK-Doc વિશે</title>
+
+ <para>(FIXME)</para>
+
+ <para>(ઇતિહાસ, લેખકો, વેબ પાનાંઓ, લાઇસન્સ, ભવિષ્યનાં પ્લાનો, સરખી સિસ્ટમો સાથે સરખામણી.)</para>
+
+ </sect1>
+
+ <sect1 id="aboutthismanual">
+ <title>આ પુસ્તિકા વિશે</title>
+
+ <para>(FIXME)</para>
+
+ <para>
+ (who it is meant for, where you can get it, license)
+ </para>
+
+ </sect1>
+
+ </chapter>
+
+ <chapter id="settingup">
+ <title>તમારા પ્રોજેક્ટને સુયોજિત કરી રહ્યા છે</title>
+
+ <para>
+ The next sections describe what steps to perform to integrate GTK-Doc into
+ your project. Theses sections assume we work on a project called 'meep'.
+ This project contains a library called 'libmeep' and
+ an end-user app called 'meeper'. We also assume you will be using autoconf
+ and automake. In addition section <link linkend="plain_makefiles">plain
+ makefiles or other build systems</link> will describe the basics needed to
+ work in a different build setup.
+ </para>
+
+ <sect1 id="settingup_docfiles">
+ <title>સ્કેલેટન દસ્તાવેજીકરણને સુયોજિત કરી રહ્યા છે</title>
+
+ <para>
+ Under your top-level project directory create folders called docs/reference
+ (this way you can also have docs/help for end-user documentation).
+ It is recommended to create another subdirectory with the name of the doc-package.
+ For packages with just one library this step is not necessary.
+ </para>
+
+ <para>
+ This can then look as shown below:
+ <example><title>ઉદાહરણ ડિરેક્ટરી બંધારણ</title>
+ <programlisting>
+<![CDATA[
+meep/
+ docs/
+ reference/
+ libmeep/
+ meeper/
+ src/
+ libmeep/
+ meeper/
+]]>
+ </programlisting>
+ </example>
+ </para>
+ </sect1>
+
+ <sect1 id="settingup_autoconf">
+ <title>autoconf સાથે એકત્રિકરણ</title>
+
+ <para>ઘણું સરળ છે! ફક્ત તમારી <filename>configure.ac</filename> સ્ક્રિપ્ટમાં એક વાક્ય ને ઉમેરો.</para>
+
+ <para>
+ <example><title>autoconf સાથે એકત્રિકરણ</title>
+ <programlisting>
+<![CDATA[
+# check for gtk-doc
+GTK_DOC_CHECK([1.14],[--flavour no-tmpl])
+]]>
+ </programlisting>
+ </example>
+ </para>
+
+ <para>
+ This will require all developers to have gtk-doc installed. If it is
+ okay for your project to have optional api-doc build setup, you can
+ solve this as below. Keep it as is, as gtkdocize is looking for
+ <function>GTK_DOC_CHECK</function> at the start of a line.
+ <example><title>Keep gtk-doc optional</title>
+ <programlisting>
+<![CDATA[
+# check for gtk-doc
+m4_ifdef([GTK_DOC_CHECK], [
+GTK_DOC_CHECK([1.14],[--flavour no-tmpl])
+],[
+AM_CONDITIONAL([ENABLE_GTK_DOC], false)
+])
+]]>
+ </programlisting>
+ </example>
+ </para>
+
+ <para>પહેલી દલીલ રૂપરેખાંકિત સમયે gtkdocversion માટે ચકાસવા વપરાયેલ છે. બીજી, વૈકલ્પિક દલીલ એ <application>gtkdocize</application> દ્દારા વપરાયેલ છે. <symbol>GTK_DOC_CHECK</symbol> મેક્રો પણ ઘણીબધા રૂપરેખાંકિત ફેરબદલોને ઉમેરે છે:</para>
+ <orderedlist>
+ <listitem><para>--with-html-dir=PATH : સ્થાપિત થયેલ દસ્તાવેજોનો પાથ</para></listitem>
+ <listitem><para>--enable-gtk-doc : દસ્તાવેજીકરણ ને બિલ્ડ કરવા માટે gtk-doc ને વાપરો [default=no]</para></listitem>
+ <listitem><para>--enable-gtk-doc-html : html બંધારણમાં દસ્તાવેજીકરણ બિલ્ડ કરો [default=yes]</para></listitem>
+ <listitem><para>--enable-gtk-doc-pdf : pdf બંધારણમાં દસ્તાવેજીકરણને બિલ્ડ કરો [default=no]</para></listitem>
+ </orderedlist>
+
+ <important>
+ <para>GTK-Doc એ મૂળભૂત રીતે નિષ્ક્રિય થયેલ છે! આગળનાં <filename>configure</filename> ને ચલાવવા માટે <option>'--enable-gtk-doc'</option> ને પસાર કરવાનું યાદ રાખો. નહિં તો પહેલીથી ઉત્પન્ન થયેલ દસ્તાવેજીકરણ સ્થાપિત થયેલ છે (કે જે વપરાશકર્તાઓ માટેનો અર્થ બને છે પરંતુ ડેવલપરો માટે નહિં).</para>
+ </important>
+
+ <para>આગળ વધારે તે અગ્રહણીય થયેલ છે કે જે તમારી પાસે તમારી <filename>configure.ac</filename> સ્ક્રિપ્ટની અંદર નીચેનું વાક્ય છે. આ તમારા પ્રોજેક્ટમાં <function>GTK_DOC_CHECK</function> માટે મેક્રો વ્યાખ્યાને આપમેળે નકલ કરવા માટે પરવાનગી આપે છે.</para>
+
+ <para>
+ <example><title>gtkdocize માટે તૈયારી</title>
+ <programlisting>
+<![CDATA[
+AC_CONFIG_MACRO_DIR(m4)
+]]>
+ </programlisting>
+ </example>
+ </para>
+ </sect1>
+
+ <sect1 id="settingup_automake">
+ <title>automake સાથે એકત્રિકરણ</title>
+
+ <para>તમારા પ્રોજેક્ટની API દસ્તાવેજીકરણ ડિરેક્ટરી ( <filename class="directory">./docs/reference/<package></filename>) માં gtkdoc-સ્ત્રોતોની ઉપડિરેક્ટરીઓનાં ઉદાહરણો માંથી <filename>Makefile.am</filename> ની પહેલી નકલ કરો. જો તમારી પાસે દરેક એક માટે ઘણાબધા ફરી આવતા દસ્તાવેજ-પેકેજો છે.</para>
+
+ <para>
+ The next step is to edit the settings inside the <filename>Makefile.am</filename>.
+ All the settings have a comment above that describes their purpose.
+ Most settings are extra flags passed to the respective tools. Every tool
+ has a variable of the form <option><TOOLNAME>_OPTIONS</option>.
+ All the tools support <option>--help</option> to list the supported
+ parameters.
+ </para>
+
+ <!-- FIXME: explain options ? -->
+
+ <para>
+ You may also want to enable GTK-Doc for the distcheck make target. Just
+ add the one line shown in the next example to your top-level
+ <filename>Makefile.am</filename>:
+ </para>
+
+ <para>
+ <example><title>distcheck ને બનાવવા દરમ્યાન GTK-Doc ને સક્રિય કરો</title>
+ <programlisting>
+<![CDATA[
+DISTCHECK_CONFIGURE_FLAGS=--enable-gtk-doc
+]]>
+ </programlisting>
+ </example>
+ </para>
+
+ </sect1>
+
+ <sect1 id="settingup_autogen">
+ <title>autogen સાથે એકત્રિકરણ</title>
+
+ <para>મોટાભાગનાં પ્રોજેક્ટો પાસે આવૃત્તિ નિયંત્રણ સિસ્ટમ (જેવી કે cvs/svn/git) માંથી ચેકઆઉટ પછી ઇન્ફ્રાસ્ટ્રક્ચરને બિલ્ડ કરવાનું સુયોજિત કરવા માટે <filename>autogen.sh</filename> સ્ક્રિપ્ટ હશે. GTK-Doc એ સાધન <application>gtkdocize</application> તરીકે કહેવાતા સાધન સાથે આવે છે કે જે આવી સ્ક્રિપ્ટમાં વાપરી શકાય છે. તે autoheader, automake અથવા autoconf પહેલાં ચાલવુ જોઇએ.</para>
+
+ <para>
+ <example><title>autogen.sh માંથી gtkdocize ને ચલાવી રહ્યા છે</title>
+ <programlisting>
+<![CDATA[
+gtkdocize || exit 1
+]]>
+ </programlisting>
+ </example>
+ </para>
+
+ <para>
+ When running <application>gtkdocize</application> it copies
+ <filename>gtk-doc.make</filename> to your project root (or any directory
+ specified by the <option>--docdir</option> option).
+ It also checks you configure script for the <function>GTK_DOC_CHECK</function>
+ invocation. This macro can be used to pass extra parameters to
+ <application>gtkdocize</application>.
+ </para>
+
+ <para>
+ Historically GTK-Doc was generating template files where developers entered the docs.
+ This turned out to be not so good (e.g. the need for having generated
+ files under version control).
+ Since GTK-Doc 1.9 the tools can get all the information from source comments
+ and thus the templates can be avoided. We encourage people to keep
+ documentation in the code. <application>gtkdocize</application> supports now
+ a <option>--flavour no-tmpl</option> option that chooses a makefile that skips
+ tmpl usage totally. Besides adding the option directly to the command
+ invocation, they can be added also to an environment variable called <symbol>GTKDOCIZE_FLAGS</symbol>
+ or set as a 2nd parameter in <symbol>GTK_DOC_CHECK</symbol> macro in the configure script.
+ If you have never changed file in tmpl by hand and migrating from older gtkdoc versions,
+ please remove the dir (e.g. from version control system).
+ </para>
+ </sect1>
+
+ <sect1 id="settingup_firstrun">
+ <title>દસ્તાવેજ બિલ્ડને ચલાવી રહ્યા છે</title>
+
+ <para>પહેલાનાં પગલાઓ પછી બિલ્ડ ને ચલાવવા માટે સમય થઇ ગયો છે. પહેલાં આપણે <filename>autogen.sh</filename> પુન:ચલાવવાની જરૂર છે. નહિં તો પછીથી આ વિકલ્પ સાથે <filename>configure</filename> ને જાતે જ ચલાવો.</para>
+ <para>
+ The first make run generates several additional files in the doc-dirs.
+ The important ones are:
+ <filename><package>.types</filename>,
+ <filename><package>-docs.xml</filename> (in the past .sgml),
+ <filename><package>-sections.txt</filename>.
+ </para>
+ <para>
+ <example><title>દસ્તાવેજ બિલ્ડને ચલાવી રહ્યા છે</title>
+ <programlisting>
+<![CDATA[
+./autogen.sh --enable-gtk-doc
+make
+]]>
+ </programlisting>
+ </example>
+ </para>
+ <para>હવે તમે <filename>docs/reference/<package>/index.html</filename> માટે તમારા બ્રાઉઝર પર આંગળી ચીંધી શકો છો. હાં, તે થોડુ હજુ નિરાશ કરે તેવુ છે. પરંતુ આગળનામ વિષય માટે આપણે તને કહીએ છે કે જીદંગી સાથે પાનાંઓને કેવી રીતે ભરવા તે દરમ્યાન થોડા સમય માટે અટકી જાય છે</para>
+ </sect1>
+
+ <sect1 id="settingup_vcs">
+ <title>આવૃત્તિ નિયંત્રણ સિસ્ટમો સાથે એકત્રિકરણ</title>
+
+ <para>
+ As a rule of the thumb, it's those files you edit, that should go under
+ version control. For typical projects it's these files:
+ <filename><package>.types</filename>,
+ <filename><package>-docs..xml</filename> (in the past .sgml),
+ <filename><package>-sections.txt</filename>,
+ <filename>Makefile.am</filename>
+ </para>
+ </sect1>
+
+ <sect1 id="plain_makefiles">
+ <title>Integration with plain makefiles or other build systems</title>
+
+ <para>
+ In the case one does not want to use automake and therfore
+ <filename>gtk-doc.mak</filename> one will need to call the gtkdoc tools
+ in the right order in own makefiles (or other build tools).
+ </para>
+
+ <para>
+ <example><title>Documentation build steps</title>
+ <programlisting>
+<![CDATA[
+DOC_MODULE=meep
+// sources have changed
+gtkdoc-scan --module=$(DOC_MODULE) --source-dir=...
+gtkdoc-scangobj --module=$(DOC_MODULE)
+gtkdoc-mkdb --module=$(DOC_MODULE) --output-format=xml
+// xml files have changed
+mkdir html
+cd html && gtkdoc-mkhtml $(DOC_MODULE) ../meep-docs.xml
+gtkdoc-fixxref --module=$(DOC_MODULE) --module-dir=html
+]]>
+ </programlisting>
+ </example>
+ </para>
+
+ <para>
+ One will need to look at the <filename>Makefile.am</filename> and
+ <filename>gtk-doc.mak</filename> to pick the extra options needed.
+ </para>
+ </sect1>
+
+ </chapter>
+
+ <chapter id="documenting">
+ <title>કોડને દસ્તાવેજ કરી રહ્યા છે</title>
+
+ <para>
+ GTK-Doc uses source code comment with a special syntax for code documentation.
+ Further it retrieves information about your project structure from other
+ sources. During the next section you will find all information about the
+ syntax of the comments.
+ </para>
+
+ <note>
+ <title>દસ્તાવેજીકરણ નિયુક્તિ</title>
+ <para>
+ In the past most documentation had to be filled into files residing
+ inside the <filename>tmpl</filename> directory. This has the
+ disadvantages that the information is often not updated and also that
+ the file tend to cause conflicts with version control systems.
+ </para>
+ <para>
+ The avoid the aforementioned problems we suggest putting the
+ documentation inside the sources. This manual will only describe this
+ way of documenting code.
+ </para>
+ </note>
+
+ <para>
+ The scanner can handle the majority of c headers fine. In the case of
+ receiving warnings from the scanner that look like a special case, one can
+ hint GTK-Doc to skip over them.
+ <example><title>GTK-Doc ટિપ્પણી બ્લોક</title>
+ <programlisting>
+<![CDATA[
+#ifndef __GTK_DOC_IGNORE__
+/* unparseable code here */
+#endif
+]]>
+ </programlisting>
+ </example>
+ </para>
+
+ <!-- -->
+
+ <sect1 id="documenting_syntax">
+ <title>દસ્તાવેજીકરણ ટિપ્પણીઓ</title>
+
+ <para>ઘણીબધા વાક્યની ટિપ્પણીઓ કે જે વધારાનાં '*' ચિહ્ન દસ્તાવેજીકરણ બ્લોક સાથે શરૂ થાય છે કે જે GTK-Doc સાધનો દ્દારા પ્રક્રિયા થયેલ હશે. <example><title>GTK-Doc ટિપ્પણી બ્લોક</title>
+ <programlisting>
+<![CDATA[
+/**
+ * identifier:
+ * documentation ...
+ */
+]]>
+ </programlisting>
+ </example></para>
+
+ <para>
+ The 'identifier' is one line with the name of the item the comment is
+ related to. The syntax differs a little depending on the item.
+ (TODO add table showing identifiers)
+ </para>
+
+ <para>
+ The 'documentation' block is also different for each symbol type. Symbol
+ types that get parameters such as functions or macros have the parameter
+ description first followed by a blank line (just a '*').
+ Afterwards follows the detailed description. All lines (outside program-
+ listings and CDATA sections) just containing a ' *' (blank-asterisk) are
+ converted to paragraph breaks.
+ If you don't want a paragraph break, change that into ' * '
+ (blank-asterisk-blank-blank).
+ </para>
+
+ <tip>
+ <para>
+ When documenting code, describe two apsects:
+ <itemizedlist>
+ <listitem>
+ <para>
+ What it is: The name for a class or function can sometimes
+ be misleading for people coming from a different background.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ What it does: Tell about common uses. Put it in releation
+ with the other API.
+ </para>
+ </listitem>
+ </itemizedlist>
+ </para>
+ </tip>
+
+ <para>
+ One advantage of hyper-text over plain-text is the ability to have links
+ in the document. Writing the correct markup for a link can be tedious
+ though. GTK-Doc comes to help by providing several useful abbreviations.
+ <itemizedlist>
+ <listitem>
+ <para>વિધેયો અથવા મેક્રોનો સંદર્ભ લેવા માટે function() ને વાપરો કે જે દલીલોને લે છે.</para>
+ </listitem>
+ <listitem>
+ <para>પરિમાણોનો સંદર્ભ લેવા માટે @param ને વાપરો. બીજા વિધેયોનાં પરિમાણો માટે જ્યારે સંદર્ભ કરી રહ્યા હોય ત્યારે આને પણ વાપરો, વર્ણવવા માટે એકને સંબંધિત છે.</para>
+ </listitem>
+ <listitem>
+ <para>કૉન્સ્ટન્ટ નો સંદર્ભ લેવા માટે %constant ને વાપરો, દા.ત. %G_TRAVERSE_LEAFS.</para>
+ </listitem>
+ <listitem>
+ <para>સંકેતનાં બીજા પ્રકારોનો સંદર્ભ લેવા માટે #symbol ને વાપરો, દા.ત. structs અને enums અને macros કે જે દલીલો લેતુ નથી.</para>
+ </listitem>
+ <listitem>
+ <para>#Object ને વાપરો::GObject સંકેતનો સંદર્ભ લેવા માટે સંકેત</para>
+ </listitem>
+ <listitem>
+ <para>#Object ને વાપરો:GObject ગુણધર્મનો સંદર્ભ લેવા માટે ગુણધર્મ</para>
+ </listitem>
+ <listitem>
+ <para>બંધારણની અંદર ક્ષેત્રનો સંદર્ભ લેવા માટે #Struct.field ને વાપરો.</para>
+ </listitem>
+ </itemizedlist>
+ </para>
+
+ <tip>
+ <para>જો તમારે તેઓને બદલ્યા વગર GTK-Doc વગર તમારાં દસ્તાવેજીકરણમાં વિશિષ્ટ અક્ષરો '<', '>', '()', '@', '%', or '#' ને વાપરવાનું ઇચ્છતા હોય તો તમે XML વસ્તુઓ "&lt;", "&gt;", "&lpar;", "&rpar;", "&commat;", "&percnt;" અને "&num;" ને વાપરી શકો છો અથવા બેકસ્લેશ '\' સાથે તેઓમાંથી બહાર નીકળી જાઓ.</para>
+ </tip>
+
+ <para>
+ DocBook can do more than just links. One can also have lists, tables and
+ examples. To enable the usage of docbook SGML/XML tags inside
+ doc-comments you need to have <option>--xml-mode</option> or
+ <option>--sgml-mode</option> in the variable
+ <symbol>MKDB_OPTIONS</symbol> inside <filename>Makefile.am</filename>.
+ </para>
+
+ <para>
+ Since GTK-Doc-1.18 the tool supports a subset or the
+ <ulink url="http://daringfireball.net/projects/markdown/">markdown language</ulink>.
+ One can use it for sub-headings and simple itemized lists. On older
+ GTK-Doc versions the content will be rendered as it (the list items will
+ appear in one line separated by dashes).
+ <example><title>GTK-Doc comment block using markdown</title>
+ <programlisting>
+<![CDATA[
+/**
+ * identifier:
+ *
+ * documentation ...
+ *
+ * # Sub heading #
+ *
+ * more documentation:
+ * - list item 1
+ * - list item 2
+ *
+ * Even more docs.
+ */
+]]>
+ </programlisting>
+ </example>
+ </para>
+
+ <tip>
+ <para>પહેલાનાં GTK-Doc માં પહેલેથી જણાવેલ પ્રમાણે સાર્વજનિક API દસ્તાવેજીકરણ માટે છે. છતાં એક એ સ્થિર સંકેતો માટે દસ્તાવેજીકરણ ને લખી શકતુ નથી. તેમ છતાં તે પેલાં સંકેતો પર ટિપ્પણી કરવા માટે સારુ છે. આ તમારાં કોડને સમજવા માટે બીજાને મદદ કરે છે. માટે આપણે સામાન્ય ટિપ્પણીઓની મદદથી આ ટિપ્પણી એ અગ્રહણીય કરેલ છે (પહેલાં વાક્યમાં બીજા '*' વગર). જો પછી વિધેયને સાર્વજનિક બનાવવાની જરૂર છે, ટિપ્પણી બ્લોકમાં બીજા '*' ઉમેરવા માટે બધાને કરવાની જરૂર છે અને ફાઇલ વિભાગોની અંદર જમણી જગ્યા પર સંકેત નામને દાખલ કરો.</para>
+ </tip>
+ </sect1>
+
+ <sect1 id="documenting_sections">
+ <title>વિભાગોનું દસ્તાવેજ કરી રહ્યા છે</title>
+
+ <para>દસ્તાવેજીકરણનો દરેક વિભાગ એ એર વર્ગ અથવા મોડ્યુલ વિશે જાણકારીને સમાવે છે. એક ઘટક એ વિભાગ બ્લોક લખી શકે છે તે રજૂ કરવા માટે. ટૂંકુ વર્ણન એ સમાવિષ્ટોનાં કોષ્ટકની અંદર પણ વપરાયેલ છે. બધી @fields વૈકલ્પિક છે.</para>
+
+ <para>
+ <example><title>વિભાગ ટિપ્પણી બ્લોક</title>
+ <programlisting>
+<![CDATA[
+/**
+ * SECTION:meepapp
+ * @short_description: the application class
+ * @title: Meep application
+ * @section_id:
+ * @see_also: #MeepSettings
+ * @stability: Stable
+ * @include: meep/app.h
+ * @image: application.png
+ *
+ * The application class handles ...
+ */
+]]>
+ </programlisting>
+ </example>
+ </para>
+
+ <variablelist>
+ <varlistentry>
+ <term>SECTION:<name></term>
+ <listitem>
+ <para>
+ The name links the section documentation to the respective part in
+ the <filename><package>-sections.txt</filename> file. The
+ name give here should match the <FILE> tag in the
+ <filename><package>-sections.txt</filename> file.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>@shortdescription (_d)</term>
+ <listitem>
+ <para>વિભાગનું એક વાક્યનું વર્ણન, કે જે પછી TOC માં અને વિભાગ પાનાંની ટોચે કડીઓ પછી દેખાશે.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>@title</term>
+ <listitem>
+ <para>વિભાગનું શીર્ષક એ SECTION રજૂઆતમાંથી <name> માટે મૂળભૂત કરેલ છે. તે @title ક્ષેત્ર સાથે અવગણી શકાય છે.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>@sectionid (_i)</term>
+ <listitem>
+ <para>
+ Overrides the use of title as a section identifier. For GObjects
+ the <title> is used as a section_id and for other sections
+ it is <MODULE>-<title>.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>@seealso (_a)</term>
+ <listitem>
+ <para>
+ A list of symbols that are related to this section.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>@stability</term>
+ <listitem>
+ <para>
+ A informal description of the stability level this API has.
+ We recommend the use of one of these terms:
+ <itemizedlist>
+ <listitem>
+ <para>
+ Stable
+ - The intention of a Stable interface is to enable arbitrary
+ third parties to develop applications to these interfaces,
+ release them, and have confidence that they will run on all
+ minor releases of the product (after the one in which the
+ interface was introduced, and within the same major release).
+ Even at a major release, incompatible changes are expected
+ to be rare, and to have strong justifications.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Unstable
+ - Unstable interfaces are experimental or transitional.
+ They are typically used to give outside developers early
+ access to new or rapidly changing technology, or to provide
+ an interim solution to a problem where a more general
+ solution is anticipated.
+ No claims are made about either source or binary
+ compatibility from one minor release to the next.
+ </para>
+ </listitem>
+ <listitem>
+ <para>ખાનગી - ઇન્ટપફેસ કે જે GNOME સ્ટેક પોતામાં વાપરી શકાય છે, પરંતુ અંતિમ વપરાશકર્તાઓ માટે દસ્તાવેજ થયેલ નથી. જેવા કે વિધેયો એ સ્પષ્ટ થયેલ અને દસ્તાવેજ પ્રમાણે પમ વાપરવુ જોઇએ.</para>
+ </listitem>
+ <listitem>
+ <para>આંતરિક - ઇન્ટરફેસ કે જે મોડ્યુલ માટે આંતરિક છે અને અંતિમ-વપરાશકર્તાનાં દસ્તાવેજીકરણની જરૂર નથી. વિધેયો કે જે દસ્તાવેજ થયેલ નથી તે આંતરિક કરવા માટે ધારેલ છે.</para>
+ </listitem>
+ </itemizedlist>
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>@include</term>
+ <listitem>
+ <para>
+ The <literal>#include</literal> files to show in the section
+ synopsis (a comma separated list), overriding the global
+ value from the <link linkend="metafiles_sections">section
+ file</link> or command line. This item is optional.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>@image</term>
+ <listitem>
+ <para>
+ The image to display at the top of the reference page for this
+ section. This will often be some sort of a diagram to illustrate
+ the visual appearance of a class or a diagram of its relationship
+ to other classes. This item is optional.
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+
+ <tip>
+ <para>
+ To avoid unnecessary recompilation after doc-changes put the section
+ docs into the c-source where possible.
+ </para>
+ </tip>
+
+ </sect1>
+
+ <sect1 id="documenting_symbols">
+ <title>સંકેતોનું દસ્તાવેજ કરી રહ્યા છે</title>
+
+ <para>
+ Each symbol (function, macro, struct, enum, signal and property) is
+ documented in a separate block. The block is best placed close to the
+ definition of the symbols so that it is easy to keep them in sync.
+ Thus functions are usually documented in the c-source and macros,
+ structs and enums in the header file.
+ </para>
+
+ <sect2><title>સામાન્ય ટેગ</title>
+
+ <para>
+ You can add versioning information to all documentation elements to tell
+ when an api was introduced, or when it was deprecated.
+ </para>
+
+ <variablelist><title>Versioning Tags</title>
+ <varlistentry><term>જ્યાં સુધી:</term>
+ <listitem>
+ <para>વર્ણન જ્યાં સુધી API કોડનું કઇ આવૃત્તિ ઉપલ્બધ છે.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry><term>અપ્રચલિત થયેલ:</term>
+ <listitem>
+ <para>ફકરાને સૂચિત કરી રહ્યા છે કે જે આ વિધેયને વધારે વાપરવુ જોઇએ નહિં. વર્ણનએ નવા API માટે વાંચનારને ધ્યાન લેવુ જોઇએ.</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+
+ <para>(FIXME : સ્થિરતા જાણકારી)</para>
+
+ <example><title>સામાન્ય ટેગ</title>
+ <programlisting>
+<![CDATA[
+/**
+ * foo_get_bar:
+ * @foo: some foo
+ *
+ * Retrieves @foo's bar.
+ *
+ * Returns: @foo's bar
+ *
+ * Since: 2.6
+ * Deprecated: 2.12: Use foo_baz_get_bar() instead.
+ **/
+Bar *
+foo_get_bar(Foo *foo)
+{
+...
+]]>
+ </programlisting>
+ </example>
+ </sect2>
+
+ <sect2><title>વિધેય ટિપ્પણી બ્લોક</title>
+
+ <para>મહેરબાની કરીને યાદ રાખો: <itemizedlist>
+ <listitem>
+ <para>
+ Document whether returned objects, lists, strings, etc, should be
+ freed/unrefed/released.
+ </para>
+ </listitem>
+ <listitem>
+ <para>દસ્તાવેજ ક્યાંતો પરિમાણો એ NULL હોઇ શકે છે, અને શું થશે જો તેઓ છે તો.</para>
+ </listitem>
+ <listitem>
+ <para>
+ Mention interesting pre-conditions and post-conditions where appropriate.
+ </para>
+ </listitem>
+ </itemizedlist></para>
+
+ <para>Gtk-doc એ '_' સાથે શરૂ થતા બધા સંકેતો (મેક્રો, વિધેયો) ને ખાનગી ધારે છે. તેઓ સ્થિર વિધેયો જેવું વર્ણતૂક કરે છે.</para>
+
+ <para>
+
+ Also, take a look at gobject introspection annotation tags:
+ http://live.gnome.org/GObjectIntrospection/Annotations
+ </para>
+
+ <example><title>વિધેય ટિપ્પણી બ્લોક</title>
+ <programlisting>
+<![CDATA[
+/**
+ * function_name:
+ * @par1: description of parameter 1. These can extend over more than
+ * one line.
+ * @par2: description of parameter 2
+ * @...: a %NULL-terminated list of bars
+ *
+ * The function description goes here. You can use @par1 to refer to parameters
+ * so that they are highlighted in the output. You can also use %constant
+ * for constants, function_name2() for functions and #GtkWidget for links to
+ * other declarations (which may be documented elsewhere).
+ *
+ * Returns: an integer.
+ *
+ * Since: 2.2
+ * Deprecated: 2.18: Use other_function() instead.
+ */
+]]>
+ </programlisting>
+ </example>
+
+ <variablelist><title>વિધેય ટૅગો</title>
+ <varlistentry><term>પાછુ આવે છે:</term>
+ <listitem>
+ <para>ફકરો પાછુ મળેલ પરિણામને વર્ણવી રહ્યા છે.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry><term>@...:</term>
+ <listitem>
+ <para>
+ In case the function has variadic arguments, you should use this
+ tag (@Varargs: does also work for historic reasons).
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+
+ </sect2>
+
+ <sect2><title>ગુણધર્મ ટિપ્પણી બ્લોક</title>
+
+ <example><title>ગુણધર્મ ટિપ્પણી બ્લોક</title>
+ <programlisting>
+<![CDATA[
+/**
+ * SomeWidget:some-property:
+ *
+ * Here you can document a property.
+ */
+g_object_class_install_property (object_class, PROP_SOME_PROPERTY, ...);
+]]>
+ </programlisting>
+ </example>
+
+ </sect2>
+
+ <sect2><title>સંકેત ટિપ્પણા બ્લોક</title>
+
+ <para>મહેરબાની કરીને યાદ રાખો: <itemizedlist>
+ <listitem>
+ <para>
+ Document when the signal is emitted and whether it is emitted before
+ or after other signals.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Document what an application might do in the signal handler.
+ </para>
+ </listitem>
+ </itemizedlist></para>
+
+ <example><title>સંકેત ટિપ્પણા બ્લોક</title>
+ <programlisting>
+<![CDATA[
+/**
+ * FooWidget::foobarized:
+ * @widget: the widget that received the signal
+ * @foo: some foo
+ * @bar: some bar
+ *
+ * The ::foobarized signal is emitted each time someone tries to foobarize @widget.
+ */
+foo_signals[FOOBARIZE] =
+ g_signal_new ("foobarize",
+ ...
+]]>
+ </programlisting>
+ </example>
+
+ </sect2>
+
+ <sect2><title>Struct ટિપ્પણી બ્લોક</title>
+ <example><title>Struct ટિપ્પણી બ્લોક</title>
+ <programlisting>
+<![CDATA[
+/**
+ * FooWidget:
+ * @bar: some #gboolean
+ *
+ * This is the best widget, ever.
+ */
+typedef struct _FooWidget {
+ /*< private >*/
+ GtkWidget parent;
+
+ /*< public >*/
+ gboolean bar;
+} FooWidget;
+]]>
+ </programlisting>
+ </example>
+
+ <para>
+ Use <code>/*< private >*/</code> before the private struct fields
+ you want to hide. Use <code>/*< public >*/</code> for the reverse
+ behaviour.
+ </para>
+
+ <para>
+ Struct comment blocks can also be used for GObjects and GObjectClasses.
+ It is usualy a good idea to add a comment blco for a class, if it has
+ vmethods (as this is how they can be documented). For the GObject
+ itself one can use the related section docs, having a separate block
+ for the instance struct would be useful if the instance has public
+ fields. One disadvantage here is that this creates two index entries
+ of the same name (the structure and the section).
+ </para>
+
+ </sect2>
+
+ <sect2><title>Enum ટિપ્પણી બ્લોક</title>
+ <example><title>Enum ટિપ્પણી બ્લોક</title>
+ <programlisting>
+<![CDATA[
+/**
+ * Something:
+ * @SOMETHING_FOO: something foo
+ * @SOMETHING_BAR: something bar
+ *
+ * Enum values used for the thing, to specify the thing.
+ *
+ **/
+typedef enum {
+ SOMETHING_FOO,
+ SOMETHING_BAR,
+ /*< private >*/
+ SOMETHING_COUNT
+} Something;
+]]>
+ </programlisting>
+ </example>
+
+ <para>
+ Use <code>/*< private >*/</code> before the private enum values
+ you want to hide. Use <code>/*< public >*/</code> for the reverse
+ behaviour.
+ </para>
+
+ </sect2>
+ </sect1>
+
+ <sect1 id="documenting_docbook">
+ <title>ઉપયોગી DocBook ટૅગ</title>
+
+ <para>અહિંયા અમુક DocBook ટૅગ છે કે જે મોટાભાગનાં ઉપયોગી છે જ્યારે કોડનું દસ્તાવેજ કરી રહ્યા છે.</para>
+
+ <para>
+ To link to another section in the GTK docs:
+
+ <informalexample>
+ <programlisting>
+<![CDATA[
+<link linkend="glib-Hash-Tables">Hash Tables</link>
+]]>
+ </programlisting>
+ </informalexample>
+ The linkend is the SGML/XML id on the top item of the page you want to link to.
+ For most pages this is currently the part ("gtk", "gdk", "glib") and then
+ the page title ("Hash Tables"). For widgets it is just the class name.
+ Spaces and underscores are converted to '-' to conform to SGML/XML.
+ </para>
+
+ <para>બહારનાં વિધેયનો સંદર્ભ લેવા માટે, દા.ત. મૂળભૂત C વિધેય: <informalexample>
+ <programlisting>
+<![CDATA[
+<function>...</function>
+]]>
+ </programlisting>
+ </informalexample></para>
+
+ <para>
+ To include example code:
+ <informalexample>
+ <programlisting>
+<![CDATA[
+<example>
+ <title>Using a GHashTable.</title>
+ <programlisting>
+ ...
+ </programlisting>
+</example>
+]]>
+ </programlisting>
+ </informalexample>
+ or possibly this, for very short code fragments which don't need a title:
+ <informalexample>
+ <programlisting>
+<![CDATA[
+<informalexample>
+ <programlisting>
+ ...
+ </programlisting>
+</informalexample>
+]]>
+ </programlisting>
+ </informalexample>
+ For the latter GTK-Doc also supports an abbreviation:
+<![CDATA[
+|[
+ ...
+]|
+]]>
+ </para>
+
+ <para>બુલેટ થયેલ યાદીઓને સમાવવા માટે: <informalexample>
+ <programlisting>
+<![CDATA[
+<itemizedlist>
+ <listitem>
+ <para>
+ ...
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ ...
+ </para>
+ </listitem>
+</itemizedlist>
+]]>
+ </programlisting>
+ </informalexample></para>
+
+ <para>
+ To include a note which stands out from the text:
+ <informalexample>
+ <programlisting>
+<![CDATA[
+<note>
+ <para>
+ Make sure you free the data after use.
+ </para>
+</note>
+]]>
+ </programlisting>
+ </informalexample>
+ </para>
+
+ <para>પ્રકારનો સંદર્ભ લેવા માટે: <informalexample>
+ <programlisting>
+<![CDATA[
+<type>unsigned char</type>
+]]>
+ </programlisting>
+ </informalexample></para>
+
+ <para>બહારનાં બંધારણનો સંદર્ભ લેવા માટે (GTK દસ્તાવેજોમાં વર્ણવેલ નથી): <informalexample>
+ <programlisting>
+<![CDATA[
+<structname>XFontStruct</structname>
+]]>
+ </programlisting>
+ </informalexample></para>
+
+ <para>બંધારણનાં ક્ષેત્રનો સંદર્ભ લેવા માટે: <informalexample>
+ <programlisting>
+<![CDATA[
+<structfield>len</structfield>
+]]>
+ </programlisting>
+ </informalexample></para>
+
+ <para>
+ To refer to a class name, we could possibly use:
+ <informalexample>
+ <programlisting>
+<![CDATA[
+<classname>GtkWidget</classname>
+]]>
+ </programlisting>
+ </informalexample>
+ but you'll probably be using #GtkWidget instead (to automatically create
+ a link to the GtkWidget page - see <link linkend="documenting_syntax">the abbreviations</link>).
+ </para>
+
+ <para>લખાણ પર ભાર મૂકવા માટે: <informalexample>
+ <programlisting>
+<![CDATA[
+<emphasis>This is important</emphasis>
+]]>
+ </programlisting>
+ </informalexample></para>
+
+ <para>ફાઇલનામો વાપરવા માટે: <informalexample>
+ <programlisting>
+<![CDATA[
+<filename>/home/user/documents</filename>
+]]>
+ </programlisting>
+ </informalexample></para>
+
+ <para>કીઓ વાપરવાનું સંદર્ભ લેવા માટે: <informalexample>
+ <programlisting>
+<![CDATA[
+<keycombo><keycap>Control</keycap><keycap>L</keycap></keycombo>
+]]>
+ </programlisting>
+ </informalexample></para>
+
+ </sect1>
+ </chapter>
+
+ <chapter id="metafiles">
+ <title>વધારાની ફાઇલોને ભરી રહ્યા છે</title>
+
+ <para>
+ There are a couple of extra files, that need to be maintained along with
+ the inline source code comments:
+ <filename><package>.types</filename>,
+ <filename><package>-docs.xml</filename> (in the past .sgml),
+ <filename><package>-sections.txt</filename>.
+ </para>
+
+ <sect1 id="metafiles_types">
+ <title>ફાઇલોનાં પ્રકારોને સુધારી રહ્યા છે</title>
+
+ <para>જો તમે લાઇબ્રેરી અથવા કાર્યક્રમ એ GtkObjects/GObjects ને સમાવે તો, તમે દસ્તાવેજીકરણમાં બતાવેલ શ્રેણીમાં તેનાં સંકેતો, દલીલો/પરિમાણો અને સ્થાનને ઇચ્છો તો. <filename><package>.types</filename> ફાઇલ ની અંદર તેનાં સમાવેશ સાથે <function>xxx_get_type</function> વિધેયોની ભેગી યાદીમાં તમારે બધાને કરવાની જરૂર છે.</para>
+
+ <para>
+ <example><title>Example types file snippet</title>
+ <programlisting>
+<![CDATA[
+#include <gtk/gtk.h>
+
+gtk_accel_label_get_type
+gtk_adjustment_get_type
+gtk_alignment_get_type
+gtk_arrow_get_type
+]]>
+ </programlisting>
+ </example>
+ </para>
+
+ <para>જ્યાં સુધી GTK-Doc 1.8 <application>gtkdoc-scan</application> એ તમારા માટે આ યાદી ઉત્પન્ન કરી શકે, <filename>Makefile.am</filename> માં SCAN_OPTIONS માટે "--rebuild-types" ને ખાલી ઉમેરો. જો તમે આ હેતુ થી વાપરો તો તમારે ફાઇલનાં પ્રકારોની યાદી કરવી જોઇએ નહિ અથવા આવૃત્તિ નિયંત્રણ હેઠળ તે હોવુ જોઇએ નહિં.</para>
+
+ </sect1>
+
+ <sect1 id="metafiles_master">
+ <title>મુખ્ય દસ્તાવેજને સુધારી રહ્યા છે</title>
+
+ <para>
+ GTK-Doc produces documentation in DocBook SGML/XML. When processing the
+ inline source comments, the GTK-Doc tools generate one documentation
+ page per class or module as a separate file. The master document
+ includes them and place them in an order.
+ </para>
+
+ <para>
+ While GTK-Doc creates a template master document for you, later run will
+ not touch it again. This means that one can freely structure the
+ documentation. That includes grouping pages and adding extra pages.
+ GTK-Doc has now a test suite, where also the master-document is recreated from scratch.
+ Its a good idea to look at this from time to time to see if there are some new goodies
+ introduced there.
+ </para>
+
+ <tip>
+ <para>
+ Do not create tutorials as extra documents. Just write extra chapters.
+ The benefit of directly embedding the tutorial for your library into
+ the API documentation is that it is easy to link for the tutorial to
+ symbol documentation. Apart chances are higher that the tutorial gets
+ updates along with the library.
+ </para>
+ </tip>
+
+ <para>
+ So what are the things to change inside the master document? For a start
+ is only a little. There are some placeholders (text in square brackets)
+ there which you should take care of.
+ </para>
+
+ <para>
+ <example><title>મુખ્ય દસ્તાવેજ મથાળુ</title>
+ <programlisting>
+<![CDATA[
+<bookinfo>
+ <title>MODULENAME Reference Manual</title>
+ <releaseinfo>
+ for MODULENAME [VERSION]
+ The latest version of this documentation can be found on-line at
+ <ulink role="online-location" url="http://[SERVER]/MODULENAME/index.html">http://[SERVER]/MODULENAME/</ulink>.
+ </releaseinfo>
+</bookinfo>
+
+<chapter>
+ <title>[Insert title here]</title>
+]]>
+ </programlisting>
+ </example>
+ </para>
+
+ </sect1>
+
+ <sect1 id="metafiles_sections">
+ <title>વિભાગ ફાઇલને સુધારી રહ્યા છે</title>
+
+ <para>
+ The section file is used to organise the documentation output by
+ GTK-Doc. Here one specifies which symbol belongs to which module or
+ class and control the visibility (public or private).
+ </para>
+
+ <para>
+ The section file is a plain test file with xml like syntax (using tags).
+ Blank lines are ignored and lines starting with a '#' are treated as
+ comment lines.
+ </para>
+
+ <para>
+ The <FILE> ... </FILE> tag is used to specify the file name,
+ without any suffix. For example, using '<FILE>gnome-config</FILE>'
+ will result in the section declarations being output in the template
+ file <filename>tmpl/gnome-config.sgml</filename>, which will be
+ converted into the DocBook SGML/XML file <filename>sgml/gnome-config.sgml</filename>
+ or .DocBook XML file <filename>xml/gnome-config.xml</filename>.
+ (The name of the html file is based on the module name and the section
+ title, or for gobjects it is based on the gobjects class name converted
+ to lower case).
+ </para>
+
+ <para>
+ The <TITLE> ... </TITLE> tag is used to specify the title of
+ the section. It is only useful before the templates (if used) are
+ initially created, since the title set in the template file overrides
+ this. Also if one uses SECTION comment in the sources, this is obsolete.
+ </para>
+
+ <para>
+ You can group items in the section by using the <SUBSECTION> tag.
+ Currently it outputs a blank line between subsections in the synopsis
+ section.
+ You can also use <SUBSECTION Standard> for standard GObject
+ declarations (e.g. the functions like g_object_get_type and macros like
+ G_OBJECT(), G_IS_OBJECT() etc.).
+ Currently these are left out of the documentation.
+ You can also use <SUBSECTION Private> for private declarations
+ which will not be output (It is a handy way to avoid warning messages
+ about unused declarations.).
+ If your library contains private types which you don't want to appear in
+ the object hierarchy and the list of implemented or required interfaces,
+ add them to a Private subsection.
+ Wheter you would place GObject and GObjectClass like structs in public
+ or Standard section depends if they have public entries (variables,
+ vmethods).
+ </para>
+
+ <para>
+ You can also use <INCLUDE> ... </INCLUDE> to specify the
+ #include files which are shown in the synopsis sections.
+ It contains a comma-separate list of #include files, without the angle
+ brackets. If you set it outside of any sections, it acts for all
+ sections until the end of the file. If you set it within a section, it
+ only applies to that section.
+ </para>
+
+ </sect1>
+
+ </chapter>
+
+ <chapter id="reports">
+ <title>પરિણામને નિયંત્રણ કરી રહ્યા છે</title>
+
+ <para>
+ A GTK-Doc run generates report files inside the documentation directory.
+ The generated files are named:
+ <filename><package>-undocumented.txt</filename>,
+ <filename><package>-undeclared.txt</filename> and
+ <filename><package>-unused.txt</filename>.
+ All those are plain text files that can be viewed and postprocessed easily.
+ </para>
+
+ <para>
+ The <filename><package>-undocumented.txt</filename> file starts with
+ the documentation coverage summary. Below are two sections divided by
+ blank lines. The first section lists undocumented or incomplete symbols.
+ The second section does the same for section docs. Incomplete entries are
+ those, which have documentation, but where e.g. a new parameter has been
+ added.
+ </para>
+
+ <para><filename><package>-sections.txt</filename> માં આપેલ સંકેતોને <filename><package>-undeclared.txt</filename> એ યાદી કરે છે પરંતુ સ્ત્રોતોમાં મળ્યુ નથી. ચકાસો જો તેઓને દૂર કરી દેવામાં આવી રહ્યુ છે અથવા જો તેઓની જોડણી થયેલ નથી.</para>
+
+ <para><filename><package>-unused.txt</filename> ફાઇલ એ સંકેત નામોની યાદી કરે છે, જ્યાં GTK-Doc સ્કેનર એ દસ્તાવેજીકરણને શોધ્યુ હતુ, પરંતુ જાણતા નથી ક્યાં તેને મૂકવાનું. આનો મતલબ એ કે સંકેતને હજુ <filename><package>-sections.txt</filename> ફાઇલ માં ઉમેરી દેવામાં આવ્યા નથી.</para>
+
+ <tip>
+ <para>સક્રિય કરો અથવા Makefile.am માં <option>TESTS=$(GTKDOC_CHECK)</option> વાક્ય ને ઉમેરો. જો ઓછામાં ઓછુ GTK-Doc 1.9 સ્થાપિત થયેલ હોય તો, આ <command>make check</command> ને ચલાવવા દરમ્યાન સેનિટિ ચકાસણીને ચલાવશે.</para>
+ </tip>
+
+ <para>
+ One can also look at the files produced by the source code scanner:
+ <filename><package>-decl-list.txt</filename> and
+ <filename><package>-decl.txt</filename>. The first one can be
+ compared with the section file if that is manualy maintained. The second
+ lists all declarations fromt he headers If a symbol is missing one could
+ check if this file contains it.
+ </para>
+
+ <para>જો પ્રોજેક્ટ એ GObject આધારિત હોય તો, એક ઓબ્જેક્ટ સ્કેનર દ્દારા ઉત્પન્ન થયેલ ફાઇલોમાં પણ જોઇ શકો છો: <filename><package>.args.txt</filename>, <filename><package>.hierarchy.txt</filename>, <filename><package>.interfaces.txt</filename>, <filename><package>.prerequisites.txt</filename> અને <filename><package>.signals.txt</filename>. જો ત્યાં પેલાનાં કોઇપણમાં ગુમ થયેલ સંકેતો છે તો, આગળ પૃથ્થકરણ માટે અંતર્માધ્યમ સ્કેનર ફાઇલને રાખવા માટે એકજણ gtkdoc ને પૂછી શકે છે, પરંતુ <command>GTK_DOC_KEEP_INTERMEDIATE=1 make</command> તરીકે તેને ચલાવી રહ્યા છે.</para>
+ </chapter>
+
+ <chapter id="documenting-others">
+ <title>Documenting other interfaces</title>
+
+ <para>
+ So far we have been using GTK-Doc to document the API of code. The next
+ sections contain suggestions how the tools can be used to document other
+ interfaces too.
+ </para>
+
+ <sect1 id="commandline-interfaces">
+ <title>Commandline options and man pages</title>
+
+ <para>
+ As one can generate man pages for a docbook refentry as well, it sounds
+ like a good idea to use it for that purpose. This way the interface is
+ part of the reference and one gets the man-page for free.
+ </para>
+
+ <sect2 id="commandline-interfaces-file">
+ <title>Document the tool</title>
+
+ <para>
+ Create one refentry file per tool. Following
+ <link linkend="settingup_docfiles">our example</link> we would call it
+ <filename>meep/docs/reference/meeper/meep.xml</filename>. For the xml
+ tags that should be used and can look at generated file in the xml
+ subdirectory as well as examples e.g. in glib.
+ </para>
+ </sect2>
+
+ <sect2 id="commandline-interfaces-configure">
+ <title>Adding the extra configure check</title>
+
+ <para>
+ <example><title>Extra configure checks</title>
+ <programlisting>
+<![CDATA[
+AC_ARG_ENABLE(man,
+ [AC_HELP_STRING([--enable-man],
+ [regenerate man pages from Docbook [default=no]])],enable_man=yes,
+ enable_man=no)
+
+AC_PATH_PROG([XSLTPROC], [xsltproc])
+AM_CONDITIONAL(ENABLE_MAN, test x$enable_man != xno)
+]]>
+ </programlisting>
+ </example>
+ </para>
+ </sect2>
+
+ <sect2 id="commandline-interfaces-make">
+ <title>Adding the extra makefile rules</title>
+
+ <para>
+ <example><title>Extra configure checks</title>
+ <programlisting>
+<![CDATA[
+man_MANS = \
+ meeper.1
+
+if ENABLE_GTK_DOC
+if ENABLE_MAN
+
+%.1 : %.xml
+ @XSLTPROC@ -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
+
+endif
+endif
+
+BUILT_EXTRA_DIST = $(man_MANS)
+EXTRA_DIST += meep.xml
+]]>
+ </programlisting>
+ </example>
+ </para>
+ </sect2>
+ </sect1>
+
+ <sect1 id="dbus-interfaces">
+ <title>DBus interfaces</title>
+
+ <para>
+ (FIXME: http://hal.freedesktop.org/docs/DeviceKit/DeviceKit.html,
+http://cgit.freedesktop.org/DeviceKit/DeviceKit/tree/doc/dbus)
+ </para>
+ </sect1>
+
+ </chapter>
+
+ <chapter id="faq">
+ <title>Frequently asked questions</title>
+
+ <segmentedlist>
+ <?dbhtml list-presentation="list"?>
+ <segtitle>પ્રશ્ર્ન</segtitle>
+ <segtitle>જવાબ</segtitle>
+ <seglistitem>
+ <seg>વર્ગની શ્રેણી નથી.</seg>
+ <seg>ઓબ્જેક્ટો એ ફાઇલ <function>xxx_get_type()</function> માં દાખલ કરી દેવામાં આવ્યુ નથી <filename><package>.types</filename></seg>
+ </seglistitem>
+ <seglistitem>
+ <seg>હજુ વર્ગ શ્રેણી નથી.</seg>
+ <seg><filename><package>-sections.txt</filename> ફાઇલમાં ગુમ થયેલ અથવા ખોટુ નામ (જુઓ <ulink url="http://mail.gnome.org/archives/gtk-doc-list/2003-October/msg00006.html">વિગતવાર</ulink>).</seg>
+ </seglistitem>
+ <seglistitem>
+ <seg>Damn, I have still no class hierarchy.</seg>
+ <seg>
+ Is the object name (name of the instance struct, e.g. <type>GtkWidget</type>)
+ part of the normal section (don't put this into Standard or Private
+ subsections).
+ </seg>
+ </seglistitem>
+ <seglistitem>
+ <seg>સંકેત અનુક્રમણિકા નથી.</seg>
+ <seg>
+ Does the <filename><package>-docs.{xml,sgml}</filename> contain a
+ index that xi:includes the generated index?
+ </seg>
+ </seglistitem>
+ <seglistitem>
+ <seg>સંકેતો એ તેનાં દસ્તાવેજ-વિભાગમાં કડી થયેલ નથી.</seg>
+ <seg>
+ Is the doc-comment using the correct markup (added #,% or ())?
+ Check if the gtkdoc-fixxref warns about unresolvable xrefs.
+ </seg>
+ </seglistitem>
+ <seglistitem>
+ <seg>નવો વર્ગ એ દસ્તાવેજોમાં દેખાતો નથી.</seg>
+ <seg>શું તે નવુ પાનું xi છે: <filename><package>-docs.{xml,sgml}</filename> માંથી સમાવેલ છે.</seg>
+ </seglistitem>
+ <seglistitem>
+ <seg>નવો સંકેત એ દસ્તાવેજોમાં દેખાતુ નથી.</seg>
+ <seg>
+ Is the doc-comment properly formatted. Check for spelling mistakes in
+ the begin of the comment. Check if the gtkdoc-fixxref warns about
+ unresolvable xrefs. Check if the symbol is correctly listed in the
+ <filename><package>-sections.txt</filename> in a public subsection.
+ </seg>
+ </seglistitem>
+ <seglistitem>
+ <seg>પ્રકાર એ વર્ગ શ્રેણામાંથી ગુમ થયેલ છે.</seg>
+ <seg>
+ If the type is listed in <filename><package>.hierarchy</filename>
+ but not in <filename>xml/tree_index.sgml</filename> then double check
+ that the type is correctly placed in the <filename><package>-sections.txt</filename>.
+ If the type instance (e.g. <type>GtkWidget</type>) is not listed or
+ incidentialy makred private it will not be shown.
+ </seg>
+ </seglistitem>
+ <seglistitem>
+ <seg>બધા gobject ઍનોટેશન માટે foldoc કડીઓ મને મળે છે.</seg>
+ <seg>ચકાસો કે જે <filename>xml/annotation-glossary.xml</filename> એ xi છે: <filename><package>-docs.{xml,sgml}</filename> માંથી સમાવેલ છે.</seg>
+ </seglistitem>
+
+ <!-- gtk-doc warnings: -->
+ <seglistitem>
+ <seg>સ્ત્રોત કોડ ટિપ્પણી બ્લોકમાં પરિમાણ વર્ણવેલ છે પરંતુ અસ્તિત્વ ધરાવતુ નથી</seg>
+ <seg>ચકાસો જો મથાળામાં પ્રોટોટાઇપ પાસે સ્ત્રોતમાં વિવિધ પરિમાણ નામો છે.</seg>
+ </seglistitem>
+
+ <!-- docbook warnings: -->
+ <seglistitem>
+ <seg>multiple "IDs" for constraint linkend: XYZ</seg>
+ <seg>સંકેત XYZ એ <filename><package>-sections.txt</filename> ફાઇલમાં બે વાર દેખાય છે.</seg>
+ </seglistitem>
+ <seglistitem>
+ <seg>Element typename in namespace '' encountered in para, but no template matches.</seg>
+ <seg/>
+ </seglistitem>
+ </segmentedlist>
+ </chapter>
+
+ <chapter id="contrib">
+ <title>Tools related to gtk-doc</title>
+
+ <para>
+ GtkDocPlugin - a <ulink url="http://trac-hacks.org/wiki/GtkDocPlugin">Trac GTK-Doc</ulink>
+ integration plugin, that adds api docs to a trac site and integrates with
+ the trac search.
+ </para>
+ <para>
+ Gtkdoc-depscan - a tool (part of gtk-doc) to check used API against since
+ tags in the api to determine the minimum required version.
+ </para>
+
+ </chapter>
+
+ <!-- ======== Appendix: FDL ================================== -->
+ <!--
+ The GNU Free Documentation License 1.1 in DocBook
+ Markup by Eric Baudais <baudais@okstate.edu>
+ Maintained by the GNOME Documentation Project
+ http://developer.gnome.org/projects/gdp
+ Version: 1.0.1
+ Last Modified: Nov 16, 2000
+-->
+
+<appendix id="fdl">
+ <appendixinfo>
+ <releaseinfo>Version 1.1, March 2000</releaseinfo>
+ <copyright>
+ <year>2000</year><holder>Free Software Foundation, Inc.</holder>
+ </copyright>
+ <legalnotice id="fdl-legalnotice">
+ <para><address>Free Software Foundation, Inc. <street>51 Franklin Street, Suite 330</street>, <city>Boston</city>, <state>MA</state><postcode>02110-1301</postcode><country>USA</country></address> Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed.</para>
+ </legalnotice>
+ </appendixinfo>
+ <title>GNU Free Documentation License</title>
+
+ <sect1 id="fdl-preamble">
+ <title>0. PREAMBLE</title>
+ <para>
+ The purpose of this License is to make a manual, textbook, or
+ other written document <quote>free</quote> in the sense of
+ freedom: to assure everyone the effective freedom to copy and
+ redistribute it, with or without modifying it, either
+ commercially or noncommercially. Secondarily, this License
+ preserves for the author and publisher a way to get credit for
+ their work, while not being considered responsible for
+ modifications made by others.
+ </para>
+
+ <para>
+ This License is a kind of <quote>copyleft</quote>, which means
+ that derivative works of the document must themselves be free in
+ the same sense. It complements the GNU General Public License,
+ which is a copyleft license designed for free software.
+ </para>
+
+ <para>
+ We have designed this License in order to use it for manuals for
+ free software, because free software needs free documentation: a
+ free program should come with manuals providing the same
+ freedoms that the software does. But this License is not limited
+ to software manuals; it can be used for any textual work,
+ regardless of subject matter or whether it is published as a
+ printed book. We recommend this License principally for works
+ whose purpose is instruction or reference.
+ </para>
+ </sect1>
+ <sect1 id="fdl-section1">
+ <title>1. APPLICABILITY AND DEFINITIONS</title>
+ <para id="fdl-document">
+ This License applies to any manual or other work that contains a
+ notice placed by the copyright holder saying it can be
+ distributed under the terms of this License. The
+ <quote>Document</quote>, below, refers to any such manual or
+ work. Any member of the public is a licensee, and is addressed
+ as <quote>you</quote>.
+ </para>
+
+ <para id="fdl-modified">
+ A <quote>Modified Version</quote> of the Document means any work
+ containing the Document or a portion of it, either copied
+ verbatim, or with modifications and/or translated into another
+ language.
+ </para>
+
+ <para id="fdl-secondary">
+ A <quote>Secondary Section</quote> is a named appendix or a
+ front-matter section of the <link linkend="fdl-document">Document</link> that deals exclusively
+ with the relationship of the publishers or authors of the
+ Document to the Document's overall subject (or to related
+ matters) and contains nothing that could fall directly within
+ that overall subject. (For example, if the Document is in part a
+ textbook of mathematics, a Secondary Section may not explain any
+ mathematics.) The relationship could be a matter of historical
+ connection with the subject or with related matters, or of
+ legal, commercial, philosophical, ethical or political position
+ regarding them.
+ </para>
+
+ <para id="fdl-invariant">
+ The <quote>Invariant Sections</quote> are certain <link linkend="fdl-secondary"> Secondary Sections</link> whose titles
+ are designated, as being those of Invariant Sections, in the
+ notice that says that the <link linkend="fdl-document">Document</link> is released under this
+ License.
+ </para>
+
+ <para id="fdl-cover-texts">
+ The <quote>Cover Texts</quote> are certain short passages of
+ text that are listed, as Front-Cover Texts or Back-Cover Texts,
+ in the notice that says that the <link linkend="fdl-document">Document</link> is released under this
+ License.
+ </para>
+
+ <para id="fdl-transparent">
+ A <quote>Transparent</quote> copy of the <link linkend="fdl-document"> Document</link> means a machine-readable
+ copy, represented in a format whose specification is available
+ to the general public, whose contents can be viewed and edited
+ directly and straightforwardly with generic text editors or (for
+ images composed of pixels) generic paint programs or (for
+ drawings) some widely available drawing editor, and that is
+ suitable for input to text formatters or for automatic
+ translation to a variety of formats suitable for input to text
+ formatters. A copy made in an otherwise Transparent file format
+ whose markup has been designed to thwart or discourage
+ subsequent modification by readers is not Transparent. A copy
+ that is not <quote>Transparent</quote> is called
+ <quote>Opaque</quote>.
+ </para>
+
+ <para>
+ Examples of suitable formats for Transparent copies include
+ plain ASCII without markup, Texinfo input format, LaTeX input
+ format, SGML or XML using a publicly available DTD, and
+ standard-conforming simple HTML designed for human
+ modification. Opaque formats include PostScript, PDF,
+ proprietary formats that can be read and edited only by
+ proprietary word processors, SGML or XML for which the DTD
+ and/or processing tools are not generally available, and the
+ machine-generated HTML produced by some word processors for
+ output purposes only.
+ </para>
+
+ <para id="fdl-title-page">
+ The <quote>Title Page</quote> means, for a printed book, the
+ title page itself, plus such following pages as are needed to
+ hold, legibly, the material this License requires to appear in
+ the title page. For works in formats which do not have any title
+ page as such, <quote>Title Page</quote> means the text near the
+ most prominent appearance of the work's title, preceding the
+ beginning of the body of the text.
+ </para>
+ </sect1>
+
+ <sect1 id="fdl-section2">
+ <title>2. VERBATIM COPYING</title>
+ <para>
+ You may copy and distribute the <link linkend="fdl-document">Document</link> in any medium, either
+ commercially or noncommercially, provided that this License, the
+ copyright notices, and the license notice saying this License
+ applies to the Document are reproduced in all copies, and that
+ you add no other conditions whatsoever to those of this
+ License. You may not use technical measures to obstruct or
+ control the reading or further copying of the copies you make or
+ distribute. However, you may accept compensation in exchange for
+ copies. If you distribute a large enough number of copies you
+ must also follow the conditions in <link linkend="fdl-section3">section 3</link>.
+ </para>
+
+ <para>
+ You may also lend copies, under the same conditions stated
+ above, and you may publicly display copies.
+ </para>
+ </sect1>
+
+ <sect1 id="fdl-section3">
+ <title>3. COPYING IN QUANTITY</title>
+ <para>
+ If you publish printed copies of the <link linkend="fdl-document">Document</link> numbering more than 100,
+ and the Document's license notice requires <link linkend="fdl-cover-texts">Cover Texts</link>, you must enclose
+ the copies in covers that carry, clearly and legibly, all these
+ Cover Texts: Front-Cover Texts on the front cover, and
+ Back-Cover Texts on the back cover. Both covers must also
+ clearly and legibly identify you as the publisher of these
+ copies. The front cover must present the full title with all
+ words of the title equally prominent and visible. You may add
+ other material on the covers in addition. Copying with changes
+ limited to the covers, as long as they preserve the title of the
+ <link linkend="fdl-document">Document</link> and satisfy these
+ conditions, can be treated as verbatim copying in other
+ respects.
+ </para>
+
+ <para>
+ If the required texts for either cover are too voluminous to fit
+ legibly, you should put the first ones listed (as many as fit
+ reasonably) on the actual cover, and continue the rest onto
+ adjacent pages.
+ </para>
+
+ <para>
+ If you publish or distribute <link linkend="fdl-transparent">Opaque</link> copies of the <link linkend="fdl-document">Document</link> numbering more than 100,
+ you must either include a machine-readable <link linkend="fdl-transparent">Transparent</link> copy along with
+ each Opaque copy, or state in or with each Opaque copy a
+ publicly-accessible computer-network location containing a
+ complete Transparent copy of the Document, free of added
+ material, which the general network-using public has access to
+ download anonymously at no charge using public-standard network
+ protocols. If you use the latter option, you must take
+ reasonably prudent steps, when you begin distribution of Opaque
+ copies in quantity, to ensure that this Transparent copy will
+ remain thus accessible at the stated location until at least one
+ year after the last time you distribute an Opaque copy (directly
+ or through your agents or retailers) of that edition to the
+ public.
+ </para>
+
+ <para>
+ It is requested, but not required, that you contact the authors
+ of the <link linkend="fdl-document">Document</link> well before
+ redistributing any large number of copies, to give them a chance
+ to provide you with an updated version of the Document.
+ </para>
+ </sect1>
+
+ <sect1 id="fdl-section4">
+ <title>4. MODIFICATIONS</title>
+ <para>
+ You may copy and distribute a <link linkend="fdl-modified">Modified Version</link> of the <link linkend="fdl-document">Document</link> under the conditions of
+ sections <link linkend="fdl-section2">2</link> and <link linkend="fdl-section3">3</link> above, provided that you release
+ the Modified Version under precisely this License, with the
+ Modified Version filling the role of the Document, thus
+ licensing distribution and modification of the Modified Version
+ to whoever possesses a copy of it. In addition, you must do
+ these things in the Modified Version:
+ </para>
+
+ <itemizedlist mark="opencircle">
+ <listitem>
+ <formalpara>
+ <title>A</title>
+ <para>
+ Use in the <link linkend="fdl-title-page">Title
+ Page</link> (and on the covers, if any) a title distinct
+ from that of the <link linkend="fdl-document">Document</link>, and from those of
+ previous versions (which should, if there were any, be
+ listed in the History section of the Document). You may
+ use the same title as a previous version if the original
+ publisher of that version gives permission.
+ </para>
+ </formalpara>
+ </listitem>
+
+ <listitem>
+ <formalpara>
+ <title>B</title>
+ <para>
+ List on the <link linkend="fdl-title-page">Title
+ Page</link>, as authors, one or more persons or entities
+ responsible for authorship of the modifications in the
+ <link linkend="fdl-modified">Modified Version</link>,
+ together with at least five of the principal authors of
+ the <link linkend="fdl-document">Document</link> (all of
+ its principal authors, if it has less than five).
+ </para>
+ </formalpara>
+ </listitem>
+
+ <listitem>
+ <formalpara>
+ <title>C</title>
+ <para>
+ State on the <link linkend="fdl-title-page">Title
+ Page</link> the name of the publisher of the <link linkend="fdl-modified">Modified Version</link>, as the
+ publisher.
+ </para>
+ </formalpara>
+ </listitem>
+
+ <listitem>
+ <formalpara>
+ <title>D</title>
+ <para><link linkend="fdl-document">દસ્તાવેજ</link> ની કોપીરાઇટ બધી સૂચનાઓને સાચવો.</para>
+ </formalpara>
+ </listitem>
+
+ <listitem>
+ <formalpara>
+ <title>E</title>
+ <para>
+ Add an appropriate copyright notice for your modifications
+ adjacent to the other copyright notices.
+ </para>
+ </formalpara>
+ </listitem>
+
+ <listitem>
+ <formalpara>
+ <title>F</title>
+ <para>
+ Include, immediately after the copyright notices, a
+ license notice giving the public permission to use the
+ <link linkend="fdl-modified">Modified Version</link> under
+ the terms of this License, in the form shown in the
+ Addendum below.
+ </para>
+ </formalpara>
+ </listitem>
+
+ <listitem>
+ <formalpara>
+ <title>G</title>
+ <para>
+ Preserve in that license notice the full lists of <link linkend="fdl-invariant"> Invariant Sections</link> and
+ required <link linkend="fdl-cover-texts">Cover
+ Texts</link> given in the <link linkend="fdl-document">Document's</link> license notice.
+ </para>
+ </formalpara>
+ </listitem>
+
+ <listitem>
+ <formalpara>
+ <title>H</title>
+ <para>આ લાઇસન્સની ચેતવણી ન થયેલ નકલને સમાવો.</para>
+ </formalpara>
+ </listitem>
+
+ <listitem>
+ <formalpara>
+ <title>I</title>
+ <para>
+ Preserve the section entitled <quote>History</quote>, and
+ its title, and add to it an item stating at least the
+ title, year, new authors, and publisher of the <link linkend="fdl-modified">Modified Version </link>as given on
+ the <link linkend="fdl-title-page">Title Page</link>. If
+ there is no section entitled <quote>History</quote> in the
+ <link linkend="fdl-document">Document</link>, create one
+ stating the title, year, authors, and publisher of the
+ Document as given on its Title Page, then add an item
+ describing the Modified Version as stated in the previous
+ sentence.
+ </para>
+ </formalpara>
+ </listitem>
+
+ <listitem>
+ <formalpara>
+ <title>J</title>
+ <para>
+ Preserve the network location, if any, given in the <link linkend="fdl-document">Document</link> for public access
+ to a <link linkend="fdl-transparent">Transparent</link>
+ copy of the Document, and likewise the network locations
+ given in the Document for previous versions it was based
+ on. These may be placed in the <quote>History</quote>
+ section. You may omit a network location for a work that
+ was published at least four years before the Document
+ itself, or if the original publisher of the version it
+ refers to gives permission.
+ </para>
+ </formalpara>
+ </listitem>
+
+ <listitem>
+ <formalpara>
+ <title>K</title>
+ <para>
+ In any section entitled <quote>Acknowledgements</quote> or
+ <quote>Dedications</quote>, preserve the section's title,
+ and preserve in the section all the substance and tone of
+ each of the contributor acknowledgements and/or
+ dedications given therein.
+ </para>
+ </formalpara>
+ </listitem>
+
+ <listitem>
+ <formalpara>
+ <title>L</title>
+ <para>
+ Preserve all the <link linkend="fdl-invariant">Invariant
+ Sections</link> of the <link linkend="fdl-document">Document</link>, unaltered in their
+ text and in their titles. Section numbers or the
+ equivalent are not considered part of the section titles.
+ </para>
+ </formalpara>
+ </listitem>
+
+ <listitem>
+ <formalpara>
+ <title>M</title>
+ <para>
+ Delete any section entitled
+ <quote>Endorsements</quote>. Such a section may not be
+ included in the <link linkend="fdl-modified">Modified
+ Version</link>.
+ </para>
+ </formalpara>
+ </listitem>
+
+ <listitem>
+ <formalpara>
+ <title>N</title>
+ <para>
+ Do not retitle any existing section as
+ <quote>Endorsements</quote> or to conflict in title with
+ any <link linkend="fdl-invariant">Invariant
+ Section</link>.
+ </para>
+ </formalpara>
+ </listitem>
+ </itemizedlist>
+
+ <para>
+ If the <link linkend="fdl-modified">Modified Version</link>
+ includes new front-matter sections or appendices that qualify as
+ <link linkend="fdl-secondary">Secondary Sections</link> and
+ contain no material copied from the Document, you may at your
+ option designate some or all of these sections as invariant. To
+ do this, add their titles to the list of <link linkend="fdl-invariant">Invariant Sections</link> in the
+ Modified Version's license notice. These titles must be
+ distinct from any other section titles.
+ </para>
+
+ <para>
+ You may add a section entitled <quote>Endorsements</quote>,
+ provided it contains nothing but endorsements of your <link linkend="fdl-modified">Modified Version</link> by various
+ parties--for example, statements of peer review or that the text
+ has been approved by an organization as the authoritative
+ definition of a standard.
+ </para>
+
+ <para>
+ You may add a passage of up to five words as a <link linkend="fdl-cover-texts">Front-Cover Text</link>, and a passage
+ of up to 25 words as a <link linkend="fdl-cover-texts">Back-Cover Text</link>, to the end of
+ the list of <link linkend="fdl-cover-texts">Cover Texts</link>
+ in the <link linkend="fdl-modified">Modified Version</link>.
+ Only one passage of Front-Cover Text and one of Back-Cover Text
+ may be added by (or through arrangements made by) any one
+ entity. If the <link linkend="fdl-document">Document</link>
+ already includes a cover text for the same cover, previously
+ added by you or by arrangement made by the same entity you are
+ acting on behalf of, you may not add another; but you may
+ replace the old one, on explicit permission from the previous
+ publisher that added the old one.
+ </para>
+
+ <para>
+ The author(s) and publisher(s) of the <link linkend="fdl-document">Document</link> do not by this License
+ give permission to use their names for publicity for or to
+ assert or imply endorsement of any <link linkend="fdl-modified">Modified Version </link>.
+ </para>
+ </sect1>
+
+ <sect1 id="fdl-section5">
+ <title>5. COMBINING DOCUMENTS</title>
+ <para>
+ You may combine the <link linkend="fdl-document">Document</link>
+ with other documents released under this License, under the
+ terms defined in <link linkend="fdl-section4">section 4</link>
+ above for modified versions, provided that you include in the
+ combination all of the <link linkend="fdl-invariant">Invariant
+ Sections</link> of all of the original documents, unmodified,
+ and list them all as Invariant Sections of your combined work in
+ its license notice.
+ </para>
+
+ <para>
+ The combined work need only contain one copy of this License,
+ and multiple identical <link linkend="fdl-invariant">Invariant
+ Sections</link> may be replaced with a single copy. If there are
+ multiple Invariant Sections with the same name but different
+ contents, make the title of each such section unique by adding
+ at the end of it, in parentheses, the name of the original
+ author or publisher of that section if known, or else a unique
+ number. Make the same adjustment to the section titles in the
+ list of Invariant Sections in the license notice of the combined
+ work.
+ </para>
+
+ <para>
+ In the combination, you must combine any sections entitled
+ <quote>History</quote> in the various original documents,
+ forming one section entitled <quote>History</quote>; likewise
+ combine any sections entitled <quote>Acknowledgements</quote>,
+ and any sections entitled <quote>Dedications</quote>. You must
+ delete all sections entitled <quote>Endorsements.</quote>
+ </para>
+ </sect1>
+
+ <sect1 id="fdl-section6">
+ <title>6. COLLECTIONS OF DOCUMENTS</title>
+ <para>
+ You may make a collection consisting of the <link linkend="fdl-document">Document</link> and other documents
+ released under this License, and replace the individual copies
+ of this License in the various documents with a single copy that
+ is included in the collection, provided that you follow the
+ rules of this License for verbatim copying of each of the
+ documents in all other respects.
+ </para>
+
+ <para>
+ You may extract a single document from such a collection, and
+ dispbibute it individually under this License, provided you
+ insert a copy of this License into the extracted document, and
+ follow this License in all other respects regarding verbatim
+ copying of that document.
+ </para>
+ </sect1>
+
+ <sect1 id="fdl-section7">
+ <title>7. AGGREGATION WITH INDEPENDENT WORKS</title>
+ <para>
+ A compilation of the <link linkend="fdl-document">Document</link> or its derivatives with
+ other separate and independent documents or works, in or on a
+ volume of a storage or distribution medium, does not as a whole
+ count as a <link linkend="fdl-modified">Modified Version</link>
+ of the Document, provided no compilation copyright is claimed
+ for the compilation. Such a compilation is called an
+ <quote>aggregate</quote>, and this License does not apply to the
+ other self-contained works thus compiled with the Document , on
+ account of their being thus compiled, if they are not themselves
+ derivative works of the Document. If the <link linkend="fdl-cover-texts">Cover Text</link> requirement of <link linkend="fdl-section3">section 3</link> is applicable to these
+ copies of the Document, then if the Document is less than one
+ quarter of the entire aggregate, the Document's Cover Texts may
+ be placed on covers that surround only the Document within the
+ aggregate. Otherwise they must appear on covers around the whole
+ aggregate.
+ </para>
+ </sect1>
+
+ <sect1 id="fdl-section8">
+ <title>8. TRANSLATION</title>
+ <para>
+ Translation is considered a kind of modification, so you may
+ distribute translations of the <link linkend="fdl-document">Document</link> under the terms of <link linkend="fdl-section4">section 4</link>. Replacing <link linkend="fdl-invariant"> Invariant Sections</link> with
+ translations requires special permission from their copyright
+ holders, but you may include translations of some or all
+ Invariant Sections in addition to the original versions of these
+ Invariant Sections. You may include a translation of this
+ License provided that you also include the original English
+ version of this License. In case of a disagreement between the
+ translation and the original English version of this License,
+ the original English version will prevail.
+ </para>
+ </sect1>
+
+ <sect1 id="fdl-section9">
+ <title>9. TERMINATION</title>
+ <para>
+ You may not copy, modify, sublicense, or distribute the <link linkend="fdl-document">Document</link> except as expressly
+ provided for under this License. Any other attempt to copy,
+ modify, sublicense or distribute the Document is void, and will
+ automatically terminate your rights under this License. However,
+ parties who have received copies, or rights, from you under this
+ License will not have their licenses terminated so long as such
+ parties remain in full compliance.
+ </para>
+ </sect1>
+
+ <sect1 id="fdl-section10">
+ <title>10. FUTURE REVISIONS OF THIS LICENSE</title>
+ <para>The <ulink type="http" url="http://www.gnu.org/fsf/fsf.html">Free Software Foundation</ulink> may publish new, revised versions of the GNU Free Documentation License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. See <ulink type="http" url="http://www.gnu.org/copyleft">http://www.gnu.org/copyleft/</ulink>.</para>
+
+ <para>
+ Each version of the License is given a distinguishing version
+ number. If the <link linkend="fdl-document">Document</link>
+ specifies that a particular numbered version of this License
+ <quote>or any later version</quote> applies to it, you have the
+ option of following the terms and conditions either of that
+ specified version or of any later version that has been
+ published (not as a draft) by the Free Software Foundation. If
+ the Document does not specify a version number of this License,
+ you may choose any version ever published (not as a draft) by
+ the Free Software Foundation.
+ </para>
+ </sect1>
+
+ <sect1 id="fdl-using">
+ <title>Addendum</title>
+ <para>તમે લખેલ છે તે દસ્તાવેજમાં આ લાઇસન્સને વાપરવા માટે, દસ્તાવેજમાં લાઇસન્સની નકલને સમાવો અને નીચેનાં કોપીરાઇટ અને લાઇસન્સ સૂચનાઓને શીર્ષક પાનાં પછી મૂકો:</para>
+
+ <blockquote>
+ <para>Copyright YEAR YOUR NAME.</para>
+ <para>
+ Permission is granted to copy, distribute and/or modify this
+ document under the terms of the GNU Free Documentation
+ License, Version 1.1 or any later version published by the
+ Free Software Foundation; with the <link linkend="fdl-invariant">Invariant Sections</link> being LIST
+ THEIR TITLES, with the <link linkend="fdl-cover-texts">Front-Cover Texts</link> being LIST,
+ and with the <link linkend="fdl-cover-texts">Back-Cover
+ Texts</link> being LIST. A copy of the license is included in
+ the section entitled <quote>GNU Free Documentation
+ License</quote>.
+ </para>
+ </blockquote>
+
+ <para>
+ If you have no <link linkend="fdl-invariant">Invariant
+ Sections</link>, write <quote>with no Invariant Sections</quote>
+ instead of saying which ones are invariant. If you have no
+ <link linkend="fdl-cover-texts">Front-Cover Texts</link>, write
+ <quote>no Front-Cover Texts</quote> instead of
+ <quote>Front-Cover Texts being LIST</quote>; likewise for <link linkend="fdl-cover-texts">Back-Cover Texts</link>.
+ </para>
+
+ <para>
+ If your document contains nontrivial examples of program code,
+ we recommend releasing these examples in parallel under your
+ choice of free software license, such as the <ulink type="http" url="http://www.gnu.org/copyleft/gpl.html"> GNU General Public
+ License</ulink>, to permit their use in free software.
+ </para>
+ </sect1>
+</appendix>
+
+
+
+
+
+
+
+
+</book>
--- /dev/null
+# translation of gtk-doc-help.master.po to Gujarati
+# Sweta Kothari <swkothar@redhat.com>, 2010.
+msgid ""
+msgstr ""
+"Project-Id-Version: gtk-doc-help.master\n"
+"POT-Creation-Date: 2010-01-25 08:26+0000\n"
+"PO-Revision-Date: 2010-02-03 11:20+0530\n"
+"Last-Translator: Sweta Kothari <swkothar@redhat.com>\n"
+"Language-Team: Gujarati\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.11.4\n"
+"Plural-Forms: nplurals=2; plural=(n!=1);\n"
+
+#: C/gtk-doc-manual.xml:12(title)
+msgid "GTK-Doc Manual"
+msgstr "GTK-Doc પુસ્તિકા"
+
+#: C/gtk-doc-manual.xml:13(edition) C/gtk-doc-manual.xml:92(revnumber)
+msgid "1.12"
+msgstr "1.12"
+
+#: C/gtk-doc-manual.xml:14(para)
+msgid "User manual for developers with instructions of GTK-Doc usage."
+msgstr "GTK-Doc વપરાશની સૂચનાઓ સાથે ડેવલપરો માટે વપરાશકર્તા પુસ્તિકા."
+
+#: C/gtk-doc-manual.xml:17(firstname)
+msgid "Chris"
+msgstr "ક્રીસ"
+
+#: C/gtk-doc-manual.xml:18(surname)
+msgid "Lyttle"
+msgstr "લિટ્લે"
+
+#: C/gtk-doc-manual.xml:21(email)
+msgid "chris@wilddev.net"
+msgstr "chris@wilddev.net"
+
+#: C/gtk-doc-manual.xml:26(firstname)
+msgid "Dan"
+msgstr "Dan"
+
+#: C/gtk-doc-manual.xml:27(surname)
+msgid "Mueth"
+msgstr "મૂએથ"
+
+#: C/gtk-doc-manual.xml:30(email)
+msgid "d-mueth@uchicago.edu"
+msgstr "d-mueth@uchicago.edu"
+
+#: C/gtk-doc-manual.xml:35(firstname)
+msgid "Stefan"
+msgstr "સ્ટેફાન"
+
+#: C/gtk-doc-manual.xml:36(surname)
+msgid "Kost"
+msgstr "કોસ્ટ"
+
+#: C/gtk-doc-manual.xml:39(email)
+msgid "ensonic@users.sf.net"
+msgstr "ensonic@users.sf.net"
+
+#: C/gtk-doc-manual.xml:45(publishername)
+msgid "GTK-Doc project"
+msgstr "GTK-Doc પ્રોજેક્ટ"
+
+#: C/gtk-doc-manual.xml:46(email)
+msgid "gtk-doc-list@gnome.org"
+msgstr "gtk-doc-list@gnome.org"
+
+#: C/gtk-doc-manual.xml:49(year)
+msgid "2000, 2005, 2007-2009"
+msgstr "2000, 2005, 2007-2009"
+
+#: C/gtk-doc-manual.xml:50(holder)
+msgid "Dan Mueth and Chris Lyttle and Stefan Kost"
+msgstr "ડૅમ મૂએથ અને ક્રીસ લિટ્લે અને સ્ટેફાન કોસ્ટ"
+
+#: C/gtk-doc-manual.xml:61(para)
+msgid "Permission is granted to copy, distribute and/or modify this document under the terms of the <citetitle>GNU Free Documentation License</citetitle>, Version 1.1 or any later version published by the Free Software Foundation with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is <link linkend=\"fdl\">included</link>."
+msgstr "Permission is granted to copy, distribute and/or modify this document under the terms of the <citetitle>GNU Free Documentation License</citetitle>, Version 1.1 or any later version published by the Free Software Foundation with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is <link linkend=\"fdl\">included</link>."
+
+#: C/gtk-doc-manual.xml:69(para)
+msgid "Many of the names used by companies to distinguish their products and services are claimed as trademarks. Where those names appear in any GNOME documentation, and those trademarks are made aware to the members of the GNOME Documentation Project, the names have been printed in caps or initial caps."
+msgstr "Many of the names used by companies to distinguish their products and services are claimed as trademarks. Where those names appear in any GNOME documentation, and those trademarks are made aware to the members of the GNOME Documentation Project, the names have been printed in caps or initial caps."
+
+#: C/gtk-doc-manual.xml:80(revnumber)
+msgid "1.14"
+msgstr "1.14"
+
+#: C/gtk-doc-manual.xml:81(date)
+msgid "19 December 2009"
+msgstr "19 ડિસેમ્બર 2009"
+
+#: C/gtk-doc-manual.xml:82(authorinitials) C/gtk-doc-manual.xml:88(authorinitials) C/gtk-doc-manual.xml:94(authorinitials)
+msgid "sk"
+msgstr "sk"
+
+#: C/gtk-doc-manual.xml:83(revremark)
+msgid "development version"
+msgstr "ડેવલ્પમેન્ટ આવૃત્તિ"
+
+#: C/gtk-doc-manual.xml:86(revnumber)
+msgid "1.13"
+msgstr "1.13"
+
+#: C/gtk-doc-manual.xml:87(date) C/gtk-doc-manual.xml:93(date)
+msgid "18 December 2009"
+msgstr "18 ડિસેમ્બર 2009"
+
+#: C/gtk-doc-manual.xml:89(revremark)
+msgid "broken tarball update"
+msgstr "તૂટેલ ટારબોલ સુધારા"
+
+#: C/gtk-doc-manual.xml:95(revremark)
+msgid "new tool features and bugfixes"
+msgstr "નવા સાધન લક્ષણો અને ભૂલ સુધારાઓ"
+
+#: C/gtk-doc-manual.xml:98(revnumber)
+msgid "1.11"
+msgstr "1.11"
+
+#: C/gtk-doc-manual.xml:99(date)
+msgid "16 Novemebr 2008"
+msgstr "16 નવેમ્બર 2008"
+
+#: C/gtk-doc-manual.xml:100(authorinitials)
+msgid "mal"
+msgstr "mal"
+
+#: C/gtk-doc-manual.xml:101(revremark)
+msgid "GNOME doc-utils migration"
+msgstr "GNOME doc-utils સ્થળાંતર"
+
+#: C/gtk-doc-manual.xml:110(title)
+msgid "Introduction"
+msgstr "પરિચય"
+
+#: C/gtk-doc-manual.xml:112(para)
+msgid "This chapter introduces GTK-Doc and gives an overview of what it is and how it is used."
+msgstr "આ પ્રકરણ GTK-Doc ને રજૂ કરે છે અને તે શું છે અને તેને કેવી રીતે વપરાયેલ છે તેની ઝાંખી આપે છે."
+
+#: C/gtk-doc-manual.xml:118(title)
+msgid "What is GTK-Doc?"
+msgstr "GTK-Doc શું છે?"
+
+#: C/gtk-doc-manual.xml:120(para)
+msgid "GTK-Doc is used to document C code. It is typically used to document the public API of libraries, such as the GTK+ and GNOME libraries. But it can also be used to document application code."
+msgstr ""
+"GTK-Doc એ દસ્તાવેજ C કોડ માટે વપરાયેલ છે. તે લાઇબ્રેરીઓનાં સાર્વજનિક API નાં દસ્તાવેજ માટે વપરાયેલ છે, "
+"જેવું કે GTK+ અને GNOME લાઇબ્રેરીઓ. પરંતુ તે પણ દસ્તાવેજ કાર્યક્રમ કોડ માટે વપરાયેલ છે."
+
+#: C/gtk-doc-manual.xml:128(title)
+msgid "How Does GTK-Doc Work?"
+msgstr "GTK-Doc કામ કેવી રીતે કરે છે?"
+
+#: C/gtk-doc-manual.xml:130(para)
+msgid "GTK-Doc works by using documentation of functions placed inside the source files in specially-formatted comment blocks, or documentation added to the template files which GTK-Doc uses (though note that GTK-Doc will only document functions that are declared in header files; it won't produce output for static functions)."
+msgstr ""
+"GTK-Doc એ વિશિષ્ટ રીતે માળખુ થયેલ ટિપ્પણી બ્લોકોમાં સ્ત્રોત ફાઇલોની અંદર સ્થિત થયેલ વિધેયોનાં દસ્તાવેજીકરણની "
+"મદદથી કામ કરે છે, અથવા દસ્તાવેજીકરણ ટેમ્પલેટ ફાઇલોમાં ઉમેરાયેલ છે કે જે GTK-Doc વાપરે છે (છતાંપણ નોંધો કે GTK-Doc "
+"એ પણ દસ્તાવેજ વિધેયો હશે કે જે શીર્ષક ફાઇલોમાં જાહેર થયેલ છે; તે સ્થિર વિધેયો માટે આઉટપુટ ઉત્પન્ન કરતુ નથી)."
+
+#: C/gtk-doc-manual.xml:137(para)
+msgid "GTK-Doc consists of a number of perl scripts, each performing a different step in the process."
+msgstr "GTK-Doc એ perl સ્ક્રિપ્ટોની સંખ્યાને સમાવે છે, પ્રક્રિયામાં દરેક વિવિધ પગલું કરે છે."
+
+#: C/gtk-doc-manual.xml:142(para)
+msgid "There are 5 main steps in the process:"
+msgstr "ત્યાં પ્રક્રિયામાં મુખ્ય ૫ પગલાંઓ છે:"
+
+#: C/gtk-doc-manual.xml:149(para)
+msgid "<guilabel>Writing the documentation.</guilabel> The author fills in the source files with the documentation for each function, macro, union etc. (In the past information was entered in generated template files, which is not recommended anymore)."
+msgstr ""
+"<guilabel>દસ્તાવેજીકરણને લખી રહ્યા છે.</guilabel> લેખક એ દરેક વિધેયને, મેક્રો, યુનિયન વગેરે માટે "
+"દસ્તાવેજીકરણ સાથે સ્ત્રોત ફાઇલોમાં ભરે છે. (ઉત્પન્ન થયેલ ટેમ્પલેટ ફાઇલમાં ભૂતકાળની જાણકારી દાખલ થયેલ હતી, "
+"કે જે કોઇપણ રીતે અગ્રહણીય થયેલ નથી)"
+
+#: C/gtk-doc-manual.xml:159(para)
+msgid "<guilabel>Gathering information about the code.</guilabel><application>gtkdoc-scan</application> scans the header files of the code looking for declarations of functions, macros, enums, structs, and unions. It creates the file <filename><module>-decl-list.txt</filename> containg a list of the declarations, placing them into sections according to which header file they are in. On the first run this file is copied to <filename><module>-sections.txt</filename> The author can rearrange the sections, and the order of the declarations within them, to produce the final desired order. The second file it generates is <filename><module>-decl.txt</filename>. This file contains the full declarations found by the scanner. If for some reason one would like some sybols to show up in the docs, where the full declaration cannot be found by th scanner or the declaration should appear differently, one can place enties similar to the ones in <filename><module>-decl.txt</filename> into <filename><module>-overrides.txt</filename>. <application>gtkdoc-scanobj</application> can also be used to dynamically query a library about any GtkObject subclasses it exports. It saves information about each object's position in the class hierarchy and about any GTK Args and Signals it provides."
+msgstr ""
+"<guilabel>કોડ વિશે જાણકારીને ભેગી કરી રહ્યા છે.</guilabel><application>gtkdoc-scan</application> "
+"functions, macros, enums, structs, અને unions ની જાહેરાતો માટે જોઇ રહ્યા હોય તે કોડ ની હેડર ફાઇલોને સ્કેન કરે છે. "
+"તે જાહેરાતોની યાદીને સમાવતી ફાઇલ <filename><module>-decl-list.txt</filename> ને બનાવે છે, "
+"કઇ હેડર ફાઇલમાં તેઓ અંદર છે તેને અનુસાર વિભાગો માં તેઓને સ્થિત કરી રહ્યા છે. આ ફાઇલને પહેલું ચલાવવા પર "
+"<filename><module>-sections.txt</filename> માં નકલ થયેલ છે લેખક એ વિભાગોને પુન:ગોઠવી શકે છે, "
+"અને છેલ્લુ ઇચ્છિત ક્રમને ઉત્પન્ન કરવા માટે તેઓમાં જાહેરાતોનો ક્રમ. બીજી ફાઇલ તે <filename><module>-decl.txt</filename> "
+"ને ઉત્પન્ન કરે છે. આ ફાઇલ સ્કેનર દ્દારા શોધેલ સંપૂર્ણ જાહેરાતોને સમાવે છે. જો અમુક કારણ માટે દસ્તાવેજોમાં દેખાવા માટે અમુક સંકેતોને પસંદ કરે છે, "
+"જ્યાં સંપૂર્ણ જાહેરાત સ્કેનર દ્દારા શોધી શકાતી નથી અથવા જાહેરાત એ અલગ રીતે દેખાવી જોઇએ, "
+"<filename><module>-overrides.txt</filename> ની અંદર <filename><module>-decl.txt</filename> માં "
+"એકનાં જેવી જ સ્થિત કરી શકે છે. <application>gtkdoc-scanobj</application> એ કોઇપણ GtkObject ઉપવર્ગો કે જે નિકાસ કરે છે "
+"તે વિશે ગતિશીલ રીતે લાઇબ્રેરી ક્વેરી માટે પણ વાપરી શકાય છે. તે વર્ગ શ્રેણીમાં દરેક ઑબ્જેક્ટનાં સ્થાન વિશે જાણકારીનો સંગ્રહ કરે છે અને "
+"કોઇપણ GTK દલીલો વિશે પણ અને તે પૂરુ પાડે છે તેનો સંકેત કરે છે."
+
+#: C/gtk-doc-manual.xml:184(para)
+msgid "<guilabel>Generating the \"template\" files.</guilabel><application>gtkdoc-mktmpl</application> creates a number of files in the <filename class=\"directory\">tmpl/</filename> subdirectory, using the information gathered in the first step. (Note that this can be run repeatedly. It will try to ensure that no documentation is ever lost.)"
+msgstr ""
+"<guilabel>\"template\" ફાઇલોને ઉત્પન્ન કરી રહ્યા છે.</guilabel><application>gtkdoc-mktmpl</application> "
+"એ પહેલાં પગલામાં ભેગી થયેલ જાણકારીની મદદથી <filename class=\"directory\">tmpl/</filename> ઉપડિરેક્ટરીમાં "
+"ફાઇલોની સંખ્યાને બનાવે છે. (નોંધો કે જે આ વારંવાર ચલાવી શકાય છે. તે ખાતરી કરવા માટે પ્રયત્ન કરશે કે જે દસ્તાવેજીકરણ "
+"હંમેશ માટે ગુમ થઇ જતો નથી.)"
+
+#: C/gtk-doc-manual.xml:193(para)
+msgid "Since GTK-Doc 1.9 the templates can be avoided. We encourage people to keep documentation in the code. <application>gtkdocize</application> supports now a <option>--flavour no-tmpl</option> option that chooses a makefile that skips tmpl usage totally. If you have never changed file in tmpl by hand, please remove the dir (e.g. from version control system)."
+msgstr ""
+"જ્યાં સુધી GTK-Doc 1.9 નાં ટેમ્પલેટને અવગણી શકાય છે ત્યાં સુધી. આપણે કોડમાં દસ્તાવેજીકરણ ને રાખવા માટે લોકોને "
+"પ્રોત્સાહિત કરો. <application>gtkdocize</application> એ હવે <option>--flavour no-tmpl</option> "
+"વિકલ્પને આધાર આપે છે કે જે makefile ને પસંદ કરે છે કે જે સંપૂર્ણપણે tmpl વપરાશને છોડી દે છે. જો તમે પોતાની જાતે "
+"tmpl માં ફાઇલને કદી બદલો નહિં તો, મહેરબાની કરીને dir ને દૂર કરો (દા.ત. આવૃત્તિ નિયંત્રણ સિસ્ટમ માંથી)."
+
+#: C/gtk-doc-manual.xml:205(para)
+msgid "<guilabel>Generating the SGML/XML and HTML/PDF.</guilabel><application>gtkdoc-mkdb</application> turns the template files into SGML or XML files in the <filename class=\"directory\">sgml/</filename> or <filename class=\"directory\">xml/</filename> subdirectory. If the source code contains documentation on functions, using the special comment blocks, it gets merged in here. If there are no tmpl files used it only reads takes docs from sources and introspection data."
+msgstr ""
+"<guilabel>SGML/XML અને HTML/PDF ઉત્પન્ન કરી રહ્યા છે.</guilabel><application>gtkdoc-mkdb</application> એ "
+"<filename class=\"directory\">sgml/</filename> અથવા <filename class=\"directory\">xml/</filename> "
+"ઉપડિરેક્ટરી માં SGML અથવા XML ફાઇલોમાં ટેમ્પલેટ ફાઇલોને ફેરવે છે. જો સ્ત્રોત કોડ એ વિશિષ્ટ ટિપ્પણી બ્લોકોની મદદથી વિધેયો પર દસ્તાવેજીકરણ "
+"ને સમાવે છે, તે અહિંયા ભેગી થઇ જાય છે. જો તેને વાપરેલ tmpl ફાઇલો ન હોય તો ફક્ત સ્ત્રોતો અને આત્મનિરીક્ષણ માહિતી માંથી દસ્તાવેજોને લઇને વાંચે છે."
+
+#: C/gtk-doc-manual.xml:215(para)
+msgid "<application>gtkdoc-mkhtml</application> turns the SGML/XML files into HTML files in the <filename class=\"directory\">html/</filename> subdirectory. Likewise <application>gtkdoc-mkpdf</application> turns the SGML/XML files into a PDF docuemnt called <filename><package>.pdf</filename>."
+msgstr ""
+"<application>gtkdoc-mkhtml</application> એ <filename class=\"directory\">html/</filename> "
+"ઉપડિરેક્ટરીમાં HTML ફાઇલોની અંદર SGML/XML ફાઇલોને ફેરવે છે. જેવી રીતે <application>gtkdoc-mkpdf</application> "
+"કહેવાતા <filename><package>.pdf</filename> PDF દસ્તાવેજમાં SGML/XML ફાઇલોને ફેરવે છે."
+
+#: C/gtk-doc-manual.xml:221(para)
+msgid "Files in <filename class=\"directory\">sgml/</filename> or <filename class=\"directory\">xml/</filename> and <filename class=\"directory\">html/</filename> directories are always overwritten. One should never edit them directly."
+msgstr ""
+"<filename class=\"directory\">sgml/</filename> અથવા <filename class=\"directory\">xml/</filename> "
+"માં ફાઇલો અને <filename class=\"directory\">html/</filename> ડિરેક્ટરીઓ એ હંમેશા ઉપલ લખાયેલ છે. એક એ સીધુ જ "
+"તેઓને કદી સુધારતુ હોવુ જોઇએ નહિં."
+
+#: C/gtk-doc-manual.xml:229(para)
+msgid "<guilabel>Fixing up cross-references between documents.</guilabel> After installing the HTML files, <application>gtkdoc-fixxref</application> can be run to fix up any cross-references between separate documents. For example, the GTK+ documentation contains many cross-references to types documented in the GLib manual. When creating the source tarball for distribution, <application>gtkdoc-rebase</application> turns all external links into web-links. When installing distributed (pregenerated) docs the same application will try to turn links back to local links (where those docs are installed)."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:247(title)
+msgid "Getting GTK-Doc"
+msgstr "GTK-Doc ને મેળવી રહ્યા છે"
+
+#: C/gtk-doc-manual.xml:250(title)
+msgid "Requirements"
+msgstr "જરૂરિયાતો"
+
+#: C/gtk-doc-manual.xml:251(para)
+msgid "<guilabel>Perl v5</guilabel> - the main scripts are in Perl."
+msgstr "<guilabel>Perl v5</guilabel> - મુખ્ય સ્ક્રિપ્ટો એ Perl માં છે."
+
+#: C/gtk-doc-manual.xml:254(para)
+msgid "<guilabel>DocBook DTD v3.0</guilabel> - This is the DocBook SGML DTD. <ulink url=\"http://www.ora.com/davenport\" type=\"http\">http://www.ora.com/davenport</ulink>"
+msgstr "<guilabel>DocBook DTD v3.0</guilabel> - આ DocBook SGML DTD છે. <ulink url=\"http://www.ora.com/davenport\" type=\"http\">http://www.ora.com/davenport</ulink>"
+
+#: C/gtk-doc-manual.xml:258(para)
+msgid "<guilabel>Jade v1.1</guilabel> - This is a DSSSL processor for converting SGML to various formats. <ulink url=\"http://www.jclark.com/jade\" type=\"http\">http://www.jclark.com/jade</ulink>"
+msgstr "<guilabel>Jade v1.1</guilabel> - આ વિવિધ માળખાઓમાં SGML ને રૂપાંતર કરવા માટે DSSSL પ્રોસેસર છે. <ulink url=\"http://www.jclark.com/jade\" type=\"http\">http://www.jclark.com/jade</ulink>"
+
+#: C/gtk-doc-manual.xml:262(para)
+msgid "<guilabel>Modular DocBook Stylesheets</guilabel> This is the DSSSL code to convert DocBook to HTML (and a few other formats). It's used together with jade. I've customized the DSSSL code slightly, in gtk-doc.dsl, to colour the program code listings/declarations, and to support global cross-reference indices in the generated HTML. <ulink url=\"http://nwalsh.com/docbook/dsssl\" type=\"http\">http://nwalsh.com/docbook/dsssl</ulink>"
+msgstr ""
+"<guilabel>Modular DocBook Stylesheets</guilabel> આ DocBook ને HTML માં રૂપાંતરિત કરવા માટે "
+"DSSSL કોડ છે (અને થોડા બીજા બંધારણો). તે jade સાથે ભેગા વાપરેલ છે. મેં DSSSL કોડને કાર્યક્રમ કોડની યાદીઓ/ "
+"જાહેરાતોને રંગ આપવા માટે, અને ઉત્પન્ન થયેલ HTML માં વૈશ્ર્વિક પ્રતિનિર્દેશ સૂચિને આધાર આપવા માટે "
+"gtk-doc.dsl માં જરાક DSSSL કોડને વૈવિધ્યપૂર્ણ બનાવેલ છે. <ulink url=\"http://nwalsh.com/docbook/dsssl\" type=\"http\">http://nwalsh.com/docbook/dsssl</ulink>"
+
+#: C/gtk-doc-manual.xml:271(para)
+msgid "<guilabel>docbook-to-man</guilabel> - if you want to create man pages from the DocBook. I've customized the 'translation spec' slightly, to capitalise section headings and add the 'GTK Library' title at the top of the pages and the revision date at the bottom. There is a link to this on <ulink url=\"http://www.ora.com/davenport\" type=\"http\">http://www.ora.com/davenport</ulink> NOTE: This does not work yet."
+msgstr ""
+"<guilabel>docbook-to-man</guilabel> - જો તમે DocBook માંથી મુખ્ય પાનાંઓને બનાવવાનું ઇચ્છતા હોય તો, "
+"મેં થોડુ 'translation spec' ને વૈવિધ્યપૂર્ણ બનાવેલ છે, વિભાગનાં શીર્ષકનાં મોટા અક્ષર કરવા માટે અને પાનાંઓના ઊંચે "
+"'GTK Library' શીર્ષકને ઉમેરો અને નીચે પૂનરાવર્તિત તારીખને ઉમેરો. ત્યાં "
+"<ulink url=\"http://www.ora.com/davenport\" type=\"http\">http://www.ora.com/davenport</ulink> "
+"પર આની કડી છે નોંધો: આ હજુ કામ કરતુ નથી."
+
+#: C/gtk-doc-manual.xml:282(title)
+msgid "Installation"
+msgstr "સ્થાપન"
+
+#: C/gtk-doc-manual.xml:283(para)
+msgid "There is no standard place where the DocBook Modular Stylesheets are installed."
+msgstr "ત્યાં મૂળભૂત સ્થાન નથી કે જ્યાં DocBook Modular Stylesheets એ સ્થાપિત થયેલ હોય."
+
+#: C/gtk-doc-manual.xml:286(para)
+msgid "GTK-Doc's configure script searches these 3 directories automatically:"
+msgstr "GTK-Doc ની રૂપરેખાંકિત સ્ક્રિપ્ટ એ આ 3 ડિરેક્ટરીઓને આપમેળે શોધે છે:"
+
+#: C/gtk-doc-manual.xml:289(para)
+msgid "<filename> /usr/lib/sgml/stylesheets/nwalsh-modular </filename> (used by RedHat)"
+msgstr "<filename> /usr/lib/sgml/stylesheets/nwalsh-modular </filename> (RedHat દ્દારા વપરાયેલ છે)"
+
+#: C/gtk-doc-manual.xml:292(para)
+msgid "<filename> /usr/lib/dsssl/stylesheets/docbook </filename> (used by Debian)"
+msgstr "<filename> /usr/lib/dsssl/stylesheets/docbook </filename> (Debian દ્દારા વપરાયેલ છે)"
+
+#: C/gtk-doc-manual.xml:295(para)
+msgid "<filename> /usr/share/sgml/docbkdsl </filename> (used by SuSE)"
+msgstr "<filename> /usr/share/sgml/docbkdsl </filename> (SuSE દ્દારા વપરાયેલ છે)"
+
+#: C/gtk-doc-manual.xml:298(para)
+msgid "If you have the stylesheets installed somewhere else, you need to configure GTK-Doc using the option: <command> --with-dsssl-dir=<PATH_TO_TOPLEVEL_STYLESHEETS_DIR> </command>"
+msgstr ""
+"જો તમે ગમે ત્યાં સ્ટાઇલશીટો સ્થાપિત કરેલ હોય તો, તમે વિકલ્પની મદદથી GTK-Doc ને રૂપરેખાંકિત કરવા માટે "
+"જરૂ છે, <command> --with-dsssl-dir=<PATH_TO_TOPLEVEL_STYLESHEETS_DIR> </command>"
+
+#: C/gtk-doc-manual.xml:322(title)
+msgid "About GTK-Doc"
+msgstr "GTK-Doc વિશે"
+
+#: C/gtk-doc-manual.xml:324(para) C/gtk-doc-manual.xml:338(para)
+msgid "(FIXME)"
+msgstr "(FIXME)"
+
+#: C/gtk-doc-manual.xml:328(para)
+msgid "(History, authors, web pages, license, future plans, comparison with other similar systems.)"
+msgstr "(ઇતિહાસ, લેખકો, વેબ પાનાંઓ, લાઇસન્સ, ભવિષ્યનાં પ્લાનો, સરખી સિસ્ટમો સાથે સરખામણી.)"
+
+#: C/gtk-doc-manual.xml:336(title)
+msgid "About this Manual"
+msgstr "આ પુસ્તિકા વિશે"
+
+#: C/gtk-doc-manual.xml:342(para)
+msgid "(who it is meant for, where you can get it, license)"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:351(title)
+msgid "Setting up your project"
+msgstr "તમારા પ્રોજેક્ટને સુયોજિત કરી રહ્યા છે"
+
+#: C/gtk-doc-manual.xml:353(para)
+msgid "The next sections describe what steps to perform to integrate GTK-Doc into your project. Theses section assume we work on a project called 'meep'. This project contains a library called 'libmeep' and an end-user app called 'meeper'."
+msgstr ""
+"આગળનાં વિભાગો એ તમારાં પ્રોજેક્ટમાં GTK-Doc ને એકત્રિત કરવા ક્યાં પગલાઓ ચલાવવાનાં છે તેનું વર્ણન કરે છે. આ વિભાગ ધારે છે કે આપણ 'meep' તરીકે "
+"કહેવાતા પ્રોજેક્ટ પર કામ કરે છે. આ પ્રોજેક્ટ એ 'libmeep' તરીકે કહેવાતી લાઇબ્રેરી અને 'meeper' તરીકે કહેવાતી અંતિમ વપરાશકર્તાનાં કાર્યક્રમને સમાવે છે."
+
+#: C/gtk-doc-manual.xml:361(title)
+msgid "Setting up a skeleton documentation"
+msgstr "સ્કેલેટન દસ્તાવેજીકરણને સુયોજિત કરી રહ્યા છે"
+
+#: C/gtk-doc-manual.xml:363(para)
+msgid "Under your top-level project directory create folders called docs/reference (this way you can also have docs/help for end-user documentation). It is recommended to create another subdirectory with the name of the doc-package. For packages with just one library this step is not necessary."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:372(title)
+msgid "Example directory structure"
+msgstr "ઉદાહરણ ડિરેક્ટરી બંધારણ"
+
+#: C/gtk-doc-manual.xml:370(para)
+msgid "This can then look as show below: <placeholder-1/>"
+msgstr "નીચે બતાવ્યા પ્રમાણે પછી આ જોઇ શકો છો: <placeholder-1/>"
+
+#: C/gtk-doc-manual.xml:390(title) C/gtk-doc-manual.xml:397(title)
+msgid "Integration with autoconf"
+msgstr "autoconf સાથે એકત્રિકરણ"
+
+#: C/gtk-doc-manual.xml:392(para)
+msgid "Very easy! Just add one line to your <filename>configure.ac</filename> script."
+msgstr "ઘણું સરળ છે! ફક્ત તમારી <filename>configure.ac</filename> સ્ક્રિપ્ટમાં એક વાક્ય ને ઉમેરો."
+
+#: C/gtk-doc-manual.xml:407(para)
+msgid "The first argument is used to check for the gtkdocversion at configure time. The 2nd, optional argument is used by <application>gtkdocize</application>. The <symbol>GTK_DOC_CHECK</symbol> macro also adds several configure switches:"
+msgstr ""
+"પહેલી દલીલ રૂપરેખાંકિત સમયે gtkdocversion માટે ચકાસવા વપરાયેલ છે. બીજી, વૈકલ્પિક દલીલ એ "
+"<application>gtkdocize</application> દ્દારા વપરાયેલ છે. <symbol>GTK_DOC_CHECK</symbol> "
+"મેક્રો પણ ઘણીબધા રૂપરેખાંકિત ફેરબદલોને ઉમેરે છે:"
+
+#: C/gtk-doc-manual.xml:413(para)
+msgid "--with-html-dir=PATH : path to installed docs"
+msgstr "--with-html-dir=PATH : સ્થાપિત થયેલ દસ્તાવેજોનો પાથ"
+
+#: C/gtk-doc-manual.xml:414(para)
+msgid "--enable-gtk-doc : use gtk-doc to build documentation [default=no]"
+msgstr "--enable-gtk-doc : દસ્તાવેજીકરણ ને બિલ્ડ કરવા માટે gtk-doc ને વાપરો [default=no]"
+
+#: C/gtk-doc-manual.xml:415(para)
+msgid "--enable-gtk-doc-html : build documentation in html format [default=yes]"
+msgstr "--enable-gtk-doc-html : html બંધારણમાં દસ્તાવેજીકરણ બિલ્ડ કરો [default=yes]"
+
+#: C/gtk-doc-manual.xml:416(para)
+msgid "--enable-gtk-doc-pdf : build documentation in pdf format [default=no]"
+msgstr "--enable-gtk-doc-pdf : pdf બંધારણમાં દસ્તાવેજીકરણને બિલ્ડ કરો [default=no]"
+
+#: C/gtk-doc-manual.xml:420(para)
+msgid "GTK-Doc is disabled by default! Remember to pass the option <option>'--enable-gtk-doc'</option> to the next <filename>configure</filename> run. Otherwise pregenerated documentation is installed (which makes sense for users but not for developers)."
+msgstr ""
+"GTK-Doc એ મૂળભૂત રીતે નિષ્ક્રિય થયેલ છે! આગળનાં <filename>configure</filename> ને ચલાવવા માટે "
+"<option>'--enable-gtk-doc'</option> ને પસાર કરવાનું યાદ રાખો. નહિં તો પહેલીથી ઉત્પન્ન થયેલ દસ્તાવેજીકરણ "
+"સ્થાપિત થયેલ છે (કે જે વપરાશકર્તાઓ માટેનો અર્થ બને છે પરંતુ ડેવલપરો માટે નહિં)."
+
+#: C/gtk-doc-manual.xml:428(para)
+msgid "Furthermore it is recommended that you have the following line inside you <filename>configure.ac</filename> script. This allows <application>gtkdocize</application> to automatically copy the macro definition for <function>GTK_DOC_CHECK</function> to your project."
+msgstr ""
+"આગળ વધારે તે અગ્રહણીય થયેલ છે કે જે તમારી પાસે તમારી <filename>configure.ac</filename> સ્ક્રિપ્ટની અંદર "
+"નીચેનું વાક્ય છે. આ તમારા પ્રોજેક્ટમાં <function>GTK_DOC_CHECK</function> માટે મેક્રો વ્યાખ્યાને આપમેળે નકલ કરવા "
+"માટે પરવાનગી આપે છે."
+
+#: C/gtk-doc-manual.xml:436(title)
+msgid "Preparation for gtkdocize"
+msgstr "gtkdocize માટે તૈયારી"
+
+#: C/gtk-doc-manual.xml:447(title)
+msgid "Integration with automake"
+msgstr "automake સાથે એકત્રિકરણ"
+
+#: C/gtk-doc-manual.xml:449(para)
+msgid "First copy the <filename>Makefile.am</filename> from the examples subdirectory of the gtkdoc-sources to your project's API documentation directory ( <filename class=\"directory\">./docs/reference/<package></filename>). If you have multiple doc-packages repeat this for each one."
+msgstr ""
+"તમારા પ્રોજેક્ટની API દસ્તાવેજીકરણ ડિરેક્ટરી ( <filename class=\"directory\">./docs/reference/<package></filename>) "
+"માં gtkdoc-સ્ત્રોતોની ઉપડિરેક્ટરીઓનાં ઉદાહરણો માંથી <filename>Makefile.am</filename> ની પહેલી નકલ કરો. જો તમારી પાસે "
+"દરેક એક માટે ઘણાબધા ફરી આવતા દસ્તાવેજ-પેકેજો છે."
+
+#: C/gtk-doc-manual.xml:456(para)
+msgid "The next step is to edit the setting inside the <filename>Makefile.am</filename>. All the settings have a comment above that describes their purpose. Most settings are extra flags passed to the respective tools. Every tool has a variable of the form <option><TOOLNAME>_OPTIONS</option>. All the tools support <option>--help</option> to list the supported parameters."
+msgstr ""
+"આગળનું પગલુ એ <filename>Makefile.am</filename> ની અંગર સુયોજનોને સુધારવા માટે છે. બધા "
+"સુયોજનો પાસે ટિપ્પણીઓ છે કે જે તેનાં હેતુને વર્ણવે છે. મોટાભાગનાં સુયોજનો સાધનોને સંબંધી પસાર થયેલ વધારાનાં "
+"ફ્લેગો છે. દરેક સાધન પાસે ફાર્મ <option><TOOLNAME>_OPTIONS</option> નો ચલ છે. બધા "
+"સાધનો આધારભૂત પરિમાણોની યાદી માટે <option>--help</option> ને આધાર આપે છે."
+
+#. FIXME: explain options ?
+#: C/gtk-doc-manual.xml:467(para)
+msgid "You may also want to enable GTK-Doc for the distcheckmake target. Just add then one-liner show in the next example to you top-level <filename>Makefile.am</filename>:"
+msgstr ""
+"તમે distcheckmake લક્ષ્ય માટે GTK-Doc ને સક્રિય કરવા માટે પણ ઇચ્છા રાખી શકો છો. ફક્ત ઉમેરો પછી એક-લાઇનર "
+"એ તમને ટોચનાં સ્તર <filename>Makefile.am</filename> માટે આગળનાં ઉદાહરણમાં બતાવે છે:"
+
+#: C/gtk-doc-manual.xml:474(title)
+msgid "Enable GTK-Doc during make distcheck"
+msgstr "distcheck ને બનાવવા દરમ્યાન GTK-Doc ને સક્રિય કરો"
+
+#: C/gtk-doc-manual.xml:486(title)
+msgid "Integration with autogen"
+msgstr "autogen સાથે એકત્રિકરણ"
+
+#: C/gtk-doc-manual.xml:488(para)
+msgid "Most projects will have an <filename>autogen.sh</filename> script to setup the build infrastructure after a checkout from version control system (such as cvs/svn/git). GTK-Doc comes with a tool called <application>gtkdocize</application> which can be used in such a script. It should be run before autoheader, automake or autoconf."
+msgstr ""
+"મોટાભાગનાં પ્રોજેક્ટો પાસે આવૃત્તિ નિયંત્રણ સિસ્ટમ (જેવી કે cvs/svn/git) માંથી ચેકઆઉટ પછી ઇન્ફ્રાસ્ટ્રક્ચરને બિલ્ડ કરવાનું સુયોજિત "
+"કરવા માટે <filename>autogen.sh</filename> સ્ક્રિપ્ટ હશે. GTK-Doc એ સાધન <application>gtkdocize</application> "
+"તરીકે કહેવાતા સાધન સાથે આવે છે કે જે આવી સ્ક્રિપ્ટમાં વાપરી શકાય છે. તે autoheader, automake અથવા autoconf પહેલાં "
+"ચાલવુ જોઇએ."
+
+#: C/gtk-doc-manual.xml:497(title)
+msgid "Running gtkdocize from autogen.sh"
+msgstr "autogen.sh માંથી gtkdocize ને ચલાવી રહ્યા છે"
+
+#: C/gtk-doc-manual.xml:506(para)
+msgid "When running <application>gtkdocize</application> it copies <filename>gtk-doc.make</filename> to you project root (or any directory specified by the <option>--docdir</option> option). If also check you configure script for the <function>GTK_DOC_CHECK</function> invocation."
+msgstr ""
+"જ્યારે <application>gtkdocize</application> ચલાવી રહ્યા હોય ત્યારે તે તમારા પ્રોજેક્ટ રુટ માટે "
+"<filename>gtk-doc.make</filename> ની નકલ કરે છે (અથવા <option>--docdir</option> વિકલ્પ "
+"દ્દારા સ્પષ્ટ થયેલ કોઇપણ ડિરેક્ટરી). જો <function>GTK_DOC_CHECK</function> વિનંતી માટે "
+"તમે સ્ક્રિપ્ટને રૂપરેખાંકિત કરવાનું પણ ચકાસો."
+
+#: C/gtk-doc-manual.xml:514(para)
+msgid "Historically GTK-Doc was gerating template files where developers entered the docs. this turned out to be not so good. Since a few version GTK-Doc could also get all the information from source comments. Since GTK-Doc 1.9 the templates can be avoided. We encourage people to keep documentation in the code. <application>gtkdocize</application> supports now a <option>--flavour no-tmpl</option> option that chooses a makefile that skips tmpl usage totally. Besides adding the option directly to the command invocation, they can be added also to a environment variable called <symbol>GTKDOCIZE_FLAGS</symbol> or set as a 2nd parameter in <symbol>GTK_DOC_CHECK</symbol> macro in the configure script. If you have never changed file in tmpl by hand and migrating from older gtkdoc versions, please remove the dir (e.g. from version control system)."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:530(title) C/gtk-doc-manual.xml:547(title)
+msgid "Running the doc build"
+msgstr "દસ્તાવેજ બિલ્ડને ચલાવી રહ્યા છે"
+
+#: C/gtk-doc-manual.xml:532(para)
+msgid "After the previous steps it's time to run the build. First we need to rerun <filename>autogen.sh</filename>. If this script runs configure for you, then give it the <option>--enable-gtk-doc</option> option. Otherwise manually run <filename>configure</filename> with this option afterwards."
+msgstr ""
+"પહેલાનાં પગલાઓ પછી બિલ્ડ ને ચલાવવા માટે સમય થઇ ગયો છે. પહેલાં આપણે <filename>autogen.sh</filename> "
+"પુન:ચલાવવાની જરૂર છે. નહિં તો પછીથી આ વિકલ્પ સાથે <filename>configure</filename> ને જાતે જ "
+"ચલાવો."
+
+#: C/gtk-doc-manual.xml:539(para)
+msgid "The first make run generates several additional files in the doc-dirs. The important ones are: <filename><package>.types</filename>, <filename><package>-docs.sgml</filename>, <filename><package>-sections.txt</filename>."
+msgstr "પહેલું ચલાવવાનું બનાવવા doc-dirs માં ઘણીબધી વધારાની ફાઇલોને ઉત્પન્ન કરે છે. મહત્વનાં છે: <filename><package>.types</filename>, <filename><package>-docs.sgml</filename>, <filename><package>-sections.txt</filename>."
+
+#: C/gtk-doc-manual.xml:556(para)
+msgid "Now you can point your browser to <filename>docs/reference/<package>/index.html</filename>. Yes, it's a bit disappointing still. But hang-on, during the next chapter we tell you how to fill the pages with life."
+msgstr ""
+"હવે તમે <filename>docs/reference/<package>/index.html</filename> માટે તમારા બ્રાઉઝર પર આંગળી ચીંધી શકો છો. "
+"હાં, તે થોડુ હજુ નિરાશ કરે તેવુ છે. પરંતુ આગળનામ વિષય માટે આપણે તને કહીએ છે કે જીદંગી સાથે પાનાંઓને કેવી રીતે ભરવા તે દરમ્યાન "
+"થોડા સમય માટે અટકી જાય છે"
+
+#: C/gtk-doc-manual.xml:564(title)
+msgid "Integration with version control systems"
+msgstr "આવૃત્તિ નિયંત્રણ સિસ્ટમો સાથે એકત્રિકરણ"
+
+#: C/gtk-doc-manual.xml:566(para)
+msgid "As a rule of the thumb, it's those files you edit, that should go under version control. For typical projects it's these files: <filename><package>.types</filename><filename><package>-docs.sgml</filename><filename><package>-sections.txt</filename><filename>Makefile.am</filename>"
+msgstr "અંગૂઠાનાં નિયમ પ્રમાણે, તે તે ફાઇલો છે જે તમારે સુધારવાની છે, કે જે આવૃત્તિ નિયંત્રણ હેઠળ જવી જોઇએ. વિશિષ્ટ પ્રોજેક્ટો માટે તે આ ફાઇલો છે: <filename><package>.types</filename><filename><package>-docs.sgml</filename><filename><package>-sections.txt</filenam"
+
+#: C/gtk-doc-manual.xml:579(title)
+msgid "Documenting the code"
+msgstr "કોડને દસ્તાવેજ કરી રહ્યા છે"
+
+#: C/gtk-doc-manual.xml:581(para)
+msgid "GTK-Doc uses source code comment with a special syntax for code documentation. Further it retrieves information about your project structure from other sources. During the next section you find all information about the syntax of the comments."
+msgstr ""
+"GTK-Doc એ કોડ દસ્તાવેજીકરણ માટે ચોક્કસ સિન્ટેક્ષ સાથે સ્ત્રોત કોડ ટિપ્પણીને વાપરે છે. આગળ તે બીજા સ્ત્રોતમાંથી "
+"તમારા પ્રોજેક્ટ બંધારણ વિશે જાણકારીને મેળવે છે. આગળનાં વિભાગ દરમ્યાન તમે ટિપ્પણીઓનાં સિન્ટેક્ષ વિશે બધી જાણકારી "
+"ને શોધે છે."
+
+#: C/gtk-doc-manual.xml:589(title)
+msgid "Documentation placement"
+msgstr "દસ્તાવેજીકરણ નિયુક્તિ"
+
+#: C/gtk-doc-manual.xml:590(para)
+msgid "In the past most documentation had to be filled into files residing inside the <filename>tmpl</filename> directory. This has the disadvantages that the information is often not updated and also that the file tend to cause conflicts with version control systems."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:596(para)
+msgid "The avoid the aforementioned problems we suggest putting the documentation inside the sources. This manual will only describe this way of documenting code."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:606(title)
+msgid "Documentation comments"
+msgstr "દસ્તાવેજીકરણ ટિપ્પણીઓ"
+
+#: C/gtk-doc-manual.xml:611(title)
+msgid "GTK-Doc comment block"
+msgstr "GTK-Doc ટિપ્પણી બ્લોક"
+
+#: C/gtk-doc-manual.xml:608(para)
+msgid "A multiline comment that starts with an additional '*' marks a documentation block that will be processed by the GTK-Doc tools. <placeholder-1/>"
+msgstr ""
+"ઘણીબધા વાક્યની ટિપ્પણીઓ કે જે વધારાનાં '*' ચિહ્ન દસ્તાવેજીકરણ બ્લોક સાથે શરૂ થાય છે કે જે "
+"GTK-Doc સાધનો દ્દારા પ્રક્રિયા થયેલ હશે. <placeholder-1/>"
+
+#: C/gtk-doc-manual.xml:623(para)
+msgid "The 'identifier' is one line with the name of the item the comment is related to. The syntax differs a little depending on the item. (TODO add table showing identifiers)"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:629(para)
+msgid "The 'documentation' block is also different for each symbol type. Symbol types that get parameters such as functions or macros have the parameter description first followed by a blank line (just a '*'). Afterwards follows the detailed description. All lines (outside program- listings and CDATA sections) just containing a ' *' (blank-asterisk) are converted to paragraph breaks. If you don't want a paragraph break, change that into ' * ' (blank-asterisk-blank-blank)."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:646(para)
+msgid "Use function() to refer to functions or macros which take arguments."
+msgstr "વિધેયો અથવા મેક્રોનો સંદર્ભ લેવા માટે function() ને વાપરો કે જે દલીલોને લે છે."
+
+#: C/gtk-doc-manual.xml:651(para)
+msgid "Use @param to refer to parameters. Also use this when referring to parameters of other functions, related to the one being described."
+msgstr ""
+"પરિમાણોનો સંદર્ભ લેવા માટે @param ને વાપરો. બીજા વિધેયોનાં પરિમાણો માટે જ્યારે સંદર્ભ કરી રહ્યા હોય ત્યારે આને પણ વાપરો, વર્ણવવા માટે એકને "
+"સંબંધિત છે."
+
+#: C/gtk-doc-manual.xml:657(para)
+msgid "Use %constant to refer to a constant, e.g. %G_TRAVERSE_LEAFS."
+msgstr "કૉન્સ્ટન્ટ નો સંદર્ભ લેવા માટે %constant ને વાપરો, દા.ત. %G_TRAVERSE_LEAFS."
+
+#: C/gtk-doc-manual.xml:662(para)
+msgid "Use #symbol to refer to other types of symbol, e.g. structs and enums and macros which don't take arguments."
+msgstr "સંકેતનાં બીજા પ્રકારોનો સંદર્ભ લેવા માટે #symbol ને વાપરો, દા.ત. structs અને enums અને macros કે જે દલીલો લેતુ નથી."
+
+#: C/gtk-doc-manual.xml:668(para)
+msgid "Use #Object::signal to refer to a GObject signal"
+msgstr "#Object ને વાપરો::GObject સંકેતનો સંદર્ભ લેવા માટે સંકેત"
+
+#: C/gtk-doc-manual.xml:673(para)
+msgid "Use #Object:property to refer to a GObject property"
+msgstr "#Object ને વાપરો:GObject ગુણધર્મનો સંદર્ભ લેવા માટે ગુણધર્મ"
+
+#: C/gtk-doc-manual.xml:678(para)
+msgid "Use #Struct.field to refer to a field inside a structure."
+msgstr "બંધારણની અંદર ક્ષેત્રનો સંદર્ભ લેવા માટે #Struct.field ને વાપરો."
+
+#: C/gtk-doc-manual.xml:640(para)
+msgid "One advantage of hyper-text over plain-text is the ability to have links in the document. Writing the correct markup for a link can be tedious though. GTK-Doc comes to help by providing several useful abbreviations. <placeholder-1/>"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:686(para)
+msgid "If you need to use the special characters '<', '>', '()', '@', '%', or '#' in your documentation without GTK-Doc changing them you can use the XML entities \"&lt;\", \"&gt;\", \"&lpar;\", \"&rpar;\", \"&commat;\", \"&percnt;\" and \"&num;\" respectively or escape them with a backslash '\\'."
+msgstr ""
+"જો તમારે તેઓને બદલ્યા વગર GTK-Doc વગર તમારાં દસ્તાવેજીકરણમાં વિશિષ્ટ અક્ષરો '<', '>', '()', '@', '%', or '#' ને વાપરવાનું ઇચ્છતા હોય તો "
+"તમે XML વસ્તુઓ \"&lt;\", \"&gt;\", \"&lpar;\", \"&rpar;\", \"&commat;\", \"&percnt;\" અને \"&num;\" "
+"ને વાપરી શકો છો અથવા બેકસ્લેશ '\\' સાથે તેઓમાંથી બહાર નીકળી જાઓ."
+
+#: C/gtk-doc-manual.xml:695(para)
+msgid "DocBook can do more that just links. One can also have lists, tables and examples. To enable the usage of SGML/XML tags inside doc-comments you need to have <option>--sgml-mode</option> in the variable <symbol>MKDB_OPTIONS</symbol> inside <filename>Makefile.am</filename>."
+msgstr ""
+"DocBook એ ફક્ત વધારે કડીઓને કરી શકે છે. એક પાસે પણ યાદીઓ, કોષ્ટકો અને ઉદાહરણો હોઇ શકે છે. "
+"દસ્તાવેજ-ટિપ્પણીઓની અંદર SGML/XML ટેગનાં વપરાશને સક્રિય કરવા માટે તમારી પાસે <filename>Makefile.am</filename> "
+"માં ચલ <symbol>MKDB_OPTIONS</symbol> માં હોવુ જરૂરી છે."
+
+#: C/gtk-doc-manual.xml:703(para)
+msgid "As already mentioned earlier GTK-Doc is for documenting public API. Thus one cannot write documentation for static symbols. Nevertheless it is good to comment those symbols too. This helps other to understand you code. Therefore we recommend to comment these using normal comments (without the 2nd '*' in the first line). If later the function needs to be made public, all one needs to do is to add another '*' in the comment block and insert the symbol name at the right place inside the sections file."
+msgstr ""
+"પહેલાનાં GTK-Doc માં પહેલેથી જણાવેલ પ્રમાણે સાર્વજનિક API દસ્તાવેજીકરણ માટે છે. છતાં એક એ સ્થિર સંકેતો માટે દસ્તાવેજીકરણ ને લખી "
+"શકતુ નથી. તેમ છતાં તે પેલાં સંકેતો પર ટિપ્પણી કરવા માટે સારુ છે. આ તમારાં કોડને સમજવા માટે બીજાને મદદ કરે છે. માટે આપણે સામાન્ય ટિપ્પણીઓની મદદથી "
+"આ ટિપ્પણી એ અગ્રહણીય કરેલ છે (પહેલાં વાક્યમાં બીજા '*' વગર). જો પછી વિધેયને સાર્વજનિક બનાવવાની જરૂર છે, ટિપ્પણી બ્લોકમાં બીજા '*' ઉમેરવા માટે બધાને "
+"કરવાની જરૂર છે અને ફાઇલ વિભાગોની અંદર જમણી જગ્યા પર સંકેત નામને દાખલ કરો."
+
+#: C/gtk-doc-manual.xml:717(title)
+msgid "Documenting sections"
+msgstr "વિભાગોનું દસ્તાવેજ કરી રહ્યા છે"
+
+#: C/gtk-doc-manual.xml:719(para)
+msgid "Each section of the documentation contains information about one class or module. To introduce the component one can write a section block. The short description is also used inside the table of contents. All the @fields are optional."
+msgstr ""
+"દસ્તાવેજીકરણનો દરેક વિભાગ એ એર વર્ગ અથવા મોડ્યુલ વિશે જાણકારીને સમાવે છે. એક ઘટક એ વિભાગ બ્લોક લખી શકે છે તે "
+"રજૂ કરવા માટે. ટૂંકુ વર્ણન એ સમાવિષ્ટોનાં કોષ્ટકની અંદર પણ વપરાયેલ છે. બધી @fields વૈકલ્પિક છે."
+
+#: C/gtk-doc-manual.xml:727(title)
+msgid "Section comment block"
+msgstr "વિભાગ ટિપ્પણી બ્લોક"
+
+#: C/gtk-doc-manual.xml:749(term)
+msgid "SECTION:<name>"
+msgstr "SECTION:<name>"
+
+#: C/gtk-doc-manual.xml:751(para)
+msgid "The name links the section documentation to the respective part in the <filename><package>-sections.txt</filename> file. The name give here should match the <FILE> tag in the <filename><package>-sections.txt</filename> file."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:760(term)
+msgid "@short_description"
+msgstr "@shortdescription (_d)"
+
+#: C/gtk-doc-manual.xml:762(para)
+msgid "A one line description of the section, that later will appear after the links in the TOC and at the top of the section page."
+msgstr "વિભાગનું એક વાક્યનું વર્ણન, કે જે પછી TOC માં અને વિભાગ પાનાંની ટોચે કડીઓ પછી દેખાશે."
+
+#: C/gtk-doc-manual.xml:769(term)
+msgid "@title"
+msgstr "@title"
+
+#: C/gtk-doc-manual.xml:771(para)
+msgid "The section title defaults to <name> from the SECTION declaration. It can be overridden with the @title field."
+msgstr "વિભાગનું શીર્ષક એ SECTION રજૂઆતમાંથી <name> માટે મૂળભૂત કરેલ છે. તે @title ક્ષેત્ર સાથે અવગણી શકાય છે."
+
+#: C/gtk-doc-manual.xml:778(term)
+msgid "@section_id"
+msgstr "@sectionid (_i)"
+
+#: C/gtk-doc-manual.xml:780(para)
+msgid "Overrides the use of title as a section identifier. For GObjects the <title> is used as a section_id and for other section it is <MODULE>-<title>."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:788(term)
+msgid "@see_also"
+msgstr "@seealso (_a)"
+
+#: C/gtk-doc-manual.xml:790(para)
+msgid "A list of symbols that are related to this section.."
+msgstr "સંકેતોની યાદી કે જે આ વિભાગને સંબંધિત છે.."
+
+#: C/gtk-doc-manual.xml:796(term)
+msgid "@stability"
+msgstr "@stability"
+
+#: C/gtk-doc-manual.xml:803(para)
+msgid "Stable - The intention of a Stable interface is to enable arbitrary third parties to develop applications to these interfaces, release them, and have confidence that they will run on all minor releases of the product (after the one in which the interface was introduced, and within the same major release). Even at a major release, incompatible changes are expected to be rare, and to have strong justifications."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:815(para)
+msgid "Unstable - Unstable interfaces are experimental or transitional. They are typically used to give outside developers early access to new or rapidly changing technology, or to provide an interim solution to a problem where a more general solution is anticipated. No claims are made about either source or binary compatibility from one minor release to the next."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:827(para)
+msgid "Private - An interface that can be used within the GNOME stack itself, but that is not documented for end-users. Such functions should only be used in specified and documented ways."
+msgstr "ખાનગી - ઇન્ટપફેસ કે જે GNOME સ્ટેક પોતામાં વાપરી શકાય છે, પરંતુ અંતિમ વપરાશકર્તાઓ માટે દસ્તાવેજ થયેલ નથી. જેવા કે વિધેયો એ સ્પષ્ટ થયેલ અને દસ્તાવેજ પ્રમાણે પમ વાપરવુ જોઇએ."
+
+#: C/gtk-doc-manual.xml:836(para)
+msgid "Internal - An interface that is internal to a module and does not require end-user documentation. Functions that are undocumented are assumed to be Internal."
+msgstr "આંતરિક - ઇન્ટરફેસ કે જે મોડ્યુલ માટે આંતરિક છે અને અંતિમ-વપરાશકર્તાનાં દસ્તાવેજીકરણની જરૂર નથી. વિધેયો કે જે દસ્તાવેજ થયેલ નથી તે આંતરિક કરવા માટે ધારેલ છે."
+
+#: C/gtk-doc-manual.xml:798(para)
+msgid "A informal description of the stability level this API has. We recommend the use of one of these terms: <placeholder-1/>"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:848(term)
+msgid "@include"
+msgstr "@include"
+
+#: C/gtk-doc-manual.xml:850(para)
+msgid "The <literal>#include</literal> files to show in the section synopsis (a comma separated list), overriding the global value from the <link linkend=\"metafiles_sections\">section file</link> or command line. This item is optional."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:859(term)
+msgid "@image"
+msgstr "@image"
+
+#: C/gtk-doc-manual.xml:861(para)
+msgid "The image to display at the top of the reference page for this section. This will often be some sort of a diagram to illustrate the visual appearance of a class or a diagram of its relationship to other classes. This item is optional."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:872(para)
+msgid "To avoid unnecessary recompilation after doc-changes put the section docs into the c-source where possible."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:881(title)
+msgid "Documenting symbols"
+msgstr "સંકેતોનું દસ્તાવેજ કરી રહ્યા છે"
+
+#: C/gtk-doc-manual.xml:883(para)
+msgid "Each symbol (function, macro, struct, enum, signal and property) is documented in a separate block. The block is best placed close to the definition of the symbols so that it is easy to keep them in sync. Thus function are usually documented in the c-source and macros, struct and enum in the header file."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:891(title) C/gtk-doc-manual.xml:920(title)
+msgid "General tags"
+msgstr "સામાન્ય ટેગ"
+
+#: C/gtk-doc-manual.xml:893(para)
+msgid "You can add versioning information to all documentation elements to tell when an api was introduced, or when it was deprecated."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:898(title)
+msgid "Versioning Tags"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:899(term)
+msgid "Since:"
+msgstr "જ્યાં સુધી:"
+
+#: C/gtk-doc-manual.xml:901(para)
+msgid "Description since which version of the code the API is available."
+msgstr "વર્ણન જ્યાં સુધી API કોડનું કઇ આવૃત્તિ ઉપલ્બધ છે."
+
+#: C/gtk-doc-manual.xml:906(term)
+msgid "Deprecated:"
+msgstr "અપ્રચલિત થયેલ:"
+
+#: C/gtk-doc-manual.xml:908(para)
+msgid "Paragraph denoting that this function should no be used anymore. The description should point the reader to the new API."
+msgstr "ફકરાને સૂચિત કરી રહ્યા છે કે જે આ વિધેયને વધારે વાપરવુ જોઇએ નહિં. વર્ણનએ નવા API માટે વાંચનારને ધ્યાન લેવુ જોઇએ."
+
+#: C/gtk-doc-manual.xml:916(para)
+msgid "(FIXME : Stability information)"
+msgstr "(FIXME : સ્થિરતા જાણકારી)"
+
+#: C/gtk-doc-manual.xml:943(title) C/gtk-doc-manual.xml:979(title)
+msgid "Function comment block"
+msgstr "વિધેય ટિપ્પણી બ્લોક"
+
+#: C/gtk-doc-manual.xml:949(para)
+msgid "Document whether returned objects, lists, strings, etc, should be freed/unrefed/released."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:955(para)
+msgid "Document whether parameters can be NULL, and what happens if they are."
+msgstr "દસ્તાવેજ ક્યાંતો પરિમાણો એ NULL હોઇ શકે છે, અને શું થશે જો તેઓ છે તો."
+
+#: C/gtk-doc-manual.xml:960(para)
+msgid "Mention interesting pre-conditions and post-conditions where appropriate."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:945(para) C/gtk-doc-manual.xml:1042(para)
+msgid "Please remember to: <placeholder-1/>"
+msgstr "મહેરબાની કરીને યાદ રાખો: <placeholder-1/>"
+
+#: C/gtk-doc-manual.xml:967(para)
+msgid "Gtk-doc assumes all symbols (macros, functions) starting with '_' are private. They are treated like static functions."
+msgstr "Gtk-doc એ '_' સાથે શરૂ થતા બધા સંકેતો (મેક્રો, વિધેયો) ને ખાનગી ધારે છે. તેઓ સ્થિર વિધેયો જેવું વર્ણતૂક કરે છે."
+
+#: C/gtk-doc-manual.xml:972(para)
+msgid "Also, take a look at gobject introspection annotation tags: http://live.gnome.org/GObjectIntrospection/Annotations"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1003(title)
+msgid "Function tags"
+msgstr "વિધેય ટૅગો"
+
+#: C/gtk-doc-manual.xml:1004(term)
+msgid "Returns:"
+msgstr "પાછુ આવે છે:"
+
+#: C/gtk-doc-manual.xml:1006(para)
+msgid "Paragraph describing the returned result."
+msgstr "ફકરો પાછુ મળેલ પરિણામને વર્ણવી રહ્યા છે."
+
+#: C/gtk-doc-manual.xml:1011(term)
+msgid "@...:"
+msgstr "@...:"
+
+#: C/gtk-doc-manual.xml:1013(para)
+msgid "In case the function has variadic arguments, you should use this tag (@Varargs: does also work for historic reasons)."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1023(title) C/gtk-doc-manual.xml:1025(title)
+msgid "Property comment block"
+msgstr "ગુણધર્મ ટિપ્પણી બ્લોક"
+
+#: C/gtk-doc-manual.xml:1040(title) C/gtk-doc-manual.xml:1059(title)
+msgid "Signal comment block"
+msgstr "સંકેત ટિપ્પણા બ્લોક"
+
+#: C/gtk-doc-manual.xml:1046(para)
+msgid "Document when the signal is emitted and whether it is emitted before or after other signals."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1052(para)
+msgid "Document what an application might do in the signal handler."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1079(title) C/gtk-doc-manual.xml:1080(title)
+msgid "Struct comment block"
+msgstr "Struct ટિપ્પણી બ્લોક"
+
+#: C/gtk-doc-manual.xml:1100(para)
+msgid "Use <code>/*< private >*/</code> before the private struct fields you want to hide. Use <code>/*< public >*/</code> for the reverse behavirour."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1108(title) C/gtk-doc-manual.xml:1109(title)
+msgid "Enum comment block"
+msgstr "Enum ટિપ્પણી બ્લોક"
+
+#: C/gtk-doc-manual.xml:1130(para)
+msgid "Use <code>/*< private >*/</code> before the private enum values you want to hide. Use <code>/*< public >*/</code> for the reverse behavirour."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1140(title)
+msgid "Useful DocBook tags"
+msgstr "ઉપયોગી DocBook ટૅગ"
+
+#: C/gtk-doc-manual.xml:1142(para)
+msgid "Here are some DocBook tags which are most useful when documenting the code."
+msgstr "અહિંયા અમુક DocBook ટૅગ છે કે જે મોટાભાગનાં ઉપયોગી છે જ્યારે કોડનું દસ્તાવેજ કરી રહ્યા છે."
+
+#: C/gtk-doc-manual.xml:1147(para)
+msgid "To link to another section in the GTK docs: <placeholder-1/> The linkend is the SGML/XML id on the top item of the page you want to link to. For most pages this is currently the part (\"gtk\", \"gdk\", \"glib\") and then the page title (\"Hash Tables\"). For widgets it is just the class name. Spaces and underscores are converted to '-' to conform to SGML/XML."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1163(para)
+msgid "To refer to an external function, e.g. a standard C function: <placeholder-1/>"
+msgstr "બહારનાં વિધેયનો સંદર્ભ લેવા માટે, દા.ત. મૂળભૂત C વિધેય: <placeholder-1/>"
+
+#: C/gtk-doc-manual.xml:1174(para)
+msgid "To include example code: <placeholder-1/> or possibly this, for very short code fragments which don't need a title: <placeholder-2/> For the latter GTK-Doc also supports an abbreviation: <![CDATA[\n|[\n ...\n]|\n]]>"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1208(para)
+msgid "To include bulleted lists: <placeholder-1/>"
+msgstr "બુલેટ થયેલ યાદીઓને સમાવવા માટે: <placeholder-1/>"
+
+#: C/gtk-doc-manual.xml:1230(para)
+msgid "To include a note which stands out from the text: <placeholder-1/>"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1245(para)
+msgid "To refer to a type: <placeholder-1/>"
+msgstr "પ્રકારનો સંદર્ભ લેવા માટે: <placeholder-1/>"
+
+#: C/gtk-doc-manual.xml:1256(para)
+msgid "To refer to an external structure (not one described in the GTK docs): <placeholder-1/>"
+msgstr "બહારનાં બંધારણનો સંદર્ભ લેવા માટે (GTK દસ્તાવેજોમાં વર્ણવેલ નથી): <placeholder-1/>"
+
+#: C/gtk-doc-manual.xml:1267(para)
+msgid "To refer to a field of a structure: <placeholder-1/>"
+msgstr "બંધારણનાં ક્ષેત્રનો સંદર્ભ લેવા માટે: <placeholder-1/>"
+
+#: C/gtk-doc-manual.xml:1278(para)
+msgid "To refer to a class name, we could possibly use: <placeholder-1/> but you'll probably be using #GtkWidget instead (to automatically create a link to the GtkWidget page - see <link linkend=\"documenting_syntax\">the abbreviations</link>)."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1291(para)
+msgid "To emphasize text: <placeholder-1/>"
+msgstr "લખાણ પર ભાર મૂકવા માટે: <placeholder-1/>"
+
+#: C/gtk-doc-manual.xml:1302(para)
+msgid "For filenames use: <placeholder-1/>"
+msgstr "ફાઇલનામો વાપરવા માટે: <placeholder-1/>"
+
+#: C/gtk-doc-manual.xml:1313(para)
+msgid "To refer to keys use: <placeholder-1/>"
+msgstr "કીઓ વાપરવાનું સંદર્ભ લેવા માટે: <placeholder-1/>"
+
+#: C/gtk-doc-manual.xml:1328(title)
+msgid "Filling the extra files"
+msgstr "વધારાની ફાઇલોને ભરી રહ્યા છે"
+
+#: C/gtk-doc-manual.xml:1330(para)
+msgid "There are a couple of extra files, that need to be maintained along with the inline source code comments: <filename><package>.types</filename>, <filename><package>-docs.sgml</filename>, <filename><package>-sections.txt</filename>."
+msgstr ""
+"ત્યાં વધારાની ફાઇલોની જોડી છે, કે જે ઇનલાઇન સ્ત્રોત કોડ ટિપ્પણીઓની સાથે સાથે વ્યવસ્થિત રાખવા માટેની જરૂર "
+"છે: <filename><package>.types</filename>, <filename><package>-docs.sgml</filename>, <filename><package>-sections.txt</filename>."
+
+#: C/gtk-doc-manual.xml:1339(title)
+msgid "Editing the types file"
+msgstr "ફાઇલોનાં પ્રકારોને સુધારી રહ્યા છે"
+
+#: C/gtk-doc-manual.xml:1341(para)
+msgid "If your library or application includes GtkObjects/GObjects, you want their signals, arguments/parameters and position in the hierarchy to be shown in the documentation. All you need to do, is to list the <function>xxx_get_type</function> functions together with their include inside the <filename><package>.types</filename> file."
+msgstr ""
+"જો તમે લાઇબ્રેરી અથવા કાર્યક્રમ એ GtkObjects/GObjects ને સમાવે તો, તમે દસ્તાવેજીકરણમાં બતાવેલ શ્રેણીમાં "
+"તેનાં સંકેતો, દલીલો/પરિમાણો અને સ્થાનને ઇચ્છો તો. <filename><package>.types</filename> ફાઇલ "
+"ની અંદર તેનાં સમાવેશ સાથે <function>xxx_get_type</function> વિધેયોની ભેગી યાદીમાં તમારે બધાને કરવાની "
+"જરૂર છે."
+
+#: C/gtk-doc-manual.xml:1350(title)
+msgid "Example types file snippet"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1364(para)
+msgid "Since GTK-Doc 1.8 <application>gtkdoc-scan</application> can generate this list for you. Just add \"--rebuild-types\" to SCAN_OPTIONS in <filename>Makefile.am</filename>. If you use this approach you should not dist the types file nor have it under version control."
+msgstr ""
+"જ્યાં સુધી GTK-Doc 1.8 <application>gtkdoc-scan</application> એ તમારા માટે આ યાદી ઉત્પન્ન કરી શકે, "
+"<filename>Makefile.am</filename> માં SCAN_OPTIONS માટે \"--rebuild-types\" ને ખાલી ઉમેરો. જો "
+"તમે આ હેતુ થી વાપરો તો તમારે ફાઇલનાં પ્રકારોની યાદી કરવી જોઇએ નહિ અથવા આવૃત્તિ નિયંત્રણ હેઠળ તે હોવુ જોઇએ "
+"નહિં."
+
+#: C/gtk-doc-manual.xml:1373(title)
+msgid "Editing the master document"
+msgstr "મુખ્ય દસ્તાવેજને સુધારી રહ્યા છે"
+
+#: C/gtk-doc-manual.xml:1375(para)
+msgid "GTK-Doc produces documentation in DocBook SGML/XML. When processing the inline source comments, the GTK-Doc tools generate one documentation page per class or module as a separate file. The master document includes them and place them in a order."
+msgstr ""
+"GTK-Doc એ DocBook SGML/XML માં દસ્તાવેજીકરણને ઉત્પન્ન કરે છે. જ્યારે ઇનલાઇન સ્ત્રોત ટિપ્પણીઓની પ્રક્રિયા કરી રહ્યુ હોય, "
+"GTK-Doc સાધનો વર્ગ પ્રતિ એક દસ્તાવેજીકરણ અથવા અલગ ફાઇલ પ્રતિ મોડ્યુવ પાનાંને ઉત્પન્ન કરે છે. મુખ્ય દસ્તાવેજ તેઓને સમાવે છે અને "
+"ક્રમમાં તેમને સ્થિત કરે છે."
+
+#: C/gtk-doc-manual.xml:1382(para)
+msgid "While GTK-Doc creates a template master document for you, later run will not touch it again. This means that one can freely structure the documentation. That includes grouping pages and adding extra pages. GTK-Doc has now a test suite, where also the master-document is recreated from scratch. Its a good idea to look at this from time to time to see if there are some new goodies introduced there."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1392(para)
+msgid "Do not create tutorials as extra documents. Just write extra chapters. The benefit of directly embedding the tutorial for your library into the API documentation is that it is easy to link for the tutorial to symbol documentation. Apart chances are higher that the tutorial gets updates along with the library."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1401(para)
+msgid "So what are the things to change inside the master document? For a start is only a little. There are some placeholders (text in square brackets) there which you should take care of."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1408(title)
+msgid "Master document header"
+msgstr "મુખ્ય દસ્તાવેજ મથાળુ"
+
+#: C/gtk-doc-manual.xml:1430(title)
+msgid "Editing the section file"
+msgstr "વિભાગ ફાઇલને સુધારી રહ્યા છે"
+
+#: C/gtk-doc-manual.xml:1432(para)
+msgid "The section file is used to organise the documentation output by GTK-Doc. Here one specifies which symbol belongs to which module or class and control the visibility (public or private)."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1438(para)
+msgid "The section file is a plain test file with xml like syntax (using tags). Blank lines are ignored and lines starting with a '#' are treated as comment lines."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1444(para)
+msgid "The <FILE> ... </FILE> tag is used to specify the file name, without any suffix. For example, using '<FILE>gnome-config</FILE>' will result in the section declarations being output in the template file <filename>tmpl/gnome-config.sgml</filename>, which will be converted into the DocBook SGML/XML file <filename>sgml/gnome-config.sgml</filename> or .DocBook XML file <filename>xml/gnome-config.xml</filename>. (The name of the html file is based on the module name and the section title, or for gobjects it is based on the gobjects class name converted to lower case)."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1456(para)
+msgid "The <TITLE> ... </TITLE> tag is used to specify the title of the section. It is only useful before the templates (if used) are initially created, since the title set in the template file overrides this. Also if one uses SECTION comment in the sources, this is obsolete."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1463(para)
+msgid "You can group items in the section by using the <SUBSECTION> tag. Currently it outputs a blank line between subsections in the synopsis section. You can also use <SUBSECTION Standard> for standard GObject declarations (e.g. the functions like g_object_get_type and macros like G_OBJECT(), G_IS_OBJECT() etc.). Currently these are left out of the documentation. You can also use <SUBSECTION Private> for private declarations which will not be output (It is a handy way to avoid warning messages about unused declarations.). If your library contains private types which you don't want to appear in the object hierarchy and the list of implemented or required interfaces, add them to a Private subsection."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1479(para)
+msgid "You can also use <INCLUDE> ... </INCLUDE> to specify the #include files which are shown in the synopsis sections. It contains a comma-separate list of #include files, without the angle brackets. If you set it outside of any sections, it acts for all sections until the end of the file. If you set it within a section, it only applies to that section."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1493(title)
+msgid "Controlling the result"
+msgstr "પરિણામને નિયંત્રણ કરી રહ્યા છે"
+
+#: C/gtk-doc-manual.xml:1495(para)
+msgid "A GTK-Doc run generates report files inside the documentation directory. The generated files are named: <filename><package>-undocumented.txt</filename>, <filename><package>-undeclared.txt</filename> and <filename><package>-unused.txt</filename>. All those are plain text files that can be viewed and postprocessed easily."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1504(para)
+msgid "The <filename><package>-undocumented.txt</filename> file starts with the documentation coverage summary. Below are two sections divided by blank lines. The first section lists undocumented or incomplete symbols. The second section does the same for section docs. Incomplete entries are those, which have documentation, but where e.g. a new parameter has been added."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1513(para)
+msgid "The <filename><package>-undeclared.txt</filename> file lists symbols given in the <filename><package>-sections.txt</filename> but not found in the sources. Check if they have been removed or if they are misspelled."
+msgstr ""
+"<filename><package>-sections.txt</filename> માં આપેલ સંકેતોને "
+"<filename><package>-undeclared.txt</filename> એ યાદી કરે છે પરંતુ સ્ત્રોતોમાં મળ્યુ નથી. "
+"ચકાસો જો તેઓને દૂર કરી દેવામાં આવી રહ્યુ છે અથવા જો તેઓની જોડણી થયેલ નથી."
+
+#: C/gtk-doc-manual.xml:1520(para)
+msgid "The <filename><package>-unused.txt</filename> file lists symbol names, where the GTK-Doc scanner has found documentation, but does not know where to put it. This means that the symbol has not yet been added to the <filename><package>-sections.txt</filename> file."
+msgstr ""
+"<filename><package>-unused.txt</filename> ફાઇલ એ સંકેત નામોની યાદી કરે છે, જ્યાં GTK-Doc "
+"સ્કેનર એ દસ્તાવેજીકરણને શોધ્યુ હતુ, પરંતુ જાણતા નથી ક્યાં તેને મૂકવાનું. આનો મતલબ એ કે સંકેતને હજુ "
+"<filename><package>-sections.txt</filename> ફાઇલ માં ઉમેરી દેવામાં આવ્યા નથી."
+
+#: C/gtk-doc-manual.xml:1528(para)
+msgid "Enable or add the <option>TESTS=$(GTKDOC_CHECK)</option> line in Makefile.am. If at least GTK-Doc 1.9 is installed, this will run sanity checks during <command>make check</command> run."
+msgstr ""
+"સક્રિય કરો અથવા Makefile.am માં <option>TESTS=$(GTKDOC_CHECK)</option> વાક્ય ને ઉમેરો. જો "
+"ઓછામાં ઓછુ GTK-Doc 1.9 સ્થાપિત થયેલ હોય તો, આ <command>make check</command> ને ચલાવવા "
+"દરમ્યાન સેનિટિ ચકાસણીને ચલાવશે."
+
+#: C/gtk-doc-manual.xml:1535(para)
+msgid "One can also look at the files produced by the source code scanner: <filename><package>-decl-list.txt</filename> and <filename><package>-decl.txt</filename>. The first and can be compared with the section file if that is manualy maintained. The second lists all declarations fromt he headers If a symbol is missing one could check if this file contains it."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1544(para)
+msgid "If the project is GObject based, one can also look into the files produced by the object scanner: <filename><package>.args.txt</filename>, <filename><package>.hierarchy.txt</filename>, <filename><package>.interfaces.txt</filename>, <filename><package>.prerequisites.txt</filename> and <filename><package>.signals.txt</filename>. If there are missing symbols in any of those, one can ask gtkdoc to keep the intermedia scanner file for further analysis, but running it as <command>GTK_DOC_KEEP_INTERMEDIATE=1 make</command>."
+msgstr ""
+"જો પ્રોજેક્ટ એ GObject આધારિત હોય તો, એક ઓબ્જેક્ટ સ્કેનર દ્દારા ઉત્પન્ન થયેલ ફાઇલોમાં પણ જોઇ શકો છો: <filename><package>.args.txt</filename>, <filename><package>.hierarchy.txt</filename>, <filename><package>.interfaces.txt</filename>, <filename><package>.prerequisites.txt</filename> અને <filename><package>.signals.txt</filename>. જો ત્યાં પેલાનાં કોઇપણમાં ગુમ થયેલ સંકેતો છે તો, આગળ પૃથ્થકરણ માટે અંતર્માધ્યમ "
+"સ્કેનર ફાઇલને રાખવા માટે એકજણ gtkdoc ને પૂછી શકે છે, પરંતુ <command>GTK_DOC_KEEP_INTERMEDIATE=1 make</command> "
+"તરીકે તેને ચલાવી રહ્યા છે."
+
+#: C/gtk-doc-manual.xml:1559(title)
+msgid "Frequently asked question"
+msgstr "વારંવાર પૂછાતા પ્રશ્ર્ન"
+
+#: C/gtk-doc-manual.xml:1563(segtitle)
+msgid "Question"
+msgstr "પ્રશ્ર્ન"
+
+#: C/gtk-doc-manual.xml:1564(segtitle)
+msgid "Answer"
+msgstr "જવાબ"
+
+#: C/gtk-doc-manual.xml:1566(seg)
+msgid "No class hierarchy."
+msgstr "વર્ગની શ્રેણી નથી."
+
+#: C/gtk-doc-manual.xml:1568(function)
+msgid "xxx_get_type()"
+msgstr "xxx_get_type()"
+
+#: C/gtk-doc-manual.xml:1569(filename)
+msgid "<package>.types"
+msgstr "<package>.types"
+
+#: C/gtk-doc-manual.xml:1567(seg)
+msgid "The objects <placeholder-1/> function has not been entered into the <placeholder-2/> file."
+msgstr "ઓબ્જેક્ટો એ ફાઇલ <placeholder-1/> માં દાખલ કરી દેવામાં આવ્યુ નથી <placeholder-2/>"
+
+#: C/gtk-doc-manual.xml:1573(seg)
+msgid "Still no class hierarchy."
+msgstr "હજુ વર્ગ શ્રેણી નથી."
+
+#: C/gtk-doc-manual.xml:1575(filename) C/gtk-doc-manual.xml:1614(filename) C/gtk-doc-manual.xml:1622(filename) C/gtk-doc-manual.xml:1644(filename)
+msgid "<package>-sections.txt"
+msgstr "<package>-sections.txt"
+
+#: C/gtk-doc-manual.xml:1576(ulink)
+msgid "explanation"
+msgstr "વિગતવાર"
+
+#: C/gtk-doc-manual.xml:1574(seg)
+msgid "Missing or wrong naming in <placeholder-1/> file (see <placeholder-2/>)."
+msgstr "<placeholder-1/> ફાઇલમાં ગુમ થયેલ અથવા ખોટુ નામ (જુઓ <placeholder-2/>)."
+
+#: C/gtk-doc-manual.xml:1580(seg)
+msgid "Damn, I have still no class hierarchy."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1582(type) C/gtk-doc-manual.xml:1623(type)
+msgid "GtkWidget"
+msgstr "GtkWidget"
+
+#: C/gtk-doc-manual.xml:1581(seg)
+msgid "Is the object name (name of the instance struct, e.g. <placeholder-1/>) part of the normal section (don't put this into Standard or Private subsections)."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1588(seg)
+msgid "No symbol index."
+msgstr "સંકેત અનુક્રમણિકા નથી."
+
+#: C/gtk-doc-manual.xml:1590(filename) C/gtk-doc-manual.xml:1605(filename) C/gtk-doc-manual.xml:1631(filename)
+msgid "<package>-docs.{xml,sgml}"
+msgstr "<package>-docs.{xml,sgml}"
+
+#: C/gtk-doc-manual.xml:1589(seg)
+msgid "Does the <placeholder-1/> contain a index that xi:includes the generated index?"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1595(seg)
+msgid "Symbols are not linked to their doc-section."
+msgstr "સંકેતો એ તેનાં દસ્તાવેજ-વિભાગમાં કડી થયેલ નથી."
+
+#: C/gtk-doc-manual.xml:1596(seg)
+msgid "Is the doc-comment using the correct markup (added #,% or ())? Check if the gtkdoc-fixxref warns about unresolvable xrefs."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1602(seg)
+msgid "A new class does not appear in the docs."
+msgstr "નવો વર્ગ એ દસ્તાવેજોમાં દેખાતો નથી."
+
+#: C/gtk-doc-manual.xml:1603(seg)
+msgid "Is the new page xi:included from <placeholder-1/>."
+msgstr "શું તે નવુ પાનું xi છે: <placeholder-1/> માંથી સમાવેલ છે."
+
+#: C/gtk-doc-manual.xml:1609(seg)
+msgid "A new symbol does not appear in the docs."
+msgstr "નવો સંકેત એ દસ્તાવેજોમાં દેખાતુ નથી."
+
+#: C/gtk-doc-manual.xml:1610(seg)
+msgid "Is the doc-comment properly formatted. Check for spelling mistakes in the begin of the comment. Check if the gtkdoc-fixxref warns about unresolvable xrefs. Check if the symbol is correctly listed in the <placeholder-1/> in a public subsection."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1618(seg)
+msgid "A type is missing from the class hierarchy."
+msgstr "પ્રકાર એ વર્ગ શ્રેણામાંથી ગુમ થયેલ છે."
+
+#: C/gtk-doc-manual.xml:1620(filename)
+msgid "<package>.hierarchy"
+msgstr "<package>.hierarchy"
+
+#: C/gtk-doc-manual.xml:1621(filename)
+msgid "xml/tree_index.sgml"
+msgstr "xml/tree_index.sgml"
+
+#: C/gtk-doc-manual.xml:1619(seg)
+msgid "If the type is listed in <placeholder-1/> but not in <placeholder-2/> then double check that the type is correctly placed in the <placeholder-3/>. If the type instance (e.g. <placeholder-4/>) is not listed or incidentialy makred private it will not be shown."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1628(seg)
+msgid "I get foldoc links for all gobject annotations."
+msgstr "બધા gobject ઍનોટેશન માટે foldoc કડીઓ મને મળે છે."
+
+#: C/gtk-doc-manual.xml:1630(filename)
+msgid "xml/annotation-glossary.xml"
+msgstr "xml/annotation-glossary.xml"
+
+#: C/gtk-doc-manual.xml:1629(seg)
+msgid "Check that <placeholder-1/> is xi:included from <placeholder-2/>."
+msgstr "ચકાસો કે જે <placeholder-1/> એ xi છે: <placeholder-2/> માંથી સમાવેલ છે."
+
+#: C/gtk-doc-manual.xml:1637(seg)
+msgid "Parameter described in source code comment block but does not exist"
+msgstr "સ્ત્રોત કોડ ટિપ્પણી બ્લોકમાં પરિમાણ વર્ણવેલ છે પરંતુ અસ્તિત્વ ધરાવતુ નથી"
+
+#: C/gtk-doc-manual.xml:1638(seg)
+msgid "Check if the prototype in the header has different parameter names as in the source."
+msgstr "ચકાસો જો મથાળામાં પ્રોટોટાઇપ પાસે સ્ત્રોતમાં વિવિધ પરિમાણ નામો છે."
+
+#: C/gtk-doc-manual.xml:1643(seg)
+msgid "multiple \"IDs\" for constraint linkend: XYZ"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1644(seg)
+msgid "Symbol XYZ appears twice in <placeholder-1/> file."
+msgstr "સંકેત XYZ એ <placeholder-1/> ફાઇલમાં બે વાર દેખાય છે."
+
+#: C/gtk-doc-manual.xml:1647(seg)
+msgid "Element typename in namespace '' encountered in para, but no template matches."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:12(releaseinfo)
+msgid "Version 1.1, March 2000"
+msgstr "Version 1.1, March 2000"
+
+#: C/gtk-doc-manual.xml:16(year)
+msgid "2000"
+msgstr "2000"
+
+#: C/gtk-doc-manual.xml:16(holder)
+msgid "Free Software Foundation, Inc."
+msgstr "Free Software Foundation, Inc."
+
+#: C/gtk-doc-manual.xml:19(para)
+msgid "<address>Free Software Foundation, Inc. <street>51 Franklin Street, Suite 330</street>, <city>Boston</city>, <state>MA</state><postcode>02110-1301</postcode><country>USA</country></address> Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed."
+msgstr "<address>Free Software Foundation, Inc. <street>51 Franklin Street, Suite 330</street>, <city>Boston</city>, <state>MA</state><postcode>02110-1301</postcode><country>USA</country></address> Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed."
+
+#: C/gtk-doc-manual.xml:28(title)
+msgid "GNU Free Documentation License"
+msgstr "GNU Free Documentation License"
+
+#: C/gtk-doc-manual.xml:31(title)
+msgid "0. PREAMBLE"
+msgstr "0. PREAMBLE"
+
+#: C/gtk-doc-manual.xml:32(para)
+msgid "The purpose of this License is to make a manual, textbook, or other written document <quote>free</quote> in the sense of freedom: to assure everyone the effective freedom to copy and redistribute it, with or without modifying it, either commercially or noncommercially. Secondarily, this License preserves for the author and publisher a way to get credit for their work, while not being considered responsible for modifications made by others."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:43(para)
+msgid "This License is a kind of <quote>copyleft</quote>, which means that derivative works of the document must themselves be free in the same sense. It complements the GNU General Public License, which is a copyleft license designed for free software."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:50(para)
+msgid "We have designed this License in order to use it for manuals for free software, because free software needs free documentation: a free program should come with manuals providing the same freedoms that the software does. But this License is not limited to software manuals; it can be used for any textual work, regardless of subject matter or whether it is published as a printed book. We recommend this License principally for works whose purpose is instruction or reference."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:62(title)
+msgid "1. APPLICABILITY AND DEFINITIONS"
+msgstr "1. APPLICABILITY AND DEFINITIONS"
+
+#: C/gtk-doc-manual.xml:63(para)
+msgid "This License applies to any manual or other work that contains a notice placed by the copyright holder saying it can be distributed under the terms of this License. The <quote>Document</quote>, below, refers to any such manual or work. Any member of the public is a licensee, and is addressed as <quote>you</quote>."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:72(para)
+msgid "A <quote>Modified Version</quote> of the Document means any work containing the Document or a portion of it, either copied verbatim, or with modifications and/or translated into another language."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:79(para)
+msgid "A <quote>Secondary Section</quote> is a named appendix or a front-matter section of the <link linkend=\"fdl-document\">Document</link> that deals exclusively with the relationship of the publishers or authors of the Document to the Document's overall subject (or to related matters) and contains nothing that could fall directly within that overall subject. (For example, if the Document is in part a textbook of mathematics, a Secondary Section may not explain any mathematics.) The relationship could be a matter of historical connection with the subject or with related matters, or of legal, commercial, philosophical, ethical or political position regarding them."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:94(para)
+msgid "The <quote>Invariant Sections</quote> are certain <link linkend=\"fdl-secondary\"> Secondary Sections</link> whose titles are designated, as being those of Invariant Sections, in the notice that says that the <link linkend=\"fdl-document\">Document</link> is released under this License."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:103(para)
+msgid "The <quote>Cover Texts</quote> are certain short passages of text that are listed, as Front-Cover Texts or Back-Cover Texts, in the notice that says that the <link linkend=\"fdl-document\">Document</link> is released under this License."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:111(para)
+msgid "A <quote>Transparent</quote> copy of the <link linkend=\"fdl-document\"> Document</link> means a machine-readable copy, represented in a format whose specification is available to the general public, whose contents can be viewed and edited directly and straightforwardly with generic text editors or (for images composed of pixels) generic paint programs or (for drawings) some widely available drawing editor, and that is suitable for input to text formatters or for automatic translation to a variety of formats suitable for input to text formatters. A copy made in an otherwise Transparent file format whose markup has been designed to thwart or discourage subsequent modification by readers is not Transparent. A copy that is not <quote>Transparent</quote> is called <quote>Opaque</quote>."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:128(para)
+msgid "Examples of suitable formats for Transparent copies include plain ASCII without markup, Texinfo input format, LaTeX input format, SGML or XML using a publicly available DTD, and standard-conforming simple HTML designed for human modification. Opaque formats include PostScript, PDF, proprietary formats that can be read and edited only by proprietary word processors, SGML or XML for which the DTD and/or processing tools are not generally available, and the machine-generated HTML produced by some word processors for output purposes only."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:141(para)
+msgid "The <quote>Title Page</quote> means, for a printed book, the title page itself, plus such following pages as are needed to hold, legibly, the material this License requires to appear in the title page. For works in formats which do not have any title page as such, <quote>Title Page</quote> means the text near the most prominent appearance of the work's title, preceding the beginning of the body of the text."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:153(title)
+msgid "2. VERBATIM COPYING"
+msgstr "2. VERBATIM COPYING"
+
+#: C/gtk-doc-manual.xml:154(para)
+msgid "You may copy and distribute the <link linkend=\"fdl-document\">Document</link> in any medium, either commercially or noncommercially, provided that this License, the copyright notices, and the license notice saying this License applies to the Document are reproduced in all copies, and that you add no other conditions whatsoever to those of this License. You may not use technical measures to obstruct or control the reading or further copying of the copies you make or distribute. However, you may accept compensation in exchange for copies. If you distribute a large enough number of copies you must also follow the conditions in <link linkend=\"fdl-section3\">section 3</link>."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:169(para)
+msgid "You may also lend copies, under the same conditions stated above, and you may publicly display copies."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:176(title)
+msgid "3. COPYING IN QUANTITY"
+msgstr "3. COPYING IN QUANTITY"
+
+#: C/gtk-doc-manual.xml:177(para)
+msgid "If you publish printed copies of the <link linkend=\"fdl-document\">Document</link> numbering more than 100, and the Document's license notice requires <link linkend=\"fdl-cover-texts\">Cover Texts</link>, you must enclose the copies in covers that carry, clearly and legibly, all these Cover Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on the back cover. Both covers must also clearly and legibly identify you as the publisher of these copies. The front cover must present the full title with all words of the title equally prominent and visible. You may add other material on the covers in addition. Copying with changes limited to the covers, as long as they preserve the title of the <link linkend=\"fdl-document\">Document</link> and satisfy these conditions, can be treated as verbatim copying in other respects."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:195(para)
+msgid "If the required texts for either cover are too voluminous to fit legibly, you should put the first ones listed (as many as fit reasonably) on the actual cover, and continue the rest onto adjacent pages."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:202(para)
+msgid "If you publish or distribute <link linkend=\"fdl-transparent\">Opaque</link> copies of the <link linkend=\"fdl-document\">Document</link> numbering more than 100, you must either include a machine-readable <link linkend=\"fdl-transparent\">Transparent</link> copy along with each Opaque copy, or state in or with each Opaque copy a publicly-accessible computer-network location containing a complete Transparent copy of the Document, free of added material, which the general network-using public has access to download anonymously at no charge using public-standard network protocols. If you use the latter option, you must take reasonably prudent steps, when you begin distribution of Opaque copies in quantity, to ensure that this Transparent copy will remain thus accessible at the stated location until at least one year after the last time you distribute an Opaque copy (directly or through your agents or retailers) of that edition to the public."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:222(para)
+msgid "It is requested, but not required, that you contact the authors of the <link linkend=\"fdl-document\">Document</link> well before redistributing any large number of copies, to give them a chance to provide you with an updated version of the Document."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:231(title)
+msgid "4. MODIFICATIONS"
+msgstr "4. MODIFICATIONS"
+
+#: C/gtk-doc-manual.xml:232(para)
+msgid "You may copy and distribute a <link linkend=\"fdl-modified\">Modified Version</link> of the <link linkend=\"fdl-document\">Document</link> under the conditions of sections <link linkend=\"fdl-section2\">2</link> and <link linkend=\"fdl-section3\">3</link> above, provided that you release the Modified Version under precisely this License, with the Modified Version filling the role of the Document, thus licensing distribution and modification of the Modified Version to whoever possesses a copy of it. In addition, you must do these things in the Modified Version:"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:248(title)
+msgid "A"
+msgstr "A"
+
+#: C/gtk-doc-manual.xml:249(para)
+msgid "Use in the <link linkend=\"fdl-title-page\">Title Page</link> (and on the covers, if any) a title distinct from that of the <link linkend=\"fdl-document\">Document</link>, and from those of previous versions (which should, if there were any, be listed in the History section of the Document). You may use the same title as a previous version if the original publisher of that version gives permission."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:264(title)
+msgid "B"
+msgstr "B"
+
+#: C/gtk-doc-manual.xml:265(para)
+msgid "List on the <link linkend=\"fdl-title-page\">Title Page</link>, as authors, one or more persons or entities responsible for authorship of the modifications in the <link linkend=\"fdl-modified\">Modified Version</link>, together with at least five of the principal authors of the <link linkend=\"fdl-document\">Document</link> (all of its principal authors, if it has less than five)."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:279(title)
+msgid "C"
+msgstr "C"
+
+#: C/gtk-doc-manual.xml:280(para)
+msgid "State on the <link linkend=\"fdl-title-page\">Title Page</link> the name of the publisher of the <link linkend=\"fdl-modified\">Modified Version</link>, as the publisher."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:291(title)
+msgid "D"
+msgstr "D"
+
+#: C/gtk-doc-manual.xml:292(para)
+msgid "Preserve all the copyright notices of the <link linkend=\"fdl-document\">Document</link>."
+msgstr "<link linkend=\"fdl-document\">દસ્તાવેજ</link> ની કોપીરાઇટ બધી સૂચનાઓને સાચવો."
+
+#: C/gtk-doc-manual.xml:301(title)
+msgid "E"
+msgstr "E"
+
+#: C/gtk-doc-manual.xml:302(para)
+msgid "Add an appropriate copyright notice for your modifications adjacent to the other copyright notices."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:311(title)
+msgid "F"
+msgstr "F"
+
+#: C/gtk-doc-manual.xml:312(para)
+msgid "Include, immediately after the copyright notices, a license notice giving the public permission to use the <link linkend=\"fdl-modified\">Modified Version</link> under the terms of this License, in the form shown in the Addendum below."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:324(title)
+msgid "G"
+msgstr "G"
+
+#: C/gtk-doc-manual.xml:325(para)
+msgid "Preserve in that license notice the full lists of <link linkend=\"fdl-invariant\"> Invariant Sections</link> and required <link linkend=\"fdl-cover-texts\">Cover Texts</link> given in the <link linkend=\"fdl-document\">Document's</link> license notice."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:337(title)
+msgid "H"
+msgstr "H"
+
+#: C/gtk-doc-manual.xml:338(para)
+msgid "Include an unaltered copy of this License."
+msgstr "આ લાઇસન્સની ચેતવણી ન થયેલ નકલને સમાવો."
+
+#: C/gtk-doc-manual.xml:346(title)
+msgid "I"
+msgstr "I"
+
+#: C/gtk-doc-manual.xml:347(para)
+msgid "Preserve the section entitled <quote>History</quote>, and its title, and add to it an item stating at least the title, year, new authors, and publisher of the <link linkend=\"fdl-modified\">Modified Version </link>as given on the <link linkend=\"fdl-title-page\">Title Page</link>. If there is no section entitled <quote>History</quote> in the <link linkend=\"fdl-document\">Document</link>, create one stating the title, year, authors, and publisher of the Document as given on its Title Page, then add an item describing the Modified Version as stated in the previous sentence."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:365(title)
+msgid "J"
+msgstr "J"
+
+#: C/gtk-doc-manual.xml:366(para)
+msgid "Preserve the network location, if any, given in the <link linkend=\"fdl-document\">Document</link> for public access to a <link linkend=\"fdl-transparent\">Transparent</link> copy of the Document, and likewise the network locations given in the Document for previous versions it was based on. These may be placed in the <quote>History</quote> section. You may omit a network location for a work that was published at least four years before the Document itself, or if the original publisher of the version it refers to gives permission."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:383(title)
+msgid "K"
+msgstr "K"
+
+#: C/gtk-doc-manual.xml:384(para)
+msgid "In any section entitled <quote>Acknowledgements</quote> or <quote>Dedications</quote>, preserve the section's title, and preserve in the section all the substance and tone of each of the contributor acknowledgements and/or dedications given therein."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:396(title)
+msgid "L"
+msgstr "L"
+
+#: C/gtk-doc-manual.xml:397(para)
+msgid "Preserve all the <link linkend=\"fdl-invariant\">Invariant Sections</link> of the <link linkend=\"fdl-document\">Document</link>, unaltered in their text and in their titles. Section numbers or the equivalent are not considered part of the section titles."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:409(title)
+msgid "M"
+msgstr "M"
+
+#: C/gtk-doc-manual.xml:410(para)
+msgid "Delete any section entitled <quote>Endorsements</quote>. Such a section may not be included in the <link linkend=\"fdl-modified\">Modified Version</link>."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:421(title)
+msgid "N"
+msgstr "N"
+
+#: C/gtk-doc-manual.xml:422(para)
+msgid "Do not retitle any existing section as <quote>Endorsements</quote> or to conflict in title with any <link linkend=\"fdl-invariant\">Invariant Section</link>."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:432(para)
+msgid "If the <link linkend=\"fdl-modified\">Modified Version</link> includes new front-matter sections or appendices that qualify as <link linkend=\"fdl-secondary\">Secondary Sections</link> and contain no material copied from the Document, you may at your option designate some or all of these sections as invariant. To do this, add their titles to the list of <link linkend=\"fdl-invariant\">Invariant Sections</link> in the Modified Version's license notice. These titles must be distinct from any other section titles."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:444(para)
+msgid "You may add a section entitled <quote>Endorsements</quote>, provided it contains nothing but endorsements of your <link linkend=\"fdl-modified\">Modified Version</link> by various parties--for example, statements of peer review or that the text has been approved by an organization as the authoritative definition of a standard."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:453(para)
+msgid "You may add a passage of up to five words as a <link linkend=\"fdl-cover-texts\">Front-Cover Text</link>, and a passage of up to 25 words as a <link linkend=\"fdl-cover-texts\">Back-Cover Text</link>, to the end of the list of <link linkend=\"fdl-cover-texts\">Cover Texts</link> in the <link linkend=\"fdl-modified\">Modified Version</link>. Only one passage of Front-Cover Text and one of Back-Cover Text may be added by (or through arrangements made by) any one entity. If the <link linkend=\"fdl-document\">Document</link> already includes a cover text for the same cover, previously added by you or by arrangement made by the same entity you are acting on behalf of, you may not add another; but you may replace the old one, on explicit permission from the previous publisher that added the old one."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:470(para)
+msgid "The author(s) and publisher(s) of the <link linkend=\"fdl-document\">Document</link> do not by this License give permission to use their names for publicity for or to assert or imply endorsement of any <link linkend=\"fdl-modified\">Modified Version </link>."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:480(title)
+msgid "5. COMBINING DOCUMENTS"
+msgstr "5. COMBINING DOCUMENTS"
+
+#: C/gtk-doc-manual.xml:481(para)
+msgid "You may combine the <link linkend=\"fdl-document\">Document</link> with other documents released under this License, under the terms defined in <link linkend=\"fdl-section4\">section 4</link> above for modified versions, provided that you include in the combination all of the <link linkend=\"fdl-invariant\">Invariant Sections</link> of all of the original documents, unmodified, and list them all as Invariant Sections of your combined work in its license notice."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:492(para)
+msgid "The combined work need only contain one copy of this License, and multiple identical <link linkend=\"fdl-invariant\">Invariant Sections</link> may be replaced with a single copy. If there are multiple Invariant Sections with the same name but different contents, make the title of each such section unique by adding at the end of it, in parentheses, the name of the original author or publisher of that section if known, or else a unique number. Make the same adjustment to the section titles in the list of Invariant Sections in the license notice of the combined work."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:505(para)
+msgid "In the combination, you must combine any sections entitled <quote>History</quote> in the various original documents, forming one section entitled <quote>History</quote>; likewise combine any sections entitled <quote>Acknowledgements</quote>, and any sections entitled <quote>Dedications</quote>. You must delete all sections entitled <quote>Endorsements.</quote>"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:516(title)
+msgid "6. COLLECTIONS OF DOCUMENTS"
+msgstr "6. COLLECTIONS OF DOCUMENTS"
+
+#: C/gtk-doc-manual.xml:517(para)
+msgid "You may make a collection consisting of the <link linkend=\"fdl-document\">Document</link> and other documents released under this License, and replace the individual copies of this License in the various documents with a single copy that is included in the collection, provided that you follow the rules of this License for verbatim copying of each of the documents in all other respects."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:527(para)
+msgid "You may extract a single document from such a collection, and dispbibute it individually under this License, provided you insert a copy of this License into the extracted document, and follow this License in all other respects regarding verbatim copying of that document."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:537(title)
+msgid "7. AGGREGATION WITH INDEPENDENT WORKS"
+msgstr "7. AGGREGATION WITH INDEPENDENT WORKS"
+
+#: C/gtk-doc-manual.xml:538(para)
+msgid "A compilation of the <link linkend=\"fdl-document\">Document</link> or its derivatives with other separate and independent documents or works, in or on a volume of a storage or distribution medium, does not as a whole count as a <link linkend=\"fdl-modified\">Modified Version</link> of the Document, provided no compilation copyright is claimed for the compilation. Such a compilation is called an <quote>aggregate</quote>, and this License does not apply to the other self-contained works thus compiled with the Document , on account of their being thus compiled, if they are not themselves derivative works of the Document. If the <link linkend=\"fdl-cover-texts\">Cover Text</link> requirement of <link linkend=\"fdl-section3\">section 3</link> is applicable to these copies of the Document, then if the Document is less than one quarter of the entire aggregate, the Document's Cover Texts may be placed on covers that surround only the Document within the aggregate. Otherwise they must appear on covers around the whole aggregate."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:561(title)
+msgid "8. TRANSLATION"
+msgstr "8. TRANSLATION"
+
+#: C/gtk-doc-manual.xml:562(para)
+msgid "Translation is considered a kind of modification, so you may distribute translations of the <link linkend=\"fdl-document\">Document</link> under the terms of <link linkend=\"fdl-section4\">section 4</link>. Replacing <link linkend=\"fdl-invariant\"> Invariant Sections</link> with translations requires special permission from their copyright holders, but you may include translations of some or all Invariant Sections in addition to the original versions of these Invariant Sections. You may include a translation of this License provided that you also include the original English version of this License. In case of a disagreement between the translation and the original English version of this License, the original English version will prevail."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:580(title)
+msgid "9. TERMINATION"
+msgstr "9. TERMINATION"
+
+#: C/gtk-doc-manual.xml:581(para)
+msgid "You may not copy, modify, sublicense, or distribute the <link linkend=\"fdl-document\">Document</link> except as expressly provided for under this License. Any other attempt to copy, modify, sublicense or distribute the Document is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:594(title)
+msgid "10. FUTURE REVISIONS OF THIS LICENSE"
+msgstr "10. FUTURE REVISIONS OF THIS LICENSE"
+
+#: C/gtk-doc-manual.xml:595(para)
+msgid "The <ulink type=\"http\" url=\"http://www.gnu.org/fsf/fsf.html\">Free Software Foundation</ulink> may publish new, revised versions of the GNU Free Documentation License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. See <ulink type=\"http\" url=\"http://www.gnu.org/copyleft\">http://www.gnu.org/copyleft/</ulink>."
+msgstr "The <ulink type=\"http\" url=\"http://www.gnu.org/fsf/fsf.html\">Free Software Foundation</ulink> may publish new, revised versions of the GNU Free Documentation License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. See <ulink type=\"http\" url=\"http://www.gnu.org/copyleft\">http://www.gnu.org/copyleft/</ulink>."
+
+#: C/gtk-doc-manual.xml:606(para)
+msgid "Each version of the License is given a distinguishing version number. If the <link linkend=\"fdl-document\">Document</link> specifies that a particular numbered version of this License <quote>or any later version</quote> applies to it, you have the option of following the terms and conditions either of that specified version or of any later version that has been published (not as a draft) by the Free Software Foundation. If the Document does not specify a version number of this License, you may choose any version ever published (not as a draft) by the Free Software Foundation."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:621(title)
+msgid "Addendum"
+msgstr "Addendum"
+
+#: C/gtk-doc-manual.xml:622(para)
+msgid "To use this License in a document you have written, include a copy of the License in the document and put the following copyright and license notices just after the title page:"
+msgstr ""
+"તમે લખેલ છે તે દસ્તાવેજમાં આ લાઇસન્સને વાપરવા માટે, દસ્તાવેજમાં લાઇસન્સની નકલને સમાવો અને નીચેનાં કોપીરાઇટ અને "
+"લાઇસન્સ સૂચનાઓને શીર્ષક પાનાં પછી મૂકો:"
+
+#: C/gtk-doc-manual.xml:629(para)
+msgid "Copyright YEAR YOUR NAME."
+msgstr "Copyright YEAR YOUR NAME."
+
+#: C/gtk-doc-manual.xml:632(para)
+msgid "Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation; with the <link linkend=\"fdl-invariant\">Invariant Sections</link> being LIST THEIR TITLES, with the <link linkend=\"fdl-cover-texts\">Front-Cover Texts</link> being LIST, and with the <link linkend=\"fdl-cover-texts\">Back-Cover Texts</link> being LIST. A copy of the license is included in the section entitled <quote>GNU Free Documentation License</quote>."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:647(para)
+msgid "If you have no <link linkend=\"fdl-invariant\">Invariant Sections</link>, write <quote>with no Invariant Sections</quote> instead of saying which ones are invariant. If you have no <link linkend=\"fdl-cover-texts\">Front-Cover Texts</link>, write <quote>no Front-Cover Texts</quote> instead of <quote>Front-Cover Texts being LIST</quote>; likewise for <link linkend=\"fdl-cover-texts\">Back-Cover Texts</link>."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:657(para)
+msgid "If your document contains nontrivial examples of program code, we recommend releasing these examples in parallel under your choice of free software license, such as the <ulink type=\"http\" url=\"http://www.gnu.org/copyleft/gpl.html\"> GNU General Public License</ulink>, to permit their use in free software."
+msgstr ""
+
+#. Put one translator per line, in the form of NAME <EMAIL>, YEAR1, YEAR2
+#: C/gtk-doc-manual.xml:0(None)
+msgid "translator-credits"
+msgstr "શ્ર્વેતા કોઠારી <swkothar@redhat.com>"
+
--- /dev/null
+<?xml version="1.0" encoding="utf-8" standalone="no"?>
+<?xml-stylesheet type="text/xml" href="params.xsl"?>
+<!-- vim: set ai tw=80 ts=3 sw=3: -->
+<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "
+ http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
+<!ENTITY FDL SYSTEM "fdl-appendix.xml">
+<!ENTITY FDLlink "<link linkend='fdl'>included</link>">
+]>
+<!-- =============Document Header ============================= -->
+<book id="index" lang="sl">
+ <bookinfo>
+ <title>GTK-Doc Manual</title>
+ <edition>1.18</edition>
+ <abstract role="description"><para>User manual for developers with instructions of GTK-Doc usage.</para></abstract>
+ <authorgroup>
+ <author>
+ <firstname>Chris</firstname>
+ <surname>Lyttle</surname>
+ <affiliation>
+ <address>
+ <email>chris@wilddev.net</email>
+ </address>
+ </affiliation>
+ </author>
+ <author>
+ <firstname>Dan</firstname>
+ <surname>Mueth</surname>
+ <affiliation>
+ <address>
+ <email>d-mueth@uchicago.edu</email>
+ </address>
+ </affiliation>
+ </author>
+ <author>
+ <firstname>Stefan</firstname>
+ <surname>Kost</surname>
+ <affiliation>
+ <address>
+ <email>ensonic@users.sf.net</email>
+ </address>
+ </affiliation>
+ </author>
+ </authorgroup>
+ <publisher role="maintainer">
+ <publishername>GTK-Doc project</publishername>
+ <address><email>gtk-doc-list@gnome.org</email></address>
+ </publisher>
+ <copyright>
+ <year>2000, 2005</year>
+ <holder>Dan Mueth and Chris Lyttle</holder>
+ </copyright>
+ <copyright>
+ <year>2007-2011</year>
+ <holder>Stefan Sauer (Kost)</holder>
+ </copyright>
+
+ <!-- translators: uncomment this:
+ <copyright>
+ <year>2000</year>
+ <holder>ME-THE-TRANSLATOR (Latin translation)</holder>
+ </copyright>
+ -->
+
+ <legalnotice>
+ <para>
+ Permission is granted to copy, distribute and/or modify this
+ document under the terms of the <citetitle>GNU Free Documentation
+ License</citetitle>, Version 1.1 or any later version published
+ by the Free Software Foundation with no Invariant Sections, no
+ Front-Cover Texts, and no Back-Cover Texts. A copy of the license
+ is <link linkend="fdl">included</link>.
+ </para>
+ <para>
+ Many of the names used by companies to distinguish their products and
+ services are claimed as trademarks. Where those names appear in any
+ GNOME documentation, and those trademarks are made aware to the members
+ of the GNOME Documentation Project, the names have been printed in caps
+ or initial caps.
+ </para>
+ </legalnotice>
+
+ <revhistory>
+ <!--revision>
+ <revnumber>1.18.1</revnumber>
+ <date>15 Sep 2011</date>
+ <authorinitials>sk</authorinitials>
+ <revremark>development version, markdown support</revremark>
+ </revision-->
+ <revision>
+ <revnumber>1.18</revnumber>
+ <date>14 sep 2011</date>
+ <authorinitials>sk</authorinitials>
+ <revremark>bug fixes, speedups, markdown support</revremark>
+ </revision>
+ <revision>
+ <revnumber>1.17</revnumber>
+ <date>26 Feb 2011</date>
+ <authorinitials>sk</authorinitials>
+ <revremark>urgent bug fix update</revremark>
+ </revision>
+ <revision>
+ <revnumber>1.16</revnumber>
+ <date>14 Jan 2011</date>
+ <authorinitials>sk</authorinitials>
+ <revremark>bugfixes, layout improvements</revremark>
+ </revision>
+ <revision>
+ <revnumber>1.15</revnumber>
+ <date>21 May 2010</date>
+ <authorinitials>sk</authorinitials>
+ <revremark>bug and regression fixes</revremark>
+ </revision>
+ <revision>
+ <revnumber>1.14</revnumber>
+ <date>28 March 2010</date>
+ <authorinitials>sk</authorinitials>
+ <revremark>bugfixes and performance improvements</revremark>
+ </revision>
+ <revision>
+ <revnumber>1.13</revnumber>
+ <date>18 December 2009</date>
+ <authorinitials>sk</authorinitials>
+ <revremark>broken tarball update</revremark>
+ </revision>
+ <revision>
+ <revnumber>1.12</revnumber>
+ <date>18 December 2009</date>
+ <authorinitials>sk</authorinitials>
+ <revremark>new tool features and bugfixes</revremark>
+ </revision>
+ <revision>
+ <revnumber>1.11</revnumber>
+ <date>16 Novemebr 2008</date>
+ <authorinitials>mal</authorinitials>
+ <revremark>GNOME doc-utils migration</revremark>
+ </revision>
+ </revhistory>
+
+ </bookinfo>
+
+ <!-- ======== Chapter 1: Introduction ======================== -->
+
+ <chapter id="introduction">
+ <title>Uvod</title>
+
+ <para>
+ This chapter introduces GTK-Doc and gives an overview of what it is and
+ how it is used.
+ </para>
+
+ <sect1 id="whatisgtkdoc">
+ <title>What is GTK-Doc?</title>
+
+ <para>
+ GTK-Doc is used to document C code. It is typically used to document the public
+ API of libraries, such as the GTK+ and GNOME libraries. But it can also be
+ used to document application code.
+ </para>
+ </sect1>
+
+ <sect1 id="howdoesgtkdocwork">
+ <title>How Does GTK-Doc Work?</title>
+
+ <para>
+ GTK-Doc works by using documentation of functions placed inside the source files in
+ specially-formatted comment blocks, or documentation added to the template files
+ which GTK-Doc uses (though note that GTK-Doc will only document functions that
+ are declared in header files; it won't produce output for static functions).
+ </para>
+
+ <para>
+ GTK-Doc consists of a number of perl scripts, each performing a different step
+ in the process.
+ </para>
+
+ <para>
+ There are 5 main steps in the process:
+ </para>
+
+ <orderedlist>
+
+ <listitem>
+ <para>
+ <guilabel>Writing the documentation.</guilabel>
+
+ The author fills in the source files with the documentation for each
+ function, macro, union etc. (In the past information was entered in
+ generated template files, which is not recommended anymore).
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <guilabel>Gathering information about the code.</guilabel>
+
+ <application>gtkdoc-scan</application> scans the header files of the
+ code looking for declarations of functions, macros, enums, structs, and unions.
+ It creates the file <filename><module>-decl-list.txt</filename> containg a list of the
+ declarations, placing them into sections according to which header file they
+ are in. On the first run this file is copied to <filename><module>-sections.txt</filename>.
+ The author can rearrange the sections, and the order of the
+ declarations within them, to produce the final desired order.
+ The second file it generates is <filename><module>-decl.txt</filename>.
+ This file contains the full declarations found by the scanner. If for
+ some reason one would like some symbols to show up in the docs, where
+ the full declaration cannot be found by the scanner or the declaration
+ should appear differently, one can place enties similar to the ones in
+ <filename><module>-decl.txt</filename> into <filename><module>-overrides.txt</filename>.
+
+ <application>gtkdoc-scanobj</application> can also be used to dynamically query a library about
+ any GtkObject subclasses it exports. It saves information about each
+ object's position in the class hierarchy and about any GTK Args and Signals it
+ provides.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <guilabel>Generating the "template" files.</guilabel>
+
+ <application>gtkdoc-mktmpl</application> creates a number of files in
+ the <filename class="directory">tmpl/</filename> subdirectory, using the
+ information gathered in the first step. (Note that this can be run
+ repeatedly. It will try to ensure that no documentation is ever lost.)
+ </para>
+ <note>
+ <para>
+ Since GTK-Doc 1.9 the templates can be avoided. We encourage people to keep
+ documentation in the code. <application>gtkdocize</application> supports now
+ a <option>--flavour no-tmpl</option> option that chooses a makefile that
+ skips tmpl usage totally.
+ If you have never changed file in tmpl by hand, please remove the dir
+ (e.g. from version control system).
+ </para>
+ </note>
+ </listitem>
+
+ <listitem>
+ <para>
+ <guilabel>Generating the SGML/XML and HTML/PDF.</guilabel>
+
+ <application>gtkdoc-mkdb</application> turns the template files into
+ SGML or XML files in the <filename class="directory">sgml/</filename>
+ or <filename class="directory">xml/</filename> subdirectory.
+ If the source code contains documentation on functions, using the
+ special comment blocks, it gets merged in here. If there are no tmpl files used
+ it only reads docs from sources and introspection data. We recommend
+ to use Docbook XML.
+ </para>
+ <para>
+ <application>gtkdoc-mkhtml</application> turns the SGML/XML files into HTML
+ files in the <filename class="directory">html/</filename> subdirectory.
+ Likewise <application>gtkdoc-mkpdf</application> turns the SGML/XML files into a PDF
+ document called <filename><package>.pdf</filename>.
+ </para>
+ <para>
+ Files in <filename class="directory">sgml/</filename> or
+ <filename class="directory">xml/</filename> and <filename class="directory">html/</filename>
+ directories are always overwritten. One should never edit them directly.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <guilabel>Fixing up cross-references between documents.</guilabel>
+
+ After installing the HTML files, <application>gtkdoc-fixxref</application> can be run to fix up any
+ cross-references between separate documents. For example, the GTK+
+ documentation contains many cross-references to types documented in the GLib manual.
+
+ When creating the source tarball for distribution, <application>gtkdoc-rebase</application>
+ turns all external links into web-links. When installing distributed (pregenerated) docs
+ the same application will try to turn links back to local links
+ (where those docs are installed).
+ </para>
+ </listitem>
+ </orderedlist>
+
+ </sect1>
+
+ <sect1 id="gettinggtkdoc">
+ <title>Getting GTK-Doc</title>
+
+ <sect2 id="requirements">
+ <title>Requirements</title>
+ <para>
+ <guilabel>Perl v5</guilabel> - the main scripts are in Perl.
+ </para>
+ <para>
+ <guilabel>DocBook DTD v3.0</guilabel> - This is the DocBook SGML DTD.
+ <ulink url="http://www.ora.com/davenport" type="http">http://www.ora.com/davenport</ulink>
+ </para>
+ <para>
+ <guilabel>Jade v1.1</guilabel> - This is a DSSSL processor for converting SGML to various formats.
+ <ulink url="http://www.jclark.com/jade" type="http">http://www.jclark.com/jade</ulink>
+ </para>
+ <para>
+ <guilabel>Modular DocBook Stylesheets</guilabel>
+ This is the DSSSL code to convert DocBook to HTML (and a few other
+ formats). It's used together with jade.
+ I've customized the DSSSL code slightly, in gtk-doc.dsl, to colour
+ the program code listings/declarations, and to support global
+ cross-reference indices in the generated HTML.
+ <ulink url="http://nwalsh.com/docbook/dsssl" type="http">http://nwalsh.com/docbook/dsssl</ulink>
+ </para>
+ <para>
+ <guilabel>docbook-to-man</guilabel> - if you want to create man pages from the DocBook.
+ I've customized the 'translation spec' slightly, to capitalise section
+ headings and add the 'GTK Library' title at the top of the pages and the
+ revision date at the bottom.
+ There is a link to this on <ulink url="http://www.ora.com/davenport" type="http">http://www.ora.com/davenport</ulink>
+ NOTE: This does not work yet.
+ </para>
+ </sect2>
+
+ <sect2 id="installation">
+ <title>Installation</title>
+ <para>
+ There is no standard place where the DocBook Modular Stylesheets are installed.
+ </para>
+ <para>
+ GTK-Doc's configure script searches these 3 directories automatically:
+ </para>
+ <para>
+ <filename> /usr/lib/sgml/stylesheets/nwalsh-modular </filename> (used by RedHat)
+ </para>
+ <para>
+ <filename> /usr/lib/dsssl/stylesheets/docbook </filename> (used by Debian)
+ </para>
+ <para>
+ <filename> /usr/share/sgml/docbkdsl </filename> (used by SuSE)
+ </para>
+ <para>
+ If you have the stylesheets installed somewhere else, you need to configure
+ GTK-Doc using the option:
+ <command> --with-dsssl-dir=<PATH_TO_TOPLEVEL_STYLESHEETS_DIR> </command>
+ </para>
+ </sect2>
+
+ </sect1>
+
+ <!-- not realy worth a section
+ <sect1 id="whentousegtkdoc">
+ <title>When to Use GTK-Doc</title>
+
+ <para>
+ (What things GTK-Doc should, and shouldn't, be used for.)
+ (- ???)
+ (- non C-based projects)
+ (+ Tutorials)
+ </para>
+
+ </sect1>
+ -->
+
+ <sect1 id="aboutgtkdoc">
+ <title>About GTK-Doc</title>
+
+ <para>
+ (FIXME)
+ </para>
+
+ <para>
+ (History, authors, web pages, license, future plans,
+ comparison with other similar systems.)
+ </para>
+
+ </sect1>
+
+ <sect1 id="aboutthismanual">
+ <title>About this Manual</title>
+
+ <para>
+ (FIXME)
+ </para>
+
+ <para>
+ (who it is meant for, where you can get it, license)
+ </para>
+
+ </sect1>
+
+ </chapter>
+
+ <chapter id="settingup">
+ <title>Setting up your project</title>
+
+ <para>
+ The next sections describe what steps to perform to integrate GTK-Doc into
+ your project. Theses sections assume we work on a project called 'meep'.
+ This project contains a library called 'libmeep' and
+ an end-user app called 'meeper'. We also assume you will be using autoconf
+ and automake. In addition section <link linkend="plain_makefiles">plain
+ makefiles or other build systems</link> will describe the basics needed to
+ work in a different build setup.
+ </para>
+
+ <sect1 id="settingup_docfiles">
+ <title>Setting up a skeleton documentation</title>
+
+ <para>
+ Under your top-level project directory create folders called docs/reference
+ (this way you can also have docs/help for end-user documentation).
+ It is recommended to create another subdirectory with the name of the doc-package.
+ For packages with just one library this step is not necessary.
+ </para>
+
+ <para>
+ This can then look as shown below:
+ <example><title>Example directory structure</title>
+ <programlisting>
+<![CDATA[
+meep/
+ docs/
+ reference/
+ libmeep/
+ meeper/
+ src/
+ libmeep/
+ meeper/
+]]>
+ </programlisting>
+ </example>
+ </para>
+ </sect1>
+
+ <sect1 id="settingup_autoconf">
+ <title>Integration with autoconf</title>
+
+ <para>
+ Very easy! Just add one line to your <filename>configure.ac</filename> script.
+ </para>
+
+ <para>
+ <example><title>Integration with autoconf</title>
+ <programlisting>
+<![CDATA[
+# check for gtk-doc
+GTK_DOC_CHECK([1.14],[--flavour no-tmpl])
+]]>
+ </programlisting>
+ </example>
+ </para>
+
+ <para>
+ This will require all developers to have gtk-doc installed. If it is
+ okay for your project to have optional api-doc build setup, you can
+ solve this as below. Keep it as is, as gtkdocize is looking for
+ <function>GTK_DOC_CHECK</function> at the start of a line.
+ <example><title>Keep gtk-doc optional</title>
+ <programlisting>
+<![CDATA[
+# check for gtk-doc
+m4_ifdef([GTK_DOC_CHECK], [
+GTK_DOC_CHECK([1.14],[--flavour no-tmpl])
+],[
+AM_CONDITIONAL([ENABLE_GTK_DOC], false)
+])
+]]>
+ </programlisting>
+ </example>
+ </para>
+
+ <para>
+ The first argument is used to check for the gtkdocversion at configure time.
+ The 2nd, optional argument is used by <application>gtkdocize</application>.
+ The <symbol>GTK_DOC_CHECK</symbol> macro also adds several configure switches:
+ </para>
+ <orderedlist>
+ <listitem><para>--with-html-dir=PATH : path to installed docs</para></listitem>
+ <listitem><para>--enable-gtk-doc : use gtk-doc to build documentation [default=no]</para></listitem>
+ <listitem><para>--enable-gtk-doc-html : build documentation in html format [default=yes]</para></listitem>
+ <listitem><para>--enable-gtk-doc-pdf : build documentation in pdf format [default=no]</para></listitem>
+ </orderedlist>
+
+ <important>
+ <para>
+ GTK-Doc is disabled by default! Remember to pass the option
+ <option>'--enable-gtk-doc'</option> to the next
+ <filename>configure</filename> run. Otherwise pregenerated documentation is installed
+ (which makes sense for users but not for developers).
+ </para>
+ </important>
+
+ <para>
+ Furthermore it is recommended that you have the following line inside
+ you <filename>configure.ac</filename> script.
+ This allows <application>gtkdocize</application> to automatically copy the
+ macro definition for <function>GTK_DOC_CHECK</function> to your project.
+ </para>
+
+ <para>
+ <example><title>Preparation for gtkdocize</title>
+ <programlisting>
+<![CDATA[
+AC_CONFIG_MACRO_DIR(m4)
+]]>
+ </programlisting>
+ </example>
+ </para>
+ </sect1>
+
+ <sect1 id="settingup_automake">
+ <title>Integration with automake</title>
+
+ <para>
+ First copy the <filename>Makefile.am</filename> from the examples subdirectory of the gtkdoc-sources
+ to your project's API documentation directory (
+ <filename class="directory">./docs/reference/<package></filename>).
+ If you have multiple doc-packages repeat this for each one.
+ </para>
+
+ <para>
+ The next step is to edit the settings inside the <filename>Makefile.am</filename>.
+ All the settings have a comment above that describes their purpose.
+ Most settings are extra flags passed to the respective tools. Every tool
+ has a variable of the form <option><TOOLNAME>_OPTIONS</option>.
+ All the tools support <option>--help</option> to list the supported
+ parameters.
+ </para>
+
+ <!-- FIXME: explain options ? -->
+
+ <para>
+ You may also want to enable GTK-Doc for the distcheck make target. Just
+ add the one line shown in the next example to your top-level
+ <filename>Makefile.am</filename>:
+ </para>
+
+ <para>
+ <example><title>Enable GTK-Doc during make distcheck</title>
+ <programlisting>
+<![CDATA[
+DISTCHECK_CONFIGURE_FLAGS=--enable-gtk-doc
+]]>
+ </programlisting>
+ </example>
+ </para>
+
+ </sect1>
+
+ <sect1 id="settingup_autogen">
+ <title>Integration with autogen</title>
+
+ <para>
+ Most projects will have an <filename>autogen.sh</filename> script to
+ setup the build infrastructure after a checkout from version control
+ system (such as cvs/svn/git). GTK-Doc comes with a tool called
+ <application>gtkdocize</application> which can be used in such a script.
+ It should be run before autoheader, automake or autoconf.
+ </para>
+
+ <para>
+ <example><title>Running gtkdocize from autogen.sh</title>
+ <programlisting>
+<![CDATA[
+gtkdocize || exit 1
+]]>
+ </programlisting>
+ </example>
+ </para>
+
+ <para>
+ When running <application>gtkdocize</application> it copies
+ <filename>gtk-doc.make</filename> to your project root (or any directory
+ specified by the <option>--docdir</option> option).
+ It also checks you configure script for the <function>GTK_DOC_CHECK</function>
+ invocation. This macro can be used to pass extra parameters to
+ <application>gtkdocize</application>.
+ </para>
+
+ <para>
+ Historically GTK-Doc was generating template files where developers entered the docs.
+ This turned out to be not so good (e.g. the need for having generated
+ files under version control).
+ Since GTK-Doc 1.9 the tools can get all the information from source comments
+ and thus the templates can be avoided. We encourage people to keep
+ documentation in the code. <application>gtkdocize</application> supports now
+ a <option>--flavour no-tmpl</option> option that chooses a makefile that skips
+ tmpl usage totally. Besides adding the option directly to the command
+ invocation, they can be added also to an environment variable called <symbol>GTKDOCIZE_FLAGS</symbol>
+ or set as a 2nd parameter in <symbol>GTK_DOC_CHECK</symbol> macro in the configure script.
+ If you have never changed file in tmpl by hand and migrating from older gtkdoc versions,
+ please remove the dir (e.g. from version control system).
+ </para>
+ </sect1>
+
+ <sect1 id="settingup_firstrun">
+ <title>Running the doc build</title>
+
+ <para>
+ After the previous steps it's time to run the build. First we need to
+ rerun <filename>autogen.sh</filename>. If this script runs configure for
+ you, then give it the <option>--enable-gtk-doc</option> option.
+ Otherwise manually run <filename>configure</filename> with this option
+ afterwards.
+ </para>
+ <para>
+ The first make run generates several additional files in the doc-dirs.
+ The important ones are:
+ <filename><package>.types</filename>,
+ <filename><package>-docs.xml</filename> (in the past .sgml),
+ <filename><package>-sections.txt</filename>.
+ </para>
+ <para>
+ <example><title>Running the doc build</title>
+ <programlisting>
+<![CDATA[
+./autogen.sh --enable-gtk-doc
+make
+]]>
+ </programlisting>
+ </example>
+ </para>
+ <para>
+ Now you can point your browser to <filename>docs/reference/<package>/index.html</filename>.
+ Yes, it's a bit disappointing still. But hang-on, during the next chapter we
+ tell you how to fill the pages with life.
+ </para>
+ </sect1>
+
+ <sect1 id="settingup_vcs">
+ <title>Integration with version control systems</title>
+
+ <para>
+ As a rule of the thumb, it's those files you edit, that should go under
+ version control. For typical projects it's these files:
+ <filename><package>.types</filename>,
+ <filename><package>-docs..xml</filename> (in the past .sgml),
+ <filename><package>-sections.txt</filename>,
+ <filename>Makefile.am</filename>
+ </para>
+ </sect1>
+
+ <sect1 id="plain_makefiles">
+ <title>Integration with plain makefiles or other build systems</title>
+
+ <para>
+ In the case one does not want to use automake and therfore
+ <filename>gtk-doc.mak</filename> one will need to call the gtkdoc tools
+ in the right order in own makefiles (or other build tools).
+ </para>
+
+ <para>
+ <example><title>Documentation build steps</title>
+ <programlisting>
+<![CDATA[
+DOC_MODULE=meep
+// sources have changed
+gtkdoc-scan --module=$(DOC_MODULE) --source-dir=...
+gtkdoc-scangobj --module=$(DOC_MODULE)
+gtkdoc-mkdb --module=$(DOC_MODULE) --output-format=xml
+// xml files have changed
+mkdir html
+cd html && gtkdoc-mkhtml $(DOC_MODULE) ../meep-docs.xml
+gtkdoc-fixxref --module=$(DOC_MODULE) --module-dir=html
+]]>
+ </programlisting>
+ </example>
+ </para>
+
+ <para>
+ One will need to look at the <filename>Makefile.am</filename> and
+ <filename>gtk-doc.mak</filename> to pick the extra options needed.
+ </para>
+ </sect1>
+
+ </chapter>
+
+ <chapter id="documenting">
+ <title>Documenting the code</title>
+
+ <para>
+ GTK-Doc uses source code comment with a special syntax for code documentation.
+ Further it retrieves information about your project structure from other
+ sources. During the next section you will find all information about the
+ syntax of the comments.
+ </para>
+
+ <note>
+ <title>Documentation placement</title>
+ <para>
+ In the past most documentation had to be filled into files residing
+ inside the <filename>tmpl</filename> directory. This has the
+ disadvantages that the information is often not updated and also that
+ the file tend to cause conflicts with version control systems.
+ </para>
+ <para>
+ The avoid the aforementioned problems we suggest putting the
+ documentation inside the sources. This manual will only describe this
+ way of documenting code.
+ </para>
+ </note>
+
+ <para>
+ The scanner can handle the majority of c headers fine. In the case of
+ receiving warnings from the scanner that look like a special case, one can
+ hint GTK-Doc to skip over them.
+ <example><title>GTK-Doc comment block</title>
+ <programlisting>
+<![CDATA[
+#ifndef __GTK_DOC_IGNORE__
+/* unparseable code here */
+#endif
+]]>
+ </programlisting>
+ </example>
+ </para>
+
+ <!-- -->
+
+ <sect1 id="documenting_syntax">
+ <title>Documentation comments</title>
+
+ <para>
+ A multiline comment that starts with an additional '*' marks a
+ documentation block that will be processed by the GTK-Doc tools.
+ <example><title>GTK-Doc comment block</title>
+ <programlisting>
+<![CDATA[
+/**
+ * identifier:
+ * documentation ...
+ */
+]]>
+ </programlisting>
+ </example>
+ </para>
+
+ <para>
+ The 'identifier' is one line with the name of the item the comment is
+ related to. The syntax differs a little depending on the item.
+ (TODO add table showing identifiers)
+ </para>
+
+ <para>
+ The 'documentation' block is also different for each symbol type. Symbol
+ types that get parameters such as functions or macros have the parameter
+ description first followed by a blank line (just a '*').
+ Afterwards follows the detailed description. All lines (outside program-
+ listings and CDATA sections) just containing a ' *' (blank-asterisk) are
+ converted to paragraph breaks.
+ If you don't want a paragraph break, change that into ' * '
+ (blank-asterisk-blank-blank).
+ </para>
+
+ <tip>
+ <para>
+ When documenting code, describe two apsects:
+ <itemizedlist>
+ <listitem>
+ <para>
+ What it is: The name for a class or function can sometimes
+ be misleading for people coming from a different background.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ What it does: Tell about common uses. Put it in releation
+ with the other API.
+ </para>
+ </listitem>
+ </itemizedlist>
+ </para>
+ </tip>
+
+ <para>
+ One advantage of hyper-text over plain-text is the ability to have links
+ in the document. Writing the correct markup for a link can be tedious
+ though. GTK-Doc comes to help by providing several useful abbreviations.
+ <itemizedlist>
+ <listitem>
+ <para>
+ Use function() to refer to functions or macros which take arguments.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Use @param to refer to parameters. Also use this when referring to
+ parameters of other functions, related to the one being described.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Use %constant to refer to a constant, e.g. %G_TRAVERSE_LEAFS.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Use #symbol to refer to other types of symbol, e.g. structs and
+ enums and macros which don't take arguments.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Use #Object::signal to refer to a GObject signal
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Use #Object:property to refer to a GObject property
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Use #Struct.field to refer to a field inside a structure.
+ </para>
+ </listitem>
+ </itemizedlist>
+ </para>
+
+ <tip>
+ <para>
+ If you need to use the special characters '<', '>', '()', '@',
+ '%', or '#' in your documentation without GTK-Doc changing them you
+ can use the XML entities "&lt;", "&gt;", "&lpar;",
+ "&rpar;", "&commat;", "&percnt;" and "&num;"
+ respectively or escape them with a backslash '\'.
+ </para>
+ </tip>
+
+ <para>
+ DocBook can do more than just links. One can also have lists, tables and
+ examples. To enable the usage of docbook SGML/XML tags inside
+ doc-comments you need to have <option>--xml-mode</option> or
+ <option>--sgml-mode</option> in the variable
+ <symbol>MKDB_OPTIONS</symbol> inside <filename>Makefile.am</filename>.
+ </para>
+
+ <para>
+ Since GTK-Doc-1.18 the tool supports a subset or the
+ <ulink url="http://daringfireball.net/projects/markdown/">markdown language</ulink>.
+ One can use it for sub-headings and simple itemized lists. On older
+ GTK-Doc versions the content will be rendered as it (the list items will
+ appear in one line separated by dashes).
+ <example><title>GTK-Doc comment block using markdown</title>
+ <programlisting>
+<![CDATA[
+/**
+ * identifier:
+ *
+ * documentation ...
+ *
+ * # Sub heading #
+ *
+ * more documentation:
+ * - list item 1
+ * - list item 2
+ *
+ * Even more docs.
+ */
+]]>
+ </programlisting>
+ </example>
+ </para>
+
+ <tip>
+ <para>
+ As already mentioned earlier GTK-Doc is for documenting public API. Thus
+ one cannot write documentation for static symbols. Nevertheless it is good
+ to comment those symbols too. This helps other to understand you code.
+ Therefore we recommend to comment these using normal comments (without the
+ 2nd '*' in the first line).
+ If later the function needs to be made public, all one needs to do is to
+ add another '*' in the comment block and insert the symbol name at the
+ right place inside the sections file.
+ </para>
+ </tip>
+ </sect1>
+
+ <sect1 id="documenting_sections">
+ <title>Documenting sections</title>
+
+ <para>
+ Each section of the documentation contains information about one class
+ or module. To introduce the component one can write a section block.
+ The short description is also used inside the table of contents.
+ All the @fields are optional.
+ </para>
+
+ <para>
+ <example><title>Section comment block</title>
+ <programlisting>
+<![CDATA[
+/**
+ * SECTION:meepapp
+ * @short_description: the application class
+ * @title: Meep application
+ * @section_id:
+ * @see_also: #MeepSettings
+ * @stability: Stable
+ * @include: meep/app.h
+ * @image: application.png
+ *
+ * The application class handles ...
+ */
+]]>
+ </programlisting>
+ </example>
+ </para>
+
+ <variablelist>
+ <varlistentry>
+ <term>SECTION:<name></term>
+ <listitem>
+ <para>
+ The name links the section documentation to the respective part in
+ the <filename><package>-sections.txt</filename> file. The
+ name give here should match the <FILE> tag in the
+ <filename><package>-sections.txt</filename> file.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>@short_description</term>
+ <listitem>
+ <para>
+ A one line description of the section, that later will appear after
+ the links in the TOC and at the top of the section page.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>@title</term>
+ <listitem>
+ <para>
+ The section title defaults to <name> from the SECTION
+ declaration. It can be overridden with the @title field.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>@section_id</term>
+ <listitem>
+ <para>
+ Overrides the use of title as a section identifier. For GObjects
+ the <title> is used as a section_id and for other sections
+ it is <MODULE>-<title>.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>@see_also</term>
+ <listitem>
+ <para>
+ A list of symbols that are related to this section.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>@stability</term>
+ <listitem>
+ <para>
+ A informal description of the stability level this API has.
+ We recommend the use of one of these terms:
+ <itemizedlist>
+ <listitem>
+ <para>
+ Stable
+ - The intention of a Stable interface is to enable arbitrary
+ third parties to develop applications to these interfaces,
+ release them, and have confidence that they will run on all
+ minor releases of the product (after the one in which the
+ interface was introduced, and within the same major release).
+ Even at a major release, incompatible changes are expected
+ to be rare, and to have strong justifications.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Unstable
+ - Unstable interfaces are experimental or transitional.
+ They are typically used to give outside developers early
+ access to new or rapidly changing technology, or to provide
+ an interim solution to a problem where a more general
+ solution is anticipated.
+ No claims are made about either source or binary
+ compatibility from one minor release to the next.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Private
+ - An interface that can be used within the GNOME stack
+ itself, but that is not documented for end-users. Such
+ functions should only be used in specified and documented
+ ways.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Internal
+ - An interface that is internal to a module and does not
+ require end-user documentation. Functions that are
+ undocumented are assumed to be Internal.
+ </para>
+ </listitem>
+ </itemizedlist>
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>@include</term>
+ <listitem>
+ <para>
+ The <literal>#include</literal> files to show in the section
+ synopsis (a comma separated list), overriding the global
+ value from the <link linkend="metafiles_sections">section
+ file</link> or command line. This item is optional.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>@image</term>
+ <listitem>
+ <para>
+ The image to display at the top of the reference page for this
+ section. This will often be some sort of a diagram to illustrate
+ the visual appearance of a class or a diagram of its relationship
+ to other classes. This item is optional.
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+
+ <tip>
+ <para>
+ To avoid unnecessary recompilation after doc-changes put the section
+ docs into the c-source where possible.
+ </para>
+ </tip>
+
+ </sect1>
+
+ <sect1 id="documenting_symbols">
+ <title>Documenting symbols</title>
+
+ <para>
+ Each symbol (function, macro, struct, enum, signal and property) is
+ documented in a separate block. The block is best placed close to the
+ definition of the symbols so that it is easy to keep them in sync.
+ Thus functions are usually documented in the c-source and macros,
+ structs and enums in the header file.
+ </para>
+
+ <sect2><title>General tags</title>
+
+ <para>
+ You can add versioning information to all documentation elements to tell
+ when an api was introduced, or when it was deprecated.
+ </para>
+
+ <variablelist><title>Versioning Tags</title>
+ <varlistentry><term>Since:</term>
+ <listitem>
+ <para>
+ Description since which version of the code the API is available.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry><term>Deprecated:</term>
+ <listitem>
+ <para>
+ Paragraph denoting that this function should no be used anymore.
+ The description should point the reader to the new API.
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+
+ <para>
+ (FIXME : Stability information)
+ </para>
+
+ <example><title>General tags</title>
+ <programlisting>
+<![CDATA[
+/**
+ * foo_get_bar:
+ * @foo: some foo
+ *
+ * Retrieves @foo's bar.
+ *
+ * Returns: @foo's bar
+ *
+ * Since: 2.6
+ * Deprecated: 2.12: Use foo_baz_get_bar() instead.
+ **/
+Bar *
+foo_get_bar(Foo *foo)
+{
+...
+]]>
+ </programlisting>
+ </example>
+ </sect2>
+
+ <sect2><title>Function comment block</title>
+
+ <para>
+ Please remember to:
+ <itemizedlist>
+ <listitem>
+ <para>
+ Document whether returned objects, lists, strings, etc, should be
+ freed/unrefed/released.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Document whether parameters can be NULL, and what happens if they are.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Mention interesting pre-conditions and post-conditions where appropriate.
+ </para>
+ </listitem>
+ </itemizedlist>
+ </para>
+
+ <para>
+ Gtk-doc assumes all symbols (macros, functions) starting with '_' are
+ private. They are treated like static functions.
+ </para>
+
+ <para>
+
+ Also, take a look at gobject introspection annotation tags:
+ http://live.gnome.org/GObjectIntrospection/Annotations
+ </para>
+
+ <example><title>Function comment block</title>
+ <programlisting>
+<![CDATA[
+/**
+ * function_name:
+ * @par1: description of parameter 1. These can extend over more than
+ * one line.
+ * @par2: description of parameter 2
+ * @...: a %NULL-terminated list of bars
+ *
+ * The function description goes here. You can use @par1 to refer to parameters
+ * so that they are highlighted in the output. You can also use %constant
+ * for constants, function_name2() for functions and #GtkWidget for links to
+ * other declarations (which may be documented elsewhere).
+ *
+ * Returns: an integer.
+ *
+ * Since: 2.2
+ * Deprecated: 2.18: Use other_function() instead.
+ */
+]]>
+ </programlisting>
+ </example>
+
+ <variablelist><title>Function tags</title>
+ <varlistentry><term>Returns:</term>
+ <listitem>
+ <para>
+ Paragraph describing the returned result.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry><term>@...:</term>
+ <listitem>
+ <para>
+ In case the function has variadic arguments, you should use this
+ tag (@Varargs: does also work for historic reasons).
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+
+ </sect2>
+
+ <sect2><title>Property comment block</title>
+
+ <example><title>Property comment block</title>
+ <programlisting>
+<![CDATA[
+/**
+ * SomeWidget:some-property:
+ *
+ * Here you can document a property.
+ */
+g_object_class_install_property (object_class, PROP_SOME_PROPERTY, ...);
+]]>
+ </programlisting>
+ </example>
+
+ </sect2>
+
+ <sect2><title>Signal comment block</title>
+
+ <para>
+ Please remember to:
+ <itemizedlist>
+ <listitem>
+ <para>
+ Document when the signal is emitted and whether it is emitted before
+ or after other signals.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Document what an application might do in the signal handler.
+ </para>
+ </listitem>
+ </itemizedlist>
+ </para>
+
+ <example><title>Signal comment block</title>
+ <programlisting>
+<![CDATA[
+/**
+ * FooWidget::foobarized:
+ * @widget: the widget that received the signal
+ * @foo: some foo
+ * @bar: some bar
+ *
+ * The ::foobarized signal is emitted each time someone tries to foobarize @widget.
+ */
+foo_signals[FOOBARIZE] =
+ g_signal_new ("foobarize",
+ ...
+]]>
+ </programlisting>
+ </example>
+
+ </sect2>
+
+ <sect2><title>Struct comment block</title>
+ <example><title>Struct comment block</title>
+ <programlisting>
+<![CDATA[
+/**
+ * FooWidget:
+ * @bar: some #gboolean
+ *
+ * This is the best widget, ever.
+ */
+typedef struct _FooWidget {
+ /*< private >*/
+ GtkWidget parent;
+
+ /*< public >*/
+ gboolean bar;
+} FooWidget;
+]]>
+ </programlisting>
+ </example>
+
+ <para>
+ Use <code>/*< private >*/</code> before the private struct fields
+ you want to hide. Use <code>/*< public >*/</code> for the reverse
+ behaviour.
+ </para>
+
+ <para>
+ Struct comment blocks can also be used for GObjects and GObjectClasses.
+ It is usualy a good idea to add a comment blco for a class, if it has
+ vmethods (as this is how they can be documented). For the GObject
+ itself one can use the related section docs, having a separate block
+ for the instance struct would be useful if the instance has public
+ fields. One disadvantage here is that this creates two index entries
+ of the same name (the structure and the section).
+ </para>
+
+ </sect2>
+
+ <sect2><title>Enum comment block</title>
+ <example><title>Enum comment block</title>
+ <programlisting>
+<![CDATA[
+/**
+ * Something:
+ * @SOMETHING_FOO: something foo
+ * @SOMETHING_BAR: something bar
+ *
+ * Enum values used for the thing, to specify the thing.
+ *
+ **/
+typedef enum {
+ SOMETHING_FOO,
+ SOMETHING_BAR,
+ /*< private >*/
+ SOMETHING_COUNT
+} Something;
+]]>
+ </programlisting>
+ </example>
+
+ <para>
+ Use <code>/*< private >*/</code> before the private enum values
+ you want to hide. Use <code>/*< public >*/</code> for the reverse
+ behaviour.
+ </para>
+
+ </sect2>
+ </sect1>
+
+ <sect1 id="documenting_docbook">
+ <title>Useful DocBook tags</title>
+
+ <para>
+ Here are some DocBook tags which are most useful when documenting the
+ code.
+ </para>
+
+ <para>
+ To link to another section in the GTK docs:
+
+ <informalexample>
+ <programlisting>
+<![CDATA[
+<link linkend="glib-Hash-Tables">Hash Tables</link>
+]]>
+ </programlisting>
+ </informalexample>
+ The linkend is the SGML/XML id on the top item of the page you want to link to.
+ For most pages this is currently the part ("gtk", "gdk", "glib") and then
+ the page title ("Hash Tables"). For widgets it is just the class name.
+ Spaces and underscores are converted to '-' to conform to SGML/XML.
+ </para>
+
+ <para>
+ To refer to an external function, e.g. a standard C function:
+ <informalexample>
+ <programlisting>
+<![CDATA[
+<function>...</function>
+]]>
+ </programlisting>
+ </informalexample>
+ </para>
+
+ <para>
+ To include example code:
+ <informalexample>
+ <programlisting>
+<![CDATA[
+<example>
+ <title>Using a GHashTable.</title>
+ <programlisting>
+ ...
+ </programlisting>
+</example>
+]]>
+ </programlisting>
+ </informalexample>
+ or possibly this, for very short code fragments which don't need a title:
+ <informalexample>
+ <programlisting>
+<![CDATA[
+<informalexample>
+ <programlisting>
+ ...
+ </programlisting>
+</informalexample>
+]]>
+ </programlisting>
+ </informalexample>
+ For the latter GTK-Doc also supports an abbreviation:
+<![CDATA[
+|[
+ ...
+]|
+]]>
+ </para>
+
+ <para>
+ To include bulleted lists:
+ <informalexample>
+ <programlisting>
+<![CDATA[
+<itemizedlist>
+ <listitem>
+ <para>
+ ...
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ ...
+ </para>
+ </listitem>
+</itemizedlist>
+]]>
+ </programlisting>
+ </informalexample>
+ </para>
+
+ <para>
+ To include a note which stands out from the text:
+ <informalexample>
+ <programlisting>
+<![CDATA[
+<note>
+ <para>
+ Make sure you free the data after use.
+ </para>
+</note>
+]]>
+ </programlisting>
+ </informalexample>
+ </para>
+
+ <para>
+ To refer to a type:
+ <informalexample>
+ <programlisting>
+<![CDATA[
+<type>unsigned char</type>
+]]>
+ </programlisting>
+ </informalexample>
+ </para>
+
+ <para>
+ To refer to an external structure (not one described in the GTK docs):
+ <informalexample>
+ <programlisting>
+<![CDATA[
+<structname>XFontStruct</structname>
+]]>
+ </programlisting>
+ </informalexample>
+ </para>
+
+ <para>
+ To refer to a field of a structure:
+ <informalexample>
+ <programlisting>
+<![CDATA[
+<structfield>len</structfield>
+]]>
+ </programlisting>
+ </informalexample>
+ </para>
+
+ <para>
+ To refer to a class name, we could possibly use:
+ <informalexample>
+ <programlisting>
+<![CDATA[
+<classname>GtkWidget</classname>
+]]>
+ </programlisting>
+ </informalexample>
+ but you'll probably be using #GtkWidget instead (to automatically create
+ a link to the GtkWidget page - see <link linkend="documenting_syntax">the abbreviations</link>).
+ </para>
+
+ <para>
+ To emphasize text:
+ <informalexample>
+ <programlisting>
+<![CDATA[
+<emphasis>This is important</emphasis>
+]]>
+ </programlisting>
+ </informalexample>
+ </para>
+
+ <para>
+ For filenames use:
+ <informalexample>
+ <programlisting>
+<![CDATA[
+<filename>/home/user/documents</filename>
+]]>
+ </programlisting>
+ </informalexample>
+ </para>
+
+ <para>
+ To refer to keys use:
+ <informalexample>
+ <programlisting>
+<![CDATA[
+<keycombo><keycap>Control</keycap><keycap>L</keycap></keycombo>
+]]>
+ </programlisting>
+ </informalexample>
+ </para>
+
+ </sect1>
+ </chapter>
+
+ <chapter id="metafiles">
+ <title>Filling the extra files</title>
+
+ <para>
+ There are a couple of extra files, that need to be maintained along with
+ the inline source code comments:
+ <filename><package>.types</filename>,
+ <filename><package>-docs.xml</filename> (in the past .sgml),
+ <filename><package>-sections.txt</filename>.
+ </para>
+
+ <sect1 id="metafiles_types">
+ <title>Editing the types file</title>
+
+ <para>
+ If your library or application includes GtkObjects/GObjects, you want
+ their signals, arguments/parameters and position in the hierarchy to be
+ shown in the documentation. All you need to do, is to list the
+ <function>xxx_get_type</function> functions together with their include
+ inside the <filename><package>.types</filename> file.
+ </para>
+
+ <para>
+ <example><title>Example types file snippet</title>
+ <programlisting>
+<![CDATA[
+#include <gtk/gtk.h>
+
+gtk_accel_label_get_type
+gtk_adjustment_get_type
+gtk_alignment_get_type
+gtk_arrow_get_type
+]]>
+ </programlisting>
+ </example>
+ </para>
+
+ <para>
+ Since GTK-Doc 1.8 <application>gtkdoc-scan</application> can generate this list for you.
+ Just add "--rebuild-types" to SCAN_OPTIONS in <filename>Makefile.am</filename>. If you
+ use this approach you should not dist the types file nor have it under version control.
+ </para>
+
+ </sect1>
+
+ <sect1 id="metafiles_master">
+ <title>Editing the master document</title>
+
+ <para>
+ GTK-Doc produces documentation in DocBook SGML/XML. When processing the
+ inline source comments, the GTK-Doc tools generate one documentation
+ page per class or module as a separate file. The master document
+ includes them and place them in an order.
+ </para>
+
+ <para>
+ While GTK-Doc creates a template master document for you, later run will
+ not touch it again. This means that one can freely structure the
+ documentation. That includes grouping pages and adding extra pages.
+ GTK-Doc has now a test suite, where also the master-document is recreated from scratch.
+ Its a good idea to look at this from time to time to see if there are some new goodies
+ introduced there.
+ </para>
+
+ <tip>
+ <para>
+ Do not create tutorials as extra documents. Just write extra chapters.
+ The benefit of directly embedding the tutorial for your library into
+ the API documentation is that it is easy to link for the tutorial to
+ symbol documentation. Apart chances are higher that the tutorial gets
+ updates along with the library.
+ </para>
+ </tip>
+
+ <para>
+ So what are the things to change inside the master document? For a start
+ is only a little. There are some placeholders (text in square brackets)
+ there which you should take care of.
+ </para>
+
+ <para>
+ <example><title>Master document header</title>
+ <programlisting>
+<![CDATA[
+<bookinfo>
+ <title>MODULENAME Reference Manual</title>
+ <releaseinfo>
+ for MODULENAME [VERSION]
+ The latest version of this documentation can be found on-line at
+ <ulink role="online-location" url="http://[SERVER]/MODULENAME/index.html">http://[SERVER]/MODULENAME/</ulink>.
+ </releaseinfo>
+</bookinfo>
+
+<chapter>
+ <title>[Insert title here]</title>
+]]>
+ </programlisting>
+ </example>
+ </para>
+
+ </sect1>
+
+ <sect1 id="metafiles_sections">
+ <title>Editing the section file</title>
+
+ <para>
+ The section file is used to organise the documentation output by
+ GTK-Doc. Here one specifies which symbol belongs to which module or
+ class and control the visibility (public or private).
+ </para>
+
+ <para>
+ The section file is a plain test file with xml like syntax (using tags).
+ Blank lines are ignored and lines starting with a '#' are treated as
+ comment lines.
+ </para>
+
+ <para>
+ The <FILE> ... </FILE> tag is used to specify the file name,
+ without any suffix. For example, using '<FILE>gnome-config</FILE>'
+ will result in the section declarations being output in the template
+ file <filename>tmpl/gnome-config.sgml</filename>, which will be
+ converted into the DocBook SGML/XML file <filename>sgml/gnome-config.sgml</filename>
+ or .DocBook XML file <filename>xml/gnome-config.xml</filename>.
+ (The name of the html file is based on the module name and the section
+ title, or for gobjects it is based on the gobjects class name converted
+ to lower case).
+ </para>
+
+ <para>
+ The <TITLE> ... </TITLE> tag is used to specify the title of
+ the section. It is only useful before the templates (if used) are
+ initially created, since the title set in the template file overrides
+ this. Also if one uses SECTION comment in the sources, this is obsolete.
+ </para>
+
+ <para>
+ You can group items in the section by using the <SUBSECTION> tag.
+ Currently it outputs a blank line between subsections in the synopsis
+ section.
+ You can also use <SUBSECTION Standard> for standard GObject
+ declarations (e.g. the functions like g_object_get_type and macros like
+ G_OBJECT(), G_IS_OBJECT() etc.).
+ Currently these are left out of the documentation.
+ You can also use <SUBSECTION Private> for private declarations
+ which will not be output (It is a handy way to avoid warning messages
+ about unused declarations.).
+ If your library contains private types which you don't want to appear in
+ the object hierarchy and the list of implemented or required interfaces,
+ add them to a Private subsection.
+ Wheter you would place GObject and GObjectClass like structs in public
+ or Standard section depends if they have public entries (variables,
+ vmethods).
+ </para>
+
+ <para>
+ You can also use <INCLUDE> ... </INCLUDE> to specify the
+ #include files which are shown in the synopsis sections.
+ It contains a comma-separate list of #include files, without the angle
+ brackets. If you set it outside of any sections, it acts for all
+ sections until the end of the file. If you set it within a section, it
+ only applies to that section.
+ </para>
+
+ </sect1>
+
+ </chapter>
+
+ <chapter id="reports">
+ <title>Controlling the result</title>
+
+ <para>
+ A GTK-Doc run generates report files inside the documentation directory.
+ The generated files are named:
+ <filename><package>-undocumented.txt</filename>,
+ <filename><package>-undeclared.txt</filename> and
+ <filename><package>-unused.txt</filename>.
+ All those are plain text files that can be viewed and postprocessed easily.
+ </para>
+
+ <para>
+ The <filename><package>-undocumented.txt</filename> file starts with
+ the documentation coverage summary. Below are two sections divided by
+ blank lines. The first section lists undocumented or incomplete symbols.
+ The second section does the same for section docs. Incomplete entries are
+ those, which have documentation, but where e.g. a new parameter has been
+ added.
+ </para>
+
+ <para>
+ The <filename><package>-undeclared.txt</filename> file lists symbols
+ given in the <filename><package>-sections.txt</filename> but not
+ found in the sources. Check if they have been removed or if they are
+ misspelled.
+ </para>
+
+ <para>
+ The <filename><package>-unused.txt</filename> file lists symbol
+ names, where the GTK-Doc scanner has found documentation, but does not
+ know where to put it. This means that the symbol has not yet been added to
+ the <filename><package>-sections.txt</filename> file.
+ </para>
+
+ <tip>
+ <para>
+ Enable or add the <option>TESTS=$(GTKDOC_CHECK)</option> line in Makefile.am.
+ If at least GTK-Doc 1.9 is installed, this will run sanity checks during
+ <command>make check</command> run.
+ </para>
+ </tip>
+
+ <para>
+ One can also look at the files produced by the source code scanner:
+ <filename><package>-decl-list.txt</filename> and
+ <filename><package>-decl.txt</filename>. The first one can be
+ compared with the section file if that is manualy maintained. The second
+ lists all declarations fromt he headers If a symbol is missing one could
+ check if this file contains it.
+ </para>
+
+ <para>
+ If the project is GObject based, one can also look into the files produced
+ by the object scanner:
+ <filename><package>.args.txt</filename>,
+ <filename><package>.hierarchy.txt</filename>,
+ <filename><package>.interfaces.txt</filename>,
+ <filename><package>.prerequisites.txt</filename> and
+ <filename><package>.signals.txt</filename>. If there are missing
+ symbols in any of those, one can ask gtkdoc to keep the intermedia scanner
+ file for further analysis, but running it as
+ <command>GTK_DOC_KEEP_INTERMEDIATE=1 make</command>.
+ </para>
+ </chapter>
+
+ <chapter id="documenting-others">
+ <title>Documenting other interfaces</title>
+
+ <para>
+ So far we have been using GTK-Doc to document the API of code. The next
+ sections contain suggestions how the tools can be used to document other
+ interfaces too.
+ </para>
+
+ <sect1 id="commandline-interfaces">
+ <title>Commandline options and man pages</title>
+
+ <para>
+ As one can generate man pages for a docbook refentry as well, it sounds
+ like a good idea to use it for that purpose. This way the interface is
+ part of the reference and one gets the man-page for free.
+ </para>
+
+ <sect2 id="commandline-interfaces-file">
+ <title>Document the tool</title>
+
+ <para>
+ Create one refentry file per tool. Following
+ <link linkend="settingup_docfiles">our example</link> we would call it
+ <filename>meep/docs/reference/meeper/meep.xml</filename>. For the xml
+ tags that should be used and can look at generated file in the xml
+ subdirectory as well as examples e.g. in glib.
+ </para>
+ </sect2>
+
+ <sect2 id="commandline-interfaces-configure">
+ <title>Adding the extra configure check</title>
+
+ <para>
+ <example><title>Extra configure checks</title>
+ <programlisting>
+<![CDATA[
+AC_ARG_ENABLE(man,
+ [AC_HELP_STRING([--enable-man],
+ [regenerate man pages from Docbook [default=no]])],enable_man=yes,
+ enable_man=no)
+
+AC_PATH_PROG([XSLTPROC], [xsltproc])
+AM_CONDITIONAL(ENABLE_MAN, test x$enable_man != xno)
+]]>
+ </programlisting>
+ </example>
+ </para>
+ </sect2>
+
+ <sect2 id="commandline-interfaces-make">
+ <title>Adding the extra makefile rules</title>
+
+ <para>
+ <example><title>Extra configure checks</title>
+ <programlisting>
+<![CDATA[
+man_MANS = \
+ meeper.1
+
+if ENABLE_GTK_DOC
+if ENABLE_MAN
+
+%.1 : %.xml
+ @XSLTPROC@ -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
+
+endif
+endif
+
+BUILT_EXTRA_DIST = $(man_MANS)
+EXTRA_DIST += meep.xml
+]]>
+ </programlisting>
+ </example>
+ </para>
+ </sect2>
+ </sect1>
+
+ <sect1 id="dbus-interfaces">
+ <title>DBus interfaces</title>
+
+ <para>
+ (FIXME: http://hal.freedesktop.org/docs/DeviceKit/DeviceKit.html,
+http://cgit.freedesktop.org/DeviceKit/DeviceKit/tree/doc/dbus)
+ </para>
+ </sect1>
+
+ </chapter>
+
+ <chapter id="faq">
+ <title>Frequently asked questions</title>
+
+ <segmentedlist>
+ <?dbhtml list-presentation="list"?>
+ <segtitle>Vprašanje</segtitle>
+ <segtitle>Odgovor</segtitle>
+ <seglistitem>
+ <seg>No class hierarchy.</seg>
+ <seg>
+ The objects <function>xxx_get_type()</function> function has not been
+ entered into the <filename><package>.types</filename> file.
+ </seg>
+ </seglistitem>
+ <seglistitem>
+ <seg>Still no class hierarchy.</seg>
+ <seg>
+ Missing or wrong naming in <filename><package>-sections.txt</filename>
+ file (see <ulink url="http://mail.gnome.org/archives/gtk-doc-list/2003-October/msg00006.html">pojasnilo</ulink>).
+ </seg>
+ </seglistitem>
+ <seglistitem>
+ <seg>Damn, I have still no class hierarchy.</seg>
+ <seg>
+ Is the object name (name of the instance struct, e.g. <type>Gradnik Gtk</type>)
+ part of the normal section (don't put this into Standard or Private
+ subsections).
+ </seg>
+ </seglistitem>
+ <seglistitem>
+ <seg>No symbol index.</seg>
+ <seg>
+ Does the <filename><package>-docs.{xml,sgml}</filename> contain a
+ index that xi:includes the generated index?
+ </seg>
+ </seglistitem>
+ <seglistitem>
+ <seg>Symbols are not linked to their doc-section.</seg>
+ <seg>
+ Is the doc-comment using the correct markup (added #,% or ())?
+ Check if the gtkdoc-fixxref warns about unresolvable xrefs.
+ </seg>
+ </seglistitem>
+ <seglistitem>
+ <seg>A new class does not appear in the docs.</seg>
+ <seg>
+ Is the new page xi:included from
+ <filename><package>-docs.{xml,sgml}</filename>.
+ </seg>
+ </seglistitem>
+ <seglistitem>
+ <seg>A new symbol does not appear in the docs.</seg>
+ <seg>
+ Is the doc-comment properly formatted. Check for spelling mistakes in
+ the begin of the comment. Check if the gtkdoc-fixxref warns about
+ unresolvable xrefs. Check if the symbol is correctly listed in the
+ <filename><package>-sections.txt</filename> in a public subsection.
+ </seg>
+ </seglistitem>
+ <seglistitem>
+ <seg>A type is missing from the class hierarchy.</seg>
+ <seg>
+ If the type is listed in <filename><package>.hierarchy</filename>
+ but not in <filename>xml/tree_index.sgml</filename> then double check
+ that the type is correctly placed in the <filename><package>-sections.txt</filename>.
+ If the type instance (e.g. <type>Gradnik Gtk</type>) is not listed or
+ incidentialy makred private it will not be shown.
+ </seg>
+ </seglistitem>
+ <seglistitem>
+ <seg>I get foldoc links for all gobject annotations.</seg>
+ <seg>
+ Check that <filename>xml/annotation-glossary.xml</filename> is
+ xi:included from <filename><package>-docs.{xml,sgml}</filename>.
+ </seg>
+ </seglistitem>
+
+ <!-- gtk-doc warnings: -->
+ <seglistitem>
+ <seg>Parameter described in source code comment block but does not exist</seg>
+ <seg>Check if the prototype in the header has different parameter names as in the source.</seg>
+ </seglistitem>
+
+ <!-- docbook warnings: -->
+ <seglistitem>
+ <seg>multiple "IDs" for constraint linkend: XYZ</seg>
+ <seg>Symbol XYZ appears twice in <filename><package>-sections.txt</filename> file.</seg>
+ </seglistitem>
+ <seglistitem>
+ <seg>Element typename in namespace '' encountered in para, but no template matches.</seg>
+ <seg/>
+ </seglistitem>
+ </segmentedlist>
+ </chapter>
+
+ <chapter id="contrib">
+ <title>Tools related to gtk-doc</title>
+
+ <para>
+ GtkDocPlugin - a <ulink url="http://trac-hacks.org/wiki/GtkDocPlugin">Trac GTK-Doc</ulink>
+ integration plugin, that adds api docs to a trac site and integrates with
+ the trac search.
+ </para>
+ <para>
+ Gtkdoc-depscan - a tool (part of gtk-doc) to check used API against since
+ tags in the api to determine the minimum required version.
+ </para>
+
+ </chapter>
+
+ <!-- ======== Appendix: FDL ================================== -->
+ <!--
+ The GNU Free Documentation License 1.1 in DocBook
+ Markup by Eric Baudais <baudais@okstate.edu>
+ Maintained by the GNOME Documentation Project
+ http://developer.gnome.org/projects/gdp
+ Version: 1.0.1
+ Last Modified: Nov 16, 2000
+-->
+
+<appendix id="fdl">
+ <appendixinfo>
+ <releaseinfo>
+ Version 1.1, March 2000
+ </releaseinfo>
+ <copyright>
+ <year>2000</year><holder>Free Software Foundation, Inc.</holder>
+ </copyright>
+ <legalnotice id="fdl-legalnotice">
+ <para>
+ <address>Free Software Foundation, Inc. <street>51 Franklin Street,
+ Suite 330</street>, <city>Boston</city>, <state>MA</state>
+ <postcode>02110-1301</postcode> <country>USA</country></address>
+ Everyone is permitted to copy and distribute verbatim copies of this
+ license document, but changing it is not allowed.
+ </para>
+ </legalnotice>
+ </appendixinfo>
+ <title>GNU Free Documentation License</title>
+
+ <sect1 id="fdl-preamble">
+ <title>0. PREAMBLE</title>
+ <para>
+ The purpose of this License is to make a manual, textbook, or
+ other written document <quote>free</quote> in the sense of
+ freedom: to assure everyone the effective freedom to copy and
+ redistribute it, with or without modifying it, either
+ commercially or noncommercially. Secondarily, this License
+ preserves for the author and publisher a way to get credit for
+ their work, while not being considered responsible for
+ modifications made by others.
+ </para>
+
+ <para>
+ This License is a kind of <quote>copyleft</quote>, which means
+ that derivative works of the document must themselves be free in
+ the same sense. It complements the GNU General Public License,
+ which is a copyleft license designed for free software.
+ </para>
+
+ <para>
+ We have designed this License in order to use it for manuals for
+ free software, because free software needs free documentation: a
+ free program should come with manuals providing the same
+ freedoms that the software does. But this License is not limited
+ to software manuals; it can be used for any textual work,
+ regardless of subject matter or whether it is published as a
+ printed book. We recommend this License principally for works
+ whose purpose is instruction or reference.
+ </para>
+ </sect1>
+ <sect1 id="fdl-section1">
+ <title>1. APPLICABILITY AND DEFINITIONS</title>
+ <para id="fdl-document">
+ This License applies to any manual or other work that contains a
+ notice placed by the copyright holder saying it can be
+ distributed under the terms of this License. The
+ <quote>Document</quote>, below, refers to any such manual or
+ work. Any member of the public is a licensee, and is addressed
+ as <quote>you</quote>.
+ </para>
+
+ <para id="fdl-modified">
+ A <quote>Modified Version</quote> of the Document means any work
+ containing the Document or a portion of it, either copied
+ verbatim, or with modifications and/or translated into another
+ language.
+ </para>
+
+ <para id="fdl-secondary">
+ A <quote>Secondary Section</quote> is a named appendix or a
+ front-matter section of the <link linkend="fdl-document">Document</link> that deals exclusively
+ with the relationship of the publishers or authors of the
+ Document to the Document's overall subject (or to related
+ matters) and contains nothing that could fall directly within
+ that overall subject. (For example, if the Document is in part a
+ textbook of mathematics, a Secondary Section may not explain any
+ mathematics.) The relationship could be a matter of historical
+ connection with the subject or with related matters, or of
+ legal, commercial, philosophical, ethical or political position
+ regarding them.
+ </para>
+
+ <para id="fdl-invariant">
+ The <quote>Invariant Sections</quote> are certain <link linkend="fdl-secondary"> Secondary Sections</link> whose titles
+ are designated, as being those of Invariant Sections, in the
+ notice that says that the <link linkend="fdl-document">Document</link> is released under this
+ License.
+ </para>
+
+ <para id="fdl-cover-texts">
+ The <quote>Cover Texts</quote> are certain short passages of
+ text that are listed, as Front-Cover Texts or Back-Cover Texts,
+ in the notice that says that the <link linkend="fdl-document">Document</link> is released under this
+ License.
+ </para>
+
+ <para id="fdl-transparent">
+ A <quote>Transparent</quote> copy of the <link linkend="fdl-document"> Document</link> means a machine-readable
+ copy, represented in a format whose specification is available
+ to the general public, whose contents can be viewed and edited
+ directly and straightforwardly with generic text editors or (for
+ images composed of pixels) generic paint programs or (for
+ drawings) some widely available drawing editor, and that is
+ suitable for input to text formatters or for automatic
+ translation to a variety of formats suitable for input to text
+ formatters. A copy made in an otherwise Transparent file format
+ whose markup has been designed to thwart or discourage
+ subsequent modification by readers is not Transparent. A copy
+ that is not <quote>Transparent</quote> is called
+ <quote>Opaque</quote>.
+ </para>
+
+ <para>
+ Examples of suitable formats for Transparent copies include
+ plain ASCII without markup, Texinfo input format, LaTeX input
+ format, SGML or XML using a publicly available DTD, and
+ standard-conforming simple HTML designed for human
+ modification. Opaque formats include PostScript, PDF,
+ proprietary formats that can be read and edited only by
+ proprietary word processors, SGML or XML for which the DTD
+ and/or processing tools are not generally available, and the
+ machine-generated HTML produced by some word processors for
+ output purposes only.
+ </para>
+
+ <para id="fdl-title-page">
+ The <quote>Title Page</quote> means, for a printed book, the
+ title page itself, plus such following pages as are needed to
+ hold, legibly, the material this License requires to appear in
+ the title page. For works in formats which do not have any title
+ page as such, <quote>Title Page</quote> means the text near the
+ most prominent appearance of the work's title, preceding the
+ beginning of the body of the text.
+ </para>
+ </sect1>
+
+ <sect1 id="fdl-section2">
+ <title>2. VERBATIM COPYING</title>
+ <para>
+ You may copy and distribute the <link linkend="fdl-document">Document</link> in any medium, either
+ commercially or noncommercially, provided that this License, the
+ copyright notices, and the license notice saying this License
+ applies to the Document are reproduced in all copies, and that
+ you add no other conditions whatsoever to those of this
+ License. You may not use technical measures to obstruct or
+ control the reading or further copying of the copies you make or
+ distribute. However, you may accept compensation in exchange for
+ copies. If you distribute a large enough number of copies you
+ must also follow the conditions in <link linkend="fdl-section3">section 3</link>.
+ </para>
+
+ <para>
+ You may also lend copies, under the same conditions stated
+ above, and you may publicly display copies.
+ </para>
+ </sect1>
+
+ <sect1 id="fdl-section3">
+ <title>3. COPYING IN QUANTITY</title>
+ <para>
+ If you publish printed copies of the <link linkend="fdl-document">Document</link> numbering more than 100,
+ and the Document's license notice requires <link linkend="fdl-cover-texts">Cover Texts</link>, you must enclose
+ the copies in covers that carry, clearly and legibly, all these
+ Cover Texts: Front-Cover Texts on the front cover, and
+ Back-Cover Texts on the back cover. Both covers must also
+ clearly and legibly identify you as the publisher of these
+ copies. The front cover must present the full title with all
+ words of the title equally prominent and visible. You may add
+ other material on the covers in addition. Copying with changes
+ limited to the covers, as long as they preserve the title of the
+ <link linkend="fdl-document">Document</link> and satisfy these
+ conditions, can be treated as verbatim copying in other
+ respects.
+ </para>
+
+ <para>
+ If the required texts for either cover are too voluminous to fit
+ legibly, you should put the first ones listed (as many as fit
+ reasonably) on the actual cover, and continue the rest onto
+ adjacent pages.
+ </para>
+
+ <para>
+ If you publish or distribute <link linkend="fdl-transparent">Opaque</link> copies of the <link linkend="fdl-document">Document</link> numbering more than 100,
+ you must either include a machine-readable <link linkend="fdl-transparent">Transparent</link> copy along with
+ each Opaque copy, or state in or with each Opaque copy a
+ publicly-accessible computer-network location containing a
+ complete Transparent copy of the Document, free of added
+ material, which the general network-using public has access to
+ download anonymously at no charge using public-standard network
+ protocols. If you use the latter option, you must take
+ reasonably prudent steps, when you begin distribution of Opaque
+ copies in quantity, to ensure that this Transparent copy will
+ remain thus accessible at the stated location until at least one
+ year after the last time you distribute an Opaque copy (directly
+ or through your agents or retailers) of that edition to the
+ public.
+ </para>
+
+ <para>
+ It is requested, but not required, that you contact the authors
+ of the <link linkend="fdl-document">Document</link> well before
+ redistributing any large number of copies, to give them a chance
+ to provide you with an updated version of the Document.
+ </para>
+ </sect1>
+
+ <sect1 id="fdl-section4">
+ <title>4. MODIFICATIONS</title>
+ <para>
+ You may copy and distribute a <link linkend="fdl-modified">Modified Version</link> of the <link linkend="fdl-document">Document</link> under the conditions of
+ sections <link linkend="fdl-section2">2</link> and <link linkend="fdl-section3">3</link> above, provided that you release
+ the Modified Version under precisely this License, with the
+ Modified Version filling the role of the Document, thus
+ licensing distribution and modification of the Modified Version
+ to whoever possesses a copy of it. In addition, you must do
+ these things in the Modified Version:
+ </para>
+
+ <itemizedlist mark="opencircle">
+ <listitem>
+ <formalpara>
+ <title>A</title>
+ <para>
+ Use in the <link linkend="fdl-title-page">Title
+ Page</link> (and on the covers, if any) a title distinct
+ from that of the <link linkend="fdl-document">Document</link>, and from those of
+ previous versions (which should, if there were any, be
+ listed in the History section of the Document). You may
+ use the same title as a previous version if the original
+ publisher of that version gives permission.
+ </para>
+ </formalpara>
+ </listitem>
+
+ <listitem>
+ <formalpara>
+ <title>B</title>
+ <para>
+ List on the <link linkend="fdl-title-page">Title
+ Page</link>, as authors, one or more persons or entities
+ responsible for authorship of the modifications in the
+ <link linkend="fdl-modified">Modified Version</link>,
+ together with at least five of the principal authors of
+ the <link linkend="fdl-document">Document</link> (all of
+ its principal authors, if it has less than five).
+ </para>
+ </formalpara>
+ </listitem>
+
+ <listitem>
+ <formalpara>
+ <title>C</title>
+ <para>
+ State on the <link linkend="fdl-title-page">Title
+ Page</link> the name of the publisher of the <link linkend="fdl-modified">Modified Version</link>, as the
+ publisher.
+ </para>
+ </formalpara>
+ </listitem>
+
+ <listitem>
+ <formalpara>
+ <title>D</title>
+ <para>
+ Preserve all the copyright notices of the <link linkend="fdl-document">Document</link>.
+ </para>
+ </formalpara>
+ </listitem>
+
+ <listitem>
+ <formalpara>
+ <title>E</title>
+ <para>
+ Add an appropriate copyright notice for your modifications
+ adjacent to the other copyright notices.
+ </para>
+ </formalpara>
+ </listitem>
+
+ <listitem>
+ <formalpara>
+ <title>F</title>
+ <para>
+ Include, immediately after the copyright notices, a
+ license notice giving the public permission to use the
+ <link linkend="fdl-modified">Modified Version</link> under
+ the terms of this License, in the form shown in the
+ Addendum below.
+ </para>
+ </formalpara>
+ </listitem>
+
+ <listitem>
+ <formalpara>
+ <title>G</title>
+ <para>
+ Preserve in that license notice the full lists of <link linkend="fdl-invariant"> Invariant Sections</link> and
+ required <link linkend="fdl-cover-texts">Cover
+ Texts</link> given in the <link linkend="fdl-document">Document's</link> license notice.
+ </para>
+ </formalpara>
+ </listitem>
+
+ <listitem>
+ <formalpara>
+ <title>H</title>
+ <para>
+ Include an unaltered copy of this License.
+ </para>
+ </formalpara>
+ </listitem>
+
+ <listitem>
+ <formalpara>
+ <title>I</title>
+ <para>
+ Preserve the section entitled <quote>History</quote>, and
+ its title, and add to it an item stating at least the
+ title, year, new authors, and publisher of the <link linkend="fdl-modified">Modified Version </link>as given on
+ the <link linkend="fdl-title-page">Title Page</link>. If
+ there is no section entitled <quote>History</quote> in the
+ <link linkend="fdl-document">Document</link>, create one
+ stating the title, year, authors, and publisher of the
+ Document as given on its Title Page, then add an item
+ describing the Modified Version as stated in the previous
+ sentence.
+ </para>
+ </formalpara>
+ </listitem>
+
+ <listitem>
+ <formalpara>
+ <title>J</title>
+ <para>
+ Preserve the network location, if any, given in the <link linkend="fdl-document">Document</link> for public access
+ to a <link linkend="fdl-transparent">Transparent</link>
+ copy of the Document, and likewise the network locations
+ given in the Document for previous versions it was based
+ on. These may be placed in the <quote>History</quote>
+ section. You may omit a network location for a work that
+ was published at least four years before the Document
+ itself, or if the original publisher of the version it
+ refers to gives permission.
+ </para>
+ </formalpara>
+ </listitem>
+
+ <listitem>
+ <formalpara>
+ <title>K</title>
+ <para>
+ In any section entitled <quote>Acknowledgements</quote> or
+ <quote>Dedications</quote>, preserve the section's title,
+ and preserve in the section all the substance and tone of
+ each of the contributor acknowledgements and/or
+ dedications given therein.
+ </para>
+ </formalpara>
+ </listitem>
+
+ <listitem>
+ <formalpara>
+ <title>L</title>
+ <para>
+ Preserve all the <link linkend="fdl-invariant">Invariant
+ Sections</link> of the <link linkend="fdl-document">Document</link>, unaltered in their
+ text and in their titles. Section numbers or the
+ equivalent are not considered part of the section titles.
+ </para>
+ </formalpara>
+ </listitem>
+
+ <listitem>
+ <formalpara>
+ <title>M</title>
+ <para>
+ Delete any section entitled
+ <quote>Endorsements</quote>. Such a section may not be
+ included in the <link linkend="fdl-modified">Modified
+ Version</link>.
+ </para>
+ </formalpara>
+ </listitem>
+
+ <listitem>
+ <formalpara>
+ <title>N</title>
+ <para>
+ Do not retitle any existing section as
+ <quote>Endorsements</quote> or to conflict in title with
+ any <link linkend="fdl-invariant">Invariant
+ Section</link>.
+ </para>
+ </formalpara>
+ </listitem>
+ </itemizedlist>
+
+ <para>
+ If the <link linkend="fdl-modified">Modified Version</link>
+ includes new front-matter sections or appendices that qualify as
+ <link linkend="fdl-secondary">Secondary Sections</link> and
+ contain no material copied from the Document, you may at your
+ option designate some or all of these sections as invariant. To
+ do this, add their titles to the list of <link linkend="fdl-invariant">Invariant Sections</link> in the
+ Modified Version's license notice. These titles must be
+ distinct from any other section titles.
+ </para>
+
+ <para>
+ You may add a section entitled <quote>Endorsements</quote>,
+ provided it contains nothing but endorsements of your <link linkend="fdl-modified">Modified Version</link> by various
+ parties--for example, statements of peer review or that the text
+ has been approved by an organization as the authoritative
+ definition of a standard.
+ </para>
+
+ <para>
+ You may add a passage of up to five words as a <link linkend="fdl-cover-texts">Front-Cover Text</link>, and a passage
+ of up to 25 words as a <link linkend="fdl-cover-texts">Back-Cover Text</link>, to the end of
+ the list of <link linkend="fdl-cover-texts">Cover Texts</link>
+ in the <link linkend="fdl-modified">Modified Version</link>.
+ Only one passage of Front-Cover Text and one of Back-Cover Text
+ may be added by (or through arrangements made by) any one
+ entity. If the <link linkend="fdl-document">Document</link>
+ already includes a cover text for the same cover, previously
+ added by you or by arrangement made by the same entity you are
+ acting on behalf of, you may not add another; but you may
+ replace the old one, on explicit permission from the previous
+ publisher that added the old one.
+ </para>
+
+ <para>
+ The author(s) and publisher(s) of the <link linkend="fdl-document">Document</link> do not by this License
+ give permission to use their names for publicity for or to
+ assert or imply endorsement of any <link linkend="fdl-modified">Modified Version </link>.
+ </para>
+ </sect1>
+
+ <sect1 id="fdl-section5">
+ <title>5. COMBINING DOCUMENTS</title>
+ <para>
+ You may combine the <link linkend="fdl-document">Document</link>
+ with other documents released under this License, under the
+ terms defined in <link linkend="fdl-section4">section 4</link>
+ above for modified versions, provided that you include in the
+ combination all of the <link linkend="fdl-invariant">Invariant
+ Sections</link> of all of the original documents, unmodified,
+ and list them all as Invariant Sections of your combined work in
+ its license notice.
+ </para>
+
+ <para>
+ The combined work need only contain one copy of this License,
+ and multiple identical <link linkend="fdl-invariant">Invariant
+ Sections</link> may be replaced with a single copy. If there are
+ multiple Invariant Sections with the same name but different
+ contents, make the title of each such section unique by adding
+ at the end of it, in parentheses, the name of the original
+ author or publisher of that section if known, or else a unique
+ number. Make the same adjustment to the section titles in the
+ list of Invariant Sections in the license notice of the combined
+ work.
+ </para>
+
+ <para>
+ In the combination, you must combine any sections entitled
+ <quote>History</quote> in the various original documents,
+ forming one section entitled <quote>History</quote>; likewise
+ combine any sections entitled <quote>Acknowledgements</quote>,
+ and any sections entitled <quote>Dedications</quote>. You must
+ delete all sections entitled <quote>Endorsements.</quote>
+ </para>
+ </sect1>
+
+ <sect1 id="fdl-section6">
+ <title>6. COLLECTIONS OF DOCUMENTS</title>
+ <para>
+ You may make a collection consisting of the <link linkend="fdl-document">Document</link> and other documents
+ released under this License, and replace the individual copies
+ of this License in the various documents with a single copy that
+ is included in the collection, provided that you follow the
+ rules of this License for verbatim copying of each of the
+ documents in all other respects.
+ </para>
+
+ <para>
+ You may extract a single document from such a collection, and
+ dispbibute it individually under this License, provided you
+ insert a copy of this License into the extracted document, and
+ follow this License in all other respects regarding verbatim
+ copying of that document.
+ </para>
+ </sect1>
+
+ <sect1 id="fdl-section7">
+ <title>7. AGGREGATION WITH INDEPENDENT WORKS</title>
+ <para>
+ A compilation of the <link linkend="fdl-document">Document</link> or its derivatives with
+ other separate and independent documents or works, in or on a
+ volume of a storage or distribution medium, does not as a whole
+ count as a <link linkend="fdl-modified">Modified Version</link>
+ of the Document, provided no compilation copyright is claimed
+ for the compilation. Such a compilation is called an
+ <quote>aggregate</quote>, and this License does not apply to the
+ other self-contained works thus compiled with the Document , on
+ account of their being thus compiled, if they are not themselves
+ derivative works of the Document. If the <link linkend="fdl-cover-texts">Cover Text</link> requirement of <link linkend="fdl-section3">section 3</link> is applicable to these
+ copies of the Document, then if the Document is less than one
+ quarter of the entire aggregate, the Document's Cover Texts may
+ be placed on covers that surround only the Document within the
+ aggregate. Otherwise they must appear on covers around the whole
+ aggregate.
+ </para>
+ </sect1>
+
+ <sect1 id="fdl-section8">
+ <title>8. TRANSLATION</title>
+ <para>
+ Translation is considered a kind of modification, so you may
+ distribute translations of the <link linkend="fdl-document">Document</link> under the terms of <link linkend="fdl-section4">section 4</link>. Replacing <link linkend="fdl-invariant"> Invariant Sections</link> with
+ translations requires special permission from their copyright
+ holders, but you may include translations of some or all
+ Invariant Sections in addition to the original versions of these
+ Invariant Sections. You may include a translation of this
+ License provided that you also include the original English
+ version of this License. In case of a disagreement between the
+ translation and the original English version of this License,
+ the original English version will prevail.
+ </para>
+ </sect1>
+
+ <sect1 id="fdl-section9">
+ <title>9. TERMINATION</title>
+ <para>
+ You may not copy, modify, sublicense, or distribute the <link linkend="fdl-document">Document</link> except as expressly
+ provided for under this License. Any other attempt to copy,
+ modify, sublicense or distribute the Document is void, and will
+ automatically terminate your rights under this License. However,
+ parties who have received copies, or rights, from you under this
+ License will not have their licenses terminated so long as such
+ parties remain in full compliance.
+ </para>
+ </sect1>
+
+ <sect1 id="fdl-section10">
+ <title>10. FUTURE REVISIONS OF THIS LICENSE</title>
+ <para>
+ The <ulink type="http" url="http://www.gnu.org/fsf/fsf.html">Free Software
+ Foundation</ulink> may publish new, revised versions of the GNU
+ Free Documentation License from time to time. Such new versions
+ will be similar in spirit to the present version, but may differ
+ in detail to address new problems or concerns. See <ulink type="http" url="http://www.gnu.org/copyleft">http://www.gnu.org/copyleft/</ulink>.
+ </para>
+
+ <para>
+ Each version of the License is given a distinguishing version
+ number. If the <link linkend="fdl-document">Document</link>
+ specifies that a particular numbered version of this License
+ <quote>or any later version</quote> applies to it, you have the
+ option of following the terms and conditions either of that
+ specified version or of any later version that has been
+ published (not as a draft) by the Free Software Foundation. If
+ the Document does not specify a version number of this License,
+ you may choose any version ever published (not as a draft) by
+ the Free Software Foundation.
+ </para>
+ </sect1>
+
+ <sect1 id="fdl-using">
+ <title>Addendum</title>
+ <para>
+ To use this License in a document you have written, include a copy of
+ the License in the document and put the following copyright and
+ license notices just after the title page:
+ </para>
+
+ <blockquote>
+ <para>
+ Copyright YEAR YOUR NAME.
+ </para>
+ <para>
+ Permission is granted to copy, distribute and/or modify this
+ document under the terms of the GNU Free Documentation
+ License, Version 1.1 or any later version published by the
+ Free Software Foundation; with the <link linkend="fdl-invariant">Invariant Sections</link> being LIST
+ THEIR TITLES, with the <link linkend="fdl-cover-texts">Front-Cover Texts</link> being LIST,
+ and with the <link linkend="fdl-cover-texts">Back-Cover
+ Texts</link> being LIST. A copy of the license is included in
+ the section entitled <quote>GNU Free Documentation
+ License</quote>.
+ </para>
+ </blockquote>
+
+ <para>
+ If you have no <link linkend="fdl-invariant">Invariant
+ Sections</link>, write <quote>with no Invariant Sections</quote>
+ instead of saying which ones are invariant. If you have no
+ <link linkend="fdl-cover-texts">Front-Cover Texts</link>, write
+ <quote>no Front-Cover Texts</quote> instead of
+ <quote>Front-Cover Texts being LIST</quote>; likewise for <link linkend="fdl-cover-texts">Back-Cover Texts</link>.
+ </para>
+
+ <para>
+ If your document contains nontrivial examples of program code,
+ we recommend releasing these examples in parallel under your
+ choice of free software license, such as the <ulink type="http" url="http://www.gnu.org/copyleft/gpl.html"> GNU General Public
+ License</ulink>, to permit their use in free software.
+ </para>
+ </sect1>
+</appendix>
+
+
+
+
+
+
+
+
+</book>
--- /dev/null
+# Slovenian translation for gtk-doc.
+# Copyright (C) 2010 gtk-doc's COPYRIGHT HOLDER
+# This file is distributed under the same license as the gtk-doc package.
+#
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: gtk-doc help master\n"
+"POT-Creation-Date: 2010-10-16 21:38+0000\n"
+"PO-Revision-Date: 2010-10-17 21:03+0100\n"
+"Last-Translator: Matej Urbančič <mateju@svn.gnome.org>\n"
+"Language-Team: Slovenian GNOME Translation Team <gnome-si@googlegroups.com>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=4; plural=(n%100==1 ? 1 : n%100==2 ? 2 : n%100==3 || n%100==4 ? 3 : 0);\n"
+"X-Poedit-Language: Slovenian\n"
+"X-Poedit-Country: SLOVENIA\n"
+"X-Poedit-SourceCharset: utf-8\n"
+
+#: C/gtk-doc-manual.xml:12(title)
+msgid "GTK-Doc Manual"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:13(edition)
+#: C/gtk-doc-manual.xml:86(revnumber)
+msgid "1.15"
+msgstr "1.15"
+
+#: C/gtk-doc-manual.xml:14(para)
+msgid "User manual for developers with instructions of GTK-Doc usage."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:17(firstname)
+msgid "Chris"
+msgstr "Chris"
+
+#: C/gtk-doc-manual.xml:18(surname)
+msgid "Lyttle"
+msgstr "Lyttle"
+
+#: C/gtk-doc-manual.xml:21(email)
+msgid "chris@wilddev.net"
+msgstr "chris@wilddev.net"
+
+#: C/gtk-doc-manual.xml:26(firstname)
+msgid "Dan"
+msgstr "Dan"
+
+#: C/gtk-doc-manual.xml:27(surname)
+msgid "Mueth"
+msgstr "Mueth"
+
+#: C/gtk-doc-manual.xml:30(email)
+msgid "d-mueth@uchicago.edu"
+msgstr "d-mueth@uchicago.edu"
+
+#: C/gtk-doc-manual.xml:35(firstname)
+msgid "Stefan"
+msgstr "Stefan"
+
+#: C/gtk-doc-manual.xml:36(surname)
+msgid "Kost"
+msgstr "Kost"
+
+#: C/gtk-doc-manual.xml:39(email)
+msgid "ensonic@users.sf.net"
+msgstr "ensonic@users.sf.net"
+
+#: C/gtk-doc-manual.xml:45(publishername)
+msgid "GTK-Doc project"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:46(email)
+msgid "gtk-doc-list@gnome.org"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:49(year)
+msgid "2000, 2005, 2007-2009"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:50(holder)
+msgid "Dan Mueth and Chris Lyttle and Stefan Kost"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:61(para)
+msgid "Permission is granted to copy, distribute and/or modify this document under the terms of the <citetitle>GNU Free Documentation License</citetitle>, Version 1.1 or any later version published by the Free Software Foundation with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is <link linkend=\"fdl\">included</link>."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:69(para)
+msgid "Many of the names used by companies to distinguish their products and services are claimed as trademarks. Where those names appear in any GNOME documentation, and those trademarks are made aware to the members of the GNOME Documentation Project, the names have been printed in caps or initial caps."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:80(revnumber)
+msgid "1.15.1"
+msgstr "1.15.1"
+
+#: C/gtk-doc-manual.xml:81(date)
+msgid "24 May 2010"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:82(authorinitials)
+#: C/gtk-doc-manual.xml:88(authorinitials)
+#: C/gtk-doc-manual.xml:94(authorinitials)
+#: C/gtk-doc-manual.xml:100(authorinitials)
+#: C/gtk-doc-manual.xml:106(authorinitials)
+msgid "sk"
+msgstr "sk"
+
+#: C/gtk-doc-manual.xml:83(revremark)
+msgid "development version"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:87(date)
+msgid "21 May 2010"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:89(revremark)
+msgid "bug and regression fixes"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:92(revnumber)
+msgid "1.14"
+msgstr "1.14"
+
+#: C/gtk-doc-manual.xml:93(date)
+msgid "28 March 2010"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:95(revremark)
+msgid "bugfixes and performance improvements"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:98(revnumber)
+msgid "1.13"
+msgstr "1.13"
+
+#: C/gtk-doc-manual.xml:99(date)
+#: C/gtk-doc-manual.xml:105(date)
+msgid "18 December 2009"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:101(revremark)
+msgid "broken tarball update"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:104(revnumber)
+msgid "1.12"
+msgstr "1.12"
+
+#: C/gtk-doc-manual.xml:107(revremark)
+msgid "new tool features and bugfixes"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:110(revnumber)
+msgid "1.11"
+msgstr "1.11"
+
+#: C/gtk-doc-manual.xml:111(date)
+msgid "16 Novemebr 2008"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:112(authorinitials)
+msgid "mal"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:113(revremark)
+msgid "GNOME doc-utils migration"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:122(title)
+msgid "Introduction"
+msgstr "Uvod"
+
+#: C/gtk-doc-manual.xml:124(para)
+msgid "This chapter introduces GTK-Doc and gives an overview of what it is and how it is used."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:130(title)
+msgid "What is GTK-Doc?"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:132(para)
+msgid "GTK-Doc is used to document C code. It is typically used to document the public API of libraries, such as the GTK+ and GNOME libraries. But it can also be used to document application code."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:140(title)
+msgid "How Does GTK-Doc Work?"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:142(para)
+msgid "GTK-Doc works by using documentation of functions placed inside the source files in specially-formatted comment blocks, or documentation added to the template files which GTK-Doc uses (though note that GTK-Doc will only document functions that are declared in header files; it won't produce output for static functions)."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:149(para)
+msgid "GTK-Doc consists of a number of perl scripts, each performing a different step in the process."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:154(para)
+msgid "There are 5 main steps in the process:"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:161(para)
+msgid "<guilabel>Writing the documentation.</guilabel> The author fills in the source files with the documentation for each function, macro, union etc. (In the past information was entered in generated template files, which is not recommended anymore)."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:171(para)
+msgid "<guilabel>Gathering information about the code.</guilabel><application>gtkdoc-scan</application> scans the header files of the code looking for declarations of functions, macros, enums, structs, and unions. It creates the file <filename><module>-decl-list.txt</filename> containg a list of the declarations, placing them into sections according to which header file they are in. On the first run this file is copied to <filename><module>-sections.txt</filename>. The author can rearrange the sections, and the order of the declarations within them, to produce the final desired order. The second file it generates is <filename><module>-decl.txt</filename>. This file contains the full declarations found by the scanner. If for some reason one would like some symbols to show up in the docs, where the full declaration cannot be found by the scanner or the declaration should appear differently, one can place enties similar to the ones in <filename><module>-decl.txt</filename> into <filename><module>-overrides.txt</filename>. <application>gtkdoc-scanobj</application> can also be used to dynamically query a library about any GtkObject subclasses it exports. It saves information about each object's position in the class hierarchy and about any GTK Args and Signals it provides."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:196(para)
+msgid "<guilabel>Generating the \"template\" files.</guilabel><application>gtkdoc-mktmpl</application> creates a number of files in the <filename class=\"directory\">tmpl/</filename> subdirectory, using the information gathered in the first step. (Note that this can be run repeatedly. It will try to ensure that no documentation is ever lost.)"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:205(para)
+msgid "Since GTK-Doc 1.9 the templates can be avoided. We encourage people to keep documentation in the code. <application>gtkdocize</application> supports now a <option>--flavour no-tmpl</option> option that chooses a makefile that skips tmpl usage totally. If you have never changed file in tmpl by hand, please remove the dir (e.g. from version control system)."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:217(para)
+msgid "<guilabel>Generating the SGML/XML and HTML/PDF.</guilabel><application>gtkdoc-mkdb</application> turns the template files into SGML or XML files in the <filename class=\"directory\">sgml/</filename> or <filename class=\"directory\">xml/</filename> subdirectory. If the source code contains documentation on functions, using the special comment blocks, it gets merged in here. If there are no tmpl files used it only reads docs from sources and introspection data. We recommend to use Docbook XML."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:228(para)
+msgid "<application>gtkdoc-mkhtml</application> turns the SGML/XML files into HTML files in the <filename class=\"directory\">html/</filename> subdirectory. Likewise <application>gtkdoc-mkpdf</application> turns the SGML/XML files into a PDF document called <filename><package>.pdf</filename>."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:234(para)
+msgid "Files in <filename class=\"directory\">sgml/</filename> or <filename class=\"directory\">xml/</filename> and <filename class=\"directory\">html/</filename> directories are always overwritten. One should never edit them directly."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:242(para)
+msgid "<guilabel>Fixing up cross-references between documents.</guilabel> After installing the HTML files, <application>gtkdoc-fixxref</application> can be run to fix up any cross-references between separate documents. For example, the GTK+ documentation contains many cross-references to types documented in the GLib manual. When creating the source tarball for distribution, <application>gtkdoc-rebase</application> turns all external links into web-links. When installing distributed (pregenerated) docs the same application will try to turn links back to local links (where those docs are installed)."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:260(title)
+msgid "Getting GTK-Doc"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:263(title)
+msgid "Requirements"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:264(para)
+msgid "<guilabel>Perl v5</guilabel> - the main scripts are in Perl."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:267(para)
+msgid "<guilabel>DocBook DTD v3.0</guilabel> - This is the DocBook SGML DTD. <ulink url=\"http://www.ora.com/davenport\" type=\"http\">http://www.ora.com/davenport</ulink>"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:271(para)
+msgid "<guilabel>Jade v1.1</guilabel> - This is a DSSSL processor for converting SGML to various formats. <ulink url=\"http://www.jclark.com/jade\" type=\"http\">http://www.jclark.com/jade</ulink>"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:275(para)
+msgid "<guilabel>Modular DocBook Stylesheets</guilabel> This is the DSSSL code to convert DocBook to HTML (and a few other formats). It's used together with jade. I've customized the DSSSL code slightly, in gtk-doc.dsl, to colour the program code listings/declarations, and to support global cross-reference indices in the generated HTML. <ulink url=\"http://nwalsh.com/docbook/dsssl\" type=\"http\">http://nwalsh.com/docbook/dsssl</ulink>"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:284(para)
+msgid "<guilabel>docbook-to-man</guilabel> - if you want to create man pages from the DocBook. I've customized the 'translation spec' slightly, to capitalise section headings and add the 'GTK Library' title at the top of the pages and the revision date at the bottom. There is a link to this on <ulink url=\"http://www.ora.com/davenport\" type=\"http\">http://www.ora.com/davenport</ulink> NOTE: This does not work yet."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:295(title)
+msgid "Installation"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:296(para)
+msgid "There is no standard place where the DocBook Modular Stylesheets are installed."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:299(para)
+msgid "GTK-Doc's configure script searches these 3 directories automatically:"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:302(para)
+msgid "<filename> /usr/lib/sgml/stylesheets/nwalsh-modular </filename> (used by RedHat)"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:305(para)
+msgid "<filename> /usr/lib/dsssl/stylesheets/docbook </filename> (used by Debian)"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:308(para)
+msgid "<filename> /usr/share/sgml/docbkdsl </filename> (used by SuSE)"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:311(para)
+msgid "If you have the stylesheets installed somewhere else, you need to configure GTK-Doc using the option: <command> --with-dsssl-dir=<PATH_TO_TOPLEVEL_STYLESHEETS_DIR> </command>"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:335(title)
+msgid "About GTK-Doc"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:337(para)
+#: C/gtk-doc-manual.xml:351(para)
+msgid "(FIXME)"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:341(para)
+msgid "(History, authors, web pages, license, future plans, comparison with other similar systems.)"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:349(title)
+msgid "About this Manual"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:355(para)
+msgid "(who it is meant for, where you can get it, license)"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:364(title)
+msgid "Setting up your project"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:366(para)
+msgid "The next sections describe what steps to perform to integrate GTK-Doc into your project. Theses sections assume we work on a project called 'meep'. This project contains a library called 'libmeep' and an end-user app called 'meeper'."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:374(title)
+msgid "Setting up a skeleton documentation"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:376(para)
+msgid "Under your top-level project directory create folders called docs/reference (this way you can also have docs/help for end-user documentation). It is recommended to create another subdirectory with the name of the doc-package. For packages with just one library this step is not necessary."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:385(title)
+msgid "Example directory structure"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:383(para)
+msgid "This can then look as shown below: <placeholder-1/>"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:403(title)
+#: C/gtk-doc-manual.xml:410(title)
+msgid "Integration with autoconf"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:405(para)
+msgid "Very easy! Just add one line to your <filename>configure.ac</filename> script."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:425(title)
+msgid "Keep gtk-doc optional"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:420(para)
+msgid "This will require all developers to have gtk-doc installed. If it is okay for your project to have optional api-doc build setup, you can solve this as below. Keep it as is, as gtkdocize is looking for <function>GTK_DOC_CHECK</function> at the start of a line. <placeholder-1/>"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:437(para)
+msgid "The first argument is used to check for the gtkdocversion at configure time. The 2nd, optional argument is used by <application>gtkdocize</application>. The <symbol>GTK_DOC_CHECK</symbol> macro also adds several configure switches:"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:443(para)
+msgid "--with-html-dir=PATH : path to installed docs"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:444(para)
+msgid "--enable-gtk-doc : use gtk-doc to build documentation [default=no]"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:445(para)
+msgid "--enable-gtk-doc-html : build documentation in html format [default=yes]"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:446(para)
+msgid "--enable-gtk-doc-pdf : build documentation in pdf format [default=no]"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:450(para)
+msgid "GTK-Doc is disabled by default! Remember to pass the option <option>'--enable-gtk-doc'</option> to the next <filename>configure</filename> run. Otherwise pregenerated documentation is installed (which makes sense for users but not for developers)."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:458(para)
+msgid "Furthermore it is recommended that you have the following line inside you <filename>configure.ac</filename> script. This allows <application>gtkdocize</application> to automatically copy the macro definition for <function>GTK_DOC_CHECK</function> to your project."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:466(title)
+msgid "Preparation for gtkdocize"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:477(title)
+msgid "Integration with automake"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:479(para)
+msgid "First copy the <filename>Makefile.am</filename> from the examples subdirectory of the gtkdoc-sources to your project's API documentation directory ( <filename class=\"directory\">./docs/reference/<package></filename>). If you have multiple doc-packages repeat this for each one."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:486(para)
+msgid "The next step is to edit the settings inside the <filename>Makefile.am</filename>. All the settings have a comment above that describes their purpose. Most settings are extra flags passed to the respective tools. Every tool has a variable of the form <option><TOOLNAME>_OPTIONS</option>. All the tools support <option>--help</option> to list the supported parameters."
+msgstr ""
+
+#. FIXME: explain options ?
+#: C/gtk-doc-manual.xml:497(para)
+msgid "You may also want to enable GTK-Doc for the distcheck make target. Just add the one line shown in the next example to your top-level <filename>Makefile.am</filename>:"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:504(title)
+msgid "Enable GTK-Doc during make distcheck"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:516(title)
+msgid "Integration with autogen"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:518(para)
+msgid "Most projects will have an <filename>autogen.sh</filename> script to setup the build infrastructure after a checkout from version control system (such as cvs/svn/git). GTK-Doc comes with a tool called <application>gtkdocize</application> which can be used in such a script. It should be run before autoheader, automake or autoconf."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:527(title)
+msgid "Running gtkdocize from autogen.sh"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:536(para)
+msgid "When running <application>gtkdocize</application> it copies <filename>gtk-doc.make</filename> to your project root (or any directory specified by the <option>--docdir</option> option). It also checks you configure script for the <function>GTK_DOC_CHECK</function> invocation. This macro can be used to pass extra parameters to <application>gtkdocize</application>."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:545(para)
+msgid "Historically GTK-Doc was generating template files where developers entered the docs. This turned out to be not so good (e.g. the need for having generated files under version control). Since GTK-Doc 1.9 the tools can get all the information from source comments and thus the templates can be avoided. We encourage people to keep documentation in the code. <application>gtkdocize</application> supports now a <option>--flavour no-tmpl</option> option that chooses a makefile that skips tmpl usage totally. Besides adding the option directly to the command invocation, they can be added also to an environment variable called <symbol>GTKDOCIZE_FLAGS</symbol> or set as a 2nd parameter in <symbol>GTK_DOC_CHECK</symbol> macro in the configure script. If you have never changed file in tmpl by hand and migrating from older gtkdoc versions, please remove the dir (e.g. from version control system)."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:562(title)
+#: C/gtk-doc-manual.xml:579(title)
+msgid "Running the doc build"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:564(para)
+msgid "After the previous steps it's time to run the build. First we need to rerun <filename>autogen.sh</filename>. If this script runs configure for you, then give it the <option>--enable-gtk-doc</option> option. Otherwise manually run <filename>configure</filename> with this option afterwards."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:571(para)
+msgid "The first make run generates several additional files in the doc-dirs. The important ones are: <filename><package>.types</filename>, <filename><package>-docs.sgml</filename>, <filename><package>-sections.txt</filename>."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:588(para)
+msgid "Now you can point your browser to <filename>docs/reference/<package>/index.html</filename>. Yes, it's a bit disappointing still. But hang-on, during the next chapter we tell you how to fill the pages with life."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:596(title)
+msgid "Integration with version control systems"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:598(para)
+msgid "As a rule of the thumb, it's those files you edit, that should go under version control. For typical projects it's these files: <filename><package>.types</filename><filename><package>-docs.sgml</filename><filename><package>-sections.txt</filename><filename>Makefile.am</filename>"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:611(title)
+msgid "Documenting the code"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:613(para)
+msgid "GTK-Doc uses source code comment with a special syntax for code documentation. Further it retrieves information about your project structure from other sources. During the next section you will find all information about the syntax of the comments."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:621(title)
+msgid "Documentation placement"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:622(para)
+msgid "In the past most documentation had to be filled into files residing inside the <filename>tmpl</filename> directory. This has the disadvantages that the information is often not updated and also that the file tend to cause conflicts with version control systems."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:628(para)
+msgid "The avoid the aforementioned problems we suggest putting the documentation inside the sources. This manual will only describe this way of documenting code."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:639(title)
+#: C/gtk-doc-manual.xml:658(title)
+msgid "GTK-Doc comment block"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:635(para)
+msgid "The scanner can handle the majority of c headers fine. In the case of receiving warnings from the scanner that look like a special case, one can hint GTK-Doc to skip over them. <placeholder-1/>"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:653(title)
+msgid "Documentation comments"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:655(para)
+msgid "A multiline comment that starts with an additional '*' marks a documentation block that will be processed by the GTK-Doc tools. <placeholder-1/>"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:670(para)
+msgid "The 'identifier' is one line with the name of the item the comment is related to. The syntax differs a little depending on the item. (TODO add table showing identifiers)"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:676(para)
+msgid "The 'documentation' block is also different for each symbol type. Symbol types that get parameters such as functions or macros have the parameter description first followed by a blank line (just a '*'). Afterwards follows the detailed description. All lines (outside program- listings and CDATA sections) just containing a ' *' (blank-asterisk) are converted to paragraph breaks. If you don't want a paragraph break, change that into ' * ' (blank-asterisk-blank-blank)."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:693(para)
+msgid "Use function() to refer to functions or macros which take arguments."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:698(para)
+msgid "Use @param to refer to parameters. Also use this when referring to parameters of other functions, related to the one being described."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:704(para)
+msgid "Use %constant to refer to a constant, e.g. %G_TRAVERSE_LEAFS."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:709(para)
+msgid "Use #symbol to refer to other types of symbol, e.g. structs and enums and macros which don't take arguments."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:715(para)
+msgid "Use #Object::signal to refer to a GObject signal"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:720(para)
+msgid "Use #Object:property to refer to a GObject property"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:725(para)
+msgid "Use #Struct.field to refer to a field inside a structure."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:687(para)
+msgid "One advantage of hyper-text over plain-text is the ability to have links in the document. Writing the correct markup for a link can be tedious though. GTK-Doc comes to help by providing several useful abbreviations. <placeholder-1/>"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:733(para)
+msgid "If you need to use the special characters '<', '>', '()', '@', '%', or '#' in your documentation without GTK-Doc changing them you can use the XML entities \"&lt;\", \"&gt;\", \"&lpar;\", \"&rpar;\", \"&commat;\", \"&percnt;\" and \"&num;\" respectively or escape them with a backslash '\\'."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:742(para)
+msgid "DocBook can do more that just links. One can also have lists, tables and examples. To enable the usage of SGML/XML tags inside doc-comments you need to have <option>--xml-mode</option> or <option>--sgml-mode</option> in the variable <symbol>MKDB_OPTIONS</symbol> inside <filename>Makefile.am</filename>."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:751(para)
+msgid "As already mentioned earlier GTK-Doc is for documenting public API. Thus one cannot write documentation for static symbols. Nevertheless it is good to comment those symbols too. This helps other to understand you code. Therefore we recommend to comment these using normal comments (without the 2nd '*' in the first line). If later the function needs to be made public, all one needs to do is to add another '*' in the comment block and insert the symbol name at the right place inside the sections file."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:765(title)
+msgid "Documenting sections"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:767(para)
+msgid "Each section of the documentation contains information about one class or module. To introduce the component one can write a section block. The short description is also used inside the table of contents. All the @fields are optional."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:775(title)
+msgid "Section comment block"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:797(term)
+msgid "SECTION:<name>"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:799(para)
+msgid "The name links the section documentation to the respective part in the <filename><package>-sections.txt</filename> file. The name give here should match the <FILE> tag in the <filename><package>-sections.txt</filename> file."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:808(term)
+msgid "@short_description"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:810(para)
+msgid "A one line description of the section, that later will appear after the links in the TOC and at the top of the section page."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:817(term)
+msgid "@title"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:819(para)
+msgid "The section title defaults to <name> from the SECTION declaration. It can be overridden with the @title field."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:826(term)
+msgid "@section_id"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:828(para)
+msgid "Overrides the use of title as a section identifier. For GObjects the <title> is used as a section_id and for other sections it is <MODULE>-<title>."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:836(term)
+msgid "@see_also"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:838(para)
+msgid "A list of symbols that are related to this section."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:844(term)
+msgid "@stability"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:851(para)
+msgid "Stable - The intention of a Stable interface is to enable arbitrary third parties to develop applications to these interfaces, release them, and have confidence that they will run on all minor releases of the product (after the one in which the interface was introduced, and within the same major release). Even at a major release, incompatible changes are expected to be rare, and to have strong justifications."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:863(para)
+msgid "Unstable - Unstable interfaces are experimental or transitional. They are typically used to give outside developers early access to new or rapidly changing technology, or to provide an interim solution to a problem where a more general solution is anticipated. No claims are made about either source or binary compatibility from one minor release to the next."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:875(para)
+msgid "Private - An interface that can be used within the GNOME stack itself, but that is not documented for end-users. Such functions should only be used in specified and documented ways."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:884(para)
+msgid "Internal - An interface that is internal to a module and does not require end-user documentation. Functions that are undocumented are assumed to be Internal."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:846(para)
+msgid "A informal description of the stability level this API has. We recommend the use of one of these terms: <placeholder-1/>"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:896(term)
+msgid "@include"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:898(para)
+msgid "The <literal>#include</literal> files to show in the section synopsis (a comma separated list), overriding the global value from the <link linkend=\"metafiles_sections\">section file</link> or command line. This item is optional."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:907(term)
+msgid "@image"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:909(para)
+msgid "The image to display at the top of the reference page for this section. This will often be some sort of a diagram to illustrate the visual appearance of a class or a diagram of its relationship to other classes. This item is optional."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:920(para)
+msgid "To avoid unnecessary recompilation after doc-changes put the section docs into the c-source where possible."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:929(title)
+msgid "Documenting symbols"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:931(para)
+msgid "Each symbol (function, macro, struct, enum, signal and property) is documented in a separate block. The block is best placed close to the definition of the symbols so that it is easy to keep them in sync. Thus functions are usually documented in the c-source and macros, structs and enums in the header file."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:939(title)
+#: C/gtk-doc-manual.xml:968(title)
+msgid "General tags"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:941(para)
+msgid "You can add versioning information to all documentation elements to tell when an api was introduced, or when it was deprecated."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:946(title)
+msgid "Versioning Tags"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:947(term)
+msgid "Since:"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:949(para)
+msgid "Description since which version of the code the API is available."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:954(term)
+msgid "Deprecated:"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:956(para)
+msgid "Paragraph denoting that this function should no be used anymore. The description should point the reader to the new API."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:964(para)
+msgid "(FIXME : Stability information)"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:991(title)
+#: C/gtk-doc-manual.xml:1027(title)
+msgid "Function comment block"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:997(para)
+msgid "Document whether returned objects, lists, strings, etc, should be freed/unrefed/released."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1003(para)
+msgid "Document whether parameters can be NULL, and what happens if they are."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1008(para)
+msgid "Mention interesting pre-conditions and post-conditions where appropriate."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:993(para)
+#: C/gtk-doc-manual.xml:1090(para)
+msgid "Please remember to: <placeholder-1/>"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1015(para)
+msgid "Gtk-doc assumes all symbols (macros, functions) starting with '_' are private. They are treated like static functions."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1020(para)
+msgid "Also, take a look at gobject introspection annotation tags: http://live.gnome.org/GObjectIntrospection/Annotations"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1051(title)
+msgid "Function tags"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1052(term)
+msgid "Returns:"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1054(para)
+msgid "Paragraph describing the returned result."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1059(term)
+msgid "@...:"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1061(para)
+msgid "In case the function has variadic arguments, you should use this tag (@Varargs: does also work for historic reasons)."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1071(title)
+#: C/gtk-doc-manual.xml:1073(title)
+msgid "Property comment block"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1088(title)
+#: C/gtk-doc-manual.xml:1107(title)
+msgid "Signal comment block"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1094(para)
+msgid "Document when the signal is emitted and whether it is emitted before or after other signals."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1100(para)
+msgid "Document what an application might do in the signal handler."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1127(title)
+#: C/gtk-doc-manual.xml:1128(title)
+msgid "Struct comment block"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1148(para)
+msgid "Use <code>/*< private >*/</code> before the private struct fields you want to hide. Use <code>/*< public >*/</code> for the reverse behaviour."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1154(para)
+msgid "Struct comment blocks can also be used for GObjects and GObjectClasses. It is usualy a good idea to add a comment blco for a class, if it has vmethods (as this is how they can be documented). For the GObject itself one can use the related section docs, having a separate block for the instance struct would be useful if the instance has public fields. One disadvantage here is that this creates two index entries of the same name (the structure and the section)."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1166(title)
+#: C/gtk-doc-manual.xml:1167(title)
+msgid "Enum comment block"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1188(para)
+msgid "Use <code>/*< private >*/</code> before the private enum values you want to hide. Use <code>/*< public >*/</code> for the reverse behaviour."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1198(title)
+msgid "Useful DocBook tags"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1200(para)
+msgid "Here are some DocBook tags which are most useful when documenting the code."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1205(para)
+msgid "To link to another section in the GTK docs: <placeholder-1/> The linkend is the SGML/XML id on the top item of the page you want to link to. For most pages this is currently the part (\"gtk\", \"gdk\", \"glib\") and then the page title (\"Hash Tables\"). For widgets it is just the class name. Spaces and underscores are converted to '-' to conform to SGML/XML."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1221(para)
+msgid "To refer to an external function, e.g. a standard C function: <placeholder-1/>"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1232(para)
+msgid ""
+"To include example code: <placeholder-1/> or possibly this, for very short code fragments which don't need a title: <placeholder-2/> For the latter GTK-Doc also supports an abbreviation: <![CDATA[\n"
+"|[\n"
+" ...\n"
+"]|\n"
+"]]>"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1266(para)
+msgid "To include bulleted lists: <placeholder-1/>"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1288(para)
+msgid "To include a note which stands out from the text: <placeholder-1/>"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1303(para)
+msgid "To refer to a type: <placeholder-1/>"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1314(para)
+msgid "To refer to an external structure (not one described in the GTK docs): <placeholder-1/>"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1325(para)
+msgid "To refer to a field of a structure: <placeholder-1/>"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1336(para)
+msgid "To refer to a class name, we could possibly use: <placeholder-1/> but you'll probably be using #GtkWidget instead (to automatically create a link to the GtkWidget page - see <link linkend=\"documenting_syntax\">the abbreviations</link>)."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1349(para)
+msgid "To emphasize text: <placeholder-1/>"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1360(para)
+msgid "For filenames use: <placeholder-1/>"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1371(para)
+msgid "To refer to keys use: <placeholder-1/>"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1386(title)
+msgid "Filling the extra files"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1388(para)
+msgid "There are a couple of extra files, that need to be maintained along with the inline source code comments: <filename><package>.types</filename>, <filename><package>-docs.sgml</filename>, <filename><package>-sections.txt</filename>."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1397(title)
+msgid "Editing the types file"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1399(para)
+msgid "If your library or application includes GtkObjects/GObjects, you want their signals, arguments/parameters and position in the hierarchy to be shown in the documentation. All you need to do, is to list the <function>xxx_get_type</function> functions together with their include inside the <filename><package>.types</filename> file."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1408(title)
+msgid "Example types file snippet"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1422(para)
+msgid "Since GTK-Doc 1.8 <application>gtkdoc-scan</application> can generate this list for you. Just add \"--rebuild-types\" to SCAN_OPTIONS in <filename>Makefile.am</filename>. If you use this approach you should not dist the types file nor have it under version control."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1431(title)
+msgid "Editing the master document"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1433(para)
+msgid "GTK-Doc produces documentation in DocBook SGML/XML. When processing the inline source comments, the GTK-Doc tools generate one documentation page per class or module as a separate file. The master document includes them and place them in an order."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1440(para)
+msgid "While GTK-Doc creates a template master document for you, later run will not touch it again. This means that one can freely structure the documentation. That includes grouping pages and adding extra pages. GTK-Doc has now a test suite, where also the master-document is recreated from scratch. Its a good idea to look at this from time to time to see if there are some new goodies introduced there."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1450(para)
+msgid "Do not create tutorials as extra documents. Just write extra chapters. The benefit of directly embedding the tutorial for your library into the API documentation is that it is easy to link for the tutorial to symbol documentation. Apart chances are higher that the tutorial gets updates along with the library."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1459(para)
+msgid "So what are the things to change inside the master document? For a start is only a little. There are some placeholders (text in square brackets) there which you should take care of."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1466(title)
+msgid "Master document header"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1488(title)
+msgid "Editing the section file"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1490(para)
+msgid "The section file is used to organise the documentation output by GTK-Doc. Here one specifies which symbol belongs to which module or class and control the visibility (public or private)."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1496(para)
+msgid "The section file is a plain test file with xml like syntax (using tags). Blank lines are ignored and lines starting with a '#' are treated as comment lines."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1502(para)
+msgid "The <FILE> ... </FILE> tag is used to specify the file name, without any suffix. For example, using '<FILE>gnome-config</FILE>' will result in the section declarations being output in the template file <filename>tmpl/gnome-config.sgml</filename>, which will be converted into the DocBook SGML/XML file <filename>sgml/gnome-config.sgml</filename> or .DocBook XML file <filename>xml/gnome-config.xml</filename>. (The name of the html file is based on the module name and the section title, or for gobjects it is based on the gobjects class name converted to lower case)."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1514(para)
+msgid "The <TITLE> ... </TITLE> tag is used to specify the title of the section. It is only useful before the templates (if used) are initially created, since the title set in the template file overrides this. Also if one uses SECTION comment in the sources, this is obsolete."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1521(para)
+msgid "You can group items in the section by using the <SUBSECTION> tag. Currently it outputs a blank line between subsections in the synopsis section. You can also use <SUBSECTION Standard> for standard GObject declarations (e.g. the functions like g_object_get_type and macros like G_OBJECT(), G_IS_OBJECT() etc.). Currently these are left out of the documentation. You can also use <SUBSECTION Private> for private declarations which will not be output (It is a handy way to avoid warning messages about unused declarations.). If your library contains private types which you don't want to appear in the object hierarchy and the list of implemented or required interfaces, add them to a Private subsection. Wheter you would place GObject and GObjectClass like structs in public or Standard section depends if they have public entries (variables, vmethods)."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1540(para)
+msgid "You can also use <INCLUDE> ... </INCLUDE> to specify the #include files which are shown in the synopsis sections. It contains a comma-separate list of #include files, without the angle brackets. If you set it outside of any sections, it acts for all sections until the end of the file. If you set it within a section, it only applies to that section."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1554(title)
+msgid "Controlling the result"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1556(para)
+msgid "A GTK-Doc run generates report files inside the documentation directory. The generated files are named: <filename><package>-undocumented.txt</filename>, <filename><package>-undeclared.txt</filename> and <filename><package>-unused.txt</filename>. All those are plain text files that can be viewed and postprocessed easily."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1565(para)
+msgid "The <filename><package>-undocumented.txt</filename> file starts with the documentation coverage summary. Below are two sections divided by blank lines. The first section lists undocumented or incomplete symbols. The second section does the same for section docs. Incomplete entries are those, which have documentation, but where e.g. a new parameter has been added."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1574(para)
+msgid "The <filename><package>-undeclared.txt</filename> file lists symbols given in the <filename><package>-sections.txt</filename> but not found in the sources. Check if they have been removed or if they are misspelled."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1581(para)
+msgid "The <filename><package>-unused.txt</filename> file lists symbol names, where the GTK-Doc scanner has found documentation, but does not know where to put it. This means that the symbol has not yet been added to the <filename><package>-sections.txt</filename> file."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1589(para)
+msgid "Enable or add the <option>TESTS=$(GTKDOC_CHECK)</option> line in Makefile.am. If at least GTK-Doc 1.9 is installed, this will run sanity checks during <command>make check</command> run."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1596(para)
+msgid "One can also look at the files produced by the source code scanner: <filename><package>-decl-list.txt</filename> and <filename><package>-decl.txt</filename>. The first one can be compared with the section file if that is manualy maintained. The second lists all declarations fromt he headers If a symbol is missing one could check if this file contains it."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1605(para)
+msgid "If the project is GObject based, one can also look into the files produced by the object scanner: <filename><package>.args.txt</filename>, <filename><package>.hierarchy.txt</filename>, <filename><package>.interfaces.txt</filename>, <filename><package>.prerequisites.txt</filename> and <filename><package>.signals.txt</filename>. If there are missing symbols in any of those, one can ask gtkdoc to keep the intermedia scanner file for further analysis, but running it as <command>GTK_DOC_KEEP_INTERMEDIATE=1 make</command>."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1620(title)
+msgid "Documenting other interfaces"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1622(para)
+msgid "So far we have been using GTK-Doc to document the API of code. The next sections contain suggestions how the tools can be used to document other interfaces too."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1629(title)
+msgid "Commandline options and man pages"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1631(para)
+msgid "As one can generate man pages for a docbook refentry as well, it sounds like a good idea to use it for that purpose. This way the interface is part of the reference and one gets the man-page for free."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1638(title)
+msgid "Document the tool"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1640(para)
+msgid "Create one refentry file per tool. Following <link linkend=\"settingup_docfiles\">our example</link> we would call it <filename>meep/docs/reference/meeper/meep.xml</filename>. For the xml tags that should be used and can look at generated file in the xml subdirectory as well as examples e.g. in glib."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1650(title)
+msgid "Adding the extra configure check"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1653(title)
+#: C/gtk-doc-manual.xml:1673(title)
+msgid "Extra configure checks"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1670(title)
+msgid "Adding the extra makefile rules"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1698(title)
+msgid "DBus interfaces"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1700(para)
+msgid "(FIXME: http://hal.freedesktop.org/docs/DeviceKit/DeviceKit.html, http://cgit.freedesktop.org/DeviceKit/DeviceKit/tree/doc/dbus)"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1709(title)
+msgid "Frequently asked questions"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1713(segtitle)
+msgid "Question"
+msgstr "Vprašanje"
+
+#: C/gtk-doc-manual.xml:1714(segtitle)
+msgid "Answer"
+msgstr "Odgovor"
+
+#: C/gtk-doc-manual.xml:1716(seg)
+msgid "No class hierarchy."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1718(function)
+msgid "xxx_get_type()"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1719(filename)
+msgid "<package>.types"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1717(seg)
+msgid "The objects <placeholder-1/> function has not been entered into the <placeholder-2/> file."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1723(seg)
+msgid "Still no class hierarchy."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1725(filename)
+#: C/gtk-doc-manual.xml:1764(filename)
+#: C/gtk-doc-manual.xml:1772(filename)
+#: C/gtk-doc-manual.xml:1794(filename)
+msgid "<package>-sections.txt"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1726(ulink)
+msgid "explanation"
+msgstr "pojasnilo"
+
+#: C/gtk-doc-manual.xml:1724(seg)
+msgid "Missing or wrong naming in <placeholder-1/> file (see <placeholder-2/>)."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1730(seg)
+msgid "Damn, I have still no class hierarchy."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1732(type)
+#: C/gtk-doc-manual.xml:1773(type)
+msgid "GtkWidget"
+msgstr "Gradnik Gtk"
+
+#: C/gtk-doc-manual.xml:1731(seg)
+msgid "Is the object name (name of the instance struct, e.g. <placeholder-1/>) part of the normal section (don't put this into Standard or Private subsections)."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1738(seg)
+msgid "No symbol index."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1740(filename)
+#: C/gtk-doc-manual.xml:1755(filename)
+#: C/gtk-doc-manual.xml:1781(filename)
+msgid "<package>-docs.{xml,sgml}"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1739(seg)
+msgid "Does the <placeholder-1/> contain a index that xi:includes the generated index?"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1745(seg)
+msgid "Symbols are not linked to their doc-section."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1746(seg)
+msgid "Is the doc-comment using the correct markup (added #,% or ())? Check if the gtkdoc-fixxref warns about unresolvable xrefs."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1752(seg)
+msgid "A new class does not appear in the docs."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1753(seg)
+msgid "Is the new page xi:included from <placeholder-1/>."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1759(seg)
+msgid "A new symbol does not appear in the docs."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1760(seg)
+msgid "Is the doc-comment properly formatted. Check for spelling mistakes in the begin of the comment. Check if the gtkdoc-fixxref warns about unresolvable xrefs. Check if the symbol is correctly listed in the <placeholder-1/> in a public subsection."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1768(seg)
+msgid "A type is missing from the class hierarchy."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1770(filename)
+msgid "<package>.hierarchy"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1771(filename)
+msgid "xml/tree_index.sgml"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1769(seg)
+msgid "If the type is listed in <placeholder-1/> but not in <placeholder-2/> then double check that the type is correctly placed in the <placeholder-3/>. If the type instance (e.g. <placeholder-4/>) is not listed or incidentialy makred private it will not be shown."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1778(seg)
+msgid "I get foldoc links for all gobject annotations."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1780(filename)
+msgid "xml/annotation-glossary.xml"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1779(seg)
+msgid "Check that <placeholder-1/> is xi:included from <placeholder-2/>."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1787(seg)
+msgid "Parameter described in source code comment block but does not exist"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1788(seg)
+msgid "Check if the prototype in the header has different parameter names as in the source."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1793(seg)
+msgid "multiple \"IDs\" for constraint linkend: XYZ"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1794(seg)
+msgid "Symbol XYZ appears twice in <placeholder-1/> file."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1797(seg)
+msgid "Element typename in namespace '' encountered in para, but no template matches."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:12(releaseinfo)
+msgid "Version 1.1, March 2000"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:16(year)
+msgid "2000"
+msgstr "2000"
+
+#: C/gtk-doc-manual.xml:16(holder)
+msgid "Free Software Foundation, Inc."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:19(para)
+msgid "<address>Free Software Foundation, Inc. <street>51 Franklin Street, Suite 330</street>, <city>Boston</city>, <state>MA</state><postcode>02110-1301</postcode><country>USA</country></address> Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:28(title)
+msgid "GNU Free Documentation License"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:31(title)
+msgid "0. PREAMBLE"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:32(para)
+msgid "The purpose of this License is to make a manual, textbook, or other written document <quote>free</quote> in the sense of freedom: to assure everyone the effective freedom to copy and redistribute it, with or without modifying it, either commercially or noncommercially. Secondarily, this License preserves for the author and publisher a way to get credit for their work, while not being considered responsible for modifications made by others."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:43(para)
+msgid "This License is a kind of <quote>copyleft</quote>, which means that derivative works of the document must themselves be free in the same sense. It complements the GNU General Public License, which is a copyleft license designed for free software."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:50(para)
+msgid "We have designed this License in order to use it for manuals for free software, because free software needs free documentation: a free program should come with manuals providing the same freedoms that the software does. But this License is not limited to software manuals; it can be used for any textual work, regardless of subject matter or whether it is published as a printed book. We recommend this License principally for works whose purpose is instruction or reference."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:62(title)
+msgid "1. APPLICABILITY AND DEFINITIONS"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:63(para)
+msgid "This License applies to any manual or other work that contains a notice placed by the copyright holder saying it can be distributed under the terms of this License. The <quote>Document</quote>, below, refers to any such manual or work. Any member of the public is a licensee, and is addressed as <quote>you</quote>."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:72(para)
+msgid "A <quote>Modified Version</quote> of the Document means any work containing the Document or a portion of it, either copied verbatim, or with modifications and/or translated into another language."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:79(para)
+msgid "A <quote>Secondary Section</quote> is a named appendix or a front-matter section of the <link linkend=\"fdl-document\">Document</link> that deals exclusively with the relationship of the publishers or authors of the Document to the Document's overall subject (or to related matters) and contains nothing that could fall directly within that overall subject. (For example, if the Document is in part a textbook of mathematics, a Secondary Section may not explain any mathematics.) The relationship could be a matter of historical connection with the subject or with related matters, or of legal, commercial, philosophical, ethical or political position regarding them."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:94(para)
+msgid "The <quote>Invariant Sections</quote> are certain <link linkend=\"fdl-secondary\"> Secondary Sections</link> whose titles are designated, as being those of Invariant Sections, in the notice that says that the <link linkend=\"fdl-document\">Document</link> is released under this License."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:103(para)
+msgid "The <quote>Cover Texts</quote> are certain short passages of text that are listed, as Front-Cover Texts or Back-Cover Texts, in the notice that says that the <link linkend=\"fdl-document\">Document</link> is released under this License."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:111(para)
+msgid "A <quote>Transparent</quote> copy of the <link linkend=\"fdl-document\"> Document</link> means a machine-readable copy, represented in a format whose specification is available to the general public, whose contents can be viewed and edited directly and straightforwardly with generic text editors or (for images composed of pixels) generic paint programs or (for drawings) some widely available drawing editor, and that is suitable for input to text formatters or for automatic translation to a variety of formats suitable for input to text formatters. A copy made in an otherwise Transparent file format whose markup has been designed to thwart or discourage subsequent modification by readers is not Transparent. A copy that is not <quote>Transparent</quote> is called <quote>Opaque</quote>."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:128(para)
+msgid "Examples of suitable formats for Transparent copies include plain ASCII without markup, Texinfo input format, LaTeX input format, SGML or XML using a publicly available DTD, and standard-conforming simple HTML designed for human modification. Opaque formats include PostScript, PDF, proprietary formats that can be read and edited only by proprietary word processors, SGML or XML for which the DTD and/or processing tools are not generally available, and the machine-generated HTML produced by some word processors for output purposes only."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:141(para)
+msgid "The <quote>Title Page</quote> means, for a printed book, the title page itself, plus such following pages as are needed to hold, legibly, the material this License requires to appear in the title page. For works in formats which do not have any title page as such, <quote>Title Page</quote> means the text near the most prominent appearance of the work's title, preceding the beginning of the body of the text."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:153(title)
+msgid "2. VERBATIM COPYING"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:154(para)
+msgid "You may copy and distribute the <link linkend=\"fdl-document\">Document</link> in any medium, either commercially or noncommercially, provided that this License, the copyright notices, and the license notice saying this License applies to the Document are reproduced in all copies, and that you add no other conditions whatsoever to those of this License. You may not use technical measures to obstruct or control the reading or further copying of the copies you make or distribute. However, you may accept compensation in exchange for copies. If you distribute a large enough number of copies you must also follow the conditions in <link linkend=\"fdl-section3\">section 3</link>."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:169(para)
+msgid "You may also lend copies, under the same conditions stated above, and you may publicly display copies."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:176(title)
+msgid "3. COPYING IN QUANTITY"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:177(para)
+msgid "If you publish printed copies of the <link linkend=\"fdl-document\">Document</link> numbering more than 100, and the Document's license notice requires <link linkend=\"fdl-cover-texts\">Cover Texts</link>, you must enclose the copies in covers that carry, clearly and legibly, all these Cover Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on the back cover. Both covers must also clearly and legibly identify you as the publisher of these copies. The front cover must present the full title with all words of the title equally prominent and visible. You may add other material on the covers in addition. Copying with changes limited to the covers, as long as they preserve the title of the <link linkend=\"fdl-document\">Document</link> and satisfy these conditions, can be treated as verbatim copying in other respects."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:195(para)
+msgid "If the required texts for either cover are too voluminous to fit legibly, you should put the first ones listed (as many as fit reasonably) on the actual cover, and continue the rest onto adjacent pages."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:202(para)
+msgid "If you publish or distribute <link linkend=\"fdl-transparent\">Opaque</link> copies of the <link linkend=\"fdl-document\">Document</link> numbering more than 100, you must either include a machine-readable <link linkend=\"fdl-transparent\">Transparent</link> copy along with each Opaque copy, or state in or with each Opaque copy a publicly-accessible computer-network location containing a complete Transparent copy of the Document, free of added material, which the general network-using public has access to download anonymously at no charge using public-standard network protocols. If you use the latter option, you must take reasonably prudent steps, when you begin distribution of Opaque copies in quantity, to ensure that this Transparent copy will remain thus accessible at the stated location until at least one year after the last time you distribute an Opaque copy (directly or through your agents or retailers) of that edition to the public."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:222(para)
+msgid "It is requested, but not required, that you contact the authors of the <link linkend=\"fdl-document\">Document</link> well before redistributing any large number of copies, to give them a chance to provide you with an updated version of the Document."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:231(title)
+msgid "4. MODIFICATIONS"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:232(para)
+msgid "You may copy and distribute a <link linkend=\"fdl-modified\">Modified Version</link> of the <link linkend=\"fdl-document\">Document</link> under the conditions of sections <link linkend=\"fdl-section2\">2</link> and <link linkend=\"fdl-section3\">3</link> above, provided that you release the Modified Version under precisely this License, with the Modified Version filling the role of the Document, thus licensing distribution and modification of the Modified Version to whoever possesses a copy of it. In addition, you must do these things in the Modified Version:"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:248(title)
+msgid "A"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:249(para)
+msgid "Use in the <link linkend=\"fdl-title-page\">Title Page</link> (and on the covers, if any) a title distinct from that of the <link linkend=\"fdl-document\">Document</link>, and from those of previous versions (which should, if there were any, be listed in the History section of the Document). You may use the same title as a previous version if the original publisher of that version gives permission."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:264(title)
+msgid "B"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:265(para)
+msgid "List on the <link linkend=\"fdl-title-page\">Title Page</link>, as authors, one or more persons or entities responsible for authorship of the modifications in the <link linkend=\"fdl-modified\">Modified Version</link>, together with at least five of the principal authors of the <link linkend=\"fdl-document\">Document</link> (all of its principal authors, if it has less than five)."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:279(title)
+msgid "C"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:280(para)
+msgid "State on the <link linkend=\"fdl-title-page\">Title Page</link> the name of the publisher of the <link linkend=\"fdl-modified\">Modified Version</link>, as the publisher."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:291(title)
+msgid "D"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:292(para)
+msgid "Preserve all the copyright notices of the <link linkend=\"fdl-document\">Document</link>."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:301(title)
+msgid "E"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:302(para)
+msgid "Add an appropriate copyright notice for your modifications adjacent to the other copyright notices."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:311(title)
+msgid "F"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:312(para)
+msgid "Include, immediately after the copyright notices, a license notice giving the public permission to use the <link linkend=\"fdl-modified\">Modified Version</link> under the terms of this License, in the form shown in the Addendum below."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:324(title)
+msgid "G"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:325(para)
+msgid "Preserve in that license notice the full lists of <link linkend=\"fdl-invariant\"> Invariant Sections</link> and required <link linkend=\"fdl-cover-texts\">Cover Texts</link> given in the <link linkend=\"fdl-document\">Document's</link> license notice."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:337(title)
+msgid "H"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:338(para)
+msgid "Include an unaltered copy of this License."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:346(title)
+msgid "I"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:347(para)
+msgid "Preserve the section entitled <quote>History</quote>, and its title, and add to it an item stating at least the title, year, new authors, and publisher of the <link linkend=\"fdl-modified\">Modified Version </link>as given on the <link linkend=\"fdl-title-page\">Title Page</link>. If there is no section entitled <quote>History</quote> in the <link linkend=\"fdl-document\">Document</link>, create one stating the title, year, authors, and publisher of the Document as given on its Title Page, then add an item describing the Modified Version as stated in the previous sentence."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:365(title)
+msgid "J"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:366(para)
+msgid "Preserve the network location, if any, given in the <link linkend=\"fdl-document\">Document</link> for public access to a <link linkend=\"fdl-transparent\">Transparent</link> copy of the Document, and likewise the network locations given in the Document for previous versions it was based on. These may be placed in the <quote>History</quote> section. You may omit a network location for a work that was published at least four years before the Document itself, or if the original publisher of the version it refers to gives permission."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:383(title)
+msgid "K"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:384(para)
+msgid "In any section entitled <quote>Acknowledgements</quote> or <quote>Dedications</quote>, preserve the section's title, and preserve in the section all the substance and tone of each of the contributor acknowledgements and/or dedications given therein."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:396(title)
+msgid "L"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:397(para)
+msgid "Preserve all the <link linkend=\"fdl-invariant\">Invariant Sections</link> of the <link linkend=\"fdl-document\">Document</link>, unaltered in their text and in their titles. Section numbers or the equivalent are not considered part of the section titles."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:409(title)
+msgid "M"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:410(para)
+msgid "Delete any section entitled <quote>Endorsements</quote>. Such a section may not be included in the <link linkend=\"fdl-modified\">Modified Version</link>."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:421(title)
+msgid "N"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:422(para)
+msgid "Do not retitle any existing section as <quote>Endorsements</quote> or to conflict in title with any <link linkend=\"fdl-invariant\">Invariant Section</link>."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:432(para)
+msgid "If the <link linkend=\"fdl-modified\">Modified Version</link> includes new front-matter sections or appendices that qualify as <link linkend=\"fdl-secondary\">Secondary Sections</link> and contain no material copied from the Document, you may at your option designate some or all of these sections as invariant. To do this, add their titles to the list of <link linkend=\"fdl-invariant\">Invariant Sections</link> in the Modified Version's license notice. These titles must be distinct from any other section titles."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:444(para)
+msgid "You may add a section entitled <quote>Endorsements</quote>, provided it contains nothing but endorsements of your <link linkend=\"fdl-modified\">Modified Version</link> by various parties--for example, statements of peer review or that the text has been approved by an organization as the authoritative definition of a standard."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:453(para)
+msgid "You may add a passage of up to five words as a <link linkend=\"fdl-cover-texts\">Front-Cover Text</link>, and a passage of up to 25 words as a <link linkend=\"fdl-cover-texts\">Back-Cover Text</link>, to the end of the list of <link linkend=\"fdl-cover-texts\">Cover Texts</link> in the <link linkend=\"fdl-modified\">Modified Version</link>. Only one passage of Front-Cover Text and one of Back-Cover Text may be added by (or through arrangements made by) any one entity. If the <link linkend=\"fdl-document\">Document</link> already includes a cover text for the same cover, previously added by you or by arrangement made by the same entity you are acting on behalf of, you may not add another; but you may replace the old one, on explicit permission from the previous publisher that added the old one."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:470(para)
+msgid "The author(s) and publisher(s) of the <link linkend=\"fdl-document\">Document</link> do not by this License give permission to use their names for publicity for or to assert or imply endorsement of any <link linkend=\"fdl-modified\">Modified Version </link>."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:480(title)
+msgid "5. COMBINING DOCUMENTS"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:481(para)
+msgid "You may combine the <link linkend=\"fdl-document\">Document</link> with other documents released under this License, under the terms defined in <link linkend=\"fdl-section4\">section 4</link> above for modified versions, provided that you include in the combination all of the <link linkend=\"fdl-invariant\">Invariant Sections</link> of all of the original documents, unmodified, and list them all as Invariant Sections of your combined work in its license notice."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:492(para)
+msgid "The combined work need only contain one copy of this License, and multiple identical <link linkend=\"fdl-invariant\">Invariant Sections</link> may be replaced with a single copy. If there are multiple Invariant Sections with the same name but different contents, make the title of each such section unique by adding at the end of it, in parentheses, the name of the original author or publisher of that section if known, or else a unique number. Make the same adjustment to the section titles in the list of Invariant Sections in the license notice of the combined work."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:505(para)
+msgid "In the combination, you must combine any sections entitled <quote>History</quote> in the various original documents, forming one section entitled <quote>History</quote>; likewise combine any sections entitled <quote>Acknowledgements</quote>, and any sections entitled <quote>Dedications</quote>. You must delete all sections entitled <quote>Endorsements.</quote>"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:516(title)
+msgid "6. COLLECTIONS OF DOCUMENTS"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:517(para)
+msgid "You may make a collection consisting of the <link linkend=\"fdl-document\">Document</link> and other documents released under this License, and replace the individual copies of this License in the various documents with a single copy that is included in the collection, provided that you follow the rules of this License for verbatim copying of each of the documents in all other respects."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:527(para)
+msgid "You may extract a single document from such a collection, and dispbibute it individually under this License, provided you insert a copy of this License into the extracted document, and follow this License in all other respects regarding verbatim copying of that document."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:537(title)
+msgid "7. AGGREGATION WITH INDEPENDENT WORKS"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:538(para)
+msgid "A compilation of the <link linkend=\"fdl-document\">Document</link> or its derivatives with other separate and independent documents or works, in or on a volume of a storage or distribution medium, does not as a whole count as a <link linkend=\"fdl-modified\">Modified Version</link> of the Document, provided no compilation copyright is claimed for the compilation. Such a compilation is called an <quote>aggregate</quote>, and this License does not apply to the other self-contained works thus compiled with the Document , on account of their being thus compiled, if they are not themselves derivative works of the Document. If the <link linkend=\"fdl-cover-texts\">Cover Text</link> requirement of <link linkend=\"fdl-section3\">section 3</link> is applicable to these copies of the Document, then if the Document is less than one quarter of the entire aggregate, the Document's Cover Texts may be placed on covers that surround only the Document within the aggregate. Otherwise they must appear on covers around the whole aggregate."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:561(title)
+msgid "8. TRANSLATION"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:562(para)
+msgid "Translation is considered a kind of modification, so you may distribute translations of the <link linkend=\"fdl-document\">Document</link> under the terms of <link linkend=\"fdl-section4\">section 4</link>. Replacing <link linkend=\"fdl-invariant\"> Invariant Sections</link> with translations requires special permission from their copyright holders, but you may include translations of some or all Invariant Sections in addition to the original versions of these Invariant Sections. You may include a translation of this License provided that you also include the original English version of this License. In case of a disagreement between the translation and the original English version of this License, the original English version will prevail."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:580(title)
+msgid "9. TERMINATION"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:581(para)
+msgid "You may not copy, modify, sublicense, or distribute the <link linkend=\"fdl-document\">Document</link> except as expressly provided for under this License. Any other attempt to copy, modify, sublicense or distribute the Document is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:594(title)
+msgid "10. FUTURE REVISIONS OF THIS LICENSE"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:595(para)
+msgid "The <ulink type=\"http\" url=\"http://www.gnu.org/fsf/fsf.html\">Free Software Foundation</ulink> may publish new, revised versions of the GNU Free Documentation License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. See <ulink type=\"http\" url=\"http://www.gnu.org/copyleft\">http://www.gnu.org/copyleft/</ulink>."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:606(para)
+msgid "Each version of the License is given a distinguishing version number. If the <link linkend=\"fdl-document\">Document</link> specifies that a particular numbered version of this License <quote>or any later version</quote> applies to it, you have the option of following the terms and conditions either of that specified version or of any later version that has been published (not as a draft) by the Free Software Foundation. If the Document does not specify a version number of this License, you may choose any version ever published (not as a draft) by the Free Software Foundation."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:621(title)
+msgid "Addendum"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:622(para)
+msgid "To use this License in a document you have written, include a copy of the License in the document and put the following copyright and license notices just after the title page:"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:629(para)
+msgid "Copyright YEAR YOUR NAME."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:632(para)
+msgid "Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation; with the <link linkend=\"fdl-invariant\">Invariant Sections</link> being LIST THEIR TITLES, with the <link linkend=\"fdl-cover-texts\">Front-Cover Texts</link> being LIST, and with the <link linkend=\"fdl-cover-texts\">Back-Cover Texts</link> being LIST. A copy of the license is included in the section entitled <quote>GNU Free Documentation License</quote>."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:647(para)
+msgid "If you have no <link linkend=\"fdl-invariant\">Invariant Sections</link>, write <quote>with no Invariant Sections</quote> instead of saying which ones are invariant. If you have no <link linkend=\"fdl-cover-texts\">Front-Cover Texts</link>, write <quote>no Front-Cover Texts</quote> instead of <quote>Front-Cover Texts being LIST</quote>; likewise for <link linkend=\"fdl-cover-texts\">Back-Cover Texts</link>."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:657(para)
+msgid "If your document contains nontrivial examples of program code, we recommend releasing these examples in parallel under your choice of free software license, such as the <ulink type=\"http\" url=\"http://www.gnu.org/copyleft/gpl.html\"> GNU General Public License</ulink>, to permit their use in free software."
+msgstr ""
+
+#. Put one translator per line, in the form of NAME <EMAIL>, YEAR1, YEAR2
+#: C/gtk-doc-manual.xml:0(None)
+msgid "translator-credits"
+msgstr ""
+
--- /dev/null
+<?xml version="1.0" encoding="utf-8" standalone="no"?>
+<?xml-stylesheet type="text/xml" href="params.xsl"?>
+<!-- vim: set ai tw=80 ts=3 sw=3: -->
+<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "
+ http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
+<!ENTITY FDL SYSTEM "fdl-appendix.xml">
+<!ENTITY FDLlink "<link linkend='fdl'>included</link>">
+]>
+<!-- =============Document Header ============================= -->
+<book id="index" lang="sv">
+ <bookinfo>
+ <title>Handbok för GTK-Doc</title>
+ <edition>1.18</edition>
+ <abstract role="description"><para>Användarhandbok för utvecklare med användningsinstruktioner för GTK-Doc.</para></abstract>
+ <authorgroup>
+ <author>
+ <firstname>Chris</firstname>
+ <surname>Lyttle</surname>
+ <affiliation>
+ <address>
+ <email>chris@wilddev.net</email>
+ </address>
+ </affiliation>
+ </author>
+ <author>
+ <firstname>Dan</firstname>
+ <surname>Mueth</surname>
+ <affiliation>
+ <address>
+ <email>d-mueth@uchicago.edu</email>
+ </address>
+ </affiliation>
+ </author>
+ <author>
+ <firstname>Stefan</firstname>
+ <surname>Kost</surname>
+ <affiliation>
+ <address>
+ <email>ensonic@users.sf.net</email>
+ </address>
+ </affiliation>
+ </author>
+ </authorgroup>
+ <publisher role="maintainer">
+ <publishername>GTK-Doc-projektet</publishername>
+ <address><email>gtk-doc-list@gnome.org</email></address>
+ </publisher>
+ <copyright>
+ <year>2000, 2005</year>
+ <holder>Dan Mueth and Chris Lyttle</holder>
+ </copyright>
+ <copyright>
+ <year>2007-2011</year>
+ <holder>Stefan Sauer (Kost)</holder>
+ </copyright><copyright><year>2009</year><holder>Daniel Nylander (po@danielnylander.se)</holder></copyright><copyright><year>2004</year><holder>Marcus Rejås och Alexander Nordström (info@se.linux.org)</holder></copyright>
+
+ <!-- translators: uncomment this:
+ <copyright>
+ <year>2000</year>
+ <holder>ME-THE-TRANSLATOR (Latin translation)</holder>
+ </copyright>
+ -->
+
+ <legalnotice>
+ <para>Tillstånd att kopiera, distribuera och/eller modifiera detta dokument ges under villkoren i <citetitle>GNU Free Documentation License</citetitle>, version 1.1 eller senare, utgivet av Free Software Foundation utan standardavsnitt och omslagstexter. En kopia av licensen finns <link linkend="fdl">inkluderad</link>.</para>
+ <para>Flera namn på produkter och tjänster är registrerade varumärken. I de fall dessa namn förekommer i GNOME-dokumentation - och medlemmarna i GNOME-dokumentationsprojektet är medvetna om dessa varumärken - är de skrivna med versaler eller med inledande versal.</para>
+ </legalnotice>
+
+ <revhistory>
+ <!--revision>
+ <revnumber>1.18.1</revnumber>
+ <date>15 Sep 2011</date>
+ <authorinitials>sk</authorinitials>
+ <revremark>development version, markdown support</revremark>
+ </revision-->
+ <revision>
+ <revnumber>1.18</revnumber>
+ <date>14 sep 2011</date>
+ <authorinitials>sk</authorinitials>
+ <revremark>bug fixes, speedups, markdown support</revremark>
+ </revision>
+ <revision>
+ <revnumber>1.17</revnumber>
+ <date>26 Feb 2011</date>
+ <authorinitials>sk</authorinitials>
+ <revremark>urgent bug fix update</revremark>
+ </revision>
+ <revision>
+ <revnumber>1.16</revnumber>
+ <date>14 Jan 2011</date>
+ <authorinitials>sk</authorinitials>
+ <revremark>bugfixes, layout improvements</revremark>
+ </revision>
+ <revision>
+ <revnumber>1.15</revnumber>
+ <date>21 May 2010</date>
+ <authorinitials>sk</authorinitials>
+ <revremark>bug and regression fixes</revremark>
+ </revision>
+ <revision>
+ <revnumber>1.14</revnumber>
+ <date>28 March 2010</date>
+ <authorinitials>sk</authorinitials>
+ <revremark>bugfixes and performance improvements</revremark>
+ </revision>
+ <revision>
+ <revnumber>1.13</revnumber>
+ <date>18 December 2009</date>
+ <authorinitials>sk</authorinitials>
+ <revremark>broken tarball update</revremark>
+ </revision>
+ <revision>
+ <revnumber>1.12</revnumber>
+ <date>18 December 2009</date>
+ <authorinitials>sk</authorinitials>
+ <revremark>new tool features and bugfixes</revremark>
+ </revision>
+ <revision>
+ <revnumber>1.11</revnumber>
+ <date>16 Novemebr 2008</date>
+ <authorinitials>mal</authorinitials>
+ <revremark>GNOME doc-utils migration</revremark>
+ </revision>
+ </revhistory>
+
+ </bookinfo>
+
+ <!-- ======== Chapter 1: Introduction ======================== -->
+
+ <chapter id="introduction">
+ <title>Introduktion</title>
+
+ <para>
+ This chapter introduces GTK-Doc and gives an overview of what it is and
+ how it is used.
+ </para>
+
+ <sect1 id="whatisgtkdoc">
+ <title>Vad är GTK-Doc?</title>
+
+ <para>
+ GTK-Doc is used to document C code. It is typically used to document the public
+ API of libraries, such as the GTK+ and GNOME libraries. But it can also be
+ used to document application code.
+ </para>
+ </sect1>
+
+ <sect1 id="howdoesgtkdocwork">
+ <title>Hur fungerar GTK-Doc?</title>
+
+ <para>
+ GTK-Doc works by using documentation of functions placed inside the source files in
+ specially-formatted comment blocks, or documentation added to the template files
+ which GTK-Doc uses (though note that GTK-Doc will only document functions that
+ are declared in header files; it won't produce output for static functions).
+ </para>
+
+ <para>
+ GTK-Doc consists of a number of perl scripts, each performing a different step
+ in the process.
+ </para>
+
+ <para>
+ There are 5 main steps in the process:
+ </para>
+
+ <orderedlist>
+
+ <listitem>
+ <para>
+ <guilabel>Writing the documentation.</guilabel>
+
+ The author fills in the source files with the documentation for each
+ function, macro, union etc. (In the past information was entered in
+ generated template files, which is not recommended anymore).
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <guilabel>Gathering information about the code.</guilabel>
+
+ <application>gtkdoc-scan</application> scans the header files of the
+ code looking for declarations of functions, macros, enums, structs, and unions.
+ It creates the file <filename><module>-decl-list.txt</filename> containg a list of the
+ declarations, placing them into sections according to which header file they
+ are in. On the first run this file is copied to <filename><module>-sections.txt</filename>.
+ The author can rearrange the sections, and the order of the
+ declarations within them, to produce the final desired order.
+ The second file it generates is <filename><module>-decl.txt</filename>.
+ This file contains the full declarations found by the scanner. If for
+ some reason one would like some symbols to show up in the docs, where
+ the full declaration cannot be found by the scanner or the declaration
+ should appear differently, one can place enties similar to the ones in
+ <filename><module>-decl.txt</filename> into <filename><module>-overrides.txt</filename>.
+
+ <application>gtkdoc-scanobj</application> can also be used to dynamically query a library about
+ any GtkObject subclasses it exports. It saves information about each
+ object's position in the class hierarchy and about any GTK Args and Signals it
+ provides.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <guilabel>Generating the "template" files.</guilabel>
+
+ <application>gtkdoc-mktmpl</application> creates a number of files in
+ the <filename class="directory">tmpl/</filename> subdirectory, using the
+ information gathered in the first step. (Note that this can be run
+ repeatedly. It will try to ensure that no documentation is ever lost.)
+ </para>
+ <note>
+ <para>
+ Since GTK-Doc 1.9 the templates can be avoided. We encourage people to keep
+ documentation in the code. <application>gtkdocize</application> supports now
+ a <option>--flavour no-tmpl</option> option that chooses a makefile that
+ skips tmpl usage totally.
+ If you have never changed file in tmpl by hand, please remove the dir
+ (e.g. from version control system).
+ </para>
+ </note>
+ </listitem>
+
+ <listitem>
+ <para>
+ <guilabel>Generating the SGML/XML and HTML/PDF.</guilabel>
+
+ <application>gtkdoc-mkdb</application> turns the template files into
+ SGML or XML files in the <filename class="directory">sgml/</filename>
+ or <filename class="directory">xml/</filename> subdirectory.
+ If the source code contains documentation on functions, using the
+ special comment blocks, it gets merged in here. If there are no tmpl files used
+ it only reads docs from sources and introspection data. We recommend
+ to use Docbook XML.
+ </para>
+ <para>
+ <application>gtkdoc-mkhtml</application> turns the SGML/XML files into HTML
+ files in the <filename class="directory">html/</filename> subdirectory.
+ Likewise <application>gtkdoc-mkpdf</application> turns the SGML/XML files into a PDF
+ document called <filename><package>.pdf</filename>.
+ </para>
+ <para>
+ Files in <filename class="directory">sgml/</filename> or
+ <filename class="directory">xml/</filename> and <filename class="directory">html/</filename>
+ directories are always overwritten. One should never edit them directly.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <guilabel>Fixing up cross-references between documents.</guilabel>
+
+ After installing the HTML files, <application>gtkdoc-fixxref</application> can be run to fix up any
+ cross-references between separate documents. For example, the GTK+
+ documentation contains many cross-references to types documented in the GLib manual.
+
+ When creating the source tarball for distribution, <application>gtkdoc-rebase</application>
+ turns all external links into web-links. When installing distributed (pregenerated) docs
+ the same application will try to turn links back to local links
+ (where those docs are installed).
+ </para>
+ </listitem>
+ </orderedlist>
+
+ </sect1>
+
+ <sect1 id="gettinggtkdoc">
+ <title>Hämta GTK-Doc</title>
+
+ <sect2 id="requirements">
+ <title>Krav</title>
+ <para>
+ <guilabel>Perl v5</guilabel> - the main scripts are in Perl.
+ </para>
+ <para>
+ <guilabel>DocBook DTD v3.0</guilabel> - This is the DocBook SGML DTD.
+ <ulink url="http://www.ora.com/davenport" type="http">http://www.ora.com/davenport</ulink>
+ </para>
+ <para>
+ <guilabel>Jade v1.1</guilabel> - This is a DSSSL processor for converting SGML to various formats.
+ <ulink url="http://www.jclark.com/jade" type="http">http://www.jclark.com/jade</ulink>
+ </para>
+ <para>
+ <guilabel>Modular DocBook Stylesheets</guilabel>
+ This is the DSSSL code to convert DocBook to HTML (and a few other
+ formats). It's used together with jade.
+ I've customized the DSSSL code slightly, in gtk-doc.dsl, to colour
+ the program code listings/declarations, and to support global
+ cross-reference indices in the generated HTML.
+ <ulink url="http://nwalsh.com/docbook/dsssl" type="http">http://nwalsh.com/docbook/dsssl</ulink>
+ </para>
+ <para>
+ <guilabel>docbook-to-man</guilabel> - if you want to create man pages from the DocBook.
+ I've customized the 'translation spec' slightly, to capitalise section
+ headings and add the 'GTK Library' title at the top of the pages and the
+ revision date at the bottom.
+ There is a link to this on <ulink url="http://www.ora.com/davenport" type="http">http://www.ora.com/davenport</ulink>
+ NOTE: This does not work yet.
+ </para>
+ </sect2>
+
+ <sect2 id="installation">
+ <title>Installation</title>
+ <para>
+ There is no standard place where the DocBook Modular Stylesheets are installed.
+ </para>
+ <para>
+ GTK-Doc's configure script searches these 3 directories automatically:
+ </para>
+ <para>
+ <filename> /usr/lib/sgml/stylesheets/nwalsh-modular </filename> (used by RedHat)
+ </para>
+ <para>
+ <filename> /usr/lib/dsssl/stylesheets/docbook </filename> (used by Debian)
+ </para>
+ <para>
+ <filename> /usr/share/sgml/docbkdsl </filename> (used by SuSE)
+ </para>
+ <para>
+ If you have the stylesheets installed somewhere else, you need to configure
+ GTK-Doc using the option:
+ <command> --with-dsssl-dir=<PATH_TO_TOPLEVEL_STYLESHEETS_DIR> </command>
+ </para>
+ </sect2>
+
+ </sect1>
+
+ <!-- not realy worth a section
+ <sect1 id="whentousegtkdoc">
+ <title>When to Use GTK-Doc</title>
+
+ <para>
+ (What things GTK-Doc should, and shouldn't, be used for.)
+ (- ???)
+ (- non C-based projects)
+ (+ Tutorials)
+ </para>
+
+ </sect1>
+ -->
+
+ <sect1 id="aboutgtkdoc">
+ <title>Om GTK-Doc</title>
+
+ <para>
+ (FIXME)
+ </para>
+
+ <para>
+ (History, authors, web pages, license, future plans,
+ comparison with other similar systems.)
+ </para>
+
+ </sect1>
+
+ <sect1 id="aboutthismanual">
+ <title>Om denna handbok</title>
+
+ <para>
+ (FIXME)
+ </para>
+
+ <para>
+ (who it is meant for, where you can get it, license)
+ </para>
+
+ </sect1>
+
+ </chapter>
+
+ <chapter id="settingup">
+ <title>Setting up your project</title>
+
+ <para>
+ The next sections describe what steps to perform to integrate GTK-Doc into
+ your project. Theses sections assume we work on a project called 'meep'.
+ This project contains a library called 'libmeep' and
+ an end-user app called 'meeper'. We also assume you will be using autoconf
+ and automake. In addition section <link linkend="plain_makefiles">plain
+ makefiles or other build systems</link> will describe the basics needed to
+ work in a different build setup.
+ </para>
+
+ <sect1 id="settingup_docfiles">
+ <title>Setting up a skeleton documentation</title>
+
+ <para>
+ Under your top-level project directory create folders called docs/reference
+ (this way you can also have docs/help for end-user documentation).
+ It is recommended to create another subdirectory with the name of the doc-package.
+ For packages with just one library this step is not necessary.
+ </para>
+
+ <para>
+ This can then look as shown below:
+ <example><title>Example directory structure</title>
+ <programlisting>
+<![CDATA[
+meep/
+ docs/
+ reference/
+ libmeep/
+ meeper/
+ src/
+ libmeep/
+ meeper/
+]]>
+ </programlisting>
+ </example>
+ </para>
+ </sect1>
+
+ <sect1 id="settingup_autoconf">
+ <title>Integration with autoconf</title>
+
+ <para>
+ Very easy! Just add one line to your <filename>configure.ac</filename> script.
+ </para>
+
+ <para>
+ <example><title>Integration with autoconf</title>
+ <programlisting>
+<![CDATA[
+# check for gtk-doc
+GTK_DOC_CHECK([1.14],[--flavour no-tmpl])
+]]>
+ </programlisting>
+ </example>
+ </para>
+
+ <para>
+ This will require all developers to have gtk-doc installed. If it is
+ okay for your project to have optional api-doc build setup, you can
+ solve this as below. Keep it as is, as gtkdocize is looking for
+ <function>GTK_DOC_CHECK</function> at the start of a line.
+ <example><title>Keep gtk-doc optional</title>
+ <programlisting>
+<![CDATA[
+# check for gtk-doc
+m4_ifdef([GTK_DOC_CHECK], [
+GTK_DOC_CHECK([1.14],[--flavour no-tmpl])
+],[
+AM_CONDITIONAL([ENABLE_GTK_DOC], false)
+])
+]]>
+ </programlisting>
+ </example>
+ </para>
+
+ <para>
+ The first argument is used to check for the gtkdocversion at configure time.
+ The 2nd, optional argument is used by <application>gtkdocize</application>.
+ The <symbol>GTK_DOC_CHECK</symbol> macro also adds several configure switches:
+ </para>
+ <orderedlist>
+ <listitem><para>--with-html-dir=PATH : path to installed docs</para></listitem>
+ <listitem><para>--enable-gtk-doc : use gtk-doc to build documentation [default=no]</para></listitem>
+ <listitem><para>--enable-gtk-doc-html : build documentation in html format [default=yes]</para></listitem>
+ <listitem><para>--enable-gtk-doc-pdf : build documentation in pdf format [default=no]</para></listitem>
+ </orderedlist>
+
+ <important>
+ <para>
+ GTK-Doc is disabled by default! Remember to pass the option
+ <option>'--enable-gtk-doc'</option> to the next
+ <filename>configure</filename> run. Otherwise pregenerated documentation is installed
+ (which makes sense for users but not for developers).
+ </para>
+ </important>
+
+ <para>
+ Furthermore it is recommended that you have the following line inside
+ you <filename>configure.ac</filename> script.
+ This allows <application>gtkdocize</application> to automatically copy the
+ macro definition for <function>GTK_DOC_CHECK</function> to your project.
+ </para>
+
+ <para>
+ <example><title>Förberedelse för gtkdocize</title>
+ <programlisting>
+<![CDATA[
+AC_CONFIG_MACRO_DIR(m4)
+]]>
+ </programlisting>
+ </example>
+ </para>
+ </sect1>
+
+ <sect1 id="settingup_automake">
+ <title>Integration med automake</title>
+
+ <para>
+ First copy the <filename>Makefile.am</filename> from the examples subdirectory of the gtkdoc-sources
+ to your project's API documentation directory (
+ <filename class="directory">./docs/reference/<package></filename>).
+ If you have multiple doc-packages repeat this for each one.
+ </para>
+
+ <para>
+ The next step is to edit the settings inside the <filename>Makefile.am</filename>.
+ All the settings have a comment above that describes their purpose.
+ Most settings are extra flags passed to the respective tools. Every tool
+ has a variable of the form <option><TOOLNAME>_OPTIONS</option>.
+ All the tools support <option>--help</option> to list the supported
+ parameters.
+ </para>
+
+ <!-- FIXME: explain options ? -->
+
+ <para>
+ You may also want to enable GTK-Doc for the distcheck make target. Just
+ add the one line shown in the next example to your top-level
+ <filename>Makefile.am</filename>:
+ </para>
+
+ <para>
+ <example><title>Enable GTK-Doc during make distcheck</title>
+ <programlisting>
+<![CDATA[
+DISTCHECK_CONFIGURE_FLAGS=--enable-gtk-doc
+]]>
+ </programlisting>
+ </example>
+ </para>
+
+ </sect1>
+
+ <sect1 id="settingup_autogen">
+ <title>Integration with autogen</title>
+
+ <para>
+ Most projects will have an <filename>autogen.sh</filename> script to
+ setup the build infrastructure after a checkout from version control
+ system (such as cvs/svn/git). GTK-Doc comes with a tool called
+ <application>gtkdocize</application> which can be used in such a script.
+ It should be run before autoheader, automake or autoconf.
+ </para>
+
+ <para>
+ <example><title>Running gtkdocize from autogen.sh</title>
+ <programlisting>
+<![CDATA[
+gtkdocize || exit 1
+]]>
+ </programlisting>
+ </example>
+ </para>
+
+ <para>
+ When running <application>gtkdocize</application> it copies
+ <filename>gtk-doc.make</filename> to your project root (or any directory
+ specified by the <option>--docdir</option> option).
+ It also checks you configure script for the <function>GTK_DOC_CHECK</function>
+ invocation. This macro can be used to pass extra parameters to
+ <application>gtkdocize</application>.
+ </para>
+
+ <para>
+ Historically GTK-Doc was generating template files where developers entered the docs.
+ This turned out to be not so good (e.g. the need for having generated
+ files under version control).
+ Since GTK-Doc 1.9 the tools can get all the information from source comments
+ and thus the templates can be avoided. We encourage people to keep
+ documentation in the code. <application>gtkdocize</application> supports now
+ a <option>--flavour no-tmpl</option> option that chooses a makefile that skips
+ tmpl usage totally. Besides adding the option directly to the command
+ invocation, they can be added also to an environment variable called <symbol>GTKDOCIZE_FLAGS</symbol>
+ or set as a 2nd parameter in <symbol>GTK_DOC_CHECK</symbol> macro in the configure script.
+ If you have never changed file in tmpl by hand and migrating from older gtkdoc versions,
+ please remove the dir (e.g. from version control system).
+ </para>
+ </sect1>
+
+ <sect1 id="settingup_firstrun">
+ <title>Running the doc build</title>
+
+ <para>
+ After the previous steps it's time to run the build. First we need to
+ rerun <filename>autogen.sh</filename>. If this script runs configure for
+ you, then give it the <option>--enable-gtk-doc</option> option.
+ Otherwise manually run <filename>configure</filename> with this option
+ afterwards.
+ </para>
+ <para>
+ The first make run generates several additional files in the doc-dirs.
+ The important ones are:
+ <filename><package>.types</filename>,
+ <filename><package>-docs.xml</filename> (in the past .sgml),
+ <filename><package>-sections.txt</filename>.
+ </para>
+ <para>
+ <example><title>Running the doc build</title>
+ <programlisting>
+<![CDATA[
+./autogen.sh --enable-gtk-doc
+make
+]]>
+ </programlisting>
+ </example>
+ </para>
+ <para>
+ Now you can point your browser to <filename>docs/reference/<package>/index.html</filename>.
+ Yes, it's a bit disappointing still. But hang-on, during the next chapter we
+ tell you how to fill the pages with life.
+ </para>
+ </sect1>
+
+ <sect1 id="settingup_vcs">
+ <title>Integration with version control systems</title>
+
+ <para>
+ As a rule of the thumb, it's those files you edit, that should go under
+ version control. For typical projects it's these files:
+ <filename><package>.types</filename>,
+ <filename><package>-docs..xml</filename> (in the past .sgml),
+ <filename><package>-sections.txt</filename>,
+ <filename>Makefile.am</filename>
+ </para>
+ </sect1>
+
+ <sect1 id="plain_makefiles">
+ <title>Integration with plain makefiles or other build systems</title>
+
+ <para>
+ In the case one does not want to use automake and therfore
+ <filename>gtk-doc.mak</filename> one will need to call the gtkdoc tools
+ in the right order in own makefiles (or other build tools).
+ </para>
+
+ <para>
+ <example><title>Documentation build steps</title>
+ <programlisting>
+<![CDATA[
+DOC_MODULE=meep
+// sources have changed
+gtkdoc-scan --module=$(DOC_MODULE) --source-dir=...
+gtkdoc-scangobj --module=$(DOC_MODULE)
+gtkdoc-mkdb --module=$(DOC_MODULE) --output-format=xml
+// xml files have changed
+mkdir html
+cd html && gtkdoc-mkhtml $(DOC_MODULE) ../meep-docs.xml
+gtkdoc-fixxref --module=$(DOC_MODULE) --module-dir=html
+]]>
+ </programlisting>
+ </example>
+ </para>
+
+ <para>
+ One will need to look at the <filename>Makefile.am</filename> and
+ <filename>gtk-doc.mak</filename> to pick the extra options needed.
+ </para>
+ </sect1>
+
+ </chapter>
+
+ <chapter id="documenting">
+ <title>Documenting the code</title>
+
+ <para>
+ GTK-Doc uses source code comment with a special syntax for code documentation.
+ Further it retrieves information about your project structure from other
+ sources. During the next section you will find all information about the
+ syntax of the comments.
+ </para>
+
+ <note>
+ <title>Documentation placement</title>
+ <para>
+ In the past most documentation had to be filled into files residing
+ inside the <filename>tmpl</filename> directory. This has the
+ disadvantages that the information is often not updated and also that
+ the file tend to cause conflicts with version control systems.
+ </para>
+ <para>
+ The avoid the aforementioned problems we suggest putting the
+ documentation inside the sources. This manual will only describe this
+ way of documenting code.
+ </para>
+ </note>
+
+ <para>
+ The scanner can handle the majority of c headers fine. In the case of
+ receiving warnings from the scanner that look like a special case, one can
+ hint GTK-Doc to skip over them.
+ <example><title>GTK-Doc comment block</title>
+ <programlisting>
+<![CDATA[
+#ifndef __GTK_DOC_IGNORE__
+/* unparseable code here */
+#endif
+]]>
+ </programlisting>
+ </example>
+ </para>
+
+ <!-- -->
+
+ <sect1 id="documenting_syntax">
+ <title>Documentation comments</title>
+
+ <para>
+ A multiline comment that starts with an additional '*' marks a
+ documentation block that will be processed by the GTK-Doc tools.
+ <example><title>GTK-Doc comment block</title>
+ <programlisting>
+<![CDATA[
+/**
+ * identifier:
+ * documentation ...
+ */
+]]>
+ </programlisting>
+ </example>
+ </para>
+
+ <para>
+ The 'identifier' is one line with the name of the item the comment is
+ related to. The syntax differs a little depending on the item.
+ (TODO add table showing identifiers)
+ </para>
+
+ <para>
+ The 'documentation' block is also different for each symbol type. Symbol
+ types that get parameters such as functions or macros have the parameter
+ description first followed by a blank line (just a '*').
+ Afterwards follows the detailed description. All lines (outside program-
+ listings and CDATA sections) just containing a ' *' (blank-asterisk) are
+ converted to paragraph breaks.
+ If you don't want a paragraph break, change that into ' * '
+ (blank-asterisk-blank-blank).
+ </para>
+
+ <tip>
+ <para>
+ When documenting code, describe two apsects:
+ <itemizedlist>
+ <listitem>
+ <para>
+ What it is: The name for a class or function can sometimes
+ be misleading for people coming from a different background.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ What it does: Tell about common uses. Put it in releation
+ with the other API.
+ </para>
+ </listitem>
+ </itemizedlist>
+ </para>
+ </tip>
+
+ <para>
+ One advantage of hyper-text over plain-text is the ability to have links
+ in the document. Writing the correct markup for a link can be tedious
+ though. GTK-Doc comes to help by providing several useful abbreviations.
+ <itemizedlist>
+ <listitem>
+ <para>
+ Use function() to refer to functions or macros which take arguments.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Use @param to refer to parameters. Also use this when referring to
+ parameters of other functions, related to the one being described.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Use %constant to refer to a constant, e.g. %G_TRAVERSE_LEAFS.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Use #symbol to refer to other types of symbol, e.g. structs and
+ enums and macros which don't take arguments.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Use #Object::signal to refer to a GObject signal
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Use #Object:property to refer to a GObject property
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Use #Struct.field to refer to a field inside a structure.
+ </para>
+ </listitem>
+ </itemizedlist>
+ </para>
+
+ <tip>
+ <para>
+ If you need to use the special characters '<', '>', '()', '@',
+ '%', or '#' in your documentation without GTK-Doc changing them you
+ can use the XML entities "&lt;", "&gt;", "&lpar;",
+ "&rpar;", "&commat;", "&percnt;" and "&num;"
+ respectively or escape them with a backslash '\'.
+ </para>
+ </tip>
+
+ <para>
+ DocBook can do more than just links. One can also have lists, tables and
+ examples. To enable the usage of docbook SGML/XML tags inside
+ doc-comments you need to have <option>--xml-mode</option> or
+ <option>--sgml-mode</option> in the variable
+ <symbol>MKDB_OPTIONS</symbol> inside <filename>Makefile.am</filename>.
+ </para>
+
+ <para>
+ Since GTK-Doc-1.18 the tool supports a subset or the
+ <ulink url="http://daringfireball.net/projects/markdown/">markdown language</ulink>.
+ One can use it for sub-headings and simple itemized lists. On older
+ GTK-Doc versions the content will be rendered as it (the list items will
+ appear in one line separated by dashes).
+ <example><title>GTK-Doc comment block using markdown</title>
+ <programlisting>
+<![CDATA[
+/**
+ * identifier:
+ *
+ * documentation ...
+ *
+ * # Sub heading #
+ *
+ * more documentation:
+ * - list item 1
+ * - list item 2
+ *
+ * Even more docs.
+ */
+]]>
+ </programlisting>
+ </example>
+ </para>
+
+ <tip>
+ <para>
+ As already mentioned earlier GTK-Doc is for documenting public API. Thus
+ one cannot write documentation for static symbols. Nevertheless it is good
+ to comment those symbols too. This helps other to understand you code.
+ Therefore we recommend to comment these using normal comments (without the
+ 2nd '*' in the first line).
+ If later the function needs to be made public, all one needs to do is to
+ add another '*' in the comment block and insert the symbol name at the
+ right place inside the sections file.
+ </para>
+ </tip>
+ </sect1>
+
+ <sect1 id="documenting_sections">
+ <title>Documenting sections</title>
+
+ <para>
+ Each section of the documentation contains information about one class
+ or module. To introduce the component one can write a section block.
+ The short description is also used inside the table of contents.
+ All the @fields are optional.
+ </para>
+
+ <para>
+ <example><title>Section comment block</title>
+ <programlisting>
+<![CDATA[
+/**
+ * SECTION:meepapp
+ * @short_description: the application class
+ * @title: Meep application
+ * @section_id:
+ * @see_also: #MeepSettings
+ * @stability: Stable
+ * @include: meep/app.h
+ * @image: application.png
+ *
+ * The application class handles ...
+ */
+]]>
+ </programlisting>
+ </example>
+ </para>
+
+ <variablelist>
+ <varlistentry>
+ <term>SECTION:<name></term>
+ <listitem>
+ <para>
+ The name links the section documentation to the respective part in
+ the <filename><package>-sections.txt</filename> file. The
+ name give here should match the <FILE> tag in the
+ <filename><package>-sections.txt</filename> file.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>@short_description</term>
+ <listitem>
+ <para>
+ A one line description of the section, that later will appear after
+ the links in the TOC and at the top of the section page.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>@title</term>
+ <listitem>
+ <para>
+ The section title defaults to <name> from the SECTION
+ declaration. It can be overridden with the @title field.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>@section_id</term>
+ <listitem>
+ <para>
+ Overrides the use of title as a section identifier. For GObjects
+ the <title> is used as a section_id and for other sections
+ it is <MODULE>-<title>.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>@see_also</term>
+ <listitem>
+ <para>
+ A list of symbols that are related to this section.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>@stability</term>
+ <listitem>
+ <para>
+ A informal description of the stability level this API has.
+ We recommend the use of one of these terms:
+ <itemizedlist>
+ <listitem>
+ <para>
+ Stable
+ - The intention of a Stable interface is to enable arbitrary
+ third parties to develop applications to these interfaces,
+ release them, and have confidence that they will run on all
+ minor releases of the product (after the one in which the
+ interface was introduced, and within the same major release).
+ Even at a major release, incompatible changes are expected
+ to be rare, and to have strong justifications.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Unstable
+ - Unstable interfaces are experimental or transitional.
+ They are typically used to give outside developers early
+ access to new or rapidly changing technology, or to provide
+ an interim solution to a problem where a more general
+ solution is anticipated.
+ No claims are made about either source or binary
+ compatibility from one minor release to the next.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Private
+ - An interface that can be used within the GNOME stack
+ itself, but that is not documented for end-users. Such
+ functions should only be used in specified and documented
+ ways.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Internal
+ - An interface that is internal to a module and does not
+ require end-user documentation. Functions that are
+ undocumented are assumed to be Internal.
+ </para>
+ </listitem>
+ </itemizedlist>
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>@include</term>
+ <listitem>
+ <para>
+ The <literal>#include</literal> files to show in the section
+ synopsis (a comma separated list), overriding the global
+ value from the <link linkend="metafiles_sections">section
+ file</link> or command line. This item is optional.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>@image</term>
+ <listitem>
+ <para>
+ The image to display at the top of the reference page for this
+ section. This will often be some sort of a diagram to illustrate
+ the visual appearance of a class or a diagram of its relationship
+ to other classes. This item is optional.
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+
+ <tip>
+ <para>
+ To avoid unnecessary recompilation after doc-changes put the section
+ docs into the c-source where possible.
+ </para>
+ </tip>
+
+ </sect1>
+
+ <sect1 id="documenting_symbols">
+ <title>Documenting symbols</title>
+
+ <para>
+ Each symbol (function, macro, struct, enum, signal and property) is
+ documented in a separate block. The block is best placed close to the
+ definition of the symbols so that it is easy to keep them in sync.
+ Thus functions are usually documented in the c-source and macros,
+ structs and enums in the header file.
+ </para>
+
+ <sect2><title>General tags</title>
+
+ <para>
+ You can add versioning information to all documentation elements to tell
+ when an api was introduced, or when it was deprecated.
+ </para>
+
+ <variablelist><title>Versioning Tags</title>
+ <varlistentry><term>Since:</term>
+ <listitem>
+ <para>
+ Description since which version of the code the API is available.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry><term>Deprecated:</term>
+ <listitem>
+ <para>
+ Paragraph denoting that this function should no be used anymore.
+ The description should point the reader to the new API.
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+
+ <para>
+ (FIXME : Stability information)
+ </para>
+
+ <example><title>General tags</title>
+ <programlisting>
+<![CDATA[
+/**
+ * foo_get_bar:
+ * @foo: some foo
+ *
+ * Retrieves @foo's bar.
+ *
+ * Returns: @foo's bar
+ *
+ * Since: 2.6
+ * Deprecated: 2.12: Use foo_baz_get_bar() instead.
+ **/
+Bar *
+foo_get_bar(Foo *foo)
+{
+...
+]]>
+ </programlisting>
+ </example>
+ </sect2>
+
+ <sect2><title>Function comment block</title>
+
+ <para>
+ Please remember to:
+ <itemizedlist>
+ <listitem>
+ <para>
+ Document whether returned objects, lists, strings, etc, should be
+ freed/unrefed/released.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Document whether parameters can be NULL, and what happens if they are.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Mention interesting pre-conditions and post-conditions where appropriate.
+ </para>
+ </listitem>
+ </itemizedlist>
+ </para>
+
+ <para>
+ Gtk-doc assumes all symbols (macros, functions) starting with '_' are
+ private. They are treated like static functions.
+ </para>
+
+ <para>
+
+ Also, take a look at gobject introspection annotation tags:
+ http://live.gnome.org/GObjectIntrospection/Annotations
+ </para>
+
+ <example><title>Function comment block</title>
+ <programlisting>
+<![CDATA[
+/**
+ * function_name:
+ * @par1: description of parameter 1. These can extend over more than
+ * one line.
+ * @par2: description of parameter 2
+ * @...: a %NULL-terminated list of bars
+ *
+ * The function description goes here. You can use @par1 to refer to parameters
+ * so that they are highlighted in the output. You can also use %constant
+ * for constants, function_name2() for functions and #GtkWidget for links to
+ * other declarations (which may be documented elsewhere).
+ *
+ * Returns: an integer.
+ *
+ * Since: 2.2
+ * Deprecated: 2.18: Use other_function() instead.
+ */
+]]>
+ </programlisting>
+ </example>
+
+ <variablelist><title>Function tags</title>
+ <varlistentry><term>Returns:</term>
+ <listitem>
+ <para>
+ Paragraph describing the returned result.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry><term>@...:</term>
+ <listitem>
+ <para>
+ In case the function has variadic arguments, you should use this
+ tag (@Varargs: does also work for historic reasons).
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+
+ </sect2>
+
+ <sect2><title>Property comment block</title>
+
+ <example><title>Property comment block</title>
+ <programlisting>
+<![CDATA[
+/**
+ * SomeWidget:some-property:
+ *
+ * Here you can document a property.
+ */
+g_object_class_install_property (object_class, PROP_SOME_PROPERTY, ...);
+]]>
+ </programlisting>
+ </example>
+
+ </sect2>
+
+ <sect2><title>Signal comment block</title>
+
+ <para>
+ Please remember to:
+ <itemizedlist>
+ <listitem>
+ <para>
+ Document when the signal is emitted and whether it is emitted before
+ or after other signals.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Document what an application might do in the signal handler.
+ </para>
+ </listitem>
+ </itemizedlist>
+ </para>
+
+ <example><title>Signal comment block</title>
+ <programlisting>
+<![CDATA[
+/**
+ * FooWidget::foobarized:
+ * @widget: the widget that received the signal
+ * @foo: some foo
+ * @bar: some bar
+ *
+ * The ::foobarized signal is emitted each time someone tries to foobarize @widget.
+ */
+foo_signals[FOOBARIZE] =
+ g_signal_new ("foobarize",
+ ...
+]]>
+ </programlisting>
+ </example>
+
+ </sect2>
+
+ <sect2><title>Struct comment block</title>
+ <example><title>Struct comment block</title>
+ <programlisting>
+<![CDATA[
+/**
+ * FooWidget:
+ * @bar: some #gboolean
+ *
+ * This is the best widget, ever.
+ */
+typedef struct _FooWidget {
+ /*< private >*/
+ GtkWidget parent;
+
+ /*< public >*/
+ gboolean bar;
+} FooWidget;
+]]>
+ </programlisting>
+ </example>
+
+ <para>
+ Use <code>/*< private >*/</code> before the private struct fields
+ you want to hide. Use <code>/*< public >*/</code> for the reverse
+ behaviour.
+ </para>
+
+ <para>
+ Struct comment blocks can also be used for GObjects and GObjectClasses.
+ It is usualy a good idea to add a comment blco for a class, if it has
+ vmethods (as this is how they can be documented). For the GObject
+ itself one can use the related section docs, having a separate block
+ for the instance struct would be useful if the instance has public
+ fields. One disadvantage here is that this creates two index entries
+ of the same name (the structure and the section).
+ </para>
+
+ </sect2>
+
+ <sect2><title>Enum comment block</title>
+ <example><title>Enum comment block</title>
+ <programlisting>
+<![CDATA[
+/**
+ * Something:
+ * @SOMETHING_FOO: something foo
+ * @SOMETHING_BAR: something bar
+ *
+ * Enum values used for the thing, to specify the thing.
+ *
+ **/
+typedef enum {
+ SOMETHING_FOO,
+ SOMETHING_BAR,
+ /*< private >*/
+ SOMETHING_COUNT
+} Something;
+]]>
+ </programlisting>
+ </example>
+
+ <para>
+ Use <code>/*< private >*/</code> before the private enum values
+ you want to hide. Use <code>/*< public >*/</code> for the reverse
+ behaviour.
+ </para>
+
+ </sect2>
+ </sect1>
+
+ <sect1 id="documenting_docbook">
+ <title>Useful DocBook tags</title>
+
+ <para>
+ Here are some DocBook tags which are most useful when documenting the
+ code.
+ </para>
+
+ <para>
+ To link to another section in the GTK docs:
+
+ <informalexample>
+ <programlisting>
+<![CDATA[
+<link linkend="glib-Hash-Tables">Hash Tables</link>
+]]>
+ </programlisting>
+ </informalexample>
+ The linkend is the SGML/XML id on the top item of the page you want to link to.
+ For most pages this is currently the part ("gtk", "gdk", "glib") and then
+ the page title ("Hash Tables"). For widgets it is just the class name.
+ Spaces and underscores are converted to '-' to conform to SGML/XML.
+ </para>
+
+ <para>
+ To refer to an external function, e.g. a standard C function:
+ <informalexample>
+ <programlisting>
+<![CDATA[
+<function>...</function>
+]]>
+ </programlisting>
+ </informalexample>
+ </para>
+
+ <para>
+ To include example code:
+ <informalexample>
+ <programlisting>
+<![CDATA[
+<example>
+ <title>Using a GHashTable.</title>
+ <programlisting>
+ ...
+ </programlisting>
+</example>
+]]>
+ </programlisting>
+ </informalexample>
+ or possibly this, for very short code fragments which don't need a title:
+ <informalexample>
+ <programlisting>
+<![CDATA[
+<informalexample>
+ <programlisting>
+ ...
+ </programlisting>
+</informalexample>
+]]>
+ </programlisting>
+ </informalexample>
+ For the latter GTK-Doc also supports an abbreviation:
+<![CDATA[
+|[
+ ...
+]|
+]]>
+ </para>
+
+ <para>
+ To include bulleted lists:
+ <informalexample>
+ <programlisting>
+<![CDATA[
+<itemizedlist>
+ <listitem>
+ <para>
+ ...
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ ...
+ </para>
+ </listitem>
+</itemizedlist>
+]]>
+ </programlisting>
+ </informalexample>
+ </para>
+
+ <para>
+ To include a note which stands out from the text:
+ <informalexample>
+ <programlisting>
+<![CDATA[
+<note>
+ <para>
+ Make sure you free the data after use.
+ </para>
+</note>
+]]>
+ </programlisting>
+ </informalexample>
+ </para>
+
+ <para>
+ To refer to a type:
+ <informalexample>
+ <programlisting>
+<![CDATA[
+<type>unsigned char</type>
+]]>
+ </programlisting>
+ </informalexample>
+ </para>
+
+ <para>
+ To refer to an external structure (not one described in the GTK docs):
+ <informalexample>
+ <programlisting>
+<![CDATA[
+<structname>XFontStruct</structname>
+]]>
+ </programlisting>
+ </informalexample>
+ </para>
+
+ <para>
+ To refer to a field of a structure:
+ <informalexample>
+ <programlisting>
+<![CDATA[
+<structfield>len</structfield>
+]]>
+ </programlisting>
+ </informalexample>
+ </para>
+
+ <para>
+ To refer to a class name, we could possibly use:
+ <informalexample>
+ <programlisting>
+<![CDATA[
+<classname>GtkWidget</classname>
+]]>
+ </programlisting>
+ </informalexample>
+ but you'll probably be using #GtkWidget instead (to automatically create
+ a link to the GtkWidget page - see <link linkend="documenting_syntax">the abbreviations</link>).
+ </para>
+
+ <para>
+ To emphasize text:
+ <informalexample>
+ <programlisting>
+<![CDATA[
+<emphasis>This is important</emphasis>
+]]>
+ </programlisting>
+ </informalexample>
+ </para>
+
+ <para>
+ For filenames use:
+ <informalexample>
+ <programlisting>
+<![CDATA[
+<filename>/home/user/documents</filename>
+]]>
+ </programlisting>
+ </informalexample>
+ </para>
+
+ <para>
+ To refer to keys use:
+ <informalexample>
+ <programlisting>
+<![CDATA[
+<keycombo><keycap>Control</keycap><keycap>L</keycap></keycombo>
+]]>
+ </programlisting>
+ </informalexample>
+ </para>
+
+ </sect1>
+ </chapter>
+
+ <chapter id="metafiles">
+ <title>Filling the extra files</title>
+
+ <para>
+ There are a couple of extra files, that need to be maintained along with
+ the inline source code comments:
+ <filename><package>.types</filename>,
+ <filename><package>-docs.xml</filename> (in the past .sgml),
+ <filename><package>-sections.txt</filename>.
+ </para>
+
+ <sect1 id="metafiles_types">
+ <title>Editing the types file</title>
+
+ <para>
+ If your library or application includes GtkObjects/GObjects, you want
+ their signals, arguments/parameters and position in the hierarchy to be
+ shown in the documentation. All you need to do, is to list the
+ <function>xxx_get_type</function> functions together with their include
+ inside the <filename><package>.types</filename> file.
+ </para>
+
+ <para>
+ <example><title>Example types file snippet</title>
+ <programlisting>
+<![CDATA[
+#include <gtk/gtk.h>
+
+gtk_accel_label_get_type
+gtk_adjustment_get_type
+gtk_alignment_get_type
+gtk_arrow_get_type
+]]>
+ </programlisting>
+ </example>
+ </para>
+
+ <para>
+ Since GTK-Doc 1.8 <application>gtkdoc-scan</application> can generate this list for you.
+ Just add "--rebuild-types" to SCAN_OPTIONS in <filename>Makefile.am</filename>. If you
+ use this approach you should not dist the types file nor have it under version control.
+ </para>
+
+ </sect1>
+
+ <sect1 id="metafiles_master">
+ <title>Editing the master document</title>
+
+ <para>
+ GTK-Doc produces documentation in DocBook SGML/XML. When processing the
+ inline source comments, the GTK-Doc tools generate one documentation
+ page per class or module as a separate file. The master document
+ includes them and place them in an order.
+ </para>
+
+ <para>
+ While GTK-Doc creates a template master document for you, later run will
+ not touch it again. This means that one can freely structure the
+ documentation. That includes grouping pages and adding extra pages.
+ GTK-Doc has now a test suite, where also the master-document is recreated from scratch.
+ Its a good idea to look at this from time to time to see if there are some new goodies
+ introduced there.
+ </para>
+
+ <tip>
+ <para>
+ Do not create tutorials as extra documents. Just write extra chapters.
+ The benefit of directly embedding the tutorial for your library into
+ the API documentation is that it is easy to link for the tutorial to
+ symbol documentation. Apart chances are higher that the tutorial gets
+ updates along with the library.
+ </para>
+ </tip>
+
+ <para>
+ So what are the things to change inside the master document? For a start
+ is only a little. There are some placeholders (text in square brackets)
+ there which you should take care of.
+ </para>
+
+ <para>
+ <example><title>Master document header</title>
+ <programlisting>
+<![CDATA[
+<bookinfo>
+ <title>MODULENAME Reference Manual</title>
+ <releaseinfo>
+ for MODULENAME [VERSION]
+ The latest version of this documentation can be found on-line at
+ <ulink role="online-location" url="http://[SERVER]/MODULENAME/index.html">http://[SERVER]/MODULENAME/</ulink>.
+ </releaseinfo>
+</bookinfo>
+
+<chapter>
+ <title>[Insert title here]</title>
+]]>
+ </programlisting>
+ </example>
+ </para>
+
+ </sect1>
+
+ <sect1 id="metafiles_sections">
+ <title>Editing the section file</title>
+
+ <para>
+ The section file is used to organise the documentation output by
+ GTK-Doc. Here one specifies which symbol belongs to which module or
+ class and control the visibility (public or private).
+ </para>
+
+ <para>
+ The section file is a plain test file with xml like syntax (using tags).
+ Blank lines are ignored and lines starting with a '#' are treated as
+ comment lines.
+ </para>
+
+ <para>
+ The <FILE> ... </FILE> tag is used to specify the file name,
+ without any suffix. For example, using '<FILE>gnome-config</FILE>'
+ will result in the section declarations being output in the template
+ file <filename>tmpl/gnome-config.sgml</filename>, which will be
+ converted into the DocBook SGML/XML file <filename>sgml/gnome-config.sgml</filename>
+ or .DocBook XML file <filename>xml/gnome-config.xml</filename>.
+ (The name of the html file is based on the module name and the section
+ title, or for gobjects it is based on the gobjects class name converted
+ to lower case).
+ </para>
+
+ <para>
+ The <TITLE> ... </TITLE> tag is used to specify the title of
+ the section. It is only useful before the templates (if used) are
+ initially created, since the title set in the template file overrides
+ this. Also if one uses SECTION comment in the sources, this is obsolete.
+ </para>
+
+ <para>
+ You can group items in the section by using the <SUBSECTION> tag.
+ Currently it outputs a blank line between subsections in the synopsis
+ section.
+ You can also use <SUBSECTION Standard> for standard GObject
+ declarations (e.g. the functions like g_object_get_type and macros like
+ G_OBJECT(), G_IS_OBJECT() etc.).
+ Currently these are left out of the documentation.
+ You can also use <SUBSECTION Private> for private declarations
+ which will not be output (It is a handy way to avoid warning messages
+ about unused declarations.).
+ If your library contains private types which you don't want to appear in
+ the object hierarchy and the list of implemented or required interfaces,
+ add them to a Private subsection.
+ Wheter you would place GObject and GObjectClass like structs in public
+ or Standard section depends if they have public entries (variables,
+ vmethods).
+ </para>
+
+ <para>
+ You can also use <INCLUDE> ... </INCLUDE> to specify the
+ #include files which are shown in the synopsis sections.
+ It contains a comma-separate list of #include files, without the angle
+ brackets. If you set it outside of any sections, it acts for all
+ sections until the end of the file. If you set it within a section, it
+ only applies to that section.
+ </para>
+
+ </sect1>
+
+ </chapter>
+
+ <chapter id="reports">
+ <title>Controlling the result</title>
+
+ <para>
+ A GTK-Doc run generates report files inside the documentation directory.
+ The generated files are named:
+ <filename><package>-undocumented.txt</filename>,
+ <filename><package>-undeclared.txt</filename> and
+ <filename><package>-unused.txt</filename>.
+ All those are plain text files that can be viewed and postprocessed easily.
+ </para>
+
+ <para>
+ The <filename><package>-undocumented.txt</filename> file starts with
+ the documentation coverage summary. Below are two sections divided by
+ blank lines. The first section lists undocumented or incomplete symbols.
+ The second section does the same for section docs. Incomplete entries are
+ those, which have documentation, but where e.g. a new parameter has been
+ added.
+ </para>
+
+ <para>
+ The <filename><package>-undeclared.txt</filename> file lists symbols
+ given in the <filename><package>-sections.txt</filename> but not
+ found in the sources. Check if they have been removed or if they are
+ misspelled.
+ </para>
+
+ <para>
+ The <filename><package>-unused.txt</filename> file lists symbol
+ names, where the GTK-Doc scanner has found documentation, but does not
+ know where to put it. This means that the symbol has not yet been added to
+ the <filename><package>-sections.txt</filename> file.
+ </para>
+
+ <tip>
+ <para>
+ Enable or add the <option>TESTS=$(GTKDOC_CHECK)</option> line in Makefile.am.
+ If at least GTK-Doc 1.9 is installed, this will run sanity checks during
+ <command>make check</command> run.
+ </para>
+ </tip>
+
+ <para>
+ One can also look at the files produced by the source code scanner:
+ <filename><package>-decl-list.txt</filename> and
+ <filename><package>-decl.txt</filename>. The first one can be
+ compared with the section file if that is manualy maintained. The second
+ lists all declarations fromt he headers If a symbol is missing one could
+ check if this file contains it.
+ </para>
+
+ <para>
+ If the project is GObject based, one can also look into the files produced
+ by the object scanner:
+ <filename><package>.args.txt</filename>,
+ <filename><package>.hierarchy.txt</filename>,
+ <filename><package>.interfaces.txt</filename>,
+ <filename><package>.prerequisites.txt</filename> and
+ <filename><package>.signals.txt</filename>. If there are missing
+ symbols in any of those, one can ask gtkdoc to keep the intermedia scanner
+ file for further analysis, but running it as
+ <command>GTK_DOC_KEEP_INTERMEDIATE=1 make</command>.
+ </para>
+ </chapter>
+
+ <chapter id="documenting-others">
+ <title>Documenting other interfaces</title>
+
+ <para>
+ So far we have been using GTK-Doc to document the API of code. The next
+ sections contain suggestions how the tools can be used to document other
+ interfaces too.
+ </para>
+
+ <sect1 id="commandline-interfaces">
+ <title>Commandline options and man pages</title>
+
+ <para>
+ As one can generate man pages for a docbook refentry as well, it sounds
+ like a good idea to use it for that purpose. This way the interface is
+ part of the reference and one gets the man-page for free.
+ </para>
+
+ <sect2 id="commandline-interfaces-file">
+ <title>Document the tool</title>
+
+ <para>
+ Create one refentry file per tool. Following
+ <link linkend="settingup_docfiles">our example</link> we would call it
+ <filename>meep/docs/reference/meeper/meep.xml</filename>. For the xml
+ tags that should be used and can look at generated file in the xml
+ subdirectory as well as examples e.g. in glib.
+ </para>
+ </sect2>
+
+ <sect2 id="commandline-interfaces-configure">
+ <title>Adding the extra configure check</title>
+
+ <para>
+ <example><title>Extra configure checks</title>
+ <programlisting>
+<![CDATA[
+AC_ARG_ENABLE(man,
+ [AC_HELP_STRING([--enable-man],
+ [regenerate man pages from Docbook [default=no]])],enable_man=yes,
+ enable_man=no)
+
+AC_PATH_PROG([XSLTPROC], [xsltproc])
+AM_CONDITIONAL(ENABLE_MAN, test x$enable_man != xno)
+]]>
+ </programlisting>
+ </example>
+ </para>
+ </sect2>
+
+ <sect2 id="commandline-interfaces-make">
+ <title>Adding the extra makefile rules</title>
+
+ <para>
+ <example><title>Extra configure checks</title>
+ <programlisting>
+<![CDATA[
+man_MANS = \
+ meeper.1
+
+if ENABLE_GTK_DOC
+if ENABLE_MAN
+
+%.1 : %.xml
+ @XSLTPROC@ -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
+
+endif
+endif
+
+BUILT_EXTRA_DIST = $(man_MANS)
+EXTRA_DIST += meep.xml
+]]>
+ </programlisting>
+ </example>
+ </para>
+ </sect2>
+ </sect1>
+
+ <sect1 id="dbus-interfaces">
+ <title>DBus interfaces</title>
+
+ <para>
+ (FIXME: http://hal.freedesktop.org/docs/DeviceKit/DeviceKit.html,
+http://cgit.freedesktop.org/DeviceKit/DeviceKit/tree/doc/dbus)
+ </para>
+ </sect1>
+
+ </chapter>
+
+ <chapter id="faq">
+ <title>Frequently asked questions</title>
+
+ <segmentedlist>
+ <?dbhtml list-presentation="list"?>
+ <segtitle>Fråga</segtitle>
+ <segtitle>Svar</segtitle>
+ <seglistitem>
+ <seg>No class hierarchy.</seg>
+ <seg>
+ The objects <function>xxx_get_type()</function> function has not been
+ entered into the <filename><package>.types</filename> file.
+ </seg>
+ </seglistitem>
+ <seglistitem>
+ <seg>Still no class hierarchy.</seg>
+ <seg>
+ Missing or wrong naming in <filename><package>-sections.txt</filename>
+ file (see <ulink url="http://mail.gnome.org/archives/gtk-doc-list/2003-October/msg00006.html">förklaring</ulink>).
+ </seg>
+ </seglistitem>
+ <seglistitem>
+ <seg>Damn, I have still no class hierarchy.</seg>
+ <seg>
+ Is the object name (name of the instance struct, e.g. <type>GtkWidget</type>)
+ part of the normal section (don't put this into Standard or Private
+ subsections).
+ </seg>
+ </seglistitem>
+ <seglistitem>
+ <seg>No symbol index.</seg>
+ <seg>
+ Does the <filename><package>-docs.{xml,sgml}</filename> contain a
+ index that xi:includes the generated index?
+ </seg>
+ </seglistitem>
+ <seglistitem>
+ <seg>Symbols are not linked to their doc-section.</seg>
+ <seg>
+ Is the doc-comment using the correct markup (added #,% or ())?
+ Check if the gtkdoc-fixxref warns about unresolvable xrefs.
+ </seg>
+ </seglistitem>
+ <seglistitem>
+ <seg>A new class does not appear in the docs.</seg>
+ <seg>
+ Is the new page xi:included from
+ <filename><package>-docs.{xml,sgml}</filename>.
+ </seg>
+ </seglistitem>
+ <seglistitem>
+ <seg>A new symbol does not appear in the docs.</seg>
+ <seg>
+ Is the doc-comment properly formatted. Check for spelling mistakes in
+ the begin of the comment. Check if the gtkdoc-fixxref warns about
+ unresolvable xrefs. Check if the symbol is correctly listed in the
+ <filename><package>-sections.txt</filename> in a public subsection.
+ </seg>
+ </seglistitem>
+ <seglistitem>
+ <seg>A type is missing from the class hierarchy.</seg>
+ <seg>
+ If the type is listed in <filename><package>.hierarchy</filename>
+ but not in <filename>xml/tree_index.sgml</filename> then double check
+ that the type is correctly placed in the <filename><package>-sections.txt</filename>.
+ If the type instance (e.g. <type>GtkWidget</type>) is not listed or
+ incidentialy makred private it will not be shown.
+ </seg>
+ </seglistitem>
+ <seglistitem>
+ <seg>I get foldoc links for all gobject annotations.</seg>
+ <seg>
+ Check that <filename>xml/annotation-glossary.xml</filename> is
+ xi:included from <filename><package>-docs.{xml,sgml}</filename>.
+ </seg>
+ </seglistitem>
+
+ <!-- gtk-doc warnings: -->
+ <seglistitem>
+ <seg>Parameter described in source code comment block but does not exist</seg>
+ <seg>Check if the prototype in the header has different parameter names as in the source.</seg>
+ </seglistitem>
+
+ <!-- docbook warnings: -->
+ <seglistitem>
+ <seg>multiple "IDs" for constraint linkend: XYZ</seg>
+ <seg>Symbol XYZ appears twice in <filename><package>-sections.txt</filename> file.</seg>
+ </seglistitem>
+ <seglistitem>
+ <seg>Element typename in namespace '' encountered in para, but no template matches.</seg>
+ <seg/>
+ </seglistitem>
+ </segmentedlist>
+ </chapter>
+
+ <chapter id="contrib">
+ <title>Tools related to gtk-doc</title>
+
+ <para>
+ GtkDocPlugin - a <ulink url="http://trac-hacks.org/wiki/GtkDocPlugin">Trac GTK-Doc</ulink>
+ integration plugin, that adds api docs to a trac site and integrates with
+ the trac search.
+ </para>
+ <para>
+ Gtkdoc-depscan - a tool (part of gtk-doc) to check used API against since
+ tags in the api to determine the minimum required version.
+ </para>
+
+ </chapter>
+
+ <!-- ======== Appendix: FDL ================================== -->
+ <!--
+ The GNU Free Documentation License 1.1 in DocBook
+ Markup by Eric Baudais <baudais@okstate.edu>
+ Maintained by the GNOME Documentation Project
+ http://developer.gnome.org/projects/gdp
+ Version: 1.0.1
+ Last Modified: Nov 16, 2000
+-->
+
+<appendix id="fdl">
+ <appendixinfo>
+ <releaseinfo>Version 1.1, mars 2000</releaseinfo>
+ <copyright>
+ <year>2000</year><holder>Free Software Foundation, Inc.</holder>
+ </copyright>
+ <legalnotice id="fdl-legalnotice">
+ <para><address>Free Software Foundation, Inc. <street>51 Franklin Street, Suite 330</street>, <city>Boston</city>, <state>MA</state><postcode>02110-1301</postcode><country>USA</country></address>. Var och en äger kopiera och sprida ordagranna kopior av detta licensavtal [originalet och denna översättning], men att ändra det är inte tillåtet.</para>
+ </legalnotice>
+ </appendixinfo>
+ <title>GNU Free Documentation License</title>
+
+ <sect1 id="fdl-preamble">
+ <title>0. BAKGRUND</title>
+ <para>Syftet med denna licens är att göra en handbok, bok, eller annat praktiskt och användbart dokument <quote>fritt</quote> som i frihet: att försäkra var och en den faktiska friheten att kopiera och sprida det vidare, med eller utan förändringar, antingen kommersiellt eller ideellt. Sekundärt bevarar denna licens ett sätt för författaren och förläggaren att få ära för deras arbete utan att de anses vara ansvariga för förändringar gjorda av andra.</para>
+
+ <para>Denna Licens är en sorts <quote>copyleft</quote>, vilket betyder att derivativa verk av detta dokument själva måste vara fria på samma sätt. Den kompletterar GNU General Public License, som är en copyleft-licens utformad för fri programvara.</para>
+
+ <para>Vi har utformat denna licens för att den skall användas för handböcker till fri programvara, eftersom fri programvara behöver fri dokumentation: ett fritt program bör ha en handbok som erbjuder samma friheter som programmet gör. Men denna licens är inte begränsad till programvaruhandböcker; den kan användas för vilket textverk som helst oavsett ämne eller huruvida det är en utgiven, tryckt bok. Vi rekommenderar denna licens huvudsakligen för alla verk vars syfte är instruktion eller referens.</para>
+ </sect1>
+ <sect1 id="fdl-section1">
+ <title>TILLÄMPNINGSOMRÅDE OCH DEFINITIONER</title>
+ <para id="fdl-document">Denna licens [det engelska originalet] gäller för varje handbok eller annat verk, oavsett uttrycksform, som innehåller ett meddelande där upphovsrättsinnehavaren stadgat att verket kan spridas enligt villkoren i GNU Free Documentation License. Ett sådant meddelande ger en internationell frihet utan krav på ersättning och utan tidsbegränsning att använda verket under villkoren i denna licens [det engelska originalet]. <quote>Dokument</quote> nedan syftar på godtycklig handbok eller verk. Var och en är licenstagare och benämns som <quote>du</quote>.</para>
+
+ <para id="fdl-modified">En <quote>förändrad version</quote> av dokumentet avser varje verk som innehåller dokumentet eller en del av det, antingen ordagranna kopior, eller med ändringar och/eller översatt till ett annat språk.</para>
+
+ <para id="fdl-secondary">Ett <quote>sekundärt avsnitt</quote> är en märkt bilaga eller förord till <link linkend="fdl-document">dokumentet</link> som exklusivt behandlar förhållandet mellan dokumentets förläggare eller författare och dokumentets huvudsakliga ämne (eller till relaterade ämnen) och som inte innehåller något som direkt faller under det huvudsakliga ämnet. (Således, om dokumentet delvis är en lärobok i matematik så får ett sekundärt avsnitt inte förklara någon matematik.) Förhållandet kan vara en historisk koppling till ämnet eller något relaterat, eller en juridisk, kommersiell, filosofisk, etisk eller politisk ställning till det.</para>
+
+ <para id="fdl-invariant">De <quote>oföränderliga avsnitten</quote> är <link linkend="fdl-secondary">sekundära avsnitt</link> vars titlar är angivna som oföränderliga avsnitt i meddelandet som stadgar att <link linkend="fdl-document">dokumentet</link> är utgivet under denna licens [det engelska originalet].</para>
+
+ <para id="fdl-cover-texts"><quote>Omslagstexterna</quote> är speciella korta ordföljder som är listade som framsidestexter eller baksidestexter i meddelandet som stadgar att <link linkend="fdl-document">dokumentet</link> är utgivet under denna licens [det engelska originalet].</para>
+
+ <para id="fdl-transparent">En <quote>transparent</quote> kopia av <link linkend="fdl-document">dokumentet</link> är en maskinläsbar kopia, representerad i ett format vars specifikation finns tillgänglig för allmänheten, som lämpar sig för att revidera dokumentet på ett enkelt sätt med generella textredigeringsprogram eller (för pixelbaserade bilder) generella grafikprogram eller (för ritningar) något väl tillgängligt ritprogram, och som är passande som indata till textfomaterare eller för automatisk konvertering till en mängd format som passar som indata till textformaterare. En kopia i ett för övrigt transparent filformat vars markeringar, eller avsaknad av markeringar, har ordnats för att hindra eller motverka att vidare förändring vidtas av läsare är inte transparent. Ett bildformat är inte transparent om det används för någon betydande del text. En kopia som inte är <quote>transparent</quote> kallas <quote>opak</quote>.</para>
+
+ <para>Exempel på passande format för transparenta kopior innefattar ren ASCII utan markeringar, Texinfo indataformat, LaTeX indataformat, SGML eller XML som använder en publikt tillgänglig DTD, och standardenlig HTML, PostScript eller PDF utformat för mänsklig förändring. Exempel på transparenta bildformat innefattar PNG, XCF och JPG. Opaka format innefattar leverantörsspecifika format som bara kan läsas och editeras med leverantörsspecifika ordbehandlare, SGML eller XML för vilket DTD och/eller verktyg för behandling inte finns allmänt tillgängliga, och den maskingenererade HTML, PostScript eller PDF som produceras av vissa ordbehandlare enbart avsett som utdata.</para>
+
+ <para id="fdl-title-page"><quote>Titelsidan</quote> innebär, för en tryckt bok, titelsidan själv, och sådana därpå följande sidor som krävs för att göra det material som enligt denna licens skall synas på titelsidan läsbart. För verk i sådana format som inte har någon egentlig titelsida, avses med <quote>titelsida</quote> den text som är närmast den mest framstående förekomsten av verkets titel, föregående den huvudsakliga textmassan.</para>
+ </sect1>
+
+ <sect1 id="fdl-section2">
+ <title>2. ORDAGRANN KOPIERING</title>
+ <para>Du äger kopiera och sprida <link linkend="fdl-document">dokumentet</link> på valfritt medium, antingen kommersiellt eller ideellt, förutsatt att denna licens [det engelska originalet], upphovsrättsklausul, och meddelandet som stadgar att GNU Free Documentation License gäller för dokumentet finns med på alla kopior, och att du inte lägger till några som helst andra villkor än de som ingår i denna licens. Du äger inte vidta tekniska åtgärder för att begränsa eller kontrollera läsande eller vidare kopiering av de kopior du skapar eller sprider. Dock äger du ta emot kompensation i utbyte mot kopior. Om du sprider tillräckligt många kopior måste du också följa villkoren i <link linkend="fdl-section3">paragraf 3</link>.</para>
+
+ <para>Du äger också låna ut kopior, under samma villkor som ovan, och du äger visa kopior offentligt.</para>
+ </sect1>
+
+ <sect1 id="fdl-section3">
+ <title>3. OMFATTANDE KOPIERING</title>
+ <para>Om du publicerar tryckta kopior (eller kopior i medier som normalt har tryckta omslag) av <link linkend="fdl-document">dokumentet</link>, i en upplaga överstigande 100 exemplar, och dokumentets licensmeddelande kräver <link linkend="fdl-cover-texts">omslagstexter</link>, så måste du förse kopiorna med omslag som, klart och tydligt, visar alla omslagstexter: framsidestexter på framsidan och baksidestexter på baksidan. Båda omslagen måste klart och tydligt identifiera dig som utgivare av dessa kopior. Framsidan måste presentera dokumentets hela titel, med alla ord i titeln lika framträdande och synliga. Du äger lägga till ytterligare stoff på omslagen. Kopiering med förändringar gjorda bara på omslaget, så länge som de bevarar <link linkend="fdl-document">dokumentets</link> titel och i övrigt uppfyller dessa krav kan anses vara ordagrann kopiering i andra avseenden.</para>
+
+ <para>Om de obligatoriska texterna för något omslag är för omfattande för att rymmas i läsbart skick skall du placera de första (så många som får plats) på det egentliga omslaget, och fortsätta med resten på de direkt intilliggande sidorna.</para>
+
+ <para>Om du publicerar <link linkend="fdl-transparent">opaka</link> kopior av <link linkend="fdl-document">dokumentet</link> i upplagor om mer än 100, måste du antingen bifoga en maskinläsbar <link linkend="fdl-transparent">transparent</link> kopia med varje opak kopia, eller ange i eller med varje opak kopia en nätverksadress som är tillgänglig för den allmänna nätverksanvändande massan där man, med öppet standardiserade protokoll, kan ladda ner en komplett transparent kopia av dokumentet, utan extra material. Om du väljer det senare alternativet, måste du vidta skäliga åtgärder, när du börjar sprida opaka kopior i kvantitet, för att denna transparenta kopia skall förbli tillgänglig på angivna platsen till åtminstone ett år efter den sista gången du spred en opak kopia (direkt eller via ombud eller återförsäljare) av den utgåvan till allmänheten.</para>
+
+ <para>Det är önskvärt, men inte ett krav, att du kontaktar författarna till <link linkend="fdl-document">dokumentet</link> i god tid innan du sprider något större antal kopior, för att ge dem en chans att förse dig med en uppdaterad version av dokumentet.</para>
+ </sect1>
+
+ <sect1 id="fdl-section4">
+ <title>4. FÖRÄNDRINGAR</title>
+ <para>Du äger kopiera och sprida en <link linkend="fdl-modified">förändrad version</link> av <link linkend="fdl-document">dokumentet</link> under de villkor som beskrivs i paragraf <link linkend="fdl-section2">2</link> och <link linkend="fdl-section3">3</link> av GNU Free Documentation License, förutsatt att du släpper den förändrade versionen under exakt denna licens, och att den förändrade versionen antar dokumentets roll, och således medger spridning och förändring av den förändrade versionen till envar som erhåller en kopia av den. Utöver detta måste du göra följande med den ändrade versionen:</para>
+
+ <itemizedlist mark="opencircle">
+ <listitem>
+ <formalpara>
+ <title>A</title>
+ <para>På <link linkend="fdl-title-page">titelsidan</link> (och omslagen om det finns några) använda en titel skild från den som [original]<link linkend="fdl-document">dokumentet</link> har, och skild från tidigare versioners titel (som skall, om det finns några, finnas listade i historikavsnittet i dokumentet). Du äger använda samma titel som det föregående dokumentet om den ursprungliga utgivaren ger sitt tillstånd.</para>
+ </formalpara>
+ </listitem>
+
+ <listitem>
+ <formalpara>
+ <title>B</title>
+ <para>Lista på <link linkend="fdl-title-page">titelsidan</link>, som författare, en eller flera personer eller juridiska personer som ansvarat för förändringarna i den <link linkend="fdl-modified">förändrade versionen</link>, tillsammans med minst fem av de huvudsakliga författarna av <link linkend="fdl-document">dokumentet</link> (alla dess huvudsakliga författare, om det har mindre än fem).</para>
+ </formalpara>
+ </listitem>
+
+ <listitem>
+ <formalpara>
+ <title>C</title>
+ <para>Ange namnet på utgivaren av den <link linkend="fdl-modified">förändrade versionen</link>, som utgivare, på <link linkend="fdl-title-page">titelsidan</link>.</para>
+ </formalpara>
+ </listitem>
+
+ <listitem>
+ <formalpara>
+ <title>D</title>
+ <para>Bibehålla <link linkend="fdl-document">dokumentets</link> alla upphovsrättsklausuler.</para>
+ </formalpara>
+ </listitem>
+
+ <listitem>
+ <formalpara>
+ <title>E</title>
+ <para>Lägga till en upphovsrättsklausul för dina förändringar angränsande till de andra upphovsrättsklausulerna.</para>
+ </formalpara>
+ </listitem>
+
+ <listitem>
+ <formalpara>
+ <title>F</title>
+ <para>Direkt efter upphovsrättsklausulerna innefatta ett meddelande som ger allmänheten tillstånd att använda den <link linkend="fdl-modified">förändrade versionen</link> under villkoren i denna licens [det engelska originalet] i den form som visas i Tillägg nedan.</para>
+ </formalpara>
+ </listitem>
+
+ <listitem>
+ <formalpara>
+ <title>G</title>
+ <para>I meddelandet om licensen bevara den fullständiga listan över <link linkend="fdl-invariant">oföränderliga avsnitt</link> och obligatoriska <link linkend="fdl-cover-texts">omslagstexter</link> som finns i <link linkend="fdl-document">dokumentets</link> meddelande om licensen.</para>
+ </formalpara>
+ </listitem>
+
+ <listitem>
+ <formalpara>
+ <title>H</title>
+ <para>Inkludera en oförändrad kopia av denna licens [Det är den engelska originalversionen som avses].</para>
+ </formalpara>
+ </listitem>
+
+ <listitem>
+ <formalpara>
+ <title>I</title>
+ <para>Bevara avsnittet med titeln <quote>historik</quote> (History), bevara dess titel och lägg i avsnittet till en post med åtminstone titeln, året, nya författare och utgivaren av den <link linkend="fdl-modified">förändrade versionen</link> så som angivet på <link linkend="fdl-title-page">titelsidan</link>. Om det inte finns något avsnitt med titeln <quote>historik</quote> (History) i <link linkend="fdl-document">dokumentet</link> så skapa en med titeln, året, författare och utgivaren av dokumentet så som det står på [original]dokumentets titelsida. Lägg sedan till en post som beskriver den förändrade versionen så som beskrivits ovan.</para>
+ </formalpara>
+ </listitem>
+
+ <listitem>
+ <formalpara>
+ <title>J</title>
+ <para>Bevara den nätverksadress, om det finns någon, angiven i <link linkend="fdl-document">dokumentet</link> till den allmänt tillgängliga <link linkend="fdl-transparent">transparenta</link> kopian av dokumentet, och likaså nätverksadresserna till de föregående versioner som dokumentet baseras på. Dessa får placeras i avsnittet <quote>historik</quote> (History). Du äger utelämna en nätverksadress för ett verk som är publicerat mer än fyra år före dokumentet självt, eller om den ursprunglige utgivaren vars verk nätverksadressen hänvisar till ger sitt tillstånd.</para>
+ </formalpara>
+ </listitem>
+
+ <listitem>
+ <formalpara>
+ <title>K</title>
+ <para>För alla avsnitt med titlarna <quote>tillkännagivanden</quote> (Acknowledgements) eller <quote>dedikationer</quote> (Dedications), bevara titeln på avsnittet, och bevara allt innehåll och prägel på alla tillkännagivanden och/eller dedikationer gjorda av varje bidragare.</para>
+ </formalpara>
+ </listitem>
+
+ <listitem>
+ <formalpara>
+ <title>L</title>
+ <para>Bevara alla <link linkend="fdl-invariant">oföränderliga avsnitt</link> i <link linkend="fdl-document">dokumentet</link> oförändrade till text och titel. Avsnittsnummer eller motsvarande anses inte tillhöra avsnittets titel.</para>
+ </formalpara>
+ </listitem>
+
+ <listitem>
+ <formalpara>
+ <title>M</title>
+ <para>Radera varje avsnitt med titeln <quote>endossering</quote> (Endorsements). Ett sådant avsnitt får inte inkluderas i en <link linkend="fdl-modified">förändrad version</link>.</para>
+ </formalpara>
+ </listitem>
+
+ <listitem>
+ <formalpara>
+ <title>N</title>
+ <para>Inte byta titel på något existerande avsnitt så att det blir <quote>endossering</quote> (Endorsements) eller så att titeln kan förväxlas med något <link linkend="fdl-invariant">oföränderligt avsnitt</link>.</para>
+ </formalpara>
+ </listitem>
+ </itemizedlist>
+
+ <para>Om den <link linkend="fdl-modified">förändrade versionen</link> innehåller nya framsidestexter eller bilagor som är att anses som <link linkend="fdl-secondary">sekundära avsnitt</link> och inte innehåller något material kopierat från dokumentet, så äger du, om du vill, benämna några eller samtliga av dessa som oföränderliga. För att göra detta, lägg deras titlar till listan över <link linkend="fdl-invariant">oföränderliga avsnitt</link> i den förändrade versionens licensmeddelande. Dessa titlar måste vara skilda från alla andra avsnitts titlar.</para>
+
+ <para>Du äger lägga till ett avsnitt med titeln <quote>endossering</quote> (Endorsements), förutsatt att det inte innehåller något annat än endosseringar för din <link linkend="fdl-modified">förändrade version</link> från olika aktörer -- till exempel, meddelanden om utförd korrekturläsning eller att texten har godkänts av en organisation som en officiell definition av en standard.</para>
+
+ <para>Du äger lägga till ett textavsnitt på upp till fem ord som <link linkend="fdl-cover-texts">framsidestext</link>, och ett textavsnitt på upp till 25 ord som baksidestext i listan över <link linkend="fdl-cover-texts">omslagstexter</link> i den <link linkend="fdl-modified">förändrade versionen</link>. Bara ett textavsnitt med framsidestexter och ett med baksidestexter får läggas till av (eller genom försorg av) en enda juridisk person. Om <link linkend="fdl-document">dokumentet</link> redan innehåller en omlagstext för något av omslagen, tidigare tillagd av dig eller genom försorg av samma juridiska person som du företräder, äger du inte lägga till en till, men du äger ändra den gamla med tillstånd från den tidigare utgivaren som lade till den förra.</para>
+
+ <para>Författaren (författarna) och utgivaren (utgivarna) av <link linkend="fdl-document">dokumentet</link> ger inte via denna licens sitt tillstånd att använda sina namn för publicitet eller för att lägga till eller antyda endossering av någon <link linkend="fdl-modified">förändrad version</link>.</para>
+ </sect1>
+
+ <sect1 id="fdl-section5">
+ <title>5. KOMBINERA DOKUMENT</title>
+ <para>Du äger kombinera <link linkend="fdl-document">dokumentet</link> med andra dokument som är utgivna under denna licens, under de villkor som definieras i <link linkend="fdl-section4">paragraf 4</link> av GNU Free Documentation License för förändrade versioner, förutsatt att du, i det kombinerade dokumentet, innefattar alla <link linkend="fdl-invariant">oföränderliga avsnitt</link> från originaldokumenten, omodifierade, och listar dem som oföränderliga avsnitt i ditt kombinerade verk i dess licensklausul, och att du bevarar alla deras garantiavsägelseklausuler.</para>
+
+ <para>Det kombinerade verket behöver bara innehålla en enstaka kopia av denna licens [engelska originalversionen], och flera identiska <link linkend="fdl-invariant">oföränderliga stycken</link> kan ersättas med en kopia. Om det finns flera oföränderliga stycken med samma namn men olika innehåll, se till att titeln på varje sådant avsnitt är unik genom att i slutet på den, inom parentes, lägga till namnet på den ursprunglige författaren eller utgivaren av det avsnittet om dessa är kända, annars ett unikt nummer. Gör samma justeringar av titlarna i listan över oföränderliga avsnitt i licensklausulen i det kombinerade verket.</para>
+
+ <para>I det kombinerade verket måste du kombinera alla avsnitt med titlarna <quote>historik</quote> (History) i de ursprungliga dokumenten, till ett avsnitt med titeln <quote>historik</quote> (History); på samma sätt skall alla avsnitt med titlarna <quote>tillkännagivanden</quote> (Acknowledgements), alla avsnitt med titlarna <quote>dedikationer</quote> (Dedications) kombineras. Du måste ta bort alla avsnitt med titlarna <quote>endossering</quote> (Endorsements).</para>
+ </sect1>
+
+ <sect1 id="fdl-section6">
+ <title>6. SAMLINGAR AV DOKUMENT</title>
+ <para>Du äger skapa en samling bestående av <link linkend="fdl-document">dokumentet</link> och andra dokument som är släppta under GNU Free Documentation License, och ersätta individuella kopior i dokumenten av denna licens med en enda kopia [av den engelska originalversionen] som inkluderas i samlingen, förutsatt att du följer villkoren för ordagrann kopiering i denna licens för varje inkluderat dokument i alla andra avseenden.</para>
+
+ <para>Du äger lyfta ut ett dokument från en sådan samling, och sprida det enskilt under GNU Free Documentation License, förutsatt att du lägger till en kopia av denna licens [den engelska originalversionen] i det utlyfta dokumentet, och följer villkoren för ordagrann kopiering i denna licens för det utlyfta dokumentet i alla andra avseenden.</para>
+ </sect1>
+
+ <sect1 id="fdl-section7">
+ <title>7. SAMMANSLAGNING MED OBEROENDE VERK</title>
+ <para>En samling av <link linkend="fdl-document">dokumentet</link> eller av dess derivat med andra separata och oberoende dokument eller verk, på eller i en lagringsvolym eller ett spridningsmedium, kallas för en <quote>sammanslagning</quote> om den sammanslagna upphovsrätten inte används för att begränsa samlingens användares rättigheter som de enskilda dokumenten medger. När dokumentet ingår i en sådan sammanslagning, gäller inte denna licens de andra verken i samlingen som inte själva är deriverat av dokumentet. Om kravet på <link linkend="fdl-cover-texts">omslagstexter</link> enligt <link linkend="fdl-section3">paragraf 3</link> är tillämpligt på dessa kopior av dokumentet, så kan dokumentets omslagstexter, om dokumentet utgör mindre än hälften av hela samlingen, placeras på det omslag som omger dokumentet inuti samlingen, eller den elektroniska motsvarigheten till omslag om dokumentet är i elektronisk form. Annars måste de synas på det omslag som omger hela samlingen.</para>
+ </sect1>
+
+ <sect1 id="fdl-section8">
+ <title>8. ÖVERSÄTTNING</title>
+ <para>Översättning anses vara en sorts förändring, så du äger sprida översättningar av <link linkend="fdl-document">dokumentet</link> enligt de villkor som sätts i <link linkend="fdl-section4">paragraf 4</link>. <link linkend="fdl-invariant">Oföränderliga avsnitt</link> som ersätts med översättningar kräver tillstånd från deras upphovsrättsinnehavare, men du äger inkludera översättningar av alla eller vissa av dessa oföränderliga avsnitt tillsammans med originalversionerna av dessa oföränderliga avsnitt. Du äger inkludera en översättning av denna licens, och alla licensklausuler i dokumentet, och alla garantiavsägelser, förutsatt att du också innefattar den engelska originalversionen av denna licens och originalversionerna av dessa klausuler. Skulle det finnas skillnader mellan översättningen och originalversionen av denna licens eller någon klausul så gäller originalversionen.</para>
+ </sect1>
+
+ <sect1 id="fdl-section9">
+ <title>9. UPPHÖRANDE</title>
+ <para>Du äger inte kopiera, förändra, omlicensiera eller sprida <link linkend="fdl-document">dokumentet</link> annat än enligt villkoren i GNU Free Documentation License. Alla övriga försök att kopiera, modifiera, omlicensiera, eller sprida dokumentet är ogiltiga och kommer automatiskt medföra att du förlorar dina rättigheter enligt denna licens. Tredje man som har mottagit kopior eller rättigheter från dig enligt dessa licensvillkor kommer dock inte att förlora sina rättigheter så länge de följer licensvillkoren.</para>
+ </sect1>
+
+ <sect1 id="fdl-section10">
+ <title>10. FRAMTIDA VERSIONER AV DENNA LICENS</title>
+ <para><ulink type="http" url="http://www.gnu.org/fsf/fsf.html">Free Software Foundation</ulink> kan publicera nya, reviderade versioner av GNU Free Documentation License då och då. Sådana nya versioner kommer att vara likadana i andemening som den nuvarande versionen, men kan skilja i detalj för att behandla nya problem eller angelägenheter. Se <ulink type="http" url="http://www.gnu.org/copyleft">http://www.gnu.org/copyleft/</ulink>.</para>
+
+ <para>Varje version av licensen ges ett unikt versionsnummer. Om <link linkend="fdl-document">dokumentet</link> stadgar att en specifik numrerad version av denna licens <quote>eller valfri senare version</quote> gäller för det, så äger du rätten att följa villkoren enligt antingen den angivna versionen eller vilken senare version som helst som publicerats (inte som utkast) av Free Software Foundation. Om dokumentet inte anger en version av denna licens, äger du välja vilken version som helst som publicerats (inte som utkast) av Free Software Foundation.</para>
+ </sect1>
+
+ <sect1 id="fdl-using">
+ <title>TILLÄGG</title>
+ <para>För att använda GNU Free Documentation License för ett dokument du har skrivit, inkludera en kopia av licensen [det engelska originalet] i dokumentet och placera följande copyrightklausul omedelbart efter titelsidan:</para>
+
+ <blockquote>
+ <para>Copyright (c) ÅRTAL DITT NAMN.</para>
+ <para>Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation; with the <link linkend="fdl-invariant">Invariant Sections</link> being LIST THEIR TITLES, with the <link linkend="fdl-cover-texts">Front-Cover Texts</link> being LIST, and with the <link linkend="fdl-cover-texts">Back-Cover Texts</link> being LIST. A copy of the license is included in the section entitled <quote>GNU Free Documentation License</quote>.</para>
+ </blockquote>
+
+ <para>Om du inte har några <link linkend="fdl-invariant">oföränderliga avsnitt</link>, skriv <quote>utan oföränderliga avsnitt</quote> istället för att ange vilka som är oföränderliga. Om du inte har några <link linkend="fdl-cover-texts">framsidestexter</link>, skriv <quote>utan framsidestexter</quote> istället för <quote>framsidestexter som LISTAS</quote>; såväl som för <link linkend="fdl-cover-texts">baksidestexter</link>.</para>
+
+ <para>Om ditt dokument innehåller icke-triviala exempel med programkod, så rekommenderar vi att du släpper dessa exempel parallellt under en, av dig vald, fri programvarulicens, som till exempel <ulink type="http" url="http://www.gnu.org/copyleft/gpl.html">GNU General Public License</ulink>, för att möjliggöra deras användning i fri programvara.</para>
+ </sect1>
+</appendix>
+
+
+
+
+
+
+
+
+</book>
--- /dev/null
+# Swedish translation of gtk-doc.
+# Copyright (C) 2009 Free Software Foundation, Inc.
+# This file is distributed under the same license as the gtk-doc package.
+# Daniel Nylander <po@danielnylander.se>, 2009.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: gtk-doc master\n"
+"POT-Creation-Date: 2009-07-07 22:07+0000\n"
+"PO-Revision-Date: 2009-07-09 12:31+0100\n"
+"Last-Translator: Daniel Nylander <po@danielnylander.se>\n"
+"Language-Team: Swedish <tp-sv@listor.tp-sv.se>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: C/gtk-doc-manual.xml:12(title)
+msgid "GTK-Doc Manual"
+msgstr "Handbok för GTK-Doc"
+
+#: C/gtk-doc-manual.xml:13(edition)
+msgid "1.12"
+msgstr "1.12"
+
+#: C/gtk-doc-manual.xml:14(para)
+msgid "User manual for developers with instructions of GTK-Doc usage."
+msgstr "Användarhandbok för utvecklare med användningsinstruktioner för GTK-Doc."
+
+#: C/gtk-doc-manual.xml:17(firstname)
+msgid "Chris"
+msgstr "Chris"
+
+#: C/gtk-doc-manual.xml:18(surname)
+msgid "Lyttle"
+msgstr "Lyttle"
+
+#: C/gtk-doc-manual.xml:21(email)
+msgid "chris@wilddev.net"
+msgstr "chris@wilddev.net"
+
+#: C/gtk-doc-manual.xml:26(firstname)
+msgid "Dan"
+msgstr "Dan"
+
+#: C/gtk-doc-manual.xml:27(surname)
+msgid "Mueth"
+msgstr "Mueth"
+
+#: C/gtk-doc-manual.xml:30(email)
+msgid "d-mueth@uchicago.edu"
+msgstr "d-mueth@uchicago.edu"
+
+#: C/gtk-doc-manual.xml:35(firstname)
+msgid "Stefan"
+msgstr "Stefan"
+
+#: C/gtk-doc-manual.xml:36(surname)
+msgid "Kost"
+msgstr "Kost"
+
+#: C/gtk-doc-manual.xml:39(email)
+msgid "ensonic@users.sf.net"
+msgstr "ensonic@users.sf.net"
+
+#: C/gtk-doc-manual.xml:45(publishername)
+msgid "GTK-Doc project"
+msgstr "GTK-Doc-projektet"
+
+#: C/gtk-doc-manual.xml:46(email)
+msgid "gtk-doc-list@gnome.org"
+msgstr "gtk-doc-list@gnome.org"
+
+#: C/gtk-doc-manual.xml:49(year)
+msgid "2000, 2005, 2007-2009"
+msgstr "2000, 2005, 2007-2009"
+
+#: C/gtk-doc-manual.xml:50(holder)
+msgid "Dan Mueth and Chris Lyttle and Stefan Kost"
+msgstr "Dan Mueth, Chris Lyttle och Stefan Kost"
+
+#: C/gtk-doc-manual.xml:61(para)
+msgid "Permission is granted to copy, distribute and/or modify this document under the terms of the <citetitle>GNU Free Documentation License</citetitle>, Version 1.1 or any later version published by the Free Software Foundation with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is <link linkend=\"fdl\">included</link>."
+msgstr "Tillstånd att kopiera, distribuera och/eller modifiera detta dokument ges under villkoren i <citetitle>GNU Free Documentation License</citetitle>, version 1.1 eller senare, utgivet av Free Software Foundation utan standardavsnitt och omslagstexter. En kopia av licensen finns <link linkend=\"fdl\">inkluderad</link>."
+
+#: C/gtk-doc-manual.xml:69(para)
+msgid "Many of the names used by companies to distinguish their products and services are claimed as trademarks. Where those names appear in any GNOME documentation, and those trademarks are made aware to the members of the GNOME Documentation Project, the names have been printed in caps or initial caps."
+msgstr "Flera namn på produkter och tjänster är registrerade varumärken. I de fall dessa namn förekommer i GNOME-dokumentation - och medlemmarna i GNOME-dokumentationsprojektet är medvetna om dessa varumärken - är de skrivna med versaler eller med inledande versal."
+
+#: C/gtk-doc-manual.xml:80(revnumber)
+msgid "1.11"
+msgstr "1.11"
+
+#: C/gtk-doc-manual.xml:81(date)
+msgid "22 March 2008"
+msgstr "22 mars 2008"
+
+#: C/gtk-doc-manual.xml:82(authorinitials)
+msgid "mal"
+msgstr "mal"
+
+#: C/gtk-doc-manual.xml:83(revremark)
+msgid "GNOME doc-utils migration"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:92(title)
+msgid "Introduction"
+msgstr "Introduktion"
+
+#: C/gtk-doc-manual.xml:94(para)
+msgid "This chapter introduces GTK-Doc and gives an overview of what it is and how it is used."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:100(title)
+msgid "What is GTK-Doc?"
+msgstr "Vad är GTK-Doc?"
+
+#: C/gtk-doc-manual.xml:102(para)
+msgid "GTK-Doc is used to document C code. It is typically used to document the public API of libraries, such as the GTK+ and GNOME libraries. But it can also be used to document application code."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:110(title)
+msgid "How Does GTK-Doc Work?"
+msgstr "Hur fungerar GTK-Doc?"
+
+#: C/gtk-doc-manual.xml:112(para)
+msgid "GTK-Doc works by using documentation of functions placed inside the source files in specially-formatted comment blocks, or documentation added to the template files which GTK-Doc uses (though note that GTK-Doc will only document functions that are declared in header files; it won't produce output for static functions)."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:119(para)
+msgid "GTK-Doc consists of a number of perl scripts, each performing a different step in the process."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:124(para)
+msgid "There are 5 main steps in the process:"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:131(para)
+msgid "<guilabel>Writing the documentation.</guilabel> The author fills in the source files with the documentation for each function, macro, union etc. (In the past information was entered in generated template files, which is not recommended anymore)."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:141(para)
+msgid "<guilabel>Gathering information about the code.</guilabel><application>gtkdoc-scan</application> scans the header files of the code looking for declarations of functions, macros, enums, structs, and unions. It creates the file <filename><module>-decl-list.txt</filename> containg a list of the declarations, placing them into sections according to which header file they are in. On the first run this file is copied to <filename><module>-sections.txt</filename> The author can rearrange the sections, and the order of the declarations within them, to produce the final desired order. The second file it generates is <filename><module>-decl.txt</filename>. This file contains the full declarations found by the scanner. If for some reason one would like some sybols to show up in the docs, where the full declaration cannot be found by th scanner or the declaration should appear differently, one can place enties similar to the ones in <filename><module>-decl.txt</filename> into <filename><module>-overrides.txt</filename>. <application>gtkdoc-scanobj</application> can also be used to dynamically query a library about any GtkObject subclasses it exports. It saves information about each object's position in the class hierarchy and about any GTK Args and Signals it provides."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:166(para)
+msgid "<guilabel>Generating the \"template\" files.</guilabel><application>gtkdoc-mktmpl</application> creates a number of files in the <filename class=\"directory\">tmpl/</filename> subdirectory, using the information gathered in the first step. (Note that this can be run repeatedly. It will try to ensure that no documentation is ever lost.)"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:175(para)
+msgid "Since gtk-doc 1.9 the templates can be avoided. We encourage people to keep documentation in the code. <application>gtkdocize</application> supports now a <command>--flavour no-tmpl</command> option that chooses a makefile that skips tmpl usage totally. If you have never changed file in tmpl by hand, please remove the dir once."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:185(para)
+msgid "<guilabel>Generating the SGML/XML and HTML.</guilabel><application>gtkdoc-mkdb</application> turns the template files into SGML or XML files in the <filename class=\"directory\">sgml/</filename> or <filename class=\"directory\">xml/</filename> subdirectory. If the source code contains documentation on functions, using the special comment blocks, it gets merged in here. If there are no tmpl files used it only reads takes docs from sources and introspection data. <application>gtkdoc-mkhtml</application> turns the SGML files into HTML files in the <filename class=\"directory\">html/</filename> subdirectory. Files in <filename class=\"directory\">sgml/</filename> or <filename class=\"directory\">xml/</filename> and <filename class=\"directory\">html/</filename> directories are always overwritten. One should never edit them directly."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:205(para)
+msgid "<guilabel>Fixing up cross-references between documents.</guilabel> After installing the HTML files, <application>gtkdoc-fixxref</application> can be run to fix up any cross-references between separate documents. For example, the GTK+ documentation contains many cross-references to types documented in the GLib manual. When creating the source tarball for distribution, <application>gtkdoc-rebase</application> turns all external links into web-links. When installing distributed (pregenerated) docs the same application will try to turn links back to local links (where those docs are installed)."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:223(title)
+msgid "Getting GTK-Doc"
+msgstr "Hämta GTK-Doc"
+
+#: C/gtk-doc-manual.xml:226(title)
+msgid "Requirements"
+msgstr "Krav"
+
+#: C/gtk-doc-manual.xml:227(para)
+msgid "<guilabel>Perl v5</guilabel> - the main scripts are in Perl."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:230(para)
+msgid "<guilabel>DocBook DTD v3.0</guilabel> - This is the DocBook SGML DTD. <ulink url=\"http://www.ora.com/davenport\" type=\"http\">http://www.ora.com/davenport</ulink>"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:234(para)
+msgid "<guilabel>Jade v1.1</guilabel> - This is a DSSSL processor for converting SGML to various formats. <ulink url=\"http://www.jclark.com/jade\" type=\"http\">http://www.jclark.com/jade</ulink>"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:238(para)
+msgid "<guilabel>Modular DocBook Stylesheets</guilabel> This is the DSSSL code to convert DocBook to HTML (and a few other formats). It's used together with jade. I've customized the DSSSL code slightly, in gtk-doc.dsl, to colour the program code listings/declarations, and to support global cross-reference indices in the generated HTML. <ulink url=\"http://nwalsh.com/docbook/dsssl\" type=\"http\">http://nwalsh.com/docbook/dsssl</ulink>"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:247(para)
+msgid "<guilabel>docbook-to-man</guilabel> - if you want to create man pages from the DocBook. I've customized the 'translation spec' slightly, to capitalise section headings and add the 'GTK Library' title at the top of the pages and the revision date at the bottom. There is a link to this on <ulink url=\"http://www.ora.com/davenport\" type=\"http\">http://www.ora.com/davenport</ulink> NOTE: This does not work yet."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:258(title)
+msgid "Installation"
+msgstr "Installation"
+
+#: C/gtk-doc-manual.xml:259(para)
+msgid "There is no standard place where the DocBook Modular Stylesheets are installed."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:262(para)
+msgid "gtk-doc's configure script searches these 3 directories automatically:"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:265(para)
+msgid "<filename> /usr/lib/sgml/stylesheets/nwalsh-modular </filename> (used by RedHat)"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:268(para)
+msgid "<filename> /usr/lib/dsssl/stylesheets/docbook </filename> (used by Debian)"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:271(para)
+msgid "<filename> /usr/share/sgml/docbkdsl </filename> (used by SuSE)"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:274(para)
+msgid "If you have the stylesheets installed somewhere else, you need to configure gtk-doc using the option: <command> --with-dsssl-dir=<PATH_TO_TOPLEVEL_STYLESHEETS_DIR> </command>"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:297(title)
+msgid "About GTK-Doc"
+msgstr "Om GTK-Doc"
+
+#: C/gtk-doc-manual.xml:299(para)
+#: C/gtk-doc-manual.xml:313(para)
+msgid "(FIXME)"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:303(para)
+msgid "(History, authors, web pages, license, future plans, comparison with other similar systems.)"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:311(title)
+msgid "About this Manual"
+msgstr "Om denna handbok"
+
+#: C/gtk-doc-manual.xml:317(para)
+msgid "(who it is meant for, where you can get it, license)"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:326(title)
+msgid "Setting up your project"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:328(para)
+msgid "The next sections describe what steps to perform to integrate GTK-Doc into your project. Theses section assume we work on a project called 'meep'. This project contains a library called 'libmeep' and an end-user app called 'meeper'."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:336(title)
+msgid "Setting up a skeleton documentation"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:338(para)
+msgid "Under your top-level project directory create folders called docs/reference (this way you can also have docs/help for end-user documentation). It is recommended to create another subdirectory with the name of the doc-package. For packages with just one library this step is not necessary."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:347(title)
+msgid "Example directory structure"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:345(para)
+msgid "This can then look as show below: <placeholder-1/>"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:365(title)
+#: C/gtk-doc-manual.xml:372(title)
+msgid "Integration with autoconf"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:367(para)
+msgid "Very easy! Just add one line to your <filename>configure.ac</filename> script."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:382(para)
+msgid "Besides checking for the required Gtk-Doc version, this adds two configure switches:"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:387(para)
+msgid "--with-html-dir=PATH : path to installed docs"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:388(para)
+msgid "--enable-gtk-doc : use gtk-doc to build documentation"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:392(para)
+msgid "Gtk-Doc is disabled by default! Remember to pass the option <option>'--enable-gtk-doc'</option> to the next <filename>configure</filename> run. Otherwise pregenerated documentation is installed (which makes sense for users but not for developers)."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:400(para)
+msgid "Furthermore it is recommended that you have the following line inside you <filename>configure.ac</filename> script. This allows <filename>gtkdocize</filename> to automatically copy the macro definition for <function>GTK_DOC_CHECK</function> to your project."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:408(title)
+msgid "Preparation for gtkdocize"
+msgstr "Förberedelse för gtkdocize"
+
+#: C/gtk-doc-manual.xml:419(title)
+msgid "Integration with automake"
+msgstr "Integration med automake"
+
+#: C/gtk-doc-manual.xml:421(para)
+msgid "First copy the <filename>Makefile.am</filename> from the examples subdirectory of the gtkdoc-sources to your project's API documentation directory ( <filename class=\"directory\">./docs/reference/<package></filename>). If you have multiple doc-packages repeat this for each one."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:428(para)
+msgid "The next step is to edit the setting inside the <filename>Makefile.am</filename>. All the settings have a comment above that describes their purpose. Most settings are extra flags passed to the respective tools. Every tool has a variable of the form <option><TOOLNAME>_OPTIONS</option>. All the tools support <option>--help</option> to list the supported parameters."
+msgstr ""
+
+#. FIXME: explain options ?
+#: C/gtk-doc-manual.xml:439(para)
+msgid "You may also want to enable gtk-doc for the distcheckmake target. Just add then one-liner show in the next example to you top-level <filename>Makefile.am</filename>:"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:446(title)
+msgid "Enable gtk-doc during make distcheck"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:458(title)
+msgid "Integration with autogen"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:460(para)
+msgid "Most projects will have an <filename>autogen.sh</filename> script to setup the build infrastructure after a checkout from version control system (such as cvs). Gtk-Doc comes with a tool called <filename>gtkdocize</filename> which can be used in such a script. It should be run before autoheader, automake or autoconf."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:469(title)
+msgid "Running gtkdocize from autogen.sh"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:478(para)
+msgid "When running <filename>gtkdocize</filename> it copies <filename>gtk-doc.make</filename> to you project root (or any directory specified by the --docdir option). If also check you configure script for the <function>GTK_DOC_CHECK</function> invocation."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:485(para)
+msgid "Historically gtk-doc was gerating template files where developers entered the docs. this turned out to be not so good. Since a few version gtk-doc could also get all the information from source comments. Since gtk-doc 1.9 the templates can be avoided. We encourage people to keep documentation in the code. <application>gtkdocize</application> supports now a --flavour=no-tmpl option that chooses a makefile that skips tmpl usage totally. If you have never changed file in tmpl by hand, please remove the dir once."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:497(title)
+#: C/gtk-doc-manual.xml:514(title)
+msgid "Running the doc build"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:499(para)
+msgid "After the previous steps it's time to run the build. First we need to rerun <filename>autogen.sh</filename>. If this script runs configure for you, then give it the <option>--enable-gtk-doc</option> option. Otherwise manually run <filename>configure</filename> with this option afterwards."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:506(para)
+msgid "The first make run generates several additional files in the doc-dirs. The important ones are: <filename><package>.types</filename>, <filename><package>-docs.sgml</filename>, <filename><package>-sections.txt</filename>."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:523(para)
+msgid "Now you can point your browser to <filename>docs/reference/<package>/index.html</filename>. Yes, it's a bit disappointing still. But hang-on, during the next chapter we tell you how to fill the pages with life."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:531(title)
+msgid "Integration with version control systems"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:533(para)
+msgid "As a rule of the thumb, it's those files you edit, that should go under version control. For typical projects it's these files: <filename><package>.types</filename><filename><package>-docs.sgml</filename><filename><package>-sections.txt</filename><filename>Makefile.am</filename>"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:546(title)
+msgid "Documenting the code"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:548(para)
+msgid "GTK-Doc uses source code comment with a special syntax for code documentation. Further it retrieves information about your project structure from other sources. During the next section you find all information about the syntax of the comments."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:556(title)
+msgid "Documentation placement"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:557(para)
+msgid "In the past most documentation had to be filled into files residing inside the <filename>tmpl</filename> directory. This has the disadvantages that the information is often not updated and also that the file tend to cause conflicts with version control systems."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:563(para)
+msgid "The avoid the aforementioned problems we suggest putting the documentation inside the sources. This manual will only describe this way of documenting code."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:573(title)
+msgid "Documentation comments"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:578(title)
+msgid "Gtk-Doc comment block"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:575(para)
+msgid "A multiline comment that starts with an additional '*' marks a documentation block that will be processed by the Gtk-Doc tools. <placeholder-1/>"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:590(para)
+msgid "The 'identifier' is one line with the name of the item the comment is related to. The syntax differs a little depending on the item. (TODO add table showing identifiers)"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:596(para)
+msgid "The 'documentation' block is also different for each symbol type. Symbol types that get parameters such as functions or macros have the parameter description first followed by a blank line (just a '*'). Afterwards follows the detailed description. All lines (outside program- listings and CDATA sections) just containing a ' *' (blank-asterisk) are converted to paragraph breaks. If you don't want a paragraph break, change that into ' * ' (blank-asterisk-blank-blank)."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:613(para)
+msgid "Use function() to refer to functions or macros which take arguments."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:618(para)
+msgid "Use @param to refer to parameters. Also use this when referring to parameters of other functions, related to the one being described."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:624(para)
+msgid "Use %constant to refer to a constant, e.g. %G_TRAVERSE_LEAFS."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:629(para)
+msgid "Use #symbol to refer to other types of symbol, e.g. structs and enums and macros which don't take arguments."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:635(para)
+msgid "Use #Object::signal to refer to a GObject signal"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:640(para)
+msgid "Use #Object:property to refer to a GObject property"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:645(para)
+msgid "Use #Struct.field to refer to a field inside a structure."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:607(para)
+msgid "One advantage of hyper-text over plain-text is the ability to have links in the document. Writing the correct markup for a link can be tedious though. Gtk-Doc comes to help by providing several useful abbreviations. <placeholder-1/>"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:653(para)
+msgid "If you need to use the special characters '()', '@', '%', or '#' in your documentation without gtk-doc changing them you can use the XML entities \"&lpar;\", \"&rpar;\", \"&commat;\", \"&percnt;\" and \"&num;\" respectively or escape them with a backslash '\\'."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:662(para)
+msgid "DocBook can do more that just links. One can also have lists, tables and examples. To enable the usage of SGML/XML tags inside doc-comments you need to have <option>--sgml-mode</option> in the variable <symbol>MKDB_OPTIONS</symbol> inside <filename>Makefile.am</filename>."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:670(para)
+msgid "As already mentioned earlier Gtk-Doc is for documenting public API. Thus one cannot write documentation for static symbols. Nevertheless it is good to comment those symbols too. This helps other to understand you code. Therefore we recommend to comment these using normal comments (without the 2nd '*' in the first line). If later the function needs to be made public, all one needs to do is to add another '*' in the comment block and insert the symbol name at the right place inside the sections file."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:684(title)
+msgid "Documenting sections"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:686(para)
+msgid "Each section of the documentation contains information about one class or module. To introduce the component one can write a section block. The short description is also used inside the table of contents."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:693(title)
+msgid "Section comment block"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:712(term)
+msgid "@short_description"
+msgstr "@short_description"
+
+#: C/gtk-doc-manual.xml:714(para)
+msgid "A one line description of the section, that later will appear after the links in the TOC and at the top of the section page."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:721(term)
+msgid "@see_also"
+msgstr "@see_also"
+
+#: C/gtk-doc-manual.xml:723(para)
+msgid "A list of symbols that are related to this section.."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:729(term)
+msgid "@stability"
+msgstr "@stability"
+
+#: C/gtk-doc-manual.xml:736(para)
+msgid "Stable - The intention of a Stable interface is to enable arbitrary third parties to develop applications to these interfaces, release them, and have confidence that they will run on all minor releases of the product (after the one in which the interface was introduced, and within the same major release). Even at a major release, incompatible changes are expected to be rare, and to have strong justifications."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:748(para)
+msgid "Unstable - Unstable interfaces are experimental or transitional. They are typically used to give outside developers early access to new or rapidly changing technology, or to provide an interim solution to a problem where a more general solution is anticipated. No claims are made about either source or binary compatibility from one minor release to the next."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:760(para)
+msgid "Private - An interface that can be used within the GNOME stack itself, but that is not documented for end-users. Such functions should only be used in specified and documented ways."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:769(para)
+msgid "Internal - An interface that is internal to a module and does not require end-user documentation. Functions that are undocumented are assumed to be Internal."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:731(para)
+msgid "A informal description of the stability level this API has. We recommend the use of one of these terms: <placeholder-1/>"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:781(term)
+msgid "@include"
+msgstr "@include"
+
+#: C/gtk-doc-manual.xml:783(para)
+msgid "The <literal>#include</literal> files to show in the section synopsis (a comma separated list), overriding the global value from the <link linkend=\"metafiles_sections\">section file</link> or command line. This item is optional."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:793(para)
+msgid "FIXME having @title here, would put this title into a newly generated section file, but later would be obsolete (right?)"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:800(para)
+msgid "To avoid unnecessary recompilation after doc-changes put the section docs into the c-source where possible."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:809(title)
+msgid "Documenting symbols"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:811(para)
+msgid "Each symbol (function, macro, struct, enum, signal and property) is documented in a separate block. The block is best placed close to the definition of the symbols so that it is easy to keep them in sync. Thus function are usually documented in the c-source and macros, struct and enum in the header file."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:820(title)
+msgid "Function comment block"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:843(term)
+msgid "Returns:"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:845(para)
+msgid "Paragraph describing the returned result."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:851(term)
+msgid "Deprecated:"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:853(para)
+msgid "Paragraph denoting that this function should no be used anymore. The description should point the reader to the new API."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:860(term)
+msgid "Since:"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:862(para)
+msgid "Description since which version of the code the API is available."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:869(para)
+msgid "Gtk-doc assumes all symbols (macros, functions) starting with '_' are private. They are treated like static functions."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:874(para)
+msgid "(FIXME) (stability) (glib-enums, ...)"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:880(title)
+msgid "Property comment block"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:892(title)
+msgid "Signal comment block"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:909(title)
+msgid "Struct comment block"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:928(title)
+msgid "Useful DocBook tags"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:930(para)
+msgid "Here are some DocBook tags which are most useful when documenting the code."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:935(para)
+msgid "To link to another section in the GTK docs: <placeholder-1/> The linkend is the SGML id on the top item of the page you want to link to. For most pages this is currently the part (\"gtk\", \"gdk\", glib\") and then the page title (\"Hash Tables\"). For widgets it is just the class name. Spaces and underscores are converted to '-' to conform to SGML."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:951(para)
+msgid "To refer to an external function, e.g. a standard C function: <placeholder-1/>"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:962(para)
+msgid ""
+"To include example code: <placeholder-1/> or possibly this, for very short code fragments which don't need a title: <placeholder-2/> For the latter gtk-doc also supports an abbreviation: <![CDATA[\n"
+"|[\n"
+" ...\n"
+"]|\n"
+"]]>"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:996(para)
+msgid "To include bulleted lists: <placeholder-1/>"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1018(para)
+msgid "To include a note which stands out from the text: <placeholder-1/>"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1033(para)
+msgid "To refer to a type: <placeholder-1/>"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1044(para)
+msgid "To refer to an external structure (not one described in the GTK docs): <placeholder-1/>"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1055(para)
+msgid "To refer to a field of a structure: <placeholder-1/>"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1066(para)
+msgid "To refer to a class name, we could possibly use: <placeholder-1/> but you'll probably be using #GtkWidget instead (to automatically create a link to the GtkWidget page - see <link linkend=\"documenting_syntax\">the abbreviations</link>)."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1079(para)
+msgid "To emphasize text: <placeholder-1/>"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1090(para)
+msgid "For filenames use: <placeholder-1/>"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1105(title)
+msgid "Filling the extra files"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1107(para)
+msgid "There are a couple of extra files, that need to be maintained along with the inline source code comments: <filename><package>.types</filename>, <filename><package>-docs.sgml</filename>, <filename><package>-sections.txt</filename>."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1116(title)
+msgid "Editing the types file"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1118(para)
+msgid "If your library or application includes GtkObjects/GObjects, you want their signals, arguments/parameters and position in the hierarchy to be shown in the documentation. All you need to do, is to list the <function>xxx_get_type</function> functions together with their include inside the <filename><package>.types</filename> file."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1127(title)
+msgid "Example types file snippet"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1141(para)
+msgid "Since gtk-doc 1.8 <application>gtkdoc-scan</application> can generate this list for you. Just add \"--rebuild-types\" to SCAN_OPTIONS in <filename>Makefile.am</filename>. If you use this approach you should not dist the types file nor have it under version control."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1150(title)
+msgid "Editing the master document"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1152(para)
+msgid "Gtk-Doc produces documentation in DocBook SGML/XML. When processing the inline source comments, the Gtk-Doc tools generate one documentation page per class or module as a separate file. The master document includes them and place them in a order."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1159(para)
+msgid "While Gtk-Doc creates a template master document for you, later run will not touch it again. This means that one can freely structure the documentation. That includes grouping pages and adding extra pages. Gtk-doc has now a test suite, where also the master-document is recreated from scratch. Its a good idea to look at this from time to time to see if there are some new goodies introduced there."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1169(para)
+msgid "Do not create tutorials as extra documents. Just write extra chapters. The benefit of directly embedding the tutorial for your library into the API documentation is that it is easy to link for the tutorial to symbol documentation. Apart chances are higher that the tutorial gets updates along with the library."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1178(para)
+msgid "So what are the things to change inside the master document? For a start is only a little. There are some placeholders (text in square brackets) there which you should take care of."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1185(title)
+msgid "Master document header"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1207(title)
+msgid "Editing the section file"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1209(para)
+msgid "The section file is used to organise the documentation output by Gtk-Doc. Here one specifies which symbol belongs to which module or class and control the visibility (public or private)."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1215(para)
+msgid "The section file is a plain test file with xml like syntax (using tags). Blank lines are ignored and lines starting with a '#' are treated as comment lines."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1221(para)
+msgid "The <FILE> ... </FILE> tag is used to specify the file name, without any suffix. For example, using '<FILE>gnome-config</FILE>' will result in the section declarations being output in the template file <filename>tmpl/gnome-config.sgml</filename>, which will be converted into the DocBook SGML file <filename>sgml/gnome-config.sgml</filename> or .DocBook XML file <filename>xml/gnome-config.xml</filename>. (The name of the html file is based on the module name and the section title, or for gobjects it is based on the gobjects class name converted to lower case)."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1233(para)
+msgid "The <TITLE> ... </TITLE> tag is used to specify the title of the section. It is only useful before the templates are initially created, since the title set in the template file overrides this."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1239(para)
+msgid "You can group items in the section by using the <SUBSECTION> tag. Currently it outputs a blank line between subsections in the synopsis section. You can also use <SUBSECTION Standard> for standard GObject declarations (e.g. the functions like g_object_get_type and macros like G_OBJECT(), G_IS_OBJECT() etc.). Currently these are left out of the documentation. You can also use <SUBSECTION Private> for private declarations which will not be output (It is a handy way to avoid warning messages about unused declarations.). If your library contains private types which you don't want to appear in the object hierarchy and the list of implemented or required interfaces, add them to a Private subsection."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1255(para)
+msgid "You can also use <INCLUDE> ... </INCLUDE> to specify the #include files which are shown in the synopsis sections. It contains a comma-separate list of #include files, without the angle brackets. If you set it outside of any sections, it acts for all sections until the end of the file. If you set it within a section, it only applies to that section."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1269(title)
+msgid "Controlling the result"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1271(para)
+msgid "A Gtk-Doc run generates report files inside the documentation directory. The generated files are named: <filename><package>-undocumented.txt</filename>, <filename><package>-undeclared.txt</filename> and <filename><package>-unused.txt</filename>. All those are plain text files that can be viewed and postprocessed easily."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1280(para)
+msgid "The <filename><package>-undocumented.txt</filename> file starts with the documentation coverage summary. Below are two sections divided by blank lines. The first section lists undocumented or incomplete symbols. The second section does the same for section docs. Incomplete entries are those, which have documentation, but where e.g. a new parameter has been added."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1289(para)
+msgid "The <filename><package>-undeclared.txt</filename> file lists symbols given in the <filename><package>-section.txt</filename> but not found in the sources. Check if they have been removed or if they are misspelled."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1296(para)
+msgid "The <filename><package>-unused.txt</filename> file lists symbol names, where the Gtk-Doc scanner has found documentation, but does not know where to put it. This means that the symbol has not yet been added to the <filename><package>-section.txt</filename> file."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1304(para)
+msgid "Enable or add the <option>TESTS=($GTKDOC_CHECK)</option> line in Makefile.am. If at least gtk-doc 1.9 is installed, this will run sanity checks during make check run."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1314(title)
+msgid "Frequently asked question"
+msgstr "Frågor och svar"
+
+#: C/gtk-doc-manual.xml:1318(segtitle)
+msgid "Question"
+msgstr "Fråga"
+
+#: C/gtk-doc-manual.xml:1319(segtitle)
+msgid "Answer"
+msgstr "Svar"
+
+#: C/gtk-doc-manual.xml:1321(seg)
+msgid "No class hierarchy."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1322(filename)
+msgid ".types"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1322(seg)
+msgid "The objects _get_type() function has not been entered into the <placeholder-1/> file."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1325(seg)
+msgid "Still no class hierarchy."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1326(ulink)
+msgid "explanation"
+msgstr "förklaring"
+
+#: C/gtk-doc-manual.xml:1326(seg)
+msgid "Wrong naming in section file (see <placeholder-1/>)"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1329(seg)
+msgid "Damn, I have still no class hierarchy."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1330(seg)
+msgid "Is the object name (name of the instance struct) part of the normal section (don't put this into Standard or Private)."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1333(seg)
+msgid "No symbol index."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1334(seg)
+msgid "FIXME (<index> tag in main sgml file)"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1337(seg)
+msgid "Symbols are not linked to their doc-section."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1338(seg)
+msgid "FIXME (added #,% or () ?)"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1341(seg)
+msgid "A new class does not appear in the docs."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1342(seg)
+msgid "FIXME (section file, types file, main-sgml file)"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1345(seg)
+msgid "A new symbol does not appear in the docs."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1346(seg)
+msgid "FIXME (section file, proper doc comment)"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1351(seg)
+msgid "Parameter described in source code comment block but does not exist"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1352(seg)
+msgid "Check if the prototype in the header has different parameter names as in the source."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1356(seg)
+msgid "multiple \"IDs\" for constraint linkend: XYZ"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1357(seg)
+msgid "Symbol XYZ appears twice in -section.txt file."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1360(seg)
+msgid "Element typename in namespace '' encountered in para, but no template matches."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:12(releaseinfo)
+msgid "Version 1.1, March 2000"
+msgstr "Version 1.1, mars 2000"
+
+#: C/gtk-doc-manual.xml:16(year)
+msgid "2000"
+msgstr "2000"
+
+#: C/gtk-doc-manual.xml:16(holder)
+msgid "Free Software Foundation, Inc."
+msgstr "Free Software Foundation, Inc."
+
+#: C/gtk-doc-manual.xml:19(para)
+msgid "<address>Free Software Foundation, Inc. <street>51 Franklin Street, Suite 330</street>, <city>Boston</city>, <state>MA</state><postcode>02110-1301</postcode><country>USA</country></address> Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed."
+msgstr "<address>Free Software Foundation, Inc. <street>51 Franklin Street, Suite 330</street>, <city>Boston</city>, <state>MA</state><postcode>02110-1301</postcode><country>USA</country></address>. Var och en äger kopiera och sprida ordagranna kopior av detta licensavtal [originalet och denna översättning], men att ändra det är inte tillåtet."
+
+#: C/gtk-doc-manual.xml:28(title)
+msgid "GNU Free Documentation License"
+msgstr "GNU Free Documentation License"
+
+#: C/gtk-doc-manual.xml:31(title)
+msgid "0. PREAMBLE"
+msgstr "0. BAKGRUND"
+
+#: C/gtk-doc-manual.xml:32(para)
+msgid "The purpose of this License is to make a manual, textbook, or other written document <quote>free</quote> in the sense of freedom: to assure everyone the effective freedom to copy and redistribute it, with or without modifying it, either commercially or noncommercially. Secondarily, this License preserves for the author and publisher a way to get credit for their work, while not being considered responsible for modifications made by others."
+msgstr "Syftet med denna licens är att göra en handbok, bok, eller annat praktiskt och användbart dokument <quote>fritt</quote> som i frihet: att försäkra var och en den faktiska friheten att kopiera och sprida det vidare, med eller utan förändringar, antingen kommersiellt eller ideellt. Sekundärt bevarar denna licens ett sätt för författaren och förläggaren att få ära för deras arbete utan att de anses vara ansvariga för förändringar gjorda av andra."
+
+#: C/gtk-doc-manual.xml:43(para)
+msgid "This License is a kind of <quote>copyleft</quote>, which means that derivative works of the document must themselves be free in the same sense. It complements the GNU General Public License, which is a copyleft license designed for free software."
+msgstr "Denna Licens är en sorts <quote>copyleft</quote>, vilket betyder att derivativa verk av detta dokument själva måste vara fria på samma sätt. Den kompletterar GNU General Public License, som är en copyleft-licens utformad för fri programvara."
+
+#: C/gtk-doc-manual.xml:50(para)
+msgid "We have designed this License in order to use it for manuals for free software, because free software needs free documentation: a free program should come with manuals providing the same freedoms that the software does. But this License is not limited to software manuals; it can be used for any textual work, regardless of subject matter or whether it is published as a printed book. We recommend this License principally for works whose purpose is instruction or reference."
+msgstr "Vi har utformat denna licens för att den skall användas för handböcker till fri programvara, eftersom fri programvara behöver fri dokumentation: ett fritt program bör ha en handbok som erbjuder samma friheter som programmet gör. Men denna licens är inte begränsad till programvaruhandböcker; den kan användas för vilket textverk som helst oavsett ämne eller huruvida det är en utgiven, tryckt bok. Vi rekommenderar denna licens huvudsakligen för alla verk vars syfte är instruktion eller referens."
+
+#: C/gtk-doc-manual.xml:62(title)
+msgid "1. APPLICABILITY AND DEFINITIONS"
+msgstr "TILLÄMPNINGSOMRÅDE OCH DEFINITIONER"
+
+#: C/gtk-doc-manual.xml:63(para)
+msgid "This License applies to any manual or other work that contains a notice placed by the copyright holder saying it can be distributed under the terms of this License. The <quote>Document</quote>, below, refers to any such manual or work. Any member of the public is a licensee, and is addressed as <quote>you</quote>."
+msgstr "Denna licens [det engelska originalet] gäller för varje handbok eller annat verk, oavsett uttrycksform, som innehåller ett meddelande där upphovsrättsinnehavaren stadgat att verket kan spridas enligt villkoren i GNU Free Documentation License. Ett sådant meddelande ger en internationell frihet utan krav på ersättning och utan tidsbegränsning att använda verket under villkoren i denna licens [det engelska originalet]. <quote>Dokument</quote> nedan syftar på godtycklig handbok eller verk. Var och en är licenstagare och benämns som <quote>du</quote>."
+
+#: C/gtk-doc-manual.xml:72(para)
+msgid "A <quote>Modified Version</quote> of the Document means any work containing the Document or a portion of it, either copied verbatim, or with modifications and/or translated into another language."
+msgstr "En <quote>förändrad version</quote> av dokumentet avser varje verk som innehåller dokumentet eller en del av det, antingen ordagranna kopior, eller med ändringar och/eller översatt till ett annat språk."
+
+#: C/gtk-doc-manual.xml:79(para)
+msgid "A <quote>Secondary Section</quote> is a named appendix or a front-matter section of the <link linkend=\"fdl-document\">Document</link> that deals exclusively with the relationship of the publishers or authors of the Document to the Document's overall subject (or to related matters) and contains nothing that could fall directly within that overall subject. (For example, if the Document is in part a textbook of mathematics, a Secondary Section may not explain any mathematics.) The relationship could be a matter of historical connection with the subject or with related matters, or of legal, commercial, philosophical, ethical or political position regarding them."
+msgstr "Ett <quote>sekundärt avsnitt</quote> är en märkt bilaga eller förord till <link linkend=\"fdl-document\">dokumentet</link> som exklusivt behandlar förhållandet mellan dokumentets förläggare eller författare och dokumentets huvudsakliga ämne (eller till relaterade ämnen) och som inte innehåller något som direkt faller under det huvudsakliga ämnet. (Således, om dokumentet delvis är en lärobok i matematik så får ett sekundärt avsnitt inte förklara någon matematik.) Förhållandet kan vara en historisk koppling till ämnet eller något relaterat, eller en juridisk, kommersiell, filosofisk, etisk eller politisk ställning till det."
+
+#: C/gtk-doc-manual.xml:94(para)
+msgid "The <quote>Invariant Sections</quote> are certain <link linkend=\"fdl-secondary\"> Secondary Sections</link> whose titles are designated, as being those of Invariant Sections, in the notice that says that the <link linkend=\"fdl-document\">Document</link> is released under this License."
+msgstr "De <quote>oföränderliga avsnitten</quote> är <link linkend=\"fdl-secondary\">sekundära avsnitt</link> vars titlar är angivna som oföränderliga avsnitt i meddelandet som stadgar att <link linkend=\"fdl-document\">dokumentet</link> är utgivet under denna licens [det engelska originalet]."
+
+#: C/gtk-doc-manual.xml:103(para)
+msgid "The <quote>Cover Texts</quote> are certain short passages of text that are listed, as Front-Cover Texts or Back-Cover Texts, in the notice that says that the <link linkend=\"fdl-document\">Document</link> is released under this License."
+msgstr "<quote>Omslagstexterna</quote> är speciella korta ordföljder som är listade som framsidestexter eller baksidestexter i meddelandet som stadgar att <link linkend=\"fdl-document\">dokumentet</link> är utgivet under denna licens [det engelska originalet]."
+
+#: C/gtk-doc-manual.xml:111(para)
+msgid "A <quote>Transparent</quote> copy of the <link linkend=\"fdl-document\"> Document</link> means a machine-readable copy, represented in a format whose specification is available to the general public, whose contents can be viewed and edited directly and straightforwardly with generic text editors or (for images composed of pixels) generic paint programs or (for drawings) some widely available drawing editor, and that is suitable for input to text formatters or for automatic translation to a variety of formats suitable for input to text formatters. A copy made in an otherwise Transparent file format whose markup has been designed to thwart or discourage subsequent modification by readers is not Transparent. A copy that is not <quote>Transparent</quote> is called <quote>Opaque</quote>."
+msgstr "En <quote>transparent</quote> kopia av <link linkend=\"fdl-document\">dokumentet</link> är en maskinläsbar kopia, representerad i ett format vars specifikation finns tillgänglig för allmänheten, som lämpar sig för att revidera dokumentet på ett enkelt sätt med generella textredigeringsprogram eller (för pixelbaserade bilder) generella grafikprogram eller (för ritningar) något väl tillgängligt ritprogram, och som är passande som indata till textfomaterare eller för automatisk konvertering till en mängd format som passar som indata till textformaterare. En kopia i ett för övrigt transparent filformat vars markeringar, eller avsaknad av markeringar, har ordnats för att hindra eller motverka att vidare förändring vidtas av läsare är inte transparent. Ett bildformat är inte transparent om det används för någon betydande del text. En kopia som inte är <quote>transparent</quote> kallas <quote>opak</quote>."
+
+#: C/gtk-doc-manual.xml:128(para)
+msgid "Examples of suitable formats for Transparent copies include plain ASCII without markup, Texinfo input format, LaTeX input format, SGML or XML using a publicly available DTD, and standard-conforming simple HTML designed for human modification. Opaque formats include PostScript, PDF, proprietary formats that can be read and edited only by proprietary word processors, SGML or XML for which the DTD and/or processing tools are not generally available, and the machine-generated HTML produced by some word processors for output purposes only."
+msgstr "Exempel på passande format för transparenta kopior innefattar ren ASCII utan markeringar, Texinfo indataformat, LaTeX indataformat, SGML eller XML som använder en publikt tillgänglig DTD, och standardenlig HTML, PostScript eller PDF utformat för mänsklig förändring. Exempel på transparenta bildformat innefattar PNG, XCF och JPG. Opaka format innefattar leverantörsspecifika format som bara kan läsas och editeras med leverantörsspecifika ordbehandlare, SGML eller XML för vilket DTD och/eller verktyg för behandling inte finns allmänt tillgängliga, och den maskingenererade HTML, PostScript eller PDF som produceras av vissa ordbehandlare enbart avsett som utdata."
+
+#: C/gtk-doc-manual.xml:141(para)
+msgid "The <quote>Title Page</quote> means, for a printed book, the title page itself, plus such following pages as are needed to hold, legibly, the material this License requires to appear in the title page. For works in formats which do not have any title page as such, <quote>Title Page</quote> means the text near the most prominent appearance of the work's title, preceding the beginning of the body of the text."
+msgstr "<quote>Titelsidan</quote> innebär, för en tryckt bok, titelsidan själv, och sådana därpå följande sidor som krävs för att göra det material som enligt denna licens skall synas på titelsidan läsbart. För verk i sådana format som inte har någon egentlig titelsida, avses med <quote>titelsida</quote> den text som är närmast den mest framstående förekomsten av verkets titel, föregående den huvudsakliga textmassan."
+
+#: C/gtk-doc-manual.xml:153(title)
+msgid "2. VERBATIM COPYING"
+msgstr "2. ORDAGRANN KOPIERING"
+
+#: C/gtk-doc-manual.xml:154(para)
+msgid "You may copy and distribute the <link linkend=\"fdl-document\">Document</link> in any medium, either commercially or noncommercially, provided that this License, the copyright notices, and the license notice saying this License applies to the Document are reproduced in all copies, and that you add no other conditions whatsoever to those of this License. You may not use technical measures to obstruct or control the reading or further copying of the copies you make or distribute. However, you may accept compensation in exchange for copies. If you distribute a large enough number of copies you must also follow the conditions in <link linkend=\"fdl-section3\">section 3</link>."
+msgstr "Du äger kopiera och sprida <link linkend=\"fdl-document\">dokumentet</link> på valfritt medium, antingen kommersiellt eller ideellt, förutsatt att denna licens [det engelska originalet], upphovsrättsklausul, och meddelandet som stadgar att GNU Free Documentation License gäller för dokumentet finns med på alla kopior, och att du inte lägger till några som helst andra villkor än de som ingår i denna licens. Du äger inte vidta tekniska åtgärder för att begränsa eller kontrollera läsande eller vidare kopiering av de kopior du skapar eller sprider. Dock äger du ta emot kompensation i utbyte mot kopior. Om du sprider tillräckligt många kopior måste du också följa villkoren i <link linkend=\"fdl-section3\">paragraf 3</link>."
+
+#: C/gtk-doc-manual.xml:169(para)
+msgid "You may also lend copies, under the same conditions stated above, and you may publicly display copies."
+msgstr "Du äger också låna ut kopior, under samma villkor som ovan, och du äger visa kopior offentligt."
+
+#: C/gtk-doc-manual.xml:176(title)
+msgid "3. COPYING IN QUANTITY"
+msgstr "3. OMFATTANDE KOPIERING"
+
+#: C/gtk-doc-manual.xml:177(para)
+msgid "If you publish printed copies of the <link linkend=\"fdl-document\">Document</link> numbering more than 100, and the Document's license notice requires <link linkend=\"fdl-cover-texts\">Cover Texts</link>, you must enclose the copies in covers that carry, clearly and legibly, all these Cover Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on the back cover. Both covers must also clearly and legibly identify you as the publisher of these copies. The front cover must present the full title with all words of the title equally prominent and visible. You may add other material on the covers in addition. Copying with changes limited to the covers, as long as they preserve the title of the <link linkend=\"fdl-document\">Document</link> and satisfy these conditions, can be treated as verbatim copying in other respects."
+msgstr "Om du publicerar tryckta kopior (eller kopior i medier som normalt har tryckta omslag) av <link linkend=\"fdl-document\">dokumentet</link>, i en upplaga överstigande 100 exemplar, och dokumentets licensmeddelande kräver <link linkend=\"fdl-cover-texts\">omslagstexter</link>, så måste du förse kopiorna med omslag som, klart och tydligt, visar alla omslagstexter: framsidestexter på framsidan och baksidestexter på baksidan. Båda omslagen måste klart och tydligt identifiera dig som utgivare av dessa kopior. Framsidan måste presentera dokumentets hela titel, med alla ord i titeln lika framträdande och synliga. Du äger lägga till ytterligare stoff på omslagen. Kopiering med förändringar gjorda bara på omslaget, så länge som de bevarar <link linkend=\"fdl-document\">dokumentets</link> titel och i övrigt uppfyller dessa krav kan anses vara ordagrann kopiering i andra avseenden."
+
+#: C/gtk-doc-manual.xml:195(para)
+msgid "If the required texts for either cover are too voluminous to fit legibly, you should put the first ones listed (as many as fit reasonably) on the actual cover, and continue the rest onto adjacent pages."
+msgstr "Om de obligatoriska texterna för något omslag är för omfattande för att rymmas i läsbart skick skall du placera de första (så många som får plats) på det egentliga omslaget, och fortsätta med resten på de direkt intilliggande sidorna."
+
+#: C/gtk-doc-manual.xml:202(para)
+msgid "If you publish or distribute <link linkend=\"fdl-transparent\">Opaque</link> copies of the <link linkend=\"fdl-document\">Document</link> numbering more than 100, you must either include a machine-readable <link linkend=\"fdl-transparent\">Transparent</link> copy along with each Opaque copy, or state in or with each Opaque copy a publicly-accessible computer-network location containing a complete Transparent copy of the Document, free of added material, which the general network-using public has access to download anonymously at no charge using public-standard network protocols. If you use the latter option, you must take reasonably prudent steps, when you begin distribution of Opaque copies in quantity, to ensure that this Transparent copy will remain thus accessible at the stated location until at least one year after the last time you distribute an Opaque copy (directly or through your agents or retailers) of that edition to the public."
+msgstr "Om du publicerar <link linkend=\"fdl-transparent\">opaka</link> kopior av <link linkend=\"fdl-document\">dokumentet</link> i upplagor om mer än 100, måste du antingen bifoga en maskinläsbar <link linkend=\"fdl-transparent\">transparent</link> kopia med varje opak kopia, eller ange i eller med varje opak kopia en nätverksadress som är tillgänglig för den allmänna nätverksanvändande massan där man, med öppet standardiserade protokoll, kan ladda ner en komplett transparent kopia av dokumentet, utan extra material. Om du väljer det senare alternativet, måste du vidta skäliga åtgärder, när du börjar sprida opaka kopior i kvantitet, för att denna transparenta kopia skall förbli tillgänglig på angivna platsen till åtminstone ett år efter den sista gången du spred en opak kopia (direkt eller via ombud eller återförsäljare) av den utgåvan till allmänheten."
+
+#: C/gtk-doc-manual.xml:222(para)
+msgid "It is requested, but not required, that you contact the authors of the <link linkend=\"fdl-document\">Document</link> well before redistributing any large number of copies, to give them a chance to provide you with an updated version of the Document."
+msgstr "Det är önskvärt, men inte ett krav, att du kontaktar författarna till <link linkend=\"fdl-document\">dokumentet</link> i god tid innan du sprider något större antal kopior, för att ge dem en chans att förse dig med en uppdaterad version av dokumentet."
+
+#: C/gtk-doc-manual.xml:231(title)
+msgid "4. MODIFICATIONS"
+msgstr "4. FÖRÄNDRINGAR"
+
+#: C/gtk-doc-manual.xml:232(para)
+msgid "You may copy and distribute a <link linkend=\"fdl-modified\">Modified Version</link> of the <link linkend=\"fdl-document\">Document</link> under the conditions of sections <link linkend=\"fdl-section2\">2</link> and <link linkend=\"fdl-section3\">3</link> above, provided that you release the Modified Version under precisely this License, with the Modified Version filling the role of the Document, thus licensing distribution and modification of the Modified Version to whoever possesses a copy of it. In addition, you must do these things in the Modified Version:"
+msgstr "Du äger kopiera och sprida en <link linkend=\"fdl-modified\">förändrad version</link> av <link linkend=\"fdl-document\">dokumentet</link> under de villkor som beskrivs i paragraf <link linkend=\"fdl-section2\">2</link> och <link linkend=\"fdl-section3\">3</link> av GNU Free Documentation License, förutsatt att du släpper den förändrade versionen under exakt denna licens, och att den förändrade versionen antar dokumentets roll, och således medger spridning och förändring av den förändrade versionen till envar som erhåller en kopia av den. Utöver detta måste du göra följande med den ändrade versionen:"
+
+#: C/gtk-doc-manual.xml:248(title)
+msgid "A"
+msgstr "A"
+
+#: C/gtk-doc-manual.xml:249(para)
+msgid "Use in the <link linkend=\"fdl-title-page\">Title Page</link> (and on the covers, if any) a title distinct from that of the <link linkend=\"fdl-document\">Document</link>, and from those of previous versions (which should, if there were any, be listed in the History section of the Document). You may use the same title as a previous version if the original publisher of that version gives permission."
+msgstr "På <link linkend=\"fdl-title-page\">titelsidan</link> (och omslagen om det finns några) använda en titel skild från den som [original]<link linkend=\"fdl-document\">dokumentet</link> har, och skild från tidigare versioners titel (som skall, om det finns några, finnas listade i historikavsnittet i dokumentet). Du äger använda samma titel som det föregående dokumentet om den ursprungliga utgivaren ger sitt tillstånd."
+
+#: C/gtk-doc-manual.xml:264(title)
+msgid "B"
+msgstr "B"
+
+#: C/gtk-doc-manual.xml:265(para)
+msgid "List on the <link linkend=\"fdl-title-page\">Title Page</link>, as authors, one or more persons or entities responsible for authorship of the modifications in the <link linkend=\"fdl-modified\">Modified Version</link>, together with at least five of the principal authors of the <link linkend=\"fdl-document\">Document</link> (all of its principal authors, if it has less than five)."
+msgstr "Lista på <link linkend=\"fdl-title-page\">titelsidan</link>, som författare, en eller flera personer eller juridiska personer som ansvarat för förändringarna i den <link linkend=\"fdl-modified\">förändrade versionen</link>, tillsammans med minst fem av de huvudsakliga författarna av <link linkend=\"fdl-document\">dokumentet</link> (alla dess huvudsakliga författare, om det har mindre än fem)."
+
+#: C/gtk-doc-manual.xml:279(title)
+msgid "C"
+msgstr "C"
+
+#: C/gtk-doc-manual.xml:280(para)
+msgid "State on the <link linkend=\"fdl-title-page\">Title Page</link> the name of the publisher of the <link linkend=\"fdl-modified\">Modified Version</link>, as the publisher."
+msgstr "Ange namnet på utgivaren av den <link linkend=\"fdl-modified\">förändrade versionen</link>, som utgivare, på <link linkend=\"fdl-title-page\">titelsidan</link>."
+
+#: C/gtk-doc-manual.xml:291(title)
+msgid "D"
+msgstr "D"
+
+#: C/gtk-doc-manual.xml:292(para)
+msgid "Preserve all the copyright notices of the <link linkend=\"fdl-document\">Document</link>."
+msgstr "Bibehålla <link linkend=\"fdl-document\">dokumentets</link> alla upphovsrättsklausuler."
+
+#: C/gtk-doc-manual.xml:301(title)
+msgid "E"
+msgstr "E"
+
+#: C/gtk-doc-manual.xml:302(para)
+msgid "Add an appropriate copyright notice for your modifications adjacent to the other copyright notices."
+msgstr "Lägga till en upphovsrättsklausul för dina förändringar angränsande till de andra upphovsrättsklausulerna."
+
+#: C/gtk-doc-manual.xml:311(title)
+msgid "F"
+msgstr "F"
+
+#: C/gtk-doc-manual.xml:312(para)
+msgid "Include, immediately after the copyright notices, a license notice giving the public permission to use the <link linkend=\"fdl-modified\">Modified Version</link> under the terms of this License, in the form shown in the Addendum below."
+msgstr "Direkt efter upphovsrättsklausulerna innefatta ett meddelande som ger allmänheten tillstånd att använda den <link linkend=\"fdl-modified\">förändrade versionen</link> under villkoren i denna licens [det engelska originalet] i den form som visas i Tillägg nedan."
+
+#: C/gtk-doc-manual.xml:324(title)
+msgid "G"
+msgstr "G"
+
+#: C/gtk-doc-manual.xml:325(para)
+msgid "Preserve in that license notice the full lists of <link linkend=\"fdl-invariant\"> Invariant Sections</link> and required <link linkend=\"fdl-cover-texts\">Cover Texts</link> given in the <link linkend=\"fdl-document\">Document's</link> license notice."
+msgstr "I meddelandet om licensen bevara den fullständiga listan över <link linkend=\"fdl-invariant\">oföränderliga avsnitt</link> och obligatoriska <link linkend=\"fdl-cover-texts\">omslagstexter</link> som finns i <link linkend=\"fdl-document\">dokumentets</link> meddelande om licensen."
+
+#: C/gtk-doc-manual.xml:337(title)
+msgid "H"
+msgstr "H"
+
+#: C/gtk-doc-manual.xml:338(para)
+msgid "Include an unaltered copy of this License."
+msgstr "Inkludera en oförändrad kopia av denna licens [Det är den engelska originalversionen som avses]."
+
+#: C/gtk-doc-manual.xml:346(title)
+msgid "I"
+msgstr "I"
+
+#: C/gtk-doc-manual.xml:347(para)
+msgid "Preserve the section entitled <quote>History</quote>, and its title, and add to it an item stating at least the title, year, new authors, and publisher of the <link linkend=\"fdl-modified\">Modified Version </link>as given on the <link linkend=\"fdl-title-page\">Title Page</link>. If there is no section entitled <quote>History</quote> in the <link linkend=\"fdl-document\">Document</link>, create one stating the title, year, authors, and publisher of the Document as given on its Title Page, then add an item describing the Modified Version as stated in the previous sentence."
+msgstr "Bevara avsnittet med titeln <quote>historik</quote> (History), bevara dess titel och lägg i avsnittet till en post med åtminstone titeln, året, nya författare och utgivaren av den <link linkend=\"fdl-modified\">förändrade versionen</link> så som angivet på <link linkend=\"fdl-title-page\">titelsidan</link>. Om det inte finns något avsnitt med titeln <quote>historik</quote> (History) i <link linkend=\"fdl-document\">dokumentet</link> så skapa en med titeln, året, författare och utgivaren av dokumentet så som det står på [original]dokumentets titelsida. Lägg sedan till en post som beskriver den förändrade versionen så som beskrivits ovan."
+
+#: C/gtk-doc-manual.xml:365(title)
+msgid "J"
+msgstr "J"
+
+#: C/gtk-doc-manual.xml:366(para)
+msgid "Preserve the network location, if any, given in the <link linkend=\"fdl-document\">Document</link> for public access to a <link linkend=\"fdl-transparent\">Transparent</link> copy of the Document, and likewise the network locations given in the Document for previous versions it was based on. These may be placed in the <quote>History</quote> section. You may omit a network location for a work that was published at least four years before the Document itself, or if the original publisher of the version it refers to gives permission."
+msgstr "Bevara den nätverksadress, om det finns någon, angiven i <link linkend=\"fdl-document\">dokumentet</link> till den allmänt tillgängliga <link linkend=\"fdl-transparent\">transparenta</link> kopian av dokumentet, och likaså nätverksadresserna till de föregående versioner som dokumentet baseras på. Dessa får placeras i avsnittet <quote>historik</quote> (History). Du äger utelämna en nätverksadress för ett verk som är publicerat mer än fyra år före dokumentet självt, eller om den ursprunglige utgivaren vars verk nätverksadressen hänvisar till ger sitt tillstånd."
+
+#: C/gtk-doc-manual.xml:383(title)
+msgid "K"
+msgstr "K"
+
+#: C/gtk-doc-manual.xml:384(para)
+msgid "In any section entitled <quote>Acknowledgements</quote> or <quote>Dedications</quote>, preserve the section's title, and preserve in the section all the substance and tone of each of the contributor acknowledgements and/or dedications given therein."
+msgstr "För alla avsnitt med titlarna <quote>tillkännagivanden</quote> (Acknowledgements) eller <quote>dedikationer</quote> (Dedications), bevara titeln på avsnittet, och bevara allt innehåll och prägel på alla tillkännagivanden och/eller dedikationer gjorda av varje bidragare."
+
+#: C/gtk-doc-manual.xml:396(title)
+msgid "L"
+msgstr "L"
+
+#: C/gtk-doc-manual.xml:397(para)
+msgid "Preserve all the <link linkend=\"fdl-invariant\">Invariant Sections</link> of the <link linkend=\"fdl-document\">Document</link>, unaltered in their text and in their titles. Section numbers or the equivalent are not considered part of the section titles."
+msgstr "Bevara alla <link linkend=\"fdl-invariant\">oföränderliga avsnitt</link> i <link linkend=\"fdl-document\">dokumentet</link> oförändrade till text och titel. Avsnittsnummer eller motsvarande anses inte tillhöra avsnittets titel."
+
+#: C/gtk-doc-manual.xml:409(title)
+msgid "M"
+msgstr "M"
+
+#: C/gtk-doc-manual.xml:410(para)
+msgid "Delete any section entitled <quote>Endorsements</quote>. Such a section may not be included in the <link linkend=\"fdl-modified\">Modified Version</link>."
+msgstr "Radera varje avsnitt med titeln <quote>endossering</quote> (Endorsements). Ett sådant avsnitt får inte inkluderas i en <link linkend=\"fdl-modified\">förändrad version</link>."
+
+#: C/gtk-doc-manual.xml:421(title)
+msgid "N"
+msgstr "N"
+
+#: C/gtk-doc-manual.xml:422(para)
+msgid "Do not retitle any existing section as <quote>Endorsements</quote> or to conflict in title with any <link linkend=\"fdl-invariant\">Invariant Section</link>."
+msgstr "Inte byta titel på något existerande avsnitt så att det blir <quote>endossering</quote> (Endorsements) eller så att titeln kan förväxlas med något <link linkend=\"fdl-invariant\">oföränderligt avsnitt</link>."
+
+#: C/gtk-doc-manual.xml:432(para)
+msgid "If the <link linkend=\"fdl-modified\">Modified Version</link> includes new front-matter sections or appendices that qualify as <link linkend=\"fdl-secondary\">Secondary Sections</link> and contain no material copied from the Document, you may at your option designate some or all of these sections as invariant. To do this, add their titles to the list of <link linkend=\"fdl-invariant\">Invariant Sections</link> in the Modified Version's license notice. These titles must be distinct from any other section titles."
+msgstr "Om den <link linkend=\"fdl-modified\">förändrade versionen</link> innehåller nya framsidestexter eller bilagor som är att anses som <link linkend=\"fdl-secondary\">sekundära avsnitt</link> och inte innehåller något material kopierat från dokumentet, så äger du, om du vill, benämna några eller samtliga av dessa som oföränderliga. För att göra detta, lägg deras titlar till listan över <link linkend=\"fdl-invariant\">oföränderliga avsnitt</link> i den förändrade versionens licensmeddelande. Dessa titlar måste vara skilda från alla andra avsnitts titlar."
+
+#: C/gtk-doc-manual.xml:444(para)
+msgid "You may add a section entitled <quote>Endorsements</quote>, provided it contains nothing but endorsements of your <link linkend=\"fdl-modified\">Modified Version</link> by various parties--for example, statements of peer review or that the text has been approved by an organization as the authoritative definition of a standard."
+msgstr "Du äger lägga till ett avsnitt med titeln <quote>endossering</quote> (Endorsements), förutsatt att det inte innehåller något annat än endosseringar för din <link linkend=\"fdl-modified\">förändrade version</link> från olika aktörer -- till exempel, meddelanden om utförd korrekturläsning eller att texten har godkänts av en organisation som en officiell definition av en standard."
+
+#: C/gtk-doc-manual.xml:453(para)
+msgid "You may add a passage of up to five words as a <link linkend=\"fdl-cover-texts\">Front-Cover Text</link>, and a passage of up to 25 words as a <link linkend=\"fdl-cover-texts\">Back-Cover Text</link>, to the end of the list of <link linkend=\"fdl-cover-texts\">Cover Texts</link> in the <link linkend=\"fdl-modified\">Modified Version</link>. Only one passage of Front-Cover Text and one of Back-Cover Text may be added by (or through arrangements made by) any one entity. If the <link linkend=\"fdl-document\">Document</link> already includes a cover text for the same cover, previously added by you or by arrangement made by the same entity you are acting on behalf of, you may not add another; but you may replace the old one, on explicit permission from the previous publisher that added the old one."
+msgstr "Du äger lägga till ett textavsnitt på upp till fem ord som <link linkend=\"fdl-cover-texts\">framsidestext</link>, och ett textavsnitt på upp till 25 ord som baksidestext i listan över <link linkend=\"fdl-cover-texts\">omslagstexter</link> i den <link linkend=\"fdl-modified\">förändrade versionen</link>. Bara ett textavsnitt med framsidestexter och ett med baksidestexter får läggas till av (eller genom försorg av) en enda juridisk person. Om <link linkend=\"fdl-document\">dokumentet</link> redan innehåller en omlagstext för något av omslagen, tidigare tillagd av dig eller genom försorg av samma juridiska person som du företräder, äger du inte lägga till en till, men du äger ändra den gamla med tillstånd från den tidigare utgivaren som lade till den förra."
+
+#: C/gtk-doc-manual.xml:470(para)
+msgid "The author(s) and publisher(s) of the <link linkend=\"fdl-document\">Document</link> do not by this License give permission to use their names for publicity for or to assert or imply endorsement of any <link linkend=\"fdl-modified\">Modified Version </link>."
+msgstr "Författaren (författarna) och utgivaren (utgivarna) av <link linkend=\"fdl-document\">dokumentet</link> ger inte via denna licens sitt tillstånd att använda sina namn för publicitet eller för att lägga till eller antyda endossering av någon <link linkend=\"fdl-modified\">förändrad version</link>."
+
+#: C/gtk-doc-manual.xml:480(title)
+msgid "5. COMBINING DOCUMENTS"
+msgstr "5. KOMBINERA DOKUMENT"
+
+#: C/gtk-doc-manual.xml:481(para)
+msgid "You may combine the <link linkend=\"fdl-document\">Document</link> with other documents released under this License, under the terms defined in <link linkend=\"fdl-section4\">section 4</link> above for modified versions, provided that you include in the combination all of the <link linkend=\"fdl-invariant\">Invariant Sections</link> of all of the original documents, unmodified, and list them all as Invariant Sections of your combined work in its license notice."
+msgstr "Du äger kombinera <link linkend=\"fdl-document\">dokumentet</link> med andra dokument som är utgivna under denna licens, under de villkor som definieras i <link linkend=\"fdl-section4\">paragraf 4</link> av GNU Free Documentation License för förändrade versioner, förutsatt att du, i det kombinerade dokumentet, innefattar alla <link linkend=\"fdl-invariant\">oföränderliga avsnitt</link> från originaldokumenten, omodifierade, och listar dem som oföränderliga avsnitt i ditt kombinerade verk i dess licensklausul, och att du bevarar alla deras garantiavsägelseklausuler."
+
+#: C/gtk-doc-manual.xml:492(para)
+msgid "The combined work need only contain one copy of this License, and multiple identical <link linkend=\"fdl-invariant\">Invariant Sections</link> may be replaced with a single copy. If there are multiple Invariant Sections with the same name but different contents, make the title of each such section unique by adding at the end of it, in parentheses, the name of the original author or publisher of that section if known, or else a unique number. Make the same adjustment to the section titles in the list of Invariant Sections in the license notice of the combined work."
+msgstr "Det kombinerade verket behöver bara innehålla en enstaka kopia av denna licens [engelska originalversionen], och flera identiska <link linkend=\"fdl-invariant\">oföränderliga stycken</link> kan ersättas med en kopia. Om det finns flera oföränderliga stycken med samma namn men olika innehåll, se till att titeln på varje sådant avsnitt är unik genom att i slutet på den, inom parentes, lägga till namnet på den ursprunglige författaren eller utgivaren av det avsnittet om dessa är kända, annars ett unikt nummer. Gör samma justeringar av titlarna i listan över oföränderliga avsnitt i licensklausulen i det kombinerade verket."
+
+#: C/gtk-doc-manual.xml:505(para)
+msgid "In the combination, you must combine any sections entitled <quote>History</quote> in the various original documents, forming one section entitled <quote>History</quote>; likewise combine any sections entitled <quote>Acknowledgements</quote>, and any sections entitled <quote>Dedications</quote>. You must delete all sections entitled <quote>Endorsements.</quote>"
+msgstr "I det kombinerade verket måste du kombinera alla avsnitt med titlarna <quote>historik</quote> (History) i de ursprungliga dokumenten, till ett avsnitt med titeln <quote>historik</quote> (History); på samma sätt skall alla avsnitt med titlarna <quote>tillkännagivanden</quote> (Acknowledgements), alla avsnitt med titlarna <quote>dedikationer</quote> (Dedications) kombineras. Du måste ta bort alla avsnitt med titlarna <quote>endossering</quote> (Endorsements)."
+
+#: C/gtk-doc-manual.xml:516(title)
+msgid "6. COLLECTIONS OF DOCUMENTS"
+msgstr "6. SAMLINGAR AV DOKUMENT"
+
+#: C/gtk-doc-manual.xml:517(para)
+msgid "You may make a collection consisting of the <link linkend=\"fdl-document\">Document</link> and other documents released under this License, and replace the individual copies of this License in the various documents with a single copy that is included in the collection, provided that you follow the rules of this License for verbatim copying of each of the documents in all other respects."
+msgstr "Du äger skapa en samling bestående av <link linkend=\"fdl-document\">dokumentet</link> och andra dokument som är släppta under GNU Free Documentation License, och ersätta individuella kopior i dokumenten av denna licens med en enda kopia [av den engelska originalversionen] som inkluderas i samlingen, förutsatt att du följer villkoren för ordagrann kopiering i denna licens för varje inkluderat dokument i alla andra avseenden."
+
+#: C/gtk-doc-manual.xml:527(para)
+msgid "You may extract a single document from such a collection, and dispbibute it individually under this License, provided you insert a copy of this License into the extracted document, and follow this License in all other respects regarding verbatim copying of that document."
+msgstr "Du äger lyfta ut ett dokument från en sådan samling, och sprida det enskilt under GNU Free Documentation License, förutsatt att du lägger till en kopia av denna licens [den engelska originalversionen] i det utlyfta dokumentet, och följer villkoren för ordagrann kopiering i denna licens för det utlyfta dokumentet i alla andra avseenden."
+
+#: C/gtk-doc-manual.xml:537(title)
+msgid "7. AGGREGATION WITH INDEPENDENT WORKS"
+msgstr "7. SAMMANSLAGNING MED OBEROENDE VERK"
+
+#: C/gtk-doc-manual.xml:538(para)
+msgid "A compilation of the <link linkend=\"fdl-document\">Document</link> or its derivatives with other separate and independent documents or works, in or on a volume of a storage or distribution medium, does not as a whole count as a <link linkend=\"fdl-modified\">Modified Version</link> of the Document, provided no compilation copyright is claimed for the compilation. Such a compilation is called an <quote>aggregate</quote>, and this License does not apply to the other self-contained works thus compiled with the Document , on account of their being thus compiled, if they are not themselves derivative works of the Document. If the <link linkend=\"fdl-cover-texts\">Cover Text</link> requirement of <link linkend=\"fdl-section3\">section 3</link> is applicable to these copies of the Document, then if the Document is less than one quarter of the entire aggregate, the Document's Cover Texts may be placed on covers that surround only the Document within the aggregate. Otherwise they must appear on covers around the whole aggregate."
+msgstr "En samling av <link linkend=\"fdl-document\">dokumentet</link> eller av dess derivat med andra separata och oberoende dokument eller verk, på eller i en lagringsvolym eller ett spridningsmedium, kallas för en <quote>sammanslagning</quote> om den sammanslagna upphovsrätten inte används för att begränsa samlingens användares rättigheter som de enskilda dokumenten medger. När dokumentet ingår i en sådan sammanslagning, gäller inte denna licens de andra verken i samlingen som inte själva är deriverat av dokumentet. Om kravet på <link linkend=\"fdl-cover-texts\">omslagstexter</link> enligt <link linkend=\"fdl-section3\">paragraf 3</link> är tillämpligt på dessa kopior av dokumentet, så kan dokumentets omslagstexter, om dokumentet utgör mindre än hälften av hela samlingen, placeras på det omslag som omger dokumentet inuti samlingen, eller den elektroniska motsvarigheten till omslag om dokumentet är i elektronisk form. Annars måste de synas på det omslag som omger hela samlingen."
+
+#: C/gtk-doc-manual.xml:561(title)
+msgid "8. TRANSLATION"
+msgstr "8. ÖVERSÄTTNING"
+
+#: C/gtk-doc-manual.xml:562(para)
+msgid "Translation is considered a kind of modification, so you may distribute translations of the <link linkend=\"fdl-document\">Document</link> under the terms of <link linkend=\"fdl-section4\">section 4</link>. Replacing <link linkend=\"fdl-invariant\"> Invariant Sections</link> with translations requires special permission from their copyright holders, but you may include translations of some or all Invariant Sections in addition to the original versions of these Invariant Sections. You may include a translation of this License provided that you also include the original English version of this License. In case of a disagreement between the translation and the original English version of this License, the original English version will prevail."
+msgstr "Översättning anses vara en sorts förändring, så du äger sprida översättningar av <link linkend=\"fdl-document\">dokumentet</link> enligt de villkor som sätts i <link linkend=\"fdl-section4\">paragraf 4</link>. <link linkend=\"fdl-invariant\">Oföränderliga avsnitt</link> som ersätts med översättningar kräver tillstånd från deras upphovsrättsinnehavare, men du äger inkludera översättningar av alla eller vissa av dessa oföränderliga avsnitt tillsammans med originalversionerna av dessa oföränderliga avsnitt. Du äger inkludera en översättning av denna licens, och alla licensklausuler i dokumentet, och alla garantiavsägelser, förutsatt att du också innefattar den engelska originalversionen av denna licens och originalversionerna av dessa klausuler. Skulle det finnas skillnader mellan översättningen och originalversionen av denna licens eller någon klausul så gäller originalversionen."
+
+#: C/gtk-doc-manual.xml:580(title)
+msgid "9. TERMINATION"
+msgstr "9. UPPHÖRANDE"
+
+#: C/gtk-doc-manual.xml:581(para)
+msgid "You may not copy, modify, sublicense, or distribute the <link linkend=\"fdl-document\">Document</link> except as expressly provided for under this License. Any other attempt to copy, modify, sublicense or distribute the Document is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance."
+msgstr "Du äger inte kopiera, förändra, omlicensiera eller sprida <link linkend=\"fdl-document\">dokumentet</link> annat än enligt villkoren i GNU Free Documentation License. Alla övriga försök att kopiera, modifiera, omlicensiera, eller sprida dokumentet är ogiltiga och kommer automatiskt medföra att du förlorar dina rättigheter enligt denna licens. Tredje man som har mottagit kopior eller rättigheter från dig enligt dessa licensvillkor kommer dock inte att förlora sina rättigheter så länge de följer licensvillkoren."
+
+#: C/gtk-doc-manual.xml:594(title)
+msgid "10. FUTURE REVISIONS OF THIS LICENSE"
+msgstr "10. FRAMTIDA VERSIONER AV DENNA LICENS"
+
+#: C/gtk-doc-manual.xml:595(para)
+msgid "The <ulink type=\"http\" url=\"http://www.gnu.org/fsf/fsf.html\">Free Software Foundation</ulink> may publish new, revised versions of the GNU Free Documentation License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. See <ulink type=\"http\" url=\"http://www.gnu.org/copyleft\">http://www.gnu.org/copyleft/</ulink>."
+msgstr "<ulink type=\"http\" url=\"http://www.gnu.org/fsf/fsf.html\">Free Software Foundation</ulink> kan publicera nya, reviderade versioner av GNU Free Documentation License då och då. Sådana nya versioner kommer att vara likadana i andemening som den nuvarande versionen, men kan skilja i detalj för att behandla nya problem eller angelägenheter. Se <ulink type=\"http\" url=\"http://www.gnu.org/copyleft\">http://www.gnu.org/copyleft/</ulink>."
+
+#: C/gtk-doc-manual.xml:606(para)
+msgid "Each version of the License is given a distinguishing version number. If the <link linkend=\"fdl-document\">Document</link> specifies that a particular numbered version of this License <quote>or any later version</quote> applies to it, you have the option of following the terms and conditions either of that specified version or of any later version that has been published (not as a draft) by the Free Software Foundation. If the Document does not specify a version number of this License, you may choose any version ever published (not as a draft) by the Free Software Foundation."
+msgstr "Varje version av licensen ges ett unikt versionsnummer. Om <link linkend=\"fdl-document\">dokumentet</link> stadgar att en specifik numrerad version av denna licens <quote>eller valfri senare version</quote> gäller för det, så äger du rätten att följa villkoren enligt antingen den angivna versionen eller vilken senare version som helst som publicerats (inte som utkast) av Free Software Foundation. Om dokumentet inte anger en version av denna licens, äger du välja vilken version som helst som publicerats (inte som utkast) av Free Software Foundation."
+
+#: C/gtk-doc-manual.xml:621(title)
+msgid "Addendum"
+msgstr "TILLÄGG"
+
+#: C/gtk-doc-manual.xml:622(para)
+msgid "To use this License in a document you have written, include a copy of the License in the document and put the following copyright and license notices just after the title page:"
+msgstr "För att använda GNU Free Documentation License för ett dokument du har skrivit, inkludera en kopia av licensen [det engelska originalet] i dokumentet och placera följande copyrightklausul omedelbart efter titelsidan:"
+
+#: C/gtk-doc-manual.xml:629(para)
+msgid "Copyright YEAR YOUR NAME."
+msgstr "Copyright (c) ÅRTAL DITT NAMN."
+
+#: C/gtk-doc-manual.xml:632(para)
+msgid "Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation; with the <link linkend=\"fdl-invariant\">Invariant Sections</link> being LIST THEIR TITLES, with the <link linkend=\"fdl-cover-texts\">Front-Cover Texts</link> being LIST, and with the <link linkend=\"fdl-cover-texts\">Back-Cover Texts</link> being LIST. A copy of the license is included in the section entitled <quote>GNU Free Documentation License</quote>."
+msgstr "Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation; with the <link linkend=\"fdl-invariant\">Invariant Sections</link> being LIST THEIR TITLES, with the <link linkend=\"fdl-cover-texts\">Front-Cover Texts</link> being LIST, and with the <link linkend=\"fdl-cover-texts\">Back-Cover Texts</link> being LIST. A copy of the license is included in the section entitled <quote>GNU Free Documentation License</quote>."
+
+#: C/gtk-doc-manual.xml:647(para)
+msgid "If you have no <link linkend=\"fdl-invariant\">Invariant Sections</link>, write <quote>with no Invariant Sections</quote> instead of saying which ones are invariant. If you have no <link linkend=\"fdl-cover-texts\">Front-Cover Texts</link>, write <quote>no Front-Cover Texts</quote> instead of <quote>Front-Cover Texts being LIST</quote>; likewise for <link linkend=\"fdl-cover-texts\">Back-Cover Texts</link>."
+msgstr "Om du inte har några <link linkend=\"fdl-invariant\">oföränderliga avsnitt</link>, skriv <quote>utan oföränderliga avsnitt</quote> istället för att ange vilka som är oföränderliga. Om du inte har några <link linkend=\"fdl-cover-texts\">framsidestexter</link>, skriv <quote>utan framsidestexter</quote> istället för <quote>framsidestexter som LISTAS</quote>; såväl som för <link linkend=\"fdl-cover-texts\">baksidestexter</link>."
+
+#: C/gtk-doc-manual.xml:657(para)
+msgid "If your document contains nontrivial examples of program code, we recommend releasing these examples in parallel under your choice of free software license, such as the <ulink type=\"http\" url=\"http://www.gnu.org/copyleft/gpl.html\"> GNU General Public License</ulink>, to permit their use in free software."
+msgstr "Om ditt dokument innehåller icke-triviala exempel med programkod, så rekommenderar vi att du släpper dessa exempel parallellt under en, av dig vald, fri programvarulicens, som till exempel <ulink type=\"http\" url=\"http://www.gnu.org/copyleft/gpl.html\">GNU General Public License</ulink>, för att möjliggöra deras användning i fri programvara."
+
+#. Put one translator per line, in the form of NAME <EMAIL>, YEAR1, YEAR2.
+#: C/gtk-doc-manual.xml:0(None)
+msgid "translator-credits"
+msgstr ""
+"Daniel Nylander <po@danielnylander.se>, 2009\n"
+"Marcus Rejås och Alexander Nordström <info@se.linux.org>, 2004"
+
--- /dev/null
+<?xml version="1.0" encoding="utf-8" standalone="no"?>
+<?xml-stylesheet type="text/xml" href="params.xsl"?>
+<!-- vim: set ai tw=80 ts=3 sw=3: -->
+<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "
+ http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
+<!ENTITY FDL SYSTEM "fdl-appendix.xml">
+<!ENTITY FDLlink "<link linkend='fdl'>included</link>">
+]>
+<!-- =============Document Header ============================= -->
+<book id="index" lang="ta">
+ <bookinfo>
+ <title>ஜிடிகே டாக் கையேடு</title>
+ <edition>1.18</edition>
+ <abstract role="description"><para>உருவாக்குவோருக்கான ஜிடிகே டாக்(GTK-Doc) பயன்பாட்டு பயனர் கையேடு </para></abstract>
+ <authorgroup>
+ <author>
+ <firstname>க்ரிஸ்</firstname>
+ <surname>லைட்டில்</surname>
+ <affiliation>
+ <address>
+ <email>chris@wilddev.net</email>
+ </address>
+ </affiliation>
+ </author>
+ <author>
+ <firstname>டேன்</firstname>
+ <surname>மீயத்</surname>
+ <affiliation>
+ <address>
+ <email>d-mueth@uchicago.edu</email>
+ </address>
+ </affiliation>
+ </author>
+ <author>
+ <firstname>ஸ்டீபன்</firstname>
+ <surname>கோஸ்ட்</surname>
+ <affiliation>
+ <address>
+ <email>ensonic@users.sf.net</email>
+ </address>
+ </affiliation>
+ </author>
+ </authorgroup>
+ <publisher role="maintainer">
+ <publishername>ஜிடிகே-டாக் திட்டம்</publishername>
+ <address><email>gtk-doc-list@gnome.org</email></address>
+ </publisher>
+ <copyright>
+ <year>2000, 2005</year>
+ <holder>Dan Mueth and Chris Lyttle</holder>
+ </copyright>
+ <copyright>
+ <year>2007-2011</year>
+ <holder>Stefan Sauer (Kost)</holder>
+ </copyright>
+
+ <!-- translators: uncomment this:
+ <copyright>
+ <year>2000</year>
+ <holder>ME-THE-TRANSLATOR (Latin translation)</holder>
+ </copyright>
+ -->
+
+ <legalnotice>
+ <para>நீங்கள் இலவச மென் பொருள் அமைப்பினால் வெளியிடப்பட்ட<citetitle> ஜிஎன்யு பொது ஆவண அனுமதிக்கான</citetitle> இந்த 1.1 ம் பதிப்பு அல்லது அடுத்த பதிப்புகள் விதிகளின் படி நீங்கள் (விருப்பப்படி) மாற்றமில்லா தொகுதிகள், முன் அட்டை உரைகள், பின் அட்டை உரைகள் ஆக்கியன நீங்கலாக இதை பிரதி எடுக்கலாம், வினியோகிக்கலாம், மாற்றலாம். அனுமதியின் பிரதி இங்குள்ளது:<link linkend="fdl">included</link></para>
+ <para>நிறுவனங்களால் அவர்களது பொருட்கள், சேவைகளை குறிப்பிட பயனாகும் பல பெயர்களை அவர்களது வியாபார குறியாக சொல்கிறார்கள். அத்தகைய பெயர்கள் க்னோம் ஆவணங்களில் காணப்படுமானால், அவை க்னோம் ஆவண திட்ட உறுப்பினருக்கு தெரிவிக்கப்பட்டால், அவை தலை எழுத்துக்களாக அலல்து முதல் எழுத்து தலை எழுத்தாக காட்டப்படும். </para>
+ </legalnotice>
+
+ <revhistory>
+ <!--revision>
+ <revnumber>1.18.1</revnumber>
+ <date>15 Sep 2011</date>
+ <authorinitials>sk</authorinitials>
+ <revremark>development version, markdown support</revremark>
+ </revision-->
+ <revision>
+ <revnumber>1.18</revnumber>
+ <date>14 sep 2011</date>
+ <authorinitials>sk</authorinitials>
+ <revremark>bug fixes, speedups, markdown support</revremark>
+ </revision>
+ <revision>
+ <revnumber>1.17</revnumber>
+ <date>26 Feb 2011</date>
+ <authorinitials>sk</authorinitials>
+ <revremark>urgent bug fix update</revremark>
+ </revision>
+ <revision>
+ <revnumber>1.16</revnumber>
+ <date>14 Jan 2011</date>
+ <authorinitials>sk</authorinitials>
+ <revremark>bugfixes, layout improvements</revremark>
+ </revision>
+ <revision>
+ <revnumber>1.15</revnumber>
+ <date>21 May 2010</date>
+ <authorinitials>sk</authorinitials>
+ <revremark>bug and regression fixes</revremark>
+ </revision>
+ <revision>
+ <revnumber>1.14</revnumber>
+ <date>28 March 2010</date>
+ <authorinitials>sk</authorinitials>
+ <revremark>bugfixes and performance improvements</revremark>
+ </revision>
+ <revision>
+ <revnumber>1.13</revnumber>
+ <date>18டிசம்பர் 2009</date>
+ <authorinitials>sk</authorinitials>
+ <revremark>சிதைந்த டார் பால் இற்றைப்படுத்தல்</revremark>
+ </revision>
+ <revision>
+ <revnumber>1.12</revnumber>
+ <date>18டிசம்பர் 2009</date>
+ <authorinitials>sk</authorinitials>
+ <revremark>புதிய அம்சங்கள் மற்றும் வழி நீக்கங்கள்</revremark>
+ </revision>
+ <revision>
+ <revnumber>1.11</revnumber>
+ <date>16 நவம்பர் 2008</date>
+ <authorinitials>மால்</authorinitials>
+ <revremark>க்னோம் டாக்-யுடில்ஸ் இட மாற்றம்</revremark>
+ </revision>
+ </revhistory>
+
+ </bookinfo>
+
+ <!-- ======== Chapter 1: Introduction ======================== -->
+
+ <chapter id="introduction">
+ <title>அறிமுகம்</title>
+
+ <para>இந்த அத்தியாயம் ஜிடிகே-டாக் குறித்த அறிமுகம் தருகிறது. மேலும் அது என்ன எப்படி பயன்படுத்துவது என மேலோட்டமாக சொல்லுகிறது.</para>
+
+ <sect1 id="whatisgtkdoc">
+ <title>ஜிடிகே டாக் என்பதென்ன?</title>
+
+ <para>ஜிடிகே டாக் சி குறியாக்கத்தை ஆவணப்படுத்துகிறது. இது எடுத்துக்காட்டாக ஜிடிகே+ மற்றும் க்னோம் நூலகங்கள் போன்ற நூலகங்களின் பொது ஏபிஐ களை ஆவணப்படுத்த பயன்படுகிறது. ஆனாலும் இது நிரல்களின் குறியாக்கத்தை ஆவணப்படுத்தக்கூட பயன்படுத்தலாம். </para>
+ </sect1>
+
+ <sect1 id="howdoesgtkdocwork">
+ <title>ஜிடிகே டாக் எப்படி வேலை செய்கிறது?</title>
+
+ <para>ஜிடிகே டாக் வேலை செய்வதெப்படி எனில் சிறப்பு ஒழுங்கில் விமர்சன தொகுதிகளாக செயல்களின் ஆவணங்கள் மூல கோப்புகளில் வைக்கப்படும். அல்லது ஜிடிகே டாக் பயன்படுத்தும் டெம்ப் கோப்புகளுக்கு சேர்க்கபடும். (ஆயினும் ஜிடிகே டாக் தலைப்பு கோப்புகளில் அறுதியிட்ட பங்ஷன்களை மட்டுமே ஆவணப்படுத்தும். நிலையான பங்க்ஷன்களுக்கு வெளியீடு தராது)</para>
+
+ <para>ஜிடிகே டாக் இல் பல பெர்ல் குறுநிரல்கள் உள்ளன. </para>
+
+ <para>இந்த நடப்பில் ஐந்து படிகள் உள்ளன</para>
+
+ <orderedlist>
+
+ <listitem>
+ <para><guilabel>ஆவணம் எழுதும் முறை.</guilabel> ஆசிரியர் மூல கோப்பை ஒவ்வொரு செயல், மேக்ரோ, இணைப்புக்கும் ஆவணங்களால் நிரப்புவார். (முன்னே விவரங்கள் உருவாக்கப்பட்ட வார்ப்புரு கோப்புக்களால் உள்ளிடப்பட்டது. அப்படி இனி செய்ய பரிந்துரைக்கவில்லை.)</para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <guilabel>Gathering information about the code.</guilabel>
+
+ <application>gtkdoc-scan</application> scans the header files of the
+ code looking for declarations of functions, macros, enums, structs, and unions.
+ It creates the file <filename><module>-decl-list.txt</filename> containg a list of the
+ declarations, placing them into sections according to which header file they
+ are in. On the first run this file is copied to <filename><module>-sections.txt</filename>.
+ The author can rearrange the sections, and the order of the
+ declarations within them, to produce the final desired order.
+ The second file it generates is <filename><module>-decl.txt</filename>.
+ This file contains the full declarations found by the scanner. If for
+ some reason one would like some symbols to show up in the docs, where
+ the full declaration cannot be found by the scanner or the declaration
+ should appear differently, one can place enties similar to the ones in
+ <filename><module>-decl.txt</filename> into <filename><module>-overrides.txt</filename>.
+
+ <application>gtkdoc-scanobj</application> can also be used to dynamically query a library about
+ any GtkObject subclasses it exports. It saves information about each
+ object's position in the class hierarchy and about any GTK Args and Signals it
+ provides.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para><guilabel>"வார்ப்புரு" கோப்புகள் உருவாக்கம் .</guilabel><application>gtkdoc-mktmpl</application> இந்த துணை அடைவில் முதல் சுற்றில் சேகரித்த தகவல்களைக் கொண்டு பல கோப்புகளை உருவாக்குகிறது: <filename class="directory">tmpl/</filename> (இதை மீண்டும் மீண்டும் இயக்கலாம். எந்த கோப்பும் தொலைந்து போகாமல் இது பார்த்துக்கொள்ளும்.)</para>
+ <note>
+ <para>ஜிடிகே டாக் 1.9 முதல் வார்ப்புருக்களை தவிர்க்கலாம். மக்கள் ஆவணத்தை குறீயாக்கத்தில் வைத்து இருப்பதையே நாங்கள் விரும்புகிறோம். <application>gtkdocize</application> இப்போது இந்த <option>--flavour no-tmpl</option> தேர்வை ஆதரிக்கிறது. இது (tmpl) வார்ப்புரு பயன்பாட்டை முற்றூம் தவிர்க்கும் ஒரு மேக் பைலை தேர்வுசெய்கிறது. நீங்கள் கைமுறையாக எந்த ஒரு tmpl கோப்பையும் மாற்றியது இல்லையானால் தயை செய்து இந்த அடைவை நீக்கவும்.(எ.கா. வெர்ஷன் கன்ட்ரோல் அமைப்பு).</para>
+ </note>
+ </listitem>
+
+ <listitem>
+ <para>
+ <guilabel>Generating the SGML/XML and HTML/PDF.</guilabel>
+
+ <application>gtkdoc-mkdb</application> turns the template files into
+ SGML or XML files in the <filename class="directory">sgml/</filename>
+ or <filename class="directory">xml/</filename> subdirectory.
+ If the source code contains documentation on functions, using the
+ special comment blocks, it gets merged in here. If there are no tmpl files used
+ it only reads docs from sources and introspection data. We recommend
+ to use Docbook XML.
+ </para>
+ <para>
+ <application>gtkdoc-mkhtml</application> turns the SGML/XML files into HTML
+ files in the <filename class="directory">html/</filename> subdirectory.
+ Likewise <application>gtkdoc-mkpdf</application> turns the SGML/XML files into a PDF
+ document called <filename><package>.pdf</filename>.
+ </para>
+ <para> <filename class="directory">sgml/</filename> அல்லது <filename class="directory">xml/</filename> மற்றும் <filename class="directory">html/</filename> இல் உள்ள அடைவுகள் எப்போதுமே மேலெழுதப்படும். அவற்றை யாரும் எப்போதும் நேரடியாக திருத்தக்கூடாது.</para>
+ </listitem>
+
+ <listitem>
+ <para><guilabel>ஆவணங்கள் இடையில் குறுக்கு தொடுப்புகளை சரி செய்தல்</guilabel> HTML கோப்புக்களை நிறுவிய பின்னர், பின் வரும் நிரலை இயக்கி <application>gtkdoc-fixxref</application> ஆவணங்கள் இடையில் குறுக்கு தொடுப்புகளை சரி செய்யலாம். உதாரணமாக ஜிடிகே+ ஆவணத்தில் ஜிலிப் கையேட்டில் ஆவணப்படுத்திய பல வகைகளுக்கு குறுக்கு தொடுப்புகள் இருக்கும். வினியோகிக்க டார் பால் செய்யும் போது <application>gtkdoc-rebase</application> எல்லா வெளி தொடுப்புக்களையும் வலை தொடுப்பாக மாற்றிவிடும். இதே நிரல் ஆவணங்கள் நிறுவப்படும்போது அவற்றை உள்ளமை தொடுப்புக்களாக மாற்றியமைக்கும். (மற்ற ஆவணங்கள் நிறுவப்பட்டு இருக்கும் பட்சத்தில்.)</para>
+ </listitem>
+ </orderedlist>
+
+ </sect1>
+
+ <sect1 id="gettinggtkdoc">
+ <title>ஜிடிகே டாக் ஐ பெறுதல்</title>
+
+ <sect2 id="requirements">
+ <title>முன் தேவைகள்</title>
+ <para>
+ <guilabel>Perl v5</guilabel> - the main scripts are in Perl.
+ </para>
+ <para>
+ <guilabel>DocBook DTD v3.0</guilabel> - This is the DocBook SGML DTD.
+ <ulink url="http://www.ora.com/davenport" type="http">http://www.ora.com/davenport</ulink>
+ </para>
+ <para>
+ <guilabel>Jade v1.1</guilabel> - This is a DSSSL processor for converting SGML to various formats.
+ <ulink url="http://www.jclark.com/jade" type="http">http://www.jclark.com/jade</ulink>
+ </para>
+ <para>
+ <guilabel>Modular DocBook Stylesheets</guilabel>
+ This is the DSSSL code to convert DocBook to HTML (and a few other
+ formats). It's used together with jade.
+ I've customized the DSSSL code slightly, in gtk-doc.dsl, to colour
+ the program code listings/declarations, and to support global
+ cross-reference indices in the generated HTML.
+ <ulink url="http://nwalsh.com/docbook/dsssl" type="http">http://nwalsh.com/docbook/dsssl</ulink>
+ </para>
+ <para> நீங்கள் டாக்புக் இலிருந்து மேன் பக்கங்களை தயாரிக்க விரும்பினால் ..மொழிபெயர்ப்பு குறிப்புக்களை சற்றே நான் மாற்றியுள்ளேன். தொகுப்பு தலைப்புகள் மேலெழுத்தில் காட்டப்படும். ஜிடிகே நூலகம் என்னும் தலைப்பு ('GTK Library') பக்கங்களின் மேலே காட்டப்படும். திருத்திய தேதி கீழே காட்டப்படும். இதற்கு இங்கு ஒரு தொடுப்பு உள்ளது: <ulink url="http://www.ora.com/davenport" type="http">http://www.ora.com/davenport</ulink> குறிப்பு: இது இன்னும் செயலில் இல்லை..</para>
+ </sect2>
+
+ <sect2 id="installation">
+ <title>நிறுவல்</title>
+ <para>மாடுலர் டாக் புக் ஸ்டைய்ல்ஷீட்ஸ் நிறுவப்பட செந்தரமான இடமில்லை.</para>
+ <para>ஜிடிகே டாக் இன் வடிவமைக்கும் குறுநிரல் மூன்று அடைவுகளை தானியங்கியாக பார்க்கும்.</para>
+ <para><filename> /usr/lib/sgml/stylesheets/nwalsh-modular </filename> (ரெட் ஹாட் ஆல் பயன்படுத்தப்படுவது)</para>
+ <para><filename> /usr/lib/dsssl/stylesheets/docbook </filename> (டெபியன் ஆல் பயன்படுத்தப்படுவது)</para>
+ <para><filename> /usr/share/sgml/docbkdsl </filename> (சூசே ஆல் பயன்படுத்தப்படுவது)</para>
+ <para>ஸ்டைய்ல் ஷீட் கள் வேறெங்கும் நிறுவி இருப்பின் கை முறையாக ஜிடிகே டாக் ஐ வடிவமைக்க வேண்டும். கட்டளை தேர்ர்வு: <command> --with-dsssl-dir=<PATH_TO_TOPLEVEL_STYLESHEETS_DIR> </command> </para>
+ </sect2>
+
+ </sect1>
+
+ <!-- not realy worth a section
+ <sect1 id="whentousegtkdoc">
+ <title>When to Use GTK-Doc</title>
+
+ <para>
+ (What things GTK-Doc should, and shouldn't, be used for.)
+ (- ???)
+ (- non C-based projects)
+ (+ Tutorials)
+ </para>
+
+ </sect1>
+ -->
+
+ <sect1 id="aboutgtkdoc">
+ <title>ஜிடிகே டாக் பற்றி</title>
+
+ <para>(FIXME)</para>
+
+ <para>(வரலாறு, ஆசிரியர்கள், வலைப்பக்கங்கள், உரிமை, எதிர்கால திட்டங்கள், மற்ற இதே போன்ற அமைப்புகளுடன் ஒப்பீடு)</para>
+
+ </sect1>
+
+ <sect1 id="aboutthismanual">
+ <title>இந்த கையேடு பற்றி</title>
+
+ <para>(FIXME)</para>
+
+ <para>(இது யாருக்கு, உரிமம், எங்கு பெறுவது)</para>
+
+ </sect1>
+
+ </chapter>
+
+ <chapter id="settingup">
+ <title>உங்கள் திட்டத்தை அமைத்தல்</title>
+
+ <para>
+ The next sections describe what steps to perform to integrate GTK-Doc into
+ your project. Theses sections assume we work on a project called 'meep'.
+ This project contains a library called 'libmeep' and
+ an end-user app called 'meeper'. We also assume you will be using autoconf
+ and automake. In addition section <link linkend="plain_makefiles">plain
+ makefiles or other build systems</link> will describe the basics needed to
+ work in a different build setup.
+ </para>
+
+ <sect1 id="settingup_docfiles">
+ <title>தோராய ஆவணம் அமைத்தல்</title>
+
+ <para>உங்கள் தலை மட்ட திட்ட அடைவில் இந்த மாதிரி அடைவுகளை உருவாக்குக.docs/reference (இதனால் உங்களுக்கு பயனர் ஆவணம் docs/help உம் கிடைக்கும்). இன்னொரு துணை அடைவு doc-package என் பெயரிட்டு உருவாக்கவும். ஒரே ஒரு நூலகம் உள்ள பொதிகளுக்கு இந்த படி தேவையில்லை</para>
+
+ <para>
+ This can then look as shown below:
+ <example><title>எடுத்துக்காட்டு அடைவு அமைப்பு</title>
+ <programlisting>
+<![CDATA[
+meep/
+ docs/
+ reference/
+ libmeep/
+ meeper/
+ src/
+ libmeep/
+ meeper/
+]]>
+ </programlisting>
+ </example>
+ </para>
+ </sect1>
+
+ <sect1 id="settingup_autoconf">
+ <title>ஆட்டோ கான்ஃப் உடன் ஒருங்கிணைப்பு</title>
+
+ <para>ரொம்ப சுலபம். <filename>configure.ac</filename> குறுநிரலுக்கு ஒரே ஒரு வரி மட்டும் சேருங்கள்.</para>
+
+ <para>
+ <example><title>ஆட்டோ கான்ஃப் உடன் ஒருங்கிணைப்பு</title>
+ <programlisting>
+<![CDATA[
+# check for gtk-doc
+GTK_DOC_CHECK([1.14],[--flavour no-tmpl])
+]]>
+ </programlisting>
+ </example>
+ </para>
+
+ <para>
+ This will require all developers to have gtk-doc installed. If it is
+ okay for your project to have optional api-doc build setup, you can
+ solve this as below. Keep it as is, as gtkdocize is looking for
+ <function>GTK_DOC_CHECK</function> at the start of a line.
+ <example><title>Keep gtk-doc optional</title>
+ <programlisting>
+<![CDATA[
+# check for gtk-doc
+m4_ifdef([GTK_DOC_CHECK], [
+GTK_DOC_CHECK([1.14],[--flavour no-tmpl])
+],[
+AM_CONDITIONAL([ENABLE_GTK_DOC], false)
+])
+]]>
+ </programlisting>
+ </example>
+ </para>
+
+ <para>முதல் தரு மதிப்பு வடிவமைப்பு நேரத்தில் ஜிடிகே டாக் இன் பதிப்பை சோதிக்கிறது. இரண்டாவது தெர்வு தருமதிப்பு. இது இந்த நிரலால் பயன்படுத்தப்படுகிறது. <application>gtkdocize</application>. <symbol>GTK_DOC_CHECK</symbol> மேக்ரோ பல மாற்றிகளை வடிவமைத்து சேர்க்கிறது:</para>
+ <orderedlist>
+ <listitem><para>--with-html-dir=PATH : நிறுவிய ஆவணங்களுக்கான பாதை</para></listitem>
+ <listitem><para>""--enable-gtk-doc :ஆவணமாக்கத்துக்கு ஜிடிகே டாக் ஐ பயன்படுத்துக. [முன்னிருப்பு=இல்லை]</para></listitem>
+ <listitem><para>--enable-gtk-doc-html : html ஒழுங்கில் ஆவணத்தை உருவாக்குக[முன்னிருப்பு=ஆம்]</para></listitem>
+ <listitem><para>--enable-gtk-doc-pdf : pdf ஒழுங்கில் ஆவணத்தை உருவாக்குக [முன்னிருப்பு=இல்லை]</para></listitem>
+ </orderedlist>
+
+ <important>
+ <para>ஜிடிகே டாக் GTK-Doc முன்னிருப்பாக செயலிழந்து இருக்கும்! ஆகவே அடுத்த <filename>configure</filename> இயக்கத்துக்கு இந்த தேர்வை செய்க: <option>'--enable-gtk-doc'</option> . இல்லையானால் முன் உருவாக்கிய ஆவணங்கள் நிறூவப்படும்.( இது பயனர்களுக்கு புரியும், நல்லது. ஆனால் உருவாக்குவோருக்கு அல்ல).</para>
+ </important>
+
+ <para> மேலும் பின் வரும் வரியை உங்கள் <filename>configure.ac</filename> குறுநிரலில் அமைத்துக்கொள்க. இது <application>gtkdocize</application> நிரலை தானியங்கியாக <function>GTK_DOC_CHECK</function> இன் மேக்ரோ அறிதியீட்டை உங்கள் திட்டத்துக்கு பிரதி எடுக்கிறது.</para>
+
+ <para>
+ <example><title>gtkdocize க்கு முன்னேற்பாடு</title>
+ <programlisting>
+<![CDATA[
+AC_CONFIG_MACRO_DIR(m4)
+]]>
+ </programlisting>
+ </example>
+ </para>
+ </sect1>
+
+ <sect1 id="settingup_automake">
+ <title>ஆட்டோமேக் உடன் ஒருங்கிணைப்பு</title>
+
+ <para>முதலில் gtkdoc-sources அடைவிலிருந்து உங்கள் திட்டத்தின் ஏபிஐ ஆவண அடைவு ( <filename class="directory">./docs/reference/<package></filename>) க்கு <filename>Makefile.am</filename> ஐ பிரதி எடுக்கவும். உங்களுக்கு பல டாக் பொதிகள் இருப்பின் இதை ஒவ்வொன்றுக்கும் செய்யவும்.</para>
+
+ <para>
+ The next step is to edit the settings inside the <filename>Makefile.am</filename>.
+ All the settings have a comment above that describes their purpose.
+ Most settings are extra flags passed to the respective tools. Every tool
+ has a variable of the form <option><TOOLNAME>_OPTIONS</option>.
+ All the tools support <option>--help</option> to list the supported
+ parameters.
+ </para>
+
+ <!-- FIXME: explain options ? -->
+
+ <para>
+ You may also want to enable GTK-Doc for the distcheck make target. Just
+ add the one line shown in the next example to your top-level
+ <filename>Makefile.am</filename>:
+ </para>
+
+ <para>
+ <example><title>distcheck போது ஜிடிகே- டாக் ஐ செயலாக்குக</title>
+ <programlisting>
+<![CDATA[
+DISTCHECK_CONFIGURE_FLAGS=--enable-gtk-doc
+]]>
+ </programlisting>
+ </example>
+ </para>
+
+ </sect1>
+
+ <sect1 id="settingup_autogen">
+ <title>ஆட்டொஜென் உடன் ஒருங்கிணைத்தல்</title>
+
+ <para>முக்கால்வாசி திட்டங்களில் (cvs/svn/git போன்ற) வெர்ஷன் கட்டுப்பாடு அமைப்பில் இருந்து பெறப்பட்டதும் அடிக்கட்டுமான பணியை செய்ய <filename>autogen.sh</filename> குறுநிரல் இருக்கும். ஜிடிகே டாக் (GTK-Doc) இல் <application>gtkdocize</application> என ஒரு கருவி உண்டு. இது அது போன்ற குறுநிரலுடன் வேலை செய்யும்.இது autoheader, automake அல்லது autoconf க்கு முன்னால் இயக்கப்பட வேண்டும்.</para>
+
+ <para>
+ <example><title>autogen.sh இலிருந்து gtkdocize ஐ இயக்குதல்</title>
+ <programlisting>
+<![CDATA[
+gtkdocize || exit 1
+]]>
+ </programlisting>
+ </example>
+ </para>
+
+ <para>
+ When running <application>gtkdocize</application> it copies
+ <filename>gtk-doc.make</filename> to your project root (or any directory
+ specified by the <option>--docdir</option> option).
+ It also checks you configure script for the <function>GTK_DOC_CHECK</function>
+ invocation. This macro can be used to pass extra parameters to
+ <application>gtkdocize</application>.
+ </para>
+
+ <para>
+ Historically GTK-Doc was generating template files where developers entered the docs.
+ This turned out to be not so good (e.g. the need for having generated
+ files under version control).
+ Since GTK-Doc 1.9 the tools can get all the information from source comments
+ and thus the templates can be avoided. We encourage people to keep
+ documentation in the code. <application>gtkdocize</application> supports now
+ a <option>--flavour no-tmpl</option> option that chooses a makefile that skips
+ tmpl usage totally. Besides adding the option directly to the command
+ invocation, they can be added also to an environment variable called <symbol>GTKDOCIZE_FLAGS</symbol>
+ or set as a 2nd parameter in <symbol>GTK_DOC_CHECK</symbol> macro in the configure script.
+ If you have never changed file in tmpl by hand and migrating from older gtkdoc versions,
+ please remove the dir (e.g. from version control system).
+ </para>
+ </sect1>
+
+ <sect1 id="settingup_firstrun">
+ <title>டாக் உருவாக்கியை (doc build) இயக்குதல்</title>
+
+ <para>இப்போது கட்டுமானத்திற்கு ஆயத்தமாகிவிட்டோம். முதலில் நாம் மீன்டும் <filename>autogen.sh</filename> ஐ இயக்கவேண்டும். இது உங்களுக்கு கட்டமைப்பை இயக்கினால் அதற்கு <option>--enable-gtk-doc</option> தேர்வை தரவும். இல்லையானால் கைமுறையாக இதே தேர்வுடன் <filename>configure</filename> ஐ பிரிதொரு முறை இயக்கவும்.</para>
+ <para>
+ The first make run generates several additional files in the doc-dirs.
+ The important ones are:
+ <filename><package>.types</filename>,
+ <filename><package>-docs.xml</filename> (in the past .sgml),
+ <filename><package>-sections.txt</filename>.
+ </para>
+ <para>
+ <example><title>டாக் உருவாக்கியை (doc build) இயக்குதல்</title>
+ <programlisting>
+<![CDATA[
+./autogen.sh --enable-gtk-doc
+make
+]]>
+ </programlisting>
+ </example>
+ </para>
+ <para>இப்போது உங்கள் உலாவியை <filename>docs/reference/<package>/index.html</filename> க்கு சுட்டிக்காட்டலாம். ஆமாம், இது கொஞ்சம் ஏமாற்றமாகத்தான் இருக்கிறது. கவலை வேண்டாம். அடுத்த அத்தியாயத்தில் எப்படி இவற்றை உயிருக்கு கொண்டு வருவது என பார்க்கலாம்.</para>
+ </sect1>
+
+ <sect1 id="settingup_vcs">
+ <title>வெர்ஷன் கன்ட்ரோல் அமைப்புகளுடன் ஒருங்கிணைத்தல்</title>
+
+ <para>
+ As a rule of the thumb, it's those files you edit, that should go under
+ version control. For typical projects it's these files:
+ <filename><package>.types</filename>,
+ <filename><package>-docs..xml</filename> (in the past .sgml),
+ <filename><package>-sections.txt</filename>,
+ <filename>Makefile.am</filename>
+ </para>
+ </sect1>
+
+ <sect1 id="plain_makefiles">
+ <title>Integration with plain makefiles or other build systems</title>
+
+ <para>
+ In the case one does not want to use automake and therfore
+ <filename>gtk-doc.mak</filename> one will need to call the gtkdoc tools
+ in the right order in own makefiles (or other build tools).
+ </para>
+
+ <para>
+ <example><title>Documentation build steps</title>
+ <programlisting>
+<![CDATA[
+DOC_MODULE=meep
+// sources have changed
+gtkdoc-scan --module=$(DOC_MODULE) --source-dir=...
+gtkdoc-scangobj --module=$(DOC_MODULE)
+gtkdoc-mkdb --module=$(DOC_MODULE) --output-format=xml
+// xml files have changed
+mkdir html
+cd html && gtkdoc-mkhtml $(DOC_MODULE) ../meep-docs.xml
+gtkdoc-fixxref --module=$(DOC_MODULE) --module-dir=html
+]]>
+ </programlisting>
+ </example>
+ </para>
+
+ <para>
+ One will need to look at the <filename>Makefile.am</filename> and
+ <filename>gtk-doc.mak</filename> to pick the extra options needed.
+ </para>
+ </sect1>
+
+ </chapter>
+
+ <chapter id="documenting">
+ <title>குறியாக்கத்தை ஆவணப்படுத்துதல்</title>
+
+ <para>
+ GTK-Doc uses source code comment with a special syntax for code documentation.
+ Further it retrieves information about your project structure from other
+ sources. During the next section you will find all information about the
+ syntax of the comments.
+ </para>
+
+ <note>
+ <title>ஆவணம் இடுதல்</title>
+ <para>முன் காலத்தில் பெரும்பாலான ஆவணங்கள் <filename>tmpl</filename> அடைவில் இருக்கும் கோப்புகளில் நிரப்பப்பட வேண்டி இருந்தது. இதில் நஷ்டமாக தகவல்கள் அவ்வப்போது புதுப்பிக்கப்படவில்லை. மேலும் இவை வெர்ஷன் கட்டுப்பாடு அமைப்புகளுடன் பொருந்தவில்லை</para>
+ <para>மேற்கூறிய காரணங்களால் நாங்கள் ஆவணங்களை மூலத்துடன் வைக்கு மாறூ சொல்கிறோம். இந்த கையேடு இந்த முறையை மட்டுமே விவாதிக்கும்.</para>
+ </note>
+
+ <para>
+ The scanner can handle the majority of c headers fine. In the case of
+ receiving warnings from the scanner that look like a special case, one can
+ hint GTK-Doc to skip over them.
+ <example><title>ஜிடிகே டாக் விமரிசன தொகுப்பு</title>
+ <programlisting>
+<![CDATA[
+#ifndef __GTK_DOC_IGNORE__
+/* unparseable code here */
+#endif
+]]>
+ </programlisting>
+ </example>
+ </para>
+
+ <!-- -->
+
+ <sect1 id="documenting_syntax">
+ <title>ஆவணமாக்க விமரிசனங்கள்</title>
+
+ <para> '*' இல் துவங்கும் பல்வரி விமர்சனம் ஜிடிகே டாக் கருவிகளால் ஒரு ஆவணமாக்கல் தொகுதியாக கையாளப்படும். <example><title>ஜிடிகே டாக் விமரிசன தொகுப்பு</title>
+ <programlisting>
+<![CDATA[
+/**
+ * identifier:
+ * documentation ...
+ */
+]]>
+ </programlisting>
+ </example> </para>
+
+ <para> 'identifier' எனப்படும் இனம் காட்டி விமர்சனம் பொருந்தும் உருப்படியின் பெயருடன் கூடிய ஒரு வரி. உருப்படியை பொருத்து இலக்கணம் சற்று மாறலாம். </para>
+
+ <para>ஆவண ( 'documentation') தொகுதி ஒவ்வொரு அடையாளத்துக்கும் கூட தனித் தனியாகும் .symbol type. Symbol types that get parameters such as functions or macros have the parameter description first followed by a blank line (just a '*'). Afterwards follows the detailed description. All lines (outside program- listings and CDATA sections) just containing a ' *' (blank-asterisk) are converted to paragraph breaks. If you don't want a paragraph break, change that into ' * ' (blank-asterisk-blank-blank).</para>
+
+ <tip>
+ <para>
+ When documenting code, describe two apsects:
+ <itemizedlist>
+ <listitem>
+ <para>
+ What it is: The name for a class or function can sometimes
+ be misleading for people coming from a different background.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ What it does: Tell about common uses. Put it in releation
+ with the other API.
+ </para>
+ </listitem>
+ </itemizedlist>
+ </para>
+ </tip>
+
+ <para>ஜிடிகே டாக் </para>
+
+ <tip>
+ <para>சிறப்பு குறிகளான '<', '>', '()', '@', '%', அல்லது '#' ஐ ஜிடிகே டாக் மாற்றாமல் அப்படியே ஆவணத்தில் பயன்படுத்த அவற்றுக்கான ஹெச்எம்எல் ஐ பயன்படுத்துக: "&lt;", "&gt;", "&lpar;", "&rpar;", "&commat;", "&percnt;" மற்றும் "&num;" அல்லது பின் சாய்வு கோடால் அவற்றை தனியாக்கலாம்.'\'. </para>
+ </tip>
+
+ <para>
+ DocBook can do more than just links. One can also have lists, tables and
+ examples. To enable the usage of docbook SGML/XML tags inside
+ doc-comments you need to have <option>--xml-mode</option> or
+ <option>--sgml-mode</option> in the variable
+ <symbol>MKDB_OPTIONS</symbol> inside <filename>Makefile.am</filename>.
+ </para>
+
+ <para>
+ Since GTK-Doc-1.18 the tool supports a subset or the
+ <ulink url="http://daringfireball.net/projects/markdown/">markdown language</ulink>.
+ One can use it for sub-headings and simple itemized lists. On older
+ GTK-Doc versions the content will be rendered as it (the list items will
+ appear in one line separated by dashes).
+ <example><title>GTK-Doc comment block using markdown</title>
+ <programlisting>
+<![CDATA[
+/**
+ * identifier:
+ *
+ * documentation ...
+ *
+ * # Sub heading #
+ *
+ * more documentation:
+ * - list item 1
+ * - list item 2
+ *
+ * Even more docs.
+ */
+]]>
+ </programlisting>
+ </example>
+ </para>
+
+ <tip>
+ <para>ஜிடிகே டாக் </para>
+ </tip>
+ </sect1>
+
+ <sect1 id="documenting_sections">
+ <title>ஆவணப்படுத்தும் தொகுதிகள்</title>
+
+ <para>ஆவணத்தில் ஒவ்வொரு பிரிவும் ஒரு வகுப்பு அல்லது கூறு குறித்து தகவலைப்பெற்றிருக்கும். ஒரு பாகத்தை அறிமுகம் செய்ய ஒரு தொகுதியை எழுதலாம். குறுகிய விவரணம் உள்ளடக்க பட்டியலில் கூட பயன்படுத்தப்படும். எல்லா @ புலங்களூம் தேர்வுக்குரியன.</para>
+
+ <para>
+ <example><title>பிரிவு விமரிசன தொகுதி</title>
+ <programlisting>
+<![CDATA[
+/**
+ * SECTION:meepapp
+ * @short_description: the application class
+ * @title: Meep application
+ * @section_id:
+ * @see_also: #MeepSettings
+ * @stability: Stable
+ * @include: meep/app.h
+ * @image: application.png
+ *
+ * The application class handles ...
+ */
+]]>
+ </programlisting>
+ </example>
+ </para>
+
+ <variablelist>
+ <varlistentry>
+ <term>SECTION:<பெயர்></term>
+ <listitem>
+ <para>பகுதி ஆவணத்தை பெயர் <filename><package>-sections.txt</filename>கோப்புக்கு இணைக்கிறது. கொடுக்கப்பட்ட பெயர் <filename><package>-sections.txt</filename> கோப்பில் <FILE> குறிப்புடன் பொருந்த வேண்டும்.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>@short_description</term>
+ <listitem>
+ <para>பகுதி பக்கத்தின் மேலே உள்ளடக்க பட்டியலுக்கான தொடுப்புகளுக்குப்பின் காணும் ஒரு வரி விவரம்.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>@title</term>
+ <listitem>
+ <para>இந்த தொகுதி SECTION சாற்றுரையிலிருந்து <name> க்கு முன்னிருப்பாக செல்லும். இதை உதாசீனப்படுத்த @title புலத்தை பயன்படுத்துக.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>@section_id</term>
+ <listitem>
+ <para>
+ Overrides the use of title as a section identifier. For GObjects
+ the <title> is used as a section_id and for other sections
+ it is <MODULE>-<title>.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>@see_also</term>
+ <listitem>
+ <para>
+ A list of symbols that are related to this section.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>@stability</term>
+ <listitem>
+ <para>
+ A informal description of the stability level this API has.
+ We recommend the use of one of these terms:
+ <itemizedlist>
+ <listitem>
+ <para>Stable - நிலையான- எனில் இடைமுகம் நிலையானது. மூன்றாம் நபர்கள் இவற்றை ஒட்டி நிரல்களை எழுதி வெளியிடலாம்; எந்த பெரிய வெளியீட்டுக்குள் அவை வெளியிடப்பட்டதோ அதன் சிறிய வெளியீட்டுகளுக்குள் அவை சரியாக வேலை செய்யும் என நம்பலாம். பெரிய வெளியீடில் கூட இசைவு இல்லாமல் போவது துர்லபம்.</para>
+ </listitem>
+ <listitem>
+ <para>
+ Unstable
+ - Unstable interfaces are experimental or transitional.
+ They are typically used to give outside developers early
+ access to new or rapidly changing technology, or to provide
+ an interim solution to a problem where a more general
+ solution is anticipated.
+ No claims are made about either source or binary
+ compatibility from one minor release to the next.
+ </para>
+ </listitem>
+ <listitem>
+ <para>Private - தனிப்பயன் எனில் க்னோம் இல் மட்டும் பயன்படும் இடைமுகம். ஆயின் இறுதி பயனருக்கு ஆவணப்படுத்தவில்லை. அப்படிப்பட்ட செயல்கள் குறீப்பிட்ட ஆவணப்படுத்தப்பட்ட வழியில் மட்டுமே பயன்படுத்தப்பட வேண்டும்.</para>
+ </listitem>
+ <listitem>
+ <para>
+ Internal
+ - An interface that is internal to a module and does not
+ require end-user documentation. Functions that are
+ undocumented are assumed to be Internal.
+ </para>
+ </listitem>
+ </itemizedlist>
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>@include</term>
+ <listitem>
+ <para>
+ The <literal>#include</literal> files to show in the section
+ synopsis (a comma separated list), overriding the global
+ value from the <link linkend="metafiles_sections">section
+ file</link> or command line. This item is optional.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>@image</term>
+ <listitem>
+ <para>
+ The image to display at the top of the reference page for this
+ section. This will often be some sort of a diagram to illustrate
+ the visual appearance of a class or a diagram of its relationship
+ to other classes. This item is optional.
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+
+ <tip>
+ <para>
+ To avoid unnecessary recompilation after doc-changes put the section
+ docs into the c-source where possible.
+ </para>
+ </tip>
+
+ </sect1>
+
+ <sect1 id="documenting_symbols">
+ <title>சிம்பல்களை ஆவணப் படுத்தல்</title>
+
+ <para>
+ Each symbol (function, macro, struct, enum, signal and property) is
+ documented in a separate block. The block is best placed close to the
+ definition of the symbols so that it is easy to keep them in sync.
+ Thus functions are usually documented in the c-source and macros,
+ structs and enums in the header file.
+ </para>
+
+ <sect2><title>பொது டேக் ஒட்டுகள்</title>
+
+ <para>
+ You can add versioning information to all documentation elements to tell
+ when an api was introduced, or when it was deprecated.
+ </para>
+
+ <variablelist><title>டேக் களை பதிப்பாக்கல்</title>
+ <varlistentry><term>இதிலிருந்து:</term>
+ <listitem>
+ <para>
+ Description since which version of the code the API is available.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry><term>கைவிடப்பட்டது.</term>
+ <listitem>
+ <para>
+ Paragraph denoting that this function should no be used anymore.
+ The description should point the reader to the new API.
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+
+ <para>FIXME : Stability information)</para>
+
+ <example><title>பொது டேக் ஒட்டுகள்</title>
+ <programlisting>
+<![CDATA[
+/**
+ * foo_get_bar:
+ * @foo: some foo
+ *
+ * Retrieves @foo's bar.
+ *
+ * Returns: @foo's bar
+ *
+ * Since: 2.6
+ * Deprecated: 2.12: Use foo_baz_get_bar() instead.
+ **/
+Bar *
+foo_get_bar(Foo *foo)
+{
+...
+]]>
+ </programlisting>
+ </example>
+ </sect2>
+
+ <sect2><title>பங்ஷன் விமரிசன தொகுதி</title>
+
+ <para><itemizedlist>
+ <listitem>
+ <para>
+ Document whether returned objects, lists, strings, etc, should be
+ freed/unrefed/released.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Document whether parameters can be NULL, and what happens if they are.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Mention interesting pre-conditions and post-conditions where appropriate.
+ </para>
+ </listitem>
+ </itemizedlist> க்கு நினைவிருத்துக</para>
+
+ <para>
+ Gtk-doc assumes all symbols (macros, functions) starting with '_' are
+ private. They are treated like static functions.
+ </para>
+
+ <para>
+
+ Also, take a look at gobject introspection annotation tags:
+ http://live.gnome.org/GObjectIntrospection/Annotations
+ </para>
+
+ <example><title>பங்ஷன் விமரிசன தொகுதி</title>
+ <programlisting>
+<![CDATA[
+/**
+ * function_name:
+ * @par1: description of parameter 1. These can extend over more than
+ * one line.
+ * @par2: description of parameter 2
+ * @...: a %NULL-terminated list of bars
+ *
+ * The function description goes here. You can use @par1 to refer to parameters
+ * so that they are highlighted in the output. You can also use %constant
+ * for constants, function_name2() for functions and #GtkWidget for links to
+ * other declarations (which may be documented elsewhere).
+ *
+ * Returns: an integer.
+ *
+ * Since: 2.2
+ * Deprecated: 2.18: Use other_function() instead.
+ */
+]]>
+ </programlisting>
+ </example>
+
+ <variablelist><title>பங்ஷன் டேக் ஒட்டுகள்</title>
+ <varlistentry><term>திருப்பிகிடைப்பவை:</term>
+ <listitem>
+ <para>
+ Paragraph describing the returned result.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry><term>@...:</term>
+ <listitem>
+ <para>
+ In case the function has variadic arguments, you should use this
+ tag (@Varargs: does also work for historic reasons).
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+
+ </sect2>
+
+ <sect2><title>பண்புகள் விமரிசன தொகுதி</title>
+
+ <example><title>பண்புகள் விமரிசன தொகுதி</title>
+ <programlisting>
+<![CDATA[
+/**
+ * SomeWidget:some-property:
+ *
+ * Here you can document a property.
+ */
+g_object_class_install_property (object_class, PROP_SOME_PROPERTY, ...);
+]]>
+ </programlisting>
+ </example>
+
+ </sect2>
+
+ <sect2><title>சமிக்ஞை விமரிசன தொகுதி</title>
+
+ <para><itemizedlist>
+ <listitem>
+ <para>சமிக்ஞை எப்போது வெளியிடப்படும் மற்றும் மற்ற சமிக்ஞைகளுக்கு முன்னா பின்னா வெளியிடப்படும் என ஆவணப்படுத்தல்.</para>
+ </listitem>
+ <listitem>
+ <para>
+ Document what an application might do in the signal handler.
+ </para>
+ </listitem>
+ </itemizedlist> க்கு நினைவிருத்துக</para>
+
+ <example><title>சமிக்ஞை விமரிசன தொகுதி</title>
+ <programlisting>
+<![CDATA[
+/**
+ * FooWidget::foobarized:
+ * @widget: the widget that received the signal
+ * @foo: some foo
+ * @bar: some bar
+ *
+ * The ::foobarized signal is emitted each time someone tries to foobarize @widget.
+ */
+foo_signals[FOOBARIZE] =
+ g_signal_new ("foobarize",
+ ...
+]]>
+ </programlisting>
+ </example>
+
+ </sect2>
+
+ <sect2><title>அமைப்பு விமரிசன தொகுதி</title>
+ <example><title>அமைப்பு விமரிசன தொகுதி</title>
+ <programlisting>
+<![CDATA[
+/**
+ * FooWidget:
+ * @bar: some #gboolean
+ *
+ * This is the best widget, ever.
+ */
+typedef struct _FooWidget {
+ /*< private >*/
+ GtkWidget parent;
+
+ /*< public >*/
+ gboolean bar;
+} FooWidget;
+]]>
+ </programlisting>
+ </example>
+
+ <para>
+ Use <code>/*< private >*/</code> before the private struct fields
+ you want to hide. Use <code>/*< public >*/</code> for the reverse
+ behaviour.
+ </para>
+
+ <para>
+ Struct comment blocks can also be used for GObjects and GObjectClasses.
+ It is usualy a good idea to add a comment blco for a class, if it has
+ vmethods (as this is how they can be documented). For the GObject
+ itself one can use the related section docs, having a separate block
+ for the instance struct would be useful if the instance has public
+ fields. One disadvantage here is that this creates two index entries
+ of the same name (the structure and the section).
+ </para>
+
+ </sect2>
+
+ <sect2><title>ஈநம் விமரிசன தொகுதி</title>
+ <example><title>ஈநம் விமரிசன தொகுதி</title>
+ <programlisting>
+<![CDATA[
+/**
+ * Something:
+ * @SOMETHING_FOO: something foo
+ * @SOMETHING_BAR: something bar
+ *
+ * Enum values used for the thing, to specify the thing.
+ *
+ **/
+typedef enum {
+ SOMETHING_FOO,
+ SOMETHING_BAR,
+ /*< private >*/
+ SOMETHING_COUNT
+} Something;
+]]>
+ </programlisting>
+ </example>
+
+ <para>
+ Use <code>/*< private >*/</code> before the private enum values
+ you want to hide. Use <code>/*< public >*/</code> for the reverse
+ behaviour.
+ </para>
+
+ </sect2>
+ </sect1>
+
+ <sect1 id="documenting_docbook">
+ <title>Useful DocBook tags</title>
+
+ <para>
+ Here are some DocBook tags which are most useful when documenting the
+ code.
+ </para>
+
+ <para>
+ To link to another section in the GTK docs:
+
+ <informalexample>
+ <programlisting>
+<![CDATA[
+<link linkend="glib-Hash-Tables">Hash Tables</link>
+]]>
+ </programlisting>
+ </informalexample>
+ The linkend is the SGML/XML id on the top item of the page you want to link to.
+ For most pages this is currently the part ("gtk", "gdk", "glib") and then
+ the page title ("Hash Tables"). For widgets it is just the class name.
+ Spaces and underscores are converted to '-' to conform to SGML/XML.
+ </para>
+
+ <para>
+ To refer to an external function, e.g. a standard C function:
+ <informalexample>
+ <programlisting>
+<![CDATA[
+<function>...</function>
+]]>
+ </programlisting>
+ </informalexample>
+ </para>
+
+ <para>ஜிடிகே டாக் </para>
+
+ <para>
+ To include bulleted lists:
+ <informalexample>
+ <programlisting>
+<![CDATA[
+<itemizedlist>
+ <listitem>
+ <para>
+ ...
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ ...
+ </para>
+ </listitem>
+</itemizedlist>
+]]>
+ </programlisting>
+ </informalexample>
+ </para>
+
+ <para>
+ To include a note which stands out from the text:
+ <informalexample>
+ <programlisting>
+<![CDATA[
+<note>
+ <para>
+ Make sure you free the data after use.
+ </para>
+</note>
+]]>
+ </programlisting>
+ </informalexample>
+ </para>
+
+ <para>
+ To refer to a type:
+ <informalexample>
+ <programlisting>
+<![CDATA[
+<type>unsigned char</type>
+]]>
+ </programlisting>
+ </informalexample>
+ </para>
+
+ <para>
+ To refer to an external structure (not one described in the GTK docs):
+ <informalexample>
+ <programlisting>
+<![CDATA[
+<structname>XFontStruct</structname>
+]]>
+ </programlisting>
+ </informalexample>
+ </para>
+
+ <para>
+ To refer to a field of a structure:
+ <informalexample>
+ <programlisting>
+<![CDATA[
+<structfield>len</structfield>
+]]>
+ </programlisting>
+ </informalexample>
+ </para>
+
+ <para>
+ To refer to a class name, we could possibly use:
+ <informalexample>
+ <programlisting>
+<![CDATA[
+<classname>GtkWidget</classname>
+]]>
+ </programlisting>
+ </informalexample>
+ but you'll probably be using #GtkWidget instead (to automatically create
+ a link to the GtkWidget page - see <link linkend="documenting_syntax">the abbreviations</link>).
+ </para>
+
+ <para>
+ To emphasize text:
+ <informalexample>
+ <programlisting>
+<![CDATA[
+<emphasis>This is important</emphasis>
+]]>
+ </programlisting>
+ </informalexample>
+ </para>
+
+ <para>
+ For filenames use:
+ <informalexample>
+ <programlisting>
+<![CDATA[
+<filename>/home/user/documents</filename>
+]]>
+ </programlisting>
+ </informalexample>
+ </para>
+
+ <para>
+ To refer to keys use:
+ <informalexample>
+ <programlisting>
+<![CDATA[
+<keycombo><keycap>Control</keycap><keycap>L</keycap></keycombo>
+]]>
+ </programlisting>
+ </informalexample>
+ </para>
+
+ </sect1>
+ </chapter>
+
+ <chapter id="metafiles">
+ <title>கூடுதல் கோப்புகளை நிரப்புதல் </title>
+
+ <para>
+ There are a couple of extra files, that need to be maintained along with
+ the inline source code comments:
+ <filename><package>.types</filename>,
+ <filename><package>-docs.xml</filename> (in the past .sgml),
+ <filename><package>-sections.txt</filename>.
+ </para>
+
+ <sect1 id="metafiles_types">
+ <title>கோப்பு வகையை திருத்துதல்</title>
+
+ <para>
+ If your library or application includes GtkObjects/GObjects, you want
+ their signals, arguments/parameters and position in the hierarchy to be
+ shown in the documentation. All you need to do, is to list the
+ <function>xxx_get_type</function> functions together with their include
+ inside the <filename><package>.types</filename> file.
+ </para>
+
+ <para>
+ <example><title>Example types file snippet</title>
+ <programlisting>
+<![CDATA[
+#include <gtk/gtk.h>
+
+gtk_accel_label_get_type
+gtk_adjustment_get_type
+gtk_alignment_get_type
+gtk_arrow_get_type
+]]>
+ </programlisting>
+ </example>
+ </para>
+
+ <para>ஜிடிகே டாக் </para>
+
+ </sect1>
+
+ <sect1 id="metafiles_master">
+ <title>முதன்மை ஆவணத்தை திருத்துதல்</title>
+
+ <para>
+ GTK-Doc produces documentation in DocBook SGML/XML. When processing the
+ inline source comments, the GTK-Doc tools generate one documentation
+ page per class or module as a separate file. The master document
+ includes them and place them in an order.
+ </para>
+
+ <para>ஜிடிகே டாக் </para>
+
+ <tip>
+ <para>
+ Do not create tutorials as extra documents. Just write extra chapters.
+ The benefit of directly embedding the tutorial for your library into
+ the API documentation is that it is easy to link for the tutorial to
+ symbol documentation. Apart chances are higher that the tutorial gets
+ updates along with the library.
+ </para>
+ </tip>
+
+ <para>
+ So what are the things to change inside the master document? For a start
+ is only a little. There are some placeholders (text in square brackets)
+ there which you should take care of.
+ </para>
+
+ <para>
+ <example><title>முதன்மை ஆவணத்தின் தலைப்பு</title>
+ <programlisting>
+<![CDATA[
+<bookinfo>
+ <title>MODULENAME Reference Manual</title>
+ <releaseinfo>
+ for MODULENAME [VERSION]
+ The latest version of this documentation can be found on-line at
+ <ulink role="online-location" url="http://[SERVER]/MODULENAME/index.html">http://[SERVER]/MODULENAME/</ulink>.
+ </releaseinfo>
+</bookinfo>
+
+<chapter>
+ <title>[Insert title here]</title>
+]]>
+ </programlisting>
+ </example>
+ </para>
+
+ </sect1>
+
+ <sect1 id="metafiles_sections">
+ <title>தொகுதி கோப்பை திருத்துதல்</title>
+
+ <para>ஜிடிகே டாக் </para>
+
+ <para>
+ The section file is a plain test file with xml like syntax (using tags).
+ Blank lines are ignored and lines starting with a '#' are treated as
+ comment lines.
+ </para>
+
+ <para>
+ The <FILE> ... </FILE> tag is used to specify the file name,
+ without any suffix. For example, using '<FILE>gnome-config</FILE>'
+ will result in the section declarations being output in the template
+ file <filename>tmpl/gnome-config.sgml</filename>, which will be
+ converted into the DocBook SGML/XML file <filename>sgml/gnome-config.sgml</filename>
+ or .DocBook XML file <filename>xml/gnome-config.xml</filename>.
+ (The name of the html file is based on the module name and the section
+ title, or for gobjects it is based on the gobjects class name converted
+ to lower case).
+ </para>
+
+ <para>
+ The <TITLE> ... </TITLE> tag is used to specify the title of
+ the section. It is only useful before the templates (if used) are
+ initially created, since the title set in the template file overrides
+ this. Also if one uses SECTION comment in the sources, this is obsolete.
+ </para>
+
+ <para>
+ You can group items in the section by using the <SUBSECTION> tag.
+ Currently it outputs a blank line between subsections in the synopsis
+ section.
+ You can also use <SUBSECTION Standard> for standard GObject
+ declarations (e.g. the functions like g_object_get_type and macros like
+ G_OBJECT(), G_IS_OBJECT() etc.).
+ Currently these are left out of the documentation.
+ You can also use <SUBSECTION Private> for private declarations
+ which will not be output (It is a handy way to avoid warning messages
+ about unused declarations.).
+ If your library contains private types which you don't want to appear in
+ the object hierarchy and the list of implemented or required interfaces,
+ add them to a Private subsection.
+ Wheter you would place GObject and GObjectClass like structs in public
+ or Standard section depends if they have public entries (variables,
+ vmethods).
+ </para>
+
+ <para>
+ You can also use <INCLUDE> ... </INCLUDE> to specify the
+ #include files which are shown in the synopsis sections.
+ It contains a comma-separate list of #include files, without the angle
+ brackets. If you set it outside of any sections, it acts for all
+ sections until the end of the file. If you set it within a section, it
+ only applies to that section.
+ </para>
+
+ </sect1>
+
+ </chapter>
+
+ <chapter id="reports">
+ <title>விடையை கட்டுப்படுத்தல்</title>
+
+ <para>ஜிடிகே டாக் </para>
+
+ <para>
+ The <filename><package>-undocumented.txt</filename> file starts with
+ the documentation coverage summary. Below are two sections divided by
+ blank lines. The first section lists undocumented or incomplete symbols.
+ The second section does the same for section docs. Incomplete entries are
+ those, which have documentation, but where e.g. a new parameter has been
+ added.
+ </para>
+
+ <para>
+ The <filename><package>-undeclared.txt</filename> file lists symbols
+ given in the <filename><package>-sections.txt</filename> but not
+ found in the sources. Check if they have been removed or if they are
+ misspelled.
+ </para>
+
+ <para>ஜிடிகே டாக் </para>
+
+ <tip>
+ <para>ஜிடிகே டாக் </para>
+ </tip>
+
+ <para>
+ One can also look at the files produced by the source code scanner:
+ <filename><package>-decl-list.txt</filename> and
+ <filename><package>-decl.txt</filename>. The first one can be
+ compared with the section file if that is manualy maintained. The second
+ lists all declarations fromt he headers If a symbol is missing one could
+ check if this file contains it.
+ </para>
+
+ <para>
+ If the project is GObject based, one can also look into the files produced
+ by the object scanner:
+ <filename><package>.args.txt</filename>,
+ <filename><package>.hierarchy.txt</filename>,
+ <filename><package>.interfaces.txt</filename>,
+ <filename><package>.prerequisites.txt</filename> and
+ <filename><package>.signals.txt</filename>. If there are missing
+ symbols in any of those, one can ask gtkdoc to keep the intermedia scanner
+ file for further analysis, but running it as
+ <command>GTK_DOC_KEEP_INTERMEDIATE=1 make</command>.
+ </para>
+ </chapter>
+
+ <chapter id="documenting-others">
+ <title>Documenting other interfaces</title>
+
+ <para>
+ So far we have been using GTK-Doc to document the API of code. The next
+ sections contain suggestions how the tools can be used to document other
+ interfaces too.
+ </para>
+
+ <sect1 id="commandline-interfaces">
+ <title>Commandline options and man pages</title>
+
+ <para>
+ As one can generate man pages for a docbook refentry as well, it sounds
+ like a good idea to use it for that purpose. This way the interface is
+ part of the reference and one gets the man-page for free.
+ </para>
+
+ <sect2 id="commandline-interfaces-file">
+ <title>Document the tool</title>
+
+ <para>
+ Create one refentry file per tool. Following
+ <link linkend="settingup_docfiles">our example</link> we would call it
+ <filename>meep/docs/reference/meeper/meep.xml</filename>. For the xml
+ tags that should be used and can look at generated file in the xml
+ subdirectory as well as examples e.g. in glib.
+ </para>
+ </sect2>
+
+ <sect2 id="commandline-interfaces-configure">
+ <title>Adding the extra configure check</title>
+
+ <para>
+ <example><title>Extra configure checks</title>
+ <programlisting>
+<![CDATA[
+AC_ARG_ENABLE(man,
+ [AC_HELP_STRING([--enable-man],
+ [regenerate man pages from Docbook [default=no]])],enable_man=yes,
+ enable_man=no)
+
+AC_PATH_PROG([XSLTPROC], [xsltproc])
+AM_CONDITIONAL(ENABLE_MAN, test x$enable_man != xno)
+]]>
+ </programlisting>
+ </example>
+ </para>
+ </sect2>
+
+ <sect2 id="commandline-interfaces-make">
+ <title>Adding the extra makefile rules</title>
+
+ <para>
+ <example><title>Extra configure checks</title>
+ <programlisting>
+<![CDATA[
+man_MANS = \
+ meeper.1
+
+if ENABLE_GTK_DOC
+if ENABLE_MAN
+
+%.1 : %.xml
+ @XSLTPROC@ -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
+
+endif
+endif
+
+BUILT_EXTRA_DIST = $(man_MANS)
+EXTRA_DIST += meep.xml
+]]>
+ </programlisting>
+ </example>
+ </para>
+ </sect2>
+ </sect1>
+
+ <sect1 id="dbus-interfaces">
+ <title>DBus interfaces</title>
+
+ <para>
+ (FIXME: http://hal.freedesktop.org/docs/DeviceKit/DeviceKit.html,
+http://cgit.freedesktop.org/DeviceKit/DeviceKit/tree/doc/dbus)
+ </para>
+ </sect1>
+
+ </chapter>
+
+ <chapter id="faq">
+ <title>Frequently asked questions</title>
+
+ <segmentedlist>
+ <?dbhtml list-presentation="list"?>
+ <segtitle>கேள்வி</segtitle>
+ <segtitle>பதில்</segtitle>
+ <seglistitem>
+ <seg>வகுப்பு கட்டுமுறை இல்லை</seg>
+ <seg><function>""xxx_get_type()</function> பொருட்கள் பங்ஷன் இன்னும் <filename><package>.வகைகள்</filename> கோப்பில் உள்ளிடப்படவில்லை</seg>
+ </seglistitem>
+ <seglistitem>
+ <seg>இன்னும் வகுப்பு கட்டுமுறை இல்லை</seg>
+ <seg><filename><package>-sections.txt</filename> கோப்பில் தவறான பெயரிடுதல் அல்லது காணவில்லை (பார்க்க: <ulink url="http://mail.gnome.org/archives/gtk-doc-list/2003-October/msg00006.html">விளக்கம்</ulink>)</seg>
+ </seglistitem>
+ <seglistitem>
+ <seg>அடடா, இன்னும் வகுப்பு கட்டுமுறை இல்லை </seg>
+ <seg>
+ Is the object name (name of the instance struct, e.g. <type>ஜிடிகேவிட்செட்</type>)
+ part of the normal section (don't put this into Standard or Private
+ subsections).
+ </seg>
+ </seglistitem>
+ <seglistitem>
+ <seg>சிம்பல் குறி அட்டவணை இல்லை</seg>
+ <seg>
+ Does the <filename><package>-docs.{xml,sgml}</filename> contain a
+ index that xi:includes the generated index?
+ </seg>
+ </seglistitem>
+ <seglistitem>
+ <seg>Symbols are not linked to their doc-section.</seg>
+ <seg>
+ Is the doc-comment using the correct markup (added #,% or ())?
+ Check if the gtkdoc-fixxref warns about unresolvable xrefs.
+ </seg>
+ </seglistitem>
+ <seglistitem>
+ <seg>A new class does not appear in the docs.</seg>
+ <seg>
+ Is the new page xi:included from
+ <filename><package>-docs.{xml,sgml}</filename>.
+ </seg>
+ </seglistitem>
+ <seglistitem>
+ <seg>A new symbol does not appear in the docs.</seg>
+ <seg>
+ Is the doc-comment properly formatted. Check for spelling mistakes in
+ the begin of the comment. Check if the gtkdoc-fixxref warns about
+ unresolvable xrefs. Check if the symbol is correctly listed in the
+ <filename><package>-sections.txt</filename> in a public subsection.
+ </seg>
+ </seglistitem>
+ <seglistitem>
+ <seg>A type is missing from the class hierarchy.</seg>
+ <seg>
+ If the type is listed in <filename><package>.hierarchy</filename>
+ but not in <filename>xml/tree_index.sgml</filename> then double check
+ that the type is correctly placed in the <filename><package>-sections.txt</filename>.
+ If the type instance (e.g. <type>ஜிடிகேவிட்செட்</type>) is not listed or
+ incidentialy makred private it will not be shown.
+ </seg>
+ </seglistitem>
+ <seglistitem>
+ <seg>I get foldoc links for all gobject annotations.</seg>
+ <seg>
+ Check that <filename>xml/annotation-glossary.xml</filename> is
+ xi:included from <filename><package>-docs.{xml,sgml}</filename>.
+ </seg>
+ </seglistitem>
+
+ <!-- gtk-doc warnings: -->
+ <seglistitem>
+ <seg>Parameter described in source code comment block but does not exist</seg>
+ <seg>Check if the prototype in the header has different parameter names as in the source.</seg>
+ </seglistitem>
+
+ <!-- docbook warnings: -->
+ <seglistitem>
+ <seg>multiple "IDs" for constraint linkend: XYZ</seg>
+ <seg>Symbol XYZ appears twice in <filename><package>-sections.txt</filename> file.</seg>
+ </seglistitem>
+ <seglistitem>
+ <seg>குறி XYZ இல் இரு முறை காண்கிறது.</seg>
+ <seg/>
+ </seglistitem>
+ </segmentedlist>
+ </chapter>
+
+ <chapter id="contrib">
+ <title>Tools related to gtk-doc</title>
+
+ <para>
+ GtkDocPlugin - a <ulink url="http://trac-hacks.org/wiki/GtkDocPlugin">Trac GTK-Doc</ulink>
+ integration plugin, that adds api docs to a trac site and integrates with
+ the trac search.
+ </para>
+ <para>
+ Gtkdoc-depscan - a tool (part of gtk-doc) to check used API against since
+ tags in the api to determine the minimum required version.
+ </para>
+
+ </chapter>
+
+ <!-- ======== Appendix: FDL ================================== -->
+ <!--
+ The GNU Free Documentation License 1.1 in DocBook
+ Markup by Eric Baudais <baudais@okstate.edu>
+ Maintained by the GNOME Documentation Project
+ http://developer.gnome.org/projects/gdp
+ Version: 1.0.1
+ Last Modified: Nov 16, 2000
+-->
+
+<appendix id="fdl">
+ <appendixinfo>
+ <releaseinfo>பதிப்பு 1.1, மார்ச் 2000</releaseinfo>
+ <copyright>
+ <year>2000</year><holder>Free Software Foundation, Inc.</holder>
+ </copyright>
+ <legalnotice id="fdl-legalnotice">
+ <para><address>Free Software Foundation, Inc. <street>51 Franklin Street, Suite 330</street>, <city>Boston</city>, <state>MA</state><postcode>02110-1301</postcode><country>USA</country></address> இந்த லைசென்ஸ் ஆவணத்தை அனவரும் பிரதி எடுத்து வினியோகிக்கலாம் ஆனால் மாற்றக்கூடாது.</para>
+ </legalnotice>
+ </appendixinfo>
+ <title>க்னூ இலவச ஆவண லைசென்ஸ்</title>
+
+ <sect1 id="fdl-preamble">
+ <title>0. முன்னுரை (PREAMBLE)</title>
+ <para>
+ The purpose of this License is to make a manual, textbook, or
+ other written document <quote>free</quote> in the sense of
+ freedom: to assure everyone the effective freedom to copy and
+ redistribute it, with or without modifying it, either
+ commercially or noncommercially. Secondarily, this License
+ preserves for the author and publisher a way to get credit for
+ their work, while not being considered responsible for
+ modifications made by others.
+ </para>
+
+ <para>
+ This License is a kind of <quote>copyleft</quote>, which means
+ that derivative works of the document must themselves be free in
+ the same sense. It complements the GNU General Public License,
+ which is a copyleft license designed for free software.
+ </para>
+
+ <para>
+ We have designed this License in order to use it for manuals for
+ free software, because free software needs free documentation: a
+ free program should come with manuals providing the same
+ freedoms that the software does. But this License is not limited
+ to software manuals; it can be used for any textual work,
+ regardless of subject matter or whether it is published as a
+ printed book. We recommend this License principally for works
+ whose purpose is instruction or reference.
+ </para>
+ </sect1>
+ <sect1 id="fdl-section1">
+ <title>1. APPLICABILITY AND DEFINITIONS</title>
+ <para id="fdl-document">
+ This License applies to any manual or other work that contains a
+ notice placed by the copyright holder saying it can be
+ distributed under the terms of this License. The
+ <quote>Document</quote>, below, refers to any such manual or
+ work. Any member of the public is a licensee, and is addressed
+ as <quote>you</quote>.
+ </para>
+
+ <para id="fdl-modified">
+ A <quote>Modified Version</quote> of the Document means any work
+ containing the Document or a portion of it, either copied
+ verbatim, or with modifications and/or translated into another
+ language.
+ </para>
+
+ <para id="fdl-secondary">
+ A <quote>Secondary Section</quote> is a named appendix or a
+ front-matter section of the <link linkend="fdl-document">Document</link> that deals exclusively
+ with the relationship of the publishers or authors of the
+ Document to the Document's overall subject (or to related
+ matters) and contains nothing that could fall directly within
+ that overall subject. (For example, if the Document is in part a
+ textbook of mathematics, a Secondary Section may not explain any
+ mathematics.) The relationship could be a matter of historical
+ connection with the subject or with related matters, or of
+ legal, commercial, philosophical, ethical or political position
+ regarding them.
+ </para>
+
+ <para id="fdl-invariant">
+ The <quote>Invariant Sections</quote> are certain <link linkend="fdl-secondary"> Secondary Sections</link> whose titles
+ are designated, as being those of Invariant Sections, in the
+ notice that says that the <link linkend="fdl-document">Document</link> is released under this
+ License.
+ </para>
+
+ <para id="fdl-cover-texts">
+ The <quote>Cover Texts</quote> are certain short passages of
+ text that are listed, as Front-Cover Texts or Back-Cover Texts,
+ in the notice that says that the <link linkend="fdl-document">Document</link> is released under this
+ License.
+ </para>
+
+ <para id="fdl-transparent">
+ A <quote>Transparent</quote> copy of the <link linkend="fdl-document"> Document</link> means a machine-readable
+ copy, represented in a format whose specification is available
+ to the general public, whose contents can be viewed and edited
+ directly and straightforwardly with generic text editors or (for
+ images composed of pixels) generic paint programs or (for
+ drawings) some widely available drawing editor, and that is
+ suitable for input to text formatters or for automatic
+ translation to a variety of formats suitable for input to text
+ formatters. A copy made in an otherwise Transparent file format
+ whose markup has been designed to thwart or discourage
+ subsequent modification by readers is not Transparent. A copy
+ that is not <quote>Transparent</quote> is called
+ <quote>Opaque</quote>.
+ </para>
+
+ <para>
+ Examples of suitable formats for Transparent copies include
+ plain ASCII without markup, Texinfo input format, LaTeX input
+ format, SGML or XML using a publicly available DTD, and
+ standard-conforming simple HTML designed for human
+ modification. Opaque formats include PostScript, PDF,
+ proprietary formats that can be read and edited only by
+ proprietary word processors, SGML or XML for which the DTD
+ and/or processing tools are not generally available, and the
+ machine-generated HTML produced by some word processors for
+ output purposes only.
+ </para>
+
+ <para id="fdl-title-page">
+ The <quote>Title Page</quote> means, for a printed book, the
+ title page itself, plus such following pages as are needed to
+ hold, legibly, the material this License requires to appear in
+ the title page. For works in formats which do not have any title
+ page as such, <quote>Title Page</quote> means the text near the
+ most prominent appearance of the work's title, preceding the
+ beginning of the body of the text.
+ </para>
+ </sect1>
+
+ <sect1 id="fdl-section2">
+ <title>2. VERBATIM COPYING</title>
+ <para>
+ You may copy and distribute the <link linkend="fdl-document">Document</link> in any medium, either
+ commercially or noncommercially, provided that this License, the
+ copyright notices, and the license notice saying this License
+ applies to the Document are reproduced in all copies, and that
+ you add no other conditions whatsoever to those of this
+ License. You may not use technical measures to obstruct or
+ control the reading or further copying of the copies you make or
+ distribute. However, you may accept compensation in exchange for
+ copies. If you distribute a large enough number of copies you
+ must also follow the conditions in <link linkend="fdl-section3">section 3</link>.
+ </para>
+
+ <para>
+ You may also lend copies, under the same conditions stated
+ above, and you may publicly display copies.
+ </para>
+ </sect1>
+
+ <sect1 id="fdl-section3">
+ <title>3. COPYING IN QUANTITY</title>
+ <para>
+ If you publish printed copies of the <link linkend="fdl-document">Document</link> numbering more than 100,
+ and the Document's license notice requires <link linkend="fdl-cover-texts">Cover Texts</link>, you must enclose
+ the copies in covers that carry, clearly and legibly, all these
+ Cover Texts: Front-Cover Texts on the front cover, and
+ Back-Cover Texts on the back cover. Both covers must also
+ clearly and legibly identify you as the publisher of these
+ copies. The front cover must present the full title with all
+ words of the title equally prominent and visible. You may add
+ other material on the covers in addition. Copying with changes
+ limited to the covers, as long as they preserve the title of the
+ <link linkend="fdl-document">Document</link> and satisfy these
+ conditions, can be treated as verbatim copying in other
+ respects.
+ </para>
+
+ <para>
+ If the required texts for either cover are too voluminous to fit
+ legibly, you should put the first ones listed (as many as fit
+ reasonably) on the actual cover, and continue the rest onto
+ adjacent pages.
+ </para>
+
+ <para>
+ If you publish or distribute <link linkend="fdl-transparent">Opaque</link> copies of the <link linkend="fdl-document">Document</link> numbering more than 100,
+ you must either include a machine-readable <link linkend="fdl-transparent">Transparent</link> copy along with
+ each Opaque copy, or state in or with each Opaque copy a
+ publicly-accessible computer-network location containing a
+ complete Transparent copy of the Document, free of added
+ material, which the general network-using public has access to
+ download anonymously at no charge using public-standard network
+ protocols. If you use the latter option, you must take
+ reasonably prudent steps, when you begin distribution of Opaque
+ copies in quantity, to ensure that this Transparent copy will
+ remain thus accessible at the stated location until at least one
+ year after the last time you distribute an Opaque copy (directly
+ or through your agents or retailers) of that edition to the
+ public.
+ </para>
+
+ <para>
+ It is requested, but not required, that you contact the authors
+ of the <link linkend="fdl-document">Document</link> well before
+ redistributing any large number of copies, to give them a chance
+ to provide you with an updated version of the Document.
+ </para>
+ </sect1>
+
+ <sect1 id="fdl-section4">
+ <title>4. மாற்றங்கள் (MODIFICATIONS)</title>
+ <para>நீங்கள் ஒரு <link linkend="fdl-document">Document</link> ஆவணத்தின் <link linkend="fdl-modified">மாற்றப்பட்ட பதிப்பு(Modified Version)</link> ஐ கீழ் கண்ட தொகுதிகளின் விதிகளூக்கு இணங்க வினியோகிக்கலாம்: <link linkend="fdl-section2">2</link> and <link linkend="fdl-section3">3</link> கட்டுப்பாடு எது எனில் யாரிடம் எந்த பதிப்பு இருக்கிறதோ அதே லைசன்ஸ் கீழ் வெளியிட வேண்டும். மாற்றிய பதிப்பு ஆவணத்தின் பங்கை செய்ய வேண்டும். மேலும் பின் வருவனவற்றை மாற்றிய பதிப்பில் செய்ய வேண்டும்.:</para>
+
+ <itemizedlist mark="opencircle">
+ <listitem>
+ <formalpara>
+ <title>A</title>
+ <para>முந்தைய பதிப்புகளின் வரலாற்றை ஆவணத்தின் வரலாற்றில் எழுதுக. இப்பதிப்புகளின் </para>
+ </formalpara>
+ </listitem>
+
+ <listitem>
+ <formalpara>
+ <title>B</title>
+ <para> <link linkend="fdl-title-page">Title Page</link>, இல் ஆசிரியர்களாக பட்டியலிடப்பட்டதில் ஒருவரோ மேலுமோ யார் மாற்றங்களை செய்தனரோ அவரது பெயர்களையும் <link linkend="fdl-modified">Modified Version</link> இல் சேர்க்கவும். <link linkend="fdl-document">Document</link> இன் ஆசிரியர்கள் ஐந்துக்கு குறைவாக இருப்பின் அனைத்து பெயர்களூம் அதிகமாக இருப்பின் குறைந்தது ஐந்து முக்கிய ஆசிரியர்கள் பெயர்களும் சேர்க்கப்பட வேண்டும்.</para>
+ </formalpara>
+ </listitem>
+
+ <listitem>
+ <formalpara>
+ <title>C</title>
+ <para><link linkend="fdl-title-page">Title Page</link> இல் வெளியிடுவோர் பெயராக <link linkend="fdl-modified">Modified Version</link> ஐ வெளியிடுவோர் பெயரை குறிப்பிடுக.</para>
+ </formalpara>
+ </listitem>
+
+ <listitem>
+ <formalpara>
+ <title>D</title>
+ <para><link linkend="fdl-document">Document</link> இன் காப்புரிமையை பாதுகாக்கவும்.</para>
+ </formalpara>
+ </listitem>
+
+ <listitem>
+ <formalpara>
+ <title>E</title>
+ <para>காப்புரிமை அறிவிப்புக்கு அருகில் உங்கள் மாற்றங்களுக்கான காப்புரிமையை வெளியிடுக.</para>
+ </formalpara>
+ </listitem>
+
+ <listitem>
+ <formalpara>
+ <title>F</title>
+ <para>உங்கள் காப்புரிமை அறிவிப்புக்கு பின்னாலேயே <link linkend="fdl-modified">Modified Version</link> ஐ பொது ஜனம் பயன்படுத்த பின் வரும் படிவத்தில் இந்த லைசென்ஸ் மூலம் அனுமதி வழங்குக.</para>
+ </formalpara>
+ </listitem>
+
+ <listitem>
+ <formalpara>
+ <title>G</title>
+ <para>link linkend="fdl-invariant"> Invariant Sections</para>
+ </formalpara>
+ </listitem>
+
+ <listitem>
+ <formalpara>
+ <title>H</title>
+ <para>இந்த லைசென்ஸின் மாற்றப்படாத வடிவத்தையும் ஒரு பிரதி வைத்திருங்கள். </para>
+ </formalpara>
+ </listitem>
+
+ <listitem>
+ <formalpara>
+ <title>I</title>
+ <para><quote>History</quote> எனக்குறித்த தொகுதி, அதன் தலைப்பு இவற்றை பாதுகாக்கவும். இதனுடன் <link linkend="fdl-title-page">Title Page</link>. இல் தரப்பட்ட <link linkend="fdl-modified">Modified Version </link> இன் தலைப்பு, வருடம், புதிய ஆசிரியர்கள், வெளியிடுவோர் , ஆகியவற்றை சேர்க்கவும். <link linkend="fdl-document">Document</link> இல் அப்படி <quote>History</quote> எனக்குறித்த தொகுதி இல்லாவிடில் வருடம், புதிய ஆசிரியர்கள், வெளியிடுவோர் , ஆகியவற்றை தலைப்பு பக்கத்தில் உள்ளபடி உருவாக்கி பின் புதிதாக முன் சொன்னவாறு மாற்றியதை சேர்க்கவும்..</para>
+ </formalpara>
+ </listitem>
+
+ <listitem>
+ <formalpara>
+ <title>J</title>
+ <para>ஆவணத்தின் பிரதிக்கு பொதுஜன அணுகலுக்கு தரப்பட்ட <link linkend="fdl-document">Document</link> இல் காணும் <link linkend="fdl-transparent">Transparent</link> தொடுப்பை பாதுகாக்கவும்.அதேபோல முதைய பதிப்புகளில் உள்ள தொடுப்புகளையும் பாதுகாக்கவும். இவற்றை <quote>History</quote> பகுதியில் வைக்கலாம். ஆவணத்துக்கு நான்கு வருடங்கள் முன் வெளியிட்டவற்றையும் ஆசிரியர் நீக்கலாம் என அனுமதி தந்தவற்றையும் நீக்கலாம்.</para>
+ </formalpara>
+ </listitem>
+
+ <listitem>
+ <formalpara>
+ <title>K</title>
+ <para><quote>Acknowledgements</quote> அல்லது <quote>Dedications</quote> எனக்குறித்த எந்த தொகுதியிலும் தொகுதியின் தலைப்பையும் அதில் உள்ளவற்றில் ஒவ்வொரு பங்கீடு அளித்தோரின் நன்றி அறிதல் /அர்ப்பணம் ஆகியவற்றின் சாரத்தையும் பாதுகாக்கவும் , </para>
+ </formalpara>
+ </listitem>
+
+ <listitem>
+ <formalpara>
+ <title>L</title>
+ <para><link linkend="fdl-document">Document</link>, இன் <link linkend="fdl-invariant">Invariant Sections</link> of the <link linkend="fdl-document">Document</link> களை உரை தலைப்புகளை மாற்றாமல் பாதுகாக்கவும். தொகுதி எண்களும் அல்லது அதன் சமானமானவையும் இதில் சேராது.</para>
+ </formalpara>
+ </listitem>
+
+ <listitem>
+ <formalpara>
+ <title>M</title>
+ <para> <quote>Endorsements</quote> இல் உள்ளதை நீக்கவும். அப்படிப்பட்ட எந்த தொகுதியும் <link linkend="fdl-modified">Modified Version</link> இல் இருத்தலாகாது..</para>
+ </formalpara>
+ </listitem>
+
+ <listitem>
+ <formalpara>
+ <title>N</title>
+ <para>இருப்பிலுள்ள எந்த தொகுதியையும் <quote>Endorsements</quote> என் மறு பெயரிடவோ அல்லது <link linkend="fdl-invariant">Invariant Section</link> உடன் மோதும் எதையும் செய்யலாகாது </para>
+ </formalpara>
+ </listitem>
+ </itemizedlist>
+
+ <para><link linkend="fdl-modified">Modified Version</link>இல் புதிய விஷயம் இருந்தாலோ அல்லது <link linkend="fdl-secondary">Secondary Sections</link> என அனுபந்தம் இருந்து அதில் ஆவணத்திலிருந்து பிரதி எடுத்த ஏதும் இல்லாமல் இருந்தாலோ நீங்கள் தேர்ந்தெடுத்து அவற்றை முழுதுமோ பகுடியோ மாறாதவை என குறிப்பிடலாம். இதை செய்ய அவற்றின் தலைப்புகளை மாற்றிய பதிப்பு நோட்டீசில் <link linkend="fdl-invariant">Invariant Sections</link> பட்டியலில் சேர்க்கவும். இந்த தலைப்புகள் மற்ற தலைப்புகளீன் பெயரிலிருந்து மாறுபட்டு இருத்தல் வேண்டும்.</para>
+
+ <para>சகாக்கள் எழுதிய விமர்சனங்கள், மதிப்புரைகள் அல்லது ஒரு நிறுவனம் உங்கள் <link linkend="fdl-modified">Modified Version</link> ஐ திறனாய்வு செய்து தகுதி சான்று கொடுத்து இருப்பின் அவை மட்டும் இருக்கும் பட்சத்தில் நீங்கள் <quote>Endorsements</quote> என தலைப்பிட்ட தொகுதி ஒன்றை சேர்க்கலாம்.</para>
+
+ <para>link linkend="fdl-cover-texts">Front-Cover Text</para>
+
+ <para>
+ The author(s) and publisher(s) of the <link linkend="fdl-document">Document</link> do not by this License
+ give permission to use their names for publicity for or to
+ assert or imply endorsement of any <link linkend="fdl-modified">Modified Version </link>.
+ </para>
+ </sect1>
+
+ <sect1 id="fdl-section5">
+ <title>5. COMBINING DOCUMENTS</title>
+ <para>
+ You may combine the <link linkend="fdl-document">Document</link>
+ with other documents released under this License, under the
+ terms defined in <link linkend="fdl-section4">section 4</link>
+ above for modified versions, provided that you include in the
+ combination all of the <link linkend="fdl-invariant">Invariant
+ Sections</link> of all of the original documents, unmodified,
+ and list them all as Invariant Sections of your combined work in
+ its license notice.
+ </para>
+
+ <para>
+ The combined work need only contain one copy of this License,
+ and multiple identical <link linkend="fdl-invariant">Invariant
+ Sections</link> may be replaced with a single copy. If there are
+ multiple Invariant Sections with the same name but different
+ contents, make the title of each such section unique by adding
+ at the end of it, in parentheses, the name of the original
+ author or publisher of that section if known, or else a unique
+ number. Make the same adjustment to the section titles in the
+ list of Invariant Sections in the license notice of the combined
+ work.
+ </para>
+
+ <para>
+ In the combination, you must combine any sections entitled
+ <quote>History</quote> in the various original documents,
+ forming one section entitled <quote>History</quote>; likewise
+ combine any sections entitled <quote>Acknowledgements</quote>,
+ and any sections entitled <quote>Dedications</quote>. You must
+ delete all sections entitled <quote>Endorsements.</quote>
+ </para>
+ </sect1>
+
+ <sect1 id="fdl-section6">
+ <title>6. COLLECTIONS OF DOCUMENTS</title>
+ <para>
+ You may make a collection consisting of the <link linkend="fdl-document">Document</link> and other documents
+ released under this License, and replace the individual copies
+ of this License in the various documents with a single copy that
+ is included in the collection, provided that you follow the
+ rules of this License for verbatim copying of each of the
+ documents in all other respects.
+ </para>
+
+ <para>
+ You may extract a single document from such a collection, and
+ dispbibute it individually under this License, provided you
+ insert a copy of this License into the extracted document, and
+ follow this License in all other respects regarding verbatim
+ copying of that document.
+ </para>
+ </sect1>
+
+ <sect1 id="fdl-section7">
+ <title>7. AGGREGATION WITH INDEPENDENT WORKS</title>
+ <para>
+ A compilation of the <link linkend="fdl-document">Document</link> or its derivatives with
+ other separate and independent documents or works, in or on a
+ volume of a storage or distribution medium, does not as a whole
+ count as a <link linkend="fdl-modified">Modified Version</link>
+ of the Document, provided no compilation copyright is claimed
+ for the compilation. Such a compilation is called an
+ <quote>aggregate</quote>, and this License does not apply to the
+ other self-contained works thus compiled with the Document , on
+ account of their being thus compiled, if they are not themselves
+ derivative works of the Document. If the <link linkend="fdl-cover-texts">Cover Text</link> requirement of <link linkend="fdl-section3">section 3</link> is applicable to these
+ copies of the Document, then if the Document is less than one
+ quarter of the entire aggregate, the Document's Cover Texts may
+ be placed on covers that surround only the Document within the
+ aggregate. Otherwise they must appear on covers around the whole
+ aggregate.
+ </para>
+ </sect1>
+
+ <sect1 id="fdl-section8">
+ <title>8. மொழிபெயர்ப்பு</title>
+ <para>
+ Translation is considered a kind of modification, so you may
+ distribute translations of the <link linkend="fdl-document">Document</link> under the terms of <link linkend="fdl-section4">section 4</link>. Replacing <link linkend="fdl-invariant"> Invariant Sections</link> with
+ translations requires special permission from their copyright
+ holders, but you may include translations of some or all
+ Invariant Sections in addition to the original versions of these
+ Invariant Sections. You may include a translation of this
+ License provided that you also include the original English
+ version of this License. In case of a disagreement between the
+ translation and the original English version of this License,
+ the original English version will prevail.
+ </para>
+ </sect1>
+
+ <sect1 id="fdl-section9">
+ <title>9. TERMINATION</title>
+ <para>
+ You may not copy, modify, sublicense, or distribute the <link linkend="fdl-document">Document</link> except as expressly
+ provided for under this License. Any other attempt to copy,
+ modify, sublicense or distribute the Document is void, and will
+ automatically terminate your rights under this License. However,
+ parties who have received copies, or rights, from you under this
+ License will not have their licenses terminated so long as such
+ parties remain in full compliance.
+ </para>
+ </sect1>
+
+ <sect1 id="fdl-section10">
+ <title>10. FUTURE REVISIONS OF THIS LICENSE</title>
+ <para>
+ The <ulink type="http" url="http://www.gnu.org/fsf/fsf.html">Free Software
+ Foundation</ulink> may publish new, revised versions of the GNU
+ Free Documentation License from time to time. Such new versions
+ will be similar in spirit to the present version, but may differ
+ in detail to address new problems or concerns. See <ulink type="http" url="http://www.gnu.org/copyleft">http://www.gnu.org/copyleft/</ulink>.
+ </para>
+
+ <para>
+ Each version of the License is given a distinguishing version
+ number. If the <link linkend="fdl-document">Document</link>
+ specifies that a particular numbered version of this License
+ <quote>or any later version</quote> applies to it, you have the
+ option of following the terms and conditions either of that
+ specified version or of any later version that has been
+ published (not as a draft) by the Free Software Foundation. If
+ the Document does not specify a version number of this License,
+ you may choose any version ever published (not as a draft) by
+ the Free Software Foundation.
+ </para>
+ </sect1>
+
+ <sect1 id="fdl-using">
+ <title>Addendum</title>
+ <para>To use this License in a document you have written, include a copy of the License in the document and put the following copyright and license notices just after the title page:</para>
+
+ <blockquote>
+ <para>Copyright 2010, I. Felix.</para>
+ <para>Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation; with the <link linkend="fdl-invariant">Invariant Sections</link> being LIST THEIR TITLES, with the <link linkend="fdl-cover-texts">Front-Cover Texts</link> being LIST, and with the <link linkend="fdl-cover-texts">Back-Cover Texts</link> being LIST. A copy of the license is included in the section entitled <quote>GNU Free Documentation License</quote>.</para>
+ </blockquote>
+
+ <para>If you have no <link linkend="fdl-invariant">Invariant Sections</link>, write <quote>with no Invariant Sections</quote> instead of saying which ones are invariant. If you have no <link linkend="fdl-cover-texts">Front-Cover Texts</link>, write <quote>no Front-Cover Texts</quote> instead of <quote>Front-Cover Texts being LIST</quote>; likewise for <link linkend="fdl-cover-texts">Back-Cover Texts</link>.</para>
+
+ <para>உங்கள் ஆவணத்தில் முக்கியமல்லாத நிரல் குறியீட்டு உதாரணங்கள் இருப்பின் , எங்கள் பரிந்துரை: இவற்றின் இலவச பயனுக்கு இந்த உதாரணங்களை இணையாக மென்பொருள் அனுமதிக்கான உங்கள் தேர்வில் வெளியிடுங்கள்.மாதிரிக்கு: <ulink type="http" url="http://www.gnu.org/copyleft/gpl.html"> GNU General Public License</ulink>,</para>
+ </sect1>
+</appendix>
+
+
+
+
+
+
+
+
+</book>
--- /dev/null
+# I. Felix <ifelix@redhat.com>, 2010.
+msgid ""
+msgstr ""
+"Project-Id-Version: gtk-doc-help.master.ta\n"
+"POT-Creation-Date: 2010-01-19 20:58+0000\n"
+"PO-Revision-Date: 2010-02-10 14:56+0530\n"
+"Last-Translator: I. Felix <ifelix@redhat.com>\n"
+"Language-Team: ta_IN <kde-i18n-doc@kde.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Lokalize 1.0\n"
+"Plural-Forms: nplurals=2; plural=n != 1;\n"
+
+#: C/gtk-doc-manual.xml:12(title)
+msgid "GTK-Doc Manual"
+msgstr "ஜிடிகே டாக் கையேடு"
+
+#: C/gtk-doc-manual.xml:13(edition) C/gtk-doc-manual.xml:92(revnumber)
+msgid "1.12"
+msgstr "1.12"
+
+#: C/gtk-doc-manual.xml:14(para)
+msgid "User manual for developers with instructions of GTK-Doc usage."
+msgstr "உருவாக்குவோருக்கான ஜிடிகே டாக்(GTK-Doc) பயன்பாட்டு பயனர் கையேடு "
+
+#: C/gtk-doc-manual.xml:17(firstname)
+msgid "Chris"
+msgstr "க்ரிஸ்"
+
+#: C/gtk-doc-manual.xml:18(surname)
+msgid "Lyttle"
+msgstr "லைட்டில்"
+
+#: C/gtk-doc-manual.xml:21(email)
+msgid "chris@wilddev.net"
+msgstr "chris@wilddev.net"
+
+#: C/gtk-doc-manual.xml:26(firstname)
+msgid "Dan"
+msgstr "டேன்"
+
+#: C/gtk-doc-manual.xml:27(surname)
+msgid "Mueth"
+msgstr "மீயத்"
+
+#: C/gtk-doc-manual.xml:30(email)
+msgid "d-mueth@uchicago.edu"
+msgstr "d-mueth@uchicago.edu"
+
+#: C/gtk-doc-manual.xml:35(firstname)
+msgid "Stefan"
+msgstr "ஸ்டீபன்"
+
+#: C/gtk-doc-manual.xml:36(surname)
+msgid "Kost"
+msgstr "கோஸ்ட்"
+
+#: C/gtk-doc-manual.xml:39(email)
+msgid "ensonic@users.sf.net"
+msgstr "ensonic@users.sf.net"
+
+#: C/gtk-doc-manual.xml:45(publishername)
+msgid "GTK-Doc project"
+msgstr "ஜிடிகே-டாக் திட்டம்"
+
+#: C/gtk-doc-manual.xml:46(email)
+msgid "gtk-doc-list@gnome.org"
+msgstr "gtk-doc-list@gnome.org"
+
+#: C/gtk-doc-manual.xml:49(year)
+msgid "2000, 2005, 2007-2009"
+msgstr "2000, 2005, 2007-2009"
+
+#: C/gtk-doc-manual.xml:50(holder)
+msgid "Dan Mueth and Chris Lyttle and Stefan Kost"
+msgstr "டேன் மீயத் க்ரிஸ் லைட்டில் மற்றும் ஸ்டீபன் கோஸ்ட்"
+
+#: C/gtk-doc-manual.xml:61(para)
+msgid "Permission is granted to copy, distribute and/or modify this document under the terms of the <citetitle>GNU Free Documentation License</citetitle>, Version 1.1 or any later version published by the Free Software Foundation with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is <link linkend=\"fdl\">included</link>."
+msgstr ""
+"நீங்கள் இலவச மென் பொருள் அமைப்பினால் வெளியிடப்பட்ட<citetitle> ஜிஎன்யு "
+"பொது ஆவண அனுமதிக்கான</citetitle> இந்த 1.1 ம் பதிப்பு அல்லது அடுத்த பதிப்புகள் விதிகளின் படி நீங்கள் "
+"(விருப்பப்படி) மாற்றமில்லா தொகுதிகள், முன் அட்டை உரைகள், பின் அட்டை உரைகள் ஆக்கியன நீங்கலாக இதை பிரதி எடுக்கலாம், வினியோகிக்கலாம், மாற்றலாம். அனுமதியின் பிரதி இங்குள்ளது:<link linkend=\"fdl\">included</link>"
+
+#: C/gtk-doc-manual.xml:69(para)
+msgid "Many of the names used by companies to distinguish their products and services are claimed as trademarks. Where those names appear in any GNOME documentation, and those trademarks are made aware to the members of the GNOME Documentation Project, the names have been printed in caps or initial caps."
+msgstr "நிறுவனங்களால் அவர்களது பொருட்கள், சேவைகளை குறிப்பிட பயனாகும் பல பெயர்களை அவர்களது வியாபார குறியாக சொல்கிறார்கள். அத்தகைய பெயர்கள் க்னோம் ஆவணங்களில் காணப்படுமானால், அவை க்னோம் ஆவண திட்ட உறுப்பினருக்கு தெரிவிக்கப்பட்டால், அவை தலை எழுத்துக்களாக அலல்து முதல் எழுத்து தலை எழுத்தாக காட்டப்படும். "
+
+#: C/gtk-doc-manual.xml:80(revnumber)
+msgid "1.14"
+msgstr "1.14"
+
+#: C/gtk-doc-manual.xml:81(date)
+msgid "19 December 2009"
+msgstr "19டிசம்பர் 2009"
+
+#: C/gtk-doc-manual.xml:82(authorinitials) C/gtk-doc-manual.xml:88(authorinitials) C/gtk-doc-manual.xml:94(authorinitials)
+msgid "sk"
+msgstr "sk"
+
+#: C/gtk-doc-manual.xml:83(revremark)
+msgid "development version"
+msgstr "உருவாக்க பதிப்பு"
+
+#: C/gtk-doc-manual.xml:86(revnumber)
+msgid "1.13"
+msgstr "1.13"
+
+#: C/gtk-doc-manual.xml:87(date) C/gtk-doc-manual.xml:93(date)
+msgid "18 December 2009"
+msgstr "18டிசம்பர் 2009"
+
+#: C/gtk-doc-manual.xml:89(revremark)
+msgid "broken tarball update"
+msgstr "சிதைந்த டார் பால் இற்றைப்படுத்தல்"
+
+#: C/gtk-doc-manual.xml:95(revremark)
+msgid "new tool features and bugfixes"
+msgstr "புதிய அம்சங்கள் மற்றும் வழி நீக்கங்கள்"
+
+#: C/gtk-doc-manual.xml:98(revnumber)
+msgid "1.11"
+msgstr "1.11"
+
+#: C/gtk-doc-manual.xml:99(date)
+msgid "16 Novemebr 2008"
+msgstr "16 நவம்பர் 2008"
+
+#: C/gtk-doc-manual.xml:100(authorinitials)
+msgid "mal"
+msgstr "மால்"
+
+#: C/gtk-doc-manual.xml:101(revremark)
+msgid "GNOME doc-utils migration"
+msgstr "க்னோம் டாக்-யுடில்ஸ் இட மாற்றம்"
+
+#: C/gtk-doc-manual.xml:110(title)
+msgid "Introduction"
+msgstr "அறிமுகம்"
+
+#: C/gtk-doc-manual.xml:112(para)
+msgid "This chapter introduces GTK-Doc and gives an overview of what it is and how it is used."
+msgstr "இந்த அத்தியாயம் ஜிடிகே-டாக் குறித்த அறிமுகம் தருகிறது. மேலும் அது என்ன எப்படி பயன்படுத்துவது என மேலோட்டமாக சொல்லுகிறது."
+
+#: C/gtk-doc-manual.xml:118(title)
+msgid "What is GTK-Doc?"
+msgstr "ஜிடிகே டாக் என்பதென்ன?"
+
+#: C/gtk-doc-manual.xml:120(para)
+msgid "GTK-Doc is used to document C code. It is typically used to document the public API of libraries, such as the GTK+ and GNOME libraries. But it can also be used to document application code."
+msgstr "ஜிடிகே டாக் சி குறியாக்கத்தை ஆவணப்படுத்துகிறது. இது எடுத்துக்காட்டாக ஜிடிகே+ மற்றும் க்னோம் நூலகங்கள் போன்ற நூலகங்களின் பொது ஏபிஐ களை ஆவணப்படுத்த பயன்படுகிறது. ஆனாலும் இது நிரல்களின் குறியாக்கத்தை ஆவணப்படுத்தக்கூட பயன்படுத்தலாம். "
+
+#: C/gtk-doc-manual.xml:128(title)
+msgid "How Does GTK-Doc Work?"
+msgstr "ஜிடிகே டாக் எப்படி வேலை செய்கிறது?"
+
+#: C/gtk-doc-manual.xml:130(para)
+msgid "GTK-Doc works by using documentation of functions placed inside the source files in specially-formatted comment blocks, or documentation added to the template files which GTK-Doc uses (though note that GTK-Doc will only document functions that are declared in header files; it won't produce output for static functions)."
+msgstr "ஜிடிகே டாக் வேலை செய்வதெப்படி எனில் சிறப்பு ஒழுங்கில் விமர்சன தொகுதிகளாக செயல்களின் ஆவணங்கள் மூல கோப்புகளில் வைக்கப்படும். அல்லது ஜிடிகே டாக் பயன்படுத்தும் டெம்ப் கோப்புகளுக்கு சேர்க்கபடும். (ஆயினும் ஜிடிகே டாக் தலைப்பு கோப்புகளில் அறுதியிட்ட பங்ஷன்களை மட்டுமே ஆவணப்படுத்தும். நிலையான பங்க்ஷன்களுக்கு வெளியீடு தராது)"
+
+#: C/gtk-doc-manual.xml:137(para)
+msgid "GTK-Doc consists of a number of perl scripts, each performing a different step in the process."
+msgstr "ஜிடிகே டாக் இல் பல பெர்ல் குறுநிரல்கள் உள்ளன. "
+
+#: C/gtk-doc-manual.xml:142(para)
+msgid "There are 5 main steps in the process:"
+msgstr "இந்த நடப்பில் ஐந்து படிகள் உள்ளன"
+
+#: C/gtk-doc-manual.xml:149(para)
+msgid "<guilabel>Writing the documentation.</guilabel> The author fills in the source files with the documentation for each function, macro, union etc. (In the past information was entered in generated template files, which is not recommended anymore)."
+msgstr "<guilabel>ஆவணம் எழுதும் முறை.</guilabel> ஆசிரியர் மூல கோப்பை ஒவ்வொரு செயல், மேக்ரோ, இணைப்புக்கும் ஆவணங்களால் நிரப்புவார். (முன்னே விவரங்கள் உருவாக்கப்பட்ட வார்ப்புரு கோப்புக்களால் உள்ளிடப்பட்டது. அப்படி இனி செய்ய பரிந்துரைக்கவில்லை.)"
+
+#: C/gtk-doc-manual.xml:159(para)
+msgid "<guilabel>Gathering information about the code.</guilabel><application>gtkdoc-scan</application> scans the header files of the code looking for declarations of functions, macros, enums, structs, and unions. It creates the file <filename><module>-decl-list.txt</filename> containg a list of the declarations, placing them into sections according to which header file they are in. On the first run this file is copied to <filename><module>-sections.txt</filename> The author can rearrange the sections, and the order of the declarations within them, to produce the final desired order. The second file it generates is <filename><module>-decl.txt</filename>. This file contains the full declarations found by the scanner. If for some reason one would like some sybols to show up in the docs, where the full declaration cannot be found by the scanner or the declaration should appear differently, one can place entries similar to the ones in <filename><module>-decl.txt</filename> into <filename><module>-overrides.txt</filename>. <application>gtkdoc-scanobj</application> can also be used to dynamically query a library about any GtkObject subclasses it exports. It saves information about each object's position in the class hierarchy and about any GTK Args and Signals it provides."
+msgstr "<guilabel>குறியாக்கம் குறித்த தகவல்களை சேர்த்தல்.</guilabel><application>ஜிடிகே டாக் ஸ்கேன்</application> இது மூல கோப்பின் தலைப்புகளில் ஒவ்வொரு செயல், மேக்ரோ, ஈநம், ஸ்டரக்ட். இணைப்புக்கும் வருடுகிறது. பின் அது இந்த கோப்பை உருவாக்குகிறது: <filename><module>-decl-list.txt</filename> இதில் டெக்ளரெஷன்களின் பட்டியல் ஒன்று இருக்கும். அவை எந்த தலைப்பில் எந்த தொகுதியில் பொருந்துமோஅங்கே இருக்கும். முதல் சுற்றில் இது இந்த கோப்புக்கு நகலெடுக்கப்படும்: <filename><module>-sections.txt</filename> பின் ஆசிரியர் இவற்றின் உள் இருக்கும் டெக்ளரெஷன்களின் வரிசைப்படி தொகுதிகளை தேவையானபடி மறு அமைப்பு செய்யலாம். இரண்டாவதாக இது உருவாக்கும் கோப்பு: <filename><module>-decl.txt</filename>. இந்த கோப்பு வருடி கண்டுபிடித்த அனைத்து முழு டெக்ளரெஷன்களும் உள்ளதாகும். ஏதேனும் காரணத்தால் ஒருவர் வருடியால் முழு டெக்ளரேஷன்களாக காணப்படாத அல்லது வேறு மாதிரி காட்டப்பட வேண்டியதான சைபோல்கள் ஆவணங்களில் காட்டப்பட வேண்டும் என விரும்பினால், இம்மாதிரியான உள்ளீடுகளை வைக்கலாம்: <filename><module>-decl.txt</filename> into <filename><module>-overrides.txt</filename>. <application>gtkdoc-scanobj</application> ஐயும் பயன்படுத்தி இயங்கு நிலையில் அது ஏற்றுமதி செய்யும் எந்த ஒரு ஜிஜிகே பொருள் துணைவகுப்பையும் நூலகத்தில் கேள்வி கேட்கலாம். வகுப்பு மட்டங்களில் இந்த வகுப்புகளின் இடத்தை குறித்த தகவலையும் ஜிடிகே ஆர்க்ஸ் மற்றும் அது தரும் சமிக்ஞைகள்குறித்த தகவல்களையும் அது சேமித்துக்கொள்ளும். "
+
+#: C/gtk-doc-manual.xml:184(para)
+msgid "<guilabel>Generating the \"template\" files.</guilabel><application>gtkdoc-mktmpl</application> creates a number of files in the <filename class=\"directory\">tmpl/</filename> subdirectory, using the information gathered in the first step. (Note that this can be run repeatedly. It will try to ensure that no documentation is ever lost.)"
+msgstr "<guilabel>\"வார்ப்புரு\" கோப்புகள் உருவாக்கம் .</guilabel><application>gtkdoc-mktmpl</application> இந்த துணை அடைவில் முதல் சுற்றில் சேகரித்த தகவல்களைக் கொண்டு பல கோப்புகளை உருவாக்குகிறது: <filename class=\"directory\">tmpl/</filename> (இதை மீண்டும் மீண்டும் இயக்கலாம். எந்த கோப்பும் தொலைந்து போகாமல் இது பார்த்துக்கொள்ளும்.)"
+
+#: C/gtk-doc-manual.xml:193(para)
+msgid "Since GTK-Doc 1.9 the templates can be avoided. We encourage people to keep documentation in the code. <application>gtkdocize</application> supports now a <option>--flavour no-tmpl</option> option that chooses a makefile that skips tmpl usage totally. If you have never changed file in tmpl by hand, please remove the dir (e.g. from version control system)."
+msgstr "ஜிடிகே டாக் 1.9 முதல் வார்ப்புருக்களை தவிர்க்கலாம். மக்கள் ஆவணத்தை குறீயாக்கத்தில் வைத்து இருப்பதையே நாங்கள் விரும்புகிறோம். <application>gtkdocize</application> இப்போது இந்த <option>--flavour no-tmpl</option> தேர்வை ஆதரிக்கிறது. இது (tmpl) வார்ப்புரு பயன்பாட்டை முற்றூம் தவிர்க்கும் ஒரு மேக் பைலை தேர்வுசெய்கிறது. நீங்கள் கைமுறையாக எந்த ஒரு tmpl கோப்பையும் மாற்றியது இல்லையானால் தயை செய்து இந்த அடைவை நீக்கவும்.(எ.கா. வெர்ஷன் கன்ட்ரோல் அமைப்பு)."
+
+#: C/gtk-doc-manual.xml:205(para)
+msgid "<guilabel>Generating the SGML/XML and HTML/PDF.</guilabel><application>gtkdoc-mkdb</application> turns the template files into SGML or XML files in the <filename class=\"directory\">sgml/</filename> or <filename class=\"directory\">xml/</filename> subdirectory. If the source code contains documentation on functions, using the special comment blocks, it gets merged in here. If there are no tmpl files used it only reads takes docs from sources and introspection data."
+msgstr "<guilabel>SGML/XML மற்றும் HTML/PDF ஆகியவற்றை உருவாக்குதல். </guilabel><application>gtkdoc-mkdb</application> வார்ப்புரு கோப்புகளை SGML அல்லது XML கோப்புகளாக மாற்றி இங்கு சேமிக்கிறது: <filename class=\"directory\">sgml/</filename> அல்லது <filename class=\"directory\">xml/</filename> துணை அடைவு.மூலத்தில் விசேஷ விமர்சன தொகுதிகளுடன் பங்ஷன் ஆவணங்கள் இருப்பின் அவை இப்போது ஒன்றாக்கப்படும். வார்ப்புரு கோப்புகள் இல்லையானால் அது மூலத்தில் இருந்து ஆவணங்களையும் ஆய்வு தரவுகளையும் பயன்படுத்திக்கொள்ளும்."
+
+#: C/gtk-doc-manual.xml:215(para)
+msgid "<application>gtkdoc-mkhtml</application> turns the SGML/XML files into HTML files in the <filename class=\"directory\">html/</filename> subdirectory. Likewise <application>gtkdoc-mkpdf</application> turns the SGML/XML files into a PDF docuemnt called <filename><package>.pdf</filename>."
+msgstr "<application>gtkdoc-mkhtml</application> SGML/XML கோப்புக்களை HTML கோப்புக்களாக மாறுகிறது, இந்த துணை அடைவில் <filename class=\"directory\">html/</filename> . அதே போல்<application>gtkdoc-mkpdf</application> SGML/XML கோப்புக்களைPDF ஆவணமாக இப்பெயரிட்டு உருவாக்கும். <filename><package>.pdf</filename>."
+
+#: C/gtk-doc-manual.xml:221(para)
+msgid "Files in <filename class=\"directory\">sgml/</filename> or <filename class=\"directory\">xml/</filename> and <filename class=\"directory\">html/</filename> directories are always overwritten. One should never edit them directly."
+msgstr " <filename class=\"directory\">sgml/</filename> அல்லது <filename class=\"directory\">xml/</filename> மற்றும் <filename class=\"directory\">html/</filename> இல் உள்ள அடைவுகள் எப்போதுமே மேலெழுதப்படும். அவற்றை யாரும் எப்போதும் நேரடியாக திருத்தக்கூடாது."
+
+#: C/gtk-doc-manual.xml:229(para)
+msgid "<guilabel>Fixing up cross-references between documents.</guilabel> After installing the HTML files, <application>gtkdoc-fixxref</application> can be run to fix up any cross-references between separate documents. For example, the GTK+ documentation contains many cross-references to types documented in the GLib manual. When creating the source tarball for distribution, <application>gtkdoc-rebase</application> turns all external links into web-links. When installing distributed (pregenerated) docs the same application will try to turn links back to local links (where those docs are installed)."
+msgstr "<guilabel>ஆவணங்கள் இடையில் குறுக்கு தொடுப்புகளை சரி செய்தல்</guilabel> HTML கோப்புக்களை நிறுவிய பின்னர், பின் வரும் நிரலை இயக்கி <application>gtkdoc-fixxref</application> ஆவணங்கள் இடையில் குறுக்கு தொடுப்புகளை சரி செய்யலாம். உதாரணமாக ஜிடிகே+ ஆவணத்தில் ஜிலிப் கையேட்டில் ஆவணப்படுத்திய பல வகைகளுக்கு குறுக்கு தொடுப்புகள் இருக்கும். வினியோகிக்க டார் பால் செய்யும் போது <application>gtkdoc-rebase</application> எல்லா வெளி தொடுப்புக்களையும் வலை தொடுப்பாக மாற்றிவிடும். இதே நிரல் ஆவணங்கள் நிறுவப்படும்போது அவற்றை உள்ளமை தொடுப்புக்களாக மாற்றியமைக்கும். (மற்ற ஆவணங்கள் நிறுவப்பட்டு இருக்கும் பட்சத்தில்.)"
+
+#: C/gtk-doc-manual.xml:247(title)
+msgid "Getting GTK-Doc"
+msgstr "ஜிடிகே டாக் ஐ பெறுதல்"
+
+#: C/gtk-doc-manual.xml:250(title)
+msgid "Requirements"
+msgstr "முன் தேவைகள்"
+
+#: C/gtk-doc-manual.xml:251(para)
+msgid "<guilabel>பெர்ல் v5</guilabel> - the main scripts are in Perl."
+msgstr "<guilabel>Perl v5</guilabel> - முதன்மை குறுநிரல்கள் பெர்ல் இல் உள்ளன."
+
+#: C/gtk-doc-manual.xml:254(para)
+msgid "<guilabel>டாக்புக் DTD v3.0</guilabel> - This is the DocBook SGML DTD. <ulink url=\"http://www.ora.com/davenport\" type=\"http\">http://www.ora.com/davenport</ulink>"
+msgstr "<guilabel>DocBook DTD v3.0</guilabel> - இது டாக் புத்தகத்தின் SGML DTD. <ulink url=\"http://www.ora.com/davenport\" type=\"http\">http://www.ora.com/davenport</ulink>"
+
+#: C/gtk-doc-manual.xml:258(para)
+msgid "<guilabel>ஜேட் v1.1</guilabel> - This is a DSSSL processor for converting SGML to various formats. <ulink url=\"http://www.jclark.com/jade\" type=\"http\">http://www.jclark.com/jade</ulink>"
+msgstr "“<guilabel>Jade v1.1</guilabel> - இது ஒரு DSSSL செயலி SGML ஐ பல ஒழுங்குகளுக்கு மாற்றுகிறது. <ulink url=\"http://www.jclark.com/jade\" type=\"http\">http://www.jclark.com/jade</ulink>"
+
+#: C/gtk-doc-manual.xml:262(para)
+msgid "<guilabel>Modular DocBook Stylesheets</guilabel> This is the DSSSL code to convert DocBook to HTML (and a few other formats). It's used together with jade. I've customized the DSSSL code slightly, in gtk-doc.dsl, to colour the program code listings/declarations, and to support global cross-reference indices in the generated HTML. <ulink url=\"http://nwalsh.com/docbook/dsssl\""
+msgstr "<guilabel>மாடுலர் டாக் புக் ஸ்டைய்ல்ஷீட்ஸ்</guilabel> இது DSSSL குறியாக்கம். டாக்புக் ஐ HTML (மேலும் சில ஒழுங்குகள்) ஆக ஆக்கும். இது ஜேட் உடன் பயன்படுத்தப்படும். நான் DSSSL code ஐ கொஞ்சம் தனிப்பயன் ஆக்கி இருக்கிறேன். இது நிரலின் பட்டியல்கள்/டெக்ளரேஷன்களை வண்ணத்தில் காண்பிக்கும், மேலும் HTML இல் குறுக்கு தொடுப்புக்களை உலகளாவியதாக்கும்.<ulink url=\"http://nwalsh.com/docbook/dsssl\" type=\"http\">http://nwalsh.com/docbook/dsssl</ulink>\" type=\"http\">http://nwalsh.com/docbook/dsssl</ulink>"
+
+#: C/gtk-doc-manual.xml:271(para)
+msgid "<guilabel>docbook-to-man</guilabel> - if you want to create man pages from the DocBook. I've customized the 'translation spec' slightly, to capitalise section headings and add the 'GTK Library' title at the top of the pages and the revision date at the bottom. There is a link to this on <ulink url=\"http://www.ora.com/davenport\" type=\"http\">http://www.ora.com/davenport</ulink> NOTE: This does not work yet."
+msgstr " நீங்கள் டாக்புக் இலிருந்து மேன் பக்கங்களை தயாரிக்க விரும்பினால் ..மொழிபெயர்ப்பு குறிப்புக்களை சற்றே நான் மாற்றியுள்ளேன். தொகுப்பு தலைப்புகள் மேலெழுத்தில் காட்டப்படும். ஜிடிகே நூலகம் என்னும் தலைப்பு ('GTK Library') பக்கங்களின் மேலே காட்டப்படும். திருத்திய தேதி கீழே காட்டப்படும். இதற்கு இங்கு ஒரு தொடுப்பு உள்ளது: <ulink url=\"http://www.ora.com/davenport\" type=\"http\">http://www.ora.com/davenport</ulink> குறிப்பு: இது இன்னும் செயலில் இல்லை.."
+
+#: C/gtk-doc-manual.xml:282(title)
+msgid "Installation"
+msgstr "நிறுவல்"
+
+#: C/gtk-doc-manual.xml:283(para)
+msgid "There is no standard place where the DocBook Modular Stylesheets are installed."
+msgstr "மாடுலர் டாக் புக் ஸ்டைய்ல்ஷீட்ஸ் நிறுவப்பட செந்தரமான இடமில்லை."
+
+#: C/gtk-doc-manual.xml:286(para)
+msgid "GTK-Doc's configure script searches these 3 directories automatically:"
+msgstr "ஜிடிகே டாக் இன் வடிவமைக்கும் குறுநிரல் மூன்று அடைவுகளை தானியங்கியாக பார்க்கும்."
+
+#: C/gtk-doc-manual.xml:289(para)
+msgid "<filename> /usr/lib/sgml/stylesheets/nwalsh-modular </filename> (used by RedHat)"
+msgstr "<filename> /usr/lib/sgml/stylesheets/nwalsh-modular </filename> (ரெட் ஹாட் ஆல் பயன்படுத்தப்படுவது)"
+
+#: C/gtk-doc-manual.xml:292(para)
+msgid "<filename> /usr/lib/dsssl/stylesheets/docbook </filename> (used by Debian)"
+msgstr "<filename> /usr/lib/dsssl/stylesheets/docbook </filename> (டெபியன் ஆல் பயன்படுத்தப்படுவது)"
+
+#: C/gtk-doc-manual.xml:295(para)
+msgid "<filename> /usr/share/sgml/docbkdsl </filename> (used by SuSE)"
+msgstr "<filename> /usr/share/sgml/docbkdsl </filename> (சூசே ஆல் பயன்படுத்தப்படுவது)"
+
+#: C/gtk-doc-manual.xml:298(para)
+msgid "If you have the stylesheets installed somewhere else, you need to configure GTK-Doc using the option: <command> --with-dsssl-dir=<PATH_TO_TOPLEVEL_STYLESHEETS_DIR> </command>"
+msgstr "ஸ்டைய்ல் ஷீட் கள் வேறெங்கும் நிறுவி இருப்பின் கை முறையாக ஜிடிகே டாக் ஐ வடிவமைக்க வேண்டும். கட்டளை தேர்ர்வு: <command> --with-dsssl-dir=<PATH_TO_TOPLEVEL_STYLESHEETS_DIR> </command> "
+
+#: C/gtk-doc-manual.xml:322(title)
+msgid "About GTK-Doc"
+msgstr "ஜிடிகே டாக் பற்றி"
+
+#: C/gtk-doc-manual.xml:324(para) C/gtk-doc-manual.xml:338(para)
+msgid "(FIXME)"
+msgstr "(FIXME)"
+
+#: C/gtk-doc-manual.xml:328(para)
+msgid "(History, authors, web pages, license, future plans, comparison with other similar systems.)"
+msgstr "(வரலாறு, ஆசிரியர்கள், வலைப்பக்கங்கள், உரிமை, எதிர்கால திட்டங்கள், மற்ற இதே போன்ற அமைப்புகளுடன் ஒப்பீடு)"
+
+#: C/gtk-doc-manual.xml:336(title)
+msgid "About this Manual"
+msgstr "இந்த கையேடு பற்றி"
+
+#: C/gtk-doc-manual.xml:342(para)
+msgid "(who it is meant for, where you can get it, license)"
+msgstr "(இது யாருக்கு, உரிமம், எங்கு பெறுவது)"
+
+#: C/gtk-doc-manual.xml:351(title)
+msgid "Setting up your project"
+msgstr "உங்கள் திட்டத்தை அமைத்தல்"
+
+#: C/gtk-doc-manual.xml:353(para)
+msgid "The next sections describe what steps to perform to integrate GTK-Doc into your project. Theses section assume we work on a project called 'meep'. This project contains a library called 'libmeep' and an end-user app called 'meeper'."
+msgstr " அடுத்த தொகுதிகள் ஜிடிகே-டாக் ஐ உங்கள் திட்டத்தில் ஒருங்கிணைகக் என்ன செய்யவேண்டும் என விவரிக்கிறது. இந்த தொகுதிகள் நாம் மீப் ('meep') என்ற திட்டத்துக்கு வேளை செய்வதாக கொள்வோம்.இதற்கு 'libmeep' என ஒரு நூலகமும் பயனர் நிரல் 'meeper' என்றூம் கொள்வோம்."
+
+#: C/gtk-doc-manual.xml:361(title)
+msgid "Setting up a skeleton documentation"
+msgstr "தோராய ஆவணம் அமைத்தல்"
+
+#: C/gtk-doc-manual.xml:363(para)
+msgid "Under your top-level project directory create folders called docs/reference (this way you can also have docs/help for end-user documentation). It is recommended to create another subdirectory with the name of the doc-package. For packages with just one library this step is not necessary."
+msgstr "உங்கள் தலை மட்ட திட்ட அடைவில் இந்த மாதிரி அடைவுகளை உருவாக்குக.docs/reference (இதனால் உங்களுக்கு பயனர் ஆவணம் docs/help உம் கிடைக்கும்). இன்னொரு துணை அடைவு doc-package என் பெயரிட்டு உருவாக்கவும். ஒரே ஒரு நூலகம் உள்ள பொதிகளுக்கு இந்த படி தேவையில்லை"
+
+#: C/gtk-doc-manual.xml:372(title)
+msgid "Example directory structure"
+msgstr "எடுத்துக்காட்டு அடைவு அமைப்பு"
+
+#: C/gtk-doc-manual.xml:370(para)
+msgid "This can then look as show below: <placeholder-1/>"
+msgstr "இது கீழ் கண்டவாறு அமையலாம்: <placeholder-1/>"
+
+#: C/gtk-doc-manual.xml:390(title) C/gtk-doc-manual.xml:397(title)
+msgid "Integration with autoconf"
+msgstr "ஆட்டோ கான்ஃப் உடன் ஒருங்கிணைப்பு"
+
+#: C/gtk-doc-manual.xml:392(para)
+msgid "Very easy! Just add one line to your <filename>configure.ac</filename> script."
+msgstr "ரொம்ப சுலபம். <filename>configure.ac</filename> குறுநிரலுக்கு ஒரே ஒரு வரி மட்டும் சேருங்கள்."
+
+#: C/gtk-doc-manual.xml:407(para)
+msgid "The first argument is used to check for the gtkdocversion at configure time. The 2nd, optional argument is used by <application>gtkdocize</application>. The <symbol>GTK_DOC_CHECK</symbol> macro also adds several configure switches:"
+msgstr "முதல் தரு மதிப்பு வடிவமைப்பு நேரத்தில் ஜிடிகே டாக் இன் பதிப்பை சோதிக்கிறது. இரண்டாவது தெர்வு தருமதிப்பு. இது இந்த நிரலால் பயன்படுத்தப்படுகிறது. <application>gtkdocize</application>. <symbol>GTK_DOC_CHECK</symbol> மேக்ரோ பல மாற்றிகளை வடிவமைத்து சேர்க்கிறது:"
+
+#: C/gtk-doc-manual.xml:413(para)
+msgid "--with-html-dir=PATH : path to installed docs"
+msgstr "--with-html-dir=PATH : நிறுவிய ஆவணங்களுக்கான பாதை"
+
+#: C/gtk-doc-manual.xml:414(para)
+msgid "--enable-gtk-doc : use gtk-doc to build documentation [default=no]"
+msgstr "\"\"--enable-gtk-doc :ஆவணமாக்கத்துக்கு ஜிடிகே டாக் ஐ பயன்படுத்துக. [முன்னிருப்பு=இல்லை]"
+
+#: C/gtk-doc-manual.xml:415(para)
+msgid "--enable-gtk-doc-html : build documentation in html format [default=yes]"
+msgstr "--enable-gtk-doc-html : html ஒழுங்கில் ஆவணத்தை உருவாக்குக[முன்னிருப்பு=ஆம்]"
+
+#: C/gtk-doc-manual.xml:416(para)
+msgid "--enable-gtk-doc-pdf : build documentation in pdf format [default=no]"
+msgstr "--enable-gtk-doc-pdf : pdf ஒழுங்கில் ஆவணத்தை உருவாக்குக [முன்னிருப்பு=இல்லை]"
+
+#: C/gtk-doc-manual.xml:420(para)
+msgid "GTK-Doc is disabled by default! Remember to pass the option <option>'--enable-gtk-doc'</option> to the next <filename>configure</filename> run. Otherwise pregenerated documentation is installed (which makes sense for users but not for developers)."
+msgstr "ஜிடிகே டாக் GTK-Doc முன்னிருப்பாக செயலிழந்து இருக்கும்! ஆகவே அடுத்த <filename>configure</filename> இயக்கத்துக்கு இந்த தேர்வை செய்க: <option>'--enable-gtk-doc'</option> . இல்லையானால் முன் உருவாக்கிய ஆவணங்கள் நிறூவப்படும்.( இது பயனர்களுக்கு புரியும், நல்லது. ஆனால் உருவாக்குவோருக்கு அல்ல)."
+
+#: C/gtk-doc-manual.xml:428(para)
+msgid "Furthermore it is recommended that you have the following line inside you <filename>configure.ac</filename> script. This allows <application>gtkdocize</application> to automatically copy the macro definition for <function>GTK_DOC_CHECK</function> to your project."
+msgstr " மேலும் பின் வரும் வரியை உங்கள் <filename>configure.ac</filename> குறுநிரலில் அமைத்துக்கொள்க. இது <application>gtkdocize</application> நிரலை தானியங்கியாக <function>GTK_DOC_CHECK</function> இன் மேக்ரோ அறிதியீட்டை உங்கள் திட்டத்துக்கு பிரதி எடுக்கிறது."
+
+#: C/gtk-doc-manual.xml:436(title)
+msgid "Preparation for gtkdocize"
+msgstr "gtkdocize க்கு முன்னேற்பாடு"
+
+#: C/gtk-doc-manual.xml:447(title)
+msgid "Integration with automake"
+msgstr "ஆட்டோமேக் உடன் ஒருங்கிணைப்பு"
+
+#: C/gtk-doc-manual.xml:449(para)
+msgid "First copy the <filename>Makefile.am</filename> from the examples subdirectory of the gtkdoc-sources to your project's API documentation directory ( <filename class=\"directory\">./docs/reference/<package></filename>). If you have multiple doc-packages repeat this for each one."
+msgstr "முதலில் gtkdoc-sources அடைவிலிருந்து உங்கள் திட்டத்தின் ஏபிஐ ஆவண அடைவு ( <filename class=\"directory\">./docs/reference/<package></filename>) க்கு <filename>Makefile.am</filename> ஐ பிரதி எடுக்கவும். உங்களுக்கு பல டாக் பொதிகள் இருப்பின் இதை ஒவ்வொன்றுக்கும் செய்யவும்."
+
+#: C/gtk-doc-manual.xml:456(para)
+msgid "The next step is to edit the setting inside the <filename>Makefile.am</filename>. All the settings have a comment above that describes their purpose. Most settings are extra flags passed to the respective tools. Every tool has a variable of the form <option><TOOLNAME>_OPTIONS</option>. All the tools support <option>--help</option> to list the supported parameters."
+msgstr "அடுத்த படி <filename>Makefile.am</filename> இல் உள்ளதை திருத்துவது. எல்லா அமைப்புகளின் மேலும் அதன் செயலை விவரிக்கும் விமர்சனம் இருக்கும். அனேகமான அமைப்புகள் அவற்றின் கருவிகளூக்கான கூடிதல் கொடிகளே. எல்லா கருவிகளுக்கும் ஒரு மாறி இது போல இருக்கும். <option><TOOLNAME>_OPTIONS</option>. எல்லா கருவிகளும் ஆதரவளிக்கும் பாராமீட்டர்களை குறிக்க இதை ஆதரிக்கும்: <option>--help</option> "
+
+#. FIXME: explain options ?
+#: C/gtk-doc-manual.xml:467(para)
+msgid "You may also want to enable GTK-Doc for the distcheckmake target. Just add then one-liner show in the next example to you top-level <filename>Makefile.am</filename>:"
+msgstr "ஜிடிகே டாக் (GTK-Doc) ஐdistcheckmake க்கு இலக்காக்க நீங்கள் விரும்பலாம். அடுத்த உதாரணத்தில் உள்ள ஒரு வரி காட்டலை உங்கள் மேல் மட்ட <filename>Makefile.am</filename> க்கு சேர்கவும்:"
+
+#: C/gtk-doc-manual.xml:474(title)
+msgid "Enable GTK-Doc during make distcheck"
+msgstr "distcheck போது ஜிடிகே- டாக் ஐ செயலாக்குக"
+
+#: C/gtk-doc-manual.xml:486(title)
+msgid "Integration with autogen"
+msgstr "ஆட்டொஜென் உடன் ஒருங்கிணைத்தல்"
+
+#: C/gtk-doc-manual.xml:488(para)
+msgid "Most projects will have an <filename>autogen.sh</filename> script to setup the build infrastructure after a checkout from version control system (such as cvs/svn/git). GTK-Doc comes with a tool called <application>gtkdocize</application> which can be used in such a script. It should be run before autoheader, automake or autoconf."
+msgstr "முக்கால்வாசி திட்டங்களில் (cvs/svn/git போன்ற) வெர்ஷன் கட்டுப்பாடு அமைப்பில் இருந்து பெறப்பட்டதும் அடிக்கட்டுமான பணியை செய்ய <filename>autogen.sh</filename> குறுநிரல் இருக்கும். ஜிடிகே டாக் (GTK-Doc) இல் <application>gtkdocize</application> என ஒரு கருவி உண்டு. இது அது போன்ற குறுநிரலுடன் வேலை செய்யும்.இது autoheader, automake அல்லது autoconf க்கு முன்னால் இயக்கப்பட வேண்டும்."
+
+#: C/gtk-doc-manual.xml:497(title)
+msgid "Running gtkdocize from autogen.sh"
+msgstr "autogen.sh இலிருந்து gtkdocize ஐ இயக்குதல்"
+
+#: C/gtk-doc-manual.xml:506(para)
+msgid "When running <application>gtkdocize</application> it copies <filename>gtk-doc.make</filename> to you project root (or any directory specified by the <option>--docdir</option> option). If also check you configure script for the <function>GTK_DOC_CHECK</function> invocation."
+msgstr " <application>gtkdocize</application> நிரலை இயக்கும்போது <filename>gtk-doc.make</filename> ஐ உங்கள் திட்டத்தின் மூலத்திற்கு அல்லது <option>—docdir</option>தேர்வில் நீங்கள் குறிப்பிடும் அடைவுக்கு பிரதி எடுக்கிறது. அது <function>GTK_DOC_CHECK</function> அழைப்புக்கும் உங்கள் அமைப்பு குறுநிரலை சோதிக்கிறது ."
+
+#: C/gtk-doc-manual.xml:514(para)
+msgid "Historically GTK-Doc was gerating template files where developers entered the docs. this turned out to be not so good. Since a few version GTK-Doc could also get all the information from source comments. Since GTK-Doc 1.9 the templates can be avoided. We encourage people to keep documentation in the code. <application>gtkdocize</application> supports now a <option>--flavour no-tmpl</option> option that chooses a makefile that skips tmpl usage totally. Besides adding the option directly to the command invocation, they can be added also to a environment variable called <symbol>GTKDOCIZE_FLAGS</symbol> or set as a 2nd parameter in <symbol>GTK_DOC_CHECK</symbol> macro in the configure script. If you have never changed file in tmpl by hand and migrating from older gtkdoc versions, please remove the dir (e.g. from version control system)."
+msgstr "முன்னெல்லாம் ஜிடிகே டாக்(GTK-Doc) வார்ப்புரு கோப்புக்களை உருவாக்கிக்கொண்டு இருந்தது. இதில் உருவாக்குவோர் ஆவணங்களை உள்ளிட்டுக்கொண்டு இருந்தனர். இது அவ்வளவு சரியாக வேலை செய்யவில்லை. சில பதிப்புக்களாக ஜிடிகே டாக்(GTK-Doc) மூலத்தின் விமர்சனங்களிலிருந்து எல்லா தகவல்களையும் பெற் முடிகிறது. GTK-Doc 1.9 முதல் வார்புருக்களை தவிர்க்கலாம். ஆகவே நாங்கள் மூல குறியாக்கத்தில் ஆவணங்களுக்கு தேவையான எல்லா தகவல்களையும் வைக்க வேண்டுகிறோம். <application>gtkdocize</application>இப்போது ஒரு <option>--flavour no-tmpl</option> தேர்ர்வை ஆதரிக்கிறது. இதனால் மேக்பைல் (makefile) வார்ப்புரு பயனை முற்றும் தவிர்த்துவிடுகிறது. நேரடியாக கட்டளை அழைப்புக்கு இந்த தேர்வை சேர்ப்பதுடன் <symbol>GTKDOCIZE_FLAGS</symbol> எனும் சூழ்நிலை மாறிகளுக்கும் சேர்க்கலாம். அலல்து இரண்டாம் பாராமிட்டராக <symbol>GTK_DOC_CHECK</symbol> இல் அமைக்கலாம். நீங்கள் இதுவரை கைமுறையாக tmpl இல் கோப்பை மாற்றியது இல்லை; பழைய ஜிடாக் பதிப்பிலிருந்து இடம் மாறுகிறீர்கள் எனில் தயை செய்து அந்த அடைவை நீக்கி விடுங்கள் (எ.கா. வெர்ஷன் கன்ட்ரோல் அமைப்பு)."
+
+#: C/gtk-doc-manual.xml:530(title) C/gtk-doc-manual.xml:547(title)
+msgid "Running the doc build"
+msgstr "டாக் உருவாக்கியை (doc build) இயக்குதல்"
+
+#: C/gtk-doc-manual.xml:532(para)
+msgid "After the previous steps it's time to run the build. First we need to rerun <filename>autogen.sh</filename>. If this script runs configure for you, then give it the <option>--enable-gtk-doc</option> option. Otherwise manually run <filename>configure</filename> with this option afterwards."
+msgstr "இப்போது கட்டுமானத்திற்கு ஆயத்தமாகிவிட்டோம். முதலில் நாம் மீன்டும் <filename>autogen.sh</filename> ஐ இயக்கவேண்டும். இது உங்களுக்கு கட்டமைப்பை இயக்கினால் அதற்கு <option>--enable-gtk-doc</option> தேர்வை தரவும். இல்லையானால் கைமுறையாக இதே தேர்வுடன் <filename>configure</filename> ஐ பிரிதொரு முறை இயக்கவும்."
+
+#: C/gtk-doc-manual.xml:539(para)
+msgid "The first make run generates several additional files in the doc-dirs. The important ones are: <filename><package>.types</filename>, <filename><package>-docs.sgml</filename>, <filename><package>-sections.txt</filename>."
+msgstr "ஆவண அடைவுகளில் (doc-dirs) பல கூடுதல் கோப்புகளை முதல் மேக் இயக்கம் உருவாக்கும்.அவற்றில்ய் முக்கியமானவை: <filename><package>.types</filename>, <filename><package>-docs.sgml</filename>, <filename><package>-sections.txt</filename>."
+
+#: C/gtk-doc-manual.xml:556(para)
+msgid "Now you can point your browser to <filename>docs/reference/<package>/index.html</filename>. Yes, it's a bit disappointing still. But hang-on, during the next chapter we tell you how to fill the pages with life."
+msgstr "இப்போது உங்கள் உலாவியை <filename>docs/reference/<package>/index.html</filename> க்கு சுட்டிக்காட்டலாம். ஆமாம், இது கொஞ்சம் ஏமாற்றமாகத்தான் இருக்கிறது. கவலை வேண்டாம். அடுத்த அத்தியாயத்தில் எப்படி இவற்றை உயிருக்கு கொண்டு வருவது என பார்க்கலாம்."
+
+#: C/gtk-doc-manual.xml:564(title)
+msgid "Integration with version control systems"
+msgstr "வெர்ஷன் கன்ட்ரோல் அமைப்புகளுடன் ஒருங்கிணைத்தல்"
+
+#: C/gtk-doc-manual.xml:566(para)
+msgid "As a rule of the thumb, it's those files you edit, that should go under version control. For typical projects it's these files: <filename><package>.types</filename><filename><package>-docs.sgml</filename><filename><package>-sections.txt</filename><filename>Makefile.am</filename>"
+msgstr "குத்து மதிப்பாக சொல்லப்போனால் , நீங்கள் திருத்தும் கோப்புகள்தான் வெர்ஷன் கட்டுப்படுக்கு போக வேண்டும். வழக்கமாக இவைதான் அந்த கோப்புகள்: <filename><package>.types</filename><filename><package>-docs.sgml</filename><filename><package>-sections.txt</filename><filename>Makefile.am</filename>"
+
+#: C/gtk-doc-manual.xml:579(title)
+msgid "Documenting the code"
+msgstr "குறியாக்கத்தை ஆவணப்படுத்துதல்"
+
+#: C/gtk-doc-manual.xml:581(para)
+msgid "GTK-Doc uses source code comment with a special syntax for code documentation. Further it retrieves information about your project structure from other sources. During the next section you find all information about the syntax of the comments."
+msgstr "ஜிடிகே டாக்(GTK-Doc) குறீயீட்டை ஆவணமாக்க மூல குறியீட்டின் விமர்சனத்தை சிறப்பு இலக்கணத்துடன் பயன்படுத்துகிறது. மற்ற மூலங்களிலிருந்தும் அது உங்கள் திட்டத்தின் கட்டுமானத்தை அறிகிறது. அடுத்த தொகுதியில் இந்த விமர்சனன்களின் சிறப்பு இலக்கணம் குறித்து முழுதும் அறியலாம்."
+
+#: C/gtk-doc-manual.xml:589(title)
+msgid "Documentation placement"
+msgstr "ஆவணம் இடுதல்"
+
+#: C/gtk-doc-manual.xml:590(para)
+msgid "In the past most documentation had to be filled into files residing inside the <filename>tmpl</filename> directory. This has the disadvantages that the information is often not updated and also that the file tend to cause conflicts with version control systems."
+msgstr "முன் காலத்தில் பெரும்பாலான ஆவணங்கள் <filename>tmpl</filename> அடைவில் இருக்கும் கோப்புகளில் நிரப்பப்பட வேண்டி இருந்தது. இதில் நஷ்டமாக தகவல்கள் அவ்வப்போது புதுப்பிக்கப்படவில்லை. மேலும் இவை வெர்ஷன் கட்டுப்பாடு அமைப்புகளுடன் பொருந்தவில்லை"
+
+#: C/gtk-doc-manual.xml:596(para)
+msgid "The avoid the aforementioned problems we suggest putting the documentation inside the sources. This manual will only describe this way of documenting code."
+msgstr "மேற்கூறிய காரணங்களால் நாங்கள் ஆவணங்களை மூலத்துடன் வைக்கு மாறூ சொல்கிறோம். இந்த கையேடு இந்த முறையை மட்டுமே விவாதிக்கும்."
+
+#: C/gtk-doc-manual.xml:606(title)
+msgid "Documentation comments"
+msgstr "ஆவணமாக்க விமரிசனங்கள்"
+
+#: C/gtk-doc-manual.xml:611(title)
+msgid "GTK-Doc comment block"
+msgstr "ஜிடிகே டாக் விமரிசன தொகுப்பு"
+
+#: C/gtk-doc-manual.xml:608(para)
+msgid "A multiline comment that starts with an additional '*' marks a documentation block that will be processed by the GTK-Doc tools. <placeholder-1/>"
+msgstr " '*' இல் துவங்கும் பல்வரி விமர்சனம் ஜிடிகே டாக் கருவிகளால் ஒரு ஆவணமாக்கல் தொகுதியாக கையாளப்படும். <placeholder-1/> "
+
+#: C/gtk-doc-manual.xml:623(para)
+msgid "The 'identifier' is one line with the name of the item the comment is related to. The syntax differs a little depending on the item. (TODO add table showing identifiers)"
+msgstr " 'identifier' எனப்படும் இனம் காட்டி விமர்சனம் பொருந்தும் உருப்படியின் பெயருடன் கூடிய ஒரு வரி. உருப்படியை பொருத்து இலக்கணம் சற்று மாறலாம். "
+
+#: C/gtk-doc-manual.xml:629(para)
+msgid "The 'documentation' block is also different for each symbol type. Symbol types that get parameters such as functions or macros have the parameter description first followed by a blank line (just a '*'). Afterwards follows the detailed description. All lines (outside program- listings and CDATA sections) just containing a ' *' (blank-asterisk) are converted to paragraph breaks. If you don't want a paragraph break, change that into ' * ' (blank-asterisk-blank-blank)."
+msgstr "ஆவண ( 'documentation') தொகுதி ஒவ்வொரு அடையாளத்துக்கும் கூட தனித் தனியாகும் .symbol type. Symbol types that get parameters such as functions or macros have the parameter description first followed by a blank line (just a '*'). Afterwards follows the detailed description. All lines (outside program- listings and CDATA sections) just containing a ' *' (blank-asterisk) are converted to paragraph breaks. If you don't want a paragraph break, change that into ' * ' (blank-asterisk-blank-blank)."
+
+#: C/gtk-doc-manual.xml:646(para)
+msgid "Use function() to refer to functions or macros which take arguments."
+msgstr "தரு மதிப்புகளுக்கும் அவற்றை ஏற்கும் மேக்ரோக்களுக்கும் function() செயலை பயன்படுத்துக."
+
+#: C/gtk-doc-manual.xml:651(para)
+msgid "Use @param to refer to parameters. Also use this when referring to parameters of other functions, related to the one being described."
+msgstr "@param ஐ எல்லா வரையீடுகளுக்கும் பயன்படுத்துக. விவரிக்கும் பங்ஷனுக்கு தொடர்பான எல்லா பங்ஷன்களின் வரையீடுகளுக்கும் கூட இதை பயன்படுத்துக."
+
+#: C/gtk-doc-manual.xml:657(para)
+msgid "Use %constant to refer to a constant, e.g. %G_TRAVERSE_LEAFS."
+msgstr "%constant ஐ ஒரு மாறிலியை காட்ட பயன்படுத்துக. எ-கா %G_TRAVERSE_LEAFS"
+
+#: C/gtk-doc-manual.xml:662(para)
+msgid "Use #symbol to refer to other types of symbol, e.g. structs and enums and macros which don't take arguments."
+msgstr "#symbol ஐ மற்ற வகை சிம்பலுக்கு பயன்படுத்துக. எ-கா தருமதிப்பை ஏற்காத ஸ்ட்ரட்ஸ், ஈநம்ஸ் மற்றும் மேக்ரோக்கள்."
+
+#: C/gtk-doc-manual.xml:668(para)
+msgid "Use #Object::signal to refer to a GObject signal"
+msgstr "#Object::signal ஐ GObject சமிக்ஞைக்கு பயன்படுத்துக"
+
+#: C/gtk-doc-manual.xml:673(para)
+msgid "Use #Object:property to refer to a GObject property"
+msgstr "#Object:property ஐGObject இன் பண்புகளை குறிக்க பயன்படுத்துக "
+
+#: C/gtk-doc-manual.xml:678(para)
+msgid "Use #Struct.field to refer to a field inside a structure."
+msgstr "Struct.field ஐ ஒரு கட்டமைப்பின் புலத்தை குறிக்க பயன்படுத்துக "
+
+#: C/gtk-doc-manual.xml:640(para)
+msgid "One advantage of hyper-text over plain-text is the ability to have links in the document. Writing the correct markup for a link can be tedious though. GTK-Doc comes to help by providing several useful abbreviations. <placeholder-1/>"
+msgstr "ஜிடிகே டாக் "
+
+#: C/gtk-doc-manual.xml:686(para)
+msgid "If you need to use the special characters '<', '>', '()', '@', '%', or '#' in your documentation without GTK-Doc changing them you can use the XML entities \"&lt;\", \"&gt;\", \"&lpar;\", \"&rpar;\", \"&commat;\", \"&percnt;\" and \"&num;\" respectively or escape them with a backslash '\\'."
+msgstr "சிறப்பு குறிகளான '<', '>', '()', '@', '%', அல்லது '#' ஐ ஜிடிகே டாக் மாற்றாமல் அப்படியே ஆவணத்தில் பயன்படுத்த அவற்றுக்கான ஹெச்எம்எல் ஐ பயன்படுத்துக: \"&lt;\", \"&gt;\", \"&lpar;\", \"&rpar;\", \"&commat;\", \"&percnt;\" மற்றும் \"&num;\" அல்லது பின் சாய்வு கோடால் அவற்றை தனியாக்கலாம்.'\\'. "
+
+#: C/gtk-doc-manual.xml:695(para)
+msgid "DocBook can do more that just links. One can also have lists, tables and examples. To enable the usage of SGML/XML tags inside doc-comments you need to have <option>--sgml-mode</option> in the variable <symbol>MKDB_OPTIONS</symbol> inside <filename>Makefile.am</filename>."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:703(para)
+msgid "As already mentioned earlier GTK-Doc is for documenting public API. Thus one cannot write documentation for static symbols. Nevertheless it is good to comment those symbols too. This helps other to understand you code. Therefore we recommend to comment these using normal comments (without the 2nd '*' in the first line). If later the function needs to be made public, all one needs to do is to add another '*' in the comment block and insert the symbol name at the right place inside the sections file."
+msgstr "ஜிடிகே டாக் "
+
+#: C/gtk-doc-manual.xml:717(title)
+msgid "Documenting sections"
+msgstr "ஆவணப்படுத்தும் தொகுதிகள்"
+
+#: C/gtk-doc-manual.xml:719(para)
+msgid "Each section of the documentation contains information about one class or module. To introduce the component one can write a section block. The short description is also used inside the table of contents. All the @fields are optional."
+msgstr "ஆவணத்தில் ஒவ்வொரு பிரிவும் ஒரு வகுப்பு அல்லது கூறு குறித்து தகவலைப்பெற்றிருக்கும். ஒரு பாகத்தை அறிமுகம் செய்ய ஒரு தொகுதியை எழுதலாம். குறுகிய விவரணம் உள்ளடக்க பட்டியலில் கூட பயன்படுத்தப்படும். எல்லா @ புலங்களூம் தேர்வுக்குரியன."
+
+#: C/gtk-doc-manual.xml:727(title)
+msgid "Section comment block"
+msgstr "பிரிவு விமரிசன தொகுதி"
+
+#: C/gtk-doc-manual.xml:748(term)
+msgid "SECTION:<name>"
+msgstr "SECTION:<பெயர்>"
+
+#: C/gtk-doc-manual.xml:750(para)
+msgid "The name links the section documentation to the respective part in the <filename><package>-sections.txt</filename> file. The name give here should match the <FILE> tag in the <filename><package>-sections.txt</filename> file."
+msgstr "பகுதி ஆவணத்தை பெயர் <filename><package>-sections.txt</filename>கோப்புக்கு இணைக்கிறது. கொடுக்கப்பட்ட பெயர் <filename><package>-sections.txt</filename> கோப்பில் <FILE> குறிப்புடன் பொருந்த வேண்டும்."
+
+#: C/gtk-doc-manual.xml:759(term)
+msgid "@short_description"
+msgstr "@short_description"
+
+#: C/gtk-doc-manual.xml:761(para)
+msgid "A one line description of the section, that later will appear after the links in the TOC and at the top of the section page."
+msgstr "பகுதி பக்கத்தின் மேலே உள்ளடக்க பட்டியலுக்கான தொடுப்புகளுக்குப்பின் காணும் ஒரு வரி விவரம்."
+
+#: C/gtk-doc-manual.xml:768(term)
+msgid "@title"
+msgstr "@title"
+
+#: C/gtk-doc-manual.xml:770(para)
+msgid "The section title defaults to <name> from the SECTION declaration. It can be overridden with the @title field."
+msgstr "இந்த தொகுதி SECTION சாற்றுரையிலிருந்து <name> க்கு முன்னிருப்பாக செல்லும். இதை உதாசீனப்படுத்த @title புலத்தை பயன்படுத்துக."
+
+#: C/gtk-doc-manual.xml:777(term)
+msgid "@section_id"
+msgstr "@section_id"
+
+#: C/gtk-doc-manual.xml:779(para)
+msgid "Overrides the use of title as a section identifier. For GObjects the <title> is used as a section_id and for other section it is <MODULE>-<title>."
+msgstr "தொகுதியை இனம் காண தலைப்பைஉதாசீனப்படுத்தும். GObjects ஆகிய <title> வற்றுக்கு section_id பயன்படும். ஏனைய தொகுதிகளுக்கு அது <MODULE>-<title>."
+
+#: C/gtk-doc-manual.xml:787(term)
+msgid "@see_also"
+msgstr "@see_also"
+
+#: C/gtk-doc-manual.xml:789(para)
+msgid "A list of symbols that are related to this section.."
+msgstr "இந்த தொகுதியுடன் சம்பந்தப்பட்ட சிம்பல் சின்னங்களின் பட்டியல். "
+
+#: C/gtk-doc-manual.xml:795(term)
+msgid "@stability"
+msgstr "@stability"
+
+#: C/gtk-doc-manual.xml:802(para)
+msgid "Stable - The intention of a Stable interface is to enable arbitrary third parties to develop applications to these interfaces, release them, and have confidence that they will run on all minor releases of the product (after the one in which the interface was introduced, and within the same major release). Even at a major release, incompatible changes are expected to be rare, and to have strong justifications."
+msgstr "Stable - நிலையான- எனில் இடைமுகம் நிலையானது. மூன்றாம் நபர்கள் இவற்றை ஒட்டி நிரல்களை எழுதி வெளியிடலாம்; எந்த பெரிய வெளியீட்டுக்குள் அவை வெளியிடப்பட்டதோ அதன் சிறிய வெளியீட்டுகளுக்குள் அவை சரியாக வேலை செய்யும் என நம்பலாம். பெரிய வெளியீடில் கூட இசைவு இல்லாமல் போவது துர்லபம்."
+
+#: C/gtk-doc-manual.xml:814(para)
+msgid "Unstable - Unstable interfaces are experimental or transitional. They are typically used to give outside developers early access to new or rapidly changing technology, or to provide an interim solution to a problem where a more general solution is anticipated. No claims are made about either source or binary compatibility from one minor release to the next."
+msgstr "Unstable - நிலையற்ற- எனில் இடைமுகம் பரீட்சார்த்தமானது. சிலகாலமே இருக்கும். இவை சாதாரணமாக புது வேகமாக மாறும் தொழில்நுட்பத்துக்கு ஆரம்ப கால அணுகலைத்தர பயன்படும். பின்னால் வர்வுள்ள நிரந்தர தீர்வுகளுக்கு இடைத்தீர்வாகவும் அமையும். அடுத்த வெளியீடுகளுக்கு பொருத்தம் இசைவு இருக்கும் என எதிரபாரலாகாது."
+
+#: C/gtk-doc-manual.xml:826(para)
+msgid "Private - An interface that can be used within the GNOME stack itself, but that is not documented for end-users. Such functions should only be used in specified and documented ways."
+msgstr "Private - தனிப்பயன் எனில் க்னோம் இல் மட்டும் பயன்படும் இடைமுகம். ஆயின் இறுதி பயனருக்கு ஆவணப்படுத்தவில்லை. அப்படிப்பட்ட செயல்கள் குறீப்பிட்ட ஆவணப்படுத்தப்பட்ட வழியில் மட்டுமே பயன்படுத்தப்பட வேண்டும்."
+
+#: C/gtk-doc-manual.xml:835(para)
+msgid "Internal - An interface that is internal to a module and does not require end-user documentation. Functions that are undocumented are assumed to be Internal."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:797(para)
+msgid "A informal description of the stability level this API has. We recommend the use of one of these terms: <placeholder-1/>"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:847(term)
+msgid "@include"
+msgstr "@include"
+
+#: C/gtk-doc-manual.xml:849(para)
+msgid "The <literal>#include</literal> files to show in the section synopsis (a comma separated list), overriding the global value from the <link linkend=\"metafiles_sections\">section file</link> or command line. This item is optional."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:860(para)
+msgid "To avoid unnecessary recompilation after doc-changes put the section docs into the c-source where possible."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:869(title)
+msgid "Documenting symbols"
+msgstr "சிம்பல்களை ஆவணப் படுத்தல்"
+
+#: C/gtk-doc-manual.xml:871(para)
+msgid "Each symbol (function, macro, struct, enum, signal and property) is documented in a separate block. The block is best placed close to the definition of the symbols so that it is easy to keep them in sync. Thus function are usually documented in the c-source and macros, struct and enum in the header file."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:879(title) C/gtk-doc-manual.xml:908(title)
+msgid "General tags"
+msgstr "பொது டேக் ஒட்டுகள்"
+
+#: C/gtk-doc-manual.xml:881(para)
+msgid "You can add versioning information to all documentation elements to tell when an api was introduced, or when it was deprecated."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:886(title)
+msgid "Versioning Tags"
+msgstr "டேக் களை பதிப்பாக்கல்"
+
+#: C/gtk-doc-manual.xml:887(term)
+msgid "Since:"
+msgstr "இதிலிருந்து:"
+
+#: C/gtk-doc-manual.xml:889(para)
+msgid "Description since which version of the code the API is available."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:894(term)
+msgid "Deprecated:"
+msgstr "கைவிடப்பட்டது."
+
+#: C/gtk-doc-manual.xml:896(para)
+msgid "Paragraph denoting that this function should no be used anymore. The description should point the reader to the new API."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:904(para)
+msgid "(FIXME : Stability information)"
+msgstr "FIXME : Stability information)"
+
+#: C/gtk-doc-manual.xml:931(title) C/gtk-doc-manual.xml:967(title)
+msgid "Function comment block"
+msgstr "பங்ஷன் விமரிசன தொகுதி"
+
+#: C/gtk-doc-manual.xml:937(para)
+msgid "Document whether returned objects, lists, strings, etc, should be freed/unrefed/released."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:943(para)
+msgid "Document whether parameters can be NULL, and what happens if they are."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:948(para)
+msgid "Mention interesting pre-conditions and post-conditions where appropriate."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:933(para) C/gtk-doc-manual.xml:1030(para)
+msgid "Please remember to: <placeholder-1/>"
+msgstr "<placeholder-1/> க்கு நினைவிருத்துக"
+
+#: C/gtk-doc-manual.xml:955(para)
+msgid "Gtk-doc assumes all symbols (macros, functions) starting with '_' are private. They are treated like static functions."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:960(para)
+msgid "Also, take a look at gobject introspection annotation tags: http://live.gnome.org/GObjectIntrospection/Annotations"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:991(title)
+msgid "Function tags"
+msgstr "பங்ஷன் டேக் ஒட்டுகள்"
+
+#: C/gtk-doc-manual.xml:992(term)
+msgid "Returns:"
+msgstr "திருப்பிகிடைப்பவை:"
+
+#: C/gtk-doc-manual.xml:994(para)
+msgid "Paragraph describing the returned result."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:999(term)
+msgid "@...:"
+msgstr "@...:"
+
+#: C/gtk-doc-manual.xml:1001(para)
+msgid "In case the function has variadic arguments, you should use this tag (@Varargs: does also work for historic reasons)."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1011(title) C/gtk-doc-manual.xml:1013(title)
+msgid "Property comment block"
+msgstr "பண்புகள் விமரிசன தொகுதி"
+
+#: C/gtk-doc-manual.xml:1028(title) C/gtk-doc-manual.xml:1047(title)
+msgid "Signal comment block"
+msgstr "சமிக்ஞை விமரிசன தொகுதி"
+
+#: C/gtk-doc-manual.xml:1034(para)
+msgid "Document when the signal is emitted and whether it is emitted before or after other signals."
+msgstr "சமிக்ஞை எப்போது வெளியிடப்படும் மற்றும் மற்ற சமிக்ஞைகளுக்கு முன்னா பின்னா வெளியிடப்படும் என ஆவணப்படுத்தல்."
+
+#: C/gtk-doc-manual.xml:1040(para)
+msgid "Document what an application might do in the signal handler."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1067(title) C/gtk-doc-manual.xml:1068(title)
+msgid "Struct comment block"
+msgstr "அமைப்பு விமரிசன தொகுதி"
+
+#: C/gtk-doc-manual.xml:1088(para)
+msgid "Use <code>/*< private >*/</code> before the private struct fields you want to hide. Use <code>/*< public >*/</code> for the reverse behavirour."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1096(title) C/gtk-doc-manual.xml:1097(title)
+msgid "Enum comment block"
+msgstr "ஈநம் விமரிசன தொகுதி"
+
+#: C/gtk-doc-manual.xml:1118(para)
+msgid "Use <code>/*< private >*/</code> before the private enum values you want to hide. Use <code>/*< public >*/</code> for the reverse behavirour."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1128(title)
+msgid "Useful DocBook tags"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1130(para)
+msgid "Here are some DocBook tags which are most useful when documenting the code."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1135(para)
+msgid "To link to another section in the GTK docs: <placeholder-1/> The linkend is the SGML/XML id on the top item of the page you want to link to. For most pages this is currently the part (\"gtk\", \"gdk\", \"glib\") and then the page title (\"Hash Tables\"). For widgets it is just the class name. Spaces and underscores are converted to '-' to conform to SGML/XML."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1151(para)
+msgid "To refer to an external function, e.g. a standard C function: <placeholder-1/>"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1162(para)
+msgid "To include example code: <placeholder-1/> or possibly this, for very short code fragments which don't need a title: <placeholder-2/> For the latter GTK-Doc also supports an abbreviation: <![CDATA[\n|[\n ...\n]|\n]]>"
+msgstr "ஜிடிகே டாக் "
+
+#: C/gtk-doc-manual.xml:1196(para)
+msgid "To include bulleted lists: <placeholder-1/>"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1218(para)
+msgid "To include a note which stands out from the text: <placeholder-1/>"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1233(para)
+msgid "To refer to a type: <placeholder-1/>"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1244(para)
+msgid "To refer to an external structure (not one described in the GTK docs): <placeholder-1/>"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1255(para)
+msgid "To refer to a field of a structure: <placeholder-1/>"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1266(para)
+msgid "To refer to a class name, we could possibly use: <placeholder-1/> but you'll probably be using #GtkWidget instead (to automatically create a link to the GtkWidget page - see <link linkend=\"documenting_syntax\">the abbreviations</link>)."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1279(para)
+msgid "To emphasize text: <placeholder-1/>"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1290(para)
+msgid "For filenames use: <placeholder-1/>"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1301(para)
+msgid "To refer to keys use: <placeholder-1/>"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1316(title)
+msgid "Filling the extra files"
+msgstr "கூடுதல் கோப்புகளை நிரப்புதல் "
+
+#: C/gtk-doc-manual.xml:1318(para)
+msgid "There are a couple of extra files, that need to be maintained along with the inline source code comments: <filename><package>.types</filename>, <filename><package>-docs.sgml</filename>, <filename><package>-sections.txt</filename>."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1327(title)
+msgid "Editing the types file"
+msgstr "கோப்பு வகையை திருத்துதல்"
+
+#: C/gtk-doc-manual.xml:1329(para)
+msgid "If your library or application includes GtkObjects/GObjects, you want their signals, arguments/parameters and position in the hierarchy to be shown in the documentation. All you need to do, is to list the <function>xxx_get_type</function> functions together with their include inside the <filename><package>.types</filename> file."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1338(title)
+msgid "Example types file snippet"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1352(para)
+msgid "Since GTK-Doc 1.8 <application>gtkdoc-scan</application> can generate this list for you. Just add \"--rebuild-types\" to SCAN_OPTIONS in <filename>Makefile.am</filename>. If you use this approach you should not dist the types file nor have it under version control."
+msgstr "ஜிடிகே டாக் "
+
+#: C/gtk-doc-manual.xml:1361(title)
+msgid "Editing the master document"
+msgstr "முதன்மை ஆவணத்தை திருத்துதல்"
+
+#: C/gtk-doc-manual.xml:1363(para)
+msgid "GTK-Doc produces documentation in DocBook SGML/XML. When processing the inline source comments, the GTK-Doc tools generate one documentation page per class or module as a separate file. The master document includes them and place them in a order."
+msgstr "ஜிடிகே டாக் ஜிடிகே டாக் "
+
+#: C/gtk-doc-manual.xml:1370(para)
+msgid "While GTK-Doc creates a template master document for you, later run will not touch it again. This means that one can freely structure the documentation. That includes grouping pages and adding extra pages. GTK-Doc has now a test suite, where also the master-document is recreated from scratch. Its a good idea to look at this from time to time to see if there are some new goodies introduced there."
+msgstr "ஜிடிகே டாக் "
+
+#: C/gtk-doc-manual.xml:1380(para)
+msgid "Do not create tutorials as extra documents. Just write extra chapters. The benefit of directly embedding the tutorial for your library into the API documentation is that it is easy to link for the tutorial to symbol documentation. Apart chances are higher that the tutorial gets updates along with the library."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1389(para)
+msgid "So what are the things to change inside the master document? For a start is only a little. There are some placeholders (text in square brackets) there which you should take care of."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1396(title)
+msgid "Master document header"
+msgstr "முதன்மை ஆவணத்தின் தலைப்பு"
+
+#: C/gtk-doc-manual.xml:1418(title)
+msgid "Editing the section file"
+msgstr "தொகுதி கோப்பை திருத்துதல்"
+
+#: C/gtk-doc-manual.xml:1420(para)
+msgid "The section file is used to organise the documentation output by GTK-Doc. Here one specifies which symbol belongs to which module or class and control the visibility (public or private)."
+msgstr "ஜிடிகே டாக் "
+
+#: C/gtk-doc-manual.xml:1426(para)
+msgid "The section file is a plain test file with xml like syntax (using tags). Blank lines are ignored and lines starting with a '#' are treated as comment lines."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1432(para)
+msgid "The <FILE> ... </FILE> tag is used to specify the file name, without any suffix. For example, using '<FILE>gnome-config</FILE>' will result in the section declarations being output in the template file <filename>tmpl/gnome-config.sgml</filename>, which will be converted into the DocBook SGML/XML file <filename>sgml/gnome-config.sgml</filename> or .DocBook XML file <filename>xml/gnome-config.xml</filename>. (The name of the html file is based on the module name and the section title, or for gobjects it is based on the gobjects class name converted to lower case)."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1444(para)
+msgid "The <TITLE> ... </TITLE> tag is used to specify the title of the section. It is only useful before the templates (if used) are initially created, since the title set in the template file overrides this. Also if one uses SECTION comment in the sources, this is obsolete."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1451(para)
+msgid "You can group items in the section by using the <SUBSECTION> tag. Currently it outputs a blank line between subsections in the synopsis section. You can also use <SUBSECTION Standard> for standard GObject declarations (e.g. the functions like g_object_get_type and macros like G_OBJECT(), G_IS_OBJECT() etc.). Currently these are left out of the documentation. You can also use <SUBSECTION Private> for private declarations which will not be output (It is a handy way to avoid warning messages about unused declarations.). If your library contains private types which you don't want to appear in the object hierarchy and the list of implemented or required interfaces, add them to a Private subsection."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1467(para)
+msgid "You can also use <INCLUDE> ... </INCLUDE> to specify the #include files which are shown in the synopsis sections. It contains a comma-separate list of #include files, without the angle brackets. If you set it outside of any sections, it acts for all sections until the end of the file. If you set it within a section, it only applies to that section."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1481(title)
+msgid "Controlling the result"
+msgstr "விடையை கட்டுப்படுத்தல்"
+
+#: C/gtk-doc-manual.xml:1483(para)
+msgid "A GTK-Doc run generates report files inside the documentation directory. The generated files are named: <filename><package>-undocumented.txt</filename>, <filename><package>-undeclared.txt</filename> and <filename><package>-unused.txt</filename>. All those are plain text files that can be viewed and postprocessed easily."
+msgstr "ஜிடிகே டாக் "
+
+#: C/gtk-doc-manual.xml:1492(para)
+msgid "The <filename><package>-undocumented.txt</filename> file starts with the documentation coverage summary. Below are two sections divided by blank lines. The first section lists undocumented or incomplete symbols. The second section does the same for section docs. Incomplete entries are those, which have documentation, but where e.g. a new parameter has been added."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1501(para)
+msgid "The <filename><package>-undeclared.txt</filename> file lists symbols given in the <filename><package>-sections.txt</filename> but not found in the sources. Check if they have been removed or if they are misspelled."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1508(para)
+msgid "The <filename><package>-unused.txt</filename> file lists symbol names, where the GTK-Doc scanner has found documentation, but does not know where to put it. This means that the symbol has not yet been added to the <filename><package>-sections.txt</filename> file."
+msgstr "ஜிடிகே டாக் "
+
+#: C/gtk-doc-manual.xml:1516(para)
+msgid "Enable or add the <option>TESTS=$(GTKDOC_CHECK)</option> line in Makefile.am. If at least GTK-Doc 1.9 is installed, this will run sanity checks during <command>make check</command> run."
+msgstr "ஜிடிகே டாக் "
+
+#: C/gtk-doc-manual.xml:1523(para)
+msgid "One can also look at the files produced by the source code scanner: <filename><package>-decl-list.txt</filename> and <filename><package>-decl.txt</filename>. The first and can be compared with the section file if that is manualy maintained. The second lists all declarations fromt he headers If a symbol is missing one could check if this file contains it."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1532(para)
+msgid "If the project is GObject based, one can also look into the files produced by the object scanner: <filename><package>.args.txt</filename>, <filename><package>.hierarchy.txt</filename>, <filename><package>.interfaces.txt</filename>, <filename><package>.prerequisites.txt</filename> and <filename><package>.signals.txt</filename>. If there are missing symbols in any of those, one can ask gtkdoc to keep the intermedia scanner file for further analysis, but running it as <command>GTK_DOC_KEEP_INTERMEDIATE=1 make</command>."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1547(title)
+msgid "Frequently asked question"
+msgstr "அடிக்கடி கேட்கும் கேள்விகள்"
+
+#: C/gtk-doc-manual.xml:1551(segtitle)
+msgid "Question"
+msgstr "கேள்வி"
+
+#: C/gtk-doc-manual.xml:1552(segtitle)
+msgid "Answer"
+msgstr "பதில்"
+
+#: C/gtk-doc-manual.xml:1554(seg)
+msgid "No class hierarchy."
+msgstr "வகுப்பு கட்டுமுறை இல்லை"
+
+#: C/gtk-doc-manual.xml:1556(function)
+msgid "xxx_get_type()"
+msgstr "\"\"xxx_get_type()"
+
+#: C/gtk-doc-manual.xml:1557(filename)
+msgid "<package>.types"
+msgstr "<package>.வகைகள்"
+
+#: C/gtk-doc-manual.xml:1555(seg)
+msgid "The objects <placeholder-1/> function has not been entered into the <placeholder-2/> file."
+msgstr "<placeholder-1/> பொருட்கள் பங்ஷன் இன்னும் <placeholder-2/> கோப்பில் உள்ளிடப்படவில்லை"
+
+#: C/gtk-doc-manual.xml:1561(seg)
+msgid "Still no class hierarchy."
+msgstr "இன்னும் வகுப்பு கட்டுமுறை இல்லை"
+
+#: C/gtk-doc-manual.xml:1563(filename) C/gtk-doc-manual.xml:1602(filename) C/gtk-doc-manual.xml:1610(filename) C/gtk-doc-manual.xml:1632(filename)
+msgid "<package>-sections.txt"
+msgstr "<package>-sections.txt"
+
+#: C/gtk-doc-manual.xml:1564(ulink)
+msgid "explanation"
+msgstr "விளக்கம்"
+
+#: C/gtk-doc-manual.xml:1562(seg)
+msgid "Missing or wrong naming in <placeholder-1/> file (see <placeholder-2/>)."
+msgstr "<placeholder-1/> கோப்பில் தவறான பெயரிடுதல் அல்லது காணவில்லை (பார்க்க: <placeholder-2/>)"
+
+#: C/gtk-doc-manual.xml:1568(seg)
+msgid "Damn, I have still no class hierarchy."
+msgstr "அடடா, இன்னும் வகுப்பு கட்டுமுறை இல்லை "
+
+#: C/gtk-doc-manual.xml:1570(type) C/gtk-doc-manual.xml:1611(type)
+msgid "GtkWidget"
+msgstr "ஜிடிகேவிட்செட்"
+
+#: C/gtk-doc-manual.xml:1569(seg)
+msgid "Is the object name (name of the instance struct, e.g. <placeholder-1/>) part of the normal section (don't put this into Standard or Private subsections)."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1576(seg)
+msgid "No symbol index."
+msgstr "சிம்பல் குறி அட்டவணை இல்லை"
+
+#: C/gtk-doc-manual.xml:1578(filename) C/gtk-doc-manual.xml:1593(filename) C/gtk-doc-manual.xml:1619(filename)
+msgid "<package>-docs.{xml,sgml}"
+msgstr "<package>-docs.{xml,sgml}"
+
+#: C/gtk-doc-manual.xml:1577(seg)
+msgid "Does the <placeholder-1/> contain a index that xi:includes the generated index?"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1583(seg)
+msgid "Symbols are not linked to their doc-section."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1584(seg)
+msgid "Is the doc-comment using the correct markup (added #,% or ())? Check if the gtkdoc-fixxref warns about unresolvable xrefs."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1590(seg)
+msgid "A new class does not appear in the docs."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1591(seg)
+msgid "Is the new page xi:included from <placeholder-1/>."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1597(seg)
+msgid "A new symbol does not appear in the docs."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1598(seg)
+msgid "Is the doc-comment properly formatted. Check for spelling mistakes in the begin of the comment. Check if the gtkdoc-fixxref warns about unresolvable xrefs. Check if the symbol is correctly listed in the <placeholder-1/> in a public subsection."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1606(seg)
+msgid "A type is missing from the class hierarchy."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1608(filename)
+msgid "<package>.hierarchy"
+msgstr "<package>.hierarchy"
+
+#: C/gtk-doc-manual.xml:1609(filename)
+msgid "xml/tree_index.sgml"
+msgstr "xml/tree_index.sgml"
+
+#: C/gtk-doc-manual.xml:1607(seg)
+msgid "If the type is listed in <placeholder-1/> but not in <placeholder-2/> then double check that the type is correctly placed in the <placeholder-3/>. If the type instance (e.g. <placeholder-4/>) is not listed or incidentialy makred private it will not be shown."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1616(seg)
+msgid "I get foldoc links for all gobject annotations."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1618(filename)
+msgid "xml/annotation-glossary.xml"
+msgstr "xml/annotation-glossary.xml"
+
+#: C/gtk-doc-manual.xml:1617(seg)
+msgid "Check that <placeholder-1/> is xi:included from <placeholder-2/>."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1625(seg)
+msgid "Parameter described in source code comment block but does not exist"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1626(seg)
+msgid "Check if the prototype in the header has different parameter names as in the source."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1631(seg)
+msgid "multiple \"IDs\" for constraint linkend: XYZ"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1632(seg)
+msgid "Symbol XYZ appears twice in <placeholder-1/> file."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1635(seg)
+msgid "Element typename in namespace '' encountered in para, but no template matches."
+msgstr "குறி XYZ இல் இரு முறை காண்கிறது."
+
+#: C/gtk-doc-manual.xml:12(releaseinfo)
+msgid "Version 1.1, March 2000"
+msgstr "பதிப்பு 1.1, மார்ச் 2000"
+
+#: C/gtk-doc-manual.xml:16(year)
+msgid "2000"
+msgstr "2000"
+
+#: C/gtk-doc-manual.xml:16(holder)
+msgid "Free Software Foundation, Inc."
+msgstr "Free Software Foundation, Inc."
+
+#: C/gtk-doc-manual.xml:19(para)
+msgid "<address>Free Software Foundation, Inc. <street>51 Franklin Street, Suite 330</street>, <city>Boston</city>, <state>MA</state><postcode>02110-1301</postcode><country>USA</country></address> Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed."
+msgstr "<address>Free Software Foundation, Inc. <street>51 Franklin Street, Suite 330</street>, <city>Boston</city>, <state>MA</state><postcode>02110-1301</postcode><country>USA</country></address> இந்த லைசென்ஸ் ஆவணத்தை அனவரும் பிரதி எடுத்து வினியோகிக்கலாம் ஆனால் மாற்றக்கூடாது."
+
+#: C/gtk-doc-manual.xml:28(title)
+msgid "GNU Free Documentation License"
+msgstr "க்னூ இலவச ஆவண லைசென்ஸ்"
+
+#: C/gtk-doc-manual.xml:31(title)
+msgid "0. PREAMBLE"
+msgstr "0. முன்னுரை (PREAMBLE)"
+
+#: C/gtk-doc-manual.xml:32(para)
+msgid "The purpose of this License is to make a manual, textbook, or other written document <quote>free</quote> in the sense of freedom: to assure everyone the effective freedom to copy and redistribute it, with or without modifying it, either commercially or noncommercially. Secondarily, this License preserves for the author and publisher a way to get credit for their work, while not being considered responsible for modifications made by others."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:43(para)
+msgid "This License is a kind of <quote>copyleft</quote>, which means that derivative works of the document must themselves be free in the same sense. It complements the GNU General Public License, which is a copyleft license designed for free software."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:50(para)
+msgid "We have designed this License in order to use it for manuals for free software, because free software needs free documentation: a free program should come with manuals providing the same freedoms that the software does. But this License is not limited to software manuals; it can be used for any textual work, regardless of subject matter or whether it is published as a printed book. We recommend this License principally for works whose purpose is instruction or reference."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:62(title)
+msgid "1. APPLICABILITY AND DEFINITIONS"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:63(para)
+msgid "This License applies to any manual or other work that contains a notice placed by the copyright holder saying it can be distributed under the terms of this License. The <quote>Document</quote>, below, refers to any such manual or work. Any member of the public is a licensee, and is addressed as <quote>you</quote>."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:72(para)
+msgid "A <quote>Modified Version</quote> of the Document means any work containing the Document or a portion of it, either copied verbatim, or with modifications and/or translated into another language."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:79(para)
+msgid "A <quote>Secondary Section</quote> is a named appendix or a front-matter section of the <link linkend=\"fdl-document\">Document</link> that deals exclusively with the relationship of the publishers or authors of the Document to the Document's overall subject (or to related matters) and contains nothing that could fall directly within that overall subject. (For example, if the Document is in part a textbook of mathematics, a Secondary Section may not explain any mathematics.) The relationship could be a matter of historical connection with the subject or with related matters, or of legal, commercial, philosophical, ethical or political position regarding them."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:94(para)
+msgid "The <quote>Invariant Sections</quote> are certain <link linkend=\"fdl-secondary\"> Secondary Sections</link> whose titles are designated, as being those of Invariant Sections, in the notice that says that the <link linkend=\"fdl-document\">Document</link> is released under this License."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:103(para)
+msgid "The <quote>Cover Texts</quote> are certain short passages of text that are listed, as Front-Cover Texts or Back-Cover Texts, in the notice that says that the <link linkend=\"fdl-document\">Document</link> is released under this License."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:111(para)
+msgid "A <quote>Transparent</quote> copy of the <link linkend=\"fdl-document\"> Document</link> means a machine-readable copy, represented in a format whose specification is available to the general public, whose contents can be viewed and edited directly and straightforwardly with generic text editors or (for images composed of pixels) generic paint programs or (for drawings) some widely available drawing editor, and that is suitable for input to text formatters or for automatic translation to a variety of formats suitable for input to text formatters. A copy made in an otherwise Transparent file format whose markup has been designed to thwart or discourage subsequent modification by readers is not Transparent. A copy that is not <quote>Transparent</quote> is called <quote>Opaque</quote>."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:128(para)
+msgid "Examples of suitable formats for Transparent copies include plain ASCII without markup, Texinfo input format, LaTeX input format, SGML or XML using a publicly available DTD, and standard-conforming simple HTML designed for human modification. Opaque formats include PostScript, PDF, proprietary formats that can be read and edited only by proprietary word processors, SGML or XML for which the DTD and/or processing tools are not generally available, and the machine-generated HTML produced by some word processors for output purposes only."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:141(para)
+msgid "The <quote>Title Page</quote> means, for a printed book, the title page itself, plus such following pages as are needed to hold, legibly, the material this License requires to appear in the title page. For works in formats which do not have any title page as such, <quote>Title Page</quote> means the text near the most prominent appearance of the work's title, preceding the beginning of the body of the text."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:153(title)
+msgid "2. VERBATIM COPYING"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:154(para)
+msgid "You may copy and distribute the <link linkend=\"fdl-document\">Document</link> in any medium, either commercially or noncommercially, provided that this License, the copyright notices, and the license notice saying this License applies to the Document are reproduced in all copies, and that you add no other conditions whatsoever to those of this License. You may not use technical measures to obstruct or control the reading or further copying of the copies you make or distribute. However, you may accept compensation in exchange for copies. If you distribute a large enough number of copies you must also follow the conditions in <link linkend=\"fdl-section3\">section 3</link>."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:169(para)
+msgid "You may also lend copies, under the same conditions stated above, and you may publicly display copies."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:176(title)
+msgid "3. COPYING IN QUANTITY"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:177(para)
+msgid "If you publish printed copies of the <link linkend=\"fdl-document\">Document</link> numbering more than 100, and the Document's license notice requires <link linkend=\"fdl-cover-texts\">Cover Texts</link>, you must enclose the copies in covers that carry, clearly and legibly, all these Cover Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on the back cover. Both covers must also clearly and legibly identify you as the publisher of these copies. The front cover must present the full title with all words of the title equally prominent and visible. You may add other material on the covers in addition. Copying with changes limited to the covers, as long as they preserve the title of the <link linkend=\"fdl-document\">Document</link> and satisfy these conditions, can be treated as verbatim copying in other respects."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:195(para)
+msgid "If the required texts for either cover are too voluminous to fit legibly, you should put the first ones listed (as many as fit reasonably) on the actual cover, and continue the rest onto adjacent pages."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:202(para)
+msgid "If you publish or distribute <link linkend=\"fdl-transparent\">Opaque</link> copies of the <link linkend=\"fdl-document\">Document</link> numbering more than 100, you must either include a machine-readable <link linkend=\"fdl-transparent\">Transparent</link> copy along with each Opaque copy, or state in or with each Opaque copy a publicly-accessible computer-network location containing a complete Transparent copy of the Document, free of added material, which the general network-using public has access to download anonymously at no charge using public-standard network protocols. If you use the latter option, you must take reasonably prudent steps, when you begin distribution of Opaque copies in quantity, to ensure that this Transparent copy will remain thus accessible at the stated location until at least one year after the last time you distribute an Opaque copy (directly or through your agents or retailers) of that edition to the public."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:222(para)
+msgid "It is requested, but not required, that you contact the authors of the <link linkend=\"fdl-document\">Document</link> well before redistributing any large number of copies, to give them a chance to provide you with an updated version of the Document."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:231(title)
+msgid "4. MODIFICATIONS"
+msgstr "4. மாற்றங்கள் (MODIFICATIONS)"
+
+#: C/gtk-doc-manual.xml:232(para)
+msgid "You may copy and distribute a <link linkend=\"fdl-modified\">Modified Version</link> of the <link linkend=\"fdl-document\">Document</link> under the conditions of sections <link linkend=\"fdl-section2\">2</link> and <link linkend=\"fdl-section3\">3</link> above, provided that you release the Modified Version under precisely this License, with the Modified Version filling the role of the Document, thus licensing distribution and modification of the Modified Version to whoever possesses a copy of it. In addition, you must do these things in the Modified Version:"
+msgstr "நீங்கள் ஒரு <link linkend=\"fdl-document\">Document</link> ஆவணத்தின் <link linkend=\"fdl-modified\">மாற்றப்பட்ட பதிப்பு(Modified Version)</link> ஐ கீழ் கண்ட தொகுதிகளின் விதிகளூக்கு இணங்க வினியோகிக்கலாம்: <link linkend=\"fdl-section2\">2</link> and <link linkend=\"fdl-section3\">3</link> கட்டுப்பாடு எது எனில் யாரிடம் எந்த பதிப்பு இருக்கிறதோ அதே லைசன்ஸ் கீழ் வெளியிட வேண்டும். மாற்றிய பதிப்பு ஆவணத்தின் பங்கை செய்ய வேண்டும். மேலும் பின் வருவனவற்றை மாற்றிய பதிப்பில் செய்ய வேண்டும்.:"
+
+#: C/gtk-doc-manual.xml:248(title)
+msgid "A"
+msgstr "A"
+
+#: C/gtk-doc-manual.xml:249(para)
+msgid "Use in the <link linkend=\"fdl-title-page\">Title Page</link> (and on the covers, if any) a title distinct from that of the <link linkend=\"fdl-document\">Document</link>, and from those of previous versions (which should, if there were any, be listed in the History section of the Document). You may use the same title as a previous version if the original publisher of that version gives permission."
+msgstr "முந்தைய பதிப்புகளின் வரலாற்றை ஆவணத்தின் வரலாற்றில் எழுதுக. இப்பதிப்புகளின் <linklinkend=\"fdl-title-page\">Title Page</link> இலும் (அட்டைகள் இருப்பின் அதிலும்) <link linkend=\"fdl-document\">Document</link> இலும் முற்றிலும் மாறுபட்ட தலைப்பை பயன்படுத்தவும். "
+
+#: C/gtk-doc-manual.xml:264(title)
+msgid "B"
+msgstr "B"
+
+#: C/gtk-doc-manual.xml:265(para)
+msgid "List on the <link linkend=\"fdl-title-page\">Title Page</link>, as authors, one or more persons or entities responsible for authorship of the modifications in the <link linkend=\"fdl-modified\">Modified Version</link>, together with at least five of the principal authors of the <link linkend=\"fdl-document\">Document</link> (all of its principal authors, if it has less than five)."
+msgstr " <link linkend=\"fdl-title-page\">Title Page</link>, இல் ஆசிரியர்களாக பட்டியலிடப்பட்டதில் ஒருவரோ மேலுமோ யார் மாற்றங்களை செய்தனரோ அவரது பெயர்களையும் <link linkend=\"fdl-modified\">Modified Version</link> இல் சேர்க்கவும். <link linkend=\"fdl-document\">Document</link> இன் ஆசிரியர்கள் ஐந்துக்கு குறைவாக இருப்பின் அனைத்து பெயர்களூம் அதிகமாக இருப்பின் குறைந்தது ஐந்து முக்கிய ஆசிரியர்கள் பெயர்களும் சேர்க்கப்பட வேண்டும்."
+
+#: C/gtk-doc-manual.xml:279(title)
+msgid "C"
+msgstr "C"
+
+#: C/gtk-doc-manual.xml:280(para)
+msgid "State on the <link linkend=\"fdl-title-page\">Title Page</link> the name of the publisher of the <link linkend=\"fdl-modified\">Modified Version</link>, as the publisher."
+msgstr "<link linkend=\"fdl-title-page\">Title Page</link> இல் வெளியிடுவோர் பெயராக <link linkend=\"fdl-modified\">Modified Version</link> ஐ வெளியிடுவோர் பெயரை குறிப்பிடுக."
+
+#: C/gtk-doc-manual.xml:291(title)
+msgid "D"
+msgstr "D"
+
+#: C/gtk-doc-manual.xml:292(para)
+msgid "Preserve all the copyright notices of the <link linkend=\"fdl-document\">Document</link>."
+msgstr "<link linkend=\"fdl-document\">Document</link> இன் காப்புரிமையை பாதுகாக்கவும்."
+
+#: C/gtk-doc-manual.xml:301(title)
+msgid "E"
+msgstr "E"
+
+#: C/gtk-doc-manual.xml:302(para)
+msgid "Add an appropriate copyright notice for your modifications adjacent to the other copyright notices."
+msgstr "காப்புரிமை அறிவிப்புக்கு அருகில் உங்கள் மாற்றங்களுக்கான காப்புரிமையை வெளியிடுக."
+
+#: C/gtk-doc-manual.xml:311(title)
+msgid "F"
+msgstr "F"
+
+#: C/gtk-doc-manual.xml:312(para)
+msgid "Include, immediately after the copyright notices, a license notice giving the public permission to use the <link linkend=\"fdl-modified\">Modified Version</link> under the terms of this License, in the form shown in the Addendum below."
+msgstr "உங்கள் காப்புரிமை அறிவிப்புக்கு பின்னாலேயே <link linkend=\"fdl-modified\">Modified Version</link> ஐ பொது ஜனம் பயன்படுத்த பின் வரும் படிவத்தில் இந்த லைசென்ஸ் மூலம் அனுமதி வழங்குக."
+
+#: C/gtk-doc-manual.xml:324(title)
+msgid "G"
+msgstr "G"
+
+#: C/gtk-doc-manual.xml:325(para)
+msgid "Preserve in that license notice the full lists of <link linkend=\"fdl-invariant\"> Invariant Sections</link> and required <link linkend=\"fdl-cover-texts\">Cover Texts</link> given in the <link linkend=\"fdl-document\">Document's</link> license notice."
+msgstr "link linkend=\"fdl-invariant\"> Invariant Sections</link> களின் முழு பட்டியலை லைசென்ஸிலும் <link linkend=\"fdl-document\">Document's</link> மற்றும் லைசென்ஸ் நோட்டீசில் உள்ள தேவையான<link linkend=\"fdl-cover-texts\">Cover Texts</link> களிலும் வைத்திருங்கள். "
+
+#: C/gtk-doc-manual.xml:337(title)
+msgid "H"
+msgstr "H"
+
+#: C/gtk-doc-manual.xml:338(para)
+msgid "Include an unaltered copy of this License."
+msgstr "இந்த லைசென்ஸின் மாற்றப்படாத வடிவத்தையும் ஒரு பிரதி வைத்திருங்கள். "
+
+#: C/gtk-doc-manual.xml:346(title)
+msgid "I"
+msgstr "I"
+
+#: C/gtk-doc-manual.xml:347(para)
+msgid "Preserve the section entitled <quote>History</quote>, and its title, and add to it an item stating at least the title, year, new authors, and publisher of the <link linkend=\"fdl-modified\">Modified Version </link>as given on the <link linkend=\"fdl-title-page\">Title Page</link>. If there is no section entitled <quote>History</quote> in the <link linkend=\"fdl-document\">Document</link>, create one stating the title, year, authors, and publisher of the Document as given on its Title Page, then add an item describing the Modified Version as stated in the previous sentence."
+msgstr "<quote>History</quote> எனக்குறித்த தொகுதி, அதன் தலைப்பு இவற்றை பாதுகாக்கவும். இதனுடன் <link linkend=\"fdl-title-page\">Title Page</link>. இல் தரப்பட்ட <link linkend=\"fdl-modified\">Modified Version </link> இன் தலைப்பு, வருடம், புதிய ஆசிரியர்கள், வெளியிடுவோர் , ஆகியவற்றை சேர்க்கவும். <link linkend=\"fdl-document\">Document</link> இல் அப்படி <quote>History</quote> எனக்குறித்த தொகுதி இல்லாவிடில் வருடம், புதிய ஆசிரியர்கள், வெளியிடுவோர் , ஆகியவற்றை தலைப்பு பக்கத்தில் உள்ளபடி உருவாக்கி பின் புதிதாக முன் சொன்னவாறு மாற்றியதை சேர்க்கவும்.."
+
+#: C/gtk-doc-manual.xml:365(title)
+msgid "J"
+msgstr "J"
+
+#: C/gtk-doc-manual.xml:366(para)
+msgid "Preserve the network location, if any, given in the <link linkend=\"fdl-document\">Document</link> for public access to a <link linkend=\"fdl-transparent\">Transparent</link> copy of the Document, and likewise the network locations given in the Document for previous versions it was based on. These may be placed in the <quote>History</quote> section. You may omit a network location for a work that was published at least four years before the Document itself, or if the original publisher of the version it refers to gives permission."
+msgstr ""
+"ஆவணத்தின் பிரதிக்கு பொதுஜன அணுகலுக்கு தரப்பட்ட <link linkend=\"fdl-document\">Document</link> இல் காணும் <link linkend=\"fdl-transparent\">Transparent</link> தொடுப்பை பாதுகாக்கவும்."
+"அதேபோல முதைய பதிப்புகளில் உள்ள தொடுப்புகளையும் பாதுகாக்கவும். இவற்றை <quote>History</quote> பகுதியில் வைக்கலாம். ஆவணத்துக்கு நான்கு வருடங்கள் முன் வெளியிட்டவற்றையும் ஆசிரியர் நீக்கலாம் என அனுமதி தந்தவற்றையும் நீக்கலாம்."
+
+#: C/gtk-doc-manual.xml:383(title)
+msgid "K"
+msgstr "K"
+
+#: C/gtk-doc-manual.xml:384(para)
+msgid "In any section entitled <quote>Acknowledgements</quote> or <quote>Dedications</quote>, preserve the section's title, and preserve in the section all the substance and tone of each of the contributor acknowledgements and/or dedications given therein."
+msgstr "<quote>Acknowledgements</quote> அல்லது <quote>Dedications</quote> எனக்குறித்த எந்த தொகுதியிலும் தொகுதியின் தலைப்பையும் அதில் உள்ளவற்றில் ஒவ்வொரு பங்கீடு அளித்தோரின் நன்றி அறிதல் /அர்ப்பணம் ஆகியவற்றின் சாரத்தையும் பாதுகாக்கவும் , "
+
+#: C/gtk-doc-manual.xml:396(title)
+msgid "L"
+msgstr "L"
+
+#: C/gtk-doc-manual.xml:397(para)
+msgid "Preserve all the <link linkend=\"fdl-invariant\">Invariant Sections</link> of the <link linkend=\"fdl-document\">Document</link>, unaltered in their text and in their titles. Section numbers or the equivalent are not considered part of the section titles."
+msgstr "<link linkend=\"fdl-document\">Document</link>, இன் <link linkend=\"fdl-invariant\">Invariant Sections</link> of the <link linkend=\"fdl-document\">Document</link> களை உரை தலைப்புகளை மாற்றாமல் பாதுகாக்கவும். தொகுதி எண்களும் அல்லது அதன் சமானமானவையும் இதில் சேராது."
+
+#: C/gtk-doc-manual.xml:409(title)
+msgid "M"
+msgstr "M"
+
+#: C/gtk-doc-manual.xml:410(para)
+msgid "Delete any section entitled <quote>Endorsements</quote>. Such a section may not be included in the <link linkend=\"fdl-modified\">Modified Version</link>."
+msgstr " <quote>Endorsements</quote> இல் உள்ளதை நீக்கவும். அப்படிப்பட்ட எந்த தொகுதியும் <link linkend=\"fdl-modified\">Modified Version</link> இல் இருத்தலாகாது.."
+
+#: C/gtk-doc-manual.xml:421(title)
+msgid "N"
+msgstr "N"
+
+#: C/gtk-doc-manual.xml:422(para)
+msgid "Do not retitle any existing section as <quote>Endorsements</quote> or to conflict in title with any <link linkend=\"fdl-invariant\">Invariant Section</link>."
+msgstr "இருப்பிலுள்ள எந்த தொகுதியையும் <quote>Endorsements</quote> என் மறு பெயரிடவோ அல்லது <link linkend=\"fdl-invariant\">Invariant Section</link> உடன் மோதும் எதையும் செய்யலாகாது "
+
+#: C/gtk-doc-manual.xml:432(para)
+msgid "If the <link linkend=\"fdl-modified\">Modified Version</link> includes new front-matter sections or appendices that qualify as <link linkend=\"fdl-secondary\">Secondary Sections</link> and contain no material copied from the Document, you may at your option designate some or all of these sections as invariant. To do this, add their titles to the list of <link linkend=\"fdl-invariant\">Invariant Sections</link> in the Modified Version's license notice. These titles must be distinct from any other section titles."
+msgstr ""
+"<link linkend=\"fdl-modified\">Modified Version</link>"
+"இல் புதிய விஷயம் இருந்தாலோ அல்லது <link linkend=\"fdl-secondary\">Secondary Sections</link> என அனுபந்தம் இருந்து அதில் ஆவணத்திலிருந்து பிரதி எடுத்த ஏதும் இல்லாமல் இருந்தாலோ நீங்கள் தேர்ந்தெடுத்து அவற்றை முழுதுமோ பகுடியோ மாறாதவை என குறிப்பிடலாம். இதை செய்ய அவற்றின் தலைப்புகளை மாற்றிய பதிப்பு நோட்டீசில் <link linkend=\"fdl-invariant\">Invariant Sections</link> பட்டியலில் சேர்க்கவும். இந்த தலைப்புகள் மற்ற தலைப்புகளீன் பெயரிலிருந்து மாறுபட்டு இருத்தல் வேண்டும்."
+
+#: C/gtk-doc-manual.xml:444(para)
+msgid "You may add a section entitled <quote>Endorsements</quote>, provided it contains nothing but endorsements of your <link linkend=\"fdl-modified\">Modified Version</link> by various parties--for example, statements of peer review or that the text has been approved by an organization as the authoritative definition of a standard."
+msgstr "சகாக்கள் எழுதிய விமர்சனங்கள், மதிப்புரைகள் அல்லது ஒரு நிறுவனம் உங்கள் <link linkend=\"fdl-modified\">Modified Version</link> ஐ திறனாய்வு செய்து தகுதி சான்று கொடுத்து இருப்பின் அவை மட்டும் இருக்கும் பட்சத்தில் நீங்கள் <quote>Endorsements</quote> என தலைப்பிட்ட தொகுதி ஒன்றை சேர்க்கலாம்."
+
+#: C/gtk-doc-manual.xml:453(para)
+msgid "You may add a passage of up to five words as a <link linkend=\"fdl-cover-texts\">Front-Cover Text</link>, and a passage of up to 25 words as a <link linkend=\"fdl-cover-texts\">Back-Cover Text</link>, to the end of the list of <link linkend=\"fdl-cover-texts\">Cover Texts</link> in the <link linkend=\"fdl-modified\">Modified Version</link>. Only one passage of Front-Cover Text and one of Back-Cover Text may be added by (or through arrangements made by) any one entity. If the <link linkend=\"fdl-document\">Document</link> already includes a cover text for the same cover, previously added by you or by arrangement made by the same entity you are acting on behalf of, you may not add another; but you may replace the old one, on explicit permission from the previous publisher that added the old one."
+msgstr "link linkend=\"fdl-cover-texts\">Front-Cover Text</link> ஆக நீங்கள் ஐந்து சொற்கள் வரை சேர்க்கலாம். <link linkend=\"fdl-modified\">Modified Version</link>. இல் பட்டியலின் கடைசியில் <link linkend=\"fdl-cover-texts\">Cover Texts</link> <link linkend=\"fdl-cover-texts\">Back-Cover Text</link> ஆக 25, சொற்கள் சேர்க்கலாம். முன் அட்டை உரைக்கு ஒரு பாராவும் பின் அட்டைக்கு ஒரு உரையும் மட்டுமே உங்களாலோ அல்லது உங்கள் முன் அனுமதி பெற்றவராலோ சேர்க்கப்படலாம். <link linkend=\"fdl-document\">Document</link> இல் ஏற்கெனெவே அதே அட்டைக்கு உரை, உங்களாலோ அனுமதி பெற்றவராலோ முன்னேயே இடப்பட்டு இருப்பின், நீங்கள் மற்றொன்றை இடலாகாது. already includes a cover text for the same cover, previously added by you or by arrangement made by the same entity you are acting on behalf of, you may not add another; but you may replace the old one, on explicit permission from the previous publisher that added the old one."
+
+#: C/gtk-doc-manual.xml:470(para)
+msgid "The author(s) and publisher(s) of the <link linkend=\"fdl-document\">Document</link> do not by this License give permission to use their names for publicity for or to assert or imply endorsement of any <link linkend=\"fdl-modified\">Modified Version </link>."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:480(title)
+msgid "5. COMBINING DOCUMENTS"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:481(para)
+msgid "You may combine the <link linkend=\"fdl-document\">Document</link> with other documents released under this License, under the terms defined in <link linkend=\"fdl-section4\">section 4</link> above for modified versions, provided that you include in the combination all of the <link linkend=\"fdl-invariant\">Invariant Sections</link> of all of the original documents, unmodified, and list them all as Invariant Sections of your combined work in its license notice."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:492(para)
+msgid "The combined work need only contain one copy of this License, and multiple identical <link linkend=\"fdl-invariant\">Invariant Sections</link> may be replaced with a single copy. If there are multiple Invariant Sections with the same name but different contents, make the title of each such section unique by adding at the end of it, in parentheses, the name of the original author or publisher of that section if known, or else a unique number. Make the same adjustment to the section titles in the list of Invariant Sections in the license notice of the combined work."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:505(para)
+msgid "In the combination, you must combine any sections entitled <quote>History</quote> in the various original documents, forming one section entitled <quote>History</quote>; likewise combine any sections entitled <quote>Acknowledgements</quote>, and any sections entitled <quote>Dedications</quote>. You must delete all sections entitled <quote>Endorsements.</quote>"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:516(title)
+msgid "6. COLLECTIONS OF DOCUMENTS"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:517(para)
+msgid "You may make a collection consisting of the <link linkend=\"fdl-document\">Document</link> and other documents released under this License, and replace the individual copies of this License in the various documents with a single copy that is included in the collection, provided that you follow the rules of this License for verbatim copying of each of the documents in all other respects."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:527(para)
+msgid "You may extract a single document from such a collection, and dispbibute it individually under this License, provided you insert a copy of this License into the extracted document, and follow this License in all other respects regarding verbatim copying of that document."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:537(title)
+msgid "7. AGGREGATION WITH INDEPENDENT WORKS"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:538(para)
+msgid "A compilation of the <link linkend=\"fdl-document\">Document</link> or its derivatives with other separate and independent documents or works, in or on a volume of a storage or distribution medium, does not as a whole count as a <link linkend=\"fdl-modified\">Modified Version</link> of the Document, provided no compilation copyright is claimed for the compilation. Such a compilation is called an <quote>aggregate</quote>, and this License does not apply to the other self-contained works thus compiled with the Document , on account of their being thus compiled, if they are not themselves derivative works of the Document. If the <link linkend=\"fdl-cover-texts\">Cover Text</link> requirement of <link linkend=\"fdl-section3\">section 3</link> is applicable to these copies of the Document, then if the Document is less than one quarter of the entire aggregate, the Document's Cover Texts may be placed on covers that surround only the Document within the aggregate. Otherwise they must appear on covers around the whole aggregate."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:561(title)
+msgid "8. TRANSLATION"
+msgstr "8. மொழிபெயர்ப்பு"
+
+#: C/gtk-doc-manual.xml:562(para)
+msgid "Translation is considered a kind of modification, so you may distribute translations of the <link linkend=\"fdl-document\">Document</link> under the terms of <link linkend=\"fdl-section4\">section 4</link>. Replacing <link linkend=\"fdl-invariant\"> Invariant Sections</link> with translations requires special permission from their copyright holders, but you may include translations of some or all Invariant Sections in addition to the original versions of these Invariant Sections. You may include a translation of this License provided that you also include the original English version of this License. In case of a disagreement between the translation and the original English version of this License, the original English version will prevail."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:580(title)
+msgid "9. TERMINATION"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:581(para)
+msgid "You may not copy, modify, sublicense, or distribute the <link linkend=\"fdl-document\">Document</link> except as expressly provided for under this License. Any other attempt to copy, modify, sublicense or distribute the Document is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:594(title)
+msgid "10. FUTURE REVISIONS OF THIS LICENSE"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:595(para)
+msgid "The <ulink type=\"http\" url=\"http://www.gnu.org/fsf/fsf.html\">Free Software Foundation</ulink> may publish new, revised versions of the GNU Free Documentation License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. See <ulink type=\"http\" url=\"http://www.gnu.org/copyleft\">http://www.gnu.org/copyleft/</ulink>."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:606(para)
+msgid "Each version of the License is given a distinguishing version number. If the <link linkend=\"fdl-document\">Document</link> specifies that a particular numbered version of this License <quote>or any later version</quote> applies to it, you have the option of following the terms and conditions either of that specified version or of any later version that has been published (not as a draft) by the Free Software Foundation. If the Document does not specify a version number of this License, you may choose any version ever published (not as a draft) by the Free Software Foundation."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:621(title)
+msgid "Addendum"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:622(para)
+msgid "To use this License in a document you have written, include a copy of the License in the document and put the following copyright and license notices just after the title page:"
+msgstr "To use this License in a document you have written, include a copy of the License in the document and put the following copyright and license notices just after the title page:"
+
+#: C/gtk-doc-manual.xml:629(para)
+msgid "Copyright YEAR YOUR NAME."
+msgstr "Copyright 2010, I. Felix."
+
+#: C/gtk-doc-manual.xml:632(para)
+msgid "Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation; with the <link linkend=\"fdl-invariant\">Invariant Sections</link> being LIST THEIR TITLES, with the <link linkend=\"fdl-cover-texts\">Front-Cover Texts</link> being LIST, and with the <link linkend=\"fdl-cover-texts\">Back-Cover Texts</link> being LIST. A copy of the license is included in the section entitled <quote>GNU Free Documentation License</quote>."
+msgstr "Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation; with the <link linkend=\"fdl-invariant\">Invariant Sections</link> being LIST THEIR TITLES, with the <link linkend=\"fdl-cover-texts\">Front-Cover Texts</link> being LIST, and with the <link linkend=\"fdl-cover-texts\">Back-Cover Texts</link> being LIST. A copy of the license is included in the section entitled <quote>GNU Free Documentation License</quote>."
+
+#: C/gtk-doc-manual.xml:647(para)
+msgid "If you have no <link linkend=\"fdl-invariant\">Invariant Sections</link>, write <quote>with no Invariant Sections</quote> instead of saying which ones are invariant. If you have no <link linkend=\"fdl-cover-texts\">Front-Cover Texts</link>, write <quote>no Front-Cover Texts</quote> instead of <quote>Front-Cover Texts being LIST</quote>; likewise for <link linkend=\"fdl-cover-texts\">Back-Cover Texts</link>."
+msgstr "If you have no <link linkend=\"fdl-invariant\">Invariant Sections</link>, write <quote>with no Invariant Sections</quote> instead of saying which ones are invariant. If you have no <link linkend=\"fdl-cover-texts\">Front-Cover Texts</link>, write <quote>no Front-Cover Texts</quote> instead of <quote>Front-Cover Texts being LIST</quote>; likewise for <link linkend=\"fdl-cover-texts\">Back-Cover Texts</link>."
+
+#: C/gtk-doc-manual.xml:657(para)
+msgid "If your document contains nontrivial examples of program code, we recommend releasing these examples in parallel under your choice of free software license, such as the <ulink type=\"http\" url=\"http://www.gnu.org/copyleft/gpl.html\"> GNU General Public License</ulink>, to permit their use in free software."
+msgstr "உங்கள் ஆவணத்தில் முக்கியமல்லாத நிரல் குறியீட்டு உதாரணங்கள் இருப்பின் , எங்கள் பரிந்துரை: இவற்றின் இலவச பயனுக்கு இந்த உதாரணங்களை இணையாக மென்பொருள் அனுமதிக்கான உங்கள் தேர்வில் வெளியிடுங்கள்.மாதிரிக்கு: <ulink type=\"http\" url=\"http://www.gnu.org/copyleft/gpl.html\"> GNU General Public License</ulink>,"
+
+#. Put one translator per line, in the form of NAME <EMAIL>, YEAR1, YEAR2
+#: C/gtk-doc-manual.xml:0(None)
+msgid "translator-credits"
+msgstr "Dr.T.Vasudevan agnihot3@gmail.com"
+
+
--- /dev/null
+<?xml version="1.0" encoding="utf-8" standalone="no"?>
+<?xml-stylesheet type="text/xml" href="params.xsl"?>
+<!-- vim: set ai tw=80 ts=3 sw=3: -->
+<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "
+ http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
+<!ENTITY FDL SYSTEM "fdl-appendix.xml">
+<!ENTITY FDLlink "<link linkend='fdl'>included</link>">
+]>
+<!-- =============Document Header ============================= -->
+<book id="index" lang="te">
+ <bookinfo>
+ <title>GTK-Doc మాన్యుయల్</title>
+ <edition>1.18</edition>
+ <abstract role="description"><para>GTK-Doc వినియోగపు సూచనలతో అభివృద్దికారుల కొరకు వినియోగదారి మాన్యుయల్.</para></abstract>
+ <authorgroup>
+ <author>
+ <firstname>క్రిస్</firstname>
+ <surname>లిట్టిల్</surname>
+ <affiliation>
+ <address>
+ <email>chris@wilddev.net</email>
+ </address>
+ </affiliation>
+ </author>
+ <author>
+ <firstname>డాన్</firstname>
+ <surname>ముయెత్</surname>
+ <affiliation>
+ <address>
+ <email>d-mueth@uchicago.edu</email>
+ </address>
+ </affiliation>
+ </author>
+ <author>
+ <firstname>స్టిఫెన్</firstname>
+ <surname>కోస్ట్</surname>
+ <affiliation>
+ <address>
+ <email>ensonic@users.sf.net</email>
+ </address>
+ </affiliation>
+ </author>
+ </authorgroup>
+ <publisher role="maintainer">
+ <publishername>GTK-Doc ప్రోజెక్ట్</publishername>
+ <address><email>gtk-doc-list@gnome.org</email></address>
+ </publisher>
+ <copyright>
+ <year>2000, 2005</year>
+ <holder>Dan Mueth and Chris Lyttle</holder>
+ </copyright>
+ <copyright>
+ <year>2007-2011</year>
+ <holder>Stefan Sauer (Kost)</holder>
+ </copyright>
+
+ <!-- translators: uncomment this:
+ <copyright>
+ <year>2000</year>
+ <holder>ME-THE-TRANSLATOR (Latin translation)</holder>
+ </copyright>
+ -->
+
+ <legalnotice>
+ <para>ఎటువంటి ఫ్రంట్-కవర్ పాఠ్యములు, మరియు బ్యాక్-కవర్ పాఠ్యములు లేకుండా, ఫ్రీ సాఫ్టువేరు ఫౌండేషన్ ద్వారా ప్రచురితమైన వర్షన్ 1.1 లేదా దాని తర్వాత వర్షన్ <citetitle>GNU Free Documentation License</citetitle> నియమాలకు లోబడి ఈ పత్రమును నకలు తీయుటకు, పంపిణీ చేయుటకు మరియు/లేదా సవరించుటకు అనుమతి యివ్వబడింది. లైసెన్సు యొక్క నకలు <link linkend="fdl">చేర్చబడింది</link>.న్ ద్వారా ప్రచురితమై,</para>
+ <para>కంపెనీలు వాటి వుత్పత్తులను మరియు సేవలను వర్గీకరించుటకు వుపయోగించు చాలా వరకు నామములు ట్రేడ్మార్కులుగా హక్కు కలిగివుంటాయి. అవి GNOME పత్రికీకరణనందు కనిపించునప్పుడు, మరియు GNOME Documentation Project సభ్యలు ఆ ట్రేడ్మార్కులను గుర్తించుటకు, ఆనామములు పెద్ద అక్షరములలో లేదా మొదటి అక్షరం పెద్ద అక్షరంగా ముద్రించబడతాయి.</para>
+ </legalnotice>
+
+ <revhistory>
+ <!--revision>
+ <revnumber>1.18.1</revnumber>
+ <date>15 Sep 2011</date>
+ <authorinitials>sk</authorinitials>
+ <revremark>development version, markdown support</revremark>
+ </revision-->
+ <revision>
+ <revnumber>1.18</revnumber>
+ <date>14 sep 2011</date>
+ <authorinitials>sk</authorinitials>
+ <revremark>bug fixes, speedups, markdown support</revremark>
+ </revision>
+ <revision>
+ <revnumber>1.17</revnumber>
+ <date>26 Feb 2011</date>
+ <authorinitials>sk</authorinitials>
+ <revremark>urgent bug fix update</revremark>
+ </revision>
+ <revision>
+ <revnumber>1.16</revnumber>
+ <date>14 Jan 2011</date>
+ <authorinitials>sk</authorinitials>
+ <revremark>bugfixes, layout improvements</revremark>
+ </revision>
+ <revision>
+ <revnumber>1.15</revnumber>
+ <date>21 May 2010</date>
+ <authorinitials>sk</authorinitials>
+ <revremark>bug and regression fixes</revremark>
+ </revision>
+ <revision>
+ <revnumber>1.14</revnumber>
+ <date>28 March 2010</date>
+ <authorinitials>sk</authorinitials>
+ <revremark>bugfixes and performance improvements</revremark>
+ </revision>
+ <revision>
+ <revnumber>1.13</revnumber>
+ <date>18 డిసెంబర్ 2009</date>
+ <authorinitials>sk</authorinitials>
+ <revremark>బ్రోకెన్ టార్బాల్ నవీకరణ</revremark>
+ </revision>
+ <revision>
+ <revnumber>1.12</revnumber>
+ <date>18 డిసెంబర్ 2009</date>
+ <authorinitials>sk</authorinitials>
+ <revremark>కొత్త సాధనము సౌలభ్యాలు మరియు బగ్పరిష్కారములు</revremark>
+ </revision>
+ <revision>
+ <revnumber>1.11</revnumber>
+ <date>16 నవంబర్ 2008</date>
+ <authorinitials>mal</authorinitials>
+ <revremark>GNOME doc-utils మైగ్రేషన్</revremark>
+ </revision>
+ </revhistory>
+
+ </bookinfo>
+
+ <!-- ======== Chapter 1: Introduction ======================== -->
+
+ <chapter id="introduction">
+ <title>పరిచయం</title>
+
+ <para>ఈ అధ్యాయము GTK-Docను పరిచయం చేస్తుంది మరియు అది యేమిచేస్తుంది దానిని యెలా వుపయోగించాలి అనేదానిపై సంక్షిప్తంగా వివరిస్తుంది.</para>
+
+ <sect1 id="whatisgtkdoc">
+ <title>GTK-Doc అంటే యేమిటి?</title>
+
+ <para>GTK-Doc అనునది C కోడ్ను పత్రికీకరణ చేయుటకు వుపయోగించబడింది. ఇది ముఖ్యంగా GTK+ మరియు GNOME వంటి లైబ్రరీల పబ్లిక్ API పత్రికీకరణకు వుపయోగించబడింది. అయితే యిది అనువర్తనము కోడ్ను పత్రికీకరణ చేయుటకు కూడా వుపయోగించవచ్చును.</para>
+ </sect1>
+
+ <sect1 id="howdoesgtkdocwork">
+ <title>GTK-Doc యెలా పనిచేయును?</title>
+
+ <para>GTK-Doc అనునది మూలపు(సోర్స్) ఫైళ్ళ యొక్క ఫంక్షన్స్ నందు ప్రత్యేకించి-రూపొందించిన కామెంట్ బ్లాక్స్ నందలి పత్రికీకరణను వుపయోగించి పనిచేయును, లేదా GTK-Doc వుపయోగించే మాదిరి(టెంప్లేట్) ఫైళ్ళకు జతచేసిన పత్రికీకరణను వుపయోగించును (GTK-Doc హెడర్ ఫైళ్ళ నందు డిక్లేర్ చేసివున్న ఫంక్షన్లకు మాత్రమే పత్రికీకరణ యిచ్చును; అది స్టాటిక్ ఫంక్షన్ల కొరకు అవుట్పుట్ అందించదు).</para>
+
+ <para>GTK-Doc చాలా పెర్ల్ స్క్రిప్టులను కలిగివుంది, ప్రతిది వేరువేరు స్టెప్పును కార్యక్రమమునందు జరుపును.</para>
+
+ <para>అక్కడ కార్యక్రమమునందు 5 ముఖ్య స్టెప్పులు వున్నవి:</para>
+
+ <orderedlist>
+
+ <listitem>
+ <para><guilabel>పత్రికీకరణను వ్రాయుట.</guilabel> మూలకర్త(ఆథర్) సోర్స్ ఫైళ్ళనందు ప్రతి ఫంక్షన్కు, మాక్రోకు, యూనియన్కు పత్రకీకరణను యిస్తాడు. (గతంలో సమాచారమును మాదిరి ఫైళ్ళనందు ప్రవేశపెట్టేవారు, యిది యిప్పడు సమర్ధించబడదు).</para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <guilabel>Gathering information about the code.</guilabel>
+
+ <application>gtkdoc-scan</application> scans the header files of the
+ code looking for declarations of functions, macros, enums, structs, and unions.
+ It creates the file <filename><module>-decl-list.txt</filename> containg a list of the
+ declarations, placing them into sections according to which header file they
+ are in. On the first run this file is copied to <filename><module>-sections.txt</filename>.
+ The author can rearrange the sections, and the order of the
+ declarations within them, to produce the final desired order.
+ The second file it generates is <filename><module>-decl.txt</filename>.
+ This file contains the full declarations found by the scanner. If for
+ some reason one would like some symbols to show up in the docs, where
+ the full declaration cannot be found by the scanner or the declaration
+ should appear differently, one can place enties similar to the ones in
+ <filename><module>-decl.txt</filename> into <filename><module>-overrides.txt</filename>.
+
+ <application>gtkdoc-scanobj</application> can also be used to dynamically query a library about
+ any GtkObject subclasses it exports. It saves information about each
+ object's position in the class hierarchy and about any GTK Args and Signals it
+ provides.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para><guilabel>"template" ఫైళ్ళను జనియింపచేస్తోంది.</guilabel> <application>gtkdoc-mktmpl</application> అనునది ఫైళ్ళను <filename class="directory">tmpl/</filename> వుపసంచయంనందు సృష్టించును, మొదటి స్టెప్పనందు సేకరించిన సమాచారమును వుపయోగించి. (ఇది పునరావృతంగా నడుపవచ్చునని గమనించండి. ఇది యే పత్రముకూడా యెప్పటికి పోకుండా వుంచుటకు చూస్తుంది.)</para>
+ <note>
+ <para>GTK-Doc 1.9 నుండి మాదిరిలు వదిలివేయబడినవి. మేము అందరిని పత్రికీకరణను కోడ్నందు వుంచమని కోరుచున్నాము. tmpl వినియోగాన్ని పూర్తిగా వదిలివేసే <option>--flavour no-tmpl</option> ఐచ్చికాన్ని యిప్పుడు <application>gtkdocize</application> మద్దతించుచున్నది. tmpl నందలి ఫైలును మీరు మానవీయంగా యెప్పుడూ మార్చివుండకపోతే, దయచేసి డైరెక్టరీను తీసివేయుము(ఉ.దా. వర్షన్ కంట్రోల్ సిస్టమ్ నుండి).</para>
+ </note>
+ </listitem>
+
+ <listitem>
+ <para>
+ <guilabel>Generating the SGML/XML and HTML/PDF.</guilabel>
+
+ <application>gtkdoc-mkdb</application> turns the template files into
+ SGML or XML files in the <filename class="directory">sgml/</filename>
+ or <filename class="directory">xml/</filename> subdirectory.
+ If the source code contains documentation on functions, using the
+ special comment blocks, it gets merged in here. If there are no tmpl files used
+ it only reads docs from sources and introspection data. We recommend
+ to use Docbook XML.
+ </para>
+ <para>
+ <application>gtkdoc-mkhtml</application> turns the SGML/XML files into HTML
+ files in the <filename class="directory">html/</filename> subdirectory.
+ Likewise <application>gtkdoc-mkpdf</application> turns the SGML/XML files into a PDF
+ document called <filename><package>.pdf</filename>.
+ </para>
+ <para><filename class="directory">sgml/</filename> లేదా <filename class="directory">xml/</filename> మరియు <filename class="directory">html/</filename> డైరెక్టరీల నందలి ఫైళ్ళు యెల్లప్పుడూ దిద్దివ్రాయబడును. ఎవరూ వాటిని యెప్పుడూ నేరుగా సరికూర్చకూడదు.</para>
+ </listitem>
+
+ <listitem>
+ <para><guilabel>పత్రముల మధ్య క్రాస్-రిఫరెన్సెస్ను పరిష్కరించుచున్నది.</guilabel> HTML ఫైళ్ళను సంస్థాపించిన తర్వాత, వేరు వేరు పత్రముల మధ్య క్రాస్-రిఫరెన్సెస్ను అమర్చుటకు <application>gtkdoc-fixxref</application> నడుపవచ్చును. ఉదాహరణకు, GTK+ పత్రికీకరణ అనునది GLib మాన్యుయల్ నందు వుంచిన పత్రికీకరణకు చాలా క్రాస్-రిఫరెన్సెస్ కలిగివుంది. పంపిణీ కొరకు మూలపు టార్బాల్ను సృష్టించునప్పుడు, <application>gtkdoc-rebase</application> అనునది అన్ని బహిర్గత లింకులను వెబ్-లింకులకు మార్చును. పంపిణీచేసిన (ముందుగాజనియింపచేసిన) పత్రములను సంస్థాపించునప్పుడు అదే అనువర్తనము లింకులను స్థానిక లింకులకు (ఆ పత్రములు యెక్కడ సంస్థాపించబడినవో అక్కడికి) తిరిగివుంచుటకు ప్రయత్నించును.</para>
+ </listitem>
+ </orderedlist>
+
+ </sect1>
+
+ <sect1 id="gettinggtkdoc">
+ <title>GTK-Doc పొందుట</title>
+
+ <sect2 id="requirements">
+ <title>అవసరములు</title>
+ <para><guilabel>Perl v5</guilabel> - ముఖ్య స్క్రిప్టులు Perl1 నందు వున్నవి.</para>
+ <para><guilabel>DocBook DTD v3.0</guilabel> - ఇది DocBook SGML DTD. <ulink url="http://www.ora.com/davenport" type="http">http://www.ora.com/davenport</ulink></para>
+ <para><guilabel>Jade v1.1</guilabel> - SGMLను వివిధ ఫార్మాట్ల లోనికి మార్చుటకు యిది DSSSL ప్రోసెసర్. <ulink url="http://www.jclark.com/jade" type="http">http://www.jclark.com/jade</ulink></para>
+ <para><guilabel>Modular DocBook Stylesheets</guilabel> DocBookను HTMLకు (యింకా కొన్ని యితర ఫార్మాట్లకు) మార్చుటకు యిది DSSSL కోడ్. ఇది jadeతో కలిపి వుపయోగించబడును. నేను DSSSL కోడ్ను కొద్దిగా మలచుకొనినాను, gtk-doc.dsl నందు, ప్రోగ్రామ్ కోడ్ జాబితాలు/డిక్లరేషన్లను రంగులో వుంచుటకు, మరియు జనియింపచేసిన HTML నందు గ్లోబల్ క్రాస్-రిఫరెన్సెస్ యిండిసెస్ను మద్దతించుటకు. <ulink url="http://nwalsh.com/docbook/dsssl" type="http">http://nwalsh.com/docbook/dsssl</ulink></para>
+ <para><guilabel>docbook-to-man</guilabel> - DocBook నుండి man పేజీలను సృష్టించాలని అనుకొంటే. నేను 'translation spec' ను కొద్దిగా మలచుకొనినాను, విభగాపు హెడ్డింగులను పెద్దఅక్షరములలో వుంచుకొనుటకు మరియు పేజీల యొక్క పైభాగమున 'GTK Library' శీర్షికను జతచేయుటకు మరియు క్రిందన పునఃపరిశీలన తేదీను వుంచుటకు. దీనికి <ulink url="http://www.ora.com/davenport" type="http">http://www.ora.com/davenport</ulink> పైన వొక లింకు వుంది. గమనిక: ఇంది యింకా పనిచేయుటలేదు.</para>
+ </sect2>
+
+ <sect2 id="installation">
+ <title>సంస్థాపన</title>
+ <para>DocBook మాడ్యులర్ స్టైల్షీట్లు యిక్కడ సంస్థాపించాలని వొక ప్రామాణిక స్థలము యేమీలేదు.</para>
+ <para>GTK-Doc యొక్క ఆకృతీకరణ స్క్రిప్టు ఈ 3 డైరెక్టరీలను స్వయంచాలకంగా శోధిస్తుంది:</para>
+ <para><filename> /usr/lib/sgml/stylesheets/nwalsh-modular </filename> (RedHat ద్వారా వుపయోగించబడింది)</para>
+ <para><filename> /usr/lib/dsssl/stylesheets/docbook </filename> (Debian ద్వారా వుపయోగించబడింది)</para>
+ <para><filename> /usr/share/sgml/docbkdsl </filename> (SuSE ద్వారా వుపయోగించబడింది)</para>
+ <para>మీరు యెక్కడోవొకచోట స్టైల్షీట్లను సంస్థాపించివుంటే, మీరు GTK-Docను ఈ ఐచ్చికము వుపయోగించి ఆకృతీకరించవలసి వుంటుంది: <command> --with-dsssl-dir=<PATH_TO_TOPLEVEL_STYLESHEETS_DIR> </command></para>
+ </sect2>
+
+ </sect1>
+
+ <!-- not realy worth a section
+ <sect1 id="whentousegtkdoc">
+ <title>When to Use GTK-Doc</title>
+
+ <para>
+ (What things GTK-Doc should, and shouldn't, be used for.)
+ (- ???)
+ (- non C-based projects)
+ (+ Tutorials)
+ </para>
+
+ </sect1>
+ -->
+
+ <sect1 id="aboutgtkdoc">
+ <title>GTK-Doc గురించి</title>
+
+ <para>(FIXME)</para>
+
+ <para>(చరిత్ర, మూలకర్తలు, వెబ్ పుటలు, లైసెన్స్, భవిష్య ప్రణాళికలు, సమానమైన యితర సిస్టమ్సుతో పోలిక.)</para>
+
+ </sect1>
+
+ <sect1 id="aboutthismanual">
+ <title>ఈ మాన్యుయల్ గురించి</title>
+
+ <para>(FIXME)</para>
+
+ <para>(ఇది యెవరి కొరకు, మీరు దీనిని యెచటనుండి పొందగలరు, లైసెన్స్)</para>
+
+ </sect1>
+
+ </chapter>
+
+ <chapter id="settingup">
+ <title>మీ ప్రోజెక్టును అమర్చుట</title>
+
+ <para>
+ The next sections describe what steps to perform to integrate GTK-Doc into
+ your project. Theses sections assume we work on a project called 'meep'.
+ This project contains a library called 'libmeep' and
+ an end-user app called 'meeper'. We also assume you will be using autoconf
+ and automake. In addition section <link linkend="plain_makefiles">plain
+ makefiles or other build systems</link> will describe the basics needed to
+ work in a different build setup.
+ </para>
+
+ <sect1 id="settingup_docfiles">
+ <title>స్కెల్టెన్ పత్రికీకరణను అమర్చుచున్నది</title>
+
+ <para>మీ పై-స్థాయి ప్రోజెక్టు డైరెక్టరీ క్రింద docs/reference అను ఫోల్డర్లను సృష్టించుము (ఈ విధంగా మీరు docs/helpను అంత్య-వినియోగదారి పత్రికీకరణ కొరకు కలిగివుండవచ్చును). doc-package నామముతో వేరొక వుపసంచయంను సృష్టించుకొనుట సిఫార్సు చేయబడింది. కేవలం వొక లైబ్రరీ మాత్రమే వున్న ప్యాకేజీలకు యిది అవసరములేదు.</para>
+
+ <para>
+ This can then look as shown below:
+ <example><title>ఉదాహరణ డైరెక్టరీ ఆకృతి</title>
+ <programlisting>
+<![CDATA[
+meep/
+ docs/
+ reference/
+ libmeep/
+ meeper/
+ src/
+ libmeep/
+ meeper/
+]]>
+ </programlisting>
+ </example>
+ </para>
+ </sect1>
+
+ <sect1 id="settingup_autoconf">
+ <title>autoconf తో విలీనం</title>
+
+ <para>చాలా సులువు! మీ <filename>configure.ac</filename> స్క్రిప్టునకు వొక లైను మాత్రమే జతచేయుము.</para>
+
+ <para>
+ <example><title>autoconf తో విలీనం</title>
+ <programlisting>
+<![CDATA[
+# check for gtk-doc
+GTK_DOC_CHECK([1.14],[--flavour no-tmpl])
+]]>
+ </programlisting>
+ </example>
+ </para>
+
+ <para>
+ This will require all developers to have gtk-doc installed. If it is
+ okay for your project to have optional api-doc build setup, you can
+ solve this as below. Keep it as is, as gtkdocize is looking for
+ <function>GTK_DOC_CHECK</function> at the start of a line.
+ <example><title>Keep gtk-doc optional</title>
+ <programlisting>
+<![CDATA[
+# check for gtk-doc
+m4_ifdef([GTK_DOC_CHECK], [
+GTK_DOC_CHECK([1.14],[--flavour no-tmpl])
+],[
+AM_CONDITIONAL([ENABLE_GTK_DOC], false)
+])
+]]>
+ </programlisting>
+ </example>
+ </para>
+
+ <para>ఆకృతీకరణ సమయము వద్ద gtkdocversion కొరకు పరిశీలించుటకు మొదటి ఆర్గుమెంటు వుపయోగించబడింది. 2వది, <application>gtkdocize</application> చేత వుపయోగించబడిన ఐచ్చిక ఆర్గుమెంట్. <symbol>GTK_DOC_CHECK</symbol> మాక్రో చాలా ఆకృతీకరణ స్విచ్లను జతచేస్తుంది:</para>
+ <orderedlist>
+ <listitem><para>--with-html-dir=PATH : సంస్థాపించిన పత్రములకు పాత్</para></listitem>
+ <listitem><para>--enable-gtk-doc : పత్రికీకరణను నిర్మించుటకు gtk-doc వుపయోగించుము [default=no]</para></listitem>
+ <listitem><para>--enable-gtk-doc-html : పత్రికీకరణను html ఫార్మాట్నందు నిర్మించుము [default=yes]</para></listitem>
+ <listitem><para>--enable-gtk-doc-pdf : పత్రికీకరణను pdf ఫార్మాట్ నందు నిర్మించుము [default=no]</para></listitem>
+ </orderedlist>
+
+ <important>
+ <para>GTK-Doc అప్రమేయంగా అచేతనము చేయబడింది! ఐచ్చికము <option>'--enable-gtk-doc'</option>ను తరువాతి <filename>configure</filename>కు నడుపుట మర్చిపోవద్దు. లేకపోతే ముందుగా జనియింపచేసిన పత్రికీకరణ సంస్థాపించబడుతుంది (ఇది వినియోగదారులకు వుపయోగకరం అయితే అభివృద్దికారులకు కాదు).</para>
+ </important>
+
+ <para>మీ <filename>configure.ac</filename> స్క్రిప్టునందు ఈ క్రింది వరుసను కలిగివుండుట చాలామంచిది. ఇది మీ ప్రోజెక్టునందు <function>GTK_DOC_CHECK</function> కొరకు స్వయంచాలకంగా మాక్రో నిర్వచనాన్ని నకలు తీయుటకు <application>gtkdocize</application>ను అనుమతిస్తుంది.</para>
+
+ <para>
+ <example><title>gtkdocize కొరకు సన్నాహం</title>
+ <programlisting>
+<![CDATA[
+AC_CONFIG_MACRO_DIR(m4)
+]]>
+ </programlisting>
+ </example>
+ </para>
+ </sect1>
+
+ <sect1 id="settingup_automake">
+ <title>automake తో విలీనం</title>
+
+ <para>ముందుగా <filename>Makefile.am</filename>ను gtkdoc-sources యొక్క వుదాహరణల వుపసంచయం నుండి మీ ప్రోజెక్టు యొక్క API పత్రికీకరణ డైరెక్టరీనకు నకలుతీయుము (<filename class="directory">./docs/reference/<package></filename>). మీరు బహుళ doc-packages కలిగివుంటే ప్రతిదానికి యిలా చేయండి.</para>
+
+ <para>
+ The next step is to edit the settings inside the <filename>Makefile.am</filename>.
+ All the settings have a comment above that describes their purpose.
+ Most settings are extra flags passed to the respective tools. Every tool
+ has a variable of the form <option><TOOLNAME>_OPTIONS</option>.
+ All the tools support <option>--help</option> to list the supported
+ parameters.
+ </para>
+
+ <!-- FIXME: explain options ? -->
+
+ <para>
+ You may also want to enable GTK-Doc for the distcheck make target. Just
+ add the one line shown in the next example to your top-level
+ <filename>Makefile.am</filename>:
+ </para>
+
+ <para>
+ <example><title>distcheck చేయునప్పుడు GTK-Doc చేతనము చేయి</title>
+ <programlisting>
+<![CDATA[
+DISTCHECK_CONFIGURE_FLAGS=--enable-gtk-doc
+]]>
+ </programlisting>
+ </example>
+ </para>
+
+ </sect1>
+
+ <sect1 id="settingup_autogen">
+ <title>autogen తో విలీనం</title>
+
+ <para>వర్షన్ కంట్రోల్ సిస్టమ్ (cvs/svn/git వంటి) నుండి చెక్అవుట్ తర్వాత బుల్డ్ నిర్మాణం అమర్చుటకు చాలా ప్రోజెక్టులు <filename>autogen.sh</filename> స్క్రిప్టును కలిగివుంటాయి. GTK-Doc అనునది <application>gtkdocize</application> అనబడు సాధనంతో వస్తుంది దీనిని అటువంటి స్క్రిప్టు నందు వుపయోగించవచ్చును. ఇది autoheader, automake లేదా autoconf ముందు నడుపవలెను.</para>
+
+ <para>
+ <example><title>autogen.sh నుండి gtkdocize నడుపుతోంది</title>
+ <programlisting>
+<![CDATA[
+gtkdocize || exit 1
+]]>
+ </programlisting>
+ </example>
+ </para>
+
+ <para>
+ When running <application>gtkdocize</application> it copies
+ <filename>gtk-doc.make</filename> to your project root (or any directory
+ specified by the <option>--docdir</option> option).
+ It also checks you configure script for the <function>GTK_DOC_CHECK</function>
+ invocation. This macro can be used to pass extra parameters to
+ <application>gtkdocize</application>.
+ </para>
+
+ <para>
+ Historically GTK-Doc was generating template files where developers entered the docs.
+ This turned out to be not so good (e.g. the need for having generated
+ files under version control).
+ Since GTK-Doc 1.9 the tools can get all the information from source comments
+ and thus the templates can be avoided. We encourage people to keep
+ documentation in the code. <application>gtkdocize</application> supports now
+ a <option>--flavour no-tmpl</option> option that chooses a makefile that skips
+ tmpl usage totally. Besides adding the option directly to the command
+ invocation, they can be added also to an environment variable called <symbol>GTKDOCIZE_FLAGS</symbol>
+ or set as a 2nd parameter in <symbol>GTK_DOC_CHECK</symbol> macro in the configure script.
+ If you have never changed file in tmpl by hand and migrating from older gtkdoc versions,
+ please remove the dir (e.g. from version control system).
+ </para>
+ </sect1>
+
+ <sect1 id="settingup_firstrun">
+ <title>doc బుల్డును నడుపుట</title>
+
+ <para>గతంలో జరిపిన స్టెప్పుల తర్వాత యిప్పుడు బుల్డును నడుపవలెను. ముందుగా మనము <filename>autogen.sh</filename>ను తిరిగి నడుపవలెను. ఈ స్క్రిప్టు మీ కొరకు ఆకృతీకరణను నడిపితే, దానికి <option>--enable-gtk-doc</option> ఐచ్చికాన్ని యివ్వుము. లేదా తరువాత ఈ ఐచ్చికముతో మానవీయంగా <filename>configure</filename>ను నడుపుము.</para>
+ <para>
+ The first make run generates several additional files in the doc-dirs.
+ The important ones are:
+ <filename><package>.types</filename>,
+ <filename><package>-docs.xml</filename> (in the past .sgml),
+ <filename><package>-sections.txt</filename>.
+ </para>
+ <para>
+ <example><title>doc బుల్డును నడుపుట</title>
+ <programlisting>
+<![CDATA[
+./autogen.sh --enable-gtk-doc
+make
+]]>
+ </programlisting>
+ </example>
+ </para>
+ <para>ఇప్పుడు మీ బ్రౌజర్కు మీరు <filename>docs/reference/<package>/index.html</filename>ను సూచించవచ్చును. అవును, యిప్పటికి యిది కొంత నిరుత్సాహపరుస్తోంది. అయితే ఆగండి, తరువాతి అధ్యాయమునందు పేజీలను యెలా నింపాలో చెబుతాము.</para>
+ </sect1>
+
+ <sect1 id="settingup_vcs">
+ <title>వర్షన్ కంట్రోల్ సిస్టమ్తో విలీనం</title>
+
+ <para>
+ As a rule of the thumb, it's those files you edit, that should go under
+ version control. For typical projects it's these files:
+ <filename><package>.types</filename>,
+ <filename><package>-docs..xml</filename> (in the past .sgml),
+ <filename><package>-sections.txt</filename>,
+ <filename>Makefile.am</filename>
+ </para>
+ </sect1>
+
+ <sect1 id="plain_makefiles">
+ <title>Integration with plain makefiles or other build systems</title>
+
+ <para>
+ In the case one does not want to use automake and therfore
+ <filename>gtk-doc.mak</filename> one will need to call the gtkdoc tools
+ in the right order in own makefiles (or other build tools).
+ </para>
+
+ <para>
+ <example><title>Documentation build steps</title>
+ <programlisting>
+<![CDATA[
+DOC_MODULE=meep
+// sources have changed
+gtkdoc-scan --module=$(DOC_MODULE) --source-dir=...
+gtkdoc-scangobj --module=$(DOC_MODULE)
+gtkdoc-mkdb --module=$(DOC_MODULE) --output-format=xml
+// xml files have changed
+mkdir html
+cd html && gtkdoc-mkhtml $(DOC_MODULE) ../meep-docs.xml
+gtkdoc-fixxref --module=$(DOC_MODULE) --module-dir=html
+]]>
+ </programlisting>
+ </example>
+ </para>
+
+ <para>
+ One will need to look at the <filename>Makefile.am</filename> and
+ <filename>gtk-doc.mak</filename> to pick the extra options needed.
+ </para>
+ </sect1>
+
+ </chapter>
+
+ <chapter id="documenting">
+ <title>కోడ్ను పత్రికీకరణ చేయుట</title>
+
+ <para>
+ GTK-Doc uses source code comment with a special syntax for code documentation.
+ Further it retrieves information about your project structure from other
+ sources. During the next section you will find all information about the
+ syntax of the comments.
+ </para>
+
+ <note>
+ <title>పత్రికీకరణ స్థానము</title>
+ <para>గతంలో చాలా వరకు పత్రికీకరణ అనునది <filename>tmpl</filename> డైరెక్టరీ క్రిందని ఫైళ్ళలో నింపవలసివుండేది. సమాచారము సరిగా నవీకరించబడక పోవుట మరియు ఆ ఫైలు వర్షన్ కంట్రోల్ సిస్టమ్సుతో విభేదించుట వంటి లోపాలను యిది కలిగివుంది.</para>
+ <para>ముందుగా తెలిపిన సమస్యలను తప్పించుటకు మేము పత్రికీకరణను మూలముల లోపలే వుంచమని సూచించుచున్నాము. ఈ మాన్యుయల్ ఈ విధంగా కోడ్ పత్రికీకరణను మాత్రమే వివరించును.</para>
+ </note>
+
+ <para>
+ The scanner can handle the majority of c headers fine. In the case of
+ receiving warnings from the scanner that look like a special case, one can
+ hint GTK-Doc to skip over them.
+ <example><title>GTK-Doc వ్యాఖ్య బ్లాక్</title>
+ <programlisting>
+<![CDATA[
+#ifndef __GTK_DOC_IGNORE__
+/* unparseable code here */
+#endif
+]]>
+ </programlisting>
+ </example>
+ </para>
+
+ <!-- -->
+
+ <sect1 id="documenting_syntax">
+ <title>పత్రికీకరణ వ్యాఖ్యలు</title>
+
+ <para>బహుళ వరుసలు వుండి అదనపు '*' గుర్తులతో ప్రారంభించబడు వ్యాఖ్య పత్రికీకరణ బ్లాక్ను సూచించును అది GTK-Doc సాధనముల ద్వారా నిర్వర్తించబడును. <example><title>GTK-Doc వ్యాఖ్య బ్లాక్</title>
+ <programlisting>
+<![CDATA[
+/**
+ * identifier:
+ * documentation ...
+ */
+]]>
+ </programlisting>
+ </example></para>
+
+ <para>'identifier' అనునది వ్యాఖ్యకు సంభందించిన అంశము యొక్క నామముతో వుండు వొక వరుస. అంశము పై ఆధారపడి సిన్టాక్సు అనునది కొద్దిగా విభేదించును. (చేయవలసినది identifies చూపు పట్టికను జతచేయి)</para>
+
+ <para>ప్రతి చిహ్నపు రకమునకు 'పత్రికీకరణ' బ్లాక్ భిన్నంగా వుంటుంది. ఫంక్షన్లు లేదా స్థూలములు పారామితి వివరణను కలిగివున్నవి ముందుగా ఖాళీ వరుస (a '*') అనుసరించాలి. తరువాత విశదీకృత వివరణను అనుసరించాలి. అన్ని వరుసలు (ప్రోగ్రామ్ బయటవి- జాబితాలు మరియు CDATA విభాగములు) ' *' (ఖాళీ-యాస్ట్రిక్) మాత్రమే కలిగివున్నవి పారాగ్రాఫ్ విరామాలుగా వుంచబడును. మీకు పారాగ్రాఫ్ విరామాలు అక్కరలేకపోతే, దానిని ' * ' (blank-asterisk-blank-blank)కు మార్చుము.</para>
+
+ <tip>
+ <para>
+ When documenting code, describe two apsects:
+ <itemizedlist>
+ <listitem>
+ <para>
+ What it is: The name for a class or function can sometimes
+ be misleading for people coming from a different background.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ What it does: Tell about common uses. Put it in releation
+ with the other API.
+ </para>
+ </listitem>
+ </itemizedlist>
+ </para>
+ </tip>
+
+ <para>సాదా-పాఠ్యమునందు హైపర్-పాఠ్యమును కలిగివుండువలన వొక సౌకర్యము పత్రమునందు లింకులను కలిగివుండవచ్చును. అయినను లింకు కొరకు సరైన మార్కప్ వ్రాయుట చికాకే. GTK-Doc నందు చాలా వుపయోగకర ఎబ్రివేషన్లు అందించబడుచున్నవి. <itemizedlist>
+ <listitem>
+ <para>ఆర్గుమెంట్లను తీసుకొనే ఫంక్షన్లను లేదా మాక్రోలను సూచించుటకు function() వుపయోగించుము.</para>
+ </listitem>
+ <listitem>
+ <para>పారామితులను సూచించుటకు @param వుపయోగించుము. వివరించబడిన పారామితికి సంభందించిన యితర ఫంక్షన్ల పారామితులను సూచించుటకు కూడా దీనిని వుపయోగించుము.</para>
+ </listitem>
+ <listitem>
+ <para>స్థిరరాశిని సూచించుటకు %constant వుపయోగించుము, ఉ.దా. %G_TRAVERSE_LEAFS.</para>
+ </listitem>
+ <listitem>
+ <para>ఇతర రకముల చిహ్నమును సూచించుటకు #symbol వుపయోగించుము, ఉ.దా. ఆర్గుమెంట్లు తీసుకొని structs మరియు enums మరియు macros వంటివి.</para>
+ </listitem>
+ <listitem>
+ <para>GObject సంకేతమును సూచించుటకు #Object::signal వుపయోగించుము</para>
+ </listitem>
+ <listitem>
+ <para>GObject లక్షణమును సూచించుటకు #Object:property వుపయోగించుము</para>
+ </listitem>
+ <listitem>
+ <para>స్ట్రక్చర్ నందలి క్షేత్రమును సూచించుటకు #Struct.field వుపయోగించుము.</para>
+ </listitem>
+ </itemizedlist></para>
+
+ <tip>
+ <para>మీరు ప్రత్యేక ఆక్షరములు '<', '>', '()', '@', '%', or '#'ను మీ పత్రికీకరణనందు GTK-Doc వాటిని మార్చకుండా వుపయోగించాలి అంటే మీరు XML మూలకములు "&lt;", "&gt;", "&lpar;", "&rpar;", "&commat;", "&percnt;" మరియు "&num;" వుపయోగించవచ్చు లేదా వాటిని '\' బాక్స్లాష్తో ఎస్కేప్ చేయుము.</para>
+ </tip>
+
+ <para>
+ DocBook can do more than just links. One can also have lists, tables and
+ examples. To enable the usage of docbook SGML/XML tags inside
+ doc-comments you need to have <option>--xml-mode</option> or
+ <option>--sgml-mode</option> in the variable
+ <symbol>MKDB_OPTIONS</symbol> inside <filename>Makefile.am</filename>.
+ </para>
+
+ <para>
+ Since GTK-Doc-1.18 the tool supports a subset or the
+ <ulink url="http://daringfireball.net/projects/markdown/">markdown language</ulink>.
+ One can use it for sub-headings and simple itemized lists. On older
+ GTK-Doc versions the content will be rendered as it (the list items will
+ appear in one line separated by dashes).
+ <example><title>GTK-Doc comment block using markdown</title>
+ <programlisting>
+<![CDATA[
+/**
+ * identifier:
+ *
+ * documentation ...
+ *
+ * # Sub heading #
+ *
+ * more documentation:
+ * - list item 1
+ * - list item 2
+ *
+ * Even more docs.
+ */
+]]>
+ </programlisting>
+ </example>
+ </para>
+
+ <tip>
+ <para>ముందుగా చెప్పినట్లుగా GTK-Doc అనునది పబ్లిక్ API పత్రికీకరణ కొరకు. స్థిర చిహ్నములకు వొక్కరే పత్రికీకరణ వ్రాయలేరు. ఆ చిహ్నములను కూడా వ్యాఖ్యానించుట మంచిది. ఇది యితరులు కూడా మీ కోడ్ను అర్ధము చేసుకొనుటకు సహాయపడును. అందుకని వీటిని సాదారణ వ్యాఖ్యలు (మొదటి వరుసనందు 2వ '*' లేకుండా) వుపయోగించి వ్యాఖ్యానించమని సూచించడమైంది. తరువాత ఆ ఫంక్షన్ పబ్లిక్గా మార్చవలసివుంటే, చేయవలసినదల్లా వేరొక '*'ను వ్యాఖ్య బ్లాక్ నందు చేర్చి మరియు చిహ్నపు నామాన్నివిభగాముల ఫైలునందు సరైన స్థానములో వుంచడమే.</para>
+ </tip>
+ </sect1>
+
+ <sect1 id="documenting_sections">
+ <title>పత్రికీకరణ విభాగములు</title>
+
+ <para>పత్రికీకరణ యొక్క ప్రతి విభాగము వొక క్లాస్ లేదా మాడ్యూల్ గురించిన సమాచారమును కలిగివుంటుంది. మూలకాన్ని పరిచయం చేయుటకు వొకరు విభాగపు బ్లాక్ను వ్రాయవచ్చును. పొట్టి వివరణ అనునది పట్టిక యొక్క సారముల లోపలకూడా వుపయోగించబడును. అన్ని @fields ఐచ్చికమైనవి.</para>
+
+ <para>
+ <example><title>విభాగపు వ్యాఖ్య బ్లాక్</title>
+ <programlisting>
+<![CDATA[
+/**
+ * SECTION:meepapp
+ * @short_description: the application class
+ * @title: Meep application
+ * @section_id:
+ * @see_also: #MeepSettings
+ * @stability: Stable
+ * @include: meep/app.h
+ * @image: application.png
+ *
+ * The application class handles ...
+ */
+]]>
+ </programlisting>
+ </example>
+ </para>
+
+ <variablelist>
+ <varlistentry>
+ <term>SECTION:<name></term>
+ <listitem>
+ <para>నామము అనునది విభాగపు పత్రికీకరణను <filename><package>-sections.txt</filename> ఫైలునందలి సంభందిత భాగమునకు లింకుచేయును. ఇక్కడ యిచ్చిన నామము <filename><package>-sections.txt</filename> ఫైలునందలి <FILE> టాగ్తో సరిపోలవలెను.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>@short_description</term>
+ <listitem>
+ <para>విభాగము యొక్క వివరణ వొక్క వరుసలో, తరువాత అది TOC నందు లింక్సు తరువాత మరియు విభాగపు పేజీ పైన కనిపించును.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>@title</term>
+ <listitem>
+ <para>విభాగపు శీర్షిక అనునది SECTION డిక్లరేషన్ నుండి <name> అప్రమేయం కాబడును. ఇది @title క్షేత్రము ద్వారా దిద్దివ్రాయబడును.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>@section_id</term>
+ <listitem>
+ <para>
+ Overrides the use of title as a section identifier. For GObjects
+ the <title> is used as a section_id and for other sections
+ it is <MODULE>-<title>.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>@see_also</term>
+ <listitem>
+ <para>
+ A list of symbols that are related to this section.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>@stability</term>
+ <listitem>
+ <para>ఈ API కలిగివున్న స్థిరత్వపు స్థాయి యొక్క సాధారణ వివరణ. ఈ పదములలో వొక దానిని వుపయోగించుట మేము సిఫార్సు చేయుచున్నాము: <itemizedlist>
+ <listitem>
+ <para>స్థిరమైన - స్థిరమైన యింటర్ఫేస్ ముఖ్యోద్దేశం మూడోవ్యక్తి అనువర్తనములను యీ యింటర్ఫేసులకు కొరకు అభివృద్దిపరచుట, విడుదల చేయుట, మరియు ఆ వుత్పాదన యొక్కఅన్ని చిన్న విడుదలలనందు(పెద్ద విడుదల క్రిందన విడుదలగునవి) నడుచునట్లు చూచుకొనుటను చేతన పరచుట. ముఖ్య విడుదలనందు కూడా, సారూప్యతా మార్పులు అనునవి తగ్గించుటకు, ఖచ్చితమైన నిర్ధారణలను కలిగివుండుట.</para>
+ </listitem>
+ <listitem>
+ <para>అస్థిరమైన - అస్థిరమైన యింటర్ఫేస్లు ప్రయోగాత్మకమైనవి లేదా బదలీకరణ పొందునవి. అవి ముఖ్యంగా బయటి అభివృద్దికారులకు కొత్తవి లేదా వేగంగా మారుతున్న సాంకేతికతపై యాక్సెస్ యిచ్చుటకు వుపయోగించబడును, లేదా వొక సమస్య కొరకు యెక్కువ సహజమైన పరిష్కారము కొరకు యెదురు చూడబడుతోందో అక్కడ మధ్యంతర పరిష్కారము యిచ్చుటకు. ఒక చిన్న విడుదలనుండి తర్వాత దానికి యెటువంటి క్లైమ్స్ సోర్స్ గురించికాని లేదా బైనరీ సారూప్యత గురించికాని చేయబడవు.</para>
+ </listitem>
+ <listitem>
+ <para>వ్యక్తిగత - GNOME స్టాక్ లోపలే వుపయోగించగల యింటర్ఫేస్, అయితే అది అంత్య-వినియోగదారుల కొరకు పత్రికీకరణ చేయబడదు. అటువంటి ఫంక్షన్లు తెలుపబడిన మరియు పత్రికీకరణ మార్గములలోనే వుపయోగించాలి.</para>
+ </listitem>
+ <listitem>
+ <para>అంతర్గత - మాడ్యూల్కు అంతర్గతమైన మాడ్యూల్ మరియు అంత్య-వినియోగదారి పత్రికీకరణ అవసరములేనిది. పత్రికీకరణ చేయని ఫంక్షన్లు అంతర్గతమైనవిగా పరిగణించాలి.</para>
+ </listitem>
+ </itemizedlist></para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>@include</term>
+ <listitem>
+ <para>విభాగపు సారాంశము నందు చూపుటకు <literal>#include</literal> ఫైళ్ళు (కామాతో వేరుచేయబడిన జాబితా), <link linkend="metafiles_sections">విభాగపు ఫైలు</link> లేదా ఆదేశ వరుసనుండి గ్లోబల్ విలువను దిద్దివ్రాయుట. ఈ అంశము ఐచ్చికము.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>@image</term>
+ <listitem>
+ <para>ఈ విభాగము కొరకు సూచనపేజీ పైన ప్రదర్శించుటకు ప్రతిబింబము. ఇది తరుచుగా వొక క్లాస్ యొక్క విజువల్ అప్పియరెన్స్ వివరించుటకు డయాగ్రమ్ వంటిది లేదా యితర క్లాసులతో దాని సంభందాన్ని తెలిపే డయాగ్రమ్. ఈ అంశము ఐచ్చికము.</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+
+ <tip>
+ <para>అనవసరపు రికంపైలేషన్ను విసర్జించుటకు doc-changes తర్వాత విభాగపు పత్రములను c-source నందు వీలైనచోట వుంచుము.</para>
+ </tip>
+
+ </sect1>
+
+ <sect1 id="documenting_symbols">
+ <title>చిహ్నముల పత్రికీకరణ</title>
+
+ <para>
+ Each symbol (function, macro, struct, enum, signal and property) is
+ documented in a separate block. The block is best placed close to the
+ definition of the symbols so that it is easy to keep them in sync.
+ Thus functions are usually documented in the c-source and macros,
+ structs and enums in the header file.
+ </para>
+
+ <sect2><title>సాధారణ టాగ్లు</title>
+
+ <para>మీరు వర్షనింగ్ సమాచారమును అన్ని పత్రికీకరణ మూలకాలకు జతచేయవచ్చును, api యెప్పుడు పరిచయం చేయబడిందో చెప్పుటకు, లేదా యెప్పుడు తీసివేయబడిందో చెప్పుటకు.</para>
+
+ <variablelist><title>వర్షనింగ్ టాగ్స్</title>
+ <varlistentry><term>అప్పటినుంచి:</term>
+ <listitem>
+ <para>కోడ్ యొక్క యే వర్షన్ నుండి API అందుబాటులోవుందో వివరణ.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry><term>తీసివేసిన:</term>
+ <listitem>
+ <para>ఈ ఫంక్షన్ యికపై వుపయోగించుటలేదని పారాగ్రాఫ్ చెబుచున్నది. వివరణ చదువరిని కొత్త APIకు సూచించాలి.</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+
+ <para>(FIXME : స్థిరత్వ సమాచారము)</para>
+
+ <example><title>సాధారణ టాగ్లు</title>
+ <programlisting>
+<![CDATA[
+/**
+ * foo_get_bar:
+ * @foo: some foo
+ *
+ * Retrieves @foo's bar.
+ *
+ * Returns: @foo's bar
+ *
+ * Since: 2.6
+ * Deprecated: 2.12: Use foo_baz_get_bar() instead.
+ **/
+Bar *
+foo_get_bar(Foo *foo)
+{
+...
+]]>
+ </programlisting>
+ </example>
+ </sect2>
+
+ <sect2><title>ఫంక్షన్ వ్యాఖ్యానపు బ్లాక్</title>
+
+ <para>దయచేసి దీనికి గుర్తువుంచండి: <itemizedlist>
+ <listitem>
+ <para>తిరిగివచ్చిన objects, lists, strings, మొదలగునవి, freed/unrefed/released చేయాలా వద్దా అనేదానిపై పత్రము.</para>
+ </listitem>
+ <listitem>
+ <para>పారామితులు NULL కావచ్చా, వొకవేళ అయితే యేమి జరుగును అనేదానిపై పత్రము.</para>
+ </listitem>
+ <listitem>
+ <para>తగుచోట్ల ఆసక్తికరమైన ప్రి-కండీషన్లు మరియు పోస్ట్-కండీషన్లను తెలుపుము.</para>
+ </listitem>
+ </itemizedlist></para>
+
+ <para>Gtk-doc అన్ని చిహ్నములు (macros, functions) '_'తో ప్రారంభమగునవి వ్యక్తిగతమైనవని పరిగణించును. అవి స్టాటిక్ ఫంక్షన్సు వలె పరిగణించబడును.</para>
+
+ <para>gobject యింట్రోస్పెక్షన్ యెన్నోయేషన్ టాగ్స్ వద్ద కూడా చూడండి: http://live.gnome.org/GObjectIntrospection/Annotations</para>
+
+ <example><title>ఫంక్షన్ వ్యాఖ్యానపు బ్లాక్</title>
+ <programlisting>
+<![CDATA[
+/**
+ * function_name:
+ * @par1: description of parameter 1. These can extend over more than
+ * one line.
+ * @par2: description of parameter 2
+ * @...: a %NULL-terminated list of bars
+ *
+ * The function description goes here. You can use @par1 to refer to parameters
+ * so that they are highlighted in the output. You can also use %constant
+ * for constants, function_name2() for functions and #GtkWidget for links to
+ * other declarations (which may be documented elsewhere).
+ *
+ * Returns: an integer.
+ *
+ * Since: 2.2
+ * Deprecated: 2.18: Use other_function() instead.
+ */
+]]>
+ </programlisting>
+ </example>
+
+ <variablelist><title>ఫంక్షన్ టాగ్లు</title>
+ <varlistentry><term>తిరిగివచ్చినవి:</term>
+ <listitem>
+ <para>పారాగ్రాఫ్ తిరిగివచ్చిన ఫలితాన్ని వివరిస్తుంది.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry><term>@...:</term>
+ <listitem>
+ <para>ఒకవేళ ఫంక్షన్ వేరియాడిక్ ఆర్గుమెంట్లను కలిగివుంటే, మీరు ఈ టాగ్ను వుపయోగించాలి (@Varargs: చారిత్రక కారణాలకు కూడా పనిచేయును).</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+
+ </sect2>
+
+ <sect2><title>లక్షణము వ్యాఖ్యాము బ్లాక్</title>
+
+ <example><title>లక్షణము వ్యాఖ్యాము బ్లాక్</title>
+ <programlisting>
+<![CDATA[
+/**
+ * SomeWidget:some-property:
+ *
+ * Here you can document a property.
+ */
+g_object_class_install_property (object_class, PROP_SOME_PROPERTY, ...);
+]]>
+ </programlisting>
+ </example>
+
+ </sect2>
+
+ <sect2><title>సంకేతపు వ్యాఖ్యానము బ్లాక్</title>
+
+ <para>దయచేసి దీనికి గుర్తువుంచండి: <itemizedlist>
+ <listitem>
+ <para>సంకేతము యెప్పుడు వెలువడింది మరియు అది సంకేతముల ముందు వెలువడిందా లేదా తర్వాత అనేది పత్రికీకరణ చేయును.</para>
+ </listitem>
+ <listitem>
+ <para>సంకేత సంభాలిక నందు వొక అనువర్తనము యేమి చేయవచ్చును అనే పత్రము.</para>
+ </listitem>
+ </itemizedlist></para>
+
+ <example><title>సంకేతపు వ్యాఖ్యానము బ్లాక్</title>
+ <programlisting>
+<![CDATA[
+/**
+ * FooWidget::foobarized:
+ * @widget: the widget that received the signal
+ * @foo: some foo
+ * @bar: some bar
+ *
+ * The ::foobarized signal is emitted each time someone tries to foobarize @widget.
+ */
+foo_signals[FOOBARIZE] =
+ g_signal_new ("foobarize",
+ ...
+]]>
+ </programlisting>
+ </example>
+
+ </sect2>
+
+ <sect2><title>Struct వ్యాఖ్యానము బ్లాక్</title>
+ <example><title>Struct వ్యాఖ్యానము బ్లాక్</title>
+ <programlisting>
+<![CDATA[
+/**
+ * FooWidget:
+ * @bar: some #gboolean
+ *
+ * This is the best widget, ever.
+ */
+typedef struct _FooWidget {
+ /*< private >*/
+ GtkWidget parent;
+
+ /*< public >*/
+ gboolean bar;
+} FooWidget;
+]]>
+ </programlisting>
+ </example>
+
+ <para>
+ Use <code>/*< private >*/</code> before the private struct fields
+ you want to hide. Use <code>/*< public >*/</code> for the reverse
+ behaviour.
+ </para>
+
+ <para>
+ Struct comment blocks can also be used for GObjects and GObjectClasses.
+ It is usualy a good idea to add a comment blco for a class, if it has
+ vmethods (as this is how they can be documented). For the GObject
+ itself one can use the related section docs, having a separate block
+ for the instance struct would be useful if the instance has public
+ fields. One disadvantage here is that this creates two index entries
+ of the same name (the structure and the section).
+ </para>
+
+ </sect2>
+
+ <sect2><title>Enum వ్యాఖ్యానము బ్లాక్</title>
+ <example><title>Enum వ్యాఖ్యానము బ్లాక్</title>
+ <programlisting>
+<![CDATA[
+/**
+ * Something:
+ * @SOMETHING_FOO: something foo
+ * @SOMETHING_BAR: something bar
+ *
+ * Enum values used for the thing, to specify the thing.
+ *
+ **/
+typedef enum {
+ SOMETHING_FOO,
+ SOMETHING_BAR,
+ /*< private >*/
+ SOMETHING_COUNT
+} Something;
+]]>
+ </programlisting>
+ </example>
+
+ <para>
+ Use <code>/*< private >*/</code> before the private enum values
+ you want to hide. Use <code>/*< public >*/</code> for the reverse
+ behaviour.
+ </para>
+
+ </sect2>
+ </sect1>
+
+ <sect1 id="documenting_docbook">
+ <title>ఉపయోగకర DocBook టాగ్స్</title>
+
+ <para>కోడ్ను పత్రికీకరణ చేయునప్పుడు యెక్కువ వుపయోగకరంగా వుండే మరికొన్ని DocBook టాగ్స్ యిక్కడ వున్నాయి.</para>
+
+ <para>GTK docs నందు వేరొక విభాగమునకు లింకు చేయుటకు: <informalexample>
+ <programlisting>
+<![CDATA[
+<link linkend="glib-Hash-Tables">Hash Tables</link>
+]]>
+ </programlisting>
+ </informalexample> మీరు లింకు యేర్పరచాలని కొరుకొనుచున్న పేజీ యొక్క పై అంశముపై SGML/XML idయే linkend. చాలా పేజీలకు ప్రస్తుతం యిదే పార్ట్ ("gtk", "gdk", "glib") మరియు పేజీ శీర్షిక ("Hash Tables"). విడ్జట్లకు యిది క్లాస్ నామము మాత్రమే. SGML/XML నిర్ధారించుటకు ఖాళీలు మరియు అండర్స్కోర్లు '-'గా మార్చబడినవి.</para>
+
+ <para>బాహ్య ఫంక్షన్ను సూచించుటకు, ఉ.దా. ప్రామాణిక C ఫంక్షన్: <informalexample>
+ <programlisting>
+<![CDATA[
+<function>...</function>
+]]>
+ </programlisting>
+ </informalexample></para>
+
+ <para>ఉదాహరణ కోడ్ను చేర్చుటకు: <informalexample>
+ <programlisting>
+<![CDATA[
+<example>
+ <title>Using a GHashTable.</title>
+ <programlisting>
+ ...
+ </programlisting>
+</example>
+]]>
+ </programlisting>
+ </informalexample> లేదా, శీర్షిక అవసరములేని చాలా చిన్న కోడ్ ముక్కల కొరకు: <informalexample>
+ <programlisting>
+<![CDATA[
+<informalexample>
+ <programlisting>
+ ...
+ </programlisting>
+</informalexample>
+]]>
+ </programlisting>
+ </informalexample> తరువాతి GTK-Doc కూడా అబ్రివేషన్ను మద్దతించును: <![CDATA[
+|[
+ ...
+]|
+]]></para>
+
+ <para>
+ To include bulleted lists:
+ <informalexample>
+ <programlisting>
+<![CDATA[
+<itemizedlist>
+ <listitem>
+ <para>
+ ...
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ ...
+ </para>
+ </listitem>
+</itemizedlist>
+]]>
+ </programlisting>
+ </informalexample>
+ </para>
+
+ <para>
+ To include a note which stands out from the text:
+ <informalexample>
+ <programlisting>
+<![CDATA[
+<note>
+ <para>
+ Make sure you free the data after use.
+ </para>
+</note>
+]]>
+ </programlisting>
+ </informalexample>
+ </para>
+
+ <para>
+ To refer to a type:
+ <informalexample>
+ <programlisting>
+<![CDATA[
+<type>unsigned char</type>
+]]>
+ </programlisting>
+ </informalexample>
+ </para>
+
+ <para>
+ To refer to an external structure (not one described in the GTK docs):
+ <informalexample>
+ <programlisting>
+<![CDATA[
+<structname>XFontStruct</structname>
+]]>
+ </programlisting>
+ </informalexample>
+ </para>
+
+ <para>
+ To refer to a field of a structure:
+ <informalexample>
+ <programlisting>
+<![CDATA[
+<structfield>len</structfield>
+]]>
+ </programlisting>
+ </informalexample>
+ </para>
+
+ <para>
+ To refer to a class name, we could possibly use:
+ <informalexample>
+ <programlisting>
+<![CDATA[
+<classname>GtkWidget</classname>
+]]>
+ </programlisting>
+ </informalexample>
+ but you'll probably be using #GtkWidget instead (to automatically create
+ a link to the GtkWidget page - see <link linkend="documenting_syntax">the abbreviations</link>).
+ </para>
+
+ <para>
+ To emphasize text:
+ <informalexample>
+ <programlisting>
+<![CDATA[
+<emphasis>This is important</emphasis>
+]]>
+ </programlisting>
+ </informalexample>
+ </para>
+
+ <para>
+ For filenames use:
+ <informalexample>
+ <programlisting>
+<![CDATA[
+<filename>/home/user/documents</filename>
+]]>
+ </programlisting>
+ </informalexample>
+ </para>
+
+ <para>
+ To refer to keys use:
+ <informalexample>
+ <programlisting>
+<![CDATA[
+<keycombo><keycap>Control</keycap><keycap>L</keycap></keycombo>
+]]>
+ </programlisting>
+ </informalexample>
+ </para>
+
+ </sect1>
+ </chapter>
+
+ <chapter id="metafiles">
+ <title>Filling the extra files</title>
+
+ <para>
+ There are a couple of extra files, that need to be maintained along with
+ the inline source code comments:
+ <filename><package>.types</filename>,
+ <filename><package>-docs.xml</filename> (in the past .sgml),
+ <filename><package>-sections.txt</filename>.
+ </para>
+
+ <sect1 id="metafiles_types">
+ <title>Editing the types file</title>
+
+ <para>
+ If your library or application includes GtkObjects/GObjects, you want
+ their signals, arguments/parameters and position in the hierarchy to be
+ shown in the documentation. All you need to do, is to list the
+ <function>xxx_get_type</function> functions together with their include
+ inside the <filename><package>.types</filename> file.
+ </para>
+
+ <para>
+ <example><title>Example types file snippet</title>
+ <programlisting>
+<![CDATA[
+#include <gtk/gtk.h>
+
+gtk_accel_label_get_type
+gtk_adjustment_get_type
+gtk_alignment_get_type
+gtk_arrow_get_type
+]]>
+ </programlisting>
+ </example>
+ </para>
+
+ <para>
+ Since GTK-Doc 1.8 <application>gtkdoc-scan</application> can generate this list for you.
+ Just add "--rebuild-types" to SCAN_OPTIONS in <filename>Makefile.am</filename>. If you
+ use this approach you should not dist the types file nor have it under version control.
+ </para>
+
+ </sect1>
+
+ <sect1 id="metafiles_master">
+ <title>Editing the master document</title>
+
+ <para>
+ GTK-Doc produces documentation in DocBook SGML/XML. When processing the
+ inline source comments, the GTK-Doc tools generate one documentation
+ page per class or module as a separate file. The master document
+ includes them and place them in an order.
+ </para>
+
+ <para>
+ While GTK-Doc creates a template master document for you, later run will
+ not touch it again. This means that one can freely structure the
+ documentation. That includes grouping pages and adding extra pages.
+ GTK-Doc has now a test suite, where also the master-document is recreated from scratch.
+ Its a good idea to look at this from time to time to see if there are some new goodies
+ introduced there.
+ </para>
+
+ <tip>
+ <para>
+ Do not create tutorials as extra documents. Just write extra chapters.
+ The benefit of directly embedding the tutorial for your library into
+ the API documentation is that it is easy to link for the tutorial to
+ symbol documentation. Apart chances are higher that the tutorial gets
+ updates along with the library.
+ </para>
+ </tip>
+
+ <para>
+ So what are the things to change inside the master document? For a start
+ is only a little. There are some placeholders (text in square brackets)
+ there which you should take care of.
+ </para>
+
+ <para>
+ <example><title>Master document header</title>
+ <programlisting>
+<![CDATA[
+<bookinfo>
+ <title>MODULENAME Reference Manual</title>
+ <releaseinfo>
+ for MODULENAME [VERSION]
+ The latest version of this documentation can be found on-line at
+ <ulink role="online-location" url="http://[SERVER]/MODULENAME/index.html">http://[SERVER]/MODULENAME/</ulink>.
+ </releaseinfo>
+</bookinfo>
+
+<chapter>
+ <title>[Insert title here]</title>
+]]>
+ </programlisting>
+ </example>
+ </para>
+
+ </sect1>
+
+ <sect1 id="metafiles_sections">
+ <title>Editing the section file</title>
+
+ <para>
+ The section file is used to organise the documentation output by
+ GTK-Doc. Here one specifies which symbol belongs to which module or
+ class and control the visibility (public or private).
+ </para>
+
+ <para>
+ The section file is a plain test file with xml like syntax (using tags).
+ Blank lines are ignored and lines starting with a '#' are treated as
+ comment lines.
+ </para>
+
+ <para>
+ The <FILE> ... </FILE> tag is used to specify the file name,
+ without any suffix. For example, using '<FILE>gnome-config</FILE>'
+ will result in the section declarations being output in the template
+ file <filename>tmpl/gnome-config.sgml</filename>, which will be
+ converted into the DocBook SGML/XML file <filename>sgml/gnome-config.sgml</filename>
+ or .DocBook XML file <filename>xml/gnome-config.xml</filename>.
+ (The name of the html file is based on the module name and the section
+ title, or for gobjects it is based on the gobjects class name converted
+ to lower case).
+ </para>
+
+ <para>
+ The <TITLE> ... </TITLE> tag is used to specify the title of
+ the section. It is only useful before the templates (if used) are
+ initially created, since the title set in the template file overrides
+ this. Also if one uses SECTION comment in the sources, this is obsolete.
+ </para>
+
+ <para>
+ You can group items in the section by using the <SUBSECTION> tag.
+ Currently it outputs a blank line between subsections in the synopsis
+ section.
+ You can also use <SUBSECTION Standard> for standard GObject
+ declarations (e.g. the functions like g_object_get_type and macros like
+ G_OBJECT(), G_IS_OBJECT() etc.).
+ Currently these are left out of the documentation.
+ You can also use <SUBSECTION Private> for private declarations
+ which will not be output (It is a handy way to avoid warning messages
+ about unused declarations.).
+ If your library contains private types which you don't want to appear in
+ the object hierarchy and the list of implemented or required interfaces,
+ add them to a Private subsection.
+ Wheter you would place GObject and GObjectClass like structs in public
+ or Standard section depends if they have public entries (variables,
+ vmethods).
+ </para>
+
+ <para>
+ You can also use <INCLUDE> ... </INCLUDE> to specify the
+ #include files which are shown in the synopsis sections.
+ It contains a comma-separate list of #include files, without the angle
+ brackets. If you set it outside of any sections, it acts for all
+ sections until the end of the file. If you set it within a section, it
+ only applies to that section.
+ </para>
+
+ </sect1>
+
+ </chapter>
+
+ <chapter id="reports">
+ <title>Controlling the result</title>
+
+ <para>
+ A GTK-Doc run generates report files inside the documentation directory.
+ The generated files are named:
+ <filename><package>-undocumented.txt</filename>,
+ <filename><package>-undeclared.txt</filename> and
+ <filename><package>-unused.txt</filename>.
+ All those are plain text files that can be viewed and postprocessed easily.
+ </para>
+
+ <para>
+ The <filename><package>-undocumented.txt</filename> file starts with
+ the documentation coverage summary. Below are two sections divided by
+ blank lines. The first section lists undocumented or incomplete symbols.
+ The second section does the same for section docs. Incomplete entries are
+ those, which have documentation, but where e.g. a new parameter has been
+ added.
+ </para>
+
+ <para>
+ The <filename><package>-undeclared.txt</filename> file lists symbols
+ given in the <filename><package>-sections.txt</filename> but not
+ found in the sources. Check if they have been removed or if they are
+ misspelled.
+ </para>
+
+ <para>
+ The <filename><package>-unused.txt</filename> file lists symbol
+ names, where the GTK-Doc scanner has found documentation, but does not
+ know where to put it. This means that the symbol has not yet been added to
+ the <filename><package>-sections.txt</filename> file.
+ </para>
+
+ <tip>
+ <para>
+ Enable or add the <option>TESTS=$(GTKDOC_CHECK)</option> line in Makefile.am.
+ If at least GTK-Doc 1.9 is installed, this will run sanity checks during
+ <command>make check</command> run.
+ </para>
+ </tip>
+
+ <para>
+ One can also look at the files produced by the source code scanner:
+ <filename><package>-decl-list.txt</filename> and
+ <filename><package>-decl.txt</filename>. The first one can be
+ compared with the section file if that is manualy maintained. The second
+ lists all declarations fromt he headers If a symbol is missing one could
+ check if this file contains it.
+ </para>
+
+ <para>
+ If the project is GObject based, one can also look into the files produced
+ by the object scanner:
+ <filename><package>.args.txt</filename>,
+ <filename><package>.hierarchy.txt</filename>,
+ <filename><package>.interfaces.txt</filename>,
+ <filename><package>.prerequisites.txt</filename> and
+ <filename><package>.signals.txt</filename>. If there are missing
+ symbols in any of those, one can ask gtkdoc to keep the intermedia scanner
+ file for further analysis, but running it as
+ <command>GTK_DOC_KEEP_INTERMEDIATE=1 make</command>.
+ </para>
+ </chapter>
+
+ <chapter id="documenting-others">
+ <title>Documenting other interfaces</title>
+
+ <para>
+ So far we have been using GTK-Doc to document the API of code. The next
+ sections contain suggestions how the tools can be used to document other
+ interfaces too.
+ </para>
+
+ <sect1 id="commandline-interfaces">
+ <title>Commandline options and man pages</title>
+
+ <para>
+ As one can generate man pages for a docbook refentry as well, it sounds
+ like a good idea to use it for that purpose. This way the interface is
+ part of the reference and one gets the man-page for free.
+ </para>
+
+ <sect2 id="commandline-interfaces-file">
+ <title>Document the tool</title>
+
+ <para>
+ Create one refentry file per tool. Following
+ <link linkend="settingup_docfiles">our example</link> we would call it
+ <filename>meep/docs/reference/meeper/meep.xml</filename>. For the xml
+ tags that should be used and can look at generated file in the xml
+ subdirectory as well as examples e.g. in glib.
+ </para>
+ </sect2>
+
+ <sect2 id="commandline-interfaces-configure">
+ <title>Adding the extra configure check</title>
+
+ <para>
+ <example><title>Extra configure checks</title>
+ <programlisting>
+<![CDATA[
+AC_ARG_ENABLE(man,
+ [AC_HELP_STRING([--enable-man],
+ [regenerate man pages from Docbook [default=no]])],enable_man=yes,
+ enable_man=no)
+
+AC_PATH_PROG([XSLTPROC], [xsltproc])
+AM_CONDITIONAL(ENABLE_MAN, test x$enable_man != xno)
+]]>
+ </programlisting>
+ </example>
+ </para>
+ </sect2>
+
+ <sect2 id="commandline-interfaces-make">
+ <title>Adding the extra makefile rules</title>
+
+ <para>
+ <example><title>Extra configure checks</title>
+ <programlisting>
+<![CDATA[
+man_MANS = \
+ meeper.1
+
+if ENABLE_GTK_DOC
+if ENABLE_MAN
+
+%.1 : %.xml
+ @XSLTPROC@ -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
+
+endif
+endif
+
+BUILT_EXTRA_DIST = $(man_MANS)
+EXTRA_DIST += meep.xml
+]]>
+ </programlisting>
+ </example>
+ </para>
+ </sect2>
+ </sect1>
+
+ <sect1 id="dbus-interfaces">
+ <title>DBus interfaces</title>
+
+ <para>
+ (FIXME: http://hal.freedesktop.org/docs/DeviceKit/DeviceKit.html,
+http://cgit.freedesktop.org/DeviceKit/DeviceKit/tree/doc/dbus)
+ </para>
+ </sect1>
+
+ </chapter>
+
+ <chapter id="faq">
+ <title>Frequently asked questions</title>
+
+ <segmentedlist>
+ <?dbhtml list-presentation="list"?>
+ <segtitle>Question</segtitle>
+ <segtitle>Answer</segtitle>
+ <seglistitem>
+ <seg>No class hierarchy.</seg>
+ <seg>
+ The objects <function>xxx_get_type()</function> function has not been
+ entered into the <filename><package>.types</filename> file.
+ </seg>
+ </seglistitem>
+ <seglistitem>
+ <seg>Still no class hierarchy.</seg>
+ <seg>
+ Missing or wrong naming in <filename><package>-sections.txt</filename>
+ file (see <ulink url="http://mail.gnome.org/archives/gtk-doc-list/2003-October/msg00006.html">explanation</ulink>).
+ </seg>
+ </seglistitem>
+ <seglistitem>
+ <seg>Damn, I have still no class hierarchy.</seg>
+ <seg>
+ Is the object name (name of the instance struct, e.g. <type>GtkWidget</type>)
+ part of the normal section (don't put this into Standard or Private
+ subsections).
+ </seg>
+ </seglistitem>
+ <seglistitem>
+ <seg>No symbol index.</seg>
+ <seg>
+ Does the <filename><package>-docs.{xml,sgml}</filename> contain a
+ index that xi:includes the generated index?
+ </seg>
+ </seglistitem>
+ <seglistitem>
+ <seg>Symbols are not linked to their doc-section.</seg>
+ <seg>
+ Is the doc-comment using the correct markup (added #,% or ())?
+ Check if the gtkdoc-fixxref warns about unresolvable xrefs.
+ </seg>
+ </seglistitem>
+ <seglistitem>
+ <seg>A new class does not appear in the docs.</seg>
+ <seg>
+ Is the new page xi:included from
+ <filename><package>-docs.{xml,sgml}</filename>.
+ </seg>
+ </seglistitem>
+ <seglistitem>
+ <seg>A new symbol does not appear in the docs.</seg>
+ <seg>
+ Is the doc-comment properly formatted. Check for spelling mistakes in
+ the begin of the comment. Check if the gtkdoc-fixxref warns about
+ unresolvable xrefs. Check if the symbol is correctly listed in the
+ <filename><package>-sections.txt</filename> in a public subsection.
+ </seg>
+ </seglistitem>
+ <seglistitem>
+ <seg>A type is missing from the class hierarchy.</seg>
+ <seg>
+ If the type is listed in <filename><package>.hierarchy</filename>
+ but not in <filename>xml/tree_index.sgml</filename> then double check
+ that the type is correctly placed in the <filename><package>-sections.txt</filename>.
+ If the type instance (e.g. <type>GtkWidget</type>) is not listed or
+ incidentialy makred private it will not be shown.
+ </seg>
+ </seglistitem>
+ <seglistitem>
+ <seg>I get foldoc links for all gobject annotations.</seg>
+ <seg>
+ Check that <filename>xml/annotation-glossary.xml</filename> is
+ xi:included from <filename><package>-docs.{xml,sgml}</filename>.
+ </seg>
+ </seglistitem>
+
+ <!-- gtk-doc warnings: -->
+ <seglistitem>
+ <seg>Parameter described in source code comment block but does not exist</seg>
+ <seg>Check if the prototype in the header has different parameter names as in the source.</seg>
+ </seglistitem>
+
+ <!-- docbook warnings: -->
+ <seglistitem>
+ <seg>multiple "IDs" for constraint linkend: XYZ</seg>
+ <seg>Symbol XYZ appears twice in <filename><package>-sections.txt</filename> file.</seg>
+ </seglistitem>
+ <seglistitem>
+ <seg>Element typename in namespace '' encountered in para, but no template matches.</seg>
+ <seg/>
+ </seglistitem>
+ </segmentedlist>
+ </chapter>
+
+ <chapter id="contrib">
+ <title>Tools related to gtk-doc</title>
+
+ <para>
+ GtkDocPlugin - a <ulink url="http://trac-hacks.org/wiki/GtkDocPlugin">Trac GTK-Doc</ulink>
+ integration plugin, that adds api docs to a trac site and integrates with
+ the trac search.
+ </para>
+ <para>
+ Gtkdoc-depscan - a tool (part of gtk-doc) to check used API against since
+ tags in the api to determine the minimum required version.
+ </para>
+
+ </chapter>
+
+ <!-- ======== Appendix: FDL ================================== -->
+ <!--
+ The GNU Free Documentation License 1.1 in DocBook
+ Markup by Eric Baudais <baudais@okstate.edu>
+ Maintained by the GNOME Documentation Project
+ http://developer.gnome.org/projects/gdp
+ Version: 1.0.1
+ Last Modified: Nov 16, 2000
+-->
+
+<appendix id="fdl">
+ <appendixinfo>
+ <releaseinfo>
+ Version 1.1, March 2000
+ </releaseinfo>
+ <copyright>
+ <year>2000</year><holder>Free Software Foundation, Inc.</holder>
+ </copyright>
+ <legalnotice id="fdl-legalnotice">
+ <para>
+ <address>Free Software Foundation, Inc. <street>51 Franklin Street,
+ Suite 330</street>, <city>Boston</city>, <state>MA</state>
+ <postcode>02110-1301</postcode> <country>USA</country></address>
+ Everyone is permitted to copy and distribute verbatim copies of this
+ license document, but changing it is not allowed.
+ </para>
+ </legalnotice>
+ </appendixinfo>
+ <title>GNU Free Documentation License</title>
+
+ <sect1 id="fdl-preamble">
+ <title>0. PREAMBLE</title>
+ <para>
+ The purpose of this License is to make a manual, textbook, or
+ other written document <quote>free</quote> in the sense of
+ freedom: to assure everyone the effective freedom to copy and
+ redistribute it, with or without modifying it, either
+ commercially or noncommercially. Secondarily, this License
+ preserves for the author and publisher a way to get credit for
+ their work, while not being considered responsible for
+ modifications made by others.
+ </para>
+
+ <para>
+ This License is a kind of <quote>copyleft</quote>, which means
+ that derivative works of the document must themselves be free in
+ the same sense. It complements the GNU General Public License,
+ which is a copyleft license designed for free software.
+ </para>
+
+ <para>
+ We have designed this License in order to use it for manuals for
+ free software, because free software needs free documentation: a
+ free program should come with manuals providing the same
+ freedoms that the software does. But this License is not limited
+ to software manuals; it can be used for any textual work,
+ regardless of subject matter or whether it is published as a
+ printed book. We recommend this License principally for works
+ whose purpose is instruction or reference.
+ </para>
+ </sect1>
+ <sect1 id="fdl-section1">
+ <title>1. APPLICABILITY AND DEFINITIONS</title>
+ <para id="fdl-document">
+ This License applies to any manual or other work that contains a
+ notice placed by the copyright holder saying it can be
+ distributed under the terms of this License. The
+ <quote>Document</quote>, below, refers to any such manual or
+ work. Any member of the public is a licensee, and is addressed
+ as <quote>you</quote>.
+ </para>
+
+ <para id="fdl-modified">
+ A <quote>Modified Version</quote> of the Document means any work
+ containing the Document or a portion of it, either copied
+ verbatim, or with modifications and/or translated into another
+ language.
+ </para>
+
+ <para id="fdl-secondary">
+ A <quote>Secondary Section</quote> is a named appendix or a
+ front-matter section of the <link linkend="fdl-document">Document</link> that deals exclusively
+ with the relationship of the publishers or authors of the
+ Document to the Document's overall subject (or to related
+ matters) and contains nothing that could fall directly within
+ that overall subject. (For example, if the Document is in part a
+ textbook of mathematics, a Secondary Section may not explain any
+ mathematics.) The relationship could be a matter of historical
+ connection with the subject or with related matters, or of
+ legal, commercial, philosophical, ethical or political position
+ regarding them.
+ </para>
+
+ <para id="fdl-invariant">
+ The <quote>Invariant Sections</quote> are certain <link linkend="fdl-secondary"> Secondary Sections</link> whose titles
+ are designated, as being those of Invariant Sections, in the
+ notice that says that the <link linkend="fdl-document">Document</link> is released under this
+ License.
+ </para>
+
+ <para id="fdl-cover-texts">
+ The <quote>Cover Texts</quote> are certain short passages of
+ text that are listed, as Front-Cover Texts or Back-Cover Texts,
+ in the notice that says that the <link linkend="fdl-document">Document</link> is released under this
+ License.
+ </para>
+
+ <para id="fdl-transparent">
+ A <quote>Transparent</quote> copy of the <link linkend="fdl-document"> Document</link> means a machine-readable
+ copy, represented in a format whose specification is available
+ to the general public, whose contents can be viewed and edited
+ directly and straightforwardly with generic text editors or (for
+ images composed of pixels) generic paint programs or (for
+ drawings) some widely available drawing editor, and that is
+ suitable for input to text formatters or for automatic
+ translation to a variety of formats suitable for input to text
+ formatters. A copy made in an otherwise Transparent file format
+ whose markup has been designed to thwart or discourage
+ subsequent modification by readers is not Transparent. A copy
+ that is not <quote>Transparent</quote> is called
+ <quote>Opaque</quote>.
+ </para>
+
+ <para>
+ Examples of suitable formats for Transparent copies include
+ plain ASCII without markup, Texinfo input format, LaTeX input
+ format, SGML or XML using a publicly available DTD, and
+ standard-conforming simple HTML designed for human
+ modification. Opaque formats include PostScript, PDF,
+ proprietary formats that can be read and edited only by
+ proprietary word processors, SGML or XML for which the DTD
+ and/or processing tools are not generally available, and the
+ machine-generated HTML produced by some word processors for
+ output purposes only.
+ </para>
+
+ <para id="fdl-title-page">
+ The <quote>Title Page</quote> means, for a printed book, the
+ title page itself, plus such following pages as are needed to
+ hold, legibly, the material this License requires to appear in
+ the title page. For works in formats which do not have any title
+ page as such, <quote>Title Page</quote> means the text near the
+ most prominent appearance of the work's title, preceding the
+ beginning of the body of the text.
+ </para>
+ </sect1>
+
+ <sect1 id="fdl-section2">
+ <title>2. VERBATIM COPYING</title>
+ <para>
+ You may copy and distribute the <link linkend="fdl-document">Document</link> in any medium, either
+ commercially or noncommercially, provided that this License, the
+ copyright notices, and the license notice saying this License
+ applies to the Document are reproduced in all copies, and that
+ you add no other conditions whatsoever to those of this
+ License. You may not use technical measures to obstruct or
+ control the reading or further copying of the copies you make or
+ distribute. However, you may accept compensation in exchange for
+ copies. If you distribute a large enough number of copies you
+ must also follow the conditions in <link linkend="fdl-section3">section 3</link>.
+ </para>
+
+ <para>
+ You may also lend copies, under the same conditions stated
+ above, and you may publicly display copies.
+ </para>
+ </sect1>
+
+ <sect1 id="fdl-section3">
+ <title>3. COPYING IN QUANTITY</title>
+ <para>
+ If you publish printed copies of the <link linkend="fdl-document">Document</link> numbering more than 100,
+ and the Document's license notice requires <link linkend="fdl-cover-texts">Cover Texts</link>, you must enclose
+ the copies in covers that carry, clearly and legibly, all these
+ Cover Texts: Front-Cover Texts on the front cover, and
+ Back-Cover Texts on the back cover. Both covers must also
+ clearly and legibly identify you as the publisher of these
+ copies. The front cover must present the full title with all
+ words of the title equally prominent and visible. You may add
+ other material on the covers in addition. Copying with changes
+ limited to the covers, as long as they preserve the title of the
+ <link linkend="fdl-document">Document</link> and satisfy these
+ conditions, can be treated as verbatim copying in other
+ respects.
+ </para>
+
+ <para>
+ If the required texts for either cover are too voluminous to fit
+ legibly, you should put the first ones listed (as many as fit
+ reasonably) on the actual cover, and continue the rest onto
+ adjacent pages.
+ </para>
+
+ <para>
+ If you publish or distribute <link linkend="fdl-transparent">Opaque</link> copies of the <link linkend="fdl-document">Document</link> numbering more than 100,
+ you must either include a machine-readable <link linkend="fdl-transparent">Transparent</link> copy along with
+ each Opaque copy, or state in or with each Opaque copy a
+ publicly-accessible computer-network location containing a
+ complete Transparent copy of the Document, free of added
+ material, which the general network-using public has access to
+ download anonymously at no charge using public-standard network
+ protocols. If you use the latter option, you must take
+ reasonably prudent steps, when you begin distribution of Opaque
+ copies in quantity, to ensure that this Transparent copy will
+ remain thus accessible at the stated location until at least one
+ year after the last time you distribute an Opaque copy (directly
+ or through your agents or retailers) of that edition to the
+ public.
+ </para>
+
+ <para>
+ It is requested, but not required, that you contact the authors
+ of the <link linkend="fdl-document">Document</link> well before
+ redistributing any large number of copies, to give them a chance
+ to provide you with an updated version of the Document.
+ </para>
+ </sect1>
+
+ <sect1 id="fdl-section4">
+ <title>4. MODIFICATIONS</title>
+ <para>
+ You may copy and distribute a <link linkend="fdl-modified">Modified Version</link> of the <link linkend="fdl-document">Document</link> under the conditions of
+ sections <link linkend="fdl-section2">2</link> and <link linkend="fdl-section3">3</link> above, provided that you release
+ the Modified Version under precisely this License, with the
+ Modified Version filling the role of the Document, thus
+ licensing distribution and modification of the Modified Version
+ to whoever possesses a copy of it. In addition, you must do
+ these things in the Modified Version:
+ </para>
+
+ <itemizedlist mark="opencircle">
+ <listitem>
+ <formalpara>
+ <title>A</title>
+ <para>
+ Use in the <link linkend="fdl-title-page">Title
+ Page</link> (and on the covers, if any) a title distinct
+ from that of the <link linkend="fdl-document">Document</link>, and from those of
+ previous versions (which should, if there were any, be
+ listed in the History section of the Document). You may
+ use the same title as a previous version if the original
+ publisher of that version gives permission.
+ </para>
+ </formalpara>
+ </listitem>
+
+ <listitem>
+ <formalpara>
+ <title>B</title>
+ <para>
+ List on the <link linkend="fdl-title-page">Title
+ Page</link>, as authors, one or more persons or entities
+ responsible for authorship of the modifications in the
+ <link linkend="fdl-modified">Modified Version</link>,
+ together with at least five of the principal authors of
+ the <link linkend="fdl-document">Document</link> (all of
+ its principal authors, if it has less than five).
+ </para>
+ </formalpara>
+ </listitem>
+
+ <listitem>
+ <formalpara>
+ <title>C</title>
+ <para>
+ State on the <link linkend="fdl-title-page">Title
+ Page</link> the name of the publisher of the <link linkend="fdl-modified">Modified Version</link>, as the
+ publisher.
+ </para>
+ </formalpara>
+ </listitem>
+
+ <listitem>
+ <formalpara>
+ <title>D</title>
+ <para>
+ Preserve all the copyright notices of the <link linkend="fdl-document">Document</link>.
+ </para>
+ </formalpara>
+ </listitem>
+
+ <listitem>
+ <formalpara>
+ <title>E</title>
+ <para>
+ Add an appropriate copyright notice for your modifications
+ adjacent to the other copyright notices.
+ </para>
+ </formalpara>
+ </listitem>
+
+ <listitem>
+ <formalpara>
+ <title>F</title>
+ <para>
+ Include, immediately after the copyright notices, a
+ license notice giving the public permission to use the
+ <link linkend="fdl-modified">Modified Version</link> under
+ the terms of this License, in the form shown in the
+ Addendum below.
+ </para>
+ </formalpara>
+ </listitem>
+
+ <listitem>
+ <formalpara>
+ <title>G</title>
+ <para>
+ Preserve in that license notice the full lists of <link linkend="fdl-invariant"> Invariant Sections</link> and
+ required <link linkend="fdl-cover-texts">Cover
+ Texts</link> given in the <link linkend="fdl-document">Document's</link> license notice.
+ </para>
+ </formalpara>
+ </listitem>
+
+ <listitem>
+ <formalpara>
+ <title>H</title>
+ <para>
+ Include an unaltered copy of this License.
+ </para>
+ </formalpara>
+ </listitem>
+
+ <listitem>
+ <formalpara>
+ <title>I</title>
+ <para>
+ Preserve the section entitled <quote>History</quote>, and
+ its title, and add to it an item stating at least the
+ title, year, new authors, and publisher of the <link linkend="fdl-modified">Modified Version </link>as given on
+ the <link linkend="fdl-title-page">Title Page</link>. If
+ there is no section entitled <quote>History</quote> in the
+ <link linkend="fdl-document">Document</link>, create one
+ stating the title, year, authors, and publisher of the
+ Document as given on its Title Page, then add an item
+ describing the Modified Version as stated in the previous
+ sentence.
+ </para>
+ </formalpara>
+ </listitem>
+
+ <listitem>
+ <formalpara>
+ <title>J</title>
+ <para>
+ Preserve the network location, if any, given in the <link linkend="fdl-document">Document</link> for public access
+ to a <link linkend="fdl-transparent">Transparent</link>
+ copy of the Document, and likewise the network locations
+ given in the Document for previous versions it was based
+ on. These may be placed in the <quote>History</quote>
+ section. You may omit a network location for a work that
+ was published at least four years before the Document
+ itself, or if the original publisher of the version it
+ refers to gives permission.
+ </para>
+ </formalpara>
+ </listitem>
+
+ <listitem>
+ <formalpara>
+ <title>K</title>
+ <para>
+ In any section entitled <quote>Acknowledgements</quote> or
+ <quote>Dedications</quote>, preserve the section's title,
+ and preserve in the section all the substance and tone of
+ each of the contributor acknowledgements and/or
+ dedications given therein.
+ </para>
+ </formalpara>
+ </listitem>
+
+ <listitem>
+ <formalpara>
+ <title>L</title>
+ <para>
+ Preserve all the <link linkend="fdl-invariant">Invariant
+ Sections</link> of the <link linkend="fdl-document">Document</link>, unaltered in their
+ text and in their titles. Section numbers or the
+ equivalent are not considered part of the section titles.
+ </para>
+ </formalpara>
+ </listitem>
+
+ <listitem>
+ <formalpara>
+ <title>M</title>
+ <para>
+ Delete any section entitled
+ <quote>Endorsements</quote>. Such a section may not be
+ included in the <link linkend="fdl-modified">Modified
+ Version</link>.
+ </para>
+ </formalpara>
+ </listitem>
+
+ <listitem>
+ <formalpara>
+ <title>N</title>
+ <para>
+ Do not retitle any existing section as
+ <quote>Endorsements</quote> or to conflict in title with
+ any <link linkend="fdl-invariant">Invariant
+ Section</link>.
+ </para>
+ </formalpara>
+ </listitem>
+ </itemizedlist>
+
+ <para>
+ If the <link linkend="fdl-modified">Modified Version</link>
+ includes new front-matter sections or appendices that qualify as
+ <link linkend="fdl-secondary">Secondary Sections</link> and
+ contain no material copied from the Document, you may at your
+ option designate some or all of these sections as invariant. To
+ do this, add their titles to the list of <link linkend="fdl-invariant">Invariant Sections</link> in the
+ Modified Version's license notice. These titles must be
+ distinct from any other section titles.
+ </para>
+
+ <para>
+ You may add a section entitled <quote>Endorsements</quote>,
+ provided it contains nothing but endorsements of your <link linkend="fdl-modified">Modified Version</link> by various
+ parties--for example, statements of peer review or that the text
+ has been approved by an organization as the authoritative
+ definition of a standard.
+ </para>
+
+ <para>
+ You may add a passage of up to five words as a <link linkend="fdl-cover-texts">Front-Cover Text</link>, and a passage
+ of up to 25 words as a <link linkend="fdl-cover-texts">Back-Cover Text</link>, to the end of
+ the list of <link linkend="fdl-cover-texts">Cover Texts</link>
+ in the <link linkend="fdl-modified">Modified Version</link>.
+ Only one passage of Front-Cover Text and one of Back-Cover Text
+ may be added by (or through arrangements made by) any one
+ entity. If the <link linkend="fdl-document">Document</link>
+ already includes a cover text for the same cover, previously
+ added by you or by arrangement made by the same entity you are
+ acting on behalf of, you may not add another; but you may
+ replace the old one, on explicit permission from the previous
+ publisher that added the old one.
+ </para>
+
+ <para>
+ The author(s) and publisher(s) of the <link linkend="fdl-document">Document</link> do not by this License
+ give permission to use their names for publicity for or to
+ assert or imply endorsement of any <link linkend="fdl-modified">Modified Version </link>.
+ </para>
+ </sect1>
+
+ <sect1 id="fdl-section5">
+ <title>5. COMBINING DOCUMENTS</title>
+ <para>
+ You may combine the <link linkend="fdl-document">Document</link>
+ with other documents released under this License, under the
+ terms defined in <link linkend="fdl-section4">section 4</link>
+ above for modified versions, provided that you include in the
+ combination all of the <link linkend="fdl-invariant">Invariant
+ Sections</link> of all of the original documents, unmodified,
+ and list them all as Invariant Sections of your combined work in
+ its license notice.
+ </para>
+
+ <para>
+ The combined work need only contain one copy of this License,
+ and multiple identical <link linkend="fdl-invariant">Invariant
+ Sections</link> may be replaced with a single copy. If there are
+ multiple Invariant Sections with the same name but different
+ contents, make the title of each such section unique by adding
+ at the end of it, in parentheses, the name of the original
+ author or publisher of that section if known, or else a unique
+ number. Make the same adjustment to the section titles in the
+ list of Invariant Sections in the license notice of the combined
+ work.
+ </para>
+
+ <para>
+ In the combination, you must combine any sections entitled
+ <quote>History</quote> in the various original documents,
+ forming one section entitled <quote>History</quote>; likewise
+ combine any sections entitled <quote>Acknowledgements</quote>,
+ and any sections entitled <quote>Dedications</quote>. You must
+ delete all sections entitled <quote>Endorsements.</quote>
+ </para>
+ </sect1>
+
+ <sect1 id="fdl-section6">
+ <title>6. COLLECTIONS OF DOCUMENTS</title>
+ <para>
+ You may make a collection consisting of the <link linkend="fdl-document">Document</link> and other documents
+ released under this License, and replace the individual copies
+ of this License in the various documents with a single copy that
+ is included in the collection, provided that you follow the
+ rules of this License for verbatim copying of each of the
+ documents in all other respects.
+ </para>
+
+ <para>
+ You may extract a single document from such a collection, and
+ dispbibute it individually under this License, provided you
+ insert a copy of this License into the extracted document, and
+ follow this License in all other respects regarding verbatim
+ copying of that document.
+ </para>
+ </sect1>
+
+ <sect1 id="fdl-section7">
+ <title>7. AGGREGATION WITH INDEPENDENT WORKS</title>
+ <para>
+ A compilation of the <link linkend="fdl-document">Document</link> or its derivatives with
+ other separate and independent documents or works, in or on a
+ volume of a storage or distribution medium, does not as a whole
+ count as a <link linkend="fdl-modified">Modified Version</link>
+ of the Document, provided no compilation copyright is claimed
+ for the compilation. Such a compilation is called an
+ <quote>aggregate</quote>, and this License does not apply to the
+ other self-contained works thus compiled with the Document , on
+ account of their being thus compiled, if they are not themselves
+ derivative works of the Document. If the <link linkend="fdl-cover-texts">Cover Text</link> requirement of <link linkend="fdl-section3">section 3</link> is applicable to these
+ copies of the Document, then if the Document is less than one
+ quarter of the entire aggregate, the Document's Cover Texts may
+ be placed on covers that surround only the Document within the
+ aggregate. Otherwise they must appear on covers around the whole
+ aggregate.
+ </para>
+ </sect1>
+
+ <sect1 id="fdl-section8">
+ <title>8. TRANSLATION</title>
+ <para>
+ Translation is considered a kind of modification, so you may
+ distribute translations of the <link linkend="fdl-document">Document</link> under the terms of <link linkend="fdl-section4">section 4</link>. Replacing <link linkend="fdl-invariant"> Invariant Sections</link> with
+ translations requires special permission from their copyright
+ holders, but you may include translations of some or all
+ Invariant Sections in addition to the original versions of these
+ Invariant Sections. You may include a translation of this
+ License provided that you also include the original English
+ version of this License. In case of a disagreement between the
+ translation and the original English version of this License,
+ the original English version will prevail.
+ </para>
+ </sect1>
+
+ <sect1 id="fdl-section9">
+ <title>9. TERMINATION</title>
+ <para>
+ You may not copy, modify, sublicense, or distribute the <link linkend="fdl-document">Document</link> except as expressly
+ provided for under this License. Any other attempt to copy,
+ modify, sublicense or distribute the Document is void, and will
+ automatically terminate your rights under this License. However,
+ parties who have received copies, or rights, from you under this
+ License will not have their licenses terminated so long as such
+ parties remain in full compliance.
+ </para>
+ </sect1>
+
+ <sect1 id="fdl-section10">
+ <title>10. FUTURE REVISIONS OF THIS LICENSE</title>
+ <para>
+ The <ulink type="http" url="http://www.gnu.org/fsf/fsf.html">Free Software
+ Foundation</ulink> may publish new, revised versions of the GNU
+ Free Documentation License from time to time. Such new versions
+ will be similar in spirit to the present version, but may differ
+ in detail to address new problems or concerns. See <ulink type="http" url="http://www.gnu.org/copyleft">http://www.gnu.org/copyleft/</ulink>.
+ </para>
+
+ <para>
+ Each version of the License is given a distinguishing version
+ number. If the <link linkend="fdl-document">Document</link>
+ specifies that a particular numbered version of this License
+ <quote>or any later version</quote> applies to it, you have the
+ option of following the terms and conditions either of that
+ specified version or of any later version that has been
+ published (not as a draft) by the Free Software Foundation. If
+ the Document does not specify a version number of this License,
+ you may choose any version ever published (not as a draft) by
+ the Free Software Foundation.
+ </para>
+ </sect1>
+
+ <sect1 id="fdl-using">
+ <title>Addendum</title>
+ <para>
+ To use this License in a document you have written, include a copy of
+ the License in the document and put the following copyright and
+ license notices just after the title page:
+ </para>
+
+ <blockquote>
+ <para>
+ Copyright YEAR YOUR NAME.
+ </para>
+ <para>
+ Permission is granted to copy, distribute and/or modify this
+ document under the terms of the GNU Free Documentation
+ License, Version 1.1 or any later version published by the
+ Free Software Foundation; with the <link linkend="fdl-invariant">Invariant Sections</link> being LIST
+ THEIR TITLES, with the <link linkend="fdl-cover-texts">Front-Cover Texts</link> being LIST,
+ and with the <link linkend="fdl-cover-texts">Back-Cover
+ Texts</link> being LIST. A copy of the license is included in
+ the section entitled <quote>GNU Free Documentation
+ License</quote>.
+ </para>
+ </blockquote>
+
+ <para>
+ If you have no <link linkend="fdl-invariant">Invariant
+ Sections</link>, write <quote>with no Invariant Sections</quote>
+ instead of saying which ones are invariant. If you have no
+ <link linkend="fdl-cover-texts">Front-Cover Texts</link>, write
+ <quote>no Front-Cover Texts</quote> instead of
+ <quote>Front-Cover Texts being LIST</quote>; likewise for <link linkend="fdl-cover-texts">Back-Cover Texts</link>.
+ </para>
+
+ <para>
+ If your document contains nontrivial examples of program code,
+ we recommend releasing these examples in parallel under your
+ choice of free software license, such as the <ulink type="http" url="http://www.gnu.org/copyleft/gpl.html"> GNU General Public
+ License</ulink>, to permit their use in free software.
+ </para>
+ </sect1>
+</appendix>
+
+
+
+
+
+
+
+
+</book>
--- /dev/null
+# translation of gtk-doc-help.master.po to Telugu
+# Krishna Babu K <kkrothap@redhat.com>, 2010.
+msgid ""
+msgstr ""
+"Project-Id-Version: gtk-doc-help.master\n"
+"POT-Creation-Date: 2010-01-25 11:38+0000\n"
+"PO-Revision-Date: 2010-02-03 18:39+0530\n"
+"Last-Translator: Krishna Babu K <kkrothap@redhat.com>\n"
+"Language-Team: Telugu <en@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.11.4\n"
+"Plural-Forms: nplurals=2; plural=(n!=1);\n\n"
+"\n"
+
+#: C/gtk-doc-manual.xml:12(title)
+msgid "GTK-Doc Manual"
+msgstr "GTK-Doc మాన్యుయల్"
+
+#: C/gtk-doc-manual.xml:13(edition) C/gtk-doc-manual.xml:92(revnumber)
+msgid "1.12"
+msgstr "1.12"
+
+#: C/gtk-doc-manual.xml:14(para)
+msgid "User manual for developers with instructions of GTK-Doc usage."
+msgstr "GTK-Doc వినియోగపు సూచనలతో అభివృద్దికారుల కొరకు వినియోగదారి మాన్యుయల్."
+
+#: C/gtk-doc-manual.xml:17(firstname)
+msgid "Chris"
+msgstr "క్రిస్"
+
+#: C/gtk-doc-manual.xml:18(surname)
+msgid "Lyttle"
+msgstr "లిట్టిల్"
+
+#: C/gtk-doc-manual.xml:21(email)
+msgid "chris@wilddev.net"
+msgstr "chris@wilddev.net"
+
+#: C/gtk-doc-manual.xml:26(firstname)
+msgid "Dan"
+msgstr "డాన్"
+
+#: C/gtk-doc-manual.xml:27(surname)
+msgid "Mueth"
+msgstr "ముయెత్"
+
+#: C/gtk-doc-manual.xml:30(email)
+msgid "d-mueth@uchicago.edu"
+msgstr "d-mueth@uchicago.edu"
+
+#: C/gtk-doc-manual.xml:35(firstname)
+msgid "Stefan"
+msgstr "స్టిఫెన్"
+
+#: C/gtk-doc-manual.xml:36(surname)
+msgid "Kost"
+msgstr "కోస్ట్"
+
+#: C/gtk-doc-manual.xml:39(email)
+msgid "ensonic@users.sf.net"
+msgstr "ensonic@users.sf.net"
+
+#: C/gtk-doc-manual.xml:45(publishername)
+msgid "GTK-Doc project"
+msgstr "GTK-Doc ప్రోజెక్ట్"
+
+#: C/gtk-doc-manual.xml:46(email)
+msgid "gtk-doc-list@gnome.org"
+msgstr "gtk-doc-list@gnome.org"
+
+#: C/gtk-doc-manual.xml:49(year)
+msgid "2000, 2005, 2007-2009"
+msgstr "2000, 2005, 2007-2009"
+
+#: C/gtk-doc-manual.xml:50(holder)
+msgid "Dan Mueth and Chris Lyttle and Stefan Kost"
+msgstr "డాన్ ముయెత్ మరియు క్రిస్ లిట్టిల్ మరియు స్టిఫెన్ కోస్ట్"
+
+#: C/gtk-doc-manual.xml:61(para)
+msgid "Permission is granted to copy, distribute and/or modify this document under the terms of the <citetitle>GNU Free Documentation License</citetitle>, Version 1.1 or any later version published by the Free Software Foundation with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is <link linkend=\"fdl\">included</link>."
+msgstr ""
+"ఎటువంటి ఫ్రంట్-కవర్ పాఠ్యములు, మరియు బ్యాక్-కవర్ పాఠ్యములు లేకుండా, ఫ్రీ సాఫ్టువేరు ఫౌండేషన్ ద్వారా "
+"ప్రచురితమైన వర్షన్ 1.1 లేదా దాని తర్వాత వర్షన్ <citetitle>GNU Free Documentation License</citetitle> "
+"నియమాలకు లోబడి ఈ పత్రమును నకలు తీయుటకు, పంపిణీ చేయుటకు మరియు/లేదా సవరించుటకు అనుమతి యివ్వబడింది. "
+"లైసెన్సు యొక్క నకలు <link linkend=\"fdl\">చేర్చబడింది</link>.న్ ద్వారా ప్రచురితమై,"
+
+#: C/gtk-doc-manual.xml:69(para)
+msgid "Many of the names used by companies to distinguish their products and services are claimed as trademarks. Where those names appear in any GNOME documentation, and those trademarks are made aware to the members of the GNOME Documentation Project, the names have been printed in caps or initial caps."
+msgstr ""
+"కంపెనీలు వాటి వుత్పత్తులను మరియు సేవలను వర్గీకరించుటకు వుపయోగించు చాలా వరకు నామములు ట్రేడ్మార్కులుగా "
+"హక్కు కలిగివుంటాయి. అవి GNOME పత్రికీకరణనందు కనిపించునప్పుడు, మరియు GNOME Documentation "
+"Project సభ్యలు ఆ ట్రేడ్మార్కులను గుర్తించుటకు, ఆనామములు పెద్ద అక్షరములలో లేదా మొదటి అక్షరం పెద్ద అక్షరంగా "
+"ముద్రించబడతాయి."
+
+#: C/gtk-doc-manual.xml:80(revnumber)
+msgid "1.14"
+msgstr "1.14"
+
+#: C/gtk-doc-manual.xml:81(date)
+msgid "19 December 2009"
+msgstr "19 డిసెంబర్ 2009"
+
+#: C/gtk-doc-manual.xml:82(authorinitials) C/gtk-doc-manual.xml:88(authorinitials) C/gtk-doc-manual.xml:94(authorinitials)
+msgid "sk"
+msgstr "sk"
+
+#: C/gtk-doc-manual.xml:83(revremark)
+msgid "development version"
+msgstr "అభివృద్ది వర్షన్"
+
+#: C/gtk-doc-manual.xml:86(revnumber)
+msgid "1.13"
+msgstr "1.13"
+
+#: C/gtk-doc-manual.xml:87(date) C/gtk-doc-manual.xml:93(date)
+msgid "18 December 2009"
+msgstr "18 డిసెంబర్ 2009"
+
+#: C/gtk-doc-manual.xml:89(revremark)
+msgid "broken tarball update"
+msgstr "బ్రోకెన్ టార్బాల్ నవీకరణ"
+
+#: C/gtk-doc-manual.xml:95(revremark)
+msgid "new tool features and bugfixes"
+msgstr "కొత్త సాధనము సౌలభ్యాలు మరియు బగ్పరిష్కారములు"
+
+#: C/gtk-doc-manual.xml:98(revnumber)
+msgid "1.11"
+msgstr "1.11"
+
+#: C/gtk-doc-manual.xml:99(date)
+msgid "16 Novemebr 2008"
+msgstr "16 నవంబర్ 2008"
+
+#: C/gtk-doc-manual.xml:100(authorinitials)
+msgid "mal"
+msgstr "mal"
+
+#: C/gtk-doc-manual.xml:101(revremark)
+msgid "GNOME doc-utils migration"
+msgstr "GNOME doc-utils మైగ్రేషన్"
+
+#: C/gtk-doc-manual.xml:110(title)
+msgid "Introduction"
+msgstr "పరిచయం"
+
+#: C/gtk-doc-manual.xml:112(para)
+msgid "This chapter introduces GTK-Doc and gives an overview of what it is and how it is used."
+msgstr ""
+"ఈ అధ్యాయము GTK-Docను పరిచయం చేస్తుంది మరియు అది యేమిచేస్తుంది దానిని యెలా వుపయోగించాలి అనేదానిపై "
+"సంక్షిప్తంగా వివరిస్తుంది."
+
+#: C/gtk-doc-manual.xml:118(title)
+msgid "What is GTK-Doc?"
+msgstr "GTK-Doc అంటే యేమిటి?"
+
+#: C/gtk-doc-manual.xml:120(para)
+msgid "GTK-Doc is used to document C code. It is typically used to document the public API of libraries, such as the GTK+ and GNOME libraries. But it can also be used to document application code."
+msgstr ""
+"GTK-Doc అనునది C కోడ్ను పత్రికీకరణ చేయుటకు వుపయోగించబడింది. ఇది ముఖ్యంగా GTK+ మరియు "
+"GNOME వంటి లైబ్రరీల పబ్లిక్ API పత్రికీకరణకు వుపయోగించబడింది. అయితే యిది అనువర్తనము కోడ్ను "
+"పత్రికీకరణ చేయుటకు కూడా వుపయోగించవచ్చును."
+
+#: C/gtk-doc-manual.xml:128(title)
+msgid "How Does GTK-Doc Work?"
+msgstr "GTK-Doc యెలా పనిచేయును?"
+
+#: C/gtk-doc-manual.xml:130(para)
+msgid "GTK-Doc works by using documentation of functions placed inside the source files in specially-formatted comment blocks, or documentation added to the template files which GTK-Doc uses (though note that GTK-Doc will only document functions that are declared in header files; it won't produce output for static functions)."
+msgstr ""
+"GTK-Doc అనునది మూలపు(సోర్స్) ఫైళ్ళ యొక్క ఫంక్షన్స్ నందు ప్రత్యేకించి-రూపొందించిన కామెంట్ బ్లాక్స్ నందలి "
+"పత్రికీకరణను వుపయోగించి పనిచేయును, లేదా GTK-Doc వుపయోగించే మాదిరి(టెంప్లేట్) ఫైళ్ళకు జతచేసిన "
+"పత్రికీకరణను వుపయోగించును (GTK-Doc హెడర్ ఫైళ్ళ నందు డిక్లేర్ చేసివున్న ఫంక్షన్లకు మాత్రమే పత్రికీకరణ "
+"యిచ్చును; అది స్టాటిక్ ఫంక్షన్ల కొరకు అవుట్పుట్ అందించదు)."
+
+#: C/gtk-doc-manual.xml:137(para)
+msgid "GTK-Doc consists of a number of perl scripts, each performing a different step in the process."
+msgstr "GTK-Doc చాలా పెర్ల్ స్క్రిప్టులను కలిగివుంది, ప్రతిది వేరువేరు స్టెప్పును కార్యక్రమమునందు జరుపును."
+
+#: C/gtk-doc-manual.xml:142(para)
+msgid "There are 5 main steps in the process:"
+msgstr "అక్కడ కార్యక్రమమునందు 5 ముఖ్య స్టెప్పులు వున్నవి:"
+
+#: C/gtk-doc-manual.xml:149(para)
+msgid "<guilabel>Writing the documentation.</guilabel> The author fills in the source files with the documentation for each function, macro, union etc. (In the past information was entered in generated template files, which is not recommended anymore)."
+msgstr ""
+"<guilabel>పత్రికీకరణను వ్రాయుట.</guilabel> మూలకర్త(ఆథర్) సోర్స్ ఫైళ్ళనందు ప్రతి ఫంక్షన్కు, మాక్రోకు, "
+"యూనియన్కు పత్రకీకరణను యిస్తాడు. (గతంలో సమాచారమును మాదిరి ఫైళ్ళనందు ప్రవేశపెట్టేవారు, యిది యిప్పడు "
+"సమర్ధించబడదు)."
+
+#: C/gtk-doc-manual.xml:159(para)
+msgid "<guilabel>Gathering information about the code.</guilabel><application>gtkdoc-scan</application> scans the header files of the code looking for declarations of functions, macros, enums, structs, and unions. It creates the file <filename><module>-decl-list.txt</filename> containg a list of the declarations, placing them into sections according to which header file they are in. On the first run this file is copied to <filename><module>-sections.txt</filename> The author can rearrange the sections, and the order of the declarations within them, to produce the final desired order. The second file it generates is <filename><module>-decl.txt</filename>. This file contains the full declarations found by the scanner. If for some reason one would like some sybols to show up in the docs, where the full declaration cannot be found by th scanner or the declaration should appear differently, one can place enties similar to the ones in <filename><module>-decl.txt</filename> into <filename><module>-overrides.txt</filename>. <application>gtkdoc-scanobj</application> can also be used to dynamically query a library about any GtkObject subclasses it exports. It saves information about each object's position in the class hierarchy and about any GTK Args and Signals it provides."
+msgstr ""
+"<guilabel>కోడ్ గురించిన సమాచారమును సేకరిస్తోంది.</guilabel><application>gtkdoc-scan</application> ఫంక్షన్ల, మాక్రోల, ఈనమ్స్,"
+"స్ట్రక్ట్స్, మరియు యూనియన్స్ కొరకు కోడ్ లాకింగ్ యొక్క హెడర్ ఫైళ్ళను స్కాన్ చేస్తుంది. డిక్లరేషన్ల జాబితాను కలిగివున్న <filename><module>-decl-list.txt</filename> ఫైలును యిది సృష్టిస్తుంది, అవి యే హెడర్ ఫైళ్ళనందు వున్నవో దానిని అనుసరించి వాటిని ఆయా విభాగములలో వుంచును. మొదటి సారి"
+"నడిపినప్పుడు ఈ పైలు <filename><module>-sections.txt</filename>కు నకలు తీయబడుతుంది. మూలకర్త విభాగములను తిరిగి"
+"అమర్చగలడు, మరియు వాటి నందలి డిక్లరేషన్ల క్రమమును కూడా, తద్వార చివరిగా కావలసిన క్రమమును పొందును. ఇది జనియింపచేయు రెండవ ఫైలు"
+"<filename><module>-decl.txt</filename>. ఈ ఫైలు స్కానర్ ద్వారా కనుగొనబడిన పూర్తి డిక్లరేషన్లను కలిగివుంటుంది. ఏదోవొక కారణం"
+"చేత యెవరైన పత్రములనందు చిహ్నములను చూపాలని అనుకొంటే, యెక్కడైతే పూర్తి డిక్లరేషన్ స్కానర్ నందు కనుబడదో లేదా డిక్లరేషన్ భిన్నంగా కనిపించాలో అక్కడ,"
+"యెవరైనా <filename><module>-decl.txt</filename>నందు వున్న అంశములకు సమానంగా వున్న వాటిని <filename><module>-overrides.txt</filename>కు వుంచవచ్చును. <application>gtkdoc-scanobj</application> అనునది అది యెగుమతి చేసిన GtkObject"
+"సబ్క్లాసెస్ గురించిన లైబ్రరీను క్వరీ చేయుటకు కూడా వుపయోగించబడును. ఇది క్లాస్ హైరార్కీ నందలి ప్రతి ఆబ్జక్టు యొక్క స్థాన సమాచారాన్ని దాయును మరియు"
+"అది అందించు GTK ఆర్గ్స్ మరియు సంకేతముల సమాచారమును దాయును."
+
+#: C/gtk-doc-manual.xml:184(para)
+msgid "<guilabel>Generating the \"template\" files.</guilabel><application>gtkdoc-mktmpl</application> creates a number of files in the <filename class=\"directory\">tmpl/</filename> subdirectory, using the information gathered in the first step. (Note that this can be run repeatedly. It will try to ensure that no documentation is ever lost.)"
+msgstr ""
+"<guilabel>\"template\" ఫైళ్ళను జనియింపచేస్తోంది.</guilabel> "
+"<application>gtkdoc-mktmpl</application> అనునది ఫైళ్ళను <filename class=\"directory\">tmpl/</filename> వుపసంచయంనందు సృష్టించును, మొదటి స్టెప్పనందు "
+"సేకరించిన సమాచారమును వుపయోగించి. (ఇది పునరావృతంగా నడుపవచ్చునని గమనించండి. ఇది యే పత్రముకూడా "
+"యెప్పటికి పోకుండా వుంచుటకు చూస్తుంది.)"
+
+#: C/gtk-doc-manual.xml:193(para)
+msgid "Since GTK-Doc 1.9 the templates can be avoided. We encourage people to keep documentation in the code. <application>gtkdocize</application> supports now a <option>--flavour no-tmpl</option> option that chooses a makefile that skips tmpl usage totally. If you have never changed file in tmpl by hand, please remove the dir (e.g. from version control system)."
+msgstr ""
+"GTK-Doc 1.9 నుండి మాదిరిలు వదిలివేయబడినవి. మేము అందరిని పత్రికీకరణను కోడ్నందు వుంచమని కోరుచున్నాము. "
+"tmpl వినియోగాన్ని పూర్తిగా వదిలివేసే <option>--flavour no-tmpl</option> ఐచ్చికాన్ని యిప్పుడు "
+"<application>gtkdocize</application> మద్దతించుచున్నది. tmpl నందలి ఫైలును మీరు మానవీయంగా "
+"యెప్పుడూ మార్చివుండకపోతే, దయచేసి డైరెక్టరీను తీసివేయుము(ఉ.దా. వర్షన్ కంట్రోల్ సిస్టమ్ నుండి)."
+
+#: C/gtk-doc-manual.xml:205(para)
+msgid "<guilabel>Generating the SGML/XML and HTML/PDF.</guilabel><application>gtkdoc-mkdb</application> turns the template files into SGML or XML files in the <filename class=\"directory\">sgml/</filename> or <filename class=\"directory\">xml/</filename> subdirectory. If the source code contains documentation on functions, using the special comment blocks, it gets merged in here. If there are no tmpl files used it only reads takes docs from sources and introspection data."
+msgstr ""
+"<guilabel>SGML/XML మరియు HTML/PDF జనియింపచేయుట. </guilabel> "
+"<application>gtkdoc-mkdb</application> అనునది <filename class=\"directory\">sgml/</filename> లేదా <filename class=\"directory\">xml/</filename> నందలి మాదిరి ఫైళ్ళను SGML లేదా XMLకు మార్చును. "
+"ప్రత్యేక కామెంట్ బ్లాక్సు వుపయోగిస్తూ, సోర్సు కోడ్ ఫంక్షన్ల నందు పత్రకీకరణను కలిగివుంటే, అది యిక్కడ "
+"కలుపబడును. tmpl ఫైళ్ళు వుపయోగించకపోతే యిది పత్రములను మూలాలనుండి మరియు లోపలి డాటానుండి "
+"మాత్రమే చదివి తీసుకొనును."
+
+#: C/gtk-doc-manual.xml:215(para)
+msgid "<application>gtkdoc-mkhtml</application> turns the SGML/XML files into HTML files in the <filename class=\"directory\">html/</filename> subdirectory. Likewise <application>gtkdoc-mkpdf</application> turns the SGML/XML files into a PDF docuemnt called <filename><package>.pdf</filename>."
+msgstr ""
+"<filename class=\"directory\">html/</filename> వుపసంచయం నందలి SGML/XML ఫైళ్ళను "
+"<application>gtkdoc-mkhtml</application> అనునది HTML ఫైళ్ళకు మార్చును. అలాగే "
+"<application>gtkdoc-mkpdf</application> అనునది SGML/XML ఫైళ్ళను <filename><package>.pdf</filename>గా పిలువబడే PDF పత్రమునకు మార్చును."
+
+#: C/gtk-doc-manual.xml:221(para)
+msgid "Files in <filename class=\"directory\">sgml/</filename> or <filename class=\"directory\">xml/</filename> and <filename class=\"directory\">html/</filename> directories are always overwritten. One should never edit them directly."
+msgstr ""
+"<filename class=\"directory\">sgml/</filename> లేదా <filename class=\"directory\">xml/</filename> మరియు <filename class=\"directory\">html/</filename> డైరెక్టరీల నందలి ఫైళ్ళు యెల్లప్పుడూ "
+"దిద్దివ్రాయబడును. ఎవరూ వాటిని యెప్పుడూ నేరుగా సరికూర్చకూడదు."
+
+#: C/gtk-doc-manual.xml:229(para)
+msgid "<guilabel>Fixing up cross-references between documents.</guilabel> After installing the HTML files, <application>gtkdoc-fixxref</application> can be run to fix up any cross-references between separate documents. For example, the GTK+ documentation contains many cross-references to types documented in the GLib manual. When creating the source tarball for distribution, <application>gtkdoc-rebase</application> turns all external links into web-links. When installing distributed (pregenerated) docs the same application will try to turn links back to local links (where those docs are installed)."
+msgstr "<guilabel>పత్రముల మధ్య క్రాస్-రిఫరెన్సెస్ను పరిష్కరించుచున్నది.</guilabel> HTML ఫైళ్ళను సంస్థాపించిన తర్వాత, వేరు వేరు పత్రముల మధ్య క్రాస్-రిఫరెన్సెస్ను అమర్చుటకు <application>gtkdoc-fixxref</application> నడుపవచ్చును. ఉదాహరణకు, GTK+ పత్రికీకరణ అనునది GLib మాన్యుయల్ నందు వుంచిన పత్రికీకరణకు చాలా క్రాస్-రిఫరెన్సెస్ కలిగివుంది. పంపిణీ కొరకు మూలపు టార్బాల్ను సృష్టించునప్పుడు, <application>gtkdoc-rebase</application> అనునది అన్ని బహిర్గత లింకులను వెబ్-లింకులకు మార్చును. పంపిణీచేసిన (ముందుగాజనియింపచేసిన) పత్రములను సంస్థాపించునప్పుడు అదే అనువర్తనము లింకులను స్థానిక లింకులకు (ఆ పత్రములు యెక్కడ సంస్థాపించబడినవో అక్కడికి) తిరిగివుంచుటకు ప్రయత్నించును."
+
+#: C/gtk-doc-manual.xml:247(title)
+msgid "Getting GTK-Doc"
+msgstr "GTK-Doc పొందుట"
+
+#: C/gtk-doc-manual.xml:250(title)
+msgid "Requirements"
+msgstr "అవసరములు"
+
+#: C/gtk-doc-manual.xml:251(para)
+msgid "<guilabel>Perl v5</guilabel> - the main scripts are in Perl."
+msgstr "<guilabel>Perl v5</guilabel> - ముఖ్య స్క్రిప్టులు Perl1 నందు వున్నవి."
+
+#: C/gtk-doc-manual.xml:254(para)
+msgid "<guilabel>DocBook DTD v3.0</guilabel> - This is the DocBook SGML DTD. <ulink url=\"http://www.ora.com/davenport\" type=\"http\">http://www.ora.com/davenport</ulink>"
+msgstr "<guilabel>DocBook DTD v3.0</guilabel> - ఇది DocBook SGML DTD. <ulink url=\"http://www.ora.com/davenport\" type=\"http\">http://www.ora.com/davenport</ulink>"
+
+#: C/gtk-doc-manual.xml:258(para)
+msgid "<guilabel>Jade v1.1</guilabel> - This is a DSSSL processor for converting SGML to various formats. <ulink url=\"http://www.jclark.com/jade\" type=\"http\">http://www.jclark.com/jade</ulink>"
+msgstr ""
+"<guilabel>Jade v1.1</guilabel> - SGMLను వివిధ ఫార్మాట్ల లోనికి మార్చుటకు యిది DSSSL ప్రోసెసర్. "
+"<ulink url=\"http://www.jclark.com/jade\" type=\"http\">http://www.jclark.com/jade</ulink>"
+
+#: C/gtk-doc-manual.xml:262(para)
+msgid "<guilabel>Modular DocBook Stylesheets</guilabel> This is the DSSSL code to convert DocBook to HTML (and a few other formats). It's used together with jade. I've customized the DSSSL code slightly, in gtk-doc.dsl, to colour the program code listings/declarations, and to support global cross-reference indices in the generated HTML. <ulink url=\"http://nwalsh.com/docbook/dsssl\" type=\"http\">http://nwalsh.com/docbook/dsssl</ulink>"
+msgstr "<guilabel>Modular DocBook Stylesheets</guilabel> DocBookను HTMLకు (యింకా కొన్ని యితర ఫార్మాట్లకు) మార్చుటకు యిది DSSSL కోడ్. ఇది jadeతో కలిపి వుపయోగించబడును. నేను DSSSL కోడ్ను కొద్దిగా మలచుకొనినాను, gtk-doc.dsl నందు, ప్రోగ్రామ్ కోడ్ జాబితాలు/డిక్లరేషన్లను రంగులో వుంచుటకు, మరియు జనియింపచేసిన HTML నందు గ్లోబల్ క్రాస్-రిఫరెన్సెస్ యిండిసెస్ను మద్దతించుటకు. <ulink url=\"http://nwalsh.com/docbook/dsssl\" type=\"http\">http://nwalsh.com/docbook/dsssl</ulink>"
+
+#: C/gtk-doc-manual.xml:271(para)
+msgid "<guilabel>docbook-to-man</guilabel> - if you want to create man pages from the DocBook. I've customized the 'translation spec' slightly, to capitalise section headings and add the 'GTK Library' title at the top of the pages and the revision date at the bottom. There is a link to this on <ulink url=\"http://www.ora.com/davenport\" type=\"http\">http://www.ora.com/davenport</ulink> NOTE: This does not work yet."
+msgstr "<guilabel>docbook-to-man</guilabel> - DocBook నుండి man పేజీలను సృష్టించాలని అనుకొంటే. నేను 'translation spec' ను కొద్దిగా మలచుకొనినాను, విభగాపు హెడ్డింగులను పెద్దఅక్షరములలో వుంచుకొనుటకు మరియు పేజీల యొక్క పైభాగమున 'GTK Library' శీర్షికను జతచేయుటకు మరియు క్రిందన పునఃపరిశీలన తేదీను వుంచుటకు. దీనికి <ulink url=\"http://www.ora.com/davenport\" type=\"http\">http://www.ora.com/davenport</ulink> పైన వొక లింకు వుంది. గమనిక: ఇంది యింకా పనిచేయుటలేదు."
+
+#: C/gtk-doc-manual.xml:282(title)
+msgid "Installation"
+msgstr "సంస్థాపన"
+
+#: C/gtk-doc-manual.xml:283(para)
+msgid "There is no standard place where the DocBook Modular Stylesheets are installed."
+msgstr "DocBook మాడ్యులర్ స్టైల్షీట్లు యిక్కడ సంస్థాపించాలని వొక ప్రామాణిక స్థలము యేమీలేదు."
+
+#: C/gtk-doc-manual.xml:286(para)
+msgid "GTK-Doc's configure script searches these 3 directories automatically:"
+msgstr "GTK-Doc యొక్క ఆకృతీకరణ స్క్రిప్టు ఈ 3 డైరెక్టరీలను స్వయంచాలకంగా శోధిస్తుంది:"
+
+#: C/gtk-doc-manual.xml:289(para)
+msgid "<filename> /usr/lib/sgml/stylesheets/nwalsh-modular </filename> (used by RedHat)"
+msgstr "<filename> /usr/lib/sgml/stylesheets/nwalsh-modular </filename> (RedHat ద్వారా వుపయోగించబడింది)"
+
+#: C/gtk-doc-manual.xml:292(para)
+msgid "<filename> /usr/lib/dsssl/stylesheets/docbook </filename> (used by Debian)"
+msgstr "<filename> /usr/lib/dsssl/stylesheets/docbook </filename> (Debian ద్వారా వుపయోగించబడింది)"
+
+#: C/gtk-doc-manual.xml:295(para)
+msgid "<filename> /usr/share/sgml/docbkdsl </filename> (used by SuSE)"
+msgstr "<filename> /usr/share/sgml/docbkdsl </filename> (SuSE ద్వారా వుపయోగించబడింది)"
+
+#: C/gtk-doc-manual.xml:298(para)
+msgid "If you have the stylesheets installed somewhere else, you need to configure GTK-Doc using the option: <command> --with-dsssl-dir=<PATH_TO_TOPLEVEL_STYLESHEETS_DIR> </command>"
+msgstr ""
+"మీరు యెక్కడోవొకచోట స్టైల్షీట్లను సంస్థాపించివుంటే, మీరు GTK-Docను ఈ ఐచ్చికము వుపయోగించి ఆకృతీకరించవలసి "
+"వుంటుంది: <command> --with-dsssl-dir=<PATH_TO_TOPLEVEL_STYLESHEETS_DIR> </command>"
+
+#: C/gtk-doc-manual.xml:322(title)
+msgid "About GTK-Doc"
+msgstr "GTK-Doc గురించి"
+
+#: C/gtk-doc-manual.xml:324(para) C/gtk-doc-manual.xml:338(para)
+msgid "(FIXME)"
+msgstr "(FIXME)"
+
+#: C/gtk-doc-manual.xml:328(para)
+msgid "(History, authors, web pages, license, future plans, comparison with other similar systems.)"
+msgstr "(చరిత్ర, మూలకర్తలు, వెబ్ పుటలు, లైసెన్స్, భవిష్య ప్రణాళికలు, సమానమైన యితర సిస్టమ్సుతో పోలిక.)"
+
+#: C/gtk-doc-manual.xml:336(title)
+msgid "About this Manual"
+msgstr "ఈ మాన్యుయల్ గురించి"
+
+#: C/gtk-doc-manual.xml:342(para)
+msgid "(who it is meant for, where you can get it, license)"
+msgstr "(ఇది యెవరి కొరకు, మీరు దీనిని యెచటనుండి పొందగలరు, లైసెన్స్)"
+
+#: C/gtk-doc-manual.xml:351(title)
+msgid "Setting up your project"
+msgstr "మీ ప్రోజెక్టును అమర్చుట"
+
+#: C/gtk-doc-manual.xml:353(para)
+msgid "The next sections describe what steps to perform to integrate GTK-Doc into your project. Theses section assume we work on a project called 'meep'. This project contains a library called 'libmeep' and an end-user app called 'meeper'."
+msgstr ""
+"GTK-Doc మీ ప్రోజెక్టునకు చేర్చుటకు యే స్టెప్పులు జరుపవలెనో తరువాతి విభాగములు వివరిస్తాయి. "
+"మనము 'meep' అను ప్రోజెక్టుపై పనిచేస్తున్నట్టు ఈ విభాగములనందు వద్దేశించడమైనది. ఈ "
+"ప్రోజెక్టు 'libmeep' అను లైబ్రరీను మరియు 'meeper' అను అంత్య-వినియోగదారి అనువర్తనమును "
+"కలిగివుంది."
+
+#: C/gtk-doc-manual.xml:361(title)
+msgid "Setting up a skeleton documentation"
+msgstr "స్కెల్టెన్ పత్రికీకరణను అమర్చుచున్నది"
+
+#: C/gtk-doc-manual.xml:363(para)
+msgid "Under your top-level project directory create folders called docs/reference (this way you can also have docs/help for end-user documentation). It is recommended to create another subdirectory with the name of the doc-package. For packages with just one library this step is not necessary."
+msgstr ""
+"మీ పై-స్థాయి ప్రోజెక్టు డైరెక్టరీ క్రింద docs/reference అను ఫోల్డర్లను సృష్టించుము (ఈ విధంగా మీరు docs/helpను "
+"అంత్య-వినియోగదారి పత్రికీకరణ కొరకు కలిగివుండవచ్చును). doc-package నామముతో వేరొక వుపసంచయంను "
+"సృష్టించుకొనుట సిఫార్సు చేయబడింది. కేవలం వొక లైబ్రరీ మాత్రమే వున్న ప్యాకేజీలకు యిది అవసరములేదు."
+
+#: C/gtk-doc-manual.xml:372(title)
+msgid "Example directory structure"
+msgstr "ఉదాహరణ డైరెక్టరీ ఆకృతి"
+
+#: C/gtk-doc-manual.xml:370(para)
+msgid "This can then look as show below: <placeholder-1/>"
+msgstr "ఇది అప్పుడు క్రింది చూపిన విధంగా కనబడుతుంది: <placeholder-1/>"
+
+#: C/gtk-doc-manual.xml:390(title) C/gtk-doc-manual.xml:397(title)
+msgid "Integration with autoconf"
+msgstr "autoconf తో విలీనం"
+
+#: C/gtk-doc-manual.xml:392(para)
+msgid "Very easy! Just add one line to your <filename>configure.ac</filename> script."
+msgstr "చాలా సులువు! మీ <filename>configure.ac</filename> స్క్రిప్టునకు వొక లైను మాత్రమే జతచేయుము."
+
+#: C/gtk-doc-manual.xml:407(para)
+msgid "The first argument is used to check for the gtkdocversion at configure time. The 2nd, optional argument is used by <application>gtkdocize</application>. The <symbol>GTK_DOC_CHECK</symbol> macro also adds several configure switches:"
+msgstr ""
+"ఆకృతీకరణ సమయము వద్ద gtkdocversion కొరకు పరిశీలించుటకు మొదటి ఆర్గుమెంటు వుపయోగించబడింది. "
+"2వది, <application>gtkdocize</application> చేత వుపయోగించబడిన ఐచ్చిక ఆర్గుమెంట్. "
+"<symbol>GTK_DOC_CHECK</symbol> మాక్రో చాలా ఆకృతీకరణ స్విచ్లను జతచేస్తుంది:"
+
+#: C/gtk-doc-manual.xml:413(para)
+msgid "--with-html-dir=PATH : path to installed docs"
+msgstr "--with-html-dir=PATH : సంస్థాపించిన పత్రములకు పాత్"
+
+#: C/gtk-doc-manual.xml:414(para)
+msgid "--enable-gtk-doc : use gtk-doc to build documentation [default=no]"
+msgstr "--enable-gtk-doc : పత్రికీకరణను నిర్మించుటకు gtk-doc వుపయోగించుము [default=no]"
+
+#: C/gtk-doc-manual.xml:415(para)
+msgid "--enable-gtk-doc-html : build documentation in html format [default=yes]"
+msgstr "--enable-gtk-doc-html : పత్రికీకరణను html ఫార్మాట్నందు నిర్మించుము [default=yes]"
+
+#: C/gtk-doc-manual.xml:416(para)
+msgid "--enable-gtk-doc-pdf : build documentation in pdf format [default=no]"
+msgstr "--enable-gtk-doc-pdf : పత్రికీకరణను pdf ఫార్మాట్ నందు నిర్మించుము [default=no]"
+
+#: C/gtk-doc-manual.xml:420(para)
+msgid "GTK-Doc is disabled by default! Remember to pass the option <option>'--enable-gtk-doc'</option> to the next <filename>configure</filename> run. Otherwise pregenerated documentation is installed (which makes sense for users but not for developers)."
+msgstr ""
+"GTK-Doc అప్రమేయంగా అచేతనము చేయబడింది! ఐచ్చికము <option>'--enable-gtk-doc'</option>ను "
+"తరువాతి <filename>configure</filename>కు నడుపుట మర్చిపోవద్దు. లేకపోతే ముందుగా జనియింపచేసిన "
+"పత్రికీకరణ సంస్థాపించబడుతుంది (ఇది వినియోగదారులకు వుపయోగకరం అయితే అభివృద్దికారులకు కాదు)."
+
+#: C/gtk-doc-manual.xml:428(para)
+msgid "Furthermore it is recommended that you have the following line inside you <filename>configure.ac</filename> script. This allows <application>gtkdocize</application> to automatically copy the macro definition for <function>GTK_DOC_CHECK</function> to your project."
+msgstr ""
+"మీ <filename>configure.ac</filename> స్క్రిప్టునందు ఈ క్రింది వరుసను కలిగివుండుట చాలామంచిది. "
+"ఇది మీ ప్రోజెక్టునందు <function>GTK_DOC_CHECK</function> కొరకు స్వయంచాలకంగా మాక్రో నిర్వచనాన్ని "
+"నకలు తీయుటకు <application>gtkdocize</application>ను అనుమతిస్తుంది."
+
+#: C/gtk-doc-manual.xml:436(title)
+msgid "Preparation for gtkdocize"
+msgstr "gtkdocize కొరకు సన్నాహం"
+
+#: C/gtk-doc-manual.xml:447(title)
+msgid "Integration with automake"
+msgstr "automake తో విలీనం"
+
+#: C/gtk-doc-manual.xml:449(para)
+msgid "First copy the <filename>Makefile.am</filename> from the examples subdirectory of the gtkdoc-sources to your project's API documentation directory ( <filename class=\"directory\">./docs/reference/<package></filename>). If you have multiple doc-packages repeat this for each one."
+msgstr ""
+"ముందుగా <filename>Makefile.am</filename>ను gtkdoc-sources యొక్క వుదాహరణల వుపసంచయం "
+"నుండి మీ ప్రోజెక్టు యొక్క API పత్రికీకరణ డైరెక్టరీనకు నకలుతీయుము (<filename class=\"directory\">./docs/reference/<package></filename>). మీరు బహుళ "
+"doc-packages కలిగివుంటే ప్రతిదానికి యిలా చేయండి."
+
+#: C/gtk-doc-manual.xml:456(para)
+msgid "The next step is to edit the setting inside the <filename>Makefile.am</filename>. All the settings have a comment above that describes their purpose. Most settings are extra flags passed to the respective tools. Every tool has a variable of the form <option><TOOLNAME>_OPTIONS</option>. All the tools support <option>--help</option> to list the supported parameters."
+msgstr ""
+"తరువాతి స్టెప్పు <filename>Makefile.am</filename> నందలి అమరికను సరికూర్చుట. అన్ని అమరికలు "
+"వాటి ప్రయోజనాన్ని వివరించే వ్యాఖ్యను కలిగివున్నాయి. చాలా వరకు అమరికలు వాటి సంభందిత సాధనముల ద్వారా "
+"పంపబడే అదనపు ఫ్లాగ్స్. ప్రతి సాధనము <option><TOOLNAME>_OPTIONS</option> "
+"రూపపు వేరియబుల్ను కలిగివుంది. మద్దతించు పారామితులను జాబితా చేయుటకు అన్ని సాధనములు "
+"<option>--help</option>ను మద్దతించును."
+
+#. FIXME: explain options ?
+#: C/gtk-doc-manual.xml:467(para)
+msgid "You may also want to enable GTK-Doc for the distcheckmake target. Just add then one-liner show in the next example to you top-level <filename>Makefile.am</filename>:"
+msgstr ""
+"మీరు GTK-Docను distcheckmake లక్ష్యము కొరకు చేతనము చేయవచ్చు. జతచేయి అప్పుడు తర్వాత వుదాహరణనందు "
+"one-liner మీకు పై-స్థాయి <filename>Makefile.am</filename>ను చూపును:"
+
+#: C/gtk-doc-manual.xml:474(title)
+msgid "Enable GTK-Doc during make distcheck"
+msgstr "distcheck చేయునప్పుడు GTK-Doc చేతనము చేయి"
+
+#: C/gtk-doc-manual.xml:486(title)
+msgid "Integration with autogen"
+msgstr "autogen తో విలీనం"
+
+#: C/gtk-doc-manual.xml:488(para)
+msgid "Most projects will have an <filename>autogen.sh</filename> script to setup the build infrastructure after a checkout from version control system (such as cvs/svn/git). GTK-Doc comes with a tool called <application>gtkdocize</application> which can be used in such a script. It should be run before autoheader, automake or autoconf."
+msgstr ""
+"వర్షన్ కంట్రోల్ సిస్టమ్ (cvs/svn/git వంటి) నుండి చెక్అవుట్ తర్వాత బుల్డ్ నిర్మాణం అమర్చుటకు చాలా ప్రోజెక్టులు "
+"<filename>autogen.sh</filename> స్క్రిప్టును కలిగివుంటాయి. GTK-Doc అనునది "
+"<application>gtkdocize</application> అనబడు సాధనంతో వస్తుంది దీనిని అటువంటి స్క్రిప్టు నందు "
+"వుపయోగించవచ్చును. ఇది autoheader, automake లేదా autoconf ముందు నడుపవలెను."
+
+#: C/gtk-doc-manual.xml:497(title)
+msgid "Running gtkdocize from autogen.sh"
+msgstr "autogen.sh నుండి gtkdocize నడుపుతోంది"
+
+#: C/gtk-doc-manual.xml:506(para)
+msgid "When running <application>gtkdocize</application> it copies <filename>gtk-doc.make</filename> to you project root (or any directory specified by the <option>--docdir</option> option). If also check you configure script for the <function>GTK_DOC_CHECK</function> invocation."
+msgstr ""
+"<application>gtkdocize</application> నడుపుచున్నప్పుడు అది "
+"<filename>gtk-doc.make</filename>ను మీ ప్రోజెక్టు root (లేదా <option>--docdir</option> "
+"ద్వారా తెలుపబడిన డైరెక్టరీ)కు నకలుతీయును. <function>GTK_DOC_CHECK</function> ఆమంత్రణం కొరకు యిది మీ ఆకృతీకరణ స్క్రిప్టును పరిశీలించును."
+
+#: C/gtk-doc-manual.xml:514(para)
+msgid "Historically GTK-Doc was gerating template files where developers entered the docs. this turned out to be not so good. Since a few version GTK-Doc could also get all the information from source comments. Since GTK-Doc 1.9 the templates can be avoided. We encourage people to keep documentation in the code. <application>gtkdocize</application> supports now a <option>--flavour no-tmpl</option> option that chooses a makefile that skips tmpl usage totally. Besides adding the option directly to the command invocation, they can be added also to a environment variable called <symbol>GTKDOCIZE_FLAGS</symbol> or set as a 2nd parameter in <symbol>GTK_DOC_CHECK</symbol> macro in the configure script. If you have never changed file in tmpl by hand and migrating from older gtkdoc versions, please remove the dir (e.g. from version control system)."
+msgstr ""
+"చారిత్రకంగా GTK-Doc అనునది మాదిరి ఫైళ్ళను అభివృద్దికారులు పత్రములు ప్రవేశపెట్టినచోట జనియింపచేయుచున్నది. ఇది అంత మంచిగా లేదు. కొద్ది GTK-Doc"
+"వర్షన్లు మాత్రమే సమాచారమునంతటిని మూలపు వ్యాఖ్యలనుండి పొందగలిగివున్నవి కావున. GTK-Doc 1.9 నుండి మాదిరిలు వదిలివేయబడినవి. పత్రికీకరణను"
+"కోడ్నందు కలిగివుంచుటకే మేము అందరిని ప్రోత్సహిస్తున్నాము. tmpl వినియోగాన్ని పూర్తిగా వదిలివేసే <option>--flavour no-tmpl</option> ఐచ్చికాన్ని యిప్పుడు "
+"<application>gtkdocize</application> మద్దతించుచున్నది. ఐచ్చికాన్ని నేరుగా ఆదేశ ఆమంత్రీకరణకు జతచేయుటకు బదులుగా, అవి యెన్విరాన్మెంట్ వేరియబుల్ <symbol>GTKDOCIZE_FLAGS</symbol>కు జతచేయవచ్చును లేదా ఆకృతీకరణ స్క్రిప్టునందలి <symbol>GTK_DOC_CHECK</symbol> మాక్రో నందు 2వ పారామితిగా అమర్చుము. మీరు యెప్పుడూ tmpl నందలి ఫైలు మార్చివుండకపోతే మరియు gtkdoc వర్షన్లనుండి మైగ్రేట్ అవుతుంటే, దయచేసి dirను తీసివేయుము (ఉ.దా. వర్షన్ కంట్రోల్ సిస్టమ్ నుండి)."
+
+#: C/gtk-doc-manual.xml:530(title) C/gtk-doc-manual.xml:547(title)
+msgid "Running the doc build"
+msgstr "doc బుల్డును నడుపుట"
+
+#: C/gtk-doc-manual.xml:532(para)
+msgid "After the previous steps it's time to run the build. First we need to rerun <filename>autogen.sh</filename>. If this script runs configure for you, then give it the <option>--enable-gtk-doc</option> option. Otherwise manually run <filename>configure</filename> with this option afterwards."
+msgstr ""
+"గతంలో జరిపిన స్టెప్పుల తర్వాత యిప్పుడు బుల్డును నడుపవలెను. ముందుగా మనము <filename>autogen.sh</filename>ను తిరిగి నడుపవలెను. ఈ స్క్రిప్టు మీ కొరకు ఆకృతీకరణను నడిపితే, "
+"దానికి <option>--enable-gtk-doc</option> ఐచ్చికాన్ని యివ్వుము. లేదా తరువాత ఈ ఐచ్చికముతో "
+"మానవీయంగా <filename>configure</filename>ను నడుపుము."
+
+#: C/gtk-doc-manual.xml:539(para)
+msgid "The first make run generates several additional files in the doc-dirs. The important ones are: <filename><package>.types</filename>, <filename><package>-docs.sgml</filename>, <filename><package>-sections.txt</filename>."
+msgstr ""
+"మొదటి make run అనునది doc-dirs నందు చాలా అదనపు ఫైళ్ళను జనియింపచేయును. ముఖ్యమైనవి: "
+"<filename><package>.types</filename>, <filename><package>-docs.sgml</filename>, <filename><package>-sections.txt</filename>."
+
+#: C/gtk-doc-manual.xml:556(para)
+msgid "Now you can point your browser to <filename>docs/reference/<package>/index.html</filename>. Yes, it's a bit disappointing still. But hang-on, during the next chapter we tell you how to fill the pages with life."
+msgstr ""
+"ఇప్పుడు మీ బ్రౌజర్కు మీరు <filename>docs/reference/<package>/index.html</filename>ను "
+"సూచించవచ్చును. అవును, యిప్పటికి యిది కొంత నిరుత్సాహపరుస్తోంది. అయితే ఆగండి, తరువాతి అధ్యాయమునందు పేజీలను "
+"యెలా నింపాలో చెబుతాము."
+
+#: C/gtk-doc-manual.xml:564(title)
+msgid "Integration with version control systems"
+msgstr "వర్షన్ కంట్రోల్ సిస్టమ్తో విలీనం"
+
+#: C/gtk-doc-manual.xml:566(para)
+msgid "As a rule of the thumb, it's those files you edit, that should go under version control. For typical projects it's these files: <filename><package>.types</filename><filename><package>-docs.sgml</filename><filename><package>-sections.txt</filename><filename>Makefile.am</filename>"
+msgstr ""
+"thumb యొక్క నియమాన్ని అనుసరించి, యిది మీరు సరికూర్చిన ఫైళ్ళది, అది వర్షన్ కంట్రోల్ క్రిందకు వెళ్ళవలెను. "
+"ముఖ్యమైన ప్రోజెక్టులకు ఈ ఫైళ్ళు:<filename><package>.types</filename><filename><package>-docs.sgml</filename><filename><package>-sections.txt</filename><filename>Makefile.am</filename>"
+
+#: C/gtk-doc-manual.xml:579(title)
+msgid "Documenting the code"
+msgstr "కోడ్ను పత్రికీకరణ చేయుట"
+
+#: C/gtk-doc-manual.xml:581(para)
+msgid "GTK-Doc uses source code comment with a special syntax for code documentation. Further it retrieves information about your project structure from other sources. During the next section you find all information about the syntax of the comments."
+msgstr ""
+"కోడ్ పత్రికీకరణ కొరకు GTK-Doc అనునది సోర్స్ కోడ్ కామెంట్ను ప్రత్యేక సిన్టాక్సుతో వుపయోగిస్తుంది. ఇంకా యిది యితర "
+"మూలములనుండి మీ ప్రోజెక్టు ఆకృతి గురించి సమాచారమును వెలికితీయును. తరువాతి విభాగమునందు మీరు మీ వ్యాఖ్యల "
+"యొక్క సిన్టాక్సు గురించి సమాచారమును అంతటిని కనుగొంటారు."
+
+#: C/gtk-doc-manual.xml:589(title)
+msgid "Documentation placement"
+msgstr "పత్రికీకరణ స్థానము"
+
+#: C/gtk-doc-manual.xml:590(para)
+msgid "In the past most documentation had to be filled into files residing inside the <filename>tmpl</filename> directory. This has the disadvantages that the information is often not updated and also that the file tend to cause conflicts with version control systems."
+msgstr ""
+"గతంలో చాలా వరకు పత్రికీకరణ అనునది <filename>tmpl</filename> డైరెక్టరీ క్రిందని ఫైళ్ళలో నింపవలసివుండేది. "
+"సమాచారము సరిగా నవీకరించబడక పోవుట మరియు ఆ ఫైలు వర్షన్ కంట్రోల్ సిస్టమ్సుతో విభేదించుట వంటి లోపాలను యిది "
+"కలిగివుంది."
+
+#: C/gtk-doc-manual.xml:596(para)
+msgid "The avoid the aforementioned problems we suggest putting the documentation inside the sources. This manual will only describe this way of documenting code."
+msgstr ""
+"ముందుగా తెలిపిన సమస్యలను తప్పించుటకు మేము పత్రికీకరణను మూలముల లోపలే వుంచమని సూచించుచున్నాము. "
+"ఈ మాన్యుయల్ ఈ విధంగా కోడ్ పత్రికీకరణను మాత్రమే వివరించును."
+
+#: C/gtk-doc-manual.xml:606(title)
+msgid "Documentation comments"
+msgstr "పత్రికీకరణ వ్యాఖ్యలు"
+
+#: C/gtk-doc-manual.xml:611(title)
+msgid "GTK-Doc comment block"
+msgstr "GTK-Doc వ్యాఖ్య బ్లాక్"
+
+#: C/gtk-doc-manual.xml:608(para)
+msgid "A multiline comment that starts with an additional '*' marks a documentation block that will be processed by the GTK-Doc tools. <placeholder-1/>"
+msgstr ""
+"బహుళ వరుసలు వుండి అదనపు '*' గుర్తులతో ప్రారంభించబడు వ్యాఖ్య పత్రికీకరణ బ్లాక్ను సూచించును అది GTK-Doc "
+"సాధనముల ద్వారా నిర్వర్తించబడును. <placeholder-1/>"
+
+#: C/gtk-doc-manual.xml:623(para)
+msgid "The 'identifier' is one line with the name of the item the comment is related to. The syntax differs a little depending on the item. (TODO add table showing identifiers)"
+msgstr ""
+"'identifier' అనునది వ్యాఖ్యకు సంభందించిన అంశము యొక్క నామముతో వుండు వొక వరుస. అంశము పై ఆధారపడి "
+"సిన్టాక్సు అనునది కొద్దిగా విభేదించును. (చేయవలసినది identifies చూపు పట్టికను జతచేయి)"
+
+#: C/gtk-doc-manual.xml:629(para)
+msgid "The 'documentation' block is also different for each symbol type. Symbol types that get parameters such as functions or macros have the parameter description first followed by a blank line (just a '*'). Afterwards follows the detailed description. All lines (outside program- listings and CDATA sections) just containing a ' *' (blank-asterisk) are converted to paragraph breaks. If you don't want a paragraph break, change that into ' * ' (blank-asterisk-blank-blank)."
+msgstr ""
+"ప్రతి చిహ్నపు రకమునకు 'పత్రికీకరణ' బ్లాక్ భిన్నంగా వుంటుంది. ఫంక్షన్లు లేదా స్థూలములు పారామితి వివరణను కలిగివున్నవి ముందుగా "
+"ఖాళీ వరుస (a '*') అనుసరించాలి. తరువాత విశదీకృత వివరణను అనుసరించాలి. అన్ని వరుసలు (ప్రోగ్రామ్ బయటవి- జాబితాలు "
+"మరియు CDATA విభాగములు) ' *' (ఖాళీ-యాస్ట్రిక్) మాత్రమే కలిగివున్నవి పారాగ్రాఫ్ విరామాలుగా వుంచబడును. మీకు పారాగ్రాఫ్ "
+"విరామాలు అక్కరలేకపోతే, దానిని ' * ' (blank-asterisk-blank-blank)కు మార్చుము."
+
+#: C/gtk-doc-manual.xml:646(para)
+msgid "Use function() to refer to functions or macros which take arguments."
+msgstr "ఆర్గుమెంట్లను తీసుకొనే ఫంక్షన్లను లేదా మాక్రోలను సూచించుటకు function() వుపయోగించుము."
+
+#: C/gtk-doc-manual.xml:651(para)
+msgid "Use @param to refer to parameters. Also use this when referring to parameters of other functions, related to the one being described."
+msgstr "పారామితులను సూచించుటకు @param వుపయోగించుము. వివరించబడిన పారామితికి సంభందించిన యితర ఫంక్షన్ల పారామితులను సూచించుటకు కూడా దీనిని వుపయోగించుము."
+
+#: C/gtk-doc-manual.xml:657(para)
+msgid "Use %constant to refer to a constant, e.g. %G_TRAVERSE_LEAFS."
+msgstr "స్థిరరాశిని సూచించుటకు %constant వుపయోగించుము, ఉ.దా. %G_TRAVERSE_LEAFS."
+
+#: C/gtk-doc-manual.xml:662(para)
+msgid "Use #symbol to refer to other types of symbol, e.g. structs and enums and macros which don't take arguments."
+msgstr "ఇతర రకముల చిహ్నమును సూచించుటకు #symbol వుపయోగించుము, ఉ.దా. ఆర్గుమెంట్లు తీసుకొని structs మరియు enums మరియు macros వంటివి."
+
+#: C/gtk-doc-manual.xml:668(para)
+msgid "Use #Object::signal to refer to a GObject signal"
+msgstr "GObject సంకేతమును సూచించుటకు #Object::signal వుపయోగించుము"
+
+#: C/gtk-doc-manual.xml:673(para)
+msgid "Use #Object:property to refer to a GObject property"
+msgstr "GObject లక్షణమును సూచించుటకు #Object:property వుపయోగించుము"
+
+#: C/gtk-doc-manual.xml:678(para)
+msgid "Use #Struct.field to refer to a field inside a structure."
+msgstr "స్ట్రక్చర్ నందలి క్షేత్రమును సూచించుటకు #Struct.field వుపయోగించుము."
+
+#: C/gtk-doc-manual.xml:640(para)
+msgid "One advantage of hyper-text over plain-text is the ability to have links in the document. Writing the correct markup for a link can be tedious though. GTK-Doc comes to help by providing several useful abbreviations. <placeholder-1/>"
+msgstr ""
+"సాదా-పాఠ్యమునందు హైపర్-పాఠ్యమును కలిగివుండువలన వొక సౌకర్యము పత్రమునందు లింకులను కలిగివుండవచ్చును. "
+"అయినను లింకు కొరకు సరైన మార్కప్ వ్రాయుట చికాకే. GTK-Doc నందు చాలా వుపయోగకర ఎబ్రివేషన్లు అందించబడుచున్నవి. "
+"<placeholder-1/>"
+
+#: C/gtk-doc-manual.xml:686(para)
+msgid "If you need to use the special characters '<', '>', '()', '@', '%', or '#' in your documentation without GTK-Doc changing them you can use the XML entities \"&lt;\", \"&gt;\", \"&lpar;\", \"&rpar;\", \"&commat;\", \"&percnt;\" and \"&num;\" respectively or escape them with a backslash '\\'."
+msgstr ""
+"మీరు ప్రత్యేక ఆక్షరములు '<', '>', '()', '@', '%', or '#'ను మీ పత్రికీకరణనందు GTK-Doc వాటిని మార్చకుండా వుపయోగించాలి అంటే మీరు XML మూలకములు \"&lt;\", \"&gt;\", \"&lpar;\", \"&rpar;\", \"&commat;\", \"&percnt;\" మరియు \"&num;\" వుపయోగించవచ్చు లేదా వాటిని '\\' "
+"బాక్స్లాష్తో ఎస్కేప్ చేయుము."
+
+#: C/gtk-doc-manual.xml:695(para)
+msgid "DocBook can do more that just links. One can also have lists, tables and examples. To enable the usage of SGML/XML tags inside doc-comments you need to have <option>--sgml-mode</option> in the variable <symbol>MKDB_OPTIONS</symbol> inside <filename>Makefile.am</filename>."
+msgstr ""
+"DocBook లింకుల వలె చాలా చేయగలదు. ఒకరు జాబితాలనుకూడా కలిగివుండగలరు, పట్టికలు మరియు వుదాహరణలు కూడా. "
+"doc-comments లోపల SGML/XML టాగ్స్ యొక్క వినియోగాన్ని చేతనము చేయుటకు మీరు <filename>Makefile.am</filename> నందలి <symbol>MKDB_OPTIONS</symbol> వేరియబుల్ "
+"నందు <option>--sgml-mode</option> కలిగివుండాలి."
+
+#: C/gtk-doc-manual.xml:703(para)
+msgid "As already mentioned earlier GTK-Doc is for documenting public API. Thus one cannot write documentation for static symbols. Nevertheless it is good to comment those symbols too. This helps other to understand you code. Therefore we recommend to comment these using normal comments (without the 2nd '*' in the first line). If later the function needs to be made public, all one needs to do is to add another '*' in the comment block and insert the symbol name at the right place inside the sections file."
+msgstr ""
+"ముందుగా చెప్పినట్లుగా GTK-Doc అనునది పబ్లిక్ API పత్రికీకరణ కొరకు. స్థిర చిహ్నములకు వొక్కరే పత్రికీకరణ వ్రాయలేరు. ఆ చిహ్నములను కూడా వ్యాఖ్యానించుట మంచిది. ఇది యితరులు కూడా మీ కోడ్ను అర్ధము చేసుకొనుటకు సహాయపడును. అందుకని వీటిని సాదారణ వ్యాఖ్యలు (మొదటి వరుసనందు 2వ '*' లేకుండా) వుపయోగించి వ్యాఖ్యానించమని సూచించడమైంది. తరువాత ఆ ఫంక్షన్ పబ్లిక్గా మార్చవలసివుంటే, చేయవలసినదల్లా వేరొక '*'ను వ్యాఖ్య బ్లాక్ నందు చేర్చి మరియు చిహ్నపు నామాన్ని"
+"విభగాముల ఫైలునందు సరైన స్థానములో వుంచడమే."
+
+#: C/gtk-doc-manual.xml:717(title)
+msgid "Documenting sections"
+msgstr "పత్రికీకరణ విభాగములు"
+
+#: C/gtk-doc-manual.xml:719(para)
+msgid "Each section of the documentation contains information about one class or module. To introduce the component one can write a section block. The short description is also used inside the table of contents. All the @fields are optional."
+msgstr ""
+"పత్రికీకరణ యొక్క ప్రతి విభాగము వొక క్లాస్ లేదా మాడ్యూల్ గురించిన సమాచారమును కలిగివుంటుంది. మూలకాన్ని "
+"పరిచయం చేయుటకు వొకరు విభాగపు బ్లాక్ను వ్రాయవచ్చును. పొట్టి వివరణ అనునది పట్టిక యొక్క సారముల లోపలకూడా "
+"వుపయోగించబడును. అన్ని @fields ఐచ్చికమైనవి."
+
+#: C/gtk-doc-manual.xml:727(title)
+msgid "Section comment block"
+msgstr "విభాగపు వ్యాఖ్య బ్లాక్"
+
+#: C/gtk-doc-manual.xml:749(term)
+msgid "SECTION:<name>"
+msgstr "SECTION:<name>"
+
+#: C/gtk-doc-manual.xml:751(para)
+msgid "The name links the section documentation to the respective part in the <filename><package>-sections.txt</filename> file. The name give here should match the <FILE> tag in the <filename><package>-sections.txt</filename> file."
+msgstr ""
+"నామము అనునది విభాగపు పత్రికీకరణను <filename><package>-sections.txt</filename> ఫైలునందలి "
+"సంభందిత భాగమునకు లింకుచేయును. ఇక్కడ యిచ్చిన నామము <filename><package>-sections.txt</filename> ఫైలునందలి <FILE> టాగ్తో సరిపోలవలెను."
+
+#: C/gtk-doc-manual.xml:760(term)
+msgid "@short_description"
+msgstr "@short_description"
+
+#: C/gtk-doc-manual.xml:762(para)
+msgid "A one line description of the section, that later will appear after the links in the TOC and at the top of the section page."
+msgstr "విభాగము యొక్క వివరణ వొక్క వరుసలో, తరువాత అది TOC నందు లింక్సు తరువాత మరియు విభాగపు పేజీ పైన కనిపించును."
+
+#: C/gtk-doc-manual.xml:769(term)
+msgid "@title"
+msgstr "@title"
+
+#: C/gtk-doc-manual.xml:771(para)
+msgid "The section title defaults to <name> from the SECTION declaration. It can be overridden with the @title field."
+msgstr ""
+"విభాగపు శీర్షిక అనునది SECTION డిక్లరేషన్ నుండి <name> అప్రమేయం కాబడును. ఇది @title క్షేత్రము "
+"ద్వారా దిద్దివ్రాయబడును."
+
+#: C/gtk-doc-manual.xml:778(term)
+msgid "@section_id"
+msgstr "@section_id"
+
+#: C/gtk-doc-manual.xml:780(para)
+msgid "Overrides the use of title as a section identifier. For GObjects the <title> is used as a section_id and for other section it is <MODULE>-<title>."
+msgstr ""
+"శీర్షిక యొక్క వుపయోగాన్ని విభాగపు గుర్తింపుకారి వలె దిద్దివ్రాయును. GObjects కొరకు <title> అనునది "
+"section_id వలె మరియు యితర విభాగమునకు <MODULE>-<title> వలె వుపయోగించబడును."
+
+#: C/gtk-doc-manual.xml:788(term)
+msgid "@see_also"
+msgstr "@see_also"
+
+#: C/gtk-doc-manual.xml:790(para)
+msgid "A list of symbols that are related to this section.."
+msgstr "ఈ విభాగమునకు సంభందించిన చిహ్నముల యొక్క జాబితా..."
+
+#: C/gtk-doc-manual.xml:796(term)
+msgid "@stability"
+msgstr "@stability"
+
+#: C/gtk-doc-manual.xml:803(para)
+msgid "Stable - The intention of a Stable interface is to enable arbitrary third parties to develop applications to these interfaces, release them, and have confidence that they will run on all minor releases of the product (after the one in which the interface was introduced, and within the same major release). Even at a major release, incompatible changes are expected to be rare, and to have strong justifications."
+msgstr ""
+"స్థిరమైన - స్థిరమైన యింటర్ఫేస్ ముఖ్యోద్దేశం మూడోవ్యక్తి అనువర్తనములను యీ యింటర్ఫేసులకు కొరకు అభివృద్దిపరచుట, విడుదల చేయుట, మరియు ఆ వుత్పాదన యొక్క"
+"అన్ని చిన్న విడుదలలనందు(పెద్ద విడుదల క్రిందన విడుదలగునవి) నడుచునట్లు చూచుకొనుటను చేతన పరచుట. ముఖ్య విడుదలనందు కూడా, సారూప్యతా మార్పులు అనునవి తగ్గించుటకు, ఖచ్చితమైన నిర్ధారణలను కలిగివుండుట."
+
+#: C/gtk-doc-manual.xml:815(para)
+msgid "Unstable - Unstable interfaces are experimental or transitional. They are typically used to give outside developers early access to new or rapidly changing technology, or to provide an interim solution to a problem where a more general solution is anticipated. No claims are made about either source or binary compatibility from one minor release to the next."
+msgstr ""
+"అస్థిరమైన - అస్థిరమైన యింటర్ఫేస్లు ప్రయోగాత్మకమైనవి లేదా బదలీకరణ పొందునవి. అవి ముఖ్యంగా బయటి అభివృద్దికారులకు "
+"కొత్తవి లేదా వేగంగా మారుతున్న సాంకేతికతపై యాక్సెస్ యిచ్చుటకు వుపయోగించబడును, లేదా వొక సమస్య కొరకు యెక్కువ సహజమైన పరిష్కారము కొరకు యెదురు చూడబడుతోందో అక్కడ మధ్యంతర పరిష్కారము యిచ్చుటకు. ఒక చిన్న విడుదలనుండి "
+"తర్వాత దానికి యెటువంటి క్లైమ్స్ సోర్స్ గురించికాని లేదా బైనరీ సారూప్యత గురించికాని చేయబడవు."
+
+#: C/gtk-doc-manual.xml:827(para)
+msgid "Private - An interface that can be used within the GNOME stack itself, but that is not documented for end-users. Such functions should only be used in specified and documented ways."
+msgstr ""
+"వ్యక్తిగత - GNOME స్టాక్ లోపలే వుపయోగించగల యింటర్ఫేస్, అయితే అది అంత్య-వినియోగదారుల కొరకు పత్రికీకరణ "
+"చేయబడదు. అటువంటి ఫంక్షన్లు తెలుపబడిన మరియు పత్రికీకరణ మార్గములలోనే వుపయోగించాలి."
+
+#: C/gtk-doc-manual.xml:836(para)
+msgid "Internal - An interface that is internal to a module and does not require end-user documentation. Functions that are undocumented are assumed to be Internal."
+msgstr ""
+"అంతర్గత - మాడ్యూల్కు అంతర్గతమైన మాడ్యూల్ మరియు అంత్య-వినియోగదారి పత్రికీకరణ అవసరములేనిది. "
+"పత్రికీకరణ చేయని ఫంక్షన్లు అంతర్గతమైనవిగా పరిగణించాలి."
+
+#: C/gtk-doc-manual.xml:798(para)
+msgid "A informal description of the stability level this API has. We recommend the use of one of these terms: <placeholder-1/>"
+msgstr ""
+"ఈ API కలిగివున్న స్థిరత్వపు స్థాయి యొక్క సాధారణ వివరణ. ఈ పదములలో వొక దానిని వుపయోగించుట మేము సిఫార్సు "
+"చేయుచున్నాము: <placeholder-1/>"
+
+#: C/gtk-doc-manual.xml:848(term)
+msgid "@include"
+msgstr "@include"
+
+#: C/gtk-doc-manual.xml:850(para)
+msgid "The <literal>#include</literal> files to show in the section synopsis (a comma separated list), overriding the global value from the <link linkend=\"metafiles_sections\">section file</link> or command line. This item is optional."
+msgstr "విభాగపు సారాంశము నందు చూపుటకు <literal>#include</literal> ఫైళ్ళు (కామాతో వేరుచేయబడిన జాబితా), <link linkend=\"metafiles_sections\">విభాగపు ఫైలు</link> లేదా ఆదేశ వరుసనుండి గ్లోబల్ విలువను దిద్దివ్రాయుట. ఈ అంశము ఐచ్చికము."
+
+#: C/gtk-doc-manual.xml:859(term)
+msgid "@image"
+msgstr "@image"
+
+#: C/gtk-doc-manual.xml:861(para)
+msgid "The image to display at the top of the reference page for this section. This will often be some sort of a diagram to illustrate the visual appearance of a class or a diagram of its relationship to other classes. This item is optional."
+msgstr ""
+"ఈ విభాగము కొరకు సూచనపేజీ పైన ప్రదర్శించుటకు ప్రతిబింబము. ఇది తరుచుగా వొక క్లాస్ యొక్క విజువల్ అప్పియరెన్స్ "
+"వివరించుటకు డయాగ్రమ్ వంటిది లేదా యితర క్లాసులతో దాని సంభందాన్ని తెలిపే డయాగ్రమ్. ఈ అంశము ఐచ్చికము."
+
+#: C/gtk-doc-manual.xml:872(para)
+msgid "To avoid unnecessary recompilation after doc-changes put the section docs into the c-source where possible."
+msgstr ""
+"అనవసరపు రికంపైలేషన్ను విసర్జించుటకు doc-changes తర్వాత విభాగపు పత్రములను c-source నందు "
+"వీలైనచోట వుంచుము."
+
+#: C/gtk-doc-manual.xml:881(title)
+msgid "Documenting symbols"
+msgstr "చిహ్నముల పత్రికీకరణ"
+
+#: C/gtk-doc-manual.xml:883(para)
+msgid "Each symbol (function, macro, struct, enum, signal and property) is documented in a separate block. The block is best placed close to the definition of the symbols so that it is easy to keep them in sync. Thus function are usually documented in the c-source and macros, struct and enum in the header file."
+msgstr ""
+"ప్రతి చిహ్నము (function, macro, struct, enum, signal మరియు property) విడివిడి బ్లాక్ నందు పత్రికీకరణ "
+"చేయబడినవి. బ్లాక్ అనునది చిహ్నము యొక్క నిర్వచనముకు దగ్గరా వుంచబడినది అలా వాటిని సింక్లో వుంచుట సులువు. "
+"ఫంక్షన్ సాధారణంగా c-source నందు మరియు macros, stuct మరియు enumలు హెడర్ ఫైలునందు పత్రికీకరణ "
+"చేయబడతాయి."
+
+#: C/gtk-doc-manual.xml:891(title) C/gtk-doc-manual.xml:920(title)
+msgid "General tags"
+msgstr "సాధారణ టాగ్లు"
+
+#: C/gtk-doc-manual.xml:893(para)
+msgid "You can add versioning information to all documentation elements to tell when an api was introduced, or when it was deprecated."
+msgstr ""
+"మీరు వర్షనింగ్ సమాచారమును అన్ని పత్రికీకరణ మూలకాలకు జతచేయవచ్చును, api యెప్పుడు పరిచయం చేయబడిందో "
+"చెప్పుటకు, లేదా యెప్పుడు తీసివేయబడిందో చెప్పుటకు."
+
+#: C/gtk-doc-manual.xml:898(title)
+msgid "Versioning Tags"
+msgstr "వర్షనింగ్ టాగ్స్"
+
+#: C/gtk-doc-manual.xml:899(term)
+msgid "Since:"
+msgstr "అప్పటినుంచి:"
+
+#: C/gtk-doc-manual.xml:901(para)
+msgid "Description since which version of the code the API is available."
+msgstr "కోడ్ యొక్క యే వర్షన్ నుండి API అందుబాటులోవుందో వివరణ."
+
+#: C/gtk-doc-manual.xml:906(term)
+msgid "Deprecated:"
+msgstr "తీసివేసిన:"
+
+#: C/gtk-doc-manual.xml:908(para)
+msgid "Paragraph denoting that this function should no be used anymore. The description should point the reader to the new API."
+msgstr "ఈ ఫంక్షన్ యికపై వుపయోగించుటలేదని పారాగ్రాఫ్ చెబుచున్నది. వివరణ చదువరిని కొత్త APIకు సూచించాలి."
+
+#: C/gtk-doc-manual.xml:916(para)
+msgid "(FIXME : Stability information)"
+msgstr "(FIXME : స్థిరత్వ సమాచారము)"
+
+#: C/gtk-doc-manual.xml:943(title) C/gtk-doc-manual.xml:979(title)
+msgid "Function comment block"
+msgstr "ఫంక్షన్ వ్యాఖ్యానపు బ్లాక్"
+
+#: C/gtk-doc-manual.xml:949(para)
+msgid "Document whether returned objects, lists, strings, etc, should be freed/unrefed/released."
+msgstr "తిరిగివచ్చిన objects, lists, strings, మొదలగునవి, freed/unrefed/released చేయాలా వద్దా అనేదానిపై పత్రము."
+
+#: C/gtk-doc-manual.xml:955(para)
+msgid "Document whether parameters can be NULL, and what happens if they are."
+msgstr "పారామితులు NULL కావచ్చా, వొకవేళ అయితే యేమి జరుగును అనేదానిపై పత్రము."
+
+#: C/gtk-doc-manual.xml:960(para)
+msgid "Mention interesting pre-conditions and post-conditions where appropriate."
+msgstr "తగుచోట్ల ఆసక్తికరమైన ప్రి-కండీషన్లు మరియు పోస్ట్-కండీషన్లను తెలుపుము."
+
+#: C/gtk-doc-manual.xml:945(para) C/gtk-doc-manual.xml:1042(para)
+msgid "Please remember to: <placeholder-1/>"
+msgstr "దయచేసి దీనికి గుర్తువుంచండి: <placeholder-1/>"
+
+#: C/gtk-doc-manual.xml:967(para)
+msgid "Gtk-doc assumes all symbols (macros, functions) starting with '_' are private. They are treated like static functions."
+msgstr ""
+"Gtk-doc అన్ని చిహ్నములు (macros, functions) '_'తో ప్రారంభమగునవి వ్యక్తిగతమైనవని పరిగణించును. "
+"అవి స్టాటిక్ ఫంక్షన్సు వలె పరిగణించబడును."
+
+#: C/gtk-doc-manual.xml:972(para)
+msgid "Also, take a look at gobject introspection annotation tags: http://live.gnome.org/GObjectIntrospection/Annotations"
+msgstr ""
+"gobject యింట్రోస్పెక్షన్ యెన్నోయేషన్ టాగ్స్ వద్ద కూడా చూడండి: "
+"http://live.gnome.org/GObjectIntrospection/Annotations"
+
+#: C/gtk-doc-manual.xml:1003(title)
+msgid "Function tags"
+msgstr "ఫంక్షన్ టాగ్లు"
+
+#: C/gtk-doc-manual.xml:1004(term)
+msgid "Returns:"
+msgstr "తిరిగివచ్చినవి:"
+
+#: C/gtk-doc-manual.xml:1006(para)
+msgid "Paragraph describing the returned result."
+msgstr "పారాగ్రాఫ్ తిరిగివచ్చిన ఫలితాన్ని వివరిస్తుంది."
+
+#: C/gtk-doc-manual.xml:1011(term)
+msgid "@...:"
+msgstr "@...:"
+
+#: C/gtk-doc-manual.xml:1013(para)
+msgid "In case the function has variadic arguments, you should use this tag (@Varargs: does also work for historic reasons)."
+msgstr ""
+"ఒకవేళ ఫంక్షన్ వేరియాడిక్ ఆర్గుమెంట్లను కలిగివుంటే, మీరు ఈ టాగ్ను వుపయోగించాలి (@Varargs: చారిత్రక కారణాలకు "
+"కూడా పనిచేయును)."
+
+#: C/gtk-doc-manual.xml:1023(title) C/gtk-doc-manual.xml:1025(title)
+msgid "Property comment block"
+msgstr "లక్షణము వ్యాఖ్యాము బ్లాక్"
+
+#: C/gtk-doc-manual.xml:1040(title) C/gtk-doc-manual.xml:1059(title)
+msgid "Signal comment block"
+msgstr "సంకేతపు వ్యాఖ్యానము బ్లాక్"
+
+#: C/gtk-doc-manual.xml:1046(para)
+msgid "Document when the signal is emitted and whether it is emitted before or after other signals."
+msgstr "సంకేతము యెప్పుడు వెలువడింది మరియు అది సంకేతముల ముందు వెలువడిందా లేదా తర్వాత అనేది పత్రికీకరణ చేయును."
+
+#: C/gtk-doc-manual.xml:1052(para)
+msgid "Document what an application might do in the signal handler."
+msgstr "సంకేత సంభాలిక నందు వొక అనువర్తనము యేమి చేయవచ్చును అనే పత్రము."
+
+#: C/gtk-doc-manual.xml:1079(title) C/gtk-doc-manual.xml:1080(title)
+msgid "Struct comment block"
+msgstr "Struct వ్యాఖ్యానము బ్లాక్"
+
+#: C/gtk-doc-manual.xml:1100(para)
+msgid "Use <code>/*< private >*/</code> before the private struct fields you want to hide. Use <code>/*< public >*/</code> for the reverse behavirour."
+msgstr "మీరు మరుగున వుంచాలని అనుకొంటే private struct క్షేత్రముల ముందు <code>/*< private >*/</code> వుపయోగించు. విలోమ ప్రవర్తన కొరకు <code>/*< public >*/</code> వుపయోగించు."
+
+#: C/gtk-doc-manual.xml:1108(title) C/gtk-doc-manual.xml:1109(title)
+msgid "Enum comment block"
+msgstr "Enum వ్యాఖ్యానము బ్లాక్"
+
+#: C/gtk-doc-manual.xml:1130(para)
+msgid "Use <code>/*< private >*/</code> before the private enum values you want to hide. Use <code>/*< public >*/</code> for the reverse behavirour."
+msgstr "మీరు మరుగున వుంచాలని అనుకొంటే private enum విలువుల ముందు <code>/*< private >*/</code> వుపయోగించు. విలోమ ప్రవర్తన కొరకు <code>/*< public >*/</code> వుపయోగించు."
+
+#: C/gtk-doc-manual.xml:1140(title)
+msgid "Useful DocBook tags"
+msgstr "ఉపయోగకర DocBook టాగ్స్"
+
+#: C/gtk-doc-manual.xml:1142(para)
+msgid "Here are some DocBook tags which are most useful when documenting the code."
+msgstr "కోడ్ను పత్రికీకరణ చేయునప్పుడు యెక్కువ వుపయోగకరంగా వుండే మరికొన్ని DocBook టాగ్స్ యిక్కడ వున్నాయి."
+
+#: C/gtk-doc-manual.xml:1147(para)
+msgid "To link to another section in the GTK docs: <placeholder-1/> The linkend is the SGML/XML id on the top item of the page you want to link to. For most pages this is currently the part (\"gtk\", \"gdk\", \"glib\") and then the page title (\"Hash Tables\"). For widgets it is just the class name. Spaces and underscores are converted to '-' to conform to SGML/XML."
+msgstr "GTK docs నందు వేరొక విభాగమునకు లింకు చేయుటకు: <placeholder-1/> మీరు లింకు యేర్పరచాలని కొరుకొనుచున్న పేజీ యొక్క పై అంశముపై SGML/XML idయే linkend. చాలా పేజీలకు ప్రస్తుతం యిదే పార్ట్ (\"gtk\", \"gdk\", \"glib\") మరియు పేజీ శీర్షిక (\"Hash Tables\"). విడ్జట్లకు యిది క్లాస్ నామము మాత్రమే. SGML/XML నిర్ధారించుటకు ఖాళీలు మరియు అండర్స్కోర్లు '-'గా మార్చబడినవి."
+
+#: C/gtk-doc-manual.xml:1163(para)
+msgid "To refer to an external function, e.g. a standard C function: <placeholder-1/>"
+msgstr "బాహ్య ఫంక్షన్ను సూచించుటకు, ఉ.దా. ప్రామాణిక C ఫంక్షన్: <placeholder-1/>"
+
+#: C/gtk-doc-manual.xml:1174(para)
+msgid "To include example code: <placeholder-1/> or possibly this, for very short code fragments which don't need a title: <placeholder-2/> For the latter GTK-Doc also supports an abbreviation: <![CDATA[\n|[\n ...\n]|\n]]>"
+msgstr "ఉదాహరణ కోడ్ను చేర్చుటకు: <placeholder-1/> లేదా, శీర్షిక అవసరములేని చాలా చిన్న కోడ్ ముక్కల కొరకు: <placeholder-2/> తరువాతి GTK-Doc కూడా అబ్రివేషన్ను మద్దతించును: <![CDATA[\n|[\n ...\n]|\n]]>"
+
+#: C/gtk-doc-manual.xml:1208(para)
+msgid "To include bulleted lists: <placeholder-1/>"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1230(para)
+msgid "To include a note which stands out from the text: <placeholder-1/>"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1245(para)
+msgid "To refer to a type: <placeholder-1/>"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1256(para)
+msgid "To refer to an external structure (not one described in the GTK docs): <placeholder-1/>"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1267(para)
+msgid "To refer to a field of a structure: <placeholder-1/>"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1278(para)
+msgid "To refer to a class name, we could possibly use: <placeholder-1/> but you'll probably be using #GtkWidget instead (to automatically create a link to the GtkWidget page - see <link linkend=\"documenting_syntax\">the abbreviations</link>)."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1291(para)
+msgid "To emphasize text: <placeholder-1/>"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1302(para)
+msgid "For filenames use: <placeholder-1/>"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1313(para)
+msgid "To refer to keys use: <placeholder-1/>"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1328(title)
+msgid "Filling the extra files"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1330(para)
+msgid "There are a couple of extra files, that need to be maintained along with the inline source code comments: <filename><package>.types</filename>, <filename><package>-docs.sgml</filename>, <filename><package>-sections.txt</filename>."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1339(title)
+msgid "Editing the types file"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1341(para)
+msgid "If your library or application includes GtkObjects/GObjects, you want their signals, arguments/parameters and position in the hierarchy to be shown in the documentation. All you need to do, is to list the <function>xxx_get_type</function> functions together with their include inside the <filename><package>.types</filename> file."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1350(title)
+msgid "Example types file snippet"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1364(para)
+msgid "Since GTK-Doc 1.8 <application>gtkdoc-scan</application> can generate this list for you. Just add \"--rebuild-types\" to SCAN_OPTIONS in <filename>Makefile.am</filename>. If you use this approach you should not dist the types file nor have it under version control."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1373(title)
+msgid "Editing the master document"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1375(para)
+msgid "GTK-Doc produces documentation in DocBook SGML/XML. When processing the inline source comments, the GTK-Doc tools generate one documentation page per class or module as a separate file. The master document includes them and place them in a order."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1382(para)
+msgid "While GTK-Doc creates a template master document for you, later run will not touch it again. This means that one can freely structure the documentation. That includes grouping pages and adding extra pages. GTK-Doc has now a test suite, where also the master-document is recreated from scratch. Its a good idea to look at this from time to time to see if there are some new goodies introduced there."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1392(para)
+msgid "Do not create tutorials as extra documents. Just write extra chapters. The benefit of directly embedding the tutorial for your library into the API documentation is that it is easy to link for the tutorial to symbol documentation. Apart chances are higher that the tutorial gets updates along with the library."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1401(para)
+msgid "So what are the things to change inside the master document? For a start is only a little. There are some placeholders (text in square brackets) there which you should take care of."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1408(title)
+msgid "Master document header"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1430(title)
+msgid "Editing the section file"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1432(para)
+msgid "The section file is used to organise the documentation output by GTK-Doc. Here one specifies which symbol belongs to which module or class and control the visibility (public or private)."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1438(para)
+msgid "The section file is a plain test file with xml like syntax (using tags). Blank lines are ignored and lines starting with a '#' are treated as comment lines."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1444(para)
+msgid "The <FILE> ... </FILE> tag is used to specify the file name, without any suffix. For example, using '<FILE>gnome-config</FILE>' will result in the section declarations being output in the template file <filename>tmpl/gnome-config.sgml</filename>, which will be converted into the DocBook SGML/XML file <filename>sgml/gnome-config.sgml</filename> or .DocBook XML file <filename>xml/gnome-config.xml</filename>. (The name of the html file is based on the module name and the section title, or for gobjects it is based on the gobjects class name converted to lower case)."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1456(para)
+msgid "The <TITLE> ... </TITLE> tag is used to specify the title of the section. It is only useful before the templates (if used) are initially created, since the title set in the template file overrides this. Also if one uses SECTION comment in the sources, this is obsolete."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1463(para)
+msgid "You can group items in the section by using the <SUBSECTION> tag. Currently it outputs a blank line between subsections in the synopsis section. You can also use <SUBSECTION Standard> for standard GObject declarations (e.g. the functions like g_object_get_type and macros like G_OBJECT(), G_IS_OBJECT() etc.). Currently these are left out of the documentation. You can also use <SUBSECTION Private> for private declarations which will not be output (It is a handy way to avoid warning messages about unused declarations.). If your library contains private types which you don't want to appear in the object hierarchy and the list of implemented or required interfaces, add them to a Private subsection."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1479(para)
+msgid "You can also use <INCLUDE> ... </INCLUDE> to specify the #include files which are shown in the synopsis sections. It contains a comma-separate list of #include files, without the angle brackets. If you set it outside of any sections, it acts for all sections until the end of the file. If you set it within a section, it only applies to that section."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1493(title)
+msgid "Controlling the result"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1495(para)
+msgid "A GTK-Doc run generates report files inside the documentation directory. The generated files are named: <filename><package>-undocumented.txt</filename>, <filename><package>-undeclared.txt</filename> and <filename><package>-unused.txt</filename>. All those are plain text files that can be viewed and postprocessed easily."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1504(para)
+msgid "The <filename><package>-undocumented.txt</filename> file starts with the documentation coverage summary. Below are two sections divided by blank lines. The first section lists undocumented or incomplete symbols. The second section does the same for section docs. Incomplete entries are those, which have documentation, but where e.g. a new parameter has been added."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1513(para)
+msgid "The <filename><package>-undeclared.txt</filename> file lists symbols given in the <filename><package>-sections.txt</filename> but not found in the sources. Check if they have been removed or if they are misspelled."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1520(para)
+msgid "The <filename><package>-unused.txt</filename> file lists symbol names, where the GTK-Doc scanner has found documentation, but does not know where to put it. This means that the symbol has not yet been added to the <filename><package>-sections.txt</filename> file."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1528(para)
+msgid "Enable or add the <option>TESTS=$(GTKDOC_CHECK)</option> line in Makefile.am. If at least GTK-Doc 1.9 is installed, this will run sanity checks during <command>make check</command> run."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1535(para)
+msgid "One can also look at the files produced by the source code scanner: <filename><package>-decl-list.txt</filename> and <filename><package>-decl.txt</filename>. The first and can be compared with the section file if that is manualy maintained. The second lists all declarations fromt he headers If a symbol is missing one could check if this file contains it."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1544(para)
+msgid "If the project is GObject based, one can also look into the files produced by the object scanner: <filename><package>.args.txt</filename>, <filename><package>.hierarchy.txt</filename>, <filename><package>.interfaces.txt</filename>, <filename><package>.prerequisites.txt</filename> and <filename><package>.signals.txt</filename>. If there are missing symbols in any of those, one can ask gtkdoc to keep the intermedia scanner file for further analysis, but running it as <command>GTK_DOC_KEEP_INTERMEDIATE=1 make</command>."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1559(title)
+msgid "Frequently asked question"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1563(segtitle)
+msgid "Question"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1564(segtitle)
+msgid "Answer"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1566(seg)
+msgid "No class hierarchy."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1568(function)
+msgid "xxx_get_type()"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1569(filename)
+msgid "<package>.types"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1567(seg)
+msgid "The objects <placeholder-1/> function has not been entered into the <placeholder-2/> file."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1573(seg)
+msgid "Still no class hierarchy."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1575(filename) C/gtk-doc-manual.xml:1614(filename) C/gtk-doc-manual.xml:1622(filename) C/gtk-doc-manual.xml:1644(filename)
+msgid "<package>-sections.txt"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1576(ulink)
+msgid "explanation"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1574(seg)
+msgid "Missing or wrong naming in <placeholder-1/> file (see <placeholder-2/>)."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1580(seg)
+msgid "Damn, I have still no class hierarchy."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1582(type) C/gtk-doc-manual.xml:1623(type)
+msgid "GtkWidget"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1581(seg)
+msgid "Is the object name (name of the instance struct, e.g. <placeholder-1/>) part of the normal section (don't put this into Standard or Private subsections)."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1588(seg)
+msgid "No symbol index."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1590(filename) C/gtk-doc-manual.xml:1605(filename) C/gtk-doc-manual.xml:1631(filename)
+msgid "<package>-docs.{xml,sgml}"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1589(seg)
+msgid "Does the <placeholder-1/> contain a index that xi:includes the generated index?"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1595(seg)
+msgid "Symbols are not linked to their doc-section."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1596(seg)
+msgid "Is the doc-comment using the correct markup (added #,% or ())? Check if the gtkdoc-fixxref warns about unresolvable xrefs."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1602(seg)
+msgid "A new class does not appear in the docs."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1603(seg)
+msgid "Is the new page xi:included from <placeholder-1/>."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1609(seg)
+msgid "A new symbol does not appear in the docs."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1610(seg)
+msgid "Is the doc-comment properly formatted. Check for spelling mistakes in the begin of the comment. Check if the gtkdoc-fixxref warns about unresolvable xrefs. Check if the symbol is correctly listed in the <placeholder-1/> in a public subsection."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1618(seg)
+msgid "A type is missing from the class hierarchy."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1620(filename)
+msgid "<package>.hierarchy"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1621(filename)
+msgid "xml/tree_index.sgml"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1619(seg)
+msgid "If the type is listed in <placeholder-1/> but not in <placeholder-2/> then double check that the type is correctly placed in the <placeholder-3/>. If the type instance (e.g. <placeholder-4/>) is not listed or incidentialy makred private it will not be shown."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1628(seg)
+msgid "I get foldoc links for all gobject annotations."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1630(filename)
+msgid "xml/annotation-glossary.xml"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1629(seg)
+msgid "Check that <placeholder-1/> is xi:included from <placeholder-2/>."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1637(seg)
+msgid "Parameter described in source code comment block but does not exist"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1638(seg)
+msgid "Check if the prototype in the header has different parameter names as in the source."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1643(seg)
+msgid "multiple \"IDs\" for constraint linkend: XYZ"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1644(seg)
+msgid "Symbol XYZ appears twice in <placeholder-1/> file."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:1647(seg)
+msgid "Element typename in namespace '' encountered in para, but no template matches."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:12(releaseinfo)
+msgid "Version 1.1, March 2000"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:16(year)
+msgid "2000"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:16(holder)
+msgid "Free Software Foundation, Inc."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:19(para)
+msgid "<address>Free Software Foundation, Inc. <street>51 Franklin Street, Suite 330</street>, <city>Boston</city>, <state>MA</state><postcode>02110-1301</postcode><country>USA</country></address> Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:28(title)
+msgid "GNU Free Documentation License"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:31(title)
+msgid "0. PREAMBLE"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:32(para)
+msgid "The purpose of this License is to make a manual, textbook, or other written document <quote>free</quote> in the sense of freedom: to assure everyone the effective freedom to copy and redistribute it, with or without modifying it, either commercially or noncommercially. Secondarily, this License preserves for the author and publisher a way to get credit for their work, while not being considered responsible for modifications made by others."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:43(para)
+msgid "This License is a kind of <quote>copyleft</quote>, which means that derivative works of the document must themselves be free in the same sense. It complements the GNU General Public License, which is a copyleft license designed for free software."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:50(para)
+msgid "We have designed this License in order to use it for manuals for free software, because free software needs free documentation: a free program should come with manuals providing the same freedoms that the software does. But this License is not limited to software manuals; it can be used for any textual work, regardless of subject matter or whether it is published as a printed book. We recommend this License principally for works whose purpose is instruction or reference."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:62(title)
+msgid "1. APPLICABILITY AND DEFINITIONS"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:63(para)
+msgid "This License applies to any manual or other work that contains a notice placed by the copyright holder saying it can be distributed under the terms of this License. The <quote>Document</quote>, below, refers to any such manual or work. Any member of the public is a licensee, and is addressed as <quote>you</quote>."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:72(para)
+msgid "A <quote>Modified Version</quote> of the Document means any work containing the Document or a portion of it, either copied verbatim, or with modifications and/or translated into another language."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:79(para)
+msgid "A <quote>Secondary Section</quote> is a named appendix or a front-matter section of the <link linkend=\"fdl-document\">Document</link> that deals exclusively with the relationship of the publishers or authors of the Document to the Document's overall subject (or to related matters) and contains nothing that could fall directly within that overall subject. (For example, if the Document is in part a textbook of mathematics, a Secondary Section may not explain any mathematics.) The relationship could be a matter of historical connection with the subject or with related matters, or of legal, commercial, philosophical, ethical or political position regarding them."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:94(para)
+msgid "The <quote>Invariant Sections</quote> are certain <link linkend=\"fdl-secondary\"> Secondary Sections</link> whose titles are designated, as being those of Invariant Sections, in the notice that says that the <link linkend=\"fdl-document\">Document</link> is released under this License."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:103(para)
+msgid "The <quote>Cover Texts</quote> are certain short passages of text that are listed, as Front-Cover Texts or Back-Cover Texts, in the notice that says that the <link linkend=\"fdl-document\">Document</link> is released under this License."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:111(para)
+msgid "A <quote>Transparent</quote> copy of the <link linkend=\"fdl-document\"> Document</link> means a machine-readable copy, represented in a format whose specification is available to the general public, whose contents can be viewed and edited directly and straightforwardly with generic text editors or (for images composed of pixels) generic paint programs or (for drawings) some widely available drawing editor, and that is suitable for input to text formatters or for automatic translation to a variety of formats suitable for input to text formatters. A copy made in an otherwise Transparent file format whose markup has been designed to thwart or discourage subsequent modification by readers is not Transparent. A copy that is not <quote>Transparent</quote> is called <quote>Opaque</quote>."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:128(para)
+msgid "Examples of suitable formats for Transparent copies include plain ASCII without markup, Texinfo input format, LaTeX input format, SGML or XML using a publicly available DTD, and standard-conforming simple HTML designed for human modification. Opaque formats include PostScript, PDF, proprietary formats that can be read and edited only by proprietary word processors, SGML or XML for which the DTD and/or processing tools are not generally available, and the machine-generated HTML produced by some word processors for output purposes only."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:141(para)
+msgid "The <quote>Title Page</quote> means, for a printed book, the title page itself, plus such following pages as are needed to hold, legibly, the material this License requires to appear in the title page. For works in formats which do not have any title page as such, <quote>Title Page</quote> means the text near the most prominent appearance of the work's title, preceding the beginning of the body of the text."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:153(title)
+msgid "2. VERBATIM COPYING"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:154(para)
+msgid "You may copy and distribute the <link linkend=\"fdl-document\">Document</link> in any medium, either commercially or noncommercially, provided that this License, the copyright notices, and the license notice saying this License applies to the Document are reproduced in all copies, and that you add no other conditions whatsoever to those of this License. You may not use technical measures to obstruct or control the reading or further copying of the copies you make or distribute. However, you may accept compensation in exchange for copies. If you distribute a large enough number of copies you must also follow the conditions in <link linkend=\"fdl-section3\">section 3</link>."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:169(para)
+msgid "You may also lend copies, under the same conditions stated above, and you may publicly display copies."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:176(title)
+msgid "3. COPYING IN QUANTITY"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:177(para)
+msgid "If you publish printed copies of the <link linkend=\"fdl-document\">Document</link> numbering more than 100, and the Document's license notice requires <link linkend=\"fdl-cover-texts\">Cover Texts</link>, you must enclose the copies in covers that carry, clearly and legibly, all these Cover Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on the back cover. Both covers must also clearly and legibly identify you as the publisher of these copies. The front cover must present the full title with all words of the title equally prominent and visible. You may add other material on the covers in addition. Copying with changes limited to the covers, as long as they preserve the title of the <link linkend=\"fdl-document\">Document</link> and satisfy these conditions, can be treated as verbatim copying in other respects."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:195(para)
+msgid "If the required texts for either cover are too voluminous to fit legibly, you should put the first ones listed (as many as fit reasonably) on the actual cover, and continue the rest onto adjacent pages."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:202(para)
+msgid "If you publish or distribute <link linkend=\"fdl-transparent\">Opaque</link> copies of the <link linkend=\"fdl-document\">Document</link> numbering more than 100, you must either include a machine-readable <link linkend=\"fdl-transparent\">Transparent</link> copy along with each Opaque copy, or state in or with each Opaque copy a publicly-accessible computer-network location containing a complete Transparent copy of the Document, free of added material, which the general network-using public has access to download anonymously at no charge using public-standard network protocols. If you use the latter option, you must take reasonably prudent steps, when you begin distribution of Opaque copies in quantity, to ensure that this Transparent copy will remain thus accessible at the stated location until at least one year after the last time you distribute an Opaque copy (directly or through your agents or retailers) of that edition to the public."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:222(para)
+msgid "It is requested, but not required, that you contact the authors of the <link linkend=\"fdl-document\">Document</link> well before redistributing any large number of copies, to give them a chance to provide you with an updated version of the Document."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:231(title)
+msgid "4. MODIFICATIONS"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:232(para)
+msgid "You may copy and distribute a <link linkend=\"fdl-modified\">Modified Version</link> of the <link linkend=\"fdl-document\">Document</link> under the conditions of sections <link linkend=\"fdl-section2\">2</link> and <link linkend=\"fdl-section3\">3</link> above, provided that you release the Modified Version under precisely this License, with the Modified Version filling the role of the Document, thus licensing distribution and modification of the Modified Version to whoever possesses a copy of it. In addition, you must do these things in the Modified Version:"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:248(title)
+msgid "A"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:249(para)
+msgid "Use in the <link linkend=\"fdl-title-page\">Title Page</link> (and on the covers, if any) a title distinct from that of the <link linkend=\"fdl-document\">Document</link>, and from those of previous versions (which should, if there were any, be listed in the History section of the Document). You may use the same title as a previous version if the original publisher of that version gives permission."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:264(title)
+msgid "B"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:265(para)
+msgid "List on the <link linkend=\"fdl-title-page\">Title Page</link>, as authors, one or more persons or entities responsible for authorship of the modifications in the <link linkend=\"fdl-modified\">Modified Version</link>, together with at least five of the principal authors of the <link linkend=\"fdl-document\">Document</link> (all of its principal authors, if it has less than five)."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:279(title)
+msgid "C"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:280(para)
+msgid "State on the <link linkend=\"fdl-title-page\">Title Page</link> the name of the publisher of the <link linkend=\"fdl-modified\">Modified Version</link>, as the publisher."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:291(title)
+msgid "D"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:292(para)
+msgid "Preserve all the copyright notices of the <link linkend=\"fdl-document\">Document</link>."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:301(title)
+msgid "E"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:302(para)
+msgid "Add an appropriate copyright notice for your modifications adjacent to the other copyright notices."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:311(title)
+msgid "F"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:312(para)
+msgid "Include, immediately after the copyright notices, a license notice giving the public permission to use the <link linkend=\"fdl-modified\">Modified Version</link> under the terms of this License, in the form shown in the Addendum below."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:324(title)
+msgid "G"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:325(para)
+msgid "Preserve in that license notice the full lists of <link linkend=\"fdl-invariant\"> Invariant Sections</link> and required <link linkend=\"fdl-cover-texts\">Cover Texts</link> given in the <link linkend=\"fdl-document\">Document's</link> license notice."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:337(title)
+msgid "H"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:338(para)
+msgid "Include an unaltered copy of this License."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:346(title)
+msgid "I"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:347(para)
+msgid "Preserve the section entitled <quote>History</quote>, and its title, and add to it an item stating at least the title, year, new authors, and publisher of the <link linkend=\"fdl-modified\">Modified Version </link>as given on the <link linkend=\"fdl-title-page\">Title Page</link>. If there is no section entitled <quote>History</quote> in the <link linkend=\"fdl-document\">Document</link>, create one stating the title, year, authors, and publisher of the Document as given on its Title Page, then add an item describing the Modified Version as stated in the previous sentence."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:365(title)
+msgid "J"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:366(para)
+msgid "Preserve the network location, if any, given in the <link linkend=\"fdl-document\">Document</link> for public access to a <link linkend=\"fdl-transparent\">Transparent</link> copy of the Document, and likewise the network locations given in the Document for previous versions it was based on. These may be placed in the <quote>History</quote> section. You may omit a network location for a work that was published at least four years before the Document itself, or if the original publisher of the version it refers to gives permission."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:383(title)
+msgid "K"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:384(para)
+msgid "In any section entitled <quote>Acknowledgements</quote> or <quote>Dedications</quote>, preserve the section's title, and preserve in the section all the substance and tone of each of the contributor acknowledgements and/or dedications given therein."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:396(title)
+msgid "L"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:397(para)
+msgid "Preserve all the <link linkend=\"fdl-invariant\">Invariant Sections</link> of the <link linkend=\"fdl-document\">Document</link>, unaltered in their text and in their titles. Section numbers or the equivalent are not considered part of the section titles."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:409(title)
+msgid "M"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:410(para)
+msgid "Delete any section entitled <quote>Endorsements</quote>. Such a section may not be included in the <link linkend=\"fdl-modified\">Modified Version</link>."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:421(title)
+msgid "N"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:422(para)
+msgid "Do not retitle any existing section as <quote>Endorsements</quote> or to conflict in title with any <link linkend=\"fdl-invariant\">Invariant Section</link>."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:432(para)
+msgid "If the <link linkend=\"fdl-modified\">Modified Version</link> includes new front-matter sections or appendices that qualify as <link linkend=\"fdl-secondary\">Secondary Sections</link> and contain no material copied from the Document, you may at your option designate some or all of these sections as invariant. To do this, add their titles to the list of <link linkend=\"fdl-invariant\">Invariant Sections</link> in the Modified Version's license notice. These titles must be distinct from any other section titles."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:444(para)
+msgid "You may add a section entitled <quote>Endorsements</quote>, provided it contains nothing but endorsements of your <link linkend=\"fdl-modified\">Modified Version</link> by various parties--for example, statements of peer review or that the text has been approved by an organization as the authoritative definition of a standard."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:453(para)
+msgid "You may add a passage of up to five words as a <link linkend=\"fdl-cover-texts\">Front-Cover Text</link>, and a passage of up to 25 words as a <link linkend=\"fdl-cover-texts\">Back-Cover Text</link>, to the end of the list of <link linkend=\"fdl-cover-texts\">Cover Texts</link> in the <link linkend=\"fdl-modified\">Modified Version</link>. Only one passage of Front-Cover Text and one of Back-Cover Text may be added by (or through arrangements made by) any one entity. If the <link linkend=\"fdl-document\">Document</link> already includes a cover text for the same cover, previously added by you or by arrangement made by the same entity you are acting on behalf of, you may not add another; but you may replace the old one, on explicit permission from the previous publisher that added the old one."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:470(para)
+msgid "The author(s) and publisher(s) of the <link linkend=\"fdl-document\">Document</link> do not by this License give permission to use their names for publicity for or to assert or imply endorsement of any <link linkend=\"fdl-modified\">Modified Version </link>."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:480(title)
+msgid "5. COMBINING DOCUMENTS"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:481(para)
+msgid "You may combine the <link linkend=\"fdl-document\">Document</link> with other documents released under this License, under the terms defined in <link linkend=\"fdl-section4\">section 4</link> above for modified versions, provided that you include in the combination all of the <link linkend=\"fdl-invariant\">Invariant Sections</link> of all of the original documents, unmodified, and list them all as Invariant Sections of your combined work in its license notice."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:492(para)
+msgid "The combined work need only contain one copy of this License, and multiple identical <link linkend=\"fdl-invariant\">Invariant Sections</link> may be replaced with a single copy. If there are multiple Invariant Sections with the same name but different contents, make the title of each such section unique by adding at the end of it, in parentheses, the name of the original author or publisher of that section if known, or else a unique number. Make the same adjustment to the section titles in the list of Invariant Sections in the license notice of the combined work."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:505(para)
+msgid "In the combination, you must combine any sections entitled <quote>History</quote> in the various original documents, forming one section entitled <quote>History</quote>; likewise combine any sections entitled <quote>Acknowledgements</quote>, and any sections entitled <quote>Dedications</quote>. You must delete all sections entitled <quote>Endorsements.</quote>"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:516(title)
+msgid "6. COLLECTIONS OF DOCUMENTS"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:517(para)
+msgid "You may make a collection consisting of the <link linkend=\"fdl-document\">Document</link> and other documents released under this License, and replace the individual copies of this License in the various documents with a single copy that is included in the collection, provided that you follow the rules of this License for verbatim copying of each of the documents in all other respects."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:527(para)
+msgid "You may extract a single document from such a collection, and dispbibute it individually under this License, provided you insert a copy of this License into the extracted document, and follow this License in all other respects regarding verbatim copying of that document."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:537(title)
+msgid "7. AGGREGATION WITH INDEPENDENT WORKS"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:538(para)
+msgid "A compilation of the <link linkend=\"fdl-document\">Document</link> or its derivatives with other separate and independent documents or works, in or on a volume of a storage or distribution medium, does not as a whole count as a <link linkend=\"fdl-modified\">Modified Version</link> of the Document, provided no compilation copyright is claimed for the compilation. Such a compilation is called an <quote>aggregate</quote>, and this License does not apply to the other self-contained works thus compiled with the Document , on account of their being thus compiled, if they are not themselves derivative works of the Document. If the <link linkend=\"fdl-cover-texts\">Cover Text</link> requirement of <link linkend=\"fdl-section3\">section 3</link> is applicable to these copies of the Document, then if the Document is less than one quarter of the entire aggregate, the Document's Cover Texts may be placed on covers that surround only the Document within the aggregate. Otherwise they must appear on covers around the whole aggregate."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:561(title)
+msgid "8. TRANSLATION"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:562(para)
+msgid "Translation is considered a kind of modification, so you may distribute translations of the <link linkend=\"fdl-document\">Document</link> under the terms of <link linkend=\"fdl-section4\">section 4</link>. Replacing <link linkend=\"fdl-invariant\"> Invariant Sections</link> with translations requires special permission from their copyright holders, but you may include translations of some or all Invariant Sections in addition to the original versions of these Invariant Sections. You may include a translation of this License provided that you also include the original English version of this License. In case of a disagreement between the translation and the original English version of this License, the original English version will prevail."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:580(title)
+msgid "9. TERMINATION"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:581(para)
+msgid "You may not copy, modify, sublicense, or distribute the <link linkend=\"fdl-document\">Document</link> except as expressly provided for under this License. Any other attempt to copy, modify, sublicense or distribute the Document is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:594(title)
+msgid "10. FUTURE REVISIONS OF THIS LICENSE"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:595(para)
+msgid "The <ulink type=\"http\" url=\"http://www.gnu.org/fsf/fsf.html\">Free Software Foundation</ulink> may publish new, revised versions of the GNU Free Documentation License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. See <ulink type=\"http\" url=\"http://www.gnu.org/copyleft\">http://www.gnu.org/copyleft/</ulink>."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:606(para)
+msgid "Each version of the License is given a distinguishing version number. If the <link linkend=\"fdl-document\">Document</link> specifies that a particular numbered version of this License <quote>or any later version</quote> applies to it, you have the option of following the terms and conditions either of that specified version or of any later version that has been published (not as a draft) by the Free Software Foundation. If the Document does not specify a version number of this License, you may choose any version ever published (not as a draft) by the Free Software Foundation."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:621(title)
+msgid "Addendum"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:622(para)
+msgid "To use this License in a document you have written, include a copy of the License in the document and put the following copyright and license notices just after the title page:"
+msgstr ""
+
+#: C/gtk-doc-manual.xml:629(para)
+msgid "Copyright YEAR YOUR NAME."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:632(para)
+msgid "Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation; with the <link linkend=\"fdl-invariant\">Invariant Sections</link> being LIST THEIR TITLES, with the <link linkend=\"fdl-cover-texts\">Front-Cover Texts</link> being LIST, and with the <link linkend=\"fdl-cover-texts\">Back-Cover Texts</link> being LIST. A copy of the license is included in the section entitled <quote>GNU Free Documentation License</quote>."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:647(para)
+msgid "If you have no <link linkend=\"fdl-invariant\">Invariant Sections</link>, write <quote>with no Invariant Sections</quote> instead of saying which ones are invariant. If you have no <link linkend=\"fdl-cover-texts\">Front-Cover Texts</link>, write <quote>no Front-Cover Texts</quote> instead of <quote>Front-Cover Texts being LIST</quote>; likewise for <link linkend=\"fdl-cover-texts\">Back-Cover Texts</link>."
+msgstr ""
+
+#: C/gtk-doc-manual.xml:657(para)
+msgid "If your document contains nontrivial examples of program code, we recommend releasing these examples in parallel under your choice of free software license, such as the <ulink type=\"http\" url=\"http://www.gnu.org/copyleft/gpl.html\"> GNU General Public License</ulink>, to permit their use in free software."
+msgstr ""
+
+#. Put one translator per line, in the form of NAME <EMAIL>, YEAR1, YEAR2
+#: C/gtk-doc-manual.xml:0(None)
+msgid "translator-credits"
+msgstr ""
+
--- /dev/null
+#!/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:
--- /dev/null
+# Generated from ltmain.m4sh.
+
+# ltmain.sh (GNU libtool) 2.2.6b
+# Written by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
+
+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, 2006, 2007 2008 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.
+
+# GNU Libtool is free software; you can redistribute 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.
+#
+# As a special exception to the GNU General Public License,
+# if you distribute this file as part of a program or library that
+# is built using GNU Libtool, you may include this file under the
+# same distribution terms that you use for the rest of that program.
+#
+# GNU Libtool is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with GNU Libtool; see the file COPYING. If not, a copy
+# can be downloaded from http://www.gnu.org/licenses/gpl.html,
+# or obtained by writing to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+
+# Usage: $progname [OPTION]... [MODE-ARG]...
+#
+# Provide generalized library-building support services.
+#
+# --config show all configuration variables
+# --debug enable verbose shell tracing
+# -n, --dry-run display commands without modifying any files
+# --features display basic configuration information and exit
+# --mode=MODE use operation mode MODE
+# --preserve-dup-deps don't remove duplicate dependency libraries
+# --quiet, --silent don't print informational messages
+# --tag=TAG use configuration variables from tag TAG
+# -v, --verbose print informational messages (default)
+# --version print version information
+# -h, --help print short or long help message
+#
+# MODE must be one of the following:
+#
+# clean remove files from the build directory
+# compile compile a source file into a libtool object
+# execute automatically set library path, then run a program
+# finish complete the installation of libtool libraries
+# install install libraries or executables
+# link create a library or an executable
+# uninstall remove libraries from an installed directory
+#
+# MODE-ARGS vary depending on the MODE.
+# Try `$progname --help --mode=MODE' for a more detailed description of MODE.
+#
+# When reporting a bug, please describe a test case to reproduce it and
+# include the following information:
+#
+# host-triplet: $host
+# shell: $SHELL
+# compiler: $LTCC
+# compiler flags: $LTCFLAGS
+# linker: $LD (gnu? $with_gnu_ld)
+# $progname: (GNU libtool) 2.2.6b Debian-2.2.6b-2ubuntu1
+# automake: $automake_version
+# autoconf: $autoconf_version
+#
+# Report bugs to <bug-libtool@gnu.org>.
+
+PROGRAM=ltmain.sh
+PACKAGE=libtool
+VERSION="2.2.6b Debian-2.2.6b-2ubuntu1"
+TIMESTAMP=""
+package_revision=1.3017
+
+# Be Bourne compatible
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
+ emulate sh
+ NULLCMD=:
+ # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
+ # is contrary to our usage. Disable this feature.
+ alias -g '${1+"$@"}'='"$@"'
+ setopt NO_GLOB_SUBST
+else
+ case `(set -o) 2>/dev/null` in *posix*) set -o posix;; esac
+fi
+BIN_SH=xpg4; export BIN_SH # for Tru64
+DUALCASE=1; export DUALCASE # for MKS sh
+
+# NLS nuisances: We save the old values to restore during execute mode.
+# Only set LANG and LC_ALL to C if already set.
+# These must not be set unconditionally because not all systems understand
+# e.g. LANG=C (notably SCO).
+lt_user_locale=
+lt_safe_locale=
+for lt_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES
+do
+ eval "if test \"\${$lt_var+set}\" = set; then
+ save_$lt_var=\$$lt_var
+ $lt_var=C
+ export $lt_var
+ lt_user_locale=\"$lt_var=\\\$save_\$lt_var; \$lt_user_locale\"
+ lt_safe_locale=\"$lt_var=C; \$lt_safe_locale\"
+ fi"
+done
+
+$lt_unset CDPATH
+
+
+
+
+
+: ${CP="cp -f"}
+: ${ECHO="echo"}
+: ${EGREP="/bin/grep -E"}
+: ${FGREP="/bin/grep -F"}
+: ${GREP="/bin/grep"}
+: ${LN_S="ln -s"}
+: ${MAKE="make"}
+: ${MKDIR="mkdir"}
+: ${MV="mv -f"}
+: ${RM="rm -f"}
+: ${SED="/bin/sed"}
+: ${SHELL="${CONFIG_SHELL-/bin/sh}"}
+: ${Xsed="$SED -e 1s/^X//"}
+
+# Global variables:
+EXIT_SUCCESS=0
+EXIT_FAILURE=1
+EXIT_MISMATCH=63 # $? = 63 is used to indicate version mismatch to missing.
+EXIT_SKIP=77 # $? = 77 is used to indicate a skipped test to automake.
+
+exit_status=$EXIT_SUCCESS
+
+# Make sure IFS has a sensible default
+lt_nl='
+'
+IFS=" $lt_nl"
+
+dirname="s,/[^/]*$,,"
+basename="s,^.*/,,"
+
+# func_dirname_and_basename file append nondir_replacement
+# perform func_basename and func_dirname in a single function
+# call:
+# dirname: Compute the dirname of FILE. If nonempty,
+# add APPEND to the result, otherwise set result
+# to NONDIR_REPLACEMENT.
+# value returned in "$func_dirname_result"
+# basename: Compute filename of FILE.
+# value retuned in "$func_basename_result"
+# Implementation must be kept synchronized with func_dirname
+# and func_basename. For efficiency, we do not delegate to
+# those functions but instead duplicate the functionality here.
+func_dirname_and_basename ()
+{
+ # Extract subdirectory from the argument.
+ func_dirname_result=`$ECHO "X${1}" | $Xsed -e "$dirname"`
+ if test "X$func_dirname_result" = "X${1}"; then
+ func_dirname_result="${3}"
+ else
+ func_dirname_result="$func_dirname_result${2}"
+ fi
+ func_basename_result=`$ECHO "X${1}" | $Xsed -e "$basename"`
+}
+
+# Generated shell functions inserted here.
+
+# Work around backward compatibility issue on IRIX 6.5. On IRIX 6.4+, sh
+# is ksh but when the shell is invoked as "sh" and the current value of
+# the _XPG environment variable is not equal to 1 (one), the special
+# positional parameter $0, within a function call, is the name of the
+# function.
+progpath="$0"
+
+# The name of this program:
+# In the unlikely event $progname began with a '-', it would play havoc with
+# func_echo (imagine progname=-n), so we prepend ./ in that case:
+func_dirname_and_basename "$progpath"
+progname=$func_basename_result
+case $progname in
+ -*) progname=./$progname ;;
+esac
+
+# Make sure we have an absolute path for reexecution:
+case $progpath in
+ [\\/]*|[A-Za-z]:\\*) ;;
+ *[\\/]*)
+ progdir=$func_dirname_result
+ progdir=`cd "$progdir" && pwd`
+ progpath="$progdir/$progname"
+ ;;
+ *)
+ save_IFS="$IFS"
+ IFS=:
+ for progdir in $PATH; do
+ IFS="$save_IFS"
+ test -x "$progdir/$progname" && break
+ done
+ IFS="$save_IFS"
+ test -n "$progdir" || progdir=`pwd`
+ progpath="$progdir/$progname"
+ ;;
+esac
+
+# Sed substitution that helps us do robust quoting. It backslashifies
+# metacharacters that are still active within double-quoted strings.
+Xsed="${SED}"' -e 1s/^X//'
+sed_quote_subst='s/\([`"$\\]\)/\\\1/g'
+
+# Same as above, but do not quote variable references.
+double_quote_subst='s/\(["`\\]\)/\\\1/g'
+
+# Re-`\' parameter expansions in output of double_quote_subst that were
+# `\'-ed in input to the same. If an odd number of `\' preceded a '$'
+# in input to double_quote_subst, that '$' was protected from expansion.
+# Since each input `\' is now two `\'s, look for any number of runs of
+# four `\'s followed by two `\'s and then a '$'. `\' that '$'.
+bs='\\'
+bs2='\\\\'
+bs4='\\\\\\\\'
+dollar='\$'
+sed_double_backslash="\
+ s/$bs4/&\\
+/g
+ s/^$bs2$dollar/$bs&/
+ s/\\([^$bs]\\)$bs2$dollar/\\1$bs2$bs$dollar/g
+ s/\n//g"
+
+# Standard options:
+opt_dry_run=false
+opt_help=false
+opt_quiet=false
+opt_verbose=false
+opt_warning=:
+
+# func_echo arg...
+# Echo program name prefixed message, along with the current mode
+# name if it has been set yet.
+func_echo ()
+{
+ $ECHO "$progname${mode+: }$mode: $*"
+}
+
+# func_verbose arg...
+# Echo program name prefixed message in verbose mode only.
+func_verbose ()
+{
+ $opt_verbose && func_echo ${1+"$@"}
+
+ # A bug in bash halts the script if the last line of a function
+ # fails when set -e is in force, so we need another command to
+ # work around that:
+ :
+}
+
+# func_error arg...
+# Echo program name prefixed message to standard error.
+func_error ()
+{
+ $ECHO "$progname${mode+: }$mode: "${1+"$@"} 1>&2
+}
+
+# func_warning arg...
+# Echo program name prefixed warning message to standard error.
+func_warning ()
+{
+ $opt_warning && $ECHO "$progname${mode+: }$mode: warning: "${1+"$@"} 1>&2
+
+ # bash bug again:
+ :
+}
+
+# func_fatal_error arg...
+# Echo program name prefixed message to standard error, and exit.
+func_fatal_error ()
+{
+ func_error ${1+"$@"}
+ exit $EXIT_FAILURE
+}
+
+# func_fatal_help arg...
+# Echo program name prefixed message to standard error, followed by
+# a help hint, and exit.
+func_fatal_help ()
+{
+ func_error ${1+"$@"}
+ func_fatal_error "$help"
+}
+help="Try \`$progname --help' for more information." ## default
+
+
+# func_grep expression filename
+# Check whether EXPRESSION matches any line of FILENAME, without output.
+func_grep ()
+{
+ $GREP "$1" "$2" >/dev/null 2>&1
+}
+
+
+# func_mkdir_p directory-path
+# Make sure the entire path to DIRECTORY-PATH is available.
+func_mkdir_p ()
+{
+ my_directory_path="$1"
+ my_dir_list=
+
+ if test -n "$my_directory_path" && test "$opt_dry_run" != ":"; then
+
+ # Protect directory names starting with `-'
+ case $my_directory_path in
+ -*) my_directory_path="./$my_directory_path" ;;
+ esac
+
+ # While some portion of DIR does not yet exist...
+ while test ! -d "$my_directory_path"; do
+ # ...make a list in topmost first order. Use a colon delimited
+ # list incase some portion of path contains whitespace.
+ my_dir_list="$my_directory_path:$my_dir_list"
+
+ # If the last portion added has no slash in it, the list is done
+ case $my_directory_path in */*) ;; *) break ;; esac
+
+ # ...otherwise throw away the child directory and loop
+ my_directory_path=`$ECHO "X$my_directory_path" | $Xsed -e "$dirname"`
+ done
+ my_dir_list=`$ECHO "X$my_dir_list" | $Xsed -e 's,:*$,,'`
+
+ save_mkdir_p_IFS="$IFS"; IFS=':'
+ for my_dir in $my_dir_list; do
+ IFS="$save_mkdir_p_IFS"
+ # mkdir can fail with a `File exist' error if two processes
+ # try to create one of the directories concurrently. Don't
+ # stop in that case!
+ $MKDIR "$my_dir" 2>/dev/null || :
+ done
+ IFS="$save_mkdir_p_IFS"
+
+ # Bail out if we (or some other process) failed to create a directory.
+ test -d "$my_directory_path" || \
+ func_fatal_error "Failed to create \`$1'"
+ fi
+}
+
+
+# func_mktempdir [string]
+# Make a temporary directory that won't clash with other running
+# libtool processes, and avoids race conditions if possible. If
+# given, STRING is the basename for that directory.
+func_mktempdir ()
+{
+ my_template="${TMPDIR-/tmp}/${1-$progname}"
+
+ if test "$opt_dry_run" = ":"; then
+ # Return a directory name, but don't create it in dry-run mode
+ my_tmpdir="${my_template}-$$"
+ else
+
+ # If mktemp works, use that first and foremost
+ my_tmpdir=`mktemp -d "${my_template}-XXXXXXXX" 2>/dev/null`
+
+ if test ! -d "$my_tmpdir"; then
+ # Failing that, at least try and use $RANDOM to avoid a race
+ my_tmpdir="${my_template}-${RANDOM-0}$$"
+
+ save_mktempdir_umask=`umask`
+ umask 0077
+ $MKDIR "$my_tmpdir"
+ umask $save_mktempdir_umask
+ fi
+
+ # If we're not in dry-run mode, bomb out on failure
+ test -d "$my_tmpdir" || \
+ func_fatal_error "cannot create temporary directory \`$my_tmpdir'"
+ fi
+
+ $ECHO "X$my_tmpdir" | $Xsed
+}
+
+
+# func_quote_for_eval arg
+# Aesthetically quote ARG to be evaled later.
+# This function returns two values: FUNC_QUOTE_FOR_EVAL_RESULT
+# is double-quoted, suitable for a subsequent eval, whereas
+# FUNC_QUOTE_FOR_EVAL_UNQUOTED_RESULT has merely all characters
+# which are still active within double quotes backslashified.
+func_quote_for_eval ()
+{
+ case $1 in
+ *[\\\`\"\$]*)
+ func_quote_for_eval_unquoted_result=`$ECHO "X$1" | $Xsed -e "$sed_quote_subst"` ;;
+ *)
+ func_quote_for_eval_unquoted_result="$1" ;;
+ esac
+
+ case $func_quote_for_eval_unquoted_result in
+ # Double-quote args containing shell metacharacters to delay
+ # word splitting, command substitution and and variable
+ # expansion for a subsequent eval.
+ # Many Bourne shells cannot handle close brackets correctly
+ # in scan sets, so we specify it separately.
+ *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
+ func_quote_for_eval_result="\"$func_quote_for_eval_unquoted_result\""
+ ;;
+ *)
+ func_quote_for_eval_result="$func_quote_for_eval_unquoted_result"
+ esac
+}
+
+
+# func_quote_for_expand arg
+# Aesthetically quote ARG to be evaled later; same as above,
+# but do not quote variable references.
+func_quote_for_expand ()
+{
+ case $1 in
+ *[\\\`\"]*)
+ my_arg=`$ECHO "X$1" | $Xsed \
+ -e "$double_quote_subst" -e "$sed_double_backslash"` ;;
+ *)
+ my_arg="$1" ;;
+ esac
+
+ case $my_arg in
+ # Double-quote args containing shell metacharacters to delay
+ # word splitting and command substitution for a subsequent eval.
+ # Many Bourne shells cannot handle close brackets correctly
+ # in scan sets, so we specify it separately.
+ *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
+ my_arg="\"$my_arg\""
+ ;;
+ esac
+
+ func_quote_for_expand_result="$my_arg"
+}
+
+
+# func_show_eval cmd [fail_exp]
+# Unless opt_silent is true, then output CMD. Then, if opt_dryrun is
+# not true, evaluate CMD. If the evaluation of CMD fails, and FAIL_EXP
+# is given, then evaluate it.
+func_show_eval ()
+{
+ my_cmd="$1"
+ my_fail_exp="${2-:}"
+
+ ${opt_silent-false} || {
+ func_quote_for_expand "$my_cmd"
+ eval "func_echo $func_quote_for_expand_result"
+ }
+
+ if ${opt_dry_run-false}; then :; else
+ eval "$my_cmd"
+ my_status=$?
+ if test "$my_status" -eq 0; then :; else
+ eval "(exit $my_status); $my_fail_exp"
+ fi
+ fi
+}
+
+
+# func_show_eval_locale cmd [fail_exp]
+# Unless opt_silent is true, then output CMD. Then, if opt_dryrun is
+# not true, evaluate CMD. If the evaluation of CMD fails, and FAIL_EXP
+# is given, then evaluate it. Use the saved locale for evaluation.
+func_show_eval_locale ()
+{
+ my_cmd="$1"
+ my_fail_exp="${2-:}"
+
+ ${opt_silent-false} || {
+ func_quote_for_expand "$my_cmd"
+ eval "func_echo $func_quote_for_expand_result"
+ }
+
+ if ${opt_dry_run-false}; then :; else
+ eval "$lt_user_locale
+ $my_cmd"
+ my_status=$?
+ eval "$lt_safe_locale"
+ if test "$my_status" -eq 0; then :; else
+ eval "(exit $my_status); $my_fail_exp"
+ fi
+ fi
+}
+
+
+
+
+
+# func_version
+# Echo version message to standard output and exit.
+func_version ()
+{
+ $SED -n '/^# '$PROGRAM' (GNU /,/# warranty; / {
+ s/^# //
+ s/^# *$//
+ s/\((C)\)[ 0-9,-]*\( [1-9][0-9]*\)/\1\2/
+ p
+ }' < "$progpath"
+ exit $?
+}
+
+# func_usage
+# Echo short help message to standard output and exit.
+func_usage ()
+{
+ $SED -n '/^# Usage:/,/# -h/ {
+ s/^# //
+ s/^# *$//
+ s/\$progname/'$progname'/
+ p
+ }' < "$progpath"
+ $ECHO
+ $ECHO "run \`$progname --help | more' for full usage"
+ exit $?
+}
+
+# func_help
+# Echo long help message to standard output and exit.
+func_help ()
+{
+ $SED -n '/^# Usage:/,/# Report bugs to/ {
+ s/^# //
+ s/^# *$//
+ s*\$progname*'$progname'*
+ s*\$host*'"$host"'*
+ s*\$SHELL*'"$SHELL"'*
+ s*\$LTCC*'"$LTCC"'*
+ s*\$LTCFLAGS*'"$LTCFLAGS"'*
+ s*\$LD*'"$LD"'*
+ s/\$with_gnu_ld/'"$with_gnu_ld"'/
+ s/\$automake_version/'"`(automake --version) 2>/dev/null |$SED 1q`"'/
+ s/\$autoconf_version/'"`(autoconf --version) 2>/dev/null |$SED 1q`"'/
+ p
+ }' < "$progpath"
+ exit $?
+}
+
+# func_missing_arg argname
+# Echo program name prefixed message to standard error and set global
+# exit_cmd.
+func_missing_arg ()
+{
+ func_error "missing argument for $1"
+ exit_cmd=exit
+}
+
+exit_cmd=:
+
+
+
+
+
+# Check that we have a working $ECHO.
+if test "X$1" = X--no-reexec; then
+ # Discard the --no-reexec flag, and continue.
+ shift
+elif test "X$1" = X--fallback-echo; then
+ # Avoid inline document here, it may be left over
+ :
+elif test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t'; then
+ # Yippee, $ECHO works!
+ :
+else
+ # Restart under the correct shell, and then maybe $ECHO will work.
+ exec $SHELL "$progpath" --no-reexec ${1+"$@"}
+fi
+
+if test "X$1" = X--fallback-echo; then
+ # used as fallback echo
+ shift
+ cat <<EOF
+$*
+EOF
+ exit $EXIT_SUCCESS
+fi
+
+magic="%%%MAGIC variable%%%"
+magic_exe="%%%MAGIC EXE variable%%%"
+
+# Global variables.
+# $mode is unset
+nonopt=
+execute_dlfiles=
+preserve_args=
+lo2o="s/\\.lo\$/.${objext}/"
+o2lo="s/\\.${objext}\$/.lo/"
+extracted_archives=
+extracted_serial=0
+
+opt_dry_run=false
+opt_duplicate_deps=false
+opt_silent=false
+opt_debug=:
+
+# If this variable is set in any of the actions, the command in it
+# will be execed at the end. This prevents here-documents from being
+# left over by shells.
+exec_cmd=
+
+# func_fatal_configuration arg...
+# Echo program name prefixed message to standard error, followed by
+# a configuration failure hint, and exit.
+func_fatal_configuration ()
+{
+ func_error ${1+"$@"}
+ func_error "See the $PACKAGE documentation for more information."
+ func_fatal_error "Fatal configuration error."
+}
+
+
+# func_config
+# Display the configuration for all the tags in this script.
+func_config ()
+{
+ re_begincf='^# ### BEGIN LIBTOOL'
+ re_endcf='^# ### END LIBTOOL'
+
+ # Default configuration.
+ $SED "1,/$re_begincf CONFIG/d;/$re_endcf CONFIG/,\$d" < "$progpath"
+
+ # Now print the configurations for the tags.
+ for tagname in $taglist; do
+ $SED -n "/$re_begincf TAG CONFIG: $tagname\$/,/$re_endcf TAG CONFIG: $tagname\$/p" < "$progpath"
+ done
+
+ exit $?
+}
+
+# func_features
+# Display the features supported by this script.
+func_features ()
+{
+ $ECHO "host: $host"
+ if test "$build_libtool_libs" = yes; then
+ $ECHO "enable shared libraries"
+ else
+ $ECHO "disable shared libraries"
+ fi
+ if test "$build_old_libs" = yes; then
+ $ECHO "enable static libraries"
+ else
+ $ECHO "disable static libraries"
+ fi
+
+ exit $?
+}
+
+# func_enable_tag tagname
+# Verify that TAGNAME is valid, and either flag an error and exit, or
+# enable the TAGNAME tag. We also add TAGNAME to the global $taglist
+# variable here.
+func_enable_tag ()
+{
+ # Global variable:
+ tagname="$1"
+
+ re_begincf="^# ### BEGIN LIBTOOL TAG CONFIG: $tagname\$"
+ re_endcf="^# ### END LIBTOOL TAG CONFIG: $tagname\$"
+ sed_extractcf="/$re_begincf/,/$re_endcf/p"
+
+ # Validate tagname.
+ case $tagname in
+ *[!-_A-Za-z0-9,/]*)
+ func_fatal_error "invalid tag name: $tagname"
+ ;;
+ esac
+
+ # Don't test for the "default" C tag, as we know it's
+ # there but not specially marked.
+ case $tagname in
+ CC) ;;
+ *)
+ if $GREP "$re_begincf" "$progpath" >/dev/null 2>&1; then
+ taglist="$taglist $tagname"
+
+ # Evaluate the configuration. Be careful to quote the path
+ # and the sed script, to avoid splitting on whitespace, but
+ # also don't use non-portable quotes within backquotes within
+ # quotes we have to do it in 2 steps:
+ extractedcf=`$SED -n -e "$sed_extractcf" < "$progpath"`
+ eval "$extractedcf"
+ else
+ func_error "ignoring unknown tag $tagname"
+ fi
+ ;;
+ esac
+}
+
+# Parse options once, thoroughly. This comes as soon as possible in
+# the script to make things like `libtool --version' happen quickly.
+{
+
+ # Shorthand for --mode=foo, only valid as the first argument
+ case $1 in
+ clean|clea|cle|cl)
+ shift; set dummy --mode clean ${1+"$@"}; shift
+ ;;
+ compile|compil|compi|comp|com|co|c)
+ shift; set dummy --mode compile ${1+"$@"}; shift
+ ;;
+ execute|execut|execu|exec|exe|ex|e)
+ shift; set dummy --mode execute ${1+"$@"}; shift
+ ;;
+ finish|finis|fini|fin|fi|f)
+ shift; set dummy --mode finish ${1+"$@"}; shift
+ ;;
+ install|instal|insta|inst|ins|in|i)
+ shift; set dummy --mode install ${1+"$@"}; shift
+ ;;
+ link|lin|li|l)
+ shift; set dummy --mode link ${1+"$@"}; shift
+ ;;
+ uninstall|uninstal|uninsta|uninst|unins|unin|uni|un|u)
+ shift; set dummy --mode uninstall ${1+"$@"}; shift
+ ;;
+ esac
+
+ # Parse non-mode specific arguments:
+ while test "$#" -gt 0; do
+ opt="$1"
+ shift
+
+ case $opt in
+ --config) func_config ;;
+
+ --debug) preserve_args="$preserve_args $opt"
+ func_echo "enabling shell trace mode"
+ opt_debug='set -x'
+ $opt_debug
+ ;;
+
+ -dlopen) test "$#" -eq 0 && func_missing_arg "$opt" && break
+ execute_dlfiles="$execute_dlfiles $1"
+ shift
+ ;;
+
+ --dry-run | -n) opt_dry_run=: ;;
+ --features) func_features ;;
+ --finish) mode="finish" ;;
+
+ --mode) test "$#" -eq 0 && func_missing_arg "$opt" && break
+ case $1 in
+ # Valid mode arguments:
+ clean) ;;
+ compile) ;;
+ execute) ;;
+ finish) ;;
+ install) ;;
+ link) ;;
+ relink) ;;
+ uninstall) ;;
+
+ # Catch anything else as an error
+ *) func_error "invalid argument for $opt"
+ exit_cmd=exit
+ break
+ ;;
+ esac
+
+ mode="$1"
+ shift
+ ;;
+
+ --preserve-dup-deps)
+ opt_duplicate_deps=: ;;
+
+ --quiet|--silent) preserve_args="$preserve_args $opt"
+ opt_silent=:
+ ;;
+
+ --verbose| -v) preserve_args="$preserve_args $opt"
+ opt_silent=false
+ ;;
+
+ --tag) test "$#" -eq 0 && func_missing_arg "$opt" && break
+ preserve_args="$preserve_args $opt $1"
+ func_enable_tag "$1" # tagname is set here
+ shift
+ ;;
+
+ # Separate optargs to long options:
+ -dlopen=*|--mode=*|--tag=*)
+ func_opt_split "$opt"
+ set dummy "$func_opt_split_opt" "$func_opt_split_arg" ${1+"$@"}
+ shift
+ ;;
+
+ -\?|-h) func_usage ;;
+ --help) opt_help=: ;;
+ --version) func_version ;;
+
+ -*) func_fatal_help "unrecognized option \`$opt'" ;;
+
+ *) nonopt="$opt"
+ break
+ ;;
+ esac
+ done
+
+
+ case $host in
+ *cygwin* | *mingw* | *pw32* | *cegcc*)
+ # don't eliminate duplications in $postdeps and $predeps
+ opt_duplicate_compiler_generated_deps=:
+ ;;
+ *)
+ opt_duplicate_compiler_generated_deps=$opt_duplicate_deps
+ ;;
+ esac
+
+ # Having warned about all mis-specified options, bail out if
+ # anything was wrong.
+ $exit_cmd $EXIT_FAILURE
+}
+
+# func_check_version_match
+# Ensure that we are using m4 macros, and libtool script from the same
+# release of libtool.
+func_check_version_match ()
+{
+ if test "$package_revision" != "$macro_revision"; then
+ if test "$VERSION" != "$macro_version"; then
+ if test -z "$macro_version"; then
+ cat >&2 <<_LT_EOF
+$progname: Version mismatch error. This is $PACKAGE $VERSION, but the
+$progname: definition of this LT_INIT comes from an older release.
+$progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION
+$progname: and run autoconf again.
+_LT_EOF
+ else
+ cat >&2 <<_LT_EOF
+$progname: Version mismatch error. This is $PACKAGE $VERSION, but the
+$progname: definition of this LT_INIT comes from $PACKAGE $macro_version.
+$progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION
+$progname: and run autoconf again.
+_LT_EOF
+ fi
+ else
+ cat >&2 <<_LT_EOF
+$progname: Version mismatch error. This is $PACKAGE $VERSION, revision $package_revision,
+$progname: but the definition of this LT_INIT comes from revision $macro_revision.
+$progname: You should recreate aclocal.m4 with macros from revision $package_revision
+$progname: of $PACKAGE $VERSION and run autoconf again.
+_LT_EOF
+ fi
+
+ exit $EXIT_MISMATCH
+ fi
+}
+
+
+## ----------- ##
+## Main. ##
+## ----------- ##
+
+$opt_help || {
+ # Sanity checks first:
+ func_check_version_match
+
+ if test "$build_libtool_libs" != yes && test "$build_old_libs" != yes; then
+ func_fatal_configuration "not configured to build any kind of library"
+ fi
+
+ test -z "$mode" && func_fatal_error "error: you must specify a MODE."
+
+
+ # Darwin sucks
+ eval std_shrext=\"$shrext_cmds\"
+
+
+ # Only execute mode is allowed to have -dlopen flags.
+ if test -n "$execute_dlfiles" && test "$mode" != execute; then
+ func_error "unrecognized option \`-dlopen'"
+ $ECHO "$help" 1>&2
+ exit $EXIT_FAILURE
+ fi
+
+ # Change the help message to a mode-specific one.
+ generic_help="$help"
+ help="Try \`$progname --help --mode=$mode' for more information."
+}
+
+
+# func_lalib_p file
+# True iff FILE is a libtool `.la' library or `.lo' object file.
+# This function is only a basic sanity check; it will hardly flush out
+# determined imposters.
+func_lalib_p ()
+{
+ test -f "$1" &&
+ $SED -e 4q "$1" 2>/dev/null \
+ | $GREP "^# Generated by .*$PACKAGE" > /dev/null 2>&1
+}
+
+# func_lalib_unsafe_p file
+# True iff FILE is a libtool `.la' library or `.lo' object file.
+# This function implements the same check as func_lalib_p without
+# resorting to external programs. To this end, it redirects stdin and
+# closes it afterwards, without saving the original file descriptor.
+# As a safety measure, use it only where a negative result would be
+# fatal anyway. Works if `file' does not exist.
+func_lalib_unsafe_p ()
+{
+ lalib_p=no
+ if test -f "$1" && test -r "$1" && exec 5<&0 <"$1"; then
+ for lalib_p_l in 1 2 3 4
+ do
+ read lalib_p_line
+ case "$lalib_p_line" in
+ \#\ Generated\ by\ *$PACKAGE* ) lalib_p=yes; break;;
+ esac
+ done
+ exec 0<&5 5<&-
+ fi
+ test "$lalib_p" = yes
+}
+
+# func_ltwrapper_script_p file
+# True iff FILE is a libtool wrapper script
+# This function is only a basic sanity check; it will hardly flush out
+# determined imposters.
+func_ltwrapper_script_p ()
+{
+ func_lalib_p "$1"
+}
+
+# func_ltwrapper_executable_p file
+# True iff FILE is a libtool wrapper executable
+# This function is only a basic sanity check; it will hardly flush out
+# determined imposters.
+func_ltwrapper_executable_p ()
+{
+ func_ltwrapper_exec_suffix=
+ case $1 in
+ *.exe) ;;
+ *) func_ltwrapper_exec_suffix=.exe ;;
+ esac
+ $GREP "$magic_exe" "$1$func_ltwrapper_exec_suffix" >/dev/null 2>&1
+}
+
+# func_ltwrapper_scriptname file
+# Assumes file is an ltwrapper_executable
+# uses $file to determine the appropriate filename for a
+# temporary ltwrapper_script.
+func_ltwrapper_scriptname ()
+{
+ func_ltwrapper_scriptname_result=""
+ if func_ltwrapper_executable_p "$1"; then
+ func_dirname_and_basename "$1" "" "."
+ func_stripname '' '.exe' "$func_basename_result"
+ func_ltwrapper_scriptname_result="$func_dirname_result/$objdir/${func_stripname_result}_ltshwrapper"
+ fi
+}
+
+# func_ltwrapper_p file
+# True iff FILE is a libtool wrapper script or wrapper executable
+# This function is only a basic sanity check; it will hardly flush out
+# determined imposters.
+func_ltwrapper_p ()
+{
+ func_ltwrapper_script_p "$1" || func_ltwrapper_executable_p "$1"
+}
+
+
+# func_execute_cmds commands fail_cmd
+# Execute tilde-delimited COMMANDS.
+# If FAIL_CMD is given, eval that upon failure.
+# FAIL_CMD may read-access the current command in variable CMD!
+func_execute_cmds ()
+{
+ $opt_debug
+ save_ifs=$IFS; IFS='~'
+ for cmd in $1; do
+ IFS=$save_ifs
+ eval cmd=\"$cmd\"
+ func_show_eval "$cmd" "${2-:}"
+ done
+ IFS=$save_ifs
+}
+
+
+# func_source file
+# Source FILE, adding directory component if necessary.
+# Note that it is not necessary on cygwin/mingw to append a dot to
+# FILE even if both FILE and FILE.exe exist: automatic-append-.exe
+# behavior happens only for exec(3), not for open(2)! Also, sourcing
+# `FILE.' does not work on cygwin managed mounts.
+func_source ()
+{
+ $opt_debug
+ case $1 in
+ */* | *\\*) . "$1" ;;
+ *) . "./$1" ;;
+ esac
+}
+
+
+# func_infer_tag arg
+# Infer tagged configuration to use if any are available and
+# if one wasn't chosen via the "--tag" command line option.
+# Only attempt this if the compiler in the base compile
+# command doesn't match the default compiler.
+# arg is usually of the form 'gcc ...'
+func_infer_tag ()
+{
+ $opt_debug
+ if test -n "$available_tags" && test -z "$tagname"; then
+ CC_quoted=
+ for arg in $CC; do
+ func_quote_for_eval "$arg"
+ CC_quoted="$CC_quoted $func_quote_for_eval_result"
+ done
+ case $@ in
+ # Blanks in the command may have been stripped by the calling shell,
+ # but not from the CC environment variable when configure was run.
+ " $CC "* | "$CC "* | " `$ECHO $CC` "* | "`$ECHO $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$ECHO $CC_quoted` "* | "`$ECHO $CC_quoted` "*) ;;
+ # Blanks at the start of $base_compile will cause this to fail
+ # if we don't check for them as well.
+ *)
+ for z in $available_tags; do
+ if $GREP "^# ### BEGIN LIBTOOL TAG CONFIG: $z$" < "$progpath" > /dev/null; then
+ # Evaluate the configuration.
+ eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$z'$/,/^# ### END LIBTOOL TAG CONFIG: '$z'$/p' < $progpath`"
+ CC_quoted=
+ for arg in $CC; do
+ # Double-quote args containing other shell metacharacters.
+ func_quote_for_eval "$arg"
+ CC_quoted="$CC_quoted $func_quote_for_eval_result"
+ done
+ case "$@ " in
+ " $CC "* | "$CC "* | " `$ECHO $CC` "* | "`$ECHO $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$ECHO $CC_quoted` "* | "`$ECHO $CC_quoted` "*)
+ # The compiler in the base compile command matches
+ # the one in the tagged configuration.
+ # Assume this is the tagged configuration we want.
+ tagname=$z
+ break
+ ;;
+ esac
+ fi
+ done
+ # If $tagname still isn't set, then no tagged configuration
+ # was found and let the user know that the "--tag" command
+ # line option must be used.
+ if test -z "$tagname"; then
+ func_echo "unable to infer tagged configuration"
+ func_fatal_error "specify a tag with \`--tag'"
+# else
+# func_verbose "using $tagname tagged configuration"
+ fi
+ ;;
+ esac
+ fi
+}
+
+
+
+# func_write_libtool_object output_name pic_name nonpic_name
+# Create a libtool object file (analogous to a ".la" file),
+# but don't create it if we're doing a dry run.
+func_write_libtool_object ()
+{
+ write_libobj=${1}
+ if test "$build_libtool_libs" = yes; then
+ write_lobj=\'${2}\'
+ else
+ write_lobj=none
+ fi
+
+ if test "$build_old_libs" = yes; then
+ write_oldobj=\'${3}\'
+ else
+ write_oldobj=none
+ fi
+
+ $opt_dry_run || {
+ cat >${write_libobj}T <<EOF
+# $write_libobj - a libtool object file
+# Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object=$write_lobj
+
+# Name of the non-PIC object
+non_pic_object=$write_oldobj
+
+EOF
+ $MV "${write_libobj}T" "${write_libobj}"
+ }
+}
+
+# func_mode_compile arg...
+func_mode_compile ()
+{
+ $opt_debug
+ # Get the compilation command and the source file.
+ base_compile=
+ srcfile="$nonopt" # always keep a non-empty value in "srcfile"
+ suppress_opt=yes
+ suppress_output=
+ arg_mode=normal
+ libobj=
+ later=
+ pie_flag=
+
+ for arg
+ do
+ case $arg_mode in
+ arg )
+ # do not "continue". Instead, add this to base_compile
+ lastarg="$arg"
+ arg_mode=normal
+ ;;
+
+ target )
+ libobj="$arg"
+ arg_mode=normal
+ continue
+ ;;
+
+ normal )
+ # Accept any command-line options.
+ case $arg in
+ -o)
+ test -n "$libobj" && \
+ func_fatal_error "you cannot specify \`-o' more than once"
+ arg_mode=target
+ continue
+ ;;
+
+ -pie | -fpie | -fPIE)
+ pie_flag="$pie_flag $arg"
+ continue
+ ;;
+
+ -shared | -static | -prefer-pic | -prefer-non-pic)
+ later="$later $arg"
+ continue
+ ;;
+
+ -no-suppress)
+ suppress_opt=no
+ continue
+ ;;
+
+ -Xcompiler)
+ arg_mode=arg # the next one goes into the "base_compile" arg list
+ continue # The current "srcfile" will either be retained or
+ ;; # replaced later. I would guess that would be a bug.
+
+ -Wc,*)
+ func_stripname '-Wc,' '' "$arg"
+ args=$func_stripname_result
+ lastarg=
+ save_ifs="$IFS"; IFS=','
+ for arg in $args; do
+ IFS="$save_ifs"
+ func_quote_for_eval "$arg"
+ lastarg="$lastarg $func_quote_for_eval_result"
+ done
+ IFS="$save_ifs"
+ func_stripname ' ' '' "$lastarg"
+ lastarg=$func_stripname_result
+
+ # Add the arguments to base_compile.
+ base_compile="$base_compile $lastarg"
+ continue
+ ;;
+
+ *)
+ # Accept the current argument as the source file.
+ # The previous "srcfile" becomes the current argument.
+ #
+ lastarg="$srcfile"
+ srcfile="$arg"
+ ;;
+ esac # case $arg
+ ;;
+ esac # case $arg_mode
+
+ # Aesthetically quote the previous argument.
+ func_quote_for_eval "$lastarg"
+ base_compile="$base_compile $func_quote_for_eval_result"
+ done # for arg
+
+ case $arg_mode in
+ arg)
+ func_fatal_error "you must specify an argument for -Xcompile"
+ ;;
+ target)
+ func_fatal_error "you must specify a target with \`-o'"
+ ;;
+ *)
+ # Get the name of the library object.
+ test -z "$libobj" && {
+ func_basename "$srcfile"
+ libobj="$func_basename_result"
+ }
+ ;;
+ esac
+
+ # Recognize several different file suffixes.
+ # If the user specifies -o file.o, it is replaced with file.lo
+ case $libobj in
+ *.[cCFSifmso] | \
+ *.ada | *.adb | *.ads | *.asm | \
+ *.c++ | *.cc | *.ii | *.class | *.cpp | *.cxx | \
+ *.[fF][09]? | *.for | *.java | *.obj | *.sx)
+ func_xform "$libobj"
+ libobj=$func_xform_result
+ ;;
+ esac
+
+ case $libobj in
+ *.lo) func_lo2o "$libobj"; obj=$func_lo2o_result ;;
+ *)
+ func_fatal_error "cannot determine name of library object from \`$libobj'"
+ ;;
+ esac
+
+ func_infer_tag $base_compile
+
+ for arg in $later; do
+ case $arg in
+ -shared)
+ test "$build_libtool_libs" != yes && \
+ func_fatal_configuration "can not build a shared library"
+ build_old_libs=no
+ continue
+ ;;
+
+ -static)
+ build_libtool_libs=no
+ build_old_libs=yes
+ continue
+ ;;
+
+ -prefer-pic)
+ pic_mode=yes
+ continue
+ ;;
+
+ -prefer-non-pic)
+ pic_mode=no
+ continue
+ ;;
+ esac
+ done
+
+ func_quote_for_eval "$libobj"
+ test "X$libobj" != "X$func_quote_for_eval_result" \
+ && $ECHO "X$libobj" | $GREP '[]~#^*{};<>?"'"'"' &()|`$[]' \
+ && func_warning "libobj name \`$libobj' may not contain shell special characters."
+ func_dirname_and_basename "$obj" "/" ""
+ objname="$func_basename_result"
+ xdir="$func_dirname_result"
+ lobj=${xdir}$objdir/$objname
+
+ test -z "$base_compile" && \
+ func_fatal_help "you must specify a compilation command"
+
+ # Delete any leftover library objects.
+ if test "$build_old_libs" = yes; then
+ removelist="$obj $lobj $libobj ${libobj}T"
+ else
+ removelist="$lobj $libobj ${libobj}T"
+ fi
+
+ # On Cygwin there's no "real" PIC flag so we must build both object types
+ case $host_os in
+ cygwin* | mingw* | pw32* | os2* | cegcc*)
+ pic_mode=default
+ ;;
+ esac
+ if test "$pic_mode" = no && test "$deplibs_check_method" != pass_all; then
+ # non-PIC code in shared libraries is not supported
+ pic_mode=default
+ fi
+
+ # Calculate the filename of the output object if compiler does
+ # not support -o with -c
+ if test "$compiler_c_o" = no; then
+ output_obj=`$ECHO "X$srcfile" | $Xsed -e 's%^.*/%%' -e 's%\.[^.]*$%%'`.${objext}
+ lockfile="$output_obj.lock"
+ else
+ output_obj=
+ need_locks=no
+ lockfile=
+ fi
+
+ # Lock this critical section if it is needed
+ # We use this script file to make the link, it avoids creating a new file
+ if test "$need_locks" = yes; then
+ until $opt_dry_run || ln "$progpath" "$lockfile" 2>/dev/null; do
+ func_echo "Waiting for $lockfile to be removed"
+ sleep 2
+ done
+ elif test "$need_locks" = warn; then
+ if test -f "$lockfile"; then
+ $ECHO "\
+*** ERROR, $lockfile exists and contains:
+`cat $lockfile 2>/dev/null`
+
+This indicates that another process is trying to use the same
+temporary object file, and libtool could not work around it because
+your compiler does not support \`-c' and \`-o' together. If you
+repeat this compilation, it may succeed, by chance, but you had better
+avoid parallel builds (make -j) in this platform, or get a better
+compiler."
+
+ $opt_dry_run || $RM $removelist
+ exit $EXIT_FAILURE
+ fi
+ removelist="$removelist $output_obj"
+ $ECHO "$srcfile" > "$lockfile"
+ fi
+
+ $opt_dry_run || $RM $removelist
+ removelist="$removelist $lockfile"
+ trap '$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE' 1 2 15
+
+ if test -n "$fix_srcfile_path"; then
+ eval srcfile=\"$fix_srcfile_path\"
+ fi
+ func_quote_for_eval "$srcfile"
+ qsrcfile=$func_quote_for_eval_result
+
+ # Only build a PIC object if we are building libtool libraries.
+ if test "$build_libtool_libs" = yes; then
+ # Without this assignment, base_compile gets emptied.
+ fbsd_hideous_sh_bug=$base_compile
+
+ if test "$pic_mode" != no; then
+ command="$base_compile $qsrcfile $pic_flag"
+ else
+ # Don't build PIC code
+ command="$base_compile $qsrcfile"
+ fi
+
+ func_mkdir_p "$xdir$objdir"
+
+ if test -z "$output_obj"; then
+ # Place PIC objects in $objdir
+ command="$command -o $lobj"
+ fi
+
+ func_show_eval_locale "$command" \
+ 'test -n "$output_obj" && $RM $removelist; exit $EXIT_FAILURE'
+
+ if test "$need_locks" = warn &&
+ test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then
+ $ECHO "\
+*** ERROR, $lockfile contains:
+`cat $lockfile 2>/dev/null`
+
+but it should contain:
+$srcfile
+
+This indicates that another process is trying to use the same
+temporary object file, and libtool could not work around it because
+your compiler does not support \`-c' and \`-o' together. If you
+repeat this compilation, it may succeed, by chance, but you had better
+avoid parallel builds (make -j) in this platform, or get a better
+compiler."
+
+ $opt_dry_run || $RM $removelist
+ exit $EXIT_FAILURE
+ fi
+
+ # Just move the object if needed, then go on to compile the next one
+ if test -n "$output_obj" && test "X$output_obj" != "X$lobj"; then
+ func_show_eval '$MV "$output_obj" "$lobj"' \
+ 'error=$?; $opt_dry_run || $RM $removelist; exit $error'
+ fi
+
+ # Allow error messages only from the first compilation.
+ if test "$suppress_opt" = yes; then
+ suppress_output=' >/dev/null 2>&1'
+ fi
+ fi
+
+ # Only build a position-dependent object if we build old libraries.
+ if test "$build_old_libs" = yes; then
+ if test "$pic_mode" != yes; then
+ # Don't build PIC code
+ command="$base_compile $qsrcfile$pie_flag"
+ else
+ command="$base_compile $qsrcfile $pic_flag"
+ fi
+ if test "$compiler_c_o" = yes; then
+ command="$command -o $obj"
+ fi
+
+ # Suppress compiler output if we already did a PIC compilation.
+ command="$command$suppress_output"
+ func_show_eval_locale "$command" \
+ '$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE'
+
+ if test "$need_locks" = warn &&
+ test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then
+ $ECHO "\
+*** ERROR, $lockfile contains:
+`cat $lockfile 2>/dev/null`
+
+but it should contain:
+$srcfile
+
+This indicates that another process is trying to use the same
+temporary object file, and libtool could not work around it because
+your compiler does not support \`-c' and \`-o' together. If you
+repeat this compilation, it may succeed, by chance, but you had better
+avoid parallel builds (make -j) in this platform, or get a better
+compiler."
+
+ $opt_dry_run || $RM $removelist
+ exit $EXIT_FAILURE
+ fi
+
+ # Just move the object if needed
+ if test -n "$output_obj" && test "X$output_obj" != "X$obj"; then
+ func_show_eval '$MV "$output_obj" "$obj"' \
+ 'error=$?; $opt_dry_run || $RM $removelist; exit $error'
+ fi
+ fi
+
+ $opt_dry_run || {
+ func_write_libtool_object "$libobj" "$objdir/$objname" "$objname"
+
+ # Unlock the critical section if it was locked
+ if test "$need_locks" != no; then
+ removelist=$lockfile
+ $RM "$lockfile"
+ fi
+ }
+
+ exit $EXIT_SUCCESS
+}
+
+$opt_help || {
+test "$mode" = compile && func_mode_compile ${1+"$@"}
+}
+
+func_mode_help ()
+{
+ # We need to display help for each of the modes.
+ case $mode in
+ "")
+ # Generic help is extracted from the usage comments
+ # at the start of this file.
+ func_help
+ ;;
+
+ clean)
+ $ECHO \
+"Usage: $progname [OPTION]... --mode=clean RM [RM-OPTION]... FILE...
+
+Remove files from the build directory.
+
+RM is the name of the program to use to delete files associated with each FILE
+(typically \`/bin/rm'). RM-OPTIONS are options (such as \`-f') to be passed
+to RM.
+
+If FILE is a libtool library, object or program, all the files associated
+with it are deleted. Otherwise, only FILE itself is deleted using RM."
+ ;;
+
+ compile)
+ $ECHO \
+"Usage: $progname [OPTION]... --mode=compile COMPILE-COMMAND... SOURCEFILE
+
+Compile a source file into a libtool library object.
+
+This mode accepts the following additional options:
+
+ -o OUTPUT-FILE set the output file name to OUTPUT-FILE
+ -no-suppress do not suppress compiler output for multiple passes
+ -prefer-pic try to building PIC objects only
+ -prefer-non-pic try to building non-PIC objects only
+ -shared do not build a \`.o' file suitable for static linking
+ -static only build a \`.o' file suitable for static linking
+
+COMPILE-COMMAND is a command to be used in creating a \`standard' object file
+from the given SOURCEFILE.
+
+The output file name is determined by removing the directory component from
+SOURCEFILE, then substituting the C source code suffix \`.c' with the
+library object suffix, \`.lo'."
+ ;;
+
+ execute)
+ $ECHO \
+"Usage: $progname [OPTION]... --mode=execute COMMAND [ARGS]...
+
+Automatically set library path, then run a program.
+
+This mode accepts the following additional options:
+
+ -dlopen FILE add the directory containing FILE to the library path
+
+This mode sets the library path environment variable according to \`-dlopen'
+flags.
+
+If any of the ARGS are libtool executable wrappers, then they are translated
+into their corresponding uninstalled binary, and any of their required library
+directories are added to the library path.
+
+Then, COMMAND is executed, with ARGS as arguments."
+ ;;
+
+ finish)
+ $ECHO \
+"Usage: $progname [OPTION]... --mode=finish [LIBDIR]...
+
+Complete the installation of libtool libraries.
+
+Each LIBDIR is a directory that contains libtool libraries.
+
+The commands that this mode executes may require superuser privileges. Use
+the \`--dry-run' option if you just want to see what would be executed."
+ ;;
+
+ install)
+ $ECHO \
+"Usage: $progname [OPTION]... --mode=install INSTALL-COMMAND...
+
+Install executables or libraries.
+
+INSTALL-COMMAND is the installation command. The first component should be
+either the \`install' or \`cp' program.
+
+The following components of INSTALL-COMMAND are treated specially:
+
+ -inst-prefix PREFIX-DIR Use PREFIX-DIR as a staging area for installation
+
+The rest of the components are interpreted as arguments to that command (only
+BSD-compatible install options are recognized)."
+ ;;
+
+ link)
+ $ECHO \
+"Usage: $progname [OPTION]... --mode=link LINK-COMMAND...
+
+Link object files or libraries together to form another library, or to
+create an executable program.
+
+LINK-COMMAND is a command using the C compiler that you would use to create
+a program from several object files.
+
+The following components of LINK-COMMAND are treated specially:
+
+ -all-static do not do any dynamic linking at all
+ -avoid-version do not add a version suffix if possible
+ -dlopen FILE \`-dlpreopen' FILE if it cannot be dlopened at runtime
+ -dlpreopen FILE link in FILE and add its symbols to lt_preloaded_symbols
+ -export-dynamic allow symbols from OUTPUT-FILE to be resolved with dlsym(3)
+ -export-symbols SYMFILE
+ try to export only the symbols listed in SYMFILE
+ -export-symbols-regex REGEX
+ try to export only the symbols matching REGEX
+ -LLIBDIR search LIBDIR for required installed libraries
+ -lNAME OUTPUT-FILE requires the installed library libNAME
+ -module build a library that can dlopened
+ -no-fast-install disable the fast-install mode
+ -no-install link a not-installable executable
+ -no-undefined declare that a library does not refer to external symbols
+ -o OUTPUT-FILE create OUTPUT-FILE from the specified objects
+ -objectlist FILE Use a list of object files found in FILE to specify objects
+ -precious-files-regex REGEX
+ don't remove output files matching REGEX
+ -release RELEASE specify package release information
+ -rpath LIBDIR the created library will eventually be installed in LIBDIR
+ -R[ ]LIBDIR add LIBDIR to the runtime path of programs and libraries
+ -shared only do dynamic linking of libtool libraries
+ -shrext SUFFIX override the standard shared library file extension
+ -static do not do any dynamic linking of uninstalled libtool libraries
+ -static-libtool-libs
+ do not do any dynamic linking of libtool libraries
+ -version-info CURRENT[:REVISION[:AGE]]
+ specify library version info [each variable defaults to 0]
+ -weak LIBNAME declare that the target provides the LIBNAME interface
+
+All other options (arguments beginning with \`-') are ignored.
+
+Every other argument is treated as a filename. Files ending in \`.la' are
+treated as uninstalled libtool libraries, other files are standard or library
+object files.
+
+If the OUTPUT-FILE ends in \`.la', then a libtool library is created,
+only library objects (\`.lo' files) may be specified, and \`-rpath' is
+required, except when creating a convenience library.
+
+If OUTPUT-FILE ends in \`.a' or \`.lib', then a standard library is created
+using \`ar' and \`ranlib', or on Windows using \`lib'.
+
+If OUTPUT-FILE ends in \`.lo' or \`.${objext}', then a reloadable object file
+is created, otherwise an executable program is created."
+ ;;
+
+ uninstall)
+ $ECHO \
+"Usage: $progname [OPTION]... --mode=uninstall RM [RM-OPTION]... FILE...
+
+Remove libraries from an installation directory.
+
+RM is the name of the program to use to delete files associated with each FILE
+(typically \`/bin/rm'). RM-OPTIONS are options (such as \`-f') to be passed
+to RM.
+
+If FILE is a libtool library, all the files associated with it are deleted.
+Otherwise, only FILE itself is deleted using RM."
+ ;;
+
+ *)
+ func_fatal_help "invalid operation mode \`$mode'"
+ ;;
+ esac
+
+ $ECHO
+ $ECHO "Try \`$progname --help' for more information about other modes."
+
+ exit $?
+}
+
+ # Now that we've collected a possible --mode arg, show help if necessary
+ $opt_help && func_mode_help
+
+
+# func_mode_execute arg...
+func_mode_execute ()
+{
+ $opt_debug
+ # The first argument is the command name.
+ cmd="$nonopt"
+ test -z "$cmd" && \
+ func_fatal_help "you must specify a COMMAND"
+
+ # Handle -dlopen flags immediately.
+ for file in $execute_dlfiles; do
+ test -f "$file" \
+ || func_fatal_help "\`$file' is not a file"
+
+ dir=
+ case $file in
+ *.la)
+ # Check to see that this really is a libtool archive.
+ func_lalib_unsafe_p "$file" \
+ || func_fatal_help "\`$lib' is not a valid libtool archive"
+
+ # Read the libtool library.
+ dlname=
+ library_names=
+ func_source "$file"
+
+ # Skip this library if it cannot be dlopened.
+ if test -z "$dlname"; then
+ # Warn if it was a shared library.
+ test -n "$library_names" && \
+ func_warning "\`$file' was not linked with \`-export-dynamic'"
+ continue
+ fi
+
+ func_dirname "$file" "" "."
+ dir="$func_dirname_result"
+
+ if test -f "$dir/$objdir/$dlname"; then
+ dir="$dir/$objdir"
+ else
+ if test ! -f "$dir/$dlname"; then
+ func_fatal_error "cannot find \`$dlname' in \`$dir' or \`$dir/$objdir'"
+ fi
+ fi
+ ;;
+
+ *.lo)
+ # Just add the directory containing the .lo file.
+ func_dirname "$file" "" "."
+ dir="$func_dirname_result"
+ ;;
+
+ *)
+ func_warning "\`-dlopen' is ignored for non-libtool libraries and objects"
+ continue
+ ;;
+ esac
+
+ # Get the absolute pathname.
+ absdir=`cd "$dir" && pwd`
+ test -n "$absdir" && dir="$absdir"
+
+ # Now add the directory to shlibpath_var.
+ if eval "test -z \"\$$shlibpath_var\""; then
+ eval "$shlibpath_var=\"\$dir\""
+ else
+ eval "$shlibpath_var=\"\$dir:\$$shlibpath_var\""
+ fi
+ done
+
+ # This variable tells wrapper scripts just to set shlibpath_var
+ # rather than running their programs.
+ libtool_execute_magic="$magic"
+
+ # Check if any of the arguments is a wrapper script.
+ args=
+ for file
+ do
+ case $file in
+ -*) ;;
+ *)
+ # Do a test to see if this is really a libtool program.
+ if func_ltwrapper_script_p "$file"; then
+ func_source "$file"
+ # Transform arg to wrapped name.
+ file="$progdir/$program"
+ elif func_ltwrapper_executable_p "$file"; then
+ func_ltwrapper_scriptname "$file"
+ func_source "$func_ltwrapper_scriptname_result"
+ # Transform arg to wrapped name.
+ file="$progdir/$program"
+ fi
+ ;;
+ esac
+ # Quote arguments (to preserve shell metacharacters).
+ func_quote_for_eval "$file"
+ args="$args $func_quote_for_eval_result"
+ done
+
+ if test "X$opt_dry_run" = Xfalse; then
+ if test -n "$shlibpath_var"; then
+ # Export the shlibpath_var.
+ eval "export $shlibpath_var"
+ fi
+
+ # Restore saved environment variables
+ for lt_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES
+ do
+ eval "if test \"\${save_$lt_var+set}\" = set; then
+ $lt_var=\$save_$lt_var; export $lt_var
+ else
+ $lt_unset $lt_var
+ fi"
+ done
+
+ # Now prepare to actually exec the command.
+ exec_cmd="\$cmd$args"
+ else
+ # Display what would be done.
+ if test -n "$shlibpath_var"; then
+ eval "\$ECHO \"\$shlibpath_var=\$$shlibpath_var\""
+ $ECHO "export $shlibpath_var"
+ fi
+ $ECHO "$cmd$args"
+ exit $EXIT_SUCCESS
+ fi
+}
+
+test "$mode" = execute && func_mode_execute ${1+"$@"}
+
+
+# func_mode_finish arg...
+func_mode_finish ()
+{
+ $opt_debug
+ libdirs="$nonopt"
+ admincmds=
+
+ if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then
+ for dir
+ do
+ libdirs="$libdirs $dir"
+ done
+
+ for libdir in $libdirs; do
+ if test -n "$finish_cmds"; then
+ # Do each command in the finish commands.
+ func_execute_cmds "$finish_cmds" 'admincmds="$admincmds
+'"$cmd"'"'
+ fi
+ if test -n "$finish_eval"; then
+ # Do the single finish_eval.
+ eval cmds=\"$finish_eval\"
+ $opt_dry_run || eval "$cmds" || admincmds="$admincmds
+ $cmds"
+ fi
+ done
+ fi
+
+ # Exit here if they wanted silent mode.
+ $opt_silent && exit $EXIT_SUCCESS
+
+ $ECHO "X----------------------------------------------------------------------" | $Xsed
+ $ECHO "Libraries have been installed in:"
+ for libdir in $libdirs; do
+ $ECHO " $libdir"
+ done
+ $ECHO
+ $ECHO "If you ever happen to want to link against installed libraries"
+ $ECHO "in a given directory, LIBDIR, you must either use libtool, and"
+ $ECHO "specify the full pathname of the library, or use the \`-LLIBDIR'"
+ $ECHO "flag during linking and do at least one of the following:"
+ if test -n "$shlibpath_var"; then
+ $ECHO " - add LIBDIR to the \`$shlibpath_var' environment variable"
+ $ECHO " during execution"
+ fi
+ if test -n "$runpath_var"; then
+ $ECHO " - add LIBDIR to the \`$runpath_var' environment variable"
+ $ECHO " during linking"
+ fi
+ if test -n "$hardcode_libdir_flag_spec"; then
+ libdir=LIBDIR
+ eval flag=\"$hardcode_libdir_flag_spec\"
+
+ $ECHO " - use the \`$flag' linker flag"
+ fi
+ if test -n "$admincmds"; then
+ $ECHO " - have your system administrator run these commands:$admincmds"
+ fi
+ if test -f /etc/ld.so.conf; then
+ $ECHO " - have your system administrator add LIBDIR to \`/etc/ld.so.conf'"
+ fi
+ $ECHO
+
+ $ECHO "See any operating system documentation about shared libraries for"
+ case $host in
+ solaris2.[6789]|solaris2.1[0-9])
+ $ECHO "more information, such as the ld(1), crle(1) and ld.so(8) manual"
+ $ECHO "pages."
+ ;;
+ *)
+ $ECHO "more information, such as the ld(1) and ld.so(8) manual pages."
+ ;;
+ esac
+ $ECHO "X----------------------------------------------------------------------" | $Xsed
+ exit $EXIT_SUCCESS
+}
+
+test "$mode" = finish && func_mode_finish ${1+"$@"}
+
+
+# func_mode_install arg...
+func_mode_install ()
+{
+ $opt_debug
+ # There may be an optional sh(1) argument at the beginning of
+ # install_prog (especially on Windows NT).
+ if test "$nonopt" = "$SHELL" || test "$nonopt" = /bin/sh ||
+ # Allow the use of GNU shtool's install command.
+ $ECHO "X$nonopt" | $GREP shtool >/dev/null; then
+ # Aesthetically quote it.
+ func_quote_for_eval "$nonopt"
+ install_prog="$func_quote_for_eval_result "
+ arg=$1
+ shift
+ else
+ install_prog=
+ arg=$nonopt
+ fi
+
+ # The real first argument should be the name of the installation program.
+ # Aesthetically quote it.
+ func_quote_for_eval "$arg"
+ install_prog="$install_prog$func_quote_for_eval_result"
+
+ # We need to accept at least all the BSD install flags.
+ dest=
+ files=
+ opts=
+ prev=
+ install_type=
+ isdir=no
+ stripme=
+ for arg
+ do
+ if test -n "$dest"; then
+ files="$files $dest"
+ dest=$arg
+ continue
+ fi
+
+ case $arg in
+ -d) isdir=yes ;;
+ -f)
+ case " $install_prog " in
+ *[\\\ /]cp\ *) ;;
+ *) prev=$arg ;;
+ esac
+ ;;
+ -g | -m | -o)
+ prev=$arg
+ ;;
+ -s)
+ stripme=" -s"
+ continue
+ ;;
+ -*)
+ ;;
+ *)
+ # If the previous option needed an argument, then skip it.
+ if test -n "$prev"; then
+ prev=
+ else
+ dest=$arg
+ continue
+ fi
+ ;;
+ esac
+
+ # Aesthetically quote the argument.
+ func_quote_for_eval "$arg"
+ install_prog="$install_prog $func_quote_for_eval_result"
+ done
+
+ test -z "$install_prog" && \
+ func_fatal_help "you must specify an install program"
+
+ test -n "$prev" && \
+ func_fatal_help "the \`$prev' option requires an argument"
+
+ if test -z "$files"; then
+ if test -z "$dest"; then
+ func_fatal_help "no file or destination specified"
+ else
+ func_fatal_help "you must specify a destination"
+ fi
+ fi
+
+ # Strip any trailing slash from the destination.
+ func_stripname '' '/' "$dest"
+ dest=$func_stripname_result
+
+ # Check to see that the destination is a directory.
+ test -d "$dest" && isdir=yes
+ if test "$isdir" = yes; then
+ destdir="$dest"
+ destname=
+ else
+ func_dirname_and_basename "$dest" "" "."
+ destdir="$func_dirname_result"
+ destname="$func_basename_result"
+
+ # Not a directory, so check to see that there is only one file specified.
+ set dummy $files; shift
+ test "$#" -gt 1 && \
+ func_fatal_help "\`$dest' is not a directory"
+ fi
+ case $destdir in
+ [\\/]* | [A-Za-z]:[\\/]*) ;;
+ *)
+ for file in $files; do
+ case $file in
+ *.lo) ;;
+ *)
+ func_fatal_help "\`$destdir' must be an absolute directory name"
+ ;;
+ esac
+ done
+ ;;
+ esac
+
+ # This variable tells wrapper scripts just to set variables rather
+ # than running their programs.
+ libtool_install_magic="$magic"
+
+ staticlibs=
+ future_libdirs=
+ current_libdirs=
+ for file in $files; do
+
+ # Do each installation.
+ case $file in
+ *.$libext)
+ # Do the static libraries later.
+ staticlibs="$staticlibs $file"
+ ;;
+
+ *.la)
+ # Check to see that this really is a libtool archive.
+ func_lalib_unsafe_p "$file" \
+ || func_fatal_help "\`$file' is not a valid libtool archive"
+
+ library_names=
+ old_library=
+ relink_command=
+ func_source "$file"
+
+ # Add the libdir to current_libdirs if it is the destination.
+ if test "X$destdir" = "X$libdir"; then
+ case "$current_libdirs " in
+ *" $libdir "*) ;;
+ *) current_libdirs="$current_libdirs $libdir" ;;
+ esac
+ else
+ # Note the libdir as a future libdir.
+ case "$future_libdirs " in
+ *" $libdir "*) ;;
+ *) future_libdirs="$future_libdirs $libdir" ;;
+ esac
+ fi
+
+ func_dirname "$file" "/" ""
+ dir="$func_dirname_result"
+ dir="$dir$objdir"
+
+ if test -n "$relink_command"; then
+ # Determine the prefix the user has applied to our future dir.
+ inst_prefix_dir=`$ECHO "X$destdir" | $Xsed -e "s%$libdir\$%%"`
+
+ # Don't allow the user to place us outside of our expected
+ # location b/c this prevents finding dependent libraries that
+ # are installed to the same prefix.
+ # At present, this check doesn't affect windows .dll's that
+ # are installed into $libdir/../bin (currently, that works fine)
+ # but it's something to keep an eye on.
+ test "$inst_prefix_dir" = "$destdir" && \
+ func_fatal_error "error: cannot install \`$file' to a directory not ending in $libdir"
+
+ if test -n "$inst_prefix_dir"; then
+ # Stick the inst_prefix_dir data into the link command.
+ relink_command=`$ECHO "X$relink_command" | $Xsed -e "s%@inst_prefix_dir@%-inst-prefix-dir $inst_prefix_dir%"`
+ else
+ relink_command=`$ECHO "X$relink_command" | $Xsed -e "s%@inst_prefix_dir@%%"`
+ fi
+
+ func_warning "relinking \`$file'"
+ func_show_eval "$relink_command" \
+ 'func_fatal_error "error: relink \`$file'\'' with the above command before installing it"'
+ fi
+
+ # See the names of the shared library.
+ set dummy $library_names; shift
+ if test -n "$1"; then
+ realname="$1"
+ shift
+
+ srcname="$realname"
+ test -n "$relink_command" && srcname="$realname"T
+
+ # Install the shared library and build the symlinks.
+ func_show_eval "$install_prog $dir/$srcname $destdir/$realname" \
+ 'exit $?'
+ tstripme="$stripme"
+ case $host_os in
+ cygwin* | mingw* | pw32* | cegcc*)
+ case $realname in
+ *.dll.a)
+ tstripme=""
+ ;;
+ esac
+ ;;
+ esac
+ if test -n "$tstripme" && test -n "$striplib"; then
+ func_show_eval "$striplib $destdir/$realname" 'exit $?'
+ fi
+
+ if test "$#" -gt 0; then
+ # Delete the old symlinks, and create new ones.
+ # Try `ln -sf' first, because the `ln' binary might depend on
+ # the symlink we replace! Solaris /bin/ln does not understand -f,
+ # so we also need to try rm && ln -s.
+ for linkname
+ do
+ test "$linkname" != "$realname" \
+ && func_show_eval "(cd $destdir && { $LN_S -f $realname $linkname || { $RM $linkname && $LN_S $realname $linkname; }; })"
+ done
+ fi
+
+ # Do each command in the postinstall commands.
+ lib="$destdir/$realname"
+ func_execute_cmds "$postinstall_cmds" 'exit $?'
+ fi
+
+ # Install the pseudo-library for information purposes.
+ func_basename "$file"
+ name="$func_basename_result"
+ instname="$dir/$name"i
+ func_show_eval "$install_prog $instname $destdir/$name" 'exit $?'
+
+ # Maybe install the static library, too.
+ test -n "$old_library" && staticlibs="$staticlibs $dir/$old_library"
+ ;;
+
+ *.lo)
+ # Install (i.e. copy) a libtool object.
+
+ # Figure out destination file name, if it wasn't already specified.
+ if test -n "$destname"; then
+ destfile="$destdir/$destname"
+ else
+ func_basename "$file"
+ destfile="$func_basename_result"
+ destfile="$destdir/$destfile"
+ fi
+
+ # Deduce the name of the destination old-style object file.
+ case $destfile in
+ *.lo)
+ func_lo2o "$destfile"
+ staticdest=$func_lo2o_result
+ ;;
+ *.$objext)
+ staticdest="$destfile"
+ destfile=
+ ;;
+ *)
+ func_fatal_help "cannot copy a libtool object to \`$destfile'"
+ ;;
+ esac
+
+ # Install the libtool object if requested.
+ test -n "$destfile" && \
+ func_show_eval "$install_prog $file $destfile" 'exit $?'
+
+ # Install the old object if enabled.
+ if test "$build_old_libs" = yes; then
+ # Deduce the name of the old-style object file.
+ func_lo2o "$file"
+ staticobj=$func_lo2o_result
+ func_show_eval "$install_prog \$staticobj \$staticdest" 'exit $?'
+ fi
+ exit $EXIT_SUCCESS
+ ;;
+
+ *)
+ # Figure out destination file name, if it wasn't already specified.
+ if test -n "$destname"; then
+ destfile="$destdir/$destname"
+ else
+ func_basename "$file"
+ destfile="$func_basename_result"
+ destfile="$destdir/$destfile"
+ fi
+
+ # If the file is missing, and there is a .exe on the end, strip it
+ # because it is most likely a libtool script we actually want to
+ # install
+ stripped_ext=""
+ case $file in
+ *.exe)
+ if test ! -f "$file"; then
+ func_stripname '' '.exe' "$file"
+ file=$func_stripname_result
+ stripped_ext=".exe"
+ fi
+ ;;
+ esac
+
+ # Do a test to see if this is really a libtool program.
+ case $host in
+ *cygwin* | *mingw*)
+ if func_ltwrapper_executable_p "$file"; then
+ func_ltwrapper_scriptname "$file"
+ wrapper=$func_ltwrapper_scriptname_result
+ else
+ func_stripname '' '.exe' "$file"
+ wrapper=$func_stripname_result
+ fi
+ ;;
+ *)
+ wrapper=$file
+ ;;
+ esac
+ if func_ltwrapper_script_p "$wrapper"; then
+ notinst_deplibs=
+ relink_command=
+
+ func_source "$wrapper"
+
+ # Check the variables that should have been set.
+ test -z "$generated_by_libtool_version" && \
+ func_fatal_error "invalid libtool wrapper script \`$wrapper'"
+
+ finalize=yes
+ for lib in $notinst_deplibs; do
+ # Check to see that each library is installed.
+ libdir=
+ if test -f "$lib"; then
+ func_source "$lib"
+ fi
+ libfile="$libdir/"`$ECHO "X$lib" | $Xsed -e 's%^.*/%%g'` ### testsuite: skip nested quoting test
+ if test -n "$libdir" && test ! -f "$libfile"; then
+ func_warning "\`$lib' has not been installed in \`$libdir'"
+ finalize=no
+ fi
+ done
+
+ relink_command=
+ func_source "$wrapper"
+
+ outputname=
+ if test "$fast_install" = no && test -n "$relink_command"; then
+ $opt_dry_run || {
+ if test "$finalize" = yes; then
+ tmpdir=`func_mktempdir`
+ func_basename "$file$stripped_ext"
+ file="$func_basename_result"
+ outputname="$tmpdir/$file"
+ # Replace the output file specification.
+ relink_command=`$ECHO "X$relink_command" | $Xsed -e 's%@OUTPUT@%'"$outputname"'%g'`
+
+ $opt_silent || {
+ func_quote_for_expand "$relink_command"
+ eval "func_echo $func_quote_for_expand_result"
+ }
+ if eval "$relink_command"; then :
+ else
+ func_error "error: relink \`$file' with the above command before installing it"
+ $opt_dry_run || ${RM}r "$tmpdir"
+ continue
+ fi
+ file="$outputname"
+ else
+ func_warning "cannot relink \`$file'"
+ fi
+ }
+ else
+ # Install the binary that we compiled earlier.
+ file=`$ECHO "X$file$stripped_ext" | $Xsed -e "s%\([^/]*\)$%$objdir/\1%"`
+ fi
+ fi
+
+ # remove .exe since cygwin /usr/bin/install will append another
+ # one anyway
+ case $install_prog,$host in
+ */usr/bin/install*,*cygwin*)
+ case $file:$destfile in
+ *.exe:*.exe)
+ # this is ok
+ ;;
+ *.exe:*)
+ destfile=$destfile.exe
+ ;;
+ *:*.exe)
+ func_stripname '' '.exe' "$destfile"
+ destfile=$func_stripname_result
+ ;;
+ esac
+ ;;
+ esac
+ func_show_eval "$install_prog\$stripme \$file \$destfile" 'exit $?'
+ $opt_dry_run || if test -n "$outputname"; then
+ ${RM}r "$tmpdir"
+ fi
+ ;;
+ esac
+ done
+
+ for file in $staticlibs; do
+ func_basename "$file"
+ name="$func_basename_result"
+
+ # Set up the ranlib parameters.
+ oldlib="$destdir/$name"
+
+ func_show_eval "$install_prog \$file \$oldlib" 'exit $?'
+
+ if test -n "$stripme" && test -n "$old_striplib"; then
+ func_show_eval "$old_striplib $oldlib" 'exit $?'
+ fi
+
+ # Do each command in the postinstall commands.
+ func_execute_cmds "$old_postinstall_cmds" 'exit $?'
+ done
+
+ test -n "$future_libdirs" && \
+ func_warning "remember to run \`$progname --finish$future_libdirs'"
+
+ if test -n "$current_libdirs"; then
+ # Maybe just do a dry run.
+ $opt_dry_run && current_libdirs=" -n$current_libdirs"
+ exec_cmd='$SHELL $progpath $preserve_args --finish$current_libdirs'
+ else
+ exit $EXIT_SUCCESS
+ fi
+}
+
+test "$mode" = install && func_mode_install ${1+"$@"}
+
+
+# func_generate_dlsyms outputname originator pic_p
+# Extract symbols from dlprefiles and create ${outputname}S.o with
+# a dlpreopen symbol table.
+func_generate_dlsyms ()
+{
+ $opt_debug
+ my_outputname="$1"
+ my_originator="$2"
+ my_pic_p="${3-no}"
+ my_prefix=`$ECHO "$my_originator" | sed 's%[^a-zA-Z0-9]%_%g'`
+ my_dlsyms=
+
+ if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
+ if test -n "$NM" && test -n "$global_symbol_pipe"; then
+ my_dlsyms="${my_outputname}S.c"
+ else
+ func_error "not configured to extract global symbols from dlpreopened files"
+ fi
+ fi
+
+ if test -n "$my_dlsyms"; then
+ case $my_dlsyms in
+ "") ;;
+ *.c)
+ # Discover the nlist of each of the dlfiles.
+ nlist="$output_objdir/${my_outputname}.nm"
+
+ func_show_eval "$RM $nlist ${nlist}S ${nlist}T"
+
+ # Parse the name list into a source file.
+ func_verbose "creating $output_objdir/$my_dlsyms"
+
+ $opt_dry_run || $ECHO > "$output_objdir/$my_dlsyms" "\
+/* $my_dlsyms - symbol resolution table for \`$my_outputname' dlsym emulation. */
+/* Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION */
+
+#ifdef __cplusplus
+extern \"C\" {
+#endif
+
+/* External symbol declarations for the compiler. */\
+"
+
+ if test "$dlself" = yes; then
+ func_verbose "generating symbol list for \`$output'"
+
+ $opt_dry_run || echo ': @PROGRAM@ ' > "$nlist"
+
+ # Add our own program objects to the symbol list.
+ progfiles=`$ECHO "X$objs$old_deplibs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
+ for progfile in $progfiles; do
+ func_verbose "extracting global C symbols from \`$progfile'"
+ $opt_dry_run || eval "$NM $progfile | $global_symbol_pipe >> '$nlist'"
+ done
+
+ if test -n "$exclude_expsyms"; then
+ $opt_dry_run || {
+ eval '$EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T'
+ eval '$MV "$nlist"T "$nlist"'
+ }
+ fi
+
+ if test -n "$export_symbols_regex"; then
+ $opt_dry_run || {
+ eval '$EGREP -e "$export_symbols_regex" "$nlist" > "$nlist"T'
+ eval '$MV "$nlist"T "$nlist"'
+ }
+ fi
+
+ # Prepare the list of exported symbols
+ if test -z "$export_symbols"; then
+ export_symbols="$output_objdir/$outputname.exp"
+ $opt_dry_run || {
+ $RM $export_symbols
+ eval "${SED} -n -e '/^: @PROGRAM@ $/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"'
+ case $host in
+ *cygwin* | *mingw* | *cegcc* )
+ eval "echo EXPORTS "'> "$output_objdir/$outputname.def"'
+ eval 'cat "$export_symbols" >> "$output_objdir/$outputname.def"'
+ ;;
+ esac
+ }
+ else
+ $opt_dry_run || {
+ eval "${SED} -e 's/\([].[*^$]\)/\\\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$outputname.exp"'
+ eval '$GREP -f "$output_objdir/$outputname.exp" < "$nlist" > "$nlist"T'
+ eval '$MV "$nlist"T "$nlist"'
+ case $host in
+ *cygwin | *mingw* | *cegcc* )
+ eval "echo EXPORTS "'> "$output_objdir/$outputname.def"'
+ eval 'cat "$nlist" >> "$output_objdir/$outputname.def"'
+ ;;
+ esac
+ }
+ fi
+ fi
+
+ for dlprefile in $dlprefiles; do
+ func_verbose "extracting global C symbols from \`$dlprefile'"
+ func_basename "$dlprefile"
+ name="$func_basename_result"
+ $opt_dry_run || {
+ eval '$ECHO ": $name " >> "$nlist"'
+ eval "$NM $dlprefile 2>/dev/null | $global_symbol_pipe >> '$nlist'"
+ }
+ done
+
+ $opt_dry_run || {
+ # Make sure we have at least an empty file.
+ test -f "$nlist" || : > "$nlist"
+
+ if test -n "$exclude_expsyms"; then
+ $EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T
+ $MV "$nlist"T "$nlist"
+ fi
+
+ # Try sorting and uniquifying the output.
+ if $GREP -v "^: " < "$nlist" |
+ if sort -k 3 </dev/null >/dev/null 2>&1; then
+ sort -k 3
+ else
+ sort +2
+ fi |
+ uniq > "$nlist"S; then
+ :
+ else
+ $GREP -v "^: " < "$nlist" > "$nlist"S
+ fi
+
+ if test -f "$nlist"S; then
+ eval "$global_symbol_to_cdecl"' < "$nlist"S >> "$output_objdir/$my_dlsyms"'
+ else
+ $ECHO '/* NONE */' >> "$output_objdir/$my_dlsyms"
+ fi
+
+ $ECHO >> "$output_objdir/$my_dlsyms" "\
+
+/* The mapping between symbol names and symbols. */
+typedef struct {
+ const char *name;
+ void *address;
+} lt_dlsymlist;
+"
+ case $host in
+ *cygwin* | *mingw* | *cegcc* )
+ $ECHO >> "$output_objdir/$my_dlsyms" "\
+/* DATA imports from DLLs on WIN32 con't be const, because
+ runtime relocations are performed -- see ld's documentation
+ on pseudo-relocs. */"
+ lt_dlsym_const= ;;
+ *osf5*)
+ echo >> "$output_objdir/$my_dlsyms" "\
+/* This system does not cope well with relocations in const data */"
+ lt_dlsym_const= ;;
+ *)
+ lt_dlsym_const=const ;;
+ esac
+
+ $ECHO >> "$output_objdir/$my_dlsyms" "\
+extern $lt_dlsym_const lt_dlsymlist
+lt_${my_prefix}_LTX_preloaded_symbols[];
+$lt_dlsym_const lt_dlsymlist
+lt_${my_prefix}_LTX_preloaded_symbols[] =
+{\
+ { \"$my_originator\", (void *) 0 },"
+
+ case $need_lib_prefix in
+ no)
+ eval "$global_symbol_to_c_name_address" < "$nlist" >> "$output_objdir/$my_dlsyms"
+ ;;
+ *)
+ eval "$global_symbol_to_c_name_address_lib_prefix" < "$nlist" >> "$output_objdir/$my_dlsyms"
+ ;;
+ esac
+ $ECHO >> "$output_objdir/$my_dlsyms" "\
+ {0, (void *) 0}
+};
+
+/* This works around a problem in FreeBSD linker */
+#ifdef FREEBSD_WORKAROUND
+static const void *lt_preloaded_setup() {
+ return lt_${my_prefix}_LTX_preloaded_symbols;
+}
+#endif
+
+#ifdef __cplusplus
+}
+#endif\
+"
+ } # !$opt_dry_run
+
+ pic_flag_for_symtable=
+ case "$compile_command " in
+ *" -static "*) ;;
+ *)
+ case $host in
+ # compiling the symbol table file with pic_flag works around
+ # a FreeBSD bug that causes programs to crash when -lm is
+ # linked before any other PIC object. But we must not use
+ # pic_flag when linking with -static. The problem exists in
+ # FreeBSD 2.2.6 and is fixed in FreeBSD 3.1.
+ *-*-freebsd2*|*-*-freebsd3.0*|*-*-freebsdelf3.0*)
+ pic_flag_for_symtable=" $pic_flag -DFREEBSD_WORKAROUND" ;;
+ *-*-hpux*)
+ pic_flag_for_symtable=" $pic_flag" ;;
+ *)
+ if test "X$my_pic_p" != Xno; then
+ pic_flag_for_symtable=" $pic_flag"
+ fi
+ ;;
+ esac
+ ;;
+ esac
+ symtab_cflags=
+ for arg in $LTCFLAGS; do
+ case $arg in
+ -pie | -fpie | -fPIE) ;;
+ *) symtab_cflags="$symtab_cflags $arg" ;;
+ esac
+ done
+
+ # Now compile the dynamic symbol file.
+ func_show_eval '(cd $output_objdir && $LTCC$symtab_cflags -c$no_builtin_flag$pic_flag_for_symtable "$my_dlsyms")' 'exit $?'
+
+ # Clean up the generated files.
+ func_show_eval '$RM "$output_objdir/$my_dlsyms" "$nlist" "${nlist}S" "${nlist}T"'
+
+ # Transform the symbol file into the correct name.
+ symfileobj="$output_objdir/${my_outputname}S.$objext"
+ case $host in
+ *cygwin* | *mingw* | *cegcc* )
+ if test -f "$output_objdir/$my_outputname.def"; then
+ compile_command=`$ECHO "X$compile_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"`
+ finalize_command=`$ECHO "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"`
+ else
+ compile_command=`$ECHO "X$compile_command" | $Xsed -e "s%@SYMFILE@%$symfileobj%"`
+ finalize_command=`$ECHO "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$symfileobj%"`
+ fi
+ ;;
+ *)
+ compile_command=`$ECHO "X$compile_command" | $Xsed -e "s%@SYMFILE@%$symfileobj%"`
+ finalize_command=`$ECHO "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$symfileobj%"`
+ ;;
+ esac
+ ;;
+ *)
+ func_fatal_error "unknown suffix for \`$my_dlsyms'"
+ ;;
+ esac
+ else
+ # We keep going just in case the user didn't refer to
+ # lt_preloaded_symbols. The linker will fail if global_symbol_pipe
+ # really was required.
+
+ # Nullify the symbol file.
+ compile_command=`$ECHO "X$compile_command" | $Xsed -e "s% @SYMFILE@%%"`
+ finalize_command=`$ECHO "X$finalize_command" | $Xsed -e "s% @SYMFILE@%%"`
+ fi
+}
+
+# func_win32_libid arg
+# return the library type of file 'arg'
+#
+# Need a lot of goo to handle *both* DLLs and import libs
+# Has to be a shell function in order to 'eat' the argument
+# that is supplied when $file_magic_command is called.
+func_win32_libid ()
+{
+ $opt_debug
+ win32_libid_type="unknown"
+ win32_fileres=`file -L $1 2>/dev/null`
+ case $win32_fileres in
+ *ar\ archive\ import\ library*) # definitely import
+ win32_libid_type="x86 archive import"
+ ;;
+ *ar\ archive*) # could be an import, or static
+ if eval $OBJDUMP -f $1 | $SED -e '10q' 2>/dev/null |
+ $EGREP 'file format pe-i386(.*architecture: i386)?' >/dev/null ; then
+ win32_nmres=`eval $NM -f posix -A $1 |
+ $SED -n -e '
+ 1,100{
+ / I /{
+ s,.*,import,
+ p
+ q
+ }
+ }'`
+ case $win32_nmres in
+ import*) win32_libid_type="x86 archive import";;
+ *) win32_libid_type="x86 archive static";;
+ esac
+ fi
+ ;;
+ *DLL*)
+ win32_libid_type="x86 DLL"
+ ;;
+ *executable*) # but shell scripts are "executable" too...
+ case $win32_fileres in
+ *MS\ Windows\ PE\ Intel*)
+ win32_libid_type="x86 DLL"
+ ;;
+ esac
+ ;;
+ esac
+ $ECHO "$win32_libid_type"
+}
+
+
+
+# func_extract_an_archive dir oldlib
+func_extract_an_archive ()
+{
+ $opt_debug
+ f_ex_an_ar_dir="$1"; shift
+ f_ex_an_ar_oldlib="$1"
+ func_show_eval "(cd \$f_ex_an_ar_dir && $AR x \"\$f_ex_an_ar_oldlib\")" 'exit $?'
+ if ($AR t "$f_ex_an_ar_oldlib" | sort | sort -uc >/dev/null 2>&1); then
+ :
+ else
+ func_fatal_error "object name conflicts in archive: $f_ex_an_ar_dir/$f_ex_an_ar_oldlib"
+ fi
+}
+
+
+# func_extract_archives gentop oldlib ...
+func_extract_archives ()
+{
+ $opt_debug
+ my_gentop="$1"; shift
+ my_oldlibs=${1+"$@"}
+ my_oldobjs=""
+ my_xlib=""
+ my_xabs=""
+ my_xdir=""
+
+ for my_xlib in $my_oldlibs; do
+ # Extract the objects.
+ case $my_xlib in
+ [\\/]* | [A-Za-z]:[\\/]*) my_xabs="$my_xlib" ;;
+ *) my_xabs=`pwd`"/$my_xlib" ;;
+ esac
+ func_basename "$my_xlib"
+ my_xlib="$func_basename_result"
+ my_xlib_u=$my_xlib
+ while :; do
+ case " $extracted_archives " in
+ *" $my_xlib_u "*)
+ func_arith $extracted_serial + 1
+ extracted_serial=$func_arith_result
+ my_xlib_u=lt$extracted_serial-$my_xlib ;;
+ *) break ;;
+ esac
+ done
+ extracted_archives="$extracted_archives $my_xlib_u"
+ my_xdir="$my_gentop/$my_xlib_u"
+
+ func_mkdir_p "$my_xdir"
+
+ case $host in
+ *-darwin*)
+ func_verbose "Extracting $my_xabs"
+ # Do not bother doing anything if just a dry run
+ $opt_dry_run || {
+ darwin_orig_dir=`pwd`
+ cd $my_xdir || exit $?
+ darwin_archive=$my_xabs
+ darwin_curdir=`pwd`
+ darwin_base_archive=`basename "$darwin_archive"`
+ darwin_arches=`$LIPO -info "$darwin_archive" 2>/dev/null | $GREP Architectures 2>/dev/null || true`
+ if test -n "$darwin_arches"; then
+ darwin_arches=`$ECHO "$darwin_arches" | $SED -e 's/.*are://'`
+ darwin_arch=
+ func_verbose "$darwin_base_archive has multiple architectures $darwin_arches"
+ for darwin_arch in $darwin_arches ; do
+ func_mkdir_p "unfat-$$/${darwin_base_archive}-${darwin_arch}"
+ $LIPO -thin $darwin_arch -output "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}" "${darwin_archive}"
+ cd "unfat-$$/${darwin_base_archive}-${darwin_arch}"
+ func_extract_an_archive "`pwd`" "${darwin_base_archive}"
+ cd "$darwin_curdir"
+ $RM "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}"
+ done # $darwin_arches
+ ## Okay now we've a bunch of thin objects, gotta fatten them up :)
+ darwin_filelist=`find unfat-$$ -type f -name \*.o -print -o -name \*.lo -print | $SED -e "$basename" | sort -u`
+ darwin_file=
+ darwin_files=
+ for darwin_file in $darwin_filelist; do
+ darwin_files=`find unfat-$$ -name $darwin_file -print | $NL2SP`
+ $LIPO -create -output "$darwin_file" $darwin_files
+ done # $darwin_filelist
+ $RM -rf unfat-$$
+ cd "$darwin_orig_dir"
+ else
+ cd $darwin_orig_dir
+ func_extract_an_archive "$my_xdir" "$my_xabs"
+ fi # $darwin_arches
+ } # !$opt_dry_run
+ ;;
+ *)
+ func_extract_an_archive "$my_xdir" "$my_xabs"
+ ;;
+ esac
+ my_oldobjs="$my_oldobjs "`find $my_xdir -name \*.$objext -print -o -name \*.lo -print | $NL2SP`
+ done
+
+ func_extract_archives_result="$my_oldobjs"
+}
+
+
+
+# func_emit_wrapper_part1 [arg=no]
+#
+# Emit the first part of a libtool wrapper script on stdout.
+# For more information, see the description associated with
+# func_emit_wrapper(), below.
+func_emit_wrapper_part1 ()
+{
+ func_emit_wrapper_part1_arg1=no
+ if test -n "$1" ; then
+ func_emit_wrapper_part1_arg1=$1
+ fi
+
+ $ECHO "\
+#! $SHELL
+
+# $output - temporary wrapper script for $objdir/$outputname
+# Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION
+#
+# The $output program cannot be directly executed until all the libtool
+# libraries that it depends on are installed.
+#
+# This wrapper script should never be moved out of the build directory.
+# If it is, it will not operate correctly.
+
+# Sed substitution that helps us do robust quoting. It backslashifies
+# metacharacters that are still active within double-quoted strings.
+Xsed='${SED} -e 1s/^X//'
+sed_quote_subst='$sed_quote_subst'
+
+# Be Bourne compatible
+if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then
+ emulate sh
+ NULLCMD=:
+ # Zsh 3.x and 4.x performs word splitting on \${1+\"\$@\"}, which
+ # is contrary to our usage. Disable this feature.
+ alias -g '\${1+\"\$@\"}'='\"\$@\"'
+ setopt NO_GLOB_SUBST
+else
+ case \`(set -o) 2>/dev/null\` in *posix*) set -o posix;; esac
+fi
+BIN_SH=xpg4; export BIN_SH # for Tru64
+DUALCASE=1; export DUALCASE # for MKS sh
+
+# The HP-UX ksh and POSIX shell print the target directory to stdout
+# if CDPATH is set.
+(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
+
+relink_command=\"$relink_command\"
+
+# This environment variable determines our operation mode.
+if test \"\$libtool_install_magic\" = \"$magic\"; then
+ # install mode needs the following variables:
+ generated_by_libtool_version='$macro_version'
+ notinst_deplibs='$notinst_deplibs'
+else
+ # When we are sourced in execute mode, \$file and \$ECHO are already set.
+ if test \"\$libtool_execute_magic\" != \"$magic\"; then
+ ECHO=\"$qecho\"
+ file=\"\$0\"
+ # Make sure echo works.
+ if test \"X\$1\" = X--no-reexec; then
+ # Discard the --no-reexec flag, and continue.
+ shift
+ elif test \"X\`{ \$ECHO '\t'; } 2>/dev/null\`\" = 'X\t'; then
+ # Yippee, \$ECHO works!
+ :
+ else
+ # Restart under the correct shell, and then maybe \$ECHO will work.
+ exec $SHELL \"\$0\" --no-reexec \${1+\"\$@\"}
+ fi
+ fi\
+"
+ $ECHO "\
+
+ # Find the directory that this script lives in.
+ thisdir=\`\$ECHO \"X\$file\" | \$Xsed -e 's%/[^/]*$%%'\`
+ test \"x\$thisdir\" = \"x\$file\" && thisdir=.
+
+ # Follow symbolic links until we get to the real thisdir.
+ file=\`ls -ld \"\$file\" | ${SED} -n 's/.*-> //p'\`
+ while test -n \"\$file\"; do
+ destdir=\`\$ECHO \"X\$file\" | \$Xsed -e 's%/[^/]*\$%%'\`
+
+ # If there was a directory component, then change thisdir.
+ if test \"x\$destdir\" != \"x\$file\"; then
+ case \"\$destdir\" in
+ [\\\\/]* | [A-Za-z]:[\\\\/]*) thisdir=\"\$destdir\" ;;
+ *) thisdir=\"\$thisdir/\$destdir\" ;;
+ esac
+ fi
+
+ file=\`\$ECHO \"X\$file\" | \$Xsed -e 's%^.*/%%'\`
+ file=\`ls -ld \"\$thisdir/\$file\" | ${SED} -n 's/.*-> //p'\`
+ done
+"
+}
+# end: func_emit_wrapper_part1
+
+# func_emit_wrapper_part2 [arg=no]
+#
+# Emit the second part of a libtool wrapper script on stdout.
+# For more information, see the description associated with
+# func_emit_wrapper(), below.
+func_emit_wrapper_part2 ()
+{
+ func_emit_wrapper_part2_arg1=no
+ if test -n "$1" ; then
+ func_emit_wrapper_part2_arg1=$1
+ fi
+
+ $ECHO "\
+
+ # Usually 'no', except on cygwin/mingw when embedded into
+ # the cwrapper.
+ WRAPPER_SCRIPT_BELONGS_IN_OBJDIR=$func_emit_wrapper_part2_arg1
+ if test \"\$WRAPPER_SCRIPT_BELONGS_IN_OBJDIR\" = \"yes\"; then
+ # special case for '.'
+ if test \"\$thisdir\" = \".\"; then
+ thisdir=\`pwd\`
+ fi
+ # remove .libs from thisdir
+ case \"\$thisdir\" in
+ *[\\\\/]$objdir ) thisdir=\`\$ECHO \"X\$thisdir\" | \$Xsed -e 's%[\\\\/][^\\\\/]*$%%'\` ;;
+ $objdir ) thisdir=. ;;
+ esac
+ fi
+
+ # Try to get the absolute directory name.
+ absdir=\`cd \"\$thisdir\" && pwd\`
+ test -n \"\$absdir\" && thisdir=\"\$absdir\"
+"
+
+ if test "$fast_install" = yes; then
+ $ECHO "\
+ program=lt-'$outputname'$exeext
+ progdir=\"\$thisdir/$objdir\"
+
+ if test ! -f \"\$progdir/\$program\" ||
+ { file=\`ls -1dt \"\$progdir/\$program\" \"\$progdir/../\$program\" 2>/dev/null | ${SED} 1q\`; \\
+ test \"X\$file\" != \"X\$progdir/\$program\"; }; then
+
+ file=\"\$\$-\$program\"
+
+ if test ! -d \"\$progdir\"; then
+ $MKDIR \"\$progdir\"
+ else
+ $RM \"\$progdir/\$file\"
+ fi"
+
+ $ECHO "\
+
+ # relink executable if necessary
+ if test -n \"\$relink_command\"; then
+ if relink_command_output=\`eval \$relink_command 2>&1\`; then :
+ else
+ $ECHO \"\$relink_command_output\" >&2
+ $RM \"\$progdir/\$file\"
+ exit 1
+ fi
+ fi
+
+ $MV \"\$progdir/\$file\" \"\$progdir/\$program\" 2>/dev/null ||
+ { $RM \"\$progdir/\$program\";
+ $MV \"\$progdir/\$file\" \"\$progdir/\$program\"; }
+ $RM \"\$progdir/\$file\"
+ fi"
+ else
+ $ECHO "\
+ program='$outputname'
+ progdir=\"\$thisdir/$objdir\"
+"
+ fi
+
+ $ECHO "\
+
+ if test -f \"\$progdir/\$program\"; then"
+
+ # Export our shlibpath_var if we have one.
+ if test "$shlibpath_overrides_runpath" = yes && test -n "$shlibpath_var" && test -n "$temp_rpath"; then
+ $ECHO "\
+ # Add our own library path to $shlibpath_var
+ $shlibpath_var=\"$temp_rpath\$$shlibpath_var\"
+
+ # Some systems cannot cope with colon-terminated $shlibpath_var
+ # The second colon is a workaround for a bug in BeOS R4 sed
+ $shlibpath_var=\`\$ECHO \"X\$$shlibpath_var\" | \$Xsed -e 's/::*\$//'\`
+
+ export $shlibpath_var
+"
+ fi
+
+ # fixup the dll searchpath if we need to.
+ if test -n "$dllsearchpath"; then
+ $ECHO "\
+ # Add the dll search path components to the executable PATH
+ PATH=$dllsearchpath:\$PATH
+"
+ fi
+
+ $ECHO "\
+ if test \"\$libtool_execute_magic\" != \"$magic\"; then
+ # Run the actual program with our arguments.
+"
+ case $host in
+ # Backslashes separate directories on plain windows
+ *-*-mingw | *-*-os2* | *-cegcc*)
+ $ECHO "\
+ exec \"\$progdir\\\\\$program\" \${1+\"\$@\"}
+"
+ ;;
+
+ *)
+ $ECHO "\
+ exec \"\$progdir/\$program\" \${1+\"\$@\"}
+"
+ ;;
+ esac
+ $ECHO "\
+ \$ECHO \"\$0: cannot exec \$program \$*\" 1>&2
+ exit 1
+ fi
+ else
+ # The program doesn't exist.
+ \$ECHO \"\$0: error: \\\`\$progdir/\$program' does not exist\" 1>&2
+ \$ECHO \"This script is just a wrapper for \$program.\" 1>&2
+ $ECHO \"See the $PACKAGE documentation for more information.\" 1>&2
+ exit 1
+ fi
+fi\
+"
+}
+# end: func_emit_wrapper_part2
+
+
+# func_emit_wrapper [arg=no]
+#
+# Emit a libtool wrapper script on stdout.
+# Don't directly open a file because we may want to
+# incorporate the script contents within a cygwin/mingw
+# wrapper executable. Must ONLY be called from within
+# func_mode_link because it depends on a number of variables
+# set therein.
+#
+# ARG is the value that the WRAPPER_SCRIPT_BELONGS_IN_OBJDIR
+# variable will take. If 'yes', then the emitted script
+# will assume that the directory in which it is stored is
+# the $objdir directory. This is a cygwin/mingw-specific
+# behavior.
+func_emit_wrapper ()
+{
+ func_emit_wrapper_arg1=no
+ if test -n "$1" ; then
+ func_emit_wrapper_arg1=$1
+ fi
+
+ # split this up so that func_emit_cwrapperexe_src
+ # can call each part independently.
+ func_emit_wrapper_part1 "${func_emit_wrapper_arg1}"
+ func_emit_wrapper_part2 "${func_emit_wrapper_arg1}"
+}
+
+
+# func_to_host_path arg
+#
+# Convert paths to host format when used with build tools.
+# Intended for use with "native" mingw (where libtool itself
+# is running under the msys shell), or in the following cross-
+# build environments:
+# $build $host
+# mingw (msys) mingw [e.g. native]
+# cygwin mingw
+# *nix + wine mingw
+# where wine is equipped with the `winepath' executable.
+# In the native mingw case, the (msys) shell automatically
+# converts paths for any non-msys applications it launches,
+# but that facility isn't available from inside the cwrapper.
+# Similar accommodations are necessary for $host mingw and
+# $build cygwin. Calling this function does no harm for other
+# $host/$build combinations not listed above.
+#
+# ARG is the path (on $build) that should be converted to
+# the proper representation for $host. The result is stored
+# in $func_to_host_path_result.
+func_to_host_path ()
+{
+ func_to_host_path_result="$1"
+ if test -n "$1" ; then
+ case $host in
+ *mingw* )
+ lt_sed_naive_backslashify='s|\\\\*|\\|g;s|/|\\|g;s|\\|\\\\|g'
+ case $build in
+ *mingw* ) # actually, msys
+ # awkward: cmd appends spaces to result
+ lt_sed_strip_trailing_spaces="s/[ ]*\$//"
+ func_to_host_path_tmp1=`( cmd //c echo "$1" |\
+ $SED -e "$lt_sed_strip_trailing_spaces" ) 2>/dev/null || echo ""`
+ func_to_host_path_result=`echo "$func_to_host_path_tmp1" |\
+ $SED -e "$lt_sed_naive_backslashify"`
+ ;;
+ *cygwin* )
+ func_to_host_path_tmp1=`cygpath -w "$1"`
+ func_to_host_path_result=`echo "$func_to_host_path_tmp1" |\
+ $SED -e "$lt_sed_naive_backslashify"`
+ ;;
+ * )
+ # Unfortunately, winepath does not exit with a non-zero
+ # error code, so we are forced to check the contents of
+ # stdout. On the other hand, if the command is not
+ # found, the shell will set an exit code of 127 and print
+ # *an error message* to stdout. So we must check for both
+ # error code of zero AND non-empty stdout, which explains
+ # the odd construction:
+ func_to_host_path_tmp1=`winepath -w "$1" 2>/dev/null`
+ if test "$?" -eq 0 && test -n "${func_to_host_path_tmp1}"; then
+ func_to_host_path_result=`echo "$func_to_host_path_tmp1" |\
+ $SED -e "$lt_sed_naive_backslashify"`
+ else
+ # Allow warning below.
+ func_to_host_path_result=""
+ fi
+ ;;
+ esac
+ if test -z "$func_to_host_path_result" ; then
+ func_error "Could not determine host path corresponding to"
+ func_error " '$1'"
+ func_error "Continuing, but uninstalled executables may not work."
+ # Fallback:
+ func_to_host_path_result="$1"
+ fi
+ ;;
+ esac
+ fi
+}
+# end: func_to_host_path
+
+# func_to_host_pathlist arg
+#
+# Convert pathlists to host format when used with build tools.
+# See func_to_host_path(), above. This function supports the
+# following $build/$host combinations (but does no harm for
+# combinations not listed here):
+# $build $host
+# mingw (msys) mingw [e.g. native]
+# cygwin mingw
+# *nix + wine mingw
+#
+# Path separators are also converted from $build format to
+# $host format. If ARG begins or ends with a path separator
+# character, it is preserved (but converted to $host format)
+# on output.
+#
+# ARG is a pathlist (on $build) that should be converted to
+# the proper representation on $host. The result is stored
+# in $func_to_host_pathlist_result.
+func_to_host_pathlist ()
+{
+ func_to_host_pathlist_result="$1"
+ if test -n "$1" ; then
+ case $host in
+ *mingw* )
+ lt_sed_naive_backslashify='s|\\\\*|\\|g;s|/|\\|g;s|\\|\\\\|g'
+ # Remove leading and trailing path separator characters from
+ # ARG. msys behavior is inconsistent here, cygpath turns them
+ # into '.;' and ';.', and winepath ignores them completely.
+ func_to_host_pathlist_tmp2="$1"
+ # Once set for this call, this variable should not be
+ # reassigned. It is used in tha fallback case.
+ func_to_host_pathlist_tmp1=`echo "$func_to_host_pathlist_tmp2" |\
+ $SED -e 's|^:*||' -e 's|:*$||'`
+ case $build in
+ *mingw* ) # Actually, msys.
+ # Awkward: cmd appends spaces to result.
+ lt_sed_strip_trailing_spaces="s/[ ]*\$//"
+ func_to_host_pathlist_tmp2=`( cmd //c echo "$func_to_host_pathlist_tmp1" |\
+ $SED -e "$lt_sed_strip_trailing_spaces" ) 2>/dev/null || echo ""`
+ func_to_host_pathlist_result=`echo "$func_to_host_pathlist_tmp2" |\
+ $SED -e "$lt_sed_naive_backslashify"`
+ ;;
+ *cygwin* )
+ func_to_host_pathlist_tmp2=`cygpath -w -p "$func_to_host_pathlist_tmp1"`
+ func_to_host_pathlist_result=`echo "$func_to_host_pathlist_tmp2" |\
+ $SED -e "$lt_sed_naive_backslashify"`
+ ;;
+ * )
+ # unfortunately, winepath doesn't convert pathlists
+ func_to_host_pathlist_result=""
+ func_to_host_pathlist_oldIFS=$IFS
+ IFS=:
+ for func_to_host_pathlist_f in $func_to_host_pathlist_tmp1 ; do
+ IFS=$func_to_host_pathlist_oldIFS
+ if test -n "$func_to_host_pathlist_f" ; then
+ func_to_host_path "$func_to_host_pathlist_f"
+ if test -n "$func_to_host_path_result" ; then
+ if test -z "$func_to_host_pathlist_result" ; then
+ func_to_host_pathlist_result="$func_to_host_path_result"
+ else
+ func_to_host_pathlist_result="$func_to_host_pathlist_result;$func_to_host_path_result"
+ fi
+ fi
+ fi
+ IFS=:
+ done
+ IFS=$func_to_host_pathlist_oldIFS
+ ;;
+ esac
+ if test -z "$func_to_host_pathlist_result" ; then
+ func_error "Could not determine the host path(s) corresponding to"
+ func_error " '$1'"
+ func_error "Continuing, but uninstalled executables may not work."
+ # Fallback. This may break if $1 contains DOS-style drive
+ # specifications. The fix is not to complicate the expression
+ # below, but for the user to provide a working wine installation
+ # with winepath so that path translation in the cross-to-mingw
+ # case works properly.
+ lt_replace_pathsep_nix_to_dos="s|:|;|g"
+ func_to_host_pathlist_result=`echo "$func_to_host_pathlist_tmp1" |\
+ $SED -e "$lt_replace_pathsep_nix_to_dos"`
+ fi
+ # Now, add the leading and trailing path separators back
+ case "$1" in
+ :* ) func_to_host_pathlist_result=";$func_to_host_pathlist_result"
+ ;;
+ esac
+ case "$1" in
+ *: ) func_to_host_pathlist_result="$func_to_host_pathlist_result;"
+ ;;
+ esac
+ ;;
+ esac
+ fi
+}
+# end: func_to_host_pathlist
+
+# func_emit_cwrapperexe_src
+# emit the source code for a wrapper executable on stdout
+# Must ONLY be called from within func_mode_link because
+# it depends on a number of variable set therein.
+func_emit_cwrapperexe_src ()
+{
+ cat <<EOF
+
+/* $cwrappersource - temporary wrapper executable for $objdir/$outputname
+ Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION
+
+ The $output program cannot be directly executed until all the libtool
+ libraries that it depends on are installed.
+
+ This wrapper executable should never be moved out of the build directory.
+ If it is, it will not operate correctly.
+
+ Currently, it simply execs the wrapper *script* "$SHELL $output",
+ but could eventually absorb all of the scripts functionality and
+ exec $objdir/$outputname directly.
+*/
+EOF
+ cat <<"EOF"
+#include <stdio.h>
+#include <stdlib.h>
+#ifdef _MSC_VER
+# include <direct.h>
+# include <process.h>
+# include <io.h>
+# define setmode _setmode
+#else
+# include <unistd.h>
+# include <stdint.h>
+# ifdef __CYGWIN__
+# include <io.h>
+# define HAVE_SETENV
+# ifdef __STRICT_ANSI__
+char *realpath (const char *, char *);
+int putenv (char *);
+int setenv (const char *, const char *, int);
+# endif
+# endif
+#endif
+#include <malloc.h>
+#include <stdarg.h>
+#include <assert.h>
+#include <string.h>
+#include <ctype.h>
+#include <errno.h>
+#include <fcntl.h>
+#include <sys/stat.h>
+
+#if defined(PATH_MAX)
+# define LT_PATHMAX PATH_MAX
+#elif defined(MAXPATHLEN)
+# define LT_PATHMAX MAXPATHLEN
+#else
+# define LT_PATHMAX 1024
+#endif
+
+#ifndef S_IXOTH
+# define S_IXOTH 0
+#endif
+#ifndef S_IXGRP
+# define S_IXGRP 0
+#endif
+
+#ifdef _MSC_VER
+# define S_IXUSR _S_IEXEC
+# define stat _stat
+# ifndef _INTPTR_T_DEFINED
+# define intptr_t int
+# endif
+#endif
+
+#ifndef DIR_SEPARATOR
+# define DIR_SEPARATOR '/'
+# define PATH_SEPARATOR ':'
+#endif
+
+#if defined (_WIN32) || defined (__MSDOS__) || defined (__DJGPP__) || \
+ defined (__OS2__)
+# define HAVE_DOS_BASED_FILE_SYSTEM
+# define FOPEN_WB "wb"
+# ifndef DIR_SEPARATOR_2
+# define DIR_SEPARATOR_2 '\\'
+# endif
+# ifndef PATH_SEPARATOR_2
+# define PATH_SEPARATOR_2 ';'
+# endif
+#endif
+
+#ifndef DIR_SEPARATOR_2
+# define IS_DIR_SEPARATOR(ch) ((ch) == DIR_SEPARATOR)
+#else /* DIR_SEPARATOR_2 */
+# define IS_DIR_SEPARATOR(ch) \
+ (((ch) == DIR_SEPARATOR) || ((ch) == DIR_SEPARATOR_2))
+#endif /* DIR_SEPARATOR_2 */
+
+#ifndef PATH_SEPARATOR_2
+# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR)
+#else /* PATH_SEPARATOR_2 */
+# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR_2)
+#endif /* PATH_SEPARATOR_2 */
+
+#ifdef __CYGWIN__
+# define FOPEN_WB "wb"
+#endif
+
+#ifndef FOPEN_WB
+# define FOPEN_WB "w"
+#endif
+#ifndef _O_BINARY
+# define _O_BINARY 0
+#endif
+
+#define XMALLOC(type, num) ((type *) xmalloc ((num) * sizeof(type)))
+#define XFREE(stale) do { \
+ if (stale) { free ((void *) stale); stale = 0; } \
+} while (0)
+
+#undef LTWRAPPER_DEBUGPRINTF
+#if defined DEBUGWRAPPER
+# define LTWRAPPER_DEBUGPRINTF(args) ltwrapper_debugprintf args
+static void
+ltwrapper_debugprintf (const char *fmt, ...)
+{
+ va_list args;
+ va_start (args, fmt);
+ (void) vfprintf (stderr, fmt, args);
+ va_end (args);
+}
+#else
+# define LTWRAPPER_DEBUGPRINTF(args)
+#endif
+
+const char *program_name = NULL;
+
+void *xmalloc (size_t num);
+char *xstrdup (const char *string);
+const char *base_name (const char *name);
+char *find_executable (const char *wrapper);
+char *chase_symlinks (const char *pathspec);
+int make_executable (const char *path);
+int check_executable (const char *path);
+char *strendzap (char *str, const char *pat);
+void lt_fatal (const char *message, ...);
+void lt_setenv (const char *name, const char *value);
+char *lt_extend_str (const char *orig_value, const char *add, int to_end);
+void lt_opt_process_env_set (const char *arg);
+void lt_opt_process_env_prepend (const char *arg);
+void lt_opt_process_env_append (const char *arg);
+int lt_split_name_value (const char *arg, char** name, char** value);
+void lt_update_exe_path (const char *name, const char *value);
+void lt_update_lib_path (const char *name, const char *value);
+
+static const char *script_text_part1 =
+EOF
+
+ func_emit_wrapper_part1 yes |
+ $SED -e 's/\([\\"]\)/\\\1/g' \
+ -e 's/^/ "/' -e 's/$/\\n"/'
+ echo ";"
+ cat <<EOF
+
+static const char *script_text_part2 =
+EOF
+ func_emit_wrapper_part2 yes |
+ $SED -e 's/\([\\"]\)/\\\1/g' \
+ -e 's/^/ "/' -e 's/$/\\n"/'
+ echo ";"
+
+ cat <<EOF
+const char * MAGIC_EXE = "$magic_exe";
+const char * LIB_PATH_VARNAME = "$shlibpath_var";
+EOF
+
+ if test "$shlibpath_overrides_runpath" = yes && test -n "$shlibpath_var" && test -n "$temp_rpath"; then
+ func_to_host_pathlist "$temp_rpath"
+ cat <<EOF
+const char * LIB_PATH_VALUE = "$func_to_host_pathlist_result";
+EOF
+ else
+ cat <<"EOF"
+const char * LIB_PATH_VALUE = "";
+EOF
+ fi
+
+ if test -n "$dllsearchpath"; then
+ func_to_host_pathlist "$dllsearchpath:"
+ cat <<EOF
+const char * EXE_PATH_VARNAME = "PATH";
+const char * EXE_PATH_VALUE = "$func_to_host_pathlist_result";
+EOF
+ else
+ cat <<"EOF"
+const char * EXE_PATH_VARNAME = "";
+const char * EXE_PATH_VALUE = "";
+EOF
+ fi
+
+ if test "$fast_install" = yes; then
+ cat <<EOF
+const char * TARGET_PROGRAM_NAME = "lt-$outputname"; /* hopefully, no .exe */
+EOF
+ else
+ cat <<EOF
+const char * TARGET_PROGRAM_NAME = "$outputname"; /* hopefully, no .exe */
+EOF
+ fi
+
+
+ cat <<"EOF"
+
+#define LTWRAPPER_OPTION_PREFIX "--lt-"
+#define LTWRAPPER_OPTION_PREFIX_LENGTH 5
+
+static const size_t opt_prefix_len = LTWRAPPER_OPTION_PREFIX_LENGTH;
+static const char *ltwrapper_option_prefix = LTWRAPPER_OPTION_PREFIX;
+
+static const char *dumpscript_opt = LTWRAPPER_OPTION_PREFIX "dump-script";
+
+static const size_t env_set_opt_len = LTWRAPPER_OPTION_PREFIX_LENGTH + 7;
+static const char *env_set_opt = LTWRAPPER_OPTION_PREFIX "env-set";
+ /* argument is putenv-style "foo=bar", value of foo is set to bar */
+
+static const size_t env_prepend_opt_len = LTWRAPPER_OPTION_PREFIX_LENGTH + 11;
+static const char *env_prepend_opt = LTWRAPPER_OPTION_PREFIX "env-prepend";
+ /* argument is putenv-style "foo=bar", new value of foo is bar${foo} */
+
+static const size_t env_append_opt_len = LTWRAPPER_OPTION_PREFIX_LENGTH + 10;
+static const char *env_append_opt = LTWRAPPER_OPTION_PREFIX "env-append";
+ /* argument is putenv-style "foo=bar", new value of foo is ${foo}bar */
+
+int
+main (int argc, char *argv[])
+{
+ char **newargz;
+ int newargc;
+ char *tmp_pathspec;
+ char *actual_cwrapper_path;
+ char *actual_cwrapper_name;
+ char *target_name;
+ char *lt_argv_zero;
+ intptr_t rval = 127;
+
+ int i;
+
+ program_name = (char *) xstrdup (base_name (argv[0]));
+ LTWRAPPER_DEBUGPRINTF (("(main) argv[0] : %s\n", argv[0]));
+ LTWRAPPER_DEBUGPRINTF (("(main) program_name : %s\n", program_name));
+
+ /* very simple arg parsing; don't want to rely on getopt */
+ for (i = 1; i < argc; i++)
+ {
+ if (strcmp (argv[i], dumpscript_opt) == 0)
+ {
+EOF
+ case "$host" in
+ *mingw* | *cygwin* )
+ # make stdout use "unix" line endings
+ echo " setmode(1,_O_BINARY);"
+ ;;
+ esac
+
+ cat <<"EOF"
+ printf ("%s", script_text_part1);
+ printf ("%s", script_text_part2);
+ return 0;
+ }
+ }
+
+ newargz = XMALLOC (char *, argc + 1);
+ tmp_pathspec = find_executable (argv[0]);
+ if (tmp_pathspec == NULL)
+ lt_fatal ("Couldn't find %s", argv[0]);
+ LTWRAPPER_DEBUGPRINTF (("(main) found exe (before symlink chase) at : %s\n",
+ tmp_pathspec));
+
+ actual_cwrapper_path = chase_symlinks (tmp_pathspec);
+ LTWRAPPER_DEBUGPRINTF (("(main) found exe (after symlink chase) at : %s\n",
+ actual_cwrapper_path));
+ XFREE (tmp_pathspec);
+
+ actual_cwrapper_name = xstrdup( base_name (actual_cwrapper_path));
+ strendzap (actual_cwrapper_path, actual_cwrapper_name);
+
+ /* wrapper name transforms */
+ strendzap (actual_cwrapper_name, ".exe");
+ tmp_pathspec = lt_extend_str (actual_cwrapper_name, ".exe", 1);
+ XFREE (actual_cwrapper_name);
+ actual_cwrapper_name = tmp_pathspec;
+ tmp_pathspec = 0;
+
+ /* target_name transforms -- use actual target program name; might have lt- prefix */
+ target_name = xstrdup (base_name (TARGET_PROGRAM_NAME));
+ strendzap (target_name, ".exe");
+ tmp_pathspec = lt_extend_str (target_name, ".exe", 1);
+ XFREE (target_name);
+ target_name = tmp_pathspec;
+ tmp_pathspec = 0;
+
+ LTWRAPPER_DEBUGPRINTF (("(main) libtool target name: %s\n",
+ target_name));
+EOF
+
+ cat <<EOF
+ newargz[0] =
+ XMALLOC (char, (strlen (actual_cwrapper_path) +
+ strlen ("$objdir") + 1 + strlen (actual_cwrapper_name) + 1));
+ strcpy (newargz[0], actual_cwrapper_path);
+ strcat (newargz[0], "$objdir");
+ strcat (newargz[0], "/");
+EOF
+
+ cat <<"EOF"
+ /* stop here, and copy so we don't have to do this twice */
+ tmp_pathspec = xstrdup (newargz[0]);
+
+ /* do NOT want the lt- prefix here, so use actual_cwrapper_name */
+ strcat (newargz[0], actual_cwrapper_name);
+
+ /* DO want the lt- prefix here if it exists, so use target_name */
+ lt_argv_zero = lt_extend_str (tmp_pathspec, target_name, 1);
+ XFREE (tmp_pathspec);
+ tmp_pathspec = NULL;
+EOF
+
+ case $host_os in
+ mingw*)
+ cat <<"EOF"
+ {
+ char* p;
+ while ((p = strchr (newargz[0], '\\')) != NULL)
+ {
+ *p = '/';
+ }
+ while ((p = strchr (lt_argv_zero, '\\')) != NULL)
+ {
+ *p = '/';
+ }
+ }
+EOF
+ ;;
+ esac
+
+ cat <<"EOF"
+ XFREE (target_name);
+ XFREE (actual_cwrapper_path);
+ XFREE (actual_cwrapper_name);
+
+ lt_setenv ("BIN_SH", "xpg4"); /* for Tru64 */
+ lt_setenv ("DUALCASE", "1"); /* for MSK sh */
+ lt_update_lib_path (LIB_PATH_VARNAME, LIB_PATH_VALUE);
+ lt_update_exe_path (EXE_PATH_VARNAME, EXE_PATH_VALUE);
+
+ newargc=0;
+ for (i = 1; i < argc; i++)
+ {
+ if (strncmp (argv[i], env_set_opt, env_set_opt_len) == 0)
+ {
+ if (argv[i][env_set_opt_len] == '=')
+ {
+ const char *p = argv[i] + env_set_opt_len + 1;
+ lt_opt_process_env_set (p);
+ }
+ else if (argv[i][env_set_opt_len] == '\0' && i + 1 < argc)
+ {
+ lt_opt_process_env_set (argv[++i]); /* don't copy */
+ }
+ else
+ lt_fatal ("%s missing required argument", env_set_opt);
+ continue;
+ }
+ if (strncmp (argv[i], env_prepend_opt, env_prepend_opt_len) == 0)
+ {
+ if (argv[i][env_prepend_opt_len] == '=')
+ {
+ const char *p = argv[i] + env_prepend_opt_len + 1;
+ lt_opt_process_env_prepend (p);
+ }
+ else if (argv[i][env_prepend_opt_len] == '\0' && i + 1 < argc)
+ {
+ lt_opt_process_env_prepend (argv[++i]); /* don't copy */
+ }
+ else
+ lt_fatal ("%s missing required argument", env_prepend_opt);
+ continue;
+ }
+ if (strncmp (argv[i], env_append_opt, env_append_opt_len) == 0)
+ {
+ if (argv[i][env_append_opt_len] == '=')
+ {
+ const char *p = argv[i] + env_append_opt_len + 1;
+ lt_opt_process_env_append (p);
+ }
+ else if (argv[i][env_append_opt_len] == '\0' && i + 1 < argc)
+ {
+ lt_opt_process_env_append (argv[++i]); /* don't copy */
+ }
+ else
+ lt_fatal ("%s missing required argument", env_append_opt);
+ continue;
+ }
+ if (strncmp (argv[i], ltwrapper_option_prefix, opt_prefix_len) == 0)
+ {
+ /* however, if there is an option in the LTWRAPPER_OPTION_PREFIX
+ namespace, but it is not one of the ones we know about and
+ have already dealt with, above (inluding dump-script), then
+ report an error. Otherwise, targets might begin to believe
+ they are allowed to use options in the LTWRAPPER_OPTION_PREFIX
+ namespace. The first time any user complains about this, we'll
+ need to make LTWRAPPER_OPTION_PREFIX a configure-time option
+ or a configure.ac-settable value.
+ */
+ lt_fatal ("Unrecognized option in %s namespace: '%s'",
+ ltwrapper_option_prefix, argv[i]);
+ }
+ /* otherwise ... */
+ newargz[++newargc] = xstrdup (argv[i]);
+ }
+ newargz[++newargc] = NULL;
+
+ LTWRAPPER_DEBUGPRINTF (("(main) lt_argv_zero : %s\n", (lt_argv_zero ? lt_argv_zero : "<NULL>")));
+ for (i = 0; i < newargc; i++)
+ {
+ LTWRAPPER_DEBUGPRINTF (("(main) newargz[%d] : %s\n", i, (newargz[i] ? newargz[i] : "<NULL>")));
+ }
+
+EOF
+
+ case $host_os in
+ mingw*)
+ cat <<"EOF"
+ /* execv doesn't actually work on mingw as expected on unix */
+ rval = _spawnv (_P_WAIT, lt_argv_zero, (const char * const *) newargz);
+ if (rval == -1)
+ {
+ /* failed to start process */
+ LTWRAPPER_DEBUGPRINTF (("(main) failed to launch target \"%s\": errno = %d\n", lt_argv_zero, errno));
+ return 127;
+ }
+ return rval;
+EOF
+ ;;
+ *)
+ cat <<"EOF"
+ execv (lt_argv_zero, newargz);
+ return rval; /* =127, but avoids unused variable warning */
+EOF
+ ;;
+ esac
+
+ cat <<"EOF"
+}
+
+void *
+xmalloc (size_t num)
+{
+ void *p = (void *) malloc (num);
+ if (!p)
+ lt_fatal ("Memory exhausted");
+
+ return p;
+}
+
+char *
+xstrdup (const char *string)
+{
+ return string ? strcpy ((char *) xmalloc (strlen (string) + 1),
+ string) : NULL;
+}
+
+const char *
+base_name (const char *name)
+{
+ const char *base;
+
+#if defined (HAVE_DOS_BASED_FILE_SYSTEM)
+ /* Skip over the disk name in MSDOS pathnames. */
+ if (isalpha ((unsigned char) name[0]) && name[1] == ':')
+ name += 2;
+#endif
+
+ for (base = name; *name; name++)
+ if (IS_DIR_SEPARATOR (*name))
+ base = name + 1;
+ return base;
+}
+
+int
+check_executable (const char *path)
+{
+ struct stat st;
+
+ LTWRAPPER_DEBUGPRINTF (("(check_executable) : %s\n",
+ path ? (*path ? path : "EMPTY!") : "NULL!"));
+ if ((!path) || (!*path))
+ return 0;
+
+ if ((stat (path, &st) >= 0)
+ && (st.st_mode & (S_IXUSR | S_IXGRP | S_IXOTH)))
+ return 1;
+ else
+ return 0;
+}
+
+int
+make_executable (const char *path)
+{
+ int rval = 0;
+ struct stat st;
+
+ LTWRAPPER_DEBUGPRINTF (("(make_executable) : %s\n",
+ path ? (*path ? path : "EMPTY!") : "NULL!"));
+ if ((!path) || (!*path))
+ return 0;
+
+ if (stat (path, &st) >= 0)
+ {
+ rval = chmod (path, st.st_mode | S_IXOTH | S_IXGRP | S_IXUSR);
+ }
+ return rval;
+}
+
+/* Searches for the full path of the wrapper. Returns
+ newly allocated full path name if found, NULL otherwise
+ Does not chase symlinks, even on platforms that support them.
+*/
+char *
+find_executable (const char *wrapper)
+{
+ int has_slash = 0;
+ const char *p;
+ const char *p_next;
+ /* static buffer for getcwd */
+ char tmp[LT_PATHMAX + 1];
+ int tmp_len;
+ char *concat_name;
+
+ LTWRAPPER_DEBUGPRINTF (("(find_executable) : %s\n",
+ wrapper ? (*wrapper ? wrapper : "EMPTY!") : "NULL!"));
+
+ if ((wrapper == NULL) || (*wrapper == '\0'))
+ return NULL;
+
+ /* Absolute path? */
+#if defined (HAVE_DOS_BASED_FILE_SYSTEM)
+ if (isalpha ((unsigned char) wrapper[0]) && wrapper[1] == ':')
+ {
+ concat_name = xstrdup (wrapper);
+ if (check_executable (concat_name))
+ return concat_name;
+ XFREE (concat_name);
+ }
+ else
+ {
+#endif
+ if (IS_DIR_SEPARATOR (wrapper[0]))
+ {
+ concat_name = xstrdup (wrapper);
+ if (check_executable (concat_name))
+ return concat_name;
+ XFREE (concat_name);
+ }
+#if defined (HAVE_DOS_BASED_FILE_SYSTEM)
+ }
+#endif
+
+ for (p = wrapper; *p; p++)
+ if (*p == '/')
+ {
+ has_slash = 1;
+ break;
+ }
+ if (!has_slash)
+ {
+ /* no slashes; search PATH */
+ const char *path = getenv ("PATH");
+ if (path != NULL)
+ {
+ for (p = path; *p; p = p_next)
+ {
+ const char *q;
+ size_t p_len;
+ for (q = p; *q; q++)
+ if (IS_PATH_SEPARATOR (*q))
+ break;
+ p_len = q - p;
+ p_next = (*q == '\0' ? q : q + 1);
+ if (p_len == 0)
+ {
+ /* empty path: current directory */
+ if (getcwd (tmp, LT_PATHMAX) == NULL)
+ lt_fatal ("getcwd failed");
+ tmp_len = strlen (tmp);
+ concat_name =
+ XMALLOC (char, tmp_len + 1 + strlen (wrapper) + 1);
+ memcpy (concat_name, tmp, tmp_len);
+ concat_name[tmp_len] = '/';
+ strcpy (concat_name + tmp_len + 1, wrapper);
+ }
+ else
+ {
+ concat_name =
+ XMALLOC (char, p_len + 1 + strlen (wrapper) + 1);
+ memcpy (concat_name, p, p_len);
+ concat_name[p_len] = '/';
+ strcpy (concat_name + p_len + 1, wrapper);
+ }
+ if (check_executable (concat_name))
+ return concat_name;
+ XFREE (concat_name);
+ }
+ }
+ /* not found in PATH; assume curdir */
+ }
+ /* Relative path | not found in path: prepend cwd */
+ if (getcwd (tmp, LT_PATHMAX) == NULL)
+ lt_fatal ("getcwd failed");
+ tmp_len = strlen (tmp);
+ concat_name = XMALLOC (char, tmp_len + 1 + strlen (wrapper) + 1);
+ memcpy (concat_name, tmp, tmp_len);
+ concat_name[tmp_len] = '/';
+ strcpy (concat_name + tmp_len + 1, wrapper);
+
+ if (check_executable (concat_name))
+ return concat_name;
+ XFREE (concat_name);
+ return NULL;
+}
+
+char *
+chase_symlinks (const char *pathspec)
+{
+#ifndef S_ISLNK
+ return xstrdup (pathspec);
+#else
+ char buf[LT_PATHMAX];
+ struct stat s;
+ char *tmp_pathspec = xstrdup (pathspec);
+ char *p;
+ int has_symlinks = 0;
+ while (strlen (tmp_pathspec) && !has_symlinks)
+ {
+ LTWRAPPER_DEBUGPRINTF (("checking path component for symlinks: %s\n",
+ tmp_pathspec));
+ if (lstat (tmp_pathspec, &s) == 0)
+ {
+ if (S_ISLNK (s.st_mode) != 0)
+ {
+ has_symlinks = 1;
+ break;
+ }
+
+ /* search backwards for last DIR_SEPARATOR */
+ p = tmp_pathspec + strlen (tmp_pathspec) - 1;
+ while ((p > tmp_pathspec) && (!IS_DIR_SEPARATOR (*p)))
+ p--;
+ if ((p == tmp_pathspec) && (!IS_DIR_SEPARATOR (*p)))
+ {
+ /* no more DIR_SEPARATORS left */
+ break;
+ }
+ *p = '\0';
+ }
+ else
+ {
+ char *errstr = strerror (errno);
+ lt_fatal ("Error accessing file %s (%s)", tmp_pathspec, errstr);
+ }
+ }
+ XFREE (tmp_pathspec);
+
+ if (!has_symlinks)
+ {
+ return xstrdup (pathspec);
+ }
+
+ tmp_pathspec = realpath (pathspec, buf);
+ if (tmp_pathspec == 0)
+ {
+ lt_fatal ("Could not follow symlinks for %s", pathspec);
+ }
+ return xstrdup (tmp_pathspec);
+#endif
+}
+
+char *
+strendzap (char *str, const char *pat)
+{
+ size_t len, patlen;
+
+ assert (str != NULL);
+ assert (pat != NULL);
+
+ len = strlen (str);
+ patlen = strlen (pat);
+
+ if (patlen <= len)
+ {
+ str += len - patlen;
+ if (strcmp (str, pat) == 0)
+ *str = '\0';
+ }
+ return str;
+}
+
+static void
+lt_error_core (int exit_status, const char *mode,
+ const char *message, va_list ap)
+{
+ fprintf (stderr, "%s: %s: ", program_name, mode);
+ vfprintf (stderr, message, ap);
+ fprintf (stderr, ".\n");
+
+ if (exit_status >= 0)
+ exit (exit_status);
+}
+
+void
+lt_fatal (const char *message, ...)
+{
+ va_list ap;
+ va_start (ap, message);
+ lt_error_core (EXIT_FAILURE, "FATAL", message, ap);
+ va_end (ap);
+}
+
+void
+lt_setenv (const char *name, const char *value)
+{
+ LTWRAPPER_DEBUGPRINTF (("(lt_setenv) setting '%s' to '%s'\n",
+ (name ? name : "<NULL>"),
+ (value ? value : "<NULL>")));
+ {
+#ifdef HAVE_SETENV
+ /* always make a copy, for consistency with !HAVE_SETENV */
+ char *str = xstrdup (value);
+ setenv (name, str, 1);
+#else
+ int len = strlen (name) + 1 + strlen (value) + 1;
+ char *str = XMALLOC (char, len);
+ sprintf (str, "%s=%s", name, value);
+ if (putenv (str) != EXIT_SUCCESS)
+ {
+ XFREE (str);
+ }
+#endif
+ }
+}
+
+char *
+lt_extend_str (const char *orig_value, const char *add, int to_end)
+{
+ char *new_value;
+ if (orig_value && *orig_value)
+ {
+ int orig_value_len = strlen (orig_value);
+ int add_len = strlen (add);
+ new_value = XMALLOC (char, add_len + orig_value_len + 1);
+ if (to_end)
+ {
+ strcpy (new_value, orig_value);
+ strcpy (new_value + orig_value_len, add);
+ }
+ else
+ {
+ strcpy (new_value, add);
+ strcpy (new_value + add_len, orig_value);
+ }
+ }
+ else
+ {
+ new_value = xstrdup (add);
+ }
+ return new_value;
+}
+
+int
+lt_split_name_value (const char *arg, char** name, char** value)
+{
+ const char *p;
+ int len;
+ if (!arg || !*arg)
+ return 1;
+
+ p = strchr (arg, (int)'=');
+
+ if (!p)
+ return 1;
+
+ *value = xstrdup (++p);
+
+ len = strlen (arg) - strlen (*value);
+ *name = XMALLOC (char, len);
+ strncpy (*name, arg, len-1);
+ (*name)[len - 1] = '\0';
+
+ return 0;
+}
+
+void
+lt_opt_process_env_set (const char *arg)
+{
+ char *name = NULL;
+ char *value = NULL;
+
+ if (lt_split_name_value (arg, &name, &value) != 0)
+ {
+ XFREE (name);
+ XFREE (value);
+ lt_fatal ("bad argument for %s: '%s'", env_set_opt, arg);
+ }
+
+ lt_setenv (name, value);
+ XFREE (name);
+ XFREE (value);
+}
+
+void
+lt_opt_process_env_prepend (const char *arg)
+{
+ char *name = NULL;
+ char *value = NULL;
+ char *new_value = NULL;
+
+ if (lt_split_name_value (arg, &name, &value) != 0)
+ {
+ XFREE (name);
+ XFREE (value);
+ lt_fatal ("bad argument for %s: '%s'", env_prepend_opt, arg);
+ }
+
+ new_value = lt_extend_str (getenv (name), value, 0);
+ lt_setenv (name, new_value);
+ XFREE (new_value);
+ XFREE (name);
+ XFREE (value);
+}
+
+void
+lt_opt_process_env_append (const char *arg)
+{
+ char *name = NULL;
+ char *value = NULL;
+ char *new_value = NULL;
+
+ if (lt_split_name_value (arg, &name, &value) != 0)
+ {
+ XFREE (name);
+ XFREE (value);
+ lt_fatal ("bad argument for %s: '%s'", env_append_opt, arg);
+ }
+
+ new_value = lt_extend_str (getenv (name), value, 1);
+ lt_setenv (name, new_value);
+ XFREE (new_value);
+ XFREE (name);
+ XFREE (value);
+}
+
+void
+lt_update_exe_path (const char *name, const char *value)
+{
+ LTWRAPPER_DEBUGPRINTF (("(lt_update_exe_path) modifying '%s' by prepending '%s'\n",
+ (name ? name : "<NULL>"),
+ (value ? value : "<NULL>")));
+
+ if (name && *name && value && *value)
+ {
+ char *new_value = lt_extend_str (getenv (name), value, 0);
+ /* some systems can't cope with a ':'-terminated path #' */
+ int len = strlen (new_value);
+ while (((len = strlen (new_value)) > 0) && IS_PATH_SEPARATOR (new_value[len-1]))
+ {
+ new_value[len-1] = '\0';
+ }
+ lt_setenv (name, new_value);
+ XFREE (new_value);
+ }
+}
+
+void
+lt_update_lib_path (const char *name, const char *value)
+{
+ LTWRAPPER_DEBUGPRINTF (("(lt_update_lib_path) modifying '%s' by prepending '%s'\n",
+ (name ? name : "<NULL>"),
+ (value ? value : "<NULL>")));
+
+ if (name && *name && value && *value)
+ {
+ char *new_value = lt_extend_str (getenv (name), value, 0);
+ lt_setenv (name, new_value);
+ XFREE (new_value);
+ }
+}
+
+
+EOF
+}
+# end: func_emit_cwrapperexe_src
+
+# func_mode_link arg...
+func_mode_link ()
+{
+ $opt_debug
+ case $host in
+ *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*)
+ # It is impossible to link a dll without this setting, and
+ # we shouldn't force the makefile maintainer to figure out
+ # which system we are compiling for in order to pass an extra
+ # flag for every libtool invocation.
+ # allow_undefined=no
+
+ # FIXME: Unfortunately, there are problems with the above when trying
+ # to make a dll which has undefined symbols, in which case not
+ # even a static library is built. For now, we need to specify
+ # -no-undefined on the libtool link line when we can be certain
+ # that all symbols are satisfied, otherwise we get a static library.
+ allow_undefined=yes
+ ;;
+ *)
+ allow_undefined=yes
+ ;;
+ esac
+ libtool_args=$nonopt
+ base_compile="$nonopt $@"
+ compile_command=$nonopt
+ finalize_command=$nonopt
+
+ compile_rpath=
+ finalize_rpath=
+ compile_shlibpath=
+ finalize_shlibpath=
+ convenience=
+ old_convenience=
+ deplibs=
+ old_deplibs=
+ compiler_flags=
+ linker_flags=
+ dllsearchpath=
+ lib_search_path=`pwd`
+ inst_prefix_dir=
+ new_inherited_linker_flags=
+
+ avoid_version=no
+ dlfiles=
+ dlprefiles=
+ dlself=no
+ export_dynamic=no
+ export_symbols=
+ export_symbols_regex=
+ generated=
+ libobjs=
+ ltlibs=
+ module=no
+ no_install=no
+ objs=
+ non_pic_objects=
+ precious_files_regex=
+ prefer_static_libs=no
+ preload=no
+ prev=
+ prevarg=
+ release=
+ rpath=
+ xrpath=
+ perm_rpath=
+ temp_rpath=
+ thread_safe=no
+ vinfo=
+ vinfo_number=no
+ weak_libs=
+ single_module="${wl}-single_module"
+ func_infer_tag $base_compile
+
+ # We need to know -static, to get the right output filenames.
+ for arg
+ do
+ case $arg in
+ -shared)
+ test "$build_libtool_libs" != yes && \
+ func_fatal_configuration "can not build a shared library"
+ build_old_libs=no
+ break
+ ;;
+ -all-static | -static | -static-libtool-libs)
+ case $arg in
+ -all-static)
+ if test "$build_libtool_libs" = yes && test -z "$link_static_flag"; then
+ func_warning "complete static linking is impossible in this configuration"
+ fi
+ if test -n "$link_static_flag"; then
+ dlopen_self=$dlopen_self_static
+ fi
+ prefer_static_libs=yes
+ ;;
+ -static)
+ if test -z "$pic_flag" && test -n "$link_static_flag"; then
+ dlopen_self=$dlopen_self_static
+ fi
+ prefer_static_libs=built
+ ;;
+ -static-libtool-libs)
+ if test -z "$pic_flag" && test -n "$link_static_flag"; then
+ dlopen_self=$dlopen_self_static
+ fi
+ prefer_static_libs=yes
+ ;;
+ esac
+ build_libtool_libs=no
+ build_old_libs=yes
+ break
+ ;;
+ esac
+ done
+
+ # See if our shared archives depend on static archives.
+ test -n "$old_archive_from_new_cmds" && build_old_libs=yes
+
+ # Go through the arguments, transforming them on the way.
+ while test "$#" -gt 0; do
+ arg="$1"
+ shift
+ func_quote_for_eval "$arg"
+ qarg=$func_quote_for_eval_unquoted_result
+ func_append libtool_args " $func_quote_for_eval_result"
+
+ # If the previous option needs an argument, assign it.
+ if test -n "$prev"; then
+ case $prev in
+ output)
+ func_append compile_command " @OUTPUT@"
+ func_append finalize_command " @OUTPUT@"
+ ;;
+ esac
+
+ case $prev in
+ dlfiles|dlprefiles)
+ if test "$preload" = no; then
+ # Add the symbol object into the linking commands.
+ func_append compile_command " @SYMFILE@"
+ func_append finalize_command " @SYMFILE@"
+ preload=yes
+ fi
+ case $arg in
+ *.la | *.lo) ;; # We handle these cases below.
+ force)
+ if test "$dlself" = no; then
+ dlself=needless
+ export_dynamic=yes
+ fi
+ prev=
+ continue
+ ;;
+ self)
+ if test "$prev" = dlprefiles; then
+ dlself=yes
+ elif test "$prev" = dlfiles && test "$dlopen_self" != yes; then
+ dlself=yes
+ else
+ dlself=needless
+ export_dynamic=yes
+ fi
+ prev=
+ continue
+ ;;
+ *)
+ if test "$prev" = dlfiles; then
+ dlfiles="$dlfiles $arg"
+ else
+ dlprefiles="$dlprefiles $arg"
+ fi
+ prev=
+ continue
+ ;;
+ esac
+ ;;
+ expsyms)
+ export_symbols="$arg"
+ test -f "$arg" \
+ || func_fatal_error "symbol file \`$arg' does not exist"
+ prev=
+ continue
+ ;;
+ expsyms_regex)
+ export_symbols_regex="$arg"
+ prev=
+ continue
+ ;;
+ framework)
+ case $host in
+ *-*-darwin*)
+ case "$deplibs " in
+ *" $qarg.ltframework "*) ;;
+ *) deplibs="$deplibs $qarg.ltframework" # this is fixed later
+ ;;
+ esac
+ ;;
+ esac
+ prev=
+ continue
+ ;;
+ inst_prefix)
+ inst_prefix_dir="$arg"
+ prev=
+ continue
+ ;;
+ objectlist)
+ if test -f "$arg"; then
+ save_arg=$arg
+ moreargs=
+ for fil in `cat "$save_arg"`
+ do
+# moreargs="$moreargs $fil"
+ arg=$fil
+ # A libtool-controlled object.
+
+ # Check to see that this really is a libtool object.
+ if func_lalib_unsafe_p "$arg"; then
+ pic_object=
+ non_pic_object=
+
+ # Read the .lo file
+ func_source "$arg"
+
+ if test -z "$pic_object" ||
+ test -z "$non_pic_object" ||
+ test "$pic_object" = none &&
+ test "$non_pic_object" = none; then
+ func_fatal_error "cannot find name of object for \`$arg'"
+ fi
+
+ # Extract subdirectory from the argument.
+ func_dirname "$arg" "/" ""
+ xdir="$func_dirname_result"
+
+ if test "$pic_object" != none; then
+ # Prepend the subdirectory the object is found in.
+ pic_object="$xdir$pic_object"
+
+ if test "$prev" = dlfiles; then
+ if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then
+ dlfiles="$dlfiles $pic_object"
+ prev=
+ continue
+ else
+ # If libtool objects are unsupported, then we need to preload.
+ prev=dlprefiles
+ fi
+ fi
+
+ # CHECK ME: I think I busted this. -Ossama
+ if test "$prev" = dlprefiles; then
+ # Preload the old-style object.
+ dlprefiles="$dlprefiles $pic_object"
+ prev=
+ fi
+
+ # A PIC object.
+ func_append libobjs " $pic_object"
+ arg="$pic_object"
+ fi
+
+ # Non-PIC object.
+ if test "$non_pic_object" != none; then
+ # Prepend the subdirectory the object is found in.
+ non_pic_object="$xdir$non_pic_object"
+
+ # A standard non-PIC object
+ func_append non_pic_objects " $non_pic_object"
+ if test -z "$pic_object" || test "$pic_object" = none ; then
+ arg="$non_pic_object"
+ fi
+ else
+ # If the PIC object exists, use it instead.
+ # $xdir was prepended to $pic_object above.
+ non_pic_object="$pic_object"
+ func_append non_pic_objects " $non_pic_object"
+ fi
+ else
+ # Only an error if not doing a dry-run.
+ if $opt_dry_run; then
+ # Extract subdirectory from the argument.
+ func_dirname "$arg" "/" ""
+ xdir="$func_dirname_result"
+
+ func_lo2o "$arg"
+ pic_object=$xdir$objdir/$func_lo2o_result
+ non_pic_object=$xdir$func_lo2o_result
+ func_append libobjs " $pic_object"
+ func_append non_pic_objects " $non_pic_object"
+ else
+ func_fatal_error "\`$arg' is not a valid libtool object"
+ fi
+ fi
+ done
+ else
+ func_fatal_error "link input file \`$arg' does not exist"
+ fi
+ arg=$save_arg
+ prev=
+ continue
+ ;;
+ precious_regex)
+ precious_files_regex="$arg"
+ prev=
+ continue
+ ;;
+ release)
+ release="-$arg"
+ prev=
+ continue
+ ;;
+ rpath | xrpath)
+ # We need an absolute path.
+ case $arg in
+ [\\/]* | [A-Za-z]:[\\/]*) ;;
+ *)
+ func_fatal_error "only absolute run-paths are allowed"
+ ;;
+ esac
+ if test "$prev" = rpath; then
+ case "$rpath " in
+ *" $arg "*) ;;
+ *) rpath="$rpath $arg" ;;
+ esac
+ else
+ case "$xrpath " in
+ *" $arg "*) ;;
+ *) xrpath="$xrpath $arg" ;;
+ esac
+ fi
+ prev=
+ continue
+ ;;
+ shrext)
+ shrext_cmds="$arg"
+ prev=
+ continue
+ ;;
+ weak)
+ weak_libs="$weak_libs $arg"
+ prev=
+ continue
+ ;;
+ xcclinker)
+ linker_flags="$linker_flags $qarg"
+ compiler_flags="$compiler_flags $qarg"
+ prev=
+ func_append compile_command " $qarg"
+ func_append finalize_command " $qarg"
+ continue
+ ;;
+ xcompiler)
+ compiler_flags="$compiler_flags $qarg"
+ prev=
+ func_append compile_command " $qarg"
+ func_append finalize_command " $qarg"
+ continue
+ ;;
+ xlinker)
+ linker_flags="$linker_flags $qarg"
+ compiler_flags="$compiler_flags $wl$qarg"
+ prev=
+ func_append compile_command " $wl$qarg"
+ func_append finalize_command " $wl$qarg"
+ continue
+ ;;
+ *)
+ eval "$prev=\"\$arg\""
+ prev=
+ continue
+ ;;
+ esac
+ fi # test -n "$prev"
+
+ prevarg="$arg"
+
+ case $arg in
+ -all-static)
+ if test -n "$link_static_flag"; then
+ # See comment for -static flag below, for more details.
+ func_append compile_command " $link_static_flag"
+ func_append finalize_command " $link_static_flag"
+ fi
+ continue
+ ;;
+
+ -allow-undefined)
+ # FIXME: remove this flag sometime in the future.
+ func_fatal_error "\`-allow-undefined' must not be used because it is the default"
+ ;;
+
+ -avoid-version)
+ avoid_version=yes
+ continue
+ ;;
+
+ -dlopen)
+ prev=dlfiles
+ continue
+ ;;
+
+ -dlpreopen)
+ prev=dlprefiles
+ continue
+ ;;
+
+ -export-dynamic)
+ export_dynamic=yes
+ continue
+ ;;
+
+ -export-symbols | -export-symbols-regex)
+ if test -n "$export_symbols" || test -n "$export_symbols_regex"; then
+ func_fatal_error "more than one -exported-symbols argument is not allowed"
+ fi
+ if test "X$arg" = "X-export-symbols"; then
+ prev=expsyms
+ else
+ prev=expsyms_regex
+ fi
+ continue
+ ;;
+
+ -framework)
+ prev=framework
+ continue
+ ;;
+
+ -inst-prefix-dir)
+ prev=inst_prefix
+ continue
+ ;;
+
+ # The native IRIX linker understands -LANG:*, -LIST:* and -LNO:*
+ # so, if we see these flags be careful not to treat them like -L
+ -L[A-Z][A-Z]*:*)
+ case $with_gcc/$host in
+ no/*-*-irix* | /*-*-irix*)
+ func_append compile_command " $arg"
+ func_append finalize_command " $arg"
+ ;;
+ esac
+ continue
+ ;;
+
+ -L*)
+ func_stripname '-L' '' "$arg"
+ dir=$func_stripname_result
+ if test -z "$dir"; then
+ if test "$#" -gt 0; then
+ func_fatal_error "require no space between \`-L' and \`$1'"
+ else
+ func_fatal_error "need path for \`-L' option"
+ fi
+ fi
+ # We need an absolute path.
+ case $dir in
+ [\\/]* | [A-Za-z]:[\\/]*) ;;
+ *)
+ absdir=`cd "$dir" && pwd`
+ test -z "$absdir" && \
+ func_fatal_error "cannot determine absolute directory name of \`$dir'"
+ dir="$absdir"
+ ;;
+ esac
+ case "$deplibs " in
+ *" -L$dir "*) ;;
+ *)
+ deplibs="$deplibs -L$dir"
+ lib_search_path="$lib_search_path $dir"
+ ;;
+ esac
+ case $host in
+ *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*)
+ testbindir=`$ECHO "X$dir" | $Xsed -e 's*/lib$*/bin*'`
+ case :$dllsearchpath: in
+ *":$dir:"*) ;;
+ ::) dllsearchpath=$dir;;
+ *) dllsearchpath="$dllsearchpath:$dir";;
+ esac
+ case :$dllsearchpath: in
+ *":$testbindir:"*) ;;
+ ::) dllsearchpath=$testbindir;;
+ *) dllsearchpath="$dllsearchpath:$testbindir";;
+ esac
+ ;;
+ esac
+ continue
+ ;;
+
+ -l*)
+ if test "X$arg" = "X-lc" || test "X$arg" = "X-lm"; then
+ case $host in
+ *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-beos* | *-cegcc*)
+ # These systems don't actually have a C or math library (as such)
+ continue
+ ;;
+ *-*-os2*)
+ # These systems don't actually have a C library (as such)
+ test "X$arg" = "X-lc" && continue
+ ;;
+ *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*)
+ # Do not include libc due to us having libc/libc_r.
+ test "X$arg" = "X-lc" && continue
+ ;;
+ *-*-rhapsody* | *-*-darwin1.[012])
+ # Rhapsody C and math libraries are in the System framework
+ deplibs="$deplibs System.ltframework"
+ continue
+ ;;
+ *-*-sco3.2v5* | *-*-sco5v6*)
+ # Causes problems with __ctype
+ test "X$arg" = "X-lc" && continue
+ ;;
+ *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*)
+ # Compiler inserts libc in the correct place for threads to work
+ test "X$arg" = "X-lc" && continue
+ ;;
+ esac
+ elif test "X$arg" = "X-lc_r"; then
+ case $host in
+ *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*)
+ # Do not include libc_r directly, use -pthread flag.
+ continue
+ ;;
+ esac
+ fi
+ deplibs="$deplibs $arg"
+ continue
+ ;;
+
+ -module)
+ module=yes
+ continue
+ ;;
+
+ # Tru64 UNIX uses -model [arg] to determine the layout of C++
+ # classes, name mangling, and exception handling.
+ # Darwin uses the -arch flag to determine output architecture.
+ -model|-arch|-isysroot)
+ compiler_flags="$compiler_flags $arg"
+ func_append compile_command " $arg"
+ func_append finalize_command " $arg"
+ prev=xcompiler
+ continue
+ ;;
+
+ -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe|-threads)
+ compiler_flags="$compiler_flags $arg"
+ func_append compile_command " $arg"
+ func_append finalize_command " $arg"
+ case "$new_inherited_linker_flags " in
+ *" $arg "*) ;;
+ * ) new_inherited_linker_flags="$new_inherited_linker_flags $arg" ;;
+ esac
+ continue
+ ;;
+
+ -multi_module)
+ single_module="${wl}-multi_module"
+ continue
+ ;;
+
+ -no-fast-install)
+ fast_install=no
+ continue
+ ;;
+
+ -no-install)
+ case $host in
+ *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-darwin* | *-cegcc*)
+ # The PATH hackery in wrapper scripts is required on Windows
+ # and Darwin in order for the loader to find any dlls it needs.
+ func_warning "\`-no-install' is ignored for $host"
+ func_warning "assuming \`-no-fast-install' instead"
+ fast_install=no
+ ;;
+ *) no_install=yes ;;
+ esac
+ continue
+ ;;
+
+ -no-undefined)
+ allow_undefined=no
+ continue
+ ;;
+
+ -objectlist)
+ prev=objectlist
+ continue
+ ;;
+
+ -o) prev=output ;;
+
+ -precious-files-regex)
+ prev=precious_regex
+ continue
+ ;;
+
+ -release)
+ prev=release
+ continue
+ ;;
+
+ -rpath)
+ prev=rpath
+ continue
+ ;;
+
+ -R)
+ prev=xrpath
+ continue
+ ;;
+
+ -R*)
+ func_stripname '-R' '' "$arg"
+ dir=$func_stripname_result
+ # We need an absolute path.
+ case $dir in
+ [\\/]* | [A-Za-z]:[\\/]*) ;;
+ *)
+ func_fatal_error "only absolute run-paths are allowed"
+ ;;
+ esac
+ case "$xrpath " in
+ *" $dir "*) ;;
+ *) xrpath="$xrpath $dir" ;;
+ esac
+ continue
+ ;;
+
+ -shared)
+ # The effects of -shared are defined in a previous loop.
+ continue
+ ;;
+
+ -shrext)
+ prev=shrext
+ continue
+ ;;
+
+ -static | -static-libtool-libs)
+ # The effects of -static are defined in a previous loop.
+ # We used to do the same as -all-static on platforms that
+ # didn't have a PIC flag, but the assumption that the effects
+ # would be equivalent was wrong. It would break on at least
+ # Digital Unix and AIX.
+ continue
+ ;;
+
+ -thread-safe)
+ thread_safe=yes
+ continue
+ ;;
+
+ -version-info)
+ prev=vinfo
+ continue
+ ;;
+
+ -version-number)
+ prev=vinfo
+ vinfo_number=yes
+ continue
+ ;;
+
+ -weak)
+ prev=weak
+ continue
+ ;;
+
+ -Wc,*)
+ func_stripname '-Wc,' '' "$arg"
+ args=$func_stripname_result
+ arg=
+ save_ifs="$IFS"; IFS=','
+ for flag in $args; do
+ IFS="$save_ifs"
+ func_quote_for_eval "$flag"
+ arg="$arg $wl$func_quote_for_eval_result"
+ compiler_flags="$compiler_flags $func_quote_for_eval_result"
+ done
+ IFS="$save_ifs"
+ func_stripname ' ' '' "$arg"
+ arg=$func_stripname_result
+ ;;
+
+ -Wl,*)
+ func_stripname '-Wl,' '' "$arg"
+ args=$func_stripname_result
+ arg=
+ save_ifs="$IFS"; IFS=','
+ for flag in $args; do
+ IFS="$save_ifs"
+ func_quote_for_eval "$flag"
+ arg="$arg $wl$func_quote_for_eval_result"
+ compiler_flags="$compiler_flags $wl$func_quote_for_eval_result"
+ linker_flags="$linker_flags $func_quote_for_eval_result"
+ done
+ IFS="$save_ifs"
+ func_stripname ' ' '' "$arg"
+ arg=$func_stripname_result
+ ;;
+
+ -Xcompiler)
+ prev=xcompiler
+ continue
+ ;;
+
+ -Xlinker)
+ prev=xlinker
+ continue
+ ;;
+
+ -XCClinker)
+ prev=xcclinker
+ continue
+ ;;
+
+ # -msg_* for osf cc
+ -msg_*)
+ func_quote_for_eval "$arg"
+ arg="$func_quote_for_eval_result"
+ ;;
+
+ # -64, -mips[0-9] enable 64-bit mode on the SGI compiler
+ # -r[0-9][0-9]* specifies the processor on the SGI compiler
+ # -xarch=*, -xtarget=* enable 64-bit mode on the Sun compiler
+ # +DA*, +DD* enable 64-bit mode on the HP compiler
+ # -q* pass through compiler args for the IBM compiler
+ # -m*, -t[45]*, -txscale* pass through architecture-specific
+ # compiler args for GCC
+ # -F/path gives path to uninstalled frameworks, gcc on darwin
+ # -p, -pg, --coverage, -fprofile-* pass through profiling flag for GCC
+ # @file GCC response files
+ -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \
+ -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*)
+ func_quote_for_eval "$arg"
+ arg="$func_quote_for_eval_result"
+ func_append compile_command " $arg"
+ func_append finalize_command " $arg"
+ compiler_flags="$compiler_flags $arg"
+ continue
+ ;;
+
+ # Some other compiler flag.
+ -* | +*)
+ func_quote_for_eval "$arg"
+ arg="$func_quote_for_eval_result"
+ ;;
+
+ *.$objext)
+ # A standard object.
+ objs="$objs $arg"
+ ;;
+
+ *.lo)
+ # A libtool-controlled object.
+
+ # Check to see that this really is a libtool object.
+ if func_lalib_unsafe_p "$arg"; then
+ pic_object=
+ non_pic_object=
+
+ # Read the .lo file
+ func_source "$arg"
+
+ if test -z "$pic_object" ||
+ test -z "$non_pic_object" ||
+ test "$pic_object" = none &&
+ test "$non_pic_object" = none; then
+ func_fatal_error "cannot find name of object for \`$arg'"
+ fi
+
+ # Extract subdirectory from the argument.
+ func_dirname "$arg" "/" ""
+ xdir="$func_dirname_result"
+
+ if test "$pic_object" != none; then
+ # Prepend the subdirectory the object is found in.
+ pic_object="$xdir$pic_object"
+
+ if test "$prev" = dlfiles; then
+ if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then
+ dlfiles="$dlfiles $pic_object"
+ prev=
+ continue
+ else
+ # If libtool objects are unsupported, then we need to preload.
+ prev=dlprefiles
+ fi
+ fi
+
+ # CHECK ME: I think I busted this. -Ossama
+ if test "$prev" = dlprefiles; then
+ # Preload the old-style object.
+ dlprefiles="$dlprefiles $pic_object"
+ prev=
+ fi
+
+ # A PIC object.
+ func_append libobjs " $pic_object"
+ arg="$pic_object"
+ fi
+
+ # Non-PIC object.
+ if test "$non_pic_object" != none; then
+ # Prepend the subdirectory the object is found in.
+ non_pic_object="$xdir$non_pic_object"
+
+ # A standard non-PIC object
+ func_append non_pic_objects " $non_pic_object"
+ if test -z "$pic_object" || test "$pic_object" = none ; then
+ arg="$non_pic_object"
+ fi
+ else
+ # If the PIC object exists, use it instead.
+ # $xdir was prepended to $pic_object above.
+ non_pic_object="$pic_object"
+ func_append non_pic_objects " $non_pic_object"
+ fi
+ else
+ # Only an error if not doing a dry-run.
+ if $opt_dry_run; then
+ # Extract subdirectory from the argument.
+ func_dirname "$arg" "/" ""
+ xdir="$func_dirname_result"
+
+ func_lo2o "$arg"
+ pic_object=$xdir$objdir/$func_lo2o_result
+ non_pic_object=$xdir$func_lo2o_result
+ func_append libobjs " $pic_object"
+ func_append non_pic_objects " $non_pic_object"
+ else
+ func_fatal_error "\`$arg' is not a valid libtool object"
+ fi
+ fi
+ ;;
+
+ *.$libext)
+ # An archive.
+ deplibs="$deplibs $arg"
+ old_deplibs="$old_deplibs $arg"
+ continue
+ ;;
+
+ *.la)
+ # A libtool-controlled library.
+
+ if test "$prev" = dlfiles; then
+ # This library was specified with -dlopen.
+ dlfiles="$dlfiles $arg"
+ prev=
+ elif test "$prev" = dlprefiles; then
+ # The library was specified with -dlpreopen.
+ dlprefiles="$dlprefiles $arg"
+ prev=
+ else
+ deplibs="$deplibs $arg"
+ fi
+ continue
+ ;;
+
+ # Some other compiler argument.
+ *)
+ # Unknown arguments in both finalize_command and compile_command need
+ # to be aesthetically quoted because they are evaled later.
+ func_quote_for_eval "$arg"
+ arg="$func_quote_for_eval_result"
+ ;;
+ esac # arg
+
+ # Now actually substitute the argument into the commands.
+ if test -n "$arg"; then
+ func_append compile_command " $arg"
+ func_append finalize_command " $arg"
+ fi
+ done # argument parsing loop
+
+ test -n "$prev" && \
+ func_fatal_help "the \`$prevarg' option requires an argument"
+
+ if test "$export_dynamic" = yes && test -n "$export_dynamic_flag_spec"; then
+ eval arg=\"$export_dynamic_flag_spec\"
+ func_append compile_command " $arg"
+ func_append finalize_command " $arg"
+ fi
+
+ oldlibs=
+ # calculate the name of the file, without its directory
+ func_basename "$output"
+ outputname="$func_basename_result"
+ libobjs_save="$libobjs"
+
+ if test -n "$shlibpath_var"; then
+ # get the directories listed in $shlibpath_var
+ eval shlib_search_path=\`\$ECHO \"X\${$shlibpath_var}\" \| \$Xsed -e \'s/:/ /g\'\`
+ else
+ shlib_search_path=
+ fi
+ eval sys_lib_search_path=\"$sys_lib_search_path_spec\"
+ eval sys_lib_dlsearch_path=\"$sys_lib_dlsearch_path_spec\"
+
+ func_dirname "$output" "/" ""
+ output_objdir="$func_dirname_result$objdir"
+ # Create the object directory.
+ func_mkdir_p "$output_objdir"
+
+ # Determine the type of output
+ case $output in
+ "")
+ func_fatal_help "you must specify an output file"
+ ;;
+ *.$libext) linkmode=oldlib ;;
+ *.lo | *.$objext) linkmode=obj ;;
+ *.la) linkmode=lib ;;
+ *) linkmode=prog ;; # Anything else should be a program.
+ esac
+
+ specialdeplibs=
+
+ libs=
+ # Find all interdependent deplibs by searching for libraries
+ # that are linked more than once (e.g. -la -lb -la)
+ for deplib in $deplibs; do
+ if $opt_duplicate_deps ; then
+ case "$libs " in
+ *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
+ esac
+ fi
+ libs="$libs $deplib"
+ done
+
+ if test "$linkmode" = lib; then
+ libs="$predeps $libs $compiler_lib_search_path $postdeps"
+
+ # Compute libraries that are listed more than once in $predeps
+ # $postdeps and mark them as special (i.e., whose duplicates are
+ # not to be eliminated).
+ pre_post_deps=
+ if $opt_duplicate_compiler_generated_deps; then
+ for pre_post_dep in $predeps $postdeps; do
+ case "$pre_post_deps " in
+ *" $pre_post_dep "*) specialdeplibs="$specialdeplibs $pre_post_deps" ;;
+ esac
+ pre_post_deps="$pre_post_deps $pre_post_dep"
+ done
+ fi
+ pre_post_deps=
+ fi
+
+ deplibs=
+ newdependency_libs=
+ newlib_search_path=
+ need_relink=no # whether we're linking any uninstalled libtool libraries
+ notinst_deplibs= # not-installed libtool libraries
+ notinst_path= # paths that contain not-installed libtool libraries
+
+ case $linkmode in
+ lib)
+ passes="conv dlpreopen link"
+ for file in $dlfiles $dlprefiles; do
+ case $file in
+ *.la) ;;
+ *)
+ func_fatal_help "libraries can \`-dlopen' only libtool libraries: $file"
+ ;;
+ esac
+ done
+ ;;
+ prog)
+ compile_deplibs=
+ finalize_deplibs=
+ alldeplibs=no
+ newdlfiles=
+ newdlprefiles=
+ passes="conv scan dlopen dlpreopen link"
+ ;;
+ *) passes="conv"
+ ;;
+ esac
+
+ for pass in $passes; do
+ # The preopen pass in lib mode reverses $deplibs; put it back here
+ # so that -L comes before libs that need it for instance...
+ if test "$linkmode,$pass" = "lib,link"; then
+ ## FIXME: Find the place where the list is rebuilt in the wrong
+ ## order, and fix it there properly
+ tmp_deplibs=
+ for deplib in $deplibs; do
+ tmp_deplibs="$deplib $tmp_deplibs"
+ done
+ deplibs="$tmp_deplibs"
+ fi
+
+ if test "$linkmode,$pass" = "lib,link" ||
+ test "$linkmode,$pass" = "prog,scan"; then
+ libs="$deplibs"
+ deplibs=
+ fi
+ if test "$linkmode" = prog; then
+ case $pass in
+ dlopen) libs="$dlfiles" ;;
+ dlpreopen) libs="$dlprefiles" ;;
+ link)
+ libs="$deplibs %DEPLIBS%"
+ test "X$link_all_deplibs" != Xno && libs="$libs $dependency_libs"
+ ;;
+ esac
+ fi
+ if test "$linkmode,$pass" = "lib,dlpreopen"; then
+ # Collect and forward deplibs of preopened libtool libs
+ for lib in $dlprefiles; do
+ # Ignore non-libtool-libs
+ dependency_libs=
+ case $lib in
+ *.la) func_source "$lib" ;;
+ esac
+
+ # Collect preopened libtool deplibs, except any this library
+ # has declared as weak libs
+ for deplib in $dependency_libs; do
+ deplib_base=`$ECHO "X$deplib" | $Xsed -e "$basename"`
+ case " $weak_libs " in
+ *" $deplib_base "*) ;;
+ *) deplibs="$deplibs $deplib" ;;
+ esac
+ done
+ done
+ libs="$dlprefiles"
+ fi
+ if test "$pass" = dlopen; then
+ # Collect dlpreopened libraries
+ save_deplibs="$deplibs"
+ deplibs=
+ fi
+
+ for deplib in $libs; do
+ lib=
+ found=no
+ case $deplib in
+ -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe|-threads)
+ if test "$linkmode,$pass" = "prog,link"; then
+ compile_deplibs="$deplib $compile_deplibs"
+ finalize_deplibs="$deplib $finalize_deplibs"
+ else
+ compiler_flags="$compiler_flags $deplib"
+ if test "$linkmode" = lib ; then
+ case "$new_inherited_linker_flags " in
+ *" $deplib "*) ;;
+ * ) new_inherited_linker_flags="$new_inherited_linker_flags $deplib" ;;
+ esac
+ fi
+ fi
+ continue
+ ;;
+ -l*)
+ if test "$linkmode" != lib && test "$linkmode" != prog; then
+ func_warning "\`-l' is ignored for archives/objects"
+ continue
+ fi
+ func_stripname '-l' '' "$deplib"
+ name=$func_stripname_result
+ if test "$linkmode" = lib; then
+ searchdirs="$newlib_search_path $lib_search_path $compiler_lib_search_dirs $sys_lib_search_path $shlib_search_path"
+ else
+ searchdirs="$newlib_search_path $lib_search_path $sys_lib_search_path $shlib_search_path"
+ fi
+ for searchdir in $searchdirs; do
+ for search_ext in .la $std_shrext .so .a; do
+ # Search the libtool library
+ lib="$searchdir/lib${name}${search_ext}"
+ if test -f "$lib"; then
+ if test "$search_ext" = ".la"; then
+ found=yes
+ else
+ found=no
+ fi
+ break 2
+ fi
+ done
+ done
+ if test "$found" != yes; then
+ # deplib doesn't seem to be a libtool library
+ if test "$linkmode,$pass" = "prog,link"; then
+ compile_deplibs="$deplib $compile_deplibs"
+ finalize_deplibs="$deplib $finalize_deplibs"
+ else
+ deplibs="$deplib $deplibs"
+ test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs"
+ fi
+ continue
+ else # deplib is a libtool library
+ # If $allow_libtool_libs_with_static_runtimes && $deplib is a stdlib,
+ # We need to do some special things here, and not later.
+ if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
+ case " $predeps $postdeps " in
+ *" $deplib "*)
+ if func_lalib_p "$lib"; then
+ library_names=
+ old_library=
+ func_source "$lib"
+ for l in $old_library $library_names; do
+ ll="$l"
+ done
+ if test "X$ll" = "X$old_library" ; then # only static version available
+ found=no
+ func_dirname "$lib" "" "."
+ ladir="$func_dirname_result"
+ lib=$ladir/$old_library
+ if test "$linkmode,$pass" = "prog,link"; then
+ compile_deplibs="$deplib $compile_deplibs"
+ finalize_deplibs="$deplib $finalize_deplibs"
+ else
+ deplibs="$deplib $deplibs"
+ test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs"
+ fi
+ continue
+ fi
+ fi
+ ;;
+ *) ;;
+ esac
+ fi
+ fi
+ ;; # -l
+ *.ltframework)
+ if test "$linkmode,$pass" = "prog,link"; then
+ compile_deplibs="$deplib $compile_deplibs"
+ finalize_deplibs="$deplib $finalize_deplibs"
+ else
+ deplibs="$deplib $deplibs"
+ if test "$linkmode" = lib ; then
+ case "$new_inherited_linker_flags " in
+ *" $deplib "*) ;;
+ * ) new_inherited_linker_flags="$new_inherited_linker_flags $deplib" ;;
+ esac
+ fi
+ fi
+ continue
+ ;;
+ -L*)
+ case $linkmode in
+ lib)
+ deplibs="$deplib $deplibs"
+ test "$pass" = conv && continue
+ newdependency_libs="$deplib $newdependency_libs"
+ func_stripname '-L' '' "$deplib"
+ newlib_search_path="$newlib_search_path $func_stripname_result"
+ ;;
+ prog)
+ if test "$pass" = conv; then
+ deplibs="$deplib $deplibs"
+ continue
+ fi
+ if test "$pass" = scan; then
+ deplibs="$deplib $deplibs"
+ else
+ compile_deplibs="$deplib $compile_deplibs"
+ finalize_deplibs="$deplib $finalize_deplibs"
+ fi
+ func_stripname '-L' '' "$deplib"
+ newlib_search_path="$newlib_search_path $func_stripname_result"
+ ;;
+ *)
+ func_warning "\`-L' is ignored for archives/objects"
+ ;;
+ esac # linkmode
+ continue
+ ;; # -L
+ -R*)
+ if test "$pass" = link; then
+ func_stripname '-R' '' "$deplib"
+ dir=$func_stripname_result
+ # Make sure the xrpath contains only unique directories.
+ case "$xrpath " in
+ *" $dir "*) ;;
+ *) xrpath="$xrpath $dir" ;;
+ esac
+ fi
+ deplibs="$deplib $deplibs"
+ continue
+ ;;
+ *.la) lib="$deplib" ;;
+ *.$libext)
+ if test "$pass" = conv; then
+ deplibs="$deplib $deplibs"
+ continue
+ fi
+ case $linkmode in
+ lib)
+ # Linking convenience modules into shared libraries is allowed,
+ # but linking other static libraries is non-portable.
+ case " $dlpreconveniencelibs " in
+ *" $deplib "*) ;;
+ *)
+ valid_a_lib=no
+ case $deplibs_check_method in
+ match_pattern*)
+ set dummy $deplibs_check_method; shift
+ match_pattern_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"`
+ if eval "\$ECHO \"X$deplib\"" 2>/dev/null | $Xsed -e 10q \
+ | $EGREP "$match_pattern_regex" > /dev/null; then
+ valid_a_lib=yes
+ fi
+ ;;
+ pass_all)
+ valid_a_lib=yes
+ ;;
+ esac
+ if test "$valid_a_lib" != yes; then
+ $ECHO
+ $ECHO "*** Warning: Trying to link with static lib archive $deplib."
+ $ECHO "*** I have the capability to make that library automatically link in when"
+ $ECHO "*** you link to this library. But I can only do this if you have a"
+ $ECHO "*** shared version of the library, which you do not appear to have"
+ $ECHO "*** because the file extensions .$libext of this argument makes me believe"
+ $ECHO "*** that it is just a static archive that I should not use here."
+ else
+ $ECHO
+ $ECHO "*** Warning: Linking the shared library $output against the"
+ $ECHO "*** static library $deplib is not portable!"
+ deplibs="$deplib $deplibs"
+ fi
+ ;;
+ esac
+ continue
+ ;;
+ prog)
+ if test "$pass" != link; then
+ deplibs="$deplib $deplibs"
+ else
+ compile_deplibs="$deplib $compile_deplibs"
+ finalize_deplibs="$deplib $finalize_deplibs"
+ fi
+ continue
+ ;;
+ esac # linkmode
+ ;; # *.$libext
+ *.lo | *.$objext)
+ if test "$pass" = conv; then
+ deplibs="$deplib $deplibs"
+ elif test "$linkmode" = prog; then
+ if test "$pass" = dlpreopen || test "$dlopen_support" != yes || test "$build_libtool_libs" = no; then
+ # If there is no dlopen support or we're linking statically,
+ # we need to preload.
+ newdlprefiles="$newdlprefiles $deplib"
+ compile_deplibs="$deplib $compile_deplibs"
+ finalize_deplibs="$deplib $finalize_deplibs"
+ else
+ newdlfiles="$newdlfiles $deplib"
+ fi
+ fi
+ continue
+ ;;
+ %DEPLIBS%)
+ alldeplibs=yes
+ continue
+ ;;
+ esac # case $deplib
+
+ if test "$found" = yes || test -f "$lib"; then :
+ else
+ func_fatal_error "cannot find the library \`$lib' or unhandled argument \`$deplib'"
+ fi
+
+ # Check to see that this really is a libtool archive.
+ func_lalib_unsafe_p "$lib" \
+ || func_fatal_error "\`$lib' is not a valid libtool archive"
+
+ func_dirname "$lib" "" "."
+ ladir="$func_dirname_result"
+
+ dlname=
+ dlopen=
+ dlpreopen=
+ libdir=
+ library_names=
+ old_library=
+ inherited_linker_flags=
+ # If the library was installed with an old release of libtool,
+ # it will not redefine variables installed, or shouldnotlink
+ installed=yes
+ shouldnotlink=no
+ avoidtemprpath=
+
+
+ # Read the .la file
+ func_source "$lib"
+
+ # Convert "-framework foo" to "foo.ltframework"
+ if test -n "$inherited_linker_flags"; then
+ tmp_inherited_linker_flags=`$ECHO "X$inherited_linker_flags" | $Xsed -e 's/-framework \([^ $]*\)/\1.ltframework/g'`
+ for tmp_inherited_linker_flag in $tmp_inherited_linker_flags; do
+ case " $new_inherited_linker_flags " in
+ *" $tmp_inherited_linker_flag "*) ;;
+ *) new_inherited_linker_flags="$new_inherited_linker_flags $tmp_inherited_linker_flag";;
+ esac
+ done
+ fi
+ dependency_libs=`$ECHO "X $dependency_libs" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'`
+ if test "$linkmode,$pass" = "lib,link" ||
+ test "$linkmode,$pass" = "prog,scan" ||
+ { test "$linkmode" != prog && test "$linkmode" != lib; }; then
+ test -n "$dlopen" && dlfiles="$dlfiles $dlopen"
+ test -n "$dlpreopen" && dlprefiles="$dlprefiles $dlpreopen"
+ fi
+
+ if test "$pass" = conv; then
+ # Only check for convenience libraries
+ deplibs="$lib $deplibs"
+ if test -z "$libdir"; then
+ if test -z "$old_library"; then
+ func_fatal_error "cannot find name of link library for \`$lib'"
+ fi
+ # It is a libtool convenience library, so add in its objects.
+ convenience="$convenience $ladir/$objdir/$old_library"
+ old_convenience="$old_convenience $ladir/$objdir/$old_library"
+ tmp_libs=
+ for deplib in $dependency_libs; do
+ deplibs="$deplib $deplibs"
+ if $opt_duplicate_deps ; then
+ case "$tmp_libs " in
+ *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
+ esac
+ fi
+ tmp_libs="$tmp_libs $deplib"
+ done
+ elif test "$linkmode" != prog && test "$linkmode" != lib; then
+ func_fatal_error "\`$lib' is not a convenience library"
+ fi
+ continue
+ fi # $pass = conv
+
+
+ # Get the name of the library we link against.
+ linklib=
+ for l in $old_library $library_names; do
+ linklib="$l"
+ done
+ if test -z "$linklib"; then
+ func_fatal_error "cannot find name of link library for \`$lib'"
+ fi
+
+ # This library was specified with -dlopen.
+ if test "$pass" = dlopen; then
+ if test -z "$libdir"; then
+ func_fatal_error "cannot -dlopen a convenience library: \`$lib'"
+ fi
+ if test -z "$dlname" ||
+ test "$dlopen_support" != yes ||
+ test "$build_libtool_libs" = no; then
+ # If there is no dlname, no dlopen support or we're linking
+ # statically, we need to preload. We also need to preload any
+ # dependent libraries so libltdl's deplib preloader doesn't
+ # bomb out in the load deplibs phase.
+ dlprefiles="$dlprefiles $lib $dependency_libs"
+ else
+ newdlfiles="$newdlfiles $lib"
+ fi
+ continue
+ fi # $pass = dlopen
+
+ # We need an absolute path.
+ case $ladir in
+ [\\/]* | [A-Za-z]:[\\/]*) abs_ladir="$ladir" ;;
+ *)
+ abs_ladir=`cd "$ladir" && pwd`
+ if test -z "$abs_ladir"; then
+ func_warning "cannot determine absolute directory name of \`$ladir'"
+ func_warning "passing it literally to the linker, although it might fail"
+ abs_ladir="$ladir"
+ fi
+ ;;
+ esac
+ func_basename "$lib"
+ laname="$func_basename_result"
+
+ # Find the relevant object directory and library name.
+ if test "X$installed" = Xyes; then
+ if test ! -f "$libdir/$linklib" && test -f "$abs_ladir/$linklib"; then
+ func_warning "library \`$lib' was moved."
+ dir="$ladir"
+ absdir="$abs_ladir"
+ libdir="$abs_ladir"
+ else
+ dir="$libdir"
+ absdir="$libdir"
+ fi
+ test "X$hardcode_automatic" = Xyes && avoidtemprpath=yes
+ else
+ if test ! -f "$ladir/$objdir/$linklib" && test -f "$abs_ladir/$linklib"; then
+ dir="$ladir"
+ absdir="$abs_ladir"
+ # Remove this search path later
+ notinst_path="$notinst_path $abs_ladir"
+ else
+ dir="$ladir/$objdir"
+ absdir="$abs_ladir/$objdir"
+ # Remove this search path later
+ notinst_path="$notinst_path $abs_ladir"
+ fi
+ fi # $installed = yes
+ func_stripname 'lib' '.la' "$laname"
+ name=$func_stripname_result
+
+ # This library was specified with -dlpreopen.
+ if test "$pass" = dlpreopen; then
+ if test -z "$libdir" && test "$linkmode" = prog; then
+ func_fatal_error "only libraries may -dlpreopen a convenience library: \`$lib'"
+ fi
+ # Prefer using a static library (so that no silly _DYNAMIC symbols
+ # are required to link).
+ if test -n "$old_library"; then
+ newdlprefiles="$newdlprefiles $dir/$old_library"
+ # Keep a list of preopened convenience libraries to check
+ # that they are being used correctly in the link pass.
+ test -z "$libdir" && \
+ dlpreconveniencelibs="$dlpreconveniencelibs $dir/$old_library"
+ # Otherwise, use the dlname, so that lt_dlopen finds it.
+ elif test -n "$dlname"; then
+ newdlprefiles="$newdlprefiles $dir/$dlname"
+ else
+ newdlprefiles="$newdlprefiles $dir/$linklib"
+ fi
+ fi # $pass = dlpreopen
+
+ if test -z "$libdir"; then
+ # Link the convenience library
+ if test "$linkmode" = lib; then
+ deplibs="$dir/$old_library $deplibs"
+ elif test "$linkmode,$pass" = "prog,link"; then
+ compile_deplibs="$dir/$old_library $compile_deplibs"
+ finalize_deplibs="$dir/$old_library $finalize_deplibs"
+ else
+ deplibs="$lib $deplibs" # used for prog,scan pass
+ fi
+ continue
+ fi
+
+
+ if test "$linkmode" = prog && test "$pass" != link; then
+ newlib_search_path="$newlib_search_path $ladir"
+ deplibs="$lib $deplibs"
+
+ linkalldeplibs=no
+ if test "$link_all_deplibs" != no || test -z "$library_names" ||
+ test "$build_libtool_libs" = no; then
+ linkalldeplibs=yes
+ fi
+
+ tmp_libs=
+ for deplib in $dependency_libs; do
+ case $deplib in
+ -L*) func_stripname '-L' '' "$deplib"
+ newlib_search_path="$newlib_search_path $func_stripname_result"
+ ;;
+ esac
+ # Need to link against all dependency_libs?
+ if test "$linkalldeplibs" = yes; then
+ deplibs="$deplib $deplibs"
+ else
+ # Need to hardcode shared library paths
+ # or/and link against static libraries
+ newdependency_libs="$deplib $newdependency_libs"
+ fi
+ if $opt_duplicate_deps ; then
+ case "$tmp_libs " in
+ *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
+ esac
+ fi
+ tmp_libs="$tmp_libs $deplib"
+ done # for deplib
+ continue
+ fi # $linkmode = prog...
+
+ if test "$linkmode,$pass" = "prog,link"; then
+ if test -n "$library_names" &&
+ { { test "$prefer_static_libs" = no ||
+ test "$prefer_static_libs,$installed" = "built,yes"; } ||
+ test -z "$old_library"; }; then
+ # We need to hardcode the library path
+ if test -n "$shlibpath_var" && test -z "$avoidtemprpath" ; then
+ # Make sure the rpath contains only unique directories.
+ case "$temp_rpath:" in
+ *"$absdir:"*) ;;
+ *) temp_rpath="$temp_rpath$absdir:" ;;
+ esac
+ fi
+
+ # Hardcode the library path.
+ # Skip directories that are in the system default run-time
+ # search path.
+ case " $sys_lib_dlsearch_path " in
+ *" $absdir "*) ;;
+ *)
+ case "$compile_rpath " in
+ *" $absdir "*) ;;
+ *) compile_rpath="$compile_rpath $absdir"
+ esac
+ ;;
+ esac
+ case " $sys_lib_dlsearch_path " in
+ *" $libdir "*) ;;
+ *)
+ case "$finalize_rpath " in
+ *" $libdir "*) ;;
+ *) finalize_rpath="$finalize_rpath $libdir"
+ esac
+ ;;
+ esac
+ fi # $linkmode,$pass = prog,link...
+
+ if test "$alldeplibs" = yes &&
+ { test "$deplibs_check_method" = pass_all ||
+ { test "$build_libtool_libs" = yes &&
+ test -n "$library_names"; }; }; then
+ # We only need to search for static libraries
+ continue
+ fi
+ fi
+
+ link_static=no # Whether the deplib will be linked statically
+ use_static_libs=$prefer_static_libs
+ if test "$use_static_libs" = built && test "$installed" = yes; then
+ use_static_libs=no
+ fi
+ if test -n "$library_names" &&
+ { test "$use_static_libs" = no || test -z "$old_library"; }; then
+ case $host in
+ *cygwin* | *mingw* | *cegcc*)
+ # No point in relinking DLLs because paths are not encoded
+ notinst_deplibs="$notinst_deplibs $lib"
+ need_relink=no
+ ;;
+ *)
+ if test "$installed" = no; then
+ notinst_deplibs="$notinst_deplibs $lib"
+ need_relink=yes
+ fi
+ ;;
+ esac
+ # This is a shared library
+
+ # Warn about portability, can't link against -module's on some
+ # systems (darwin). Don't bleat about dlopened modules though!
+ dlopenmodule=""
+ for dlpremoduletest in $dlprefiles; do
+ if test "X$dlpremoduletest" = "X$lib"; then
+ dlopenmodule="$dlpremoduletest"
+ break
+ fi
+ done
+ if test -z "$dlopenmodule" && test "$shouldnotlink" = yes && test "$pass" = link; then
+ $ECHO
+ if test "$linkmode" = prog; then
+ $ECHO "*** Warning: Linking the executable $output against the loadable module"
+ else
+ $ECHO "*** Warning: Linking the shared library $output against the loadable module"
+ fi
+ $ECHO "*** $linklib is not portable!"
+ fi
+ if test "$linkmode" = lib &&
+ test "$hardcode_into_libs" = yes; then
+ # Hardcode the library path.
+ # Skip directories that are in the system default run-time
+ # search path.
+ case " $sys_lib_dlsearch_path " in
+ *" $absdir "*) ;;
+ *)
+ case "$compile_rpath " in
+ *" $absdir "*) ;;
+ *) compile_rpath="$compile_rpath $absdir"
+ esac
+ ;;
+ esac
+ case " $sys_lib_dlsearch_path " in
+ *" $libdir "*) ;;
+ *)
+ case "$finalize_rpath " in
+ *" $libdir "*) ;;
+ *) finalize_rpath="$finalize_rpath $libdir"
+ esac
+ ;;
+ esac
+ fi
+
+ if test -n "$old_archive_from_expsyms_cmds"; then
+ # figure out the soname
+ set dummy $library_names
+ shift
+ realname="$1"
+ shift
+ libname=`eval "\\$ECHO \"$libname_spec\""`
+ # use dlname if we got it. it's perfectly good, no?
+ if test -n "$dlname"; then
+ soname="$dlname"
+ elif test -n "$soname_spec"; then
+ # bleh windows
+ case $host in
+ *cygwin* | mingw* | *cegcc*)
+ func_arith $current - $age
+ major=$func_arith_result
+ versuffix="-$major"
+ ;;
+ esac
+ eval soname=\"$soname_spec\"
+ else
+ soname="$realname"
+ fi
+
+ # Make a new name for the extract_expsyms_cmds to use
+ soroot="$soname"
+ func_basename "$soroot"
+ soname="$func_basename_result"
+ func_stripname 'lib' '.dll' "$soname"
+ newlib=libimp-$func_stripname_result.a
+
+ # If the library has no export list, then create one now
+ if test -f "$output_objdir/$soname-def"; then :
+ else
+ func_verbose "extracting exported symbol list from \`$soname'"
+ func_execute_cmds "$extract_expsyms_cmds" 'exit $?'
+ fi
+
+ # Create $newlib
+ if test -f "$output_objdir/$newlib"; then :; else
+ func_verbose "generating import library for \`$soname'"
+ func_execute_cmds "$old_archive_from_expsyms_cmds" 'exit $?'
+ fi
+ # make sure the library variables are pointing to the new library
+ dir=$output_objdir
+ linklib=$newlib
+ fi # test -n "$old_archive_from_expsyms_cmds"
+
+ if test "$linkmode" = prog || test "$mode" != relink; then
+ add_shlibpath=
+ add_dir=
+ add=
+ lib_linked=yes
+ case $hardcode_action in
+ immediate | unsupported)
+ if test "$hardcode_direct" = no; then
+ add="$dir/$linklib"
+ case $host in
+ *-*-sco3.2v5.0.[024]*) add_dir="-L$dir" ;;
+ *-*-sysv4*uw2*) add_dir="-L$dir" ;;
+ *-*-sysv5OpenUNIX* | *-*-sysv5UnixWare7.[01].[10]* | \
+ *-*-unixware7*) add_dir="-L$dir" ;;
+ *-*-darwin* )
+ # if the lib is a (non-dlopened) module then we can not
+ # link against it, someone is ignoring the earlier warnings
+ if /usr/bin/file -L $add 2> /dev/null |
+ $GREP ": [^:]* bundle" >/dev/null ; then
+ if test "X$dlopenmodule" != "X$lib"; then
+ $ECHO "*** Warning: lib $linklib is a module, not a shared library"
+ if test -z "$old_library" ; then
+ $ECHO
+ $ECHO "*** And there doesn't seem to be a static archive available"
+ $ECHO "*** The link will probably fail, sorry"
+ else
+ add="$dir/$old_library"
+ fi
+ elif test -n "$old_library"; then
+ add="$dir/$old_library"
+ fi
+ fi
+ esac
+ elif test "$hardcode_minus_L" = no; then
+ case $host in
+ *-*-sunos*) add_shlibpath="$dir" ;;
+ esac
+ add_dir="-L$dir"
+ add="-l$name"
+ elif test "$hardcode_shlibpath_var" = no; then
+ add_shlibpath="$dir"
+ add="-l$name"
+ else
+ lib_linked=no
+ fi
+ ;;
+ relink)
+ if test "$hardcode_direct" = yes &&
+ test "$hardcode_direct_absolute" = no; then
+ add="$dir/$linklib"
+ elif test "$hardcode_minus_L" = yes; then
+ add_dir="-L$dir"
+ # Try looking first in the location we're being installed to.
+ if test -n "$inst_prefix_dir"; then
+ case $libdir in
+ [\\/]*)
+ add_dir="$add_dir -L$inst_prefix_dir$libdir"
+ ;;
+ esac
+ fi
+ add="-l$name"
+ elif test "$hardcode_shlibpath_var" = yes; then
+ add_shlibpath="$dir"
+ add="-l$name"
+ else
+ lib_linked=no
+ fi
+ ;;
+ *) lib_linked=no ;;
+ esac
+
+ if test "$lib_linked" != yes; then
+ func_fatal_configuration "unsupported hardcode properties"
+ fi
+
+ if test -n "$add_shlibpath"; then
+ case :$compile_shlibpath: in
+ *":$add_shlibpath:"*) ;;
+ *) compile_shlibpath="$compile_shlibpath$add_shlibpath:" ;;
+ esac
+ fi
+ if test "$linkmode" = prog; then
+ test -n "$add_dir" && compile_deplibs="$add_dir $compile_deplibs"
+ test -n "$add" && compile_deplibs="$add $compile_deplibs"
+ else
+ test -n "$add_dir" && deplibs="$add_dir $deplibs"
+ test -n "$add" && deplibs="$add $deplibs"
+ if test "$hardcode_direct" != yes &&
+ test "$hardcode_minus_L" != yes &&
+ test "$hardcode_shlibpath_var" = yes; then
+ case :$finalize_shlibpath: in
+ *":$libdir:"*) ;;
+ *) finalize_shlibpath="$finalize_shlibpath$libdir:" ;;
+ esac
+ fi
+ fi
+ fi
+
+ if test "$linkmode" = prog || test "$mode" = relink; then
+ add_shlibpath=
+ add_dir=
+ add=
+ # Finalize command for both is simple: just hardcode it.
+ if test "$hardcode_direct" = yes &&
+ test "$hardcode_direct_absolute" = no; then
+ add="$libdir/$linklib"
+ elif test "$hardcode_minus_L" = yes; then
+ add_dir="-L$libdir"
+ add="-l$name"
+ elif test "$hardcode_shlibpath_var" = yes; then
+ case :$finalize_shlibpath: in
+ *":$libdir:"*) ;;
+ *) finalize_shlibpath="$finalize_shlibpath$libdir:" ;;
+ esac
+ add="-l$name"
+ elif test "$hardcode_automatic" = yes; then
+ if test -n "$inst_prefix_dir" &&
+ test -f "$inst_prefix_dir$libdir/$linklib" ; then
+ add="$inst_prefix_dir$libdir/$linklib"
+ else
+ add="$libdir/$linklib"
+ fi
+ else
+ # We cannot seem to hardcode it, guess we'll fake it.
+ add_dir="-L$libdir"
+ # Try looking first in the location we're being installed to.
+ if test -n "$inst_prefix_dir"; then
+ case $libdir in
+ [\\/]*)
+ add_dir="$add_dir -L$inst_prefix_dir$libdir"
+ ;;
+ esac
+ fi
+ add="-l$name"
+ fi
+
+ if test "$linkmode" = prog; then
+ test -n "$add_dir" && finalize_deplibs="$add_dir $finalize_deplibs"
+ test -n "$add" && finalize_deplibs="$add $finalize_deplibs"
+ else
+ test -n "$add_dir" && deplibs="$add_dir $deplibs"
+ test -n "$add" && deplibs="$add $deplibs"
+ fi
+ fi
+ elif test "$linkmode" = prog; then
+ # Here we assume that one of hardcode_direct or hardcode_minus_L
+ # is not unsupported. This is valid on all known static and
+ # shared platforms.
+ if test "$hardcode_direct" != unsupported; then
+ test -n "$old_library" && linklib="$old_library"
+ compile_deplibs="$dir/$linklib $compile_deplibs"
+ finalize_deplibs="$dir/$linklib $finalize_deplibs"
+ else
+ compile_deplibs="-l$name -L$dir $compile_deplibs"
+ finalize_deplibs="-l$name -L$dir $finalize_deplibs"
+ fi
+ elif test "$build_libtool_libs" = yes; then
+ # Not a shared library
+ if test "$deplibs_check_method" != pass_all; then
+ # We're trying link a shared library against a static one
+ # but the system doesn't support it.
+
+ # Just print a warning and add the library to dependency_libs so
+ # that the program can be linked against the static library.
+ $ECHO
+ $ECHO "*** Warning: This system can not link to static lib archive $lib."
+ $ECHO "*** I have the capability to make that library automatically link in when"
+ $ECHO "*** you link to this library. But I can only do this if you have a"
+ $ECHO "*** shared version of the library, which you do not appear to have."
+ if test "$module" = yes; then
+ $ECHO "*** But as you try to build a module library, libtool will still create "
+ $ECHO "*** a static module, that should work as long as the dlopening application"
+ $ECHO "*** is linked with the -dlopen flag to resolve symbols at runtime."
+ if test -z "$global_symbol_pipe"; then
+ $ECHO
+ $ECHO "*** However, this would only work if libtool was able to extract symbol"
+ $ECHO "*** lists from a program, using \`nm' or equivalent, but libtool could"
+ $ECHO "*** not find such a program. So, this module is probably useless."
+ $ECHO "*** \`nm' from GNU binutils and a full rebuild may help."
+ fi
+ if test "$build_old_libs" = no; then
+ build_libtool_libs=module
+ build_old_libs=yes
+ else
+ build_libtool_libs=no
+ fi
+ fi
+ else
+ deplibs="$dir/$old_library $deplibs"
+ link_static=yes
+ fi
+ fi # link shared/static library?
+
+ if test "$linkmode" = lib; then
+ if test -n "$dependency_libs" &&
+ { test "$hardcode_into_libs" != yes ||
+ test "$build_old_libs" = yes ||
+ test "$link_static" = yes; }; then
+ # Extract -R from dependency_libs
+ temp_deplibs=
+ for libdir in $dependency_libs; do
+ case $libdir in
+ -R*) func_stripname '-R' '' "$libdir"
+ temp_xrpath=$func_stripname_result
+ case " $xrpath " in
+ *" $temp_xrpath "*) ;;
+ *) xrpath="$xrpath $temp_xrpath";;
+ esac;;
+ *) temp_deplibs="$temp_deplibs $libdir";;
+ esac
+ done
+ dependency_libs="$temp_deplibs"
+ fi
+
+ newlib_search_path="$newlib_search_path $absdir"
+ # Link against this library
+ test "$link_static" = no && newdependency_libs="$abs_ladir/$laname $newdependency_libs"
+ # ... and its dependency_libs
+ tmp_libs=
+ for deplib in $dependency_libs; do
+ newdependency_libs="$deplib $newdependency_libs"
+ if $opt_duplicate_deps ; then
+ case "$tmp_libs " in
+ *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
+ esac
+ fi
+ tmp_libs="$tmp_libs $deplib"
+ done
+
+ if test "$link_all_deplibs" != no; then
+ # Add the search paths of all dependency libraries
+ for deplib in $dependency_libs; do
+ path=
+ case $deplib in
+ -L*) path="$deplib" ;;
+ *.la)
+ func_dirname "$deplib" "" "."
+ dir="$func_dirname_result"
+ # We need an absolute path.
+ case $dir in
+ [\\/]* | [A-Za-z]:[\\/]*) absdir="$dir" ;;
+ *)
+ absdir=`cd "$dir" && pwd`
+ if test -z "$absdir"; then
+ func_warning "cannot determine absolute directory name of \`$dir'"
+ absdir="$dir"
+ fi
+ ;;
+ esac
+ if $GREP "^installed=no" $deplib > /dev/null; then
+ case $host in
+ *-*-darwin*)
+ depdepl=
+ eval deplibrary_names=`${SED} -n -e 's/^library_names=\(.*\)$/\1/p' $deplib`
+ if test -n "$deplibrary_names" ; then
+ for tmp in $deplibrary_names ; do
+ depdepl=$tmp
+ done
+ if test -f "$absdir/$objdir/$depdepl" ; then
+ depdepl="$absdir/$objdir/$depdepl"
+ darwin_install_name=`${OTOOL} -L $depdepl | awk '{if (NR == 2) {print $1;exit}}'`
+ if test -z "$darwin_install_name"; then
+ darwin_install_name=`${OTOOL64} -L $depdepl | awk '{if (NR == 2) {print $1;exit}}'`
+ fi
+ compiler_flags="$compiler_flags ${wl}-dylib_file ${wl}${darwin_install_name}:${depdepl}"
+ linker_flags="$linker_flags -dylib_file ${darwin_install_name}:${depdepl}"
+ path=
+ fi
+ fi
+ ;;
+ *)
+ path="-L$absdir/$objdir"
+ ;;
+ esac
+ else
+ eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
+ test -z "$libdir" && \
+ func_fatal_error "\`$deplib' is not a valid libtool archive"
+ test "$absdir" != "$libdir" && \
+ func_warning "\`$deplib' seems to be moved"
+
+ path="-L$absdir"
+ fi
+ ;;
+ esac
+ case " $deplibs " in
+ *" $path "*) ;;
+ *) deplibs="$path $deplibs" ;;
+ esac
+ done
+ fi # link_all_deplibs != no
+ fi # linkmode = lib
+ done # for deplib in $libs
+ if test "$pass" = link; then
+ if test "$linkmode" = "prog"; then
+ compile_deplibs="$new_inherited_linker_flags $compile_deplibs"
+ finalize_deplibs="$new_inherited_linker_flags $finalize_deplibs"
+ else
+ compiler_flags="$compiler_flags "`$ECHO "X $new_inherited_linker_flags" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'`
+ fi
+ fi
+ dependency_libs="$newdependency_libs"
+ if test "$pass" = dlpreopen; then
+ # Link the dlpreopened libraries before other libraries
+ for deplib in $save_deplibs; do
+ deplibs="$deplib $deplibs"
+ done
+ fi
+ if test "$pass" != dlopen; then
+ if test "$pass" != conv; then
+ # Make sure lib_search_path contains only unique directories.
+ lib_search_path=
+ for dir in $newlib_search_path; do
+ case "$lib_search_path " in
+ *" $dir "*) ;;
+ *) lib_search_path="$lib_search_path $dir" ;;
+ esac
+ done
+ newlib_search_path=
+ fi
+
+ if test "$linkmode,$pass" != "prog,link"; then
+ vars="deplibs"
+ else
+ vars="compile_deplibs finalize_deplibs"
+ fi
+ for var in $vars dependency_libs; do
+ # Add libraries to $var in reverse order
+ eval tmp_libs=\"\$$var\"
+ new_libs=
+ for deplib in $tmp_libs; do
+ # FIXME: Pedantically, this is the right thing to do, so
+ # that some nasty dependency loop isn't accidentally
+ # broken:
+ #new_libs="$deplib $new_libs"
+ # Pragmatically, this seems to cause very few problems in
+ # practice:
+ case $deplib in
+ -L*) new_libs="$deplib $new_libs" ;;
+ -R*) ;;
+ *)
+ # And here is the reason: when a library appears more
+ # than once as an explicit dependence of a library, or
+ # is implicitly linked in more than once by the
+ # compiler, it is considered special, and multiple
+ # occurrences thereof are not removed. Compare this
+ # with having the same library being listed as a
+ # dependency of multiple other libraries: in this case,
+ # we know (pedantically, we assume) the library does not
+ # need to be listed more than once, so we keep only the
+ # last copy. This is not always right, but it is rare
+ # enough that we require users that really mean to play
+ # such unportable linking tricks to link the library
+ # using -Wl,-lname, so that libtool does not consider it
+ # for duplicate removal.
+ case " $specialdeplibs " in
+ *" $deplib "*) new_libs="$deplib $new_libs" ;;
+ *)
+ case " $new_libs " in
+ *" $deplib "*) ;;
+ *) new_libs="$deplib $new_libs" ;;
+ esac
+ ;;
+ esac
+ ;;
+ esac
+ done
+ tmp_libs=
+ for deplib in $new_libs; do
+ case $deplib in
+ -L*)
+ case " $tmp_libs " in
+ *" $deplib "*) ;;
+ *) tmp_libs="$tmp_libs $deplib" ;;
+ esac
+ ;;
+ *) tmp_libs="$tmp_libs $deplib" ;;
+ esac
+ done
+ eval $var=\"$tmp_libs\"
+ done # for var
+ fi
+ # Last step: remove runtime libs from dependency_libs
+ # (they stay in deplibs)
+ tmp_libs=
+ for i in $dependency_libs ; do
+ case " $predeps $postdeps $compiler_lib_search_path " in
+ *" $i "*)
+ i=""
+ ;;
+ esac
+ if test -n "$i" ; then
+ tmp_libs="$tmp_libs $i"
+ fi
+ done
+ dependency_libs=$tmp_libs
+ done # for pass
+ if test "$linkmode" = prog; then
+ dlfiles="$newdlfiles"
+ fi
+ if test "$linkmode" = prog || test "$linkmode" = lib; then
+ dlprefiles="$newdlprefiles"
+ fi
+
+ case $linkmode in
+ oldlib)
+ if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
+ func_warning "\`-dlopen' is ignored for archives"
+ fi
+
+ case " $deplibs" in
+ *\ -l* | *\ -L*)
+ func_warning "\`-l' and \`-L' are ignored for archives" ;;
+ esac
+
+ test -n "$rpath" && \
+ func_warning "\`-rpath' is ignored for archives"
+
+ test -n "$xrpath" && \
+ func_warning "\`-R' is ignored for archives"
+
+ test -n "$vinfo" && \
+ func_warning "\`-version-info/-version-number' is ignored for archives"
+
+ test -n "$release" && \
+ func_warning "\`-release' is ignored for archives"
+
+ test -n "$export_symbols$export_symbols_regex" && \
+ func_warning "\`-export-symbols' is ignored for archives"
+
+ # Now set the variables for building old libraries.
+ build_libtool_libs=no
+ oldlibs="$output"
+ objs="$objs$old_deplibs"
+ ;;
+
+ lib)
+ # Make sure we only generate libraries of the form `libNAME.la'.
+ case $outputname in
+ lib*)
+ func_stripname 'lib' '.la' "$outputname"
+ name=$func_stripname_result
+ eval shared_ext=\"$shrext_cmds\"
+ eval libname=\"$libname_spec\"
+ ;;
+ *)
+ test "$module" = no && \
+ func_fatal_help "libtool library \`$output' must begin with \`lib'"
+
+ if test "$need_lib_prefix" != no; then
+ # Add the "lib" prefix for modules if required
+ func_stripname '' '.la' "$outputname"
+ name=$func_stripname_result
+ eval shared_ext=\"$shrext_cmds\"
+ eval libname=\"$libname_spec\"
+ else
+ func_stripname '' '.la' "$outputname"
+ libname=$func_stripname_result
+ fi
+ ;;
+ esac
+
+ if test -n "$objs"; then
+ if test "$deplibs_check_method" != pass_all; then
+ func_fatal_error "cannot build libtool library \`$output' from non-libtool objects on this host:$objs"
+ else
+ $ECHO
+ $ECHO "*** Warning: Linking the shared library $output against the non-libtool"
+ $ECHO "*** objects $objs is not portable!"
+ libobjs="$libobjs $objs"
+ fi
+ fi
+
+ test "$dlself" != no && \
+ func_warning "\`-dlopen self' is ignored for libtool libraries"
+
+ set dummy $rpath
+ shift
+ test "$#" -gt 1 && \
+ func_warning "ignoring multiple \`-rpath's for a libtool library"
+
+ install_libdir="$1"
+
+ oldlibs=
+ if test -z "$rpath"; then
+ if test "$build_libtool_libs" = yes; then
+ # Building a libtool convenience library.
+ # Some compilers have problems with a `.al' extension so
+ # convenience libraries should have the same extension an
+ # archive normally would.
+ oldlibs="$output_objdir/$libname.$libext $oldlibs"
+ build_libtool_libs=convenience
+ build_old_libs=yes
+ fi
+
+ test -n "$vinfo" && \
+ func_warning "\`-version-info/-version-number' is ignored for convenience libraries"
+
+ test -n "$release" && \
+ func_warning "\`-release' is ignored for convenience libraries"
+ else
+
+ # Parse the version information argument.
+ save_ifs="$IFS"; IFS=':'
+ set dummy $vinfo 0 0 0
+ shift
+ IFS="$save_ifs"
+
+ test -n "$7" && \
+ func_fatal_help "too many parameters to \`-version-info'"
+
+ # convert absolute version numbers to libtool ages
+ # this retains compatibility with .la files and attempts
+ # to make the code below a bit more comprehensible
+
+ case $vinfo_number in
+ yes)
+ number_major="$1"
+ number_minor="$2"
+ number_revision="$3"
+ #
+ # There are really only two kinds -- those that
+ # use the current revision as the major version
+ # and those that subtract age and use age as
+ # a minor version. But, then there is irix
+ # which has an extra 1 added just for fun
+ #
+ case $version_type in
+ darwin|linux|osf|windows|none)
+ func_arith $number_major + $number_minor
+ current=$func_arith_result
+ age="$number_minor"
+ revision="$number_revision"
+ ;;
+ freebsd-aout|freebsd-elf|sunos)
+ current="$number_major"
+ revision="$number_minor"
+ age="0"
+ ;;
+ irix|nonstopux)
+ func_arith $number_major + $number_minor
+ current=$func_arith_result
+ age="$number_minor"
+ revision="$number_minor"
+ lt_irix_increment=no
+ ;;
+ *)
+ func_fatal_configuration "$modename: unknown library version type \`$version_type'"
+ ;;
+ esac
+ ;;
+ no)
+ current="$1"
+ revision="$2"
+ age="$3"
+ ;;
+ esac
+
+ # Check that each of the things are valid numbers.
+ case $current in
+ 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;;
+ *)
+ func_error "CURRENT \`$current' must be a nonnegative integer"
+ func_fatal_error "\`$vinfo' is not valid version information"
+ ;;
+ esac
+
+ case $revision in
+ 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;;
+ *)
+ func_error "REVISION \`$revision' must be a nonnegative integer"
+ func_fatal_error "\`$vinfo' is not valid version information"
+ ;;
+ esac
+
+ case $age in
+ 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;;
+ *)
+ func_error "AGE \`$age' must be a nonnegative integer"
+ func_fatal_error "\`$vinfo' is not valid version information"
+ ;;
+ esac
+
+ if test "$age" -gt "$current"; then
+ func_error "AGE \`$age' is greater than the current interface number \`$current'"
+ func_fatal_error "\`$vinfo' is not valid version information"
+ fi
+
+ # Calculate the version variables.
+ major=
+ versuffix=
+ verstring=
+ case $version_type in
+ none) ;;
+
+ darwin)
+ # Like Linux, but with the current version available in
+ # verstring for coding it into the library header
+ func_arith $current - $age
+ major=.$func_arith_result
+ versuffix="$major.$age.$revision"
+ # Darwin ld doesn't like 0 for these options...
+ func_arith $current + 1
+ minor_current=$func_arith_result
+ xlcverstring="${wl}-compatibility_version ${wl}$minor_current ${wl}-current_version ${wl}$minor_current.$revision"
+ verstring="-compatibility_version $minor_current -current_version $minor_current.$revision"
+ ;;
+
+ freebsd-aout)
+ major=".$current"
+ versuffix=".$current.$revision";
+ ;;
+
+ freebsd-elf)
+ major=".$current"
+ versuffix=".$current"
+ ;;
+
+ irix | nonstopux)
+ if test "X$lt_irix_increment" = "Xno"; then
+ func_arith $current - $age
+ else
+ func_arith $current - $age + 1
+ fi
+ major=$func_arith_result
+
+ case $version_type in
+ nonstopux) verstring_prefix=nonstopux ;;
+ *) verstring_prefix=sgi ;;
+ esac
+ verstring="$verstring_prefix$major.$revision"
+
+ # Add in all the interfaces that we are compatible with.
+ loop=$revision
+ while test "$loop" -ne 0; do
+ func_arith $revision - $loop
+ iface=$func_arith_result
+ func_arith $loop - 1
+ loop=$func_arith_result
+ verstring="$verstring_prefix$major.$iface:$verstring"
+ done
+
+ # Before this point, $major must not contain `.'.
+ major=.$major
+ versuffix="$major.$revision"
+ ;;
+
+ linux)
+ func_arith $current - $age
+ major=.$func_arith_result
+ versuffix="$major.$age.$revision"
+ ;;
+
+ osf)
+ func_arith $current - $age
+ major=.$func_arith_result
+ versuffix=".$current.$age.$revision"
+ verstring="$current.$age.$revision"
+
+ # Add in all the interfaces that we are compatible with.
+ loop=$age
+ while test "$loop" -ne 0; do
+ func_arith $current - $loop
+ iface=$func_arith_result
+ func_arith $loop - 1
+ loop=$func_arith_result
+ verstring="$verstring:${iface}.0"
+ done
+
+ # Make executables depend on our current version.
+ verstring="$verstring:${current}.0"
+ ;;
+
+ qnx)
+ major=".$current"
+ versuffix=".$current"
+ ;;
+
+ sunos)
+ major=".$current"
+ versuffix=".$current.$revision"
+ ;;
+
+ windows)
+ # Use '-' rather than '.', since we only want one
+ # extension on DOS 8.3 filesystems.
+ func_arith $current - $age
+ major=$func_arith_result
+ versuffix="-$major"
+ ;;
+
+ *)
+ func_fatal_configuration "unknown library version type \`$version_type'"
+ ;;
+ esac
+
+ # Clear the version info if we defaulted, and they specified a release.
+ if test -z "$vinfo" && test -n "$release"; then
+ major=
+ case $version_type in
+ darwin)
+ # we can't check for "0.0" in archive_cmds due to quoting
+ # problems, so we reset it completely
+ verstring=
+ ;;
+ *)
+ verstring="0.0"
+ ;;
+ esac
+ if test "$need_version" = no; then
+ versuffix=
+ else
+ versuffix=".0.0"
+ fi
+ fi
+
+ # Remove version info from name if versioning should be avoided
+ if test "$avoid_version" = yes && test "$need_version" = no; then
+ major=
+ versuffix=
+ verstring=""
+ fi
+
+ # Check to see if the archive will have undefined symbols.
+ if test "$allow_undefined" = yes; then
+ if test "$allow_undefined_flag" = unsupported; then
+ func_warning "undefined symbols not allowed in $host shared libraries"
+ build_libtool_libs=no
+ build_old_libs=yes
+ fi
+ else
+ # Don't allow undefined symbols.
+ allow_undefined_flag="$no_undefined_flag"
+ fi
+
+ fi
+
+ func_generate_dlsyms "$libname" "$libname" "yes"
+ libobjs="$libobjs $symfileobj"
+ test "X$libobjs" = "X " && libobjs=
+
+ if test "$mode" != relink; then
+ # Remove our outputs, but don't remove object files since they
+ # may have been created when compiling PIC objects.
+ removelist=
+ tempremovelist=`$ECHO "$output_objdir/*"`
+ for p in $tempremovelist; do
+ case $p in
+ *.$objext | *.gcno)
+ ;;
+ $output_objdir/$outputname | $output_objdir/$libname.* | $output_objdir/${libname}${release}.*)
+ if test "X$precious_files_regex" != "X"; then
+ if $ECHO "$p" | $EGREP -e "$precious_files_regex" >/dev/null 2>&1
+ then
+ continue
+ fi
+ fi
+ removelist="$removelist $p"
+ ;;
+ *) ;;
+ esac
+ done
+ test -n "$removelist" && \
+ func_show_eval "${RM}r \$removelist"
+ fi
+
+ # Now set the variables for building old libraries.
+ if test "$build_old_libs" = yes && test "$build_libtool_libs" != convenience ; then
+ oldlibs="$oldlibs $output_objdir/$libname.$libext"
+
+ # Transform .lo files to .o files.
+ oldobjs="$objs "`$ECHO "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}'$/d' -e "$lo2o" | $NL2SP`
+ fi
+
+ # Eliminate all temporary directories.
+ #for path in $notinst_path; do
+ # lib_search_path=`$ECHO "X$lib_search_path " | $Xsed -e "s% $path % %g"`
+ # deplibs=`$ECHO "X$deplibs " | $Xsed -e "s% -L$path % %g"`
+ # dependency_libs=`$ECHO "X$dependency_libs " | $Xsed -e "s% -L$path % %g"`
+ #done
+
+ if test -n "$xrpath"; then
+ # If the user specified any rpath flags, then add them.
+ temp_xrpath=
+ for libdir in $xrpath; do
+ temp_xrpath="$temp_xrpath -R$libdir"
+ case "$finalize_rpath " in
+ *" $libdir "*) ;;
+ *) finalize_rpath="$finalize_rpath $libdir" ;;
+ esac
+ done
+ if test "$hardcode_into_libs" != yes || test "$build_old_libs" = yes; then
+ dependency_libs="$temp_xrpath $dependency_libs"
+ fi
+ fi
+
+ # Make sure dlfiles contains only unique files that won't be dlpreopened
+ old_dlfiles="$dlfiles"
+ dlfiles=
+ for lib in $old_dlfiles; do
+ case " $dlprefiles $dlfiles " in
+ *" $lib "*) ;;
+ *) dlfiles="$dlfiles $lib" ;;
+ esac
+ done
+
+ # Make sure dlprefiles contains only unique files
+ old_dlprefiles="$dlprefiles"
+ dlprefiles=
+ for lib in $old_dlprefiles; do
+ case "$dlprefiles " in
+ *" $lib "*) ;;
+ *) dlprefiles="$dlprefiles $lib" ;;
+ esac
+ done
+
+ if test "$build_libtool_libs" = yes; then
+ if test -n "$rpath"; then
+ case $host in
+ *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-beos* | *-cegcc*)
+ # these systems don't actually have a c library (as such)!
+ ;;
+ *-*-rhapsody* | *-*-darwin1.[012])
+ # Rhapsody C library is in the System framework
+ deplibs="$deplibs System.ltframework"
+ ;;
+ *-*-netbsd*)
+ # Don't link with libc until the a.out ld.so is fixed.
+ ;;
+ *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*)
+ # Do not include libc due to us having libc/libc_r.
+ ;;
+ *-*-sco3.2v5* | *-*-sco5v6*)
+ # Causes problems with __ctype
+ ;;
+ *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*)
+ # Compiler inserts libc in the correct place for threads to work
+ ;;
+ *)
+ # Add libc to deplibs on all other systems if necessary.
+ if test "$build_libtool_need_lc" = "yes"; then
+ deplibs="$deplibs -lc"
+ fi
+ ;;
+ esac
+ fi
+
+ # Transform deplibs into only deplibs that can be linked in shared.
+ name_save=$name
+ libname_save=$libname
+ release_save=$release
+ versuffix_save=$versuffix
+ major_save=$major
+ # I'm not sure if I'm treating the release correctly. I think
+ # release should show up in the -l (ie -lgmp5) so we don't want to
+ # add it in twice. Is that correct?
+ release=""
+ versuffix=""
+ major=""
+ newdeplibs=
+ droppeddeps=no
+ case $deplibs_check_method in
+ pass_all)
+ # Don't check for shared/static. Everything works.
+ # This might be a little naive. We might want to check
+ # whether the library exists or not. But this is on
+ # osf3 & osf4 and I'm not really sure... Just
+ # implementing what was already the behavior.
+ newdeplibs=$deplibs
+ ;;
+ test_compile)
+ # This code stresses the "libraries are programs" paradigm to its
+ # limits. Maybe even breaks it. We compile a program, linking it
+ # against the deplibs as a proxy for the library. Then we can check
+ # whether they linked in statically or dynamically with ldd.
+ $opt_dry_run || $RM conftest.c
+ cat > conftest.c <<EOF
+ int main() { return 0; }
+EOF
+ $opt_dry_run || $RM conftest
+ if $LTCC $LTCFLAGS -o conftest conftest.c $deplibs; then
+ ldd_output=`ldd conftest`
+ for i in $deplibs; do
+ case $i in
+ -l*)
+ func_stripname -l '' "$i"
+ name=$func_stripname_result
+ if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
+ case " $predeps $postdeps " in
+ *" $i "*)
+ newdeplibs="$newdeplibs $i"
+ i=""
+ ;;
+ esac
+ fi
+ if test -n "$i" ; then
+ libname=`eval "\\$ECHO \"$libname_spec\""`
+ deplib_matches=`eval "\\$ECHO \"$library_names_spec\""`
+ set dummy $deplib_matches; shift
+ deplib_match=$1
+ if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; then
+ newdeplibs="$newdeplibs $i"
+ else
+ droppeddeps=yes
+ $ECHO
+ $ECHO "*** Warning: dynamic linker does not accept needed library $i."
+ $ECHO "*** I have the capability to make that library automatically link in when"
+ $ECHO "*** you link to this library. But I can only do this if you have a"
+ $ECHO "*** shared version of the library, which I believe you do not have"
+ $ECHO "*** because a test_compile did reveal that the linker did not use it for"
+ $ECHO "*** its dynamic dependency list that programs get resolved with at runtime."
+ fi
+ fi
+ ;;
+ *)
+ newdeplibs="$newdeplibs $i"
+ ;;
+ esac
+ done
+ else
+ # Error occurred in the first compile. Let's try to salvage
+ # the situation: Compile a separate program for each library.
+ for i in $deplibs; do
+ case $i in
+ -l*)
+ func_stripname -l '' "$i"
+ name=$func_stripname_result
+ $opt_dry_run || $RM conftest
+ if $LTCC $LTCFLAGS -o conftest conftest.c $i; then
+ ldd_output=`ldd conftest`
+ if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
+ case " $predeps $postdeps " in
+ *" $i "*)
+ newdeplibs="$newdeplibs $i"
+ i=""
+ ;;
+ esac
+ fi
+ if test -n "$i" ; then
+ libname=`eval "\\$ECHO \"$libname_spec\""`
+ deplib_matches=`eval "\\$ECHO \"$library_names_spec\""`
+ set dummy $deplib_matches; shift
+ deplib_match=$1
+ if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; then
+ newdeplibs="$newdeplibs $i"
+ else
+ droppeddeps=yes
+ $ECHO
+ $ECHO "*** Warning: dynamic linker does not accept needed library $i."
+ $ECHO "*** I have the capability to make that library automatically link in when"
+ $ECHO "*** you link to this library. But I can only do this if you have a"
+ $ECHO "*** shared version of the library, which you do not appear to have"
+ $ECHO "*** because a test_compile did reveal that the linker did not use this one"
+ $ECHO "*** as a dynamic dependency that programs can get resolved with at runtime."
+ fi
+ fi
+ else
+ droppeddeps=yes
+ $ECHO
+ $ECHO "*** Warning! Library $i is needed by this library but I was not able to"
+ $ECHO "*** make it link in! You will probably need to install it or some"
+ $ECHO "*** library that it depends on before this library will be fully"
+ $ECHO "*** functional. Installing it before continuing would be even better."
+ fi
+ ;;
+ *)
+ newdeplibs="$newdeplibs $i"
+ ;;
+ esac
+ done
+ fi
+ ;;
+ file_magic*)
+ set dummy $deplibs_check_method; shift
+ file_magic_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"`
+ for a_deplib in $deplibs; do
+ case $a_deplib in
+ -l*)
+ func_stripname -l '' "$a_deplib"
+ name=$func_stripname_result
+ if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
+ case " $predeps $postdeps " in
+ *" $a_deplib "*)
+ newdeplibs="$newdeplibs $a_deplib"
+ a_deplib=""
+ ;;
+ esac
+ fi
+ if test -n "$a_deplib" ; then
+ libname=`eval "\\$ECHO \"$libname_spec\""`
+ for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do
+ potential_libs=`ls $i/$libname[.-]* 2>/dev/null`
+ for potent_lib in $potential_libs; do
+ # Follow soft links.
+ if ls -lLd "$potent_lib" 2>/dev/null |
+ $GREP " -> " >/dev/null; then
+ continue
+ fi
+ # The statement above tries to avoid entering an
+ # endless loop below, in case of cyclic links.
+ # We might still enter an endless loop, since a link
+ # loop can be closed while we follow links,
+ # but so what?
+ potlib="$potent_lib"
+ while test -h "$potlib" 2>/dev/null; do
+ potliblink=`ls -ld $potlib | ${SED} 's/.* -> //'`
+ case $potliblink in
+ [\\/]* | [A-Za-z]:[\\/]*) potlib="$potliblink";;
+ *) potlib=`$ECHO "X$potlib" | $Xsed -e 's,[^/]*$,,'`"$potliblink";;
+ esac
+ done
+ if eval $file_magic_cmd \"\$potlib\" 2>/dev/null |
+ $SED -e 10q |
+ $EGREP "$file_magic_regex" > /dev/null; then
+ newdeplibs="$newdeplibs $a_deplib"
+ a_deplib=""
+ break 2
+ fi
+ done
+ done
+ fi
+ if test -n "$a_deplib" ; then
+ droppeddeps=yes
+ $ECHO
+ $ECHO "*** Warning: linker path does not have real file for library $a_deplib."
+ $ECHO "*** I have the capability to make that library automatically link in when"
+ $ECHO "*** you link to this library. But I can only do this if you have a"
+ $ECHO "*** shared version of the library, which you do not appear to have"
+ $ECHO "*** because I did check the linker path looking for a file starting"
+ if test -z "$potlib" ; then
+ $ECHO "*** with $libname but no candidates were found. (...for file magic test)"
+ else
+ $ECHO "*** with $libname and none of the candidates passed a file format test"
+ $ECHO "*** using a file magic. Last file checked: $potlib"
+ fi
+ fi
+ ;;
+ *)
+ # Add a -L argument.
+ newdeplibs="$newdeplibs $a_deplib"
+ ;;
+ esac
+ done # Gone through all deplibs.
+ ;;
+ match_pattern*)
+ set dummy $deplibs_check_method; shift
+ match_pattern_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"`
+ for a_deplib in $deplibs; do
+ case $a_deplib in
+ -l*)
+ func_stripname -l '' "$a_deplib"
+ name=$func_stripname_result
+ if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
+ case " $predeps $postdeps " in
+ *" $a_deplib "*)
+ newdeplibs="$newdeplibs $a_deplib"
+ a_deplib=""
+ ;;
+ esac
+ fi
+ if test -n "$a_deplib" ; then
+ libname=`eval "\\$ECHO \"$libname_spec\""`
+ for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do
+ potential_libs=`ls $i/$libname[.-]* 2>/dev/null`
+ for potent_lib in $potential_libs; do
+ potlib="$potent_lib" # see symlink-check above in file_magic test
+ if eval "\$ECHO \"X$potent_lib\"" 2>/dev/null | $Xsed -e 10q | \
+ $EGREP "$match_pattern_regex" > /dev/null; then
+ newdeplibs="$newdeplibs $a_deplib"
+ a_deplib=""
+ break 2
+ fi
+ done
+ done
+ fi
+ if test -n "$a_deplib" ; then
+ droppeddeps=yes
+ $ECHO
+ $ECHO "*** Warning: linker path does not have real file for library $a_deplib."
+ $ECHO "*** I have the capability to make that library automatically link in when"
+ $ECHO "*** you link to this library. But I can only do this if you have a"
+ $ECHO "*** shared version of the library, which you do not appear to have"
+ $ECHO "*** because I did check the linker path looking for a file starting"
+ if test -z "$potlib" ; then
+ $ECHO "*** with $libname but no candidates were found. (...for regex pattern test)"
+ else
+ $ECHO "*** with $libname and none of the candidates passed a file format test"
+ $ECHO "*** using a regex pattern. Last file checked: $potlib"
+ fi
+ fi
+ ;;
+ *)
+ # Add a -L argument.
+ newdeplibs="$newdeplibs $a_deplib"
+ ;;
+ esac
+ done # Gone through all deplibs.
+ ;;
+ none | unknown | *)
+ newdeplibs=""
+ tmp_deplibs=`$ECHO "X $deplibs" | $Xsed \
+ -e 's/ -lc$//' -e 's/ -[LR][^ ]*//g'`
+ if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
+ for i in $predeps $postdeps ; do
+ # can't use Xsed below, because $i might contain '/'
+ tmp_deplibs=`$ECHO "X $tmp_deplibs" | $Xsed -e "s,$i,,"`
+ done
+ fi
+ if $ECHO "X $tmp_deplibs" | $Xsed -e 's/[ ]//g' |
+ $GREP . >/dev/null; then
+ $ECHO
+ if test "X$deplibs_check_method" = "Xnone"; then
+ $ECHO "*** Warning: inter-library dependencies are not supported in this platform."
+ else
+ $ECHO "*** Warning: inter-library dependencies are not known to be supported."
+ fi
+ $ECHO "*** All declared inter-library dependencies are being dropped."
+ droppeddeps=yes
+ fi
+ ;;
+ esac
+ versuffix=$versuffix_save
+ major=$major_save
+ release=$release_save
+ libname=$libname_save
+ name=$name_save
+
+ case $host in
+ *-*-rhapsody* | *-*-darwin1.[012])
+ # On Rhapsody replace the C library with the System framework
+ newdeplibs=`$ECHO "X $newdeplibs" | $Xsed -e 's/ -lc / System.ltframework /'`
+ ;;
+ esac
+
+ if test "$droppeddeps" = yes; then
+ if test "$module" = yes; then
+ $ECHO
+ $ECHO "*** Warning: libtool could not satisfy all declared inter-library"
+ $ECHO "*** dependencies of module $libname. Therefore, libtool will create"
+ $ECHO "*** a static module, that should work as long as the dlopening"
+ $ECHO "*** application is linked with the -dlopen flag."
+ if test -z "$global_symbol_pipe"; then
+ $ECHO
+ $ECHO "*** However, this would only work if libtool was able to extract symbol"
+ $ECHO "*** lists from a program, using \`nm' or equivalent, but libtool could"
+ $ECHO "*** not find such a program. So, this module is probably useless."
+ $ECHO "*** \`nm' from GNU binutils and a full rebuild may help."
+ fi
+ if test "$build_old_libs" = no; then
+ oldlibs="$output_objdir/$libname.$libext"
+ build_libtool_libs=module
+ build_old_libs=yes
+ else
+ build_libtool_libs=no
+ fi
+ else
+ $ECHO "*** The inter-library dependencies that have been dropped here will be"
+ $ECHO "*** automatically added whenever a program is linked with this library"
+ $ECHO "*** or is declared to -dlopen it."
+
+ if test "$allow_undefined" = no; then
+ $ECHO
+ $ECHO "*** Since this library must not contain undefined symbols,"
+ $ECHO "*** because either the platform does not support them or"
+ $ECHO "*** it was explicitly requested with -no-undefined,"
+ $ECHO "*** libtool will only create a static version of it."
+ if test "$build_old_libs" = no; then
+ oldlibs="$output_objdir/$libname.$libext"
+ build_libtool_libs=module
+ build_old_libs=yes
+ else
+ build_libtool_libs=no
+ fi
+ fi
+ fi
+ fi
+ # Done checking deplibs!
+ deplibs=$newdeplibs
+ fi
+ # Time to change all our "foo.ltframework" stuff back to "-framework foo"
+ case $host in
+ *-*-darwin*)
+ newdeplibs=`$ECHO "X $newdeplibs" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'`
+ new_inherited_linker_flags=`$ECHO "X $new_inherited_linker_flags" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'`
+ deplibs=`$ECHO "X $deplibs" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'`
+ ;;
+ esac
+
+ # move library search paths that coincide with paths to not yet
+ # installed libraries to the beginning of the library search list
+ new_libs=
+ for path in $notinst_path; do
+ case " $new_libs " in
+ *" -L$path/$objdir "*) ;;
+ *)
+ case " $deplibs " in
+ *" -L$path/$objdir "*)
+ new_libs="$new_libs -L$path/$objdir" ;;
+ esac
+ ;;
+ esac
+ done
+ for deplib in $deplibs; do
+ case $deplib in
+ -L*)
+ case " $new_libs " in
+ *" $deplib "*) ;;
+ *) new_libs="$new_libs $deplib" ;;
+ esac
+ ;;
+ *) new_libs="$new_libs $deplib" ;;
+ esac
+ done
+ deplibs="$new_libs"
+
+ # All the library-specific variables (install_libdir is set above).
+ library_names=
+ old_library=
+ dlname=
+
+ # Test again, we may have decided not to build it any more
+ if test "$build_libtool_libs" = yes; then
+ if test "$hardcode_into_libs" = yes; then
+ # Hardcode the library paths
+ hardcode_libdirs=
+ dep_rpath=
+ rpath="$finalize_rpath"
+ test "$mode" != relink && rpath="$compile_rpath$rpath"
+ for libdir in $rpath; do
+ if test -n "$hardcode_libdir_flag_spec"; then
+ if test -n "$hardcode_libdir_separator"; then
+ if test -z "$hardcode_libdirs"; then
+ hardcode_libdirs="$libdir"
+ else
+ # Just accumulate the unique libdirs.
+ case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in
+ *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
+ ;;
+ *)
+ hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir"
+ ;;
+ esac
+ fi
+ else
+ eval flag=\"$hardcode_libdir_flag_spec\"
+ dep_rpath="$dep_rpath $flag"
+ fi
+ elif test -n "$runpath_var"; then
+ case "$perm_rpath " in
+ *" $libdir "*) ;;
+ *) perm_rpath="$perm_rpath $libdir" ;;
+ esac
+ fi
+ done
+ # Substitute the hardcoded libdirs into the rpath.
+ if test -n "$hardcode_libdir_separator" &&
+ test -n "$hardcode_libdirs"; then
+ libdir="$hardcode_libdirs"
+ if test -n "$hardcode_libdir_flag_spec_ld"; then
+ eval dep_rpath=\"$hardcode_libdir_flag_spec_ld\"
+ else
+ eval dep_rpath=\"$hardcode_libdir_flag_spec\"
+ fi
+ fi
+ if test -n "$runpath_var" && test -n "$perm_rpath"; then
+ # We should set the runpath_var.
+ rpath=
+ for dir in $perm_rpath; do
+ rpath="$rpath$dir:"
+ done
+ eval "$runpath_var='$rpath\$$runpath_var'; export $runpath_var"
+ fi
+ test -n "$dep_rpath" && deplibs="$dep_rpath $deplibs"
+ fi
+
+ shlibpath="$finalize_shlibpath"
+ test "$mode" != relink && shlibpath="$compile_shlibpath$shlibpath"
+ if test -n "$shlibpath"; then
+ eval "$shlibpath_var='$shlibpath\$$shlibpath_var'; export $shlibpath_var"
+ fi
+
+ # Get the real and link names of the library.
+ eval shared_ext=\"$shrext_cmds\"
+ eval library_names=\"$library_names_spec\"
+ set dummy $library_names
+ shift
+ realname="$1"
+ shift
+
+ if test -n "$soname_spec"; then
+ eval soname=\"$soname_spec\"
+ else
+ soname="$realname"
+ fi
+ if test -z "$dlname"; then
+ dlname=$soname
+ fi
+
+ lib="$output_objdir/$realname"
+ linknames=
+ for link
+ do
+ linknames="$linknames $link"
+ done
+
+ # Use standard objects if they are pic
+ test -z "$pic_flag" && libobjs=`$ECHO "X$libobjs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
+ test "X$libobjs" = "X " && libobjs=
+
+ delfiles=
+ if test -n "$export_symbols" && test -n "$include_expsyms"; then
+ $opt_dry_run || cp "$export_symbols" "$output_objdir/$libname.uexp"
+ export_symbols="$output_objdir/$libname.uexp"
+ delfiles="$delfiles $export_symbols"
+ fi
+
+ orig_export_symbols=
+ case $host_os in
+ cygwin* | mingw* | cegcc*)
+ if test -n "$export_symbols" && test -z "$export_symbols_regex"; then
+ # exporting using user supplied symfile
+ if test "x`$SED 1q $export_symbols`" != xEXPORTS; then
+ # and it's NOT already a .def file. Must figure out
+ # which of the given symbols are data symbols and tag
+ # them as such. So, trigger use of export_symbols_cmds.
+ # export_symbols gets reassigned inside the "prepare
+ # the list of exported symbols" if statement, so the
+ # include_expsyms logic still works.
+ orig_export_symbols="$export_symbols"
+ export_symbols=
+ always_export_symbols=yes
+ fi
+ fi
+ ;;
+ esac
+
+ # Prepare the list of exported symbols
+ if test -z "$export_symbols"; then
+ if test "$always_export_symbols" = yes || test -n "$export_symbols_regex"; then
+ func_verbose "generating symbol list for \`$libname.la'"
+ export_symbols="$output_objdir/$libname.exp"
+ $opt_dry_run || $RM $export_symbols
+ cmds=$export_symbols_cmds
+ save_ifs="$IFS"; IFS='~'
+ for cmd in $cmds; do
+ IFS="$save_ifs"
+ eval cmd=\"$cmd\"
+ func_len " $cmd"
+ len=$func_len_result
+ if test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then
+ func_show_eval "$cmd" 'exit $?'
+ skipped_export=false
+ else
+ # The command line is too long to execute in one step.
+ func_verbose "using reloadable object file for export list..."
+ skipped_export=:
+ # Break out early, otherwise skipped_export may be
+ # set to false by a later but shorter cmd.
+ break
+ fi
+ done
+ IFS="$save_ifs"
+ if test -n "$export_symbols_regex" && test "X$skipped_export" != "X:"; then
+ func_show_eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"'
+ func_show_eval '$MV "${export_symbols}T" "$export_symbols"'
+ fi
+ fi
+ fi
+
+ if test -n "$export_symbols" && test -n "$include_expsyms"; then
+ tmp_export_symbols="$export_symbols"
+ test -n "$orig_export_symbols" && tmp_export_symbols="$orig_export_symbols"
+ $opt_dry_run || eval '$ECHO "X$include_expsyms" | $Xsed | $SP2NL >> "$tmp_export_symbols"'
+ fi
+
+ if test "X$skipped_export" != "X:" && test -n "$orig_export_symbols"; then
+ # The given exports_symbols file has to be filtered, so filter it.
+ func_verbose "filter symbol list for \`$libname.la' to tag DATA exports"
+ # FIXME: $output_objdir/$libname.filter potentially contains lots of
+ # 's' commands which not all seds can handle. GNU sed should be fine
+ # though. Also, the filter scales superlinearly with the number of
+ # global variables. join(1) would be nice here, but unfortunately
+ # isn't a blessed tool.
+ $opt_dry_run || $SED -e '/[ ,]DATA/!d;s,\(.*\)\([ \,].*\),s|^\1$|\1\2|,' < $export_symbols > $output_objdir/$libname.filter
+ delfiles="$delfiles $export_symbols $output_objdir/$libname.filter"
+ export_symbols=$output_objdir/$libname.def
+ $opt_dry_run || $SED -f $output_objdir/$libname.filter < $orig_export_symbols > $export_symbols
+ fi
+
+ tmp_deplibs=
+ for test_deplib in $deplibs; do
+ case " $convenience " in
+ *" $test_deplib "*) ;;
+ *)
+ tmp_deplibs="$tmp_deplibs $test_deplib"
+ ;;
+ esac
+ done
+ deplibs="$tmp_deplibs"
+
+ if test -n "$convenience"; then
+ if test -n "$whole_archive_flag_spec" &&
+ test "$compiler_needs_object" = yes &&
+ test -z "$libobjs"; then
+ # extract the archives, so we have objects to list.
+ # TODO: could optimize this to just extract one archive.
+ whole_archive_flag_spec=
+ fi
+ if test -n "$whole_archive_flag_spec"; then
+ save_libobjs=$libobjs
+ eval libobjs=\"\$libobjs $whole_archive_flag_spec\"
+ test "X$libobjs" = "X " && libobjs=
+ else
+ gentop="$output_objdir/${outputname}x"
+ generated="$generated $gentop"
+
+ func_extract_archives $gentop $convenience
+ libobjs="$libobjs $func_extract_archives_result"
+ test "X$libobjs" = "X " && libobjs=
+ fi
+ fi
+
+ if test "$thread_safe" = yes && test -n "$thread_safe_flag_spec"; then
+ eval flag=\"$thread_safe_flag_spec\"
+ linker_flags="$linker_flags $flag"
+ fi
+
+ # Make a backup of the uninstalled library when relinking
+ if test "$mode" = relink; then
+ $opt_dry_run || eval '(cd $output_objdir && $RM ${realname}U && $MV $realname ${realname}U)' || exit $?
+ fi
+
+ # Do each of the archive commands.
+ if test "$module" = yes && test -n "$module_cmds" ; then
+ if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then
+ eval test_cmds=\"$module_expsym_cmds\"
+ cmds=$module_expsym_cmds
+ else
+ eval test_cmds=\"$module_cmds\"
+ cmds=$module_cmds
+ fi
+ else
+ if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then
+ eval test_cmds=\"$archive_expsym_cmds\"
+ cmds=$archive_expsym_cmds
+ else
+ eval test_cmds=\"$archive_cmds\"
+ cmds=$archive_cmds
+ fi
+ fi
+
+ if test "X$skipped_export" != "X:" &&
+ func_len " $test_cmds" &&
+ len=$func_len_result &&
+ test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then
+ :
+ else
+ # The command line is too long to link in one step, link piecewise
+ # or, if using GNU ld and skipped_export is not :, use a linker
+ # script.
+
+ # Save the value of $output and $libobjs because we want to
+ # use them later. If we have whole_archive_flag_spec, we
+ # want to use save_libobjs as it was before
+ # whole_archive_flag_spec was expanded, because we can't
+ # assume the linker understands whole_archive_flag_spec.
+ # This may have to be revisited, in case too many
+ # convenience libraries get linked in and end up exceeding
+ # the spec.
+ if test -z "$convenience" || test -z "$whole_archive_flag_spec"; then
+ save_libobjs=$libobjs
+ fi
+ save_output=$output
+ output_la=`$ECHO "X$output" | $Xsed -e "$basename"`
+
+ # Clear the reloadable object creation command queue and
+ # initialize k to one.
+ test_cmds=
+ concat_cmds=
+ objlist=
+ last_robj=
+ k=1
+
+ if test -n "$save_libobjs" && test "X$skipped_export" != "X:" && test "$with_gnu_ld" = yes; then
+ output=${output_objdir}/${output_la}.lnkscript
+ func_verbose "creating GNU ld script: $output"
+ $ECHO 'INPUT (' > $output
+ for obj in $save_libobjs
+ do
+ $ECHO "$obj" >> $output
+ done
+ $ECHO ')' >> $output
+ delfiles="$delfiles $output"
+ elif test -n "$save_libobjs" && test "X$skipped_export" != "X:" && test "X$file_list_spec" != X; then
+ output=${output_objdir}/${output_la}.lnk
+ func_verbose "creating linker input file list: $output"
+ : > $output
+ set x $save_libobjs
+ shift
+ firstobj=
+ if test "$compiler_needs_object" = yes; then
+ firstobj="$1 "
+ shift
+ fi
+ for obj
+ do
+ $ECHO "$obj" >> $output
+ done
+ delfiles="$delfiles $output"
+ output=$firstobj\"$file_list_spec$output\"
+ else
+ if test -n "$save_libobjs"; then
+ func_verbose "creating reloadable object files..."
+ output=$output_objdir/$output_la-${k}.$objext
+ eval test_cmds=\"$reload_cmds\"
+ func_len " $test_cmds"
+ len0=$func_len_result
+ len=$len0
+
+ # Loop over the list of objects to be linked.
+ for obj in $save_libobjs
+ do
+ func_len " $obj"
+ func_arith $len + $func_len_result
+ len=$func_arith_result
+ if test "X$objlist" = X ||
+ test "$len" -lt "$max_cmd_len"; then
+ func_append objlist " $obj"
+ else
+ # The command $test_cmds is almost too long, add a
+ # command to the queue.
+ if test "$k" -eq 1 ; then
+ # The first file doesn't have a previous command to add.
+ eval concat_cmds=\"$reload_cmds $objlist $last_robj\"
+ else
+ # All subsequent reloadable object files will link in
+ # the last one created.
+ eval concat_cmds=\"\$concat_cmds~$reload_cmds $objlist $last_robj~\$RM $last_robj\"
+ fi
+ last_robj=$output_objdir/$output_la-${k}.$objext
+ func_arith $k + 1
+ k=$func_arith_result
+ output=$output_objdir/$output_la-${k}.$objext
+ objlist=$obj
+ func_len " $last_robj"
+ func_arith $len0 + $func_len_result
+ len=$func_arith_result
+ fi
+ done
+ # Handle the remaining objects by creating one last
+ # reloadable object file. All subsequent reloadable object
+ # files will link in the last one created.
+ test -z "$concat_cmds" || concat_cmds=$concat_cmds~
+ eval concat_cmds=\"\${concat_cmds}$reload_cmds $objlist $last_robj\"
+ if test -n "$last_robj"; then
+ eval concat_cmds=\"\${concat_cmds}~\$RM $last_robj\"
+ fi
+ delfiles="$delfiles $output"
+
+ else
+ output=
+ fi
+
+ if ${skipped_export-false}; then
+ func_verbose "generating symbol list for \`$libname.la'"
+ export_symbols="$output_objdir/$libname.exp"
+ $opt_dry_run || $RM $export_symbols
+ libobjs=$output
+ # Append the command to create the export file.
+ test -z "$concat_cmds" || concat_cmds=$concat_cmds~
+ eval concat_cmds=\"\$concat_cmds$export_symbols_cmds\"
+ if test -n "$last_robj"; then
+ eval concat_cmds=\"\$concat_cmds~\$RM $last_robj\"
+ fi
+ fi
+
+ test -n "$save_libobjs" &&
+ func_verbose "creating a temporary reloadable object file: $output"
+
+ # Loop through the commands generated above and execute them.
+ save_ifs="$IFS"; IFS='~'
+ for cmd in $concat_cmds; do
+ IFS="$save_ifs"
+ $opt_silent || {
+ func_quote_for_expand "$cmd"
+ eval "func_echo $func_quote_for_expand_result"
+ }
+ $opt_dry_run || eval "$cmd" || {
+ lt_exit=$?
+
+ # Restore the uninstalled library and exit
+ if test "$mode" = relink; then
+ ( cd "$output_objdir" && \
+ $RM "${realname}T" && \
+ $MV "${realname}U" "$realname" )
+ fi
+
+ exit $lt_exit
+ }
+ done
+ IFS="$save_ifs"
+
+ if test -n "$export_symbols_regex" && ${skipped_export-false}; then
+ func_show_eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"'
+ func_show_eval '$MV "${export_symbols}T" "$export_symbols"'
+ fi
+ fi
+
+ if ${skipped_export-false}; then
+ if test -n "$export_symbols" && test -n "$include_expsyms"; then
+ tmp_export_symbols="$export_symbols"
+ test -n "$orig_export_symbols" && tmp_export_symbols="$orig_export_symbols"
+ $opt_dry_run || eval '$ECHO "X$include_expsyms" | $Xsed | $SP2NL >> "$tmp_export_symbols"'
+ fi
+
+ if test -n "$orig_export_symbols"; then
+ # The given exports_symbols file has to be filtered, so filter it.
+ func_verbose "filter symbol list for \`$libname.la' to tag DATA exports"
+ # FIXME: $output_objdir/$libname.filter potentially contains lots of
+ # 's' commands which not all seds can handle. GNU sed should be fine
+ # though. Also, the filter scales superlinearly with the number of
+ # global variables. join(1) would be nice here, but unfortunately
+ # isn't a blessed tool.
+ $opt_dry_run || $SED -e '/[ ,]DATA/!d;s,\(.*\)\([ \,].*\),s|^\1$|\1\2|,' < $export_symbols > $output_objdir/$libname.filter
+ delfiles="$delfiles $export_symbols $output_objdir/$libname.filter"
+ export_symbols=$output_objdir/$libname.def
+ $opt_dry_run || $SED -f $output_objdir/$libname.filter < $orig_export_symbols > $export_symbols
+ fi
+ fi
+
+ libobjs=$output
+ # Restore the value of output.
+ output=$save_output
+
+ if test -n "$convenience" && test -n "$whole_archive_flag_spec"; then
+ eval libobjs=\"\$libobjs $whole_archive_flag_spec\"
+ test "X$libobjs" = "X " && libobjs=
+ fi
+ # Expand the library linking commands again to reset the
+ # value of $libobjs for piecewise linking.
+
+ # Do each of the archive commands.
+ if test "$module" = yes && test -n "$module_cmds" ; then
+ if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then
+ cmds=$module_expsym_cmds
+ else
+ cmds=$module_cmds
+ fi
+ else
+ if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then
+ cmds=$archive_expsym_cmds
+ else
+ cmds=$archive_cmds
+ fi
+ fi
+ fi
+
+ if test -n "$delfiles"; then
+ # Append the command to remove temporary files to $cmds.
+ eval cmds=\"\$cmds~\$RM $delfiles\"
+ fi
+
+ # Add any objects from preloaded convenience libraries
+ if test -n "$dlprefiles"; then
+ gentop="$output_objdir/${outputname}x"
+ generated="$generated $gentop"
+
+ func_extract_archives $gentop $dlprefiles
+ libobjs="$libobjs $func_extract_archives_result"
+ test "X$libobjs" = "X " && libobjs=
+ fi
+
+ save_ifs="$IFS"; IFS='~'
+ for cmd in $cmds; do
+ IFS="$save_ifs"
+ eval cmd=\"$cmd\"
+ $opt_silent || {
+ func_quote_for_expand "$cmd"
+ eval "func_echo $func_quote_for_expand_result"
+ }
+ $opt_dry_run || eval "$cmd" || {
+ lt_exit=$?
+
+ # Restore the uninstalled library and exit
+ if test "$mode" = relink; then
+ ( cd "$output_objdir" && \
+ $RM "${realname}T" && \
+ $MV "${realname}U" "$realname" )
+ fi
+
+ exit $lt_exit
+ }
+ done
+ IFS="$save_ifs"
+
+ # Restore the uninstalled library and exit
+ if test "$mode" = relink; then
+ $opt_dry_run || eval '(cd $output_objdir && $RM ${realname}T && $MV $realname ${realname}T && $MV ${realname}U $realname)' || exit $?
+
+ if test -n "$convenience"; then
+ if test -z "$whole_archive_flag_spec"; then
+ func_show_eval '${RM}r "$gentop"'
+ fi
+ fi
+
+ exit $EXIT_SUCCESS
+ fi
+
+ # Create links to the real library.
+ for linkname in $linknames; do
+ if test "$realname" != "$linkname"; then
+ func_show_eval '(cd "$output_objdir" && $RM "$linkname" && $LN_S "$realname" "$linkname")' 'exit $?'
+ fi
+ done
+
+ # If -module or -export-dynamic was specified, set the dlname.
+ if test "$module" = yes || test "$export_dynamic" = yes; then
+ # On all known operating systems, these are identical.
+ dlname="$soname"
+ fi
+ fi
+ ;;
+
+ obj)
+ if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
+ func_warning "\`-dlopen' is ignored for objects"
+ fi
+
+ case " $deplibs" in
+ *\ -l* | *\ -L*)
+ func_warning "\`-l' and \`-L' are ignored for objects" ;;
+ esac
+
+ test -n "$rpath" && \
+ func_warning "\`-rpath' is ignored for objects"
+
+ test -n "$xrpath" && \
+ func_warning "\`-R' is ignored for objects"
+
+ test -n "$vinfo" && \
+ func_warning "\`-version-info' is ignored for objects"
+
+ test -n "$release" && \
+ func_warning "\`-release' is ignored for objects"
+
+ case $output in
+ *.lo)
+ test -n "$objs$old_deplibs" && \
+ func_fatal_error "cannot build library object \`$output' from non-libtool objects"
+
+ libobj=$output
+ func_lo2o "$libobj"
+ obj=$func_lo2o_result
+ ;;
+ *)
+ libobj=
+ obj="$output"
+ ;;
+ esac
+
+ # Delete the old objects.
+ $opt_dry_run || $RM $obj $libobj
+
+ # Objects from convenience libraries. This assumes
+ # single-version convenience libraries. Whenever we create
+ # different ones for PIC/non-PIC, this we'll have to duplicate
+ # the extraction.
+ reload_conv_objs=
+ gentop=
+ # reload_cmds runs $LD directly, so let us get rid of
+ # -Wl from whole_archive_flag_spec and hope we can get by with
+ # turning comma into space..
+ wl=
+
+ if test -n "$convenience"; then
+ if test -n "$whole_archive_flag_spec"; then
+ eval tmp_whole_archive_flags=\"$whole_archive_flag_spec\"
+ reload_conv_objs=$reload_objs\ `$ECHO "X$tmp_whole_archive_flags" | $Xsed -e 's|,| |g'`
+ else
+ gentop="$output_objdir/${obj}x"
+ generated="$generated $gentop"
+
+ func_extract_archives $gentop $convenience
+ reload_conv_objs="$reload_objs $func_extract_archives_result"
+ fi
+ fi
+
+ # Create the old-style object.
+ reload_objs="$objs$old_deplibs "`$ECHO "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}$'/d' -e '/\.lib$/d' -e "$lo2o" | $NL2SP`" $reload_conv_objs" ### testsuite: skip nested quoting test
+
+ output="$obj"
+ func_execute_cmds "$reload_cmds" 'exit $?'
+
+ # Exit if we aren't doing a library object file.
+ if test -z "$libobj"; then
+ if test -n "$gentop"; then
+ func_show_eval '${RM}r "$gentop"'
+ fi
+
+ exit $EXIT_SUCCESS
+ fi
+
+ if test "$build_libtool_libs" != yes; then
+ if test -n "$gentop"; then
+ func_show_eval '${RM}r "$gentop"'
+ fi
+
+ # Create an invalid libtool object if no PIC, so that we don't
+ # accidentally link it into a program.
+ # $show "echo timestamp > $libobj"
+ # $opt_dry_run || eval "echo timestamp > $libobj" || exit $?
+ exit $EXIT_SUCCESS
+ fi
+
+ if test -n "$pic_flag" || test "$pic_mode" != default; then
+ # Only do commands if we really have different PIC objects.
+ reload_objs="$libobjs $reload_conv_objs"
+ output="$libobj"
+ func_execute_cmds "$reload_cmds" 'exit $?'
+ fi
+
+ if test -n "$gentop"; then
+ func_show_eval '${RM}r "$gentop"'
+ fi
+
+ exit $EXIT_SUCCESS
+ ;;
+
+ prog)
+ case $host in
+ *cygwin*) func_stripname '' '.exe' "$output"
+ output=$func_stripname_result.exe;;
+ esac
+ test -n "$vinfo" && \
+ func_warning "\`-version-info' is ignored for programs"
+
+ test -n "$release" && \
+ func_warning "\`-release' is ignored for programs"
+
+ test "$preload" = yes \
+ && test "$dlopen_support" = unknown \
+ && test "$dlopen_self" = unknown \
+ && test "$dlopen_self_static" = unknown && \
+ func_warning "\`LT_INIT([dlopen])' not used. Assuming no dlopen support."
+
+ case $host in
+ *-*-rhapsody* | *-*-darwin1.[012])
+ # On Rhapsody replace the C library is the System framework
+ compile_deplibs=`$ECHO "X $compile_deplibs" | $Xsed -e 's/ -lc / System.ltframework /'`
+ finalize_deplibs=`$ECHO "X $finalize_deplibs" | $Xsed -e 's/ -lc / System.ltframework /'`
+ ;;
+ esac
+
+ case $host in
+ *-*-darwin*)
+ # Don't allow lazy linking, it breaks C++ global constructors
+ # But is supposedly fixed on 10.4 or later (yay!).
+ if test "$tagname" = CXX ; then
+ case ${MACOSX_DEPLOYMENT_TARGET-10.0} in
+ 10.[0123])
+ compile_command="$compile_command ${wl}-bind_at_load"
+ finalize_command="$finalize_command ${wl}-bind_at_load"
+ ;;
+ esac
+ fi
+ # Time to change all our "foo.ltframework" stuff back to "-framework foo"
+ compile_deplibs=`$ECHO "X $compile_deplibs" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'`
+ finalize_deplibs=`$ECHO "X $finalize_deplibs" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'`
+ ;;
+ esac
+
+
+ # move library search paths that coincide with paths to not yet
+ # installed libraries to the beginning of the library search list
+ new_libs=
+ for path in $notinst_path; do
+ case " $new_libs " in
+ *" -L$path/$objdir "*) ;;
+ *)
+ case " $compile_deplibs " in
+ *" -L$path/$objdir "*)
+ new_libs="$new_libs -L$path/$objdir" ;;
+ esac
+ ;;
+ esac
+ done
+ for deplib in $compile_deplibs; do
+ case $deplib in
+ -L*)
+ case " $new_libs " in
+ *" $deplib "*) ;;
+ *) new_libs="$new_libs $deplib" ;;
+ esac
+ ;;
+ *) new_libs="$new_libs $deplib" ;;
+ esac
+ done
+ compile_deplibs="$new_libs"
+
+
+ compile_command="$compile_command $compile_deplibs"
+ finalize_command="$finalize_command $finalize_deplibs"
+
+ if test -n "$rpath$xrpath"; then
+ # If the user specified any rpath flags, then add them.
+ for libdir in $rpath $xrpath; do
+ # This is the magic to use -rpath.
+ case "$finalize_rpath " in
+ *" $libdir "*) ;;
+ *) finalize_rpath="$finalize_rpath $libdir" ;;
+ esac
+ done
+ fi
+
+ # Now hardcode the library paths
+ rpath=
+ hardcode_libdirs=
+ for libdir in $compile_rpath $finalize_rpath; do
+ if test -n "$hardcode_libdir_flag_spec"; then
+ if test -n "$hardcode_libdir_separator"; then
+ if test -z "$hardcode_libdirs"; then
+ hardcode_libdirs="$libdir"
+ else
+ # Just accumulate the unique libdirs.
+ case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in
+ *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
+ ;;
+ *)
+ hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir"
+ ;;
+ esac
+ fi
+ else
+ eval flag=\"$hardcode_libdir_flag_spec\"
+ rpath="$rpath $flag"
+ fi
+ elif test -n "$runpath_var"; then
+ case "$perm_rpath " in
+ *" $libdir "*) ;;
+ *) perm_rpath="$perm_rpath $libdir" ;;
+ esac
+ fi
+ case $host in
+ *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*)
+ testbindir=`${ECHO} "$libdir" | ${SED} -e 's*/lib$*/bin*'`
+ case :$dllsearchpath: in
+ *":$libdir:"*) ;;
+ ::) dllsearchpath=$libdir;;
+ *) dllsearchpath="$dllsearchpath:$libdir";;
+ esac
+ case :$dllsearchpath: in
+ *":$testbindir:"*) ;;
+ ::) dllsearchpath=$testbindir;;
+ *) dllsearchpath="$dllsearchpath:$testbindir";;
+ esac
+ ;;
+ esac
+ done
+ # Substitute the hardcoded libdirs into the rpath.
+ if test -n "$hardcode_libdir_separator" &&
+ test -n "$hardcode_libdirs"; then
+ libdir="$hardcode_libdirs"
+ eval rpath=\" $hardcode_libdir_flag_spec\"
+ fi
+ compile_rpath="$rpath"
+
+ rpath=
+ hardcode_libdirs=
+ for libdir in $finalize_rpath; do
+ if test -n "$hardcode_libdir_flag_spec"; then
+ if test -n "$hardcode_libdir_separator"; then
+ if test -z "$hardcode_libdirs"; then
+ hardcode_libdirs="$libdir"
+ else
+ # Just accumulate the unique libdirs.
+ case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in
+ *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
+ ;;
+ *)
+ hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir"
+ ;;
+ esac
+ fi
+ else
+ eval flag=\"$hardcode_libdir_flag_spec\"
+ rpath="$rpath $flag"
+ fi
+ elif test -n "$runpath_var"; then
+ case "$finalize_perm_rpath " in
+ *" $libdir "*) ;;
+ *) finalize_perm_rpath="$finalize_perm_rpath $libdir" ;;
+ esac
+ fi
+ done
+ # Substitute the hardcoded libdirs into the rpath.
+ if test -n "$hardcode_libdir_separator" &&
+ test -n "$hardcode_libdirs"; then
+ libdir="$hardcode_libdirs"
+ eval rpath=\" $hardcode_libdir_flag_spec\"
+ fi
+ finalize_rpath="$rpath"
+
+ if test -n "$libobjs" && test "$build_old_libs" = yes; then
+ # Transform all the library objects into standard objects.
+ compile_command=`$ECHO "X$compile_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
+ finalize_command=`$ECHO "X$finalize_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
+ fi
+
+ func_generate_dlsyms "$outputname" "@PROGRAM@" "no"
+
+ # template prelinking step
+ if test -n "$prelink_cmds"; then
+ func_execute_cmds "$prelink_cmds" 'exit $?'
+ fi
+
+ wrappers_required=yes
+ case $host in
+ *cygwin* | *mingw* )
+ if test "$build_libtool_libs" != yes; then
+ wrappers_required=no
+ fi
+ ;;
+ *cegcc)
+ # Disable wrappers for cegcc, we are cross compiling anyway.
+ wrappers_required=no
+ ;;
+ *)
+ if test "$need_relink" = no || test "$build_libtool_libs" != yes; then
+ wrappers_required=no
+ fi
+ ;;
+ esac
+ if test "$wrappers_required" = no; then
+ # Replace the output file specification.
+ compile_command=`$ECHO "X$compile_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'`
+ link_command="$compile_command$compile_rpath"
+
+ # We have no uninstalled library dependencies, so finalize right now.
+ exit_status=0
+ func_show_eval "$link_command" 'exit_status=$?'
+
+ # Delete the generated files.
+ if test -f "$output_objdir/${outputname}S.${objext}"; then
+ func_show_eval '$RM "$output_objdir/${outputname}S.${objext}"'
+ fi
+
+ exit $exit_status
+ fi
+
+ if test -n "$compile_shlibpath$finalize_shlibpath"; then
+ compile_command="$shlibpath_var=\"$compile_shlibpath$finalize_shlibpath\$$shlibpath_var\" $compile_command"
+ fi
+ if test -n "$finalize_shlibpath"; then
+ finalize_command="$shlibpath_var=\"$finalize_shlibpath\$$shlibpath_var\" $finalize_command"
+ fi
+
+ compile_var=
+ finalize_var=
+ if test -n "$runpath_var"; then
+ if test -n "$perm_rpath"; then
+ # We should set the runpath_var.
+ rpath=
+ for dir in $perm_rpath; do
+ rpath="$rpath$dir:"
+ done
+ compile_var="$runpath_var=\"$rpath\$$runpath_var\" "
+ fi
+ if test -n "$finalize_perm_rpath"; then
+ # We should set the runpath_var.
+ rpath=
+ for dir in $finalize_perm_rpath; do
+ rpath="$rpath$dir:"
+ done
+ finalize_var="$runpath_var=\"$rpath\$$runpath_var\" "
+ fi
+ fi
+
+ if test "$no_install" = yes; then
+ # We don't need to create a wrapper script.
+ link_command="$compile_var$compile_command$compile_rpath"
+ # Replace the output file specification.
+ link_command=`$ECHO "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'`
+ # Delete the old output file.
+ $opt_dry_run || $RM $output
+ # Link the executable and exit
+ func_show_eval "$link_command" 'exit $?'
+ exit $EXIT_SUCCESS
+ fi
+
+ if test "$hardcode_action" = relink; then
+ # Fast installation is not supported
+ link_command="$compile_var$compile_command$compile_rpath"
+ relink_command="$finalize_var$finalize_command$finalize_rpath"
+
+ func_warning "this platform does not like uninstalled shared libraries"
+ func_warning "\`$output' will be relinked during installation"
+ else
+ if test "$fast_install" != no; then
+ link_command="$finalize_var$compile_command$finalize_rpath"
+ if test "$fast_install" = yes; then
+ relink_command=`$ECHO "X$compile_var$compile_command$compile_rpath" | $Xsed -e 's%@OUTPUT@%\$progdir/\$file%g'`
+ else
+ # fast_install is set to needless
+ relink_command=
+ fi
+ else
+ link_command="$compile_var$compile_command$compile_rpath"
+ relink_command="$finalize_var$finalize_command$finalize_rpath"
+ fi
+ fi
+
+ # Replace the output file specification.
+ link_command=`$ECHO "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output_objdir/$outputname"'%g'`
+
+ # Delete the old output files.
+ $opt_dry_run || $RM $output $output_objdir/$outputname $output_objdir/lt-$outputname
+
+ func_show_eval "$link_command" 'exit $?'
+
+ # Now create the wrapper script.
+ func_verbose "creating $output"
+
+ # Quote the relink command for shipping.
+ if test -n "$relink_command"; then
+ # Preserve any variables that may affect compiler behavior
+ for var in $variables_saved_for_relink; do
+ if eval test -z \"\${$var+set}\"; then
+ relink_command="{ test -z \"\${$var+set}\" || $lt_unset $var || { $var=; export $var; }; }; $relink_command"
+ elif eval var_value=\$$var; test -z "$var_value"; then
+ relink_command="$var=; export $var; $relink_command"
+ else
+ func_quote_for_eval "$var_value"
+ relink_command="$var=$func_quote_for_eval_result; export $var; $relink_command"
+ fi
+ done
+ relink_command="(cd `pwd`; $relink_command)"
+ relink_command=`$ECHO "X$relink_command" | $Xsed -e "$sed_quote_subst"`
+ fi
+
+ # Quote $ECHO for shipping.
+ if test "X$ECHO" = "X$SHELL $progpath --fallback-echo"; then
+ case $progpath in
+ [\\/]* | [A-Za-z]:[\\/]*) qecho="$SHELL $progpath --fallback-echo";;
+ *) qecho="$SHELL `pwd`/$progpath --fallback-echo";;
+ esac
+ qecho=`$ECHO "X$qecho" | $Xsed -e "$sed_quote_subst"`
+ else
+ qecho=`$ECHO "X$ECHO" | $Xsed -e "$sed_quote_subst"`
+ fi
+
+ # Only actually do things if not in dry run mode.
+ $opt_dry_run || {
+ # win32 will think the script is a binary if it has
+ # a .exe suffix, so we strip it off here.
+ case $output in
+ *.exe) func_stripname '' '.exe' "$output"
+ output=$func_stripname_result ;;
+ esac
+ # test for cygwin because mv fails w/o .exe extensions
+ case $host in
+ *cygwin*)
+ exeext=.exe
+ func_stripname '' '.exe' "$outputname"
+ outputname=$func_stripname_result ;;
+ *) exeext= ;;
+ esac
+ case $host in
+ *cygwin* | *mingw* )
+ func_dirname_and_basename "$output" "" "."
+ output_name=$func_basename_result
+ output_path=$func_dirname_result
+ cwrappersource="$output_path/$objdir/lt-$output_name.c"
+ cwrapper="$output_path/$output_name.exe"
+ $RM $cwrappersource $cwrapper
+ trap "$RM $cwrappersource $cwrapper; exit $EXIT_FAILURE" 1 2 15
+
+ func_emit_cwrapperexe_src > $cwrappersource
+
+ # The wrapper executable is built using the $host compiler,
+ # because it contains $host paths and files. If cross-
+ # compiling, it, like the target executable, must be
+ # executed on the $host or under an emulation environment.
+ $opt_dry_run || {
+ $LTCC $LTCFLAGS -o $cwrapper $cwrappersource
+ $STRIP $cwrapper
+ }
+
+ # Now, create the wrapper script for func_source use:
+ func_ltwrapper_scriptname $cwrapper
+ $RM $func_ltwrapper_scriptname_result
+ trap "$RM $func_ltwrapper_scriptname_result; exit $EXIT_FAILURE" 1 2 15
+ $opt_dry_run || {
+ # note: this script will not be executed, so do not chmod.
+ if test "x$build" = "x$host" ; then
+ $cwrapper --lt-dump-script > $func_ltwrapper_scriptname_result
+ else
+ func_emit_wrapper no > $func_ltwrapper_scriptname_result
+ fi
+ }
+ ;;
+ * )
+ $RM $output
+ trap "$RM $output; exit $EXIT_FAILURE" 1 2 15
+
+ func_emit_wrapper no > $output
+ chmod +x $output
+ ;;
+ esac
+ }
+ exit $EXIT_SUCCESS
+ ;;
+ esac
+
+ # See if we need to build an old-fashioned archive.
+ for oldlib in $oldlibs; do
+
+ if test "$build_libtool_libs" = convenience; then
+ oldobjs="$libobjs_save $symfileobj"
+ addlibs="$convenience"
+ build_libtool_libs=no
+ else
+ if test "$build_libtool_libs" = module; then
+ oldobjs="$libobjs_save"
+ build_libtool_libs=no
+ else
+ oldobjs="$old_deplibs $non_pic_objects"
+ if test "$preload" = yes && test -f "$symfileobj"; then
+ oldobjs="$oldobjs $symfileobj"
+ fi
+ fi
+ addlibs="$old_convenience"
+ fi
+
+ if test -n "$addlibs"; then
+ gentop="$output_objdir/${outputname}x"
+ generated="$generated $gentop"
+
+ func_extract_archives $gentop $addlibs
+ oldobjs="$oldobjs $func_extract_archives_result"
+ fi
+
+ # Do each command in the archive commands.
+ if test -n "$old_archive_from_new_cmds" && test "$build_libtool_libs" = yes; then
+ cmds=$old_archive_from_new_cmds
+ else
+
+ # Add any objects from preloaded convenience libraries
+ if test -n "$dlprefiles"; then
+ gentop="$output_objdir/${outputname}x"
+ generated="$generated $gentop"
+
+ func_extract_archives $gentop $dlprefiles
+ oldobjs="$oldobjs $func_extract_archives_result"
+ fi
+
+ # POSIX demands no paths to be encoded in archives. We have
+ # to avoid creating archives with duplicate basenames if we
+ # might have to extract them afterwards, e.g., when creating a
+ # static archive out of a convenience library, or when linking
+ # the entirety of a libtool archive into another (currently
+ # not supported by libtool).
+ if (for obj in $oldobjs
+ do
+ func_basename "$obj"
+ $ECHO "$func_basename_result"
+ done | sort | sort -uc >/dev/null 2>&1); then
+ :
+ else
+ $ECHO "copying selected object files to avoid basename conflicts..."
+ gentop="$output_objdir/${outputname}x"
+ generated="$generated $gentop"
+ func_mkdir_p "$gentop"
+ save_oldobjs=$oldobjs
+ oldobjs=
+ counter=1
+ for obj in $save_oldobjs
+ do
+ func_basename "$obj"
+ objbase="$func_basename_result"
+ case " $oldobjs " in
+ " ") oldobjs=$obj ;;
+ *[\ /]"$objbase "*)
+ while :; do
+ # Make sure we don't pick an alternate name that also
+ # overlaps.
+ newobj=lt$counter-$objbase
+ func_arith $counter + 1
+ counter=$func_arith_result
+ case " $oldobjs " in
+ *[\ /]"$newobj "*) ;;
+ *) if test ! -f "$gentop/$newobj"; then break; fi ;;
+ esac
+ done
+ func_show_eval "ln $obj $gentop/$newobj || cp $obj $gentop/$newobj"
+ oldobjs="$oldobjs $gentop/$newobj"
+ ;;
+ *) oldobjs="$oldobjs $obj" ;;
+ esac
+ done
+ fi
+ eval cmds=\"$old_archive_cmds\"
+
+ func_len " $cmds"
+ len=$func_len_result
+ if test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then
+ cmds=$old_archive_cmds
+ else
+ # the command line is too long to link in one step, link in parts
+ func_verbose "using piecewise archive linking..."
+ save_RANLIB=$RANLIB
+ RANLIB=:
+ objlist=
+ concat_cmds=
+ save_oldobjs=$oldobjs
+ oldobjs=
+ # Is there a better way of finding the last object in the list?
+ for obj in $save_oldobjs
+ do
+ last_oldobj=$obj
+ done
+ eval test_cmds=\"$old_archive_cmds\"
+ func_len " $test_cmds"
+ len0=$func_len_result
+ len=$len0
+ for obj in $save_oldobjs
+ do
+ func_len " $obj"
+ func_arith $len + $func_len_result
+ len=$func_arith_result
+ func_append objlist " $obj"
+ if test "$len" -lt "$max_cmd_len"; then
+ :
+ else
+ # the above command should be used before it gets too long
+ oldobjs=$objlist
+ if test "$obj" = "$last_oldobj" ; then
+ RANLIB=$save_RANLIB
+ fi
+ test -z "$concat_cmds" || concat_cmds=$concat_cmds~
+ eval concat_cmds=\"\${concat_cmds}$old_archive_cmds\"
+ objlist=
+ len=$len0
+ fi
+ done
+ RANLIB=$save_RANLIB
+ oldobjs=$objlist
+ if test "X$oldobjs" = "X" ; then
+ eval cmds=\"\$concat_cmds\"
+ else
+ eval cmds=\"\$concat_cmds~\$old_archive_cmds\"
+ fi
+ fi
+ fi
+ func_execute_cmds "$cmds" 'exit $?'
+ done
+
+ test -n "$generated" && \
+ func_show_eval "${RM}r$generated"
+
+ # Now create the libtool archive.
+ case $output in
+ *.la)
+ old_library=
+ test "$build_old_libs" = yes && old_library="$libname.$libext"
+ func_verbose "creating $output"
+
+ # Preserve any variables that may affect compiler behavior
+ for var in $variables_saved_for_relink; do
+ if eval test -z \"\${$var+set}\"; then
+ relink_command="{ test -z \"\${$var+set}\" || $lt_unset $var || { $var=; export $var; }; }; $relink_command"
+ elif eval var_value=\$$var; test -z "$var_value"; then
+ relink_command="$var=; export $var; $relink_command"
+ else
+ func_quote_for_eval "$var_value"
+ relink_command="$var=$func_quote_for_eval_result; export $var; $relink_command"
+ fi
+ done
+ # Quote the link command for shipping.
+ relink_command="(cd `pwd`; $SHELL $progpath $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)"
+ relink_command=`$ECHO "X$relink_command" | $Xsed -e "$sed_quote_subst"`
+ if test "$hardcode_automatic" = yes ; then
+ relink_command=
+ fi
+
+ # Only create the output if not a dry run.
+ $opt_dry_run || {
+ for installed in no yes; do
+ if test "$installed" = yes; then
+ if test -z "$install_libdir"; then
+ break
+ fi
+ output="$output_objdir/$outputname"i
+ # Replace all uninstalled libtool libraries with the installed ones
+ newdependency_libs=
+ for deplib in $dependency_libs; do
+ case $deplib in
+ *.la)
+ func_basename "$deplib"
+ name="$func_basename_result"
+ eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
+ test -z "$libdir" && \
+ func_fatal_error "\`$deplib' is not a valid libtool archive"
+ newdependency_libs="$newdependency_libs $libdir/$name"
+ ;;
+ *) newdependency_libs="$newdependency_libs $deplib" ;;
+ esac
+ done
+ dependency_libs="$newdependency_libs"
+ newdlfiles=
+
+ for lib in $dlfiles; do
+ case $lib in
+ *.la)
+ func_basename "$lib"
+ name="$func_basename_result"
+ eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib`
+ test -z "$libdir" && \
+ func_fatal_error "\`$lib' is not a valid libtool archive"
+ newdlfiles="$newdlfiles $libdir/$name"
+ ;;
+ *) newdlfiles="$newdlfiles $lib" ;;
+ esac
+ done
+ dlfiles="$newdlfiles"
+ newdlprefiles=
+ for lib in $dlprefiles; do
+ case $lib in
+ *.la)
+ # Only pass preopened files to the pseudo-archive (for
+ # eventual linking with the app. that links it) if we
+ # didn't already link the preopened objects directly into
+ # the library:
+ func_basename "$lib"
+ name="$func_basename_result"
+ eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib`
+ test -z "$libdir" && \
+ func_fatal_error "\`$lib' is not a valid libtool archive"
+ newdlprefiles="$newdlprefiles $libdir/$name"
+ ;;
+ esac
+ done
+ dlprefiles="$newdlprefiles"
+ else
+ newdlfiles=
+ for lib in $dlfiles; do
+ case $lib in
+ [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;;
+ *) abs=`pwd`"/$lib" ;;
+ esac
+ newdlfiles="$newdlfiles $abs"
+ done
+ dlfiles="$newdlfiles"
+ newdlprefiles=
+ for lib in $dlprefiles; do
+ case $lib in
+ [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;;
+ *) abs=`pwd`"/$lib" ;;
+ esac
+ newdlprefiles="$newdlprefiles $abs"
+ done
+ dlprefiles="$newdlprefiles"
+ fi
+ $RM $output
+ # place dlname in correct position for cygwin
+ tdlname=$dlname
+ case $host,$output,$installed,$module,$dlname in
+ *cygwin*,*lai,yes,no,*.dll | *mingw*,*lai,yes,no,*.dll | *cegcc*,*lai,yes,no,*.dll) tdlname=../bin/$dlname ;;
+ esac
+ $ECHO > $output "\
+# $outputname - a libtool library file
+# Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# The name that we can dlopen(3).
+dlname='$tdlname'
+
+# Names of this library.
+library_names='$library_names'
+
+# The name of the static archive.
+old_library='$old_library'
+
+# Linker flags that can not go in dependency_libs.
+inherited_linker_flags='$new_inherited_linker_flags'
+
+# Libraries that this one depends upon.
+dependency_libs='$dependency_libs'
+
+# Names of additional weak libraries provided by this library
+weak_library_names='$weak_libs'
+
+# Version information for $libname.
+current=$current
+age=$age
+revision=$revision
+
+# Is this an already installed library?
+installed=$installed
+
+# Should we warn about portability when linking against -modules?
+shouldnotlink=$module
+
+# Files to dlopen/dlpreopen
+dlopen='$dlfiles'
+dlpreopen='$dlprefiles'
+
+# Directory that this library needs to be installed in:
+libdir='$install_libdir'"
+ if test "$installed" = no && test "$need_relink" = yes; then
+ $ECHO >> $output "\
+relink_command=\"$relink_command\""
+ fi
+ done
+ }
+
+ # Do a symbolic link so that the libtool archive can be found in
+ # LD_LIBRARY_PATH before the program is installed.
+ func_show_eval '( cd "$output_objdir" && $RM "$outputname" && $LN_S "../$outputname" "$outputname" )' 'exit $?'
+ ;;
+ esac
+ exit $EXIT_SUCCESS
+}
+
+{ test "$mode" = link || test "$mode" = relink; } &&
+ func_mode_link ${1+"$@"}
+
+
+# func_mode_uninstall arg...
+func_mode_uninstall ()
+{
+ $opt_debug
+ RM="$nonopt"
+ files=
+ rmforce=
+ exit_status=0
+
+ # This variable tells wrapper scripts just to set variables rather
+ # than running their programs.
+ libtool_install_magic="$magic"
+
+ for arg
+ do
+ case $arg in
+ -f) RM="$RM $arg"; rmforce=yes ;;
+ -*) RM="$RM $arg" ;;
+ *) files="$files $arg" ;;
+ esac
+ done
+
+ test -z "$RM" && \
+ func_fatal_help "you must specify an RM program"
+
+ rmdirs=
+
+ origobjdir="$objdir"
+ for file in $files; do
+ func_dirname "$file" "" "."
+ dir="$func_dirname_result"
+ if test "X$dir" = X.; then
+ objdir="$origobjdir"
+ else
+ objdir="$dir/$origobjdir"
+ fi
+ func_basename "$file"
+ name="$func_basename_result"
+ test "$mode" = uninstall && objdir="$dir"
+
+ # Remember objdir for removal later, being careful to avoid duplicates
+ if test "$mode" = clean; then
+ case " $rmdirs " in
+ *" $objdir "*) ;;
+ *) rmdirs="$rmdirs $objdir" ;;
+ esac
+ fi
+
+ # Don't error if the file doesn't exist and rm -f was used.
+ if { test -L "$file"; } >/dev/null 2>&1 ||
+ { test -h "$file"; } >/dev/null 2>&1 ||
+ test -f "$file"; then
+ :
+ elif test -d "$file"; then
+ exit_status=1
+ continue
+ elif test "$rmforce" = yes; then
+ continue
+ fi
+
+ rmfiles="$file"
+
+ case $name in
+ *.la)
+ # Possibly a libtool archive, so verify it.
+ if func_lalib_p "$file"; then
+ func_source $dir/$name
+
+ # Delete the libtool libraries and symlinks.
+ for n in $library_names; do
+ rmfiles="$rmfiles $objdir/$n"
+ done
+ test -n "$old_library" && rmfiles="$rmfiles $objdir/$old_library"
+
+ case "$mode" in
+ clean)
+ case " $library_names " in
+ # " " in the beginning catches empty $dlname
+ *" $dlname "*) ;;
+ *) rmfiles="$rmfiles $objdir/$dlname" ;;
+ esac
+ test -n "$libdir" && rmfiles="$rmfiles $objdir/$name $objdir/${name}i"
+ ;;
+ uninstall)
+ if test -n "$library_names"; then
+ # Do each command in the postuninstall commands.
+ func_execute_cmds "$postuninstall_cmds" 'test "$rmforce" = yes || exit_status=1'
+ fi
+
+ if test -n "$old_library"; then
+ # Do each command in the old_postuninstall commands.
+ func_execute_cmds "$old_postuninstall_cmds" 'test "$rmforce" = yes || exit_status=1'
+ fi
+ # FIXME: should reinstall the best remaining shared library.
+ ;;
+ esac
+ fi
+ ;;
+
+ *.lo)
+ # Possibly a libtool object, so verify it.
+ if func_lalib_p "$file"; then
+
+ # Read the .lo file
+ func_source $dir/$name
+
+ # Add PIC object to the list of files to remove.
+ if test -n "$pic_object" &&
+ test "$pic_object" != none; then
+ rmfiles="$rmfiles $dir/$pic_object"
+ fi
+
+ # Add non-PIC object to the list of files to remove.
+ if test -n "$non_pic_object" &&
+ test "$non_pic_object" != none; then
+ rmfiles="$rmfiles $dir/$non_pic_object"
+ fi
+ fi
+ ;;
+
+ *)
+ if test "$mode" = clean ; then
+ noexename=$name
+ case $file in
+ *.exe)
+ func_stripname '' '.exe' "$file"
+ file=$func_stripname_result
+ func_stripname '' '.exe' "$name"
+ noexename=$func_stripname_result
+ # $file with .exe has already been added to rmfiles,
+ # add $file without .exe
+ rmfiles="$rmfiles $file"
+ ;;
+ esac
+ # Do a test to see if this is a libtool program.
+ if func_ltwrapper_p "$file"; then
+ if func_ltwrapper_executable_p "$file"; then
+ func_ltwrapper_scriptname "$file"
+ relink_command=
+ func_source $func_ltwrapper_scriptname_result
+ rmfiles="$rmfiles $func_ltwrapper_scriptname_result"
+ else
+ relink_command=
+ func_source $dir/$noexename
+ fi
+
+ # note $name still contains .exe if it was in $file originally
+ # as does the version of $file that was added into $rmfiles
+ rmfiles="$rmfiles $objdir/$name $objdir/${name}S.${objext}"
+ if test "$fast_install" = yes && test -n "$relink_command"; then
+ rmfiles="$rmfiles $objdir/lt-$name"
+ fi
+ if test "X$noexename" != "X$name" ; then
+ rmfiles="$rmfiles $objdir/lt-${noexename}.c"
+ fi
+ fi
+ fi
+ ;;
+ esac
+ func_show_eval "$RM $rmfiles" 'exit_status=1'
+ done
+ objdir="$origobjdir"
+
+ # Try to remove the ${objdir}s in the directories where we deleted files
+ for dir in $rmdirs; do
+ if test -d "$dir"; then
+ func_show_eval "rmdir $dir >/dev/null 2>&1"
+ fi
+ done
+
+ exit $exit_status
+}
+
+{ test "$mode" = uninstall || test "$mode" = clean; } &&
+ func_mode_uninstall ${1+"$@"}
+
+test -z "$mode" && {
+ help="$generic_help"
+ func_fatal_help "you must specify a MODE"
+}
+
+test -z "$exec_cmd" && \
+ func_fatal_help "invalid operation mode \`$mode'"
+
+if test -n "$exec_cmd"; then
+ eval exec "$exec_cmd"
+ exit $EXIT_FAILURE
+fi
+
+exit $exit_status
+
+
+# The TAGs below are defined such that we never get into a situation
+# in which we disable both kinds of libraries. Given conflicting
+# choices, we go for a static library, that is the most portable,
+# since we can't tell whether shared libraries were disabled because
+# the user asked for that or because the platform doesn't support
+# them. This is particularly important on AIX, because we don't
+# support having both static and shared libraries enabled at the same
+# time on that platform, so we default to a shared-only configuration.
+# If a disable-shared tag is given, we'll fallback to a static-only
+# configuration. But we'll never go from static-only to shared-only.
+
+# ### BEGIN LIBTOOL TAG CONFIG: disable-shared
+build_libtool_libs=no
+build_old_libs=yes
+# ### END LIBTOOL TAG CONFIG: disable-shared
+
+# ### BEGIN LIBTOOL TAG CONFIG: disable-static
+build_old_libs=`case $build_libtool_libs in yes) echo no;; *) echo yes;; esac`
+# ### END LIBTOOL TAG CONFIG: disable-static
+
+# Local Variables:
+# mode:shell-script
+# sh-indentation:2
+# End:
+# vi:sw=2
+
--- /dev/null
+dnl Do not call GNOME_DOC_DEFINES directly. It is split out from
+dnl GNOME_DOC_INIT to allow gnome-doc-utils to bootstrap off itself.
+AC_DEFUN([GNOME_DOC_DEFINES],
+[
+AC_ARG_WITH([help-dir],
+ AC_HELP_STRING([--with-help-dir=DIR], [path to help docs]),,
+ [with_help_dir='${datadir}/gnome/help'])
+HELP_DIR="$with_help_dir"
+AC_SUBST(HELP_DIR)
+
+AC_ARG_WITH([omf-dir],
+ AC_HELP_STRING([--with-omf-dir=DIR], [path to OMF files]),,
+ [with_omf_dir='${datadir}/omf'])
+OMF_DIR="$with_omf_dir"
+AC_SUBST(OMF_DIR)
+
+AC_ARG_WITH([help-formats],
+ AC_HELP_STRING([--with-help-formats=FORMATS], [list of formats]),,
+ [with_help_formats=''])
+DOC_USER_FORMATS="$with_help_formats"
+AC_SUBST(DOC_USER_FORMATS)
+
+AC_ARG_ENABLE([scrollkeeper],
+ [AC_HELP_STRING([--disable-scrollkeeper],
+ [do not make updates to the scrollkeeper database])],,
+ enable_scrollkeeper=yes)
+AM_CONDITIONAL([ENABLE_SK],[test "$gdu_cv_have_gdu" = "yes" -a "$enable_scrollkeeper" = "yes"])
+
+dnl disable scrollkeeper automatically for distcheck
+DISTCHECK_CONFIGURE_FLAGS="--disable-scrollkeeper $DISTCHECK_CONFIGURE_FLAGS"
+AC_SUBST(DISTCHECK_CONFIGURE_FLAGS)
+
+AM_CONDITIONAL([HAVE_GNOME_DOC_UTILS],[test "$gdu_cv_have_gdu" = "yes"])
+])
+
+# GNOME_DOC_INIT ([MINIMUM-VERSION],[ACTION-IF-FOUND],[ACTION-IF-NOT-FOUND])
+#
+AC_DEFUN([GNOME_DOC_INIT],
+[AC_REQUIRE([AC_PROG_LN_S])dnl
+
+ifelse([$1],,[gdu_cv_version_required=0.3.2],[gdu_cv_version_required=$1])
+
+AC_MSG_CHECKING([gnome-doc-utils >= $gdu_cv_version_required])
+PKG_CHECK_EXISTS([gnome-doc-utils >= $gdu_cv_version_required],
+ [gdu_cv_have_gdu=yes],[gdu_cv_have_gdu=no])
+
+if test "$gdu_cv_have_gdu" = "yes"; then
+ AC_MSG_RESULT([yes])
+ ifelse([$2],,[:],[$2])
+else
+ AC_MSG_RESULT([no])
+ ifelse([$3],,[AC_MSG_ERROR([gnome-doc-utils >= $gdu_cv_version_required not found])],[$3])
+fi
+
+GNOME_DOC_DEFINES
+])
--- /dev/null
+# libtool.m4 - Configure libtool for the host system. -*-Autoconf-*-
+#
+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
+# 2006, 2007, 2008 Free Software Foundation, Inc.
+# Written by Gordon Matzigkeit, 1996
+#
+# 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.
+
+m4_define([_LT_COPYING], [dnl
+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
+# 2006, 2007, 2008 Free Software Foundation, Inc.
+# Written by Gordon Matzigkeit, 1996
+#
+# This file is part of GNU Libtool.
+#
+# GNU Libtool is free software; you can redistribute 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.
+#
+# As a special exception to the GNU General Public License,
+# if you distribute this file as part of a program or library that
+# is built using GNU Libtool, you may include this file under the
+# same distribution terms that you use for the rest of that program.
+#
+# GNU Libtool is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with GNU Libtool; see the file COPYING. If not, a copy
+# can be downloaded from http://www.gnu.org/licenses/gpl.html, or
+# obtained by writing to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+])
+
+# serial 56 LT_INIT
+
+
+# LT_PREREQ(VERSION)
+# ------------------
+# Complain and exit if this libtool version is less that VERSION.
+m4_defun([LT_PREREQ],
+[m4_if(m4_version_compare(m4_defn([LT_PACKAGE_VERSION]), [$1]), -1,
+ [m4_default([$3],
+ [m4_fatal([Libtool version $1 or higher is required],
+ 63)])],
+ [$2])])
+
+
+# _LT_CHECK_BUILDDIR
+# ------------------
+# Complain if the absolute build directory name contains unusual characters
+m4_defun([_LT_CHECK_BUILDDIR],
+[case `pwd` in
+ *\ * | *\ *)
+ AC_MSG_WARN([Libtool does not cope well with whitespace in `pwd`]) ;;
+esac
+])
+
+
+# LT_INIT([OPTIONS])
+# ------------------
+AC_DEFUN([LT_INIT],
+[AC_PREREQ([2.58])dnl We use AC_INCLUDES_DEFAULT
+AC_BEFORE([$0], [LT_LANG])dnl
+AC_BEFORE([$0], [LT_OUTPUT])dnl
+AC_BEFORE([$0], [LTDL_INIT])dnl
+m4_require([_LT_CHECK_BUILDDIR])dnl
+
+dnl Autoconf doesn't catch unexpanded LT_ macros by default:
+m4_pattern_forbid([^_?LT_[A-Z_]+$])dnl
+m4_pattern_allow([^(_LT_EOF|LT_DLGLOBAL|LT_DLLAZY_OR_NOW|LT_MULTI_MODULE)$])dnl
+dnl aclocal doesn't pull ltoptions.m4, ltsugar.m4, or ltversion.m4
+dnl unless we require an AC_DEFUNed macro:
+AC_REQUIRE([LTOPTIONS_VERSION])dnl
+AC_REQUIRE([LTSUGAR_VERSION])dnl
+AC_REQUIRE([LTVERSION_VERSION])dnl
+AC_REQUIRE([LTOBSOLETE_VERSION])dnl
+m4_require([_LT_PROG_LTMAIN])dnl
+
+dnl Parse OPTIONS
+_LT_SET_OPTIONS([$0], [$1])
+
+# This can be used to rebuild libtool when needed
+LIBTOOL_DEPS="$ltmain"
+
+# Always use our own libtool.
+LIBTOOL='$(SHELL) $(top_builddir)/libtool'
+AC_SUBST(LIBTOOL)dnl
+
+_LT_SETUP
+
+# Only expand once:
+m4_define([LT_INIT])
+])# LT_INIT
+
+# Old names:
+AU_ALIAS([AC_PROG_LIBTOOL], [LT_INIT])
+AU_ALIAS([AM_PROG_LIBTOOL], [LT_INIT])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_PROG_LIBTOOL], [])
+dnl AC_DEFUN([AM_PROG_LIBTOOL], [])
+
+
+# _LT_CC_BASENAME(CC)
+# -------------------
+# Calculate cc_basename. Skip known compiler wrappers and cross-prefix.
+m4_defun([_LT_CC_BASENAME],
+[for cc_temp in $1""; do
+ case $cc_temp in
+ compile | *[[\\/]]compile | ccache | *[[\\/]]ccache ) ;;
+ distcc | *[[\\/]]distcc | purify | *[[\\/]]purify ) ;;
+ \-*) ;;
+ *) break;;
+ esac
+done
+cc_basename=`$ECHO "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
+])
+
+
+# _LT_FILEUTILS_DEFAULTS
+# ----------------------
+# It is okay to use these file commands and assume they have been set
+# sensibly after `m4_require([_LT_FILEUTILS_DEFAULTS])'.
+m4_defun([_LT_FILEUTILS_DEFAULTS],
+[: ${CP="cp -f"}
+: ${MV="mv -f"}
+: ${RM="rm -f"}
+])# _LT_FILEUTILS_DEFAULTS
+
+
+# _LT_SETUP
+# ---------
+m4_defun([_LT_SETUP],
+[AC_REQUIRE([AC_CANONICAL_HOST])dnl
+AC_REQUIRE([AC_CANONICAL_BUILD])dnl
+_LT_DECL([], [host_alias], [0], [The host system])dnl
+_LT_DECL([], [host], [0])dnl
+_LT_DECL([], [host_os], [0])dnl
+dnl
+_LT_DECL([], [build_alias], [0], [The build system])dnl
+_LT_DECL([], [build], [0])dnl
+_LT_DECL([], [build_os], [0])dnl
+dnl
+AC_REQUIRE([AC_PROG_CC])dnl
+AC_REQUIRE([LT_PATH_LD])dnl
+AC_REQUIRE([LT_PATH_NM])dnl
+dnl
+AC_REQUIRE([AC_PROG_LN_S])dnl
+test -z "$LN_S" && LN_S="ln -s"
+_LT_DECL([], [LN_S], [1], [Whether we need soft or hard links])dnl
+dnl
+AC_REQUIRE([LT_CMD_MAX_LEN])dnl
+_LT_DECL([objext], [ac_objext], [0], [Object file suffix (normally "o")])dnl
+_LT_DECL([], [exeext], [0], [Executable file suffix (normally "")])dnl
+dnl
+m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+m4_require([_LT_CHECK_SHELL_FEATURES])dnl
+m4_require([_LT_CMD_RELOAD])dnl
+m4_require([_LT_CHECK_MAGIC_METHOD])dnl
+m4_require([_LT_CMD_OLD_ARCHIVE])dnl
+m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl
+
+_LT_CONFIG_LIBTOOL_INIT([
+# See if we are running on zsh, and set the options which allow our
+# commands through without removal of \ escapes INIT.
+if test -n "\${ZSH_VERSION+set}" ; then
+ setopt NO_GLOB_SUBST
+fi
+])
+if test -n "${ZSH_VERSION+set}" ; then
+ setopt NO_GLOB_SUBST
+fi
+
+_LT_CHECK_OBJDIR
+
+m4_require([_LT_TAG_COMPILER])dnl
+_LT_PROG_ECHO_BACKSLASH
+
+case $host_os in
+aix3*)
+ # AIX sometimes has problems with the GCC collect2 program. For some
+ # reason, if we set the COLLECT_NAMES environment variable, the problems
+ # vanish in a puff of smoke.
+ if test "X${COLLECT_NAMES+set}" != Xset; then
+ COLLECT_NAMES=
+ export COLLECT_NAMES
+ fi
+ ;;
+esac
+
+# Sed substitution that helps us do robust quoting. It backslashifies
+# metacharacters that are still active within double-quoted strings.
+sed_quote_subst='s/\([["`$\\]]\)/\\\1/g'
+
+# Same as above, but do not quote variable references.
+double_quote_subst='s/\([["`\\]]\)/\\\1/g'
+
+# Sed substitution to delay expansion of an escaped shell variable in a
+# double_quote_subst'ed string.
+delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g'
+
+# Sed substitution to delay expansion of an escaped single quote.
+delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g'
+
+# Sed substitution to avoid accidental globbing in evaled expressions
+no_glob_subst='s/\*/\\\*/g'
+
+# Global variables:
+ofile=libtool
+can_build_shared=yes
+
+# All known linkers require a `.a' archive for static linking (except MSVC,
+# which needs '.lib').
+libext=a
+
+with_gnu_ld="$lt_cv_prog_gnu_ld"
+
+old_CC="$CC"
+old_CFLAGS="$CFLAGS"
+
+# Set sane defaults for various variables
+test -z "$CC" && CC=cc
+test -z "$LTCC" && LTCC=$CC
+test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS
+test -z "$LD" && LD=ld
+test -z "$ac_objext" && ac_objext=o
+
+_LT_CC_BASENAME([$compiler])
+
+# Only perform the check for file, if the check method requires it
+test -z "$MAGIC_CMD" && MAGIC_CMD=file
+case $deplibs_check_method in
+file_magic*)
+ if test "$file_magic_cmd" = '$MAGIC_CMD'; then
+ _LT_PATH_MAGIC
+ fi
+ ;;
+esac
+
+# Use C for the default configuration in the libtool script
+LT_SUPPORTED_TAG([CC])
+_LT_LANG_C_CONFIG
+_LT_LANG_DEFAULT_CONFIG
+_LT_CONFIG_COMMANDS
+])# _LT_SETUP
+
+
+# _LT_PROG_LTMAIN
+# ---------------
+# Note that this code is called both from `configure', and `config.status'
+# now that we use AC_CONFIG_COMMANDS to generate libtool. Notably,
+# `config.status' has no value for ac_aux_dir unless we are using Automake,
+# so we pass a copy along to make sure it has a sensible value anyway.
+m4_defun([_LT_PROG_LTMAIN],
+[m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([ltmain.sh])])dnl
+_LT_CONFIG_LIBTOOL_INIT([ac_aux_dir='$ac_aux_dir'])
+ltmain="$ac_aux_dir/ltmain.sh"
+])# _LT_PROG_LTMAIN
+
+
+## ------------------------------------- ##
+## Accumulate code for creating libtool. ##
+## ------------------------------------- ##
+
+# So that we can recreate a full libtool script including additional
+# tags, we accumulate the chunks of code to send to AC_CONFIG_COMMANDS
+# in macros and then make a single call at the end using the `libtool'
+# label.
+
+
+# _LT_CONFIG_LIBTOOL_INIT([INIT-COMMANDS])
+# ----------------------------------------
+# Register INIT-COMMANDS to be passed to AC_CONFIG_COMMANDS later.
+m4_define([_LT_CONFIG_LIBTOOL_INIT],
+[m4_ifval([$1],
+ [m4_append([_LT_OUTPUT_LIBTOOL_INIT],
+ [$1
+])])])
+
+# Initialize.
+m4_define([_LT_OUTPUT_LIBTOOL_INIT])
+
+
+# _LT_CONFIG_LIBTOOL([COMMANDS])
+# ------------------------------
+# Register COMMANDS to be passed to AC_CONFIG_COMMANDS later.
+m4_define([_LT_CONFIG_LIBTOOL],
+[m4_ifval([$1],
+ [m4_append([_LT_OUTPUT_LIBTOOL_COMMANDS],
+ [$1
+])])])
+
+# Initialize.
+m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS])
+
+
+# _LT_CONFIG_SAVE_COMMANDS([COMMANDS], [INIT_COMMANDS])
+# -----------------------------------------------------
+m4_defun([_LT_CONFIG_SAVE_COMMANDS],
+[_LT_CONFIG_LIBTOOL([$1])
+_LT_CONFIG_LIBTOOL_INIT([$2])
+])
+
+
+# _LT_FORMAT_COMMENT([COMMENT])
+# -----------------------------
+# Add leading comment marks to the start of each line, and a trailing
+# full-stop to the whole comment if one is not present already.
+m4_define([_LT_FORMAT_COMMENT],
+[m4_ifval([$1], [
+m4_bpatsubst([m4_bpatsubst([$1], [^ *], [# ])],
+ [['`$\]], [\\\&])]m4_bmatch([$1], [[!?.]$], [], [.])
+)])
+
+
+
+## ------------------------ ##
+## FIXME: Eliminate VARNAME ##
+## ------------------------ ##
+
+
+# _LT_DECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION], [IS-TAGGED?])
+# -------------------------------------------------------------------
+# CONFIGNAME is the name given to the value in the libtool script.
+# VARNAME is the (base) name used in the configure script.
+# VALUE may be 0, 1 or 2 for a computed quote escaped value based on
+# VARNAME. Any other value will be used directly.
+m4_define([_LT_DECL],
+[lt_if_append_uniq([lt_decl_varnames], [$2], [, ],
+ [lt_dict_add_subkey([lt_decl_dict], [$2], [libtool_name],
+ [m4_ifval([$1], [$1], [$2])])
+ lt_dict_add_subkey([lt_decl_dict], [$2], [value], [$3])
+ m4_ifval([$4],
+ [lt_dict_add_subkey([lt_decl_dict], [$2], [description], [$4])])
+ lt_dict_add_subkey([lt_decl_dict], [$2],
+ [tagged?], [m4_ifval([$5], [yes], [no])])])
+])
+
+
+# _LT_TAGDECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION])
+# --------------------------------------------------------
+m4_define([_LT_TAGDECL], [_LT_DECL([$1], [$2], [$3], [$4], [yes])])
+
+
+# lt_decl_tag_varnames([SEPARATOR], [VARNAME1...])
+# ------------------------------------------------
+m4_define([lt_decl_tag_varnames],
+[_lt_decl_filter([tagged?], [yes], $@)])
+
+
+# _lt_decl_filter(SUBKEY, VALUE, [SEPARATOR], [VARNAME1..])
+# ---------------------------------------------------------
+m4_define([_lt_decl_filter],
+[m4_case([$#],
+ [0], [m4_fatal([$0: too few arguments: $#])],
+ [1], [m4_fatal([$0: too few arguments: $#: $1])],
+ [2], [lt_dict_filter([lt_decl_dict], [$1], [$2], [], lt_decl_varnames)],
+ [3], [lt_dict_filter([lt_decl_dict], [$1], [$2], [$3], lt_decl_varnames)],
+ [lt_dict_filter([lt_decl_dict], $@)])[]dnl
+])
+
+
+# lt_decl_quote_varnames([SEPARATOR], [VARNAME1...])
+# --------------------------------------------------
+m4_define([lt_decl_quote_varnames],
+[_lt_decl_filter([value], [1], $@)])
+
+
+# lt_decl_dquote_varnames([SEPARATOR], [VARNAME1...])
+# ---------------------------------------------------
+m4_define([lt_decl_dquote_varnames],
+[_lt_decl_filter([value], [2], $@)])
+
+
+# lt_decl_varnames_tagged([SEPARATOR], [VARNAME1...])
+# ---------------------------------------------------
+m4_define([lt_decl_varnames_tagged],
+[m4_assert([$# <= 2])dnl
+_$0(m4_quote(m4_default([$1], [[, ]])),
+ m4_ifval([$2], [[$2]], [m4_dquote(lt_decl_tag_varnames)]),
+ m4_split(m4_normalize(m4_quote(_LT_TAGS)), [ ]))])
+m4_define([_lt_decl_varnames_tagged],
+[m4_ifval([$3], [lt_combine([$1], [$2], [_], $3)])])
+
+
+# lt_decl_all_varnames([SEPARATOR], [VARNAME1...])
+# ------------------------------------------------
+m4_define([lt_decl_all_varnames],
+[_$0(m4_quote(m4_default([$1], [[, ]])),
+ m4_if([$2], [],
+ m4_quote(lt_decl_varnames),
+ m4_quote(m4_shift($@))))[]dnl
+])
+m4_define([_lt_decl_all_varnames],
+[lt_join($@, lt_decl_varnames_tagged([$1],
+ lt_decl_tag_varnames([[, ]], m4_shift($@))))dnl
+])
+
+
+# _LT_CONFIG_STATUS_DECLARE([VARNAME])
+# ------------------------------------
+# Quote a variable value, and forward it to `config.status' so that its
+# declaration there will have the same value as in `configure'. VARNAME
+# must have a single quote delimited value for this to work.
+m4_define([_LT_CONFIG_STATUS_DECLARE],
+[$1='`$ECHO "X$][$1" | $Xsed -e "$delay_single_quote_subst"`'])
+
+
+# _LT_CONFIG_STATUS_DECLARATIONS
+# ------------------------------
+# We delimit libtool config variables with single quotes, so when
+# we write them to config.status, we have to be sure to quote all
+# embedded single quotes properly. In configure, this macro expands
+# each variable declared with _LT_DECL (and _LT_TAGDECL) into:
+#
+# <var>='`$ECHO "X$<var>" | $Xsed -e "$delay_single_quote_subst"`'
+m4_defun([_LT_CONFIG_STATUS_DECLARATIONS],
+[m4_foreach([_lt_var], m4_quote(lt_decl_all_varnames),
+ [m4_n([_LT_CONFIG_STATUS_DECLARE(_lt_var)])])])
+
+
+# _LT_LIBTOOL_TAGS
+# ----------------
+# Output comment and list of tags supported by the script
+m4_defun([_LT_LIBTOOL_TAGS],
+[_LT_FORMAT_COMMENT([The names of the tagged configurations supported by this script])dnl
+available_tags="_LT_TAGS"dnl
+])
+
+
+# _LT_LIBTOOL_DECLARE(VARNAME, [TAG])
+# -----------------------------------
+# Extract the dictionary values for VARNAME (optionally with TAG) and
+# expand to a commented shell variable setting:
+#
+# # Some comment about what VAR is for.
+# visible_name=$lt_internal_name
+m4_define([_LT_LIBTOOL_DECLARE],
+[_LT_FORMAT_COMMENT(m4_quote(lt_dict_fetch([lt_decl_dict], [$1],
+ [description])))[]dnl
+m4_pushdef([_libtool_name],
+ m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [libtool_name])))[]dnl
+m4_case(m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [value])),
+ [0], [_libtool_name=[$]$1],
+ [1], [_libtool_name=$lt_[]$1],
+ [2], [_libtool_name=$lt_[]$1],
+ [_libtool_name=lt_dict_fetch([lt_decl_dict], [$1], [value])])[]dnl
+m4_ifval([$2], [_$2])[]m4_popdef([_libtool_name])[]dnl
+])
+
+
+# _LT_LIBTOOL_CONFIG_VARS
+# -----------------------
+# Produce commented declarations of non-tagged libtool config variables
+# suitable for insertion in the LIBTOOL CONFIG section of the `libtool'
+# script. Tagged libtool config variables (even for the LIBTOOL CONFIG
+# section) are produced by _LT_LIBTOOL_TAG_VARS.
+m4_defun([_LT_LIBTOOL_CONFIG_VARS],
+[m4_foreach([_lt_var],
+ m4_quote(_lt_decl_filter([tagged?], [no], [], lt_decl_varnames)),
+ [m4_n([_LT_LIBTOOL_DECLARE(_lt_var)])])])
+
+
+# _LT_LIBTOOL_TAG_VARS(TAG)
+# -------------------------
+m4_define([_LT_LIBTOOL_TAG_VARS],
+[m4_foreach([_lt_var], m4_quote(lt_decl_tag_varnames),
+ [m4_n([_LT_LIBTOOL_DECLARE(_lt_var, [$1])])])])
+
+
+# _LT_TAGVAR(VARNAME, [TAGNAME])
+# ------------------------------
+m4_define([_LT_TAGVAR], [m4_ifval([$2], [$1_$2], [$1])])
+
+
+# _LT_CONFIG_COMMANDS
+# -------------------
+# Send accumulated output to $CONFIG_STATUS. Thanks to the lists of
+# variables for single and double quote escaping we saved from calls
+# to _LT_DECL, we can put quote escaped variables declarations
+# into `config.status', and then the shell code to quote escape them in
+# for loops in `config.status'. Finally, any additional code accumulated
+# from calls to _LT_CONFIG_LIBTOOL_INIT is expanded.
+m4_defun([_LT_CONFIG_COMMANDS],
+[AC_PROVIDE_IFELSE([LT_OUTPUT],
+ dnl If the libtool generation code has been placed in $CONFIG_LT,
+ dnl instead of duplicating it all over again into config.status,
+ dnl then we will have config.status run $CONFIG_LT later, so it
+ dnl needs to know what name is stored there:
+ [AC_CONFIG_COMMANDS([libtool],
+ [$SHELL $CONFIG_LT || AS_EXIT(1)], [CONFIG_LT='$CONFIG_LT'])],
+ dnl If the libtool generation code is destined for config.status,
+ dnl expand the accumulated commands and init code now:
+ [AC_CONFIG_COMMANDS([libtool],
+ [_LT_OUTPUT_LIBTOOL_COMMANDS], [_LT_OUTPUT_LIBTOOL_COMMANDS_INIT])])
+])#_LT_CONFIG_COMMANDS
+
+
+# Initialize.
+m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS_INIT],
+[
+
+# The HP-UX ksh and POSIX shell print the target directory to stdout
+# if CDPATH is set.
+(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
+
+sed_quote_subst='$sed_quote_subst'
+double_quote_subst='$double_quote_subst'
+delay_variable_subst='$delay_variable_subst'
+_LT_CONFIG_STATUS_DECLARATIONS
+LTCC='$LTCC'
+LTCFLAGS='$LTCFLAGS'
+compiler='$compiler_DEFAULT'
+
+# Quote evaled strings.
+for var in lt_decl_all_varnames([[ \
+]], lt_decl_quote_varnames); do
+ case \`eval \\\\\$ECHO "X\\\\\$\$var"\` in
+ *[[\\\\\\\`\\"\\\$]]*)
+ eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"X\\\$\$var\\" | \\\$Xsed -e \\"\\\$sed_quote_subst\\"\\\`\\\\\\""
+ ;;
+ *)
+ eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
+ ;;
+ esac
+done
+
+# Double-quote double-evaled strings.
+for var in lt_decl_all_varnames([[ \
+]], lt_decl_dquote_varnames); do
+ case \`eval \\\\\$ECHO "X\\\\\$\$var"\` in
+ *[[\\\\\\\`\\"\\\$]]*)
+ eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"X\\\$\$var\\" | \\\$Xsed -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\""
+ ;;
+ *)
+ eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
+ ;;
+ esac
+done
+
+# Fix-up fallback echo if it was mangled by the above quoting rules.
+case \$lt_ECHO in
+*'\\\[$]0 --fallback-echo"')dnl "
+ lt_ECHO=\`\$ECHO "X\$lt_ECHO" | \$Xsed -e 's/\\\\\\\\\\\\\\\[$]0 --fallback-echo"\[$]/\[$]0 --fallback-echo"/'\`
+ ;;
+esac
+
+_LT_OUTPUT_LIBTOOL_INIT
+])
+
+
+# LT_OUTPUT
+# ---------
+# This macro allows early generation of the libtool script (before
+# AC_OUTPUT is called), incase it is used in configure for compilation
+# tests.
+AC_DEFUN([LT_OUTPUT],
+[: ${CONFIG_LT=./config.lt}
+AC_MSG_NOTICE([creating $CONFIG_LT])
+cat >"$CONFIG_LT" <<_LTEOF
+#! $SHELL
+# Generated by $as_me.
+# Run this file to recreate a libtool stub with the current configuration.
+
+lt_cl_silent=false
+SHELL=\${CONFIG_SHELL-$SHELL}
+_LTEOF
+
+cat >>"$CONFIG_LT" <<\_LTEOF
+AS_SHELL_SANITIZE
+_AS_PREPARE
+
+exec AS_MESSAGE_FD>&1
+exec AS_MESSAGE_LOG_FD>>config.log
+{
+ echo
+ AS_BOX([Running $as_me.])
+} >&AS_MESSAGE_LOG_FD
+
+lt_cl_help="\
+\`$as_me' creates a local libtool stub from the current configuration,
+for use in further configure time tests before the real libtool is
+generated.
+
+Usage: $[0] [[OPTIONS]]
+
+ -h, --help print this help, then exit
+ -V, --version print version number, then exit
+ -q, --quiet do not print progress messages
+ -d, --debug don't remove temporary files
+
+Report bugs to <bug-libtool@gnu.org>."
+
+lt_cl_version="\
+m4_ifset([AC_PACKAGE_NAME], [AC_PACKAGE_NAME ])config.lt[]dnl
+m4_ifset([AC_PACKAGE_VERSION], [ AC_PACKAGE_VERSION])
+configured by $[0], generated by m4_PACKAGE_STRING.
+
+Copyright (C) 2008 Free Software Foundation, Inc.
+This config.lt script is free software; the Free Software Foundation
+gives unlimited permision to copy, distribute and modify it."
+
+while test $[#] != 0
+do
+ case $[1] in
+ --version | --v* | -V )
+ echo "$lt_cl_version"; exit 0 ;;
+ --help | --h* | -h )
+ echo "$lt_cl_help"; exit 0 ;;
+ --debug | --d* | -d )
+ debug=: ;;
+ --quiet | --q* | --silent | --s* | -q )
+ lt_cl_silent=: ;;
+
+ -*) AC_MSG_ERROR([unrecognized option: $[1]
+Try \`$[0] --help' for more information.]) ;;
+
+ *) AC_MSG_ERROR([unrecognized argument: $[1]
+Try \`$[0] --help' for more information.]) ;;
+ esac
+ shift
+done
+
+if $lt_cl_silent; then
+ exec AS_MESSAGE_FD>/dev/null
+fi
+_LTEOF
+
+cat >>"$CONFIG_LT" <<_LTEOF
+_LT_OUTPUT_LIBTOOL_COMMANDS_INIT
+_LTEOF
+
+cat >>"$CONFIG_LT" <<\_LTEOF
+AC_MSG_NOTICE([creating $ofile])
+_LT_OUTPUT_LIBTOOL_COMMANDS
+AS_EXIT(0)
+_LTEOF
+chmod +x "$CONFIG_LT"
+
+# configure is writing to config.log, but config.lt does its own redirection,
+# appending to config.log, which fails on DOS, as config.log is still kept
+# open by configure. Here we exec the FD to /dev/null, effectively closing
+# config.log, so it can be properly (re)opened and appended to by config.lt.
+if test "$no_create" != yes; then
+ lt_cl_success=:
+ test "$silent" = yes &&
+ lt_config_lt_args="$lt_config_lt_args --quiet"
+ exec AS_MESSAGE_LOG_FD>/dev/null
+ $SHELL "$CONFIG_LT" $lt_config_lt_args || lt_cl_success=false
+ exec AS_MESSAGE_LOG_FD>>config.log
+ $lt_cl_success || AS_EXIT(1)
+fi
+])# LT_OUTPUT
+
+
+# _LT_CONFIG(TAG)
+# ---------------
+# If TAG is the built-in tag, create an initial libtool script with a
+# default configuration from the untagged config vars. Otherwise add code
+# to config.status for appending the configuration named by TAG from the
+# matching tagged config vars.
+m4_defun([_LT_CONFIG],
+[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+_LT_CONFIG_SAVE_COMMANDS([
+ m4_define([_LT_TAG], m4_if([$1], [], [C], [$1]))dnl
+ m4_if(_LT_TAG, [C], [
+ # See if we are running on zsh, and set the options which allow our
+ # commands through without removal of \ escapes.
+ if test -n "${ZSH_VERSION+set}" ; then
+ setopt NO_GLOB_SUBST
+ fi
+
+ cfgfile="${ofile}T"
+ trap "$RM \"$cfgfile\"; exit 1" 1 2 15
+ $RM "$cfgfile"
+
+ cat <<_LT_EOF >> "$cfgfile"
+#! $SHELL
+
+# `$ECHO "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services.
+# Generated automatically by $as_me ($PACKAGE$TIMESTAMP) $VERSION
+# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
+# NOTE: Changes made to this file will be lost: look at ltmain.sh.
+#
+_LT_COPYING
+_LT_LIBTOOL_TAGS
+
+# ### BEGIN LIBTOOL CONFIG
+_LT_LIBTOOL_CONFIG_VARS
+_LT_LIBTOOL_TAG_VARS
+# ### END LIBTOOL CONFIG
+
+_LT_EOF
+
+ case $host_os in
+ aix3*)
+ cat <<\_LT_EOF >> "$cfgfile"
+# AIX sometimes has problems with the GCC collect2 program. For some
+# reason, if we set the COLLECT_NAMES environment variable, the problems
+# vanish in a puff of smoke.
+if test "X${COLLECT_NAMES+set}" != Xset; then
+ COLLECT_NAMES=
+ export COLLECT_NAMES
+fi
+_LT_EOF
+ ;;
+ esac
+
+ _LT_PROG_LTMAIN
+
+ # We use sed instead of cat because bash on DJGPP gets confused if
+ # if finds mixed CR/LF and LF-only lines. Since sed operates in
+ # text mode, it properly converts lines to CR/LF. This bash problem
+ # is reportedly fixed, but why not run on old versions too?
+ sed '/^# Generated shell functions inserted here/q' "$ltmain" >> "$cfgfile" \
+ || (rm -f "$cfgfile"; exit 1)
+
+ _LT_PROG_XSI_SHELLFNS
+
+ sed -n '/^# Generated shell functions inserted here/,$p' "$ltmain" >> "$cfgfile" \
+ || (rm -f "$cfgfile"; exit 1)
+
+ mv -f "$cfgfile" "$ofile" ||
+ (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
+ chmod +x "$ofile"
+],
+[cat <<_LT_EOF >> "$ofile"
+
+dnl Unfortunately we have to use $1 here, since _LT_TAG is not expanded
+dnl in a comment (ie after a #).
+# ### BEGIN LIBTOOL TAG CONFIG: $1
+_LT_LIBTOOL_TAG_VARS(_LT_TAG)
+# ### END LIBTOOL TAG CONFIG: $1
+_LT_EOF
+])dnl /m4_if
+],
+[m4_if([$1], [], [
+ PACKAGE='$PACKAGE'
+ VERSION='$VERSION'
+ TIMESTAMP='$TIMESTAMP'
+ RM='$RM'
+ ofile='$ofile'], [])
+])dnl /_LT_CONFIG_SAVE_COMMANDS
+])# _LT_CONFIG
+
+
+# LT_SUPPORTED_TAG(TAG)
+# ---------------------
+# Trace this macro to discover what tags are supported by the libtool
+# --tag option, using:
+# autoconf --trace 'LT_SUPPORTED_TAG:$1'
+AC_DEFUN([LT_SUPPORTED_TAG], [])
+
+
+# C support is built-in for now
+m4_define([_LT_LANG_C_enabled], [])
+m4_define([_LT_TAGS], [])
+
+
+# LT_LANG(LANG)
+# -------------
+# Enable libtool support for the given language if not already enabled.
+AC_DEFUN([LT_LANG],
+[AC_BEFORE([$0], [LT_OUTPUT])dnl
+m4_case([$1],
+ [C], [_LT_LANG(C)],
+ [C++], [_LT_LANG(CXX)],
+ [Java], [_LT_LANG(GCJ)],
+ [Fortran 77], [_LT_LANG(F77)],
+ [Fortran], [_LT_LANG(FC)],
+ [Windows Resource], [_LT_LANG(RC)],
+ [m4_ifdef([_LT_LANG_]$1[_CONFIG],
+ [_LT_LANG($1)],
+ [m4_fatal([$0: unsupported language: "$1"])])])dnl
+])# LT_LANG
+
+
+# _LT_LANG(LANGNAME)
+# ------------------
+m4_defun([_LT_LANG],
+[m4_ifdef([_LT_LANG_]$1[_enabled], [],
+ [LT_SUPPORTED_TAG([$1])dnl
+ m4_append([_LT_TAGS], [$1 ])dnl
+ m4_define([_LT_LANG_]$1[_enabled], [])dnl
+ _LT_LANG_$1_CONFIG($1)])dnl
+])# _LT_LANG
+
+
+# _LT_LANG_DEFAULT_CONFIG
+# -----------------------
+m4_defun([_LT_LANG_DEFAULT_CONFIG],
+[AC_PROVIDE_IFELSE([AC_PROG_CXX],
+ [LT_LANG(CXX)],
+ [m4_define([AC_PROG_CXX], defn([AC_PROG_CXX])[LT_LANG(CXX)])])
+
+AC_PROVIDE_IFELSE([AC_PROG_F77],
+ [LT_LANG(F77)],
+ [m4_define([AC_PROG_F77], defn([AC_PROG_F77])[LT_LANG(F77)])])
+
+AC_PROVIDE_IFELSE([AC_PROG_FC],
+ [LT_LANG(FC)],
+ [m4_define([AC_PROG_FC], defn([AC_PROG_FC])[LT_LANG(FC)])])
+
+dnl The call to [A][M_PROG_GCJ] is quoted like that to stop aclocal
+dnl pulling things in needlessly.
+AC_PROVIDE_IFELSE([AC_PROG_GCJ],
+ [LT_LANG(GCJ)],
+ [AC_PROVIDE_IFELSE([A][M_PROG_GCJ],
+ [LT_LANG(GCJ)],
+ [AC_PROVIDE_IFELSE([LT_PROG_GCJ],
+ [LT_LANG(GCJ)],
+ [m4_ifdef([AC_PROG_GCJ],
+ [m4_define([AC_PROG_GCJ], defn([AC_PROG_GCJ])[LT_LANG(GCJ)])])
+ m4_ifdef([A][M_PROG_GCJ],
+ [m4_define([A][M_PROG_GCJ], defn([A][M_PROG_GCJ])[LT_LANG(GCJ)])])
+ m4_ifdef([LT_PROG_GCJ],
+ [m4_define([LT_PROG_GCJ], defn([LT_PROG_GCJ])[LT_LANG(GCJ)])])])])])
+
+AC_PROVIDE_IFELSE([LT_PROG_RC],
+ [LT_LANG(RC)],
+ [m4_define([LT_PROG_RC], defn([LT_PROG_RC])[LT_LANG(RC)])])
+])# _LT_LANG_DEFAULT_CONFIG
+
+# Obsolete macros:
+AU_DEFUN([AC_LIBTOOL_CXX], [LT_LANG(C++)])
+AU_DEFUN([AC_LIBTOOL_F77], [LT_LANG(Fortran 77)])
+AU_DEFUN([AC_LIBTOOL_FC], [LT_LANG(Fortran)])
+AU_DEFUN([AC_LIBTOOL_GCJ], [LT_LANG(Java)])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_LIBTOOL_CXX], [])
+dnl AC_DEFUN([AC_LIBTOOL_F77], [])
+dnl AC_DEFUN([AC_LIBTOOL_FC], [])
+dnl AC_DEFUN([AC_LIBTOOL_GCJ], [])
+
+
+# _LT_TAG_COMPILER
+# ----------------
+m4_defun([_LT_TAG_COMPILER],
+[AC_REQUIRE([AC_PROG_CC])dnl
+
+_LT_DECL([LTCC], [CC], [1], [A C compiler])dnl
+_LT_DECL([LTCFLAGS], [CFLAGS], [1], [LTCC compiler flags])dnl
+_LT_TAGDECL([CC], [compiler], [1], [A language specific compiler])dnl
+_LT_TAGDECL([with_gcc], [GCC], [0], [Is the compiler the GNU compiler?])dnl
+
+# If no C compiler was specified, use CC.
+LTCC=${LTCC-"$CC"}
+
+# If no C compiler flags were specified, use CFLAGS.
+LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
+
+# Allow CC to be a program name with arguments.
+compiler=$CC
+])# _LT_TAG_COMPILER
+
+
+# _LT_COMPILER_BOILERPLATE
+# ------------------------
+# Check for compiler boilerplate output or warnings with
+# the simple compiler test code.
+m4_defun([_LT_COMPILER_BOILERPLATE],
+[m4_require([_LT_DECL_SED])dnl
+ac_outfile=conftest.$ac_objext
+echo "$lt_simple_compile_test_code" >conftest.$ac_ext
+eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
+_lt_compiler_boilerplate=`cat conftest.err`
+$RM conftest*
+])# _LT_COMPILER_BOILERPLATE
+
+
+# _LT_LINKER_BOILERPLATE
+# ----------------------
+# Check for linker boilerplate output or warnings with
+# the simple link test code.
+m4_defun([_LT_LINKER_BOILERPLATE],
+[m4_require([_LT_DECL_SED])dnl
+ac_outfile=conftest.$ac_objext
+echo "$lt_simple_link_test_code" >conftest.$ac_ext
+eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
+_lt_linker_boilerplate=`cat conftest.err`
+$RM -r conftest*
+])# _LT_LINKER_BOILERPLATE
+
+# _LT_REQUIRED_DARWIN_CHECKS
+# -------------------------
+m4_defun_once([_LT_REQUIRED_DARWIN_CHECKS],[
+ case $host_os in
+ rhapsody* | darwin*)
+ AC_CHECK_TOOL([DSYMUTIL], [dsymutil], [:])
+ AC_CHECK_TOOL([NMEDIT], [nmedit], [:])
+ AC_CHECK_TOOL([LIPO], [lipo], [:])
+ AC_CHECK_TOOL([OTOOL], [otool], [:])
+ AC_CHECK_TOOL([OTOOL64], [otool64], [:])
+ _LT_DECL([], [DSYMUTIL], [1],
+ [Tool to manipulate archived DWARF debug symbol files on Mac OS X])
+ _LT_DECL([], [NMEDIT], [1],
+ [Tool to change global to local symbols on Mac OS X])
+ _LT_DECL([], [LIPO], [1],
+ [Tool to manipulate fat objects and archives on Mac OS X])
+ _LT_DECL([], [OTOOL], [1],
+ [ldd/readelf like tool for Mach-O binaries on Mac OS X])
+ _LT_DECL([], [OTOOL64], [1],
+ [ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4])
+
+ AC_CACHE_CHECK([for -single_module linker flag],[lt_cv_apple_cc_single_mod],
+ [lt_cv_apple_cc_single_mod=no
+ if test -z "${LT_MULTI_MODULE}"; then
+ # By default we will add the -single_module flag. You can override
+ # by either setting the environment variable LT_MULTI_MODULE
+ # non-empty at configure time, or by adding -multi_module to the
+ # link flags.
+ rm -rf libconftest.dylib*
+ echo "int foo(void){return 1;}" > conftest.c
+ echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
+-dynamiclib -Wl,-single_module conftest.c" >&AS_MESSAGE_LOG_FD
+ $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
+ -dynamiclib -Wl,-single_module conftest.c 2>conftest.err
+ _lt_result=$?
+ if test -f libconftest.dylib && test ! -s conftest.err && test $_lt_result = 0; then
+ lt_cv_apple_cc_single_mod=yes
+ else
+ cat conftest.err >&AS_MESSAGE_LOG_FD
+ fi
+ rm -rf libconftest.dylib*
+ rm -f conftest.*
+ fi])
+ AC_CACHE_CHECK([for -exported_symbols_list linker flag],
+ [lt_cv_ld_exported_symbols_list],
+ [lt_cv_ld_exported_symbols_list=no
+ save_LDFLAGS=$LDFLAGS
+ echo "_main" > conftest.sym
+ LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym"
+ AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])],
+ [lt_cv_ld_exported_symbols_list=yes],
+ [lt_cv_ld_exported_symbols_list=no])
+ LDFLAGS="$save_LDFLAGS"
+ ])
+ case $host_os in
+ rhapsody* | darwin1.[[012]])
+ _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;;
+ darwin1.*)
+ _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
+ darwin*) # darwin 5.x on
+ # if running on 10.5 or later, the deployment target defaults
+ # to the OS version, if on x86, and 10.4, the deployment
+ # target defaults to 10.4. Don't you love it?
+ case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in
+ 10.0,*86*-darwin8*|10.0,*-darwin[[91]]*)
+ _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
+ 10.[[012]]*)
+ _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
+ 10.*)
+ _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
+ esac
+ ;;
+ esac
+ if test "$lt_cv_apple_cc_single_mod" = "yes"; then
+ _lt_dar_single_mod='$single_module'
+ fi
+ if test "$lt_cv_ld_exported_symbols_list" = "yes"; then
+ _lt_dar_export_syms=' ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym'
+ else
+ _lt_dar_export_syms='~$NMEDIT -s $output_objdir/${libname}-symbols.expsym ${lib}'
+ fi
+ if test "$DSYMUTIL" != ":"; then
+ _lt_dsymutil='~$DSYMUTIL $lib || :'
+ else
+ _lt_dsymutil=
+ fi
+ ;;
+ esac
+])
+
+
+# _LT_DARWIN_LINKER_FEATURES
+# --------------------------
+# Checks for linker and compiler features on darwin
+m4_defun([_LT_DARWIN_LINKER_FEATURES],
+[
+ m4_require([_LT_REQUIRED_DARWIN_CHECKS])
+ _LT_TAGVAR(archive_cmds_need_lc, $1)=no
+ _LT_TAGVAR(hardcode_direct, $1)=no
+ _LT_TAGVAR(hardcode_automatic, $1)=yes
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
+ _LT_TAGVAR(whole_archive_flag_spec, $1)=''
+ _LT_TAGVAR(link_all_deplibs, $1)=yes
+ _LT_TAGVAR(allow_undefined_flag, $1)="$_lt_dar_allow_undefined"
+ case $cc_basename in
+ ifort*) _lt_dar_can_shared=yes ;;
+ *) _lt_dar_can_shared=$GCC ;;
+ esac
+ if test "$_lt_dar_can_shared" = "yes"; then
+ output_verbose_link_cmd=echo
+ _LT_TAGVAR(archive_cmds, $1)="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
+ _LT_TAGVAR(module_cmds, $1)="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
+ _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
+ _LT_TAGVAR(module_expsym_cmds, $1)="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
+ m4_if([$1], [CXX],
+[ if test "$lt_cv_apple_cc_single_mod" != "yes"; then
+ _LT_TAGVAR(archive_cmds, $1)="\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dsymutil}"
+ _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dar_export_syms}${_lt_dsymutil}"
+ fi
+],[])
+ else
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ fi
+])
+
+# _LT_SYS_MODULE_PATH_AIX
+# -----------------------
+# Links a minimal program and checks the executable
+# for the system default hardcoded library path. In most cases,
+# this is /usr/lib:/lib, but when the MPI compilers are used
+# the location of the communication and MPI libs are included too.
+# If we don't find anything, use the default library path according
+# to the aix ld manual.
+m4_defun([_LT_SYS_MODULE_PATH_AIX],
+[m4_require([_LT_DECL_SED])dnl
+AC_LINK_IFELSE(AC_LANG_PROGRAM,[
+lt_aix_libpath_sed='
+ /Import File Strings/,/^$/ {
+ /^0/ {
+ s/^0 *\(.*\)$/\1/
+ p
+ }
+ }'
+aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+# Check for a 64-bit object if we didn't find anything.
+if test -z "$aix_libpath"; then
+ aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+fi],[])
+if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+])# _LT_SYS_MODULE_PATH_AIX
+
+
+# _LT_SHELL_INIT(ARG)
+# -------------------
+m4_define([_LT_SHELL_INIT],
+[ifdef([AC_DIVERSION_NOTICE],
+ [AC_DIVERT_PUSH(AC_DIVERSION_NOTICE)],
+ [AC_DIVERT_PUSH(NOTICE)])
+$1
+AC_DIVERT_POP
+])# _LT_SHELL_INIT
+
+
+# _LT_PROG_ECHO_BACKSLASH
+# -----------------------
+# Add some code to the start of the generated configure script which
+# will find an echo command which doesn't interpret backslashes.
+m4_defun([_LT_PROG_ECHO_BACKSLASH],
+[_LT_SHELL_INIT([
+# Check that we are running under the correct shell.
+SHELL=${CONFIG_SHELL-/bin/sh}
+
+case X$lt_ECHO in
+X*--fallback-echo)
+ # Remove one level of quotation (which was required for Make).
+ ECHO=`echo "$lt_ECHO" | sed 's,\\\\\[$]\\[$]0,'[$]0','`
+ ;;
+esac
+
+ECHO=${lt_ECHO-echo}
+if test "X[$]1" = X--no-reexec; then
+ # Discard the --no-reexec flag, and continue.
+ shift
+elif test "X[$]1" = X--fallback-echo; then
+ # Avoid inline document here, it may be left over
+ :
+elif test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' ; then
+ # Yippee, $ECHO works!
+ :
+else
+ # Restart under the correct shell.
+ exec $SHELL "[$]0" --no-reexec ${1+"[$]@"}
+fi
+
+if test "X[$]1" = X--fallback-echo; then
+ # used as fallback echo
+ shift
+ cat <<_LT_EOF
+[$]*
+_LT_EOF
+ exit 0
+fi
+
+# The HP-UX ksh and POSIX shell print the target directory to stdout
+# if CDPATH is set.
+(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
+
+if test -z "$lt_ECHO"; then
+ if test "X${echo_test_string+set}" != Xset; then
+ # find a string as large as possible, as long as the shell can cope with it
+ for cmd in 'sed 50q "[$]0"' 'sed 20q "[$]0"' 'sed 10q "[$]0"' 'sed 2q "[$]0"' 'echo test'; do
+ # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ...
+ if { echo_test_string=`eval $cmd`; } 2>/dev/null &&
+ { test "X$echo_test_string" = "X$echo_test_string"; } 2>/dev/null
+ then
+ break
+ fi
+ done
+ fi
+
+ if test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' &&
+ echo_testing_string=`{ $ECHO "$echo_test_string"; } 2>/dev/null` &&
+ test "X$echo_testing_string" = "X$echo_test_string"; then
+ :
+ else
+ # The Solaris, AIX, and Digital Unix default echo programs unquote
+ # backslashes. This makes it impossible to quote backslashes using
+ # echo "$something" | sed 's/\\/\\\\/g'
+ #
+ # So, first we look for a working echo in the user's PATH.
+
+ lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+ for dir in $PATH /usr/ucb; do
+ IFS="$lt_save_ifs"
+ if (test -f $dir/echo || test -f $dir/echo$ac_exeext) &&
+ test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' &&
+ echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` &&
+ test "X$echo_testing_string" = "X$echo_test_string"; then
+ ECHO="$dir/echo"
+ break
+ fi
+ done
+ IFS="$lt_save_ifs"
+
+ if test "X$ECHO" = Xecho; then
+ # We didn't find a better echo, so look for alternatives.
+ if test "X`{ print -r '\t'; } 2>/dev/null`" = 'X\t' &&
+ echo_testing_string=`{ print -r "$echo_test_string"; } 2>/dev/null` &&
+ test "X$echo_testing_string" = "X$echo_test_string"; then
+ # This shell has a builtin print -r that does the trick.
+ ECHO='print -r'
+ elif { test -f /bin/ksh || test -f /bin/ksh$ac_exeext; } &&
+ test "X$CONFIG_SHELL" != X/bin/ksh; then
+ # If we have ksh, try running configure again with it.
+ ORIGINAL_CONFIG_SHELL=${CONFIG_SHELL-/bin/sh}
+ export ORIGINAL_CONFIG_SHELL
+ CONFIG_SHELL=/bin/ksh
+ export CONFIG_SHELL
+ exec $CONFIG_SHELL "[$]0" --no-reexec ${1+"[$]@"}
+ else
+ # Try using printf.
+ ECHO='printf %s\n'
+ if test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' &&
+ echo_testing_string=`{ $ECHO "$echo_test_string"; } 2>/dev/null` &&
+ test "X$echo_testing_string" = "X$echo_test_string"; then
+ # Cool, printf works
+ :
+ elif echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` &&
+ test "X$echo_testing_string" = 'X\t' &&
+ echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` &&
+ test "X$echo_testing_string" = "X$echo_test_string"; then
+ CONFIG_SHELL=$ORIGINAL_CONFIG_SHELL
+ export CONFIG_SHELL
+ SHELL="$CONFIG_SHELL"
+ export SHELL
+ ECHO="$CONFIG_SHELL [$]0 --fallback-echo"
+ elif echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` &&
+ test "X$echo_testing_string" = 'X\t' &&
+ echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` &&
+ test "X$echo_testing_string" = "X$echo_test_string"; then
+ ECHO="$CONFIG_SHELL [$]0 --fallback-echo"
+ else
+ # maybe with a smaller string...
+ prev=:
+
+ for cmd in 'echo test' 'sed 2q "[$]0"' 'sed 10q "[$]0"' 'sed 20q "[$]0"' 'sed 50q "[$]0"'; do
+ if { test "X$echo_test_string" = "X`eval $cmd`"; } 2>/dev/null
+ then
+ break
+ fi
+ prev="$cmd"
+ done
+
+ if test "$prev" != 'sed 50q "[$]0"'; then
+ echo_test_string=`eval $prev`
+ export echo_test_string
+ exec ${ORIGINAL_CONFIG_SHELL-${CONFIG_SHELL-/bin/sh}} "[$]0" ${1+"[$]@"}
+ else
+ # Oops. We lost completely, so just stick with echo.
+ ECHO=echo
+ fi
+ fi
+ fi
+ fi
+ fi
+fi
+
+# Copy echo and quote the copy suitably for passing to libtool from
+# the Makefile, instead of quoting the original, which is used later.
+lt_ECHO=$ECHO
+if test "X$lt_ECHO" = "X$CONFIG_SHELL [$]0 --fallback-echo"; then
+ lt_ECHO="$CONFIG_SHELL \\\$\[$]0 --fallback-echo"
+fi
+
+AC_SUBST(lt_ECHO)
+])
+_LT_DECL([], [SHELL], [1], [Shell to use when invoking shell scripts])
+_LT_DECL([], [ECHO], [1],
+ [An echo program that does not interpret backslashes])
+])# _LT_PROG_ECHO_BACKSLASH
+
+
+# _LT_ENABLE_LOCK
+# ---------------
+m4_defun([_LT_ENABLE_LOCK],
+[AC_ARG_ENABLE([libtool-lock],
+ [AS_HELP_STRING([--disable-libtool-lock],
+ [avoid locking (might break parallel builds)])])
+test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes
+
+# Some flags need to be propagated to the compiler or linker for good
+# libtool support.
+case $host in
+ia64-*-hpux*)
+ # Find out which ABI we are using.
+ echo 'int i;' > conftest.$ac_ext
+ if AC_TRY_EVAL(ac_compile); then
+ case `/usr/bin/file conftest.$ac_objext` in
+ *ELF-32*)
+ HPUX_IA64_MODE="32"
+ ;;
+ *ELF-64*)
+ HPUX_IA64_MODE="64"
+ ;;
+ esac
+ fi
+ rm -rf conftest*
+ ;;
+*-*-irix6*)
+ # Find out which ABI we are using.
+ echo '[#]line __oline__ "configure"' > conftest.$ac_ext
+ if AC_TRY_EVAL(ac_compile); then
+ if test "$lt_cv_prog_gnu_ld" = yes; then
+ case `/usr/bin/file conftest.$ac_objext` in
+ *32-bit*)
+ LD="${LD-ld} -melf32bsmip"
+ ;;
+ *N32*)
+ LD="${LD-ld} -melf32bmipn32"
+ ;;
+ *64-bit*)
+ LD="${LD-ld} -melf64bmip"
+ ;;
+ esac
+ else
+ case `/usr/bin/file conftest.$ac_objext` in
+ *32-bit*)
+ LD="${LD-ld} -32"
+ ;;
+ *N32*)
+ LD="${LD-ld} -n32"
+ ;;
+ *64-bit*)
+ LD="${LD-ld} -64"
+ ;;
+ esac
+ fi
+ fi
+ rm -rf conftest*
+ ;;
+
+x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \
+s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
+ # Find out which ABI we are using.
+ echo 'int i;' > conftest.$ac_ext
+ if AC_TRY_EVAL(ac_compile); then
+ case `/usr/bin/file conftest.o` in
+ *32-bit*)
+ case $host in
+ x86_64-*kfreebsd*-gnu)
+ LD="${LD-ld} -m elf_i386_fbsd"
+ ;;
+ x86_64-*linux*)
+ LD="${LD-ld} -m elf_i386"
+ ;;
+ ppc64-*linux*|powerpc64-*linux*)
+ LD="${LD-ld} -m elf32ppclinux"
+ ;;
+ s390x-*linux*)
+ LD="${LD-ld} -m elf_s390"
+ ;;
+ sparc64-*linux*)
+ LD="${LD-ld} -m elf32_sparc"
+ ;;
+ esac
+ ;;
+ *64-bit*)
+ case $host in
+ x86_64-*kfreebsd*-gnu)
+ LD="${LD-ld} -m elf_x86_64_fbsd"
+ ;;
+ x86_64-*linux*)
+ LD="${LD-ld} -m elf_x86_64"
+ ;;
+ ppc*-*linux*|powerpc*-*linux*)
+ LD="${LD-ld} -m elf64ppc"
+ ;;
+ s390*-*linux*|s390*-*tpf*)
+ LD="${LD-ld} -m elf64_s390"
+ ;;
+ sparc*-*linux*)
+ LD="${LD-ld} -m elf64_sparc"
+ ;;
+ esac
+ ;;
+ esac
+ fi
+ rm -rf conftest*
+ ;;
+
+*-*-sco3.2v5*)
+ # On SCO OpenServer 5, we need -belf to get full-featured binaries.
+ SAVE_CFLAGS="$CFLAGS"
+ CFLAGS="$CFLAGS -belf"
+ AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf,
+ [AC_LANG_PUSH(C)
+ AC_LINK_IFELSE([AC_LANG_PROGRAM([[]],[[]])],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no])
+ AC_LANG_POP])
+ if test x"$lt_cv_cc_needs_belf" != x"yes"; then
+ # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
+ CFLAGS="$SAVE_CFLAGS"
+ fi
+ ;;
+sparc*-*solaris*)
+ # Find out which ABI we are using.
+ echo 'int i;' > conftest.$ac_ext
+ if AC_TRY_EVAL(ac_compile); then
+ case `/usr/bin/file conftest.o` in
+ *64-bit*)
+ case $lt_cv_prog_gnu_ld in
+ yes*) LD="${LD-ld} -m elf64_sparc" ;;
+ *)
+ if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then
+ LD="${LD-ld} -64"
+ fi
+ ;;
+ esac
+ ;;
+ esac
+ fi
+ rm -rf conftest*
+ ;;
+esac
+
+need_locks="$enable_libtool_lock"
+])# _LT_ENABLE_LOCK
+
+
+# _LT_CMD_OLD_ARCHIVE
+# -------------------
+m4_defun([_LT_CMD_OLD_ARCHIVE],
+[AC_CHECK_TOOL(AR, ar, false)
+test -z "$AR" && AR=ar
+test -z "$AR_FLAGS" && AR_FLAGS=cru
+_LT_DECL([], [AR], [1], [The archiver])
+_LT_DECL([], [AR_FLAGS], [1])
+
+AC_CHECK_TOOL(STRIP, strip, :)
+test -z "$STRIP" && STRIP=:
+_LT_DECL([], [STRIP], [1], [A symbol stripping program])
+
+AC_CHECK_TOOL(RANLIB, ranlib, :)
+test -z "$RANLIB" && RANLIB=:
+_LT_DECL([], [RANLIB], [1],
+ [Commands used to install an old-style archive])
+
+# Determine commands to create old-style static archives.
+old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs'
+old_postinstall_cmds='chmod 644 $oldlib'
+old_postuninstall_cmds=
+
+if test -n "$RANLIB"; then
+ case $host_os in
+ openbsd*)
+ old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib"
+ ;;
+ *)
+ old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib"
+ ;;
+ esac
+ old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib"
+fi
+_LT_DECL([], [old_postinstall_cmds], [2])
+_LT_DECL([], [old_postuninstall_cmds], [2])
+_LT_TAGDECL([], [old_archive_cmds], [2],
+ [Commands used to build an old-style archive])
+])# _LT_CMD_OLD_ARCHIVE
+
+
+# _LT_COMPILER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS,
+# [OUTPUT-FILE], [ACTION-SUCCESS], [ACTION-FAILURE])
+# ----------------------------------------------------------------
+# Check whether the given compiler option works
+AC_DEFUN([_LT_COMPILER_OPTION],
+[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+m4_require([_LT_DECL_SED])dnl
+AC_CACHE_CHECK([$1], [$2],
+ [$2=no
+ m4_if([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4])
+ echo "$lt_simple_compile_test_code" > conftest.$ac_ext
+ lt_compiler_flag="$3"
+ # Insert the option either (1) after the last *FLAGS variable, or
+ # (2) before a word containing "conftest.", or (3) at the end.
+ # Note that $ac_compile itself does not contain backslashes and begins
+ # with a dollar sign (not a hyphen), so the echo should work correctly.
+ # The option is referenced via a variable to avoid confusing sed.
+ lt_compile=`echo "$ac_compile" | $SED \
+ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+ -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \
+ -e 's:$: $lt_compiler_flag:'`
+ (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD)
+ (eval "$lt_compile" 2>conftest.err)
+ ac_status=$?
+ cat conftest.err >&AS_MESSAGE_LOG_FD
+ echo "$as_me:__oline__: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
+ if (exit $ac_status) && test -s "$ac_outfile"; then
+ # The compiler can only warn and ignore the option if not recognized
+ # So say no if there are warnings other than the usual output.
+ $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp
+ $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
+ if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
+ $2=yes
+ fi
+ fi
+ $RM conftest*
+])
+
+if test x"[$]$2" = xyes; then
+ m4_if([$5], , :, [$5])
+else
+ m4_if([$6], , :, [$6])
+fi
+])# _LT_COMPILER_OPTION
+
+# Old name:
+AU_ALIAS([AC_LIBTOOL_COMPILER_OPTION], [_LT_COMPILER_OPTION])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_LIBTOOL_COMPILER_OPTION], [])
+
+
+# _LT_LINKER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS,
+# [ACTION-SUCCESS], [ACTION-FAILURE])
+# ----------------------------------------------------
+# Check whether the given linker option works
+AC_DEFUN([_LT_LINKER_OPTION],
+[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+m4_require([_LT_DECL_SED])dnl
+AC_CACHE_CHECK([$1], [$2],
+ [$2=no
+ save_LDFLAGS="$LDFLAGS"
+ LDFLAGS="$LDFLAGS $3"
+ echo "$lt_simple_link_test_code" > conftest.$ac_ext
+ if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
+ # The linker can only warn and ignore the option if not recognized
+ # So say no if there are warnings
+ if test -s conftest.err; then
+ # Append any errors to the config.log.
+ cat conftest.err 1>&AS_MESSAGE_LOG_FD
+ $ECHO "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp
+ $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
+ if diff conftest.exp conftest.er2 >/dev/null; then
+ $2=yes
+ fi
+ else
+ $2=yes
+ fi
+ fi
+ $RM -r conftest*
+ LDFLAGS="$save_LDFLAGS"
+])
+
+if test x"[$]$2" = xyes; then
+ m4_if([$4], , :, [$4])
+else
+ m4_if([$5], , :, [$5])
+fi
+])# _LT_LINKER_OPTION
+
+# Old name:
+AU_ALIAS([AC_LIBTOOL_LINKER_OPTION], [_LT_LINKER_OPTION])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_LIBTOOL_LINKER_OPTION], [])
+
+
+# LT_CMD_MAX_LEN
+#---------------
+AC_DEFUN([LT_CMD_MAX_LEN],
+[AC_REQUIRE([AC_CANONICAL_HOST])dnl
+# find the maximum length of command line arguments
+AC_MSG_CHECKING([the maximum length of command line arguments])
+AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl
+ i=0
+ teststring="ABCD"
+
+ case $build_os in
+ msdosdjgpp*)
+ # On DJGPP, this test can blow up pretty badly due to problems in libc
+ # (any single argument exceeding 2000 bytes causes a buffer overrun
+ # during glob expansion). Even if it were fixed, the result of this
+ # check would be larger than it should be.
+ lt_cv_sys_max_cmd_len=12288; # 12K is about right
+ ;;
+
+ gnu*)
+ # Under GNU Hurd, this test is not required because there is
+ # no limit to the length of command line arguments.
+ # Libtool will interpret -1 as no limit whatsoever
+ lt_cv_sys_max_cmd_len=-1;
+ ;;
+
+ cygwin* | mingw* | cegcc*)
+ # On Win9x/ME, this test blows up -- it succeeds, but takes
+ # about 5 minutes as the teststring grows exponentially.
+ # Worse, since 9x/ME are not pre-emptively multitasking,
+ # you end up with a "frozen" computer, even though with patience
+ # the test eventually succeeds (with a max line length of 256k).
+ # Instead, let's just punt: use the minimum linelength reported by
+ # all of the supported platforms: 8192 (on NT/2K/XP).
+ lt_cv_sys_max_cmd_len=8192;
+ ;;
+
+ amigaos*)
+ # On AmigaOS with pdksh, this test takes hours, literally.
+ # So we just punt and use a minimum line length of 8192.
+ lt_cv_sys_max_cmd_len=8192;
+ ;;
+
+ netbsd* | freebsd* | openbsd* | darwin* | dragonfly*)
+ # This has been around since 386BSD, at least. Likely further.
+ if test -x /sbin/sysctl; then
+ lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax`
+ elif test -x /usr/sbin/sysctl; then
+ lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax`
+ else
+ lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs
+ fi
+ # And add a safety zone
+ lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
+ lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
+ ;;
+
+ interix*)
+ # We know the value 262144 and hardcode it with a safety zone (like BSD)
+ lt_cv_sys_max_cmd_len=196608
+ ;;
+
+ osf*)
+ # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure
+ # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not
+ # nice to cause kernel panics so lets avoid the loop below.
+ # First set a reasonable default.
+ lt_cv_sys_max_cmd_len=16384
+ #
+ if test -x /sbin/sysconfig; then
+ case `/sbin/sysconfig -q proc exec_disable_arg_limit` in
+ *1*) lt_cv_sys_max_cmd_len=-1 ;;
+ esac
+ fi
+ ;;
+ sco3.2v5*)
+ lt_cv_sys_max_cmd_len=102400
+ ;;
+ sysv5* | sco5v6* | sysv4.2uw2*)
+ kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null`
+ if test -n "$kargmax"; then
+ lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[[ ]]//'`
+ else
+ lt_cv_sys_max_cmd_len=32768
+ fi
+ ;;
+ *)
+ lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null`
+ if test -n "$lt_cv_sys_max_cmd_len"; then
+ lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
+ lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
+ else
+ # Make teststring a little bigger before we do anything with it.
+ # a 1K string should be a reasonable start.
+ for i in 1 2 3 4 5 6 7 8 ; do
+ teststring=$teststring$teststring
+ done
+ SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}}
+ # If test is not a shell built-in, we'll probably end up computing a
+ # maximum length that is only half of the actual maximum length, but
+ # we can't tell.
+ while { test "X"`$SHELL [$]0 --fallback-echo "X$teststring$teststring" 2>/dev/null` \
+ = "XX$teststring$teststring"; } >/dev/null 2>&1 &&
+ test $i != 17 # 1/2 MB should be enough
+ do
+ i=`expr $i + 1`
+ teststring=$teststring$teststring
+ done
+ # Only check the string length outside the loop.
+ lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1`
+ teststring=
+ # Add a significant safety factor because C++ compilers can tack on
+ # massive amounts of additional arguments before passing them to the
+ # linker. It appears as though 1/2 is a usable value.
+ lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2`
+ fi
+ ;;
+ esac
+])
+if test -n $lt_cv_sys_max_cmd_len ; then
+ AC_MSG_RESULT($lt_cv_sys_max_cmd_len)
+else
+ AC_MSG_RESULT(none)
+fi
+max_cmd_len=$lt_cv_sys_max_cmd_len
+_LT_DECL([], [max_cmd_len], [0],
+ [What is the maximum length of a command?])
+])# LT_CMD_MAX_LEN
+
+# Old name:
+AU_ALIAS([AC_LIBTOOL_SYS_MAX_CMD_LEN], [LT_CMD_MAX_LEN])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN], [])
+
+
+# _LT_HEADER_DLFCN
+# ----------------
+m4_defun([_LT_HEADER_DLFCN],
+[AC_CHECK_HEADERS([dlfcn.h], [], [], [AC_INCLUDES_DEFAULT])dnl
+])# _LT_HEADER_DLFCN
+
+
+# _LT_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE,
+# ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING)
+# ----------------------------------------------------------------
+m4_defun([_LT_TRY_DLOPEN_SELF],
+[m4_require([_LT_HEADER_DLFCN])dnl
+if test "$cross_compiling" = yes; then :
+ [$4]
+else
+ lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
+ lt_status=$lt_dlunknown
+ cat > conftest.$ac_ext <<_LT_EOF
+[#line __oline__ "configure"
+#include "confdefs.h"
+
+#if HAVE_DLFCN_H
+#include <dlfcn.h>
+#endif
+
+#include <stdio.h>
+
+#ifdef RTLD_GLOBAL
+# define LT_DLGLOBAL RTLD_GLOBAL
+#else
+# ifdef DL_GLOBAL
+# define LT_DLGLOBAL DL_GLOBAL
+# else
+# define LT_DLGLOBAL 0
+# endif
+#endif
+
+/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
+ find out it does not work in some platform. */
+#ifndef LT_DLLAZY_OR_NOW
+# ifdef RTLD_LAZY
+# define LT_DLLAZY_OR_NOW RTLD_LAZY
+# else
+# ifdef DL_LAZY
+# define LT_DLLAZY_OR_NOW DL_LAZY
+# else
+# ifdef RTLD_NOW
+# define LT_DLLAZY_OR_NOW RTLD_NOW
+# else
+# ifdef DL_NOW
+# define LT_DLLAZY_OR_NOW DL_NOW
+# else
+# define LT_DLLAZY_OR_NOW 0
+# endif
+# endif
+# endif
+# endif
+#endif
+
+void fnord() { int i=42;}
+int main ()
+{
+ void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
+ int status = $lt_dlunknown;
+
+ if (self)
+ {
+ if (dlsym (self,"fnord")) status = $lt_dlno_uscore;
+ else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
+ /* dlclose (self); */
+ }
+ else
+ puts (dlerror ());
+
+ return status;
+}]
+_LT_EOF
+ if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext} 2>/dev/null; then
+ (./conftest; exit; ) >&AS_MESSAGE_LOG_FD 2>/dev/null
+ lt_status=$?
+ case x$lt_status in
+ x$lt_dlno_uscore) $1 ;;
+ x$lt_dlneed_uscore) $2 ;;
+ x$lt_dlunknown|x*) $3 ;;
+ esac
+ else :
+ # compilation failed
+ $3
+ fi
+fi
+rm -fr conftest*
+])# _LT_TRY_DLOPEN_SELF
+
+
+# LT_SYS_DLOPEN_SELF
+# ------------------
+AC_DEFUN([LT_SYS_DLOPEN_SELF],
+[m4_require([_LT_HEADER_DLFCN])dnl
+if test "x$enable_dlopen" != xyes; then
+ enable_dlopen=unknown
+ enable_dlopen_self=unknown
+ enable_dlopen_self_static=unknown
+else
+ lt_cv_dlopen=no
+ lt_cv_dlopen_libs=
+
+ case $host_os in
+ beos*)
+ lt_cv_dlopen="load_add_on"
+ lt_cv_dlopen_libs=
+ lt_cv_dlopen_self=yes
+ ;;
+
+ mingw* | pw32* | cegcc*)
+ lt_cv_dlopen="LoadLibrary"
+ lt_cv_dlopen_libs=
+ ;;
+
+ cygwin*)
+ lt_cv_dlopen="dlopen"
+ lt_cv_dlopen_libs=
+ ;;
+
+ darwin*)
+ # if libdl is installed we need to link against it
+ AC_CHECK_LIB([dl], [dlopen],
+ [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],[
+ lt_cv_dlopen="dyld"
+ lt_cv_dlopen_libs=
+ lt_cv_dlopen_self=yes
+ ])
+ ;;
+
+ *)
+ AC_CHECK_FUNC([shl_load],
+ [lt_cv_dlopen="shl_load"],
+ [AC_CHECK_LIB([dld], [shl_load],
+ [lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld"],
+ [AC_CHECK_FUNC([dlopen],
+ [lt_cv_dlopen="dlopen"],
+ [AC_CHECK_LIB([dl], [dlopen],
+ [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],
+ [AC_CHECK_LIB([svld], [dlopen],
+ [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"],
+ [AC_CHECK_LIB([dld], [dld_link],
+ [lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"])
+ ])
+ ])
+ ])
+ ])
+ ])
+ ;;
+ esac
+
+ if test "x$lt_cv_dlopen" != xno; then
+ enable_dlopen=yes
+ else
+ enable_dlopen=no
+ fi
+
+ case $lt_cv_dlopen in
+ dlopen)
+ save_CPPFLAGS="$CPPFLAGS"
+ test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H"
+
+ save_LDFLAGS="$LDFLAGS"
+ wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\"
+
+ save_LIBS="$LIBS"
+ LIBS="$lt_cv_dlopen_libs $LIBS"
+
+ AC_CACHE_CHECK([whether a program can dlopen itself],
+ lt_cv_dlopen_self, [dnl
+ _LT_TRY_DLOPEN_SELF(
+ lt_cv_dlopen_self=yes, lt_cv_dlopen_self=yes,
+ lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross)
+ ])
+
+ if test "x$lt_cv_dlopen_self" = xyes; then
+ wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\"
+ AC_CACHE_CHECK([whether a statically linked program can dlopen itself],
+ lt_cv_dlopen_self_static, [dnl
+ _LT_TRY_DLOPEN_SELF(
+ lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=yes,
+ lt_cv_dlopen_self_static=no, lt_cv_dlopen_self_static=cross)
+ ])
+ fi
+
+ CPPFLAGS="$save_CPPFLAGS"
+ LDFLAGS="$save_LDFLAGS"
+ LIBS="$save_LIBS"
+ ;;
+ esac
+
+ case $lt_cv_dlopen_self in
+ yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;;
+ *) enable_dlopen_self=unknown ;;
+ esac
+
+ case $lt_cv_dlopen_self_static in
+ yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;;
+ *) enable_dlopen_self_static=unknown ;;
+ esac
+fi
+_LT_DECL([dlopen_support], [enable_dlopen], [0],
+ [Whether dlopen is supported])
+_LT_DECL([dlopen_self], [enable_dlopen_self], [0],
+ [Whether dlopen of programs is supported])
+_LT_DECL([dlopen_self_static], [enable_dlopen_self_static], [0],
+ [Whether dlopen of statically linked programs is supported])
+])# LT_SYS_DLOPEN_SELF
+
+# Old name:
+AU_ALIAS([AC_LIBTOOL_DLOPEN_SELF], [LT_SYS_DLOPEN_SELF])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF], [])
+
+
+# _LT_COMPILER_C_O([TAGNAME])
+# ---------------------------
+# Check to see if options -c and -o are simultaneously supported by compiler.
+# This macro does not hard code the compiler like AC_PROG_CC_C_O.
+m4_defun([_LT_COMPILER_C_O],
+[m4_require([_LT_DECL_SED])dnl
+m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+m4_require([_LT_TAG_COMPILER])dnl
+AC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext],
+ [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)],
+ [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=no
+ $RM -r conftest 2>/dev/null
+ mkdir conftest
+ cd conftest
+ mkdir out
+ echo "$lt_simple_compile_test_code" > conftest.$ac_ext
+
+ lt_compiler_flag="-o out/conftest2.$ac_objext"
+ # Insert the option either (1) after the last *FLAGS variable, or
+ # (2) before a word containing "conftest.", or (3) at the end.
+ # Note that $ac_compile itself does not contain backslashes and begins
+ # with a dollar sign (not a hyphen), so the echo should work correctly.
+ lt_compile=`echo "$ac_compile" | $SED \
+ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+ -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \
+ -e 's:$: $lt_compiler_flag:'`
+ (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD)
+ (eval "$lt_compile" 2>out/conftest.err)
+ ac_status=$?
+ cat out/conftest.err >&AS_MESSAGE_LOG_FD
+ echo "$as_me:__oline__: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
+ if (exit $ac_status) && test -s out/conftest2.$ac_objext
+ then
+ # The compiler can only warn and ignore the option if not recognized
+ # So say no if there are warnings
+ $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp
+ $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
+ if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
+ _LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes
+ fi
+ fi
+ chmod u+w . 2>&AS_MESSAGE_LOG_FD
+ $RM conftest*
+ # SGI C++ compiler will create directory out/ii_files/ for
+ # template instantiation
+ test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
+ $RM out/* && rmdir out
+ cd ..
+ $RM -r conftest
+ $RM conftest*
+])
+_LT_TAGDECL([compiler_c_o], [lt_cv_prog_compiler_c_o], [1],
+ [Does compiler simultaneously support -c and -o options?])
+])# _LT_COMPILER_C_O
+
+
+# _LT_COMPILER_FILE_LOCKS([TAGNAME])
+# ----------------------------------
+# Check to see if we can do hard links to lock some files if needed
+m4_defun([_LT_COMPILER_FILE_LOCKS],
+[m4_require([_LT_ENABLE_LOCK])dnl
+m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+_LT_COMPILER_C_O([$1])
+
+hard_links="nottested"
+if test "$_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)" = no && test "$need_locks" != no; then
+ # do not overwrite the value of need_locks provided by the user
+ AC_MSG_CHECKING([if we can lock with hard links])
+ hard_links=yes
+ $RM conftest*
+ ln conftest.a conftest.b 2>/dev/null && hard_links=no
+ touch conftest.a
+ ln conftest.a conftest.b 2>&5 || hard_links=no
+ ln conftest.a conftest.b 2>/dev/null && hard_links=no
+ AC_MSG_RESULT([$hard_links])
+ if test "$hard_links" = no; then
+ AC_MSG_WARN([`$CC' does not support `-c -o', so `make -j' may be unsafe])
+ need_locks=warn
+ fi
+else
+ need_locks=no
+fi
+_LT_DECL([], [need_locks], [1], [Must we lock files when doing compilation?])
+])# _LT_COMPILER_FILE_LOCKS
+
+
+# _LT_CHECK_OBJDIR
+# ----------------
+m4_defun([_LT_CHECK_OBJDIR],
+[AC_CACHE_CHECK([for objdir], [lt_cv_objdir],
+[rm -f .libs 2>/dev/null
+mkdir .libs 2>/dev/null
+if test -d .libs; then
+ lt_cv_objdir=.libs
+else
+ # MS-DOS does not allow filenames that begin with a dot.
+ lt_cv_objdir=_libs
+fi
+rmdir .libs 2>/dev/null])
+objdir=$lt_cv_objdir
+_LT_DECL([], [objdir], [0],
+ [The name of the directory that contains temporary libtool files])dnl
+m4_pattern_allow([LT_OBJDIR])dnl
+AC_DEFINE_UNQUOTED(LT_OBJDIR, "$lt_cv_objdir/",
+ [Define to the sub-directory in which libtool stores uninstalled libraries.])
+])# _LT_CHECK_OBJDIR
+
+
+# _LT_LINKER_HARDCODE_LIBPATH([TAGNAME])
+# --------------------------------------
+# Check hardcoding attributes.
+m4_defun([_LT_LINKER_HARDCODE_LIBPATH],
+[AC_MSG_CHECKING([how to hardcode library paths into programs])
+_LT_TAGVAR(hardcode_action, $1)=
+if test -n "$_LT_TAGVAR(hardcode_libdir_flag_spec, $1)" ||
+ test -n "$_LT_TAGVAR(runpath_var, $1)" ||
+ test "X$_LT_TAGVAR(hardcode_automatic, $1)" = "Xyes" ; then
+
+ # We can hardcode non-existent directories.
+ if test "$_LT_TAGVAR(hardcode_direct, $1)" != no &&
+ # If the only mechanism to avoid hardcoding is shlibpath_var, we
+ # have to relink, otherwise we might link with an installed library
+ # when we should be linking with a yet-to-be-installed one
+ ## test "$_LT_TAGVAR(hardcode_shlibpath_var, $1)" != no &&
+ test "$_LT_TAGVAR(hardcode_minus_L, $1)" != no; then
+ # Linking always hardcodes the temporary library directory.
+ _LT_TAGVAR(hardcode_action, $1)=relink
+ else
+ # We can link without hardcoding, and we can hardcode nonexisting dirs.
+ _LT_TAGVAR(hardcode_action, $1)=immediate
+ fi
+else
+ # We cannot hardcode anything, or else we can only hardcode existing
+ # directories.
+ _LT_TAGVAR(hardcode_action, $1)=unsupported
+fi
+AC_MSG_RESULT([$_LT_TAGVAR(hardcode_action, $1)])
+
+if test "$_LT_TAGVAR(hardcode_action, $1)" = relink ||
+ test "$_LT_TAGVAR(inherit_rpath, $1)" = yes; then
+ # Fast installation is not supported
+ enable_fast_install=no
+elif test "$shlibpath_overrides_runpath" = yes ||
+ test "$enable_shared" = no; then
+ # Fast installation is not necessary
+ enable_fast_install=needless
+fi
+_LT_TAGDECL([], [hardcode_action], [0],
+ [How to hardcode a shared library path into an executable])
+])# _LT_LINKER_HARDCODE_LIBPATH
+
+
+# _LT_CMD_STRIPLIB
+# ----------------
+m4_defun([_LT_CMD_STRIPLIB],
+[m4_require([_LT_DECL_EGREP])
+striplib=
+old_striplib=
+AC_MSG_CHECKING([whether stripping libraries is possible])
+if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then
+ test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
+ test -z "$striplib" && striplib="$STRIP --strip-unneeded"
+ AC_MSG_RESULT([yes])
+else
+# FIXME - insert some real tests, host_os isn't really good enough
+ case $host_os in
+ darwin*)
+ if test -n "$STRIP" ; then
+ striplib="$STRIP -x"
+ old_striplib="$STRIP -S"
+ AC_MSG_RESULT([yes])
+ else
+ AC_MSG_RESULT([no])
+ fi
+ ;;
+ *)
+ AC_MSG_RESULT([no])
+ ;;
+ esac
+fi
+_LT_DECL([], [old_striplib], [1], [Commands to strip libraries])
+_LT_DECL([], [striplib], [1])
+])# _LT_CMD_STRIPLIB
+
+
+# _LT_SYS_DYNAMIC_LINKER([TAG])
+# -----------------------------
+# PORTME Fill in your ld.so characteristics
+m4_defun([_LT_SYS_DYNAMIC_LINKER],
+[AC_REQUIRE([AC_CANONICAL_HOST])dnl
+m4_require([_LT_DECL_EGREP])dnl
+m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+m4_require([_LT_DECL_OBJDUMP])dnl
+m4_require([_LT_DECL_SED])dnl
+AC_MSG_CHECKING([dynamic linker characteristics])
+m4_if([$1],
+ [], [
+if test "$GCC" = yes; then
+ case $host_os in
+ darwin*) lt_awk_arg="/^libraries:/,/LR/" ;;
+ *) lt_awk_arg="/^libraries:/" ;;
+ esac
+ lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e "s,=/,/,g"`
+ if $ECHO "$lt_search_path_spec" | $GREP ';' >/dev/null ; then
+ # if the path contains ";" then we assume it to be the separator
+ # otherwise default to the standard path separator (i.e. ":") - it is
+ # assumed that no part of a normal pathname contains ";" but that should
+ # okay in the real world where ";" in dirpaths is itself problematic.
+ lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED -e 's/;/ /g'`
+ else
+ lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
+ fi
+ # Ok, now we have the path, separated by spaces, we can step through it
+ # and add multilib dir if necessary.
+ lt_tmp_lt_search_path_spec=
+ lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null`
+ for lt_sys_path in $lt_search_path_spec; do
+ if test -d "$lt_sys_path/$lt_multi_os_dir"; then
+ lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir"
+ else
+ test -d "$lt_sys_path" && \
+ lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path"
+ fi
+ done
+ lt_search_path_spec=`$ECHO $lt_tmp_lt_search_path_spec | awk '
+BEGIN {RS=" "; FS="/|\n";} {
+ lt_foo="";
+ lt_count=0;
+ for (lt_i = NF; lt_i > 0; lt_i--) {
+ if ($lt_i != "" && $lt_i != ".") {
+ if ($lt_i == "..") {
+ lt_count++;
+ } else {
+ if (lt_count == 0) {
+ lt_foo="/" $lt_i lt_foo;
+ } else {
+ lt_count--;
+ }
+ }
+ }
+ }
+ if (lt_foo != "") { lt_freq[[lt_foo]]++; }
+ if (lt_freq[[lt_foo]] == 1) { print lt_foo; }
+}'`
+ sys_lib_search_path_spec=`$ECHO $lt_search_path_spec`
+else
+ sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
+fi])
+library_names_spec=
+libname_spec='lib$name'
+soname_spec=
+shrext_cmds=".so"
+postinstall_cmds=
+postuninstall_cmds=
+finish_cmds=
+finish_eval=
+shlibpath_var=
+shlibpath_overrides_runpath=unknown
+version_type=none
+dynamic_linker="$host_os ld.so"
+sys_lib_dlsearch_path_spec="/lib /usr/lib"
+need_lib_prefix=unknown
+hardcode_into_libs=no
+
+# when you set need_version to no, make sure it does not cause -set_version
+# flags to be left without arguments
+need_version=unknown
+
+case $host_os in
+aix3*)
+ version_type=linux
+ library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a'
+ shlibpath_var=LIBPATH
+
+ # AIX 3 has no versioning support, so we append a major version to the name.
+ soname_spec='${libname}${release}${shared_ext}$major'
+ ;;
+
+aix[[4-9]]*)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ hardcode_into_libs=yes
+ if test "$host_cpu" = ia64; then
+ # AIX 5 supports IA64
+ library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}'
+ shlibpath_var=LD_LIBRARY_PATH
+ else
+ # With GCC up to 2.95.x, collect2 would create an import file
+ # for dependence libraries. The import file would start with
+ # the line `#! .'. This would cause the generated library to
+ # depend on `.', always an invalid library. This was fixed in
+ # development snapshots of GCC prior to 3.0.
+ case $host_os in
+ aix4 | aix4.[[01]] | aix4.[[01]].*)
+ if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
+ echo ' yes '
+ echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then
+ :
+ else
+ can_build_shared=no
+ fi
+ ;;
+ esac
+ # AIX (on Power*) has no versioning support, so currently we can not hardcode correct
+ # soname into executable. Probably we can add versioning support to
+ # collect2, so additional links can be useful in future.
+ if test "$aix_use_runtimelinking" = yes; then
+ # If using run time linking (on AIX 4.2 or later) use lib<name>.so
+ # instead of lib<name>.a to let people know that these are not
+ # typical AIX shared libraries.
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ else
+ # We preserve .a as extension for shared libraries through AIX4.2
+ # and later when we are not doing run time linking.
+ library_names_spec='${libname}${release}.a $libname.a'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ fi
+ shlibpath_var=LIBPATH
+ fi
+ ;;
+
+amigaos*)
+ case $host_cpu in
+ powerpc)
+ # Since July 2007 AmigaOS4 officially supports .so libraries.
+ # When compiling the executable, add -use-dynld -Lsobjs: to the compileline.
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ ;;
+ m68k)
+ library_names_spec='$libname.ixlibrary $libname.a'
+ # Create ${libname}_ixlibrary.a entries in /sys/libs.
+ finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$ECHO "X$lib" | $Xsed -e '\''s%^.*/\([[^/]]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
+ ;;
+ esac
+ ;;
+
+beos*)
+ library_names_spec='${libname}${shared_ext}'
+ dynamic_linker="$host_os ld.so"
+ shlibpath_var=LIBRARY_PATH
+ ;;
+
+bsdi[[45]]*)
+ version_type=linux
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
+ shlibpath_var=LD_LIBRARY_PATH
+ sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
+ sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
+ # the default ld.so.conf also contains /usr/contrib/lib and
+ # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
+ # libtool to hard-code these into programs
+ ;;
+
+cygwin* | mingw* | pw32* | cegcc*)
+ version_type=windows
+ shrext_cmds=".dll"
+ need_version=no
+ need_lib_prefix=no
+
+ case $GCC,$host_os in
+ yes,cygwin* | yes,mingw* | yes,pw32* | yes,cegcc*)
+ library_names_spec='$libname.dll.a'
+ # DLL is installed to $(libdir)/../bin by postinstall_cmds
+ postinstall_cmds='base_file=`basename \${file}`~
+ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~
+ dldir=$destdir/`dirname \$dlpath`~
+ test -d \$dldir || mkdir -p \$dldir~
+ $install_prog $dir/$dlname \$dldir/$dlname~
+ chmod a+x \$dldir/$dlname~
+ if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
+ eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;
+ fi'
+ postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
+ dlpath=$dir/\$dldll~
+ $RM \$dlpath'
+ shlibpath_overrides_runpath=yes
+
+ case $host_os in
+ cygwin*)
+ # Cygwin DLLs use 'cyg' prefix rather than 'lib'
+ soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
+ sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib"
+ ;;
+ mingw* | cegcc*)
+ # MinGW DLLs use traditional 'lib' prefix
+ soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
+ sys_lib_search_path_spec=`$CC -print-search-dirs | $GREP "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
+ if $ECHO "$sys_lib_search_path_spec" | [$GREP ';[c-zC-Z]:/' >/dev/null]; then
+ # It is most probably a Windows format PATH printed by
+ # mingw gcc, but we are running on Cygwin. Gcc prints its search
+ # path with ; separators, and with drive letters. We can handle the
+ # drive letters (cygwin fileutils understands them), so leave them,
+ # especially as we might pass files found there to a mingw objdump,
+ # which wouldn't understand a cygwinified path. Ahh.
+ sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
+ else
+ sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
+ fi
+ ;;
+ pw32*)
+ # pw32 DLLs use 'pw' prefix rather than 'lib'
+ library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
+ ;;
+ esac
+ ;;
+
+ *)
+ library_names_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext} $libname.lib'
+ ;;
+ esac
+ dynamic_linker='Win32 ld.exe'
+ # FIXME: first we should search . and the directory the executable is in
+ shlibpath_var=PATH
+ ;;
+
+darwin* | rhapsody*)
+ dynamic_linker="$host_os dyld"
+ version_type=darwin
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext'
+ soname_spec='${libname}${release}${major}$shared_ext'
+ shlibpath_overrides_runpath=yes
+ shlibpath_var=DYLD_LIBRARY_PATH
+ shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
+m4_if([$1], [],[
+ sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"])
+ sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
+ ;;
+
+dgux*)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ ;;
+
+freebsd1*)
+ dynamic_linker=no
+ ;;
+
+freebsd* | dragonfly*)
+ # DragonFly does not have aout. When/if they implement a new
+ # versioning mechanism, adjust this.
+ if test -x /usr/bin/objformat; then
+ objformat=`/usr/bin/objformat`
+ else
+ case $host_os in
+ freebsd[[123]]*) objformat=aout ;;
+ *) objformat=elf ;;
+ esac
+ fi
+ version_type=freebsd-$objformat
+ case $version_type in
+ freebsd-elf*)
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
+ need_version=no
+ need_lib_prefix=no
+ ;;
+ freebsd-*)
+ library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix'
+ need_version=yes
+ ;;
+ esac
+ shlibpath_var=LD_LIBRARY_PATH
+ case $host_os in
+ freebsd2*)
+ shlibpath_overrides_runpath=yes
+ ;;
+ freebsd3.[[01]]* | freebsdelf3.[[01]]*)
+ shlibpath_overrides_runpath=yes
+ hardcode_into_libs=yes
+ ;;
+ freebsd3.[[2-9]]* | freebsdelf3.[[2-9]]* | \
+ freebsd4.[[0-5]] | freebsdelf4.[[0-5]] | freebsd4.1.1 | freebsdelf4.1.1)
+ shlibpath_overrides_runpath=no
+ hardcode_into_libs=yes
+ ;;
+ *) # from 4.6 on, and DragonFly
+ shlibpath_overrides_runpath=yes
+ hardcode_into_libs=yes
+ ;;
+ esac
+ ;;
+
+gnu*)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ hardcode_into_libs=yes
+ ;;
+
+hpux9* | hpux10* | hpux11*)
+ # Give a soname corresponding to the major version so that dld.sl refuses to
+ # link against other versions.
+ version_type=sunos
+ need_lib_prefix=no
+ need_version=no
+ case $host_cpu in
+ ia64*)
+ shrext_cmds='.so'
+ hardcode_into_libs=yes
+ dynamic_linker="$host_os dld.so"
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ if test "X$HPUX_IA64_MODE" = X32; then
+ sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
+ else
+ sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
+ fi
+ sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
+ ;;
+ hppa*64*)
+ shrext_cmds='.sl'
+ hardcode_into_libs=yes
+ dynamic_linker="$host_os dld.sl"
+ shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
+ shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
+ sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
+ ;;
+ *)
+ shrext_cmds='.sl'
+ dynamic_linker="$host_os dld.sl"
+ shlibpath_var=SHLIB_PATH
+ shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ ;;
+ esac
+ # HP-UX runs *really* slowly unless shared libraries are mode 555.
+ postinstall_cmds='chmod 555 $lib'
+ ;;
+
+interix[[3-9]]*)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=no
+ hardcode_into_libs=yes
+ ;;
+
+irix5* | irix6* | nonstopux*)
+ case $host_os in
+ nonstopux*) version_type=nonstopux ;;
+ *)
+ if test "$lt_cv_prog_gnu_ld" = yes; then
+ version_type=linux
+ else
+ version_type=irix
+ fi ;;
+ esac
+ need_lib_prefix=no
+ need_version=no
+ soname_spec='${libname}${release}${shared_ext}$major'
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}'
+ case $host_os in
+ irix5* | nonstopux*)
+ libsuff= shlibsuff=
+ ;;
+ *)
+ case $LD in # libtool.m4 will add one of these switches to LD
+ *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")
+ libsuff= shlibsuff= libmagic=32-bit;;
+ *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")
+ libsuff=32 shlibsuff=N32 libmagic=N32;;
+ *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")
+ libsuff=64 shlibsuff=64 libmagic=64-bit;;
+ *) libsuff= shlibsuff= libmagic=never-match;;
+ esac
+ ;;
+ esac
+ shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
+ shlibpath_overrides_runpath=no
+ sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
+ sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
+ hardcode_into_libs=yes
+ ;;
+
+# No shared lib support for Linux oldld, aout, or coff.
+linux*oldld* | linux*aout* | linux*coff*)
+ dynamic_linker=no
+ ;;
+
+# This must be Linux ELF.
+linux* | k*bsd*-gnu | kopensolaris*-gnu)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=no
+ # Some binutils ld are patched to set DT_RUNPATH
+ save_LDFLAGS=$LDFLAGS
+ save_libdir=$libdir
+ eval "libdir=/foo; wl=\"$_LT_TAGVAR(lt_prog_compiler_wl, $1)\"; \
+ LDFLAGS=\"\$LDFLAGS $_LT_TAGVAR(hardcode_libdir_flag_spec, $1)\""
+ AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])],
+ [AS_IF([ ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null],
+ [shlibpath_overrides_runpath=yes])])
+ LDFLAGS=$save_LDFLAGS
+ libdir=$save_libdir
+
+ # This implies no fast_install, which is unacceptable.
+ # Some rework will be needed to allow for fast_install
+ # before this can be enabled.
+ hardcode_into_libs=yes
+
+ # Append ld.so.conf contents to the search path
+ if test -f /etc/ld.so.conf; then
+ lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
+ sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
+ fi
+
+ # We used to test for /lib/ld.so.1 and disable shared libraries on
+ # powerpc, because MkLinux only supported shared libraries with the
+ # GNU dynamic linker. Since this was broken with cross compilers,
+ # most powerpc-linux boxes support dynamic linking these days and
+ # people can always --disable-shared, the test was removed, and we
+ # assume the GNU/Linux dynamic linker is in use.
+ dynamic_linker='GNU/Linux ld.so'
+ ;;
+
+netbsdelf*-gnu)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=no
+ hardcode_into_libs=yes
+ dynamic_linker='NetBSD ld.elf_so'
+ ;;
+
+netbsd*)
+ version_type=sunos
+ need_lib_prefix=no
+ need_version=no
+ if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
+ finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
+ dynamic_linker='NetBSD (a.out) ld.so'
+ else
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ dynamic_linker='NetBSD ld.elf_so'
+ fi
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+ hardcode_into_libs=yes
+ ;;
+
+newsos6)
+ version_type=linux
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+ ;;
+
+*nto* | *qnx*)
+ version_type=qnx
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=no
+ hardcode_into_libs=yes
+ dynamic_linker='ldqnx.so'
+ ;;
+
+openbsd*)
+ version_type=sunos
+ sys_lib_dlsearch_path_spec="/usr/lib"
+ need_lib_prefix=no
+ # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs.
+ case $host_os in
+ openbsd3.3 | openbsd3.3.*) need_version=yes ;;
+ *) need_version=no ;;
+ esac
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
+ finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
+ shlibpath_var=LD_LIBRARY_PATH
+ if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+ case $host_os in
+ openbsd2.[[89]] | openbsd2.[[89]].*)
+ shlibpath_overrides_runpath=no
+ ;;
+ *)
+ shlibpath_overrides_runpath=yes
+ ;;
+ esac
+ else
+ shlibpath_overrides_runpath=yes
+ fi
+ ;;
+
+os2*)
+ libname_spec='$name'
+ shrext_cmds=".dll"
+ need_lib_prefix=no
+ library_names_spec='$libname${shared_ext} $libname.a'
+ dynamic_linker='OS/2 ld.exe'
+ shlibpath_var=LIBPATH
+ ;;
+
+osf3* | osf4* | osf5*)
+ version_type=osf
+ need_lib_prefix=no
+ need_version=no
+ soname_spec='${libname}${release}${shared_ext}$major'
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ shlibpath_var=LD_LIBRARY_PATH
+ sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
+ sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
+ ;;
+
+rdos*)
+ dynamic_linker=no
+ ;;
+
+solaris*)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+ hardcode_into_libs=yes
+ # ldd complains unless libraries are executable
+ postinstall_cmds='chmod +x $lib'
+ ;;
+
+sunos4*)
+ version_type=sunos
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
+ finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+ if test "$with_gnu_ld" = yes; then
+ need_lib_prefix=no
+ fi
+ need_version=yes
+ ;;
+
+sysv4 | sysv4.3*)
+ version_type=linux
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ case $host_vendor in
+ sni)
+ shlibpath_overrides_runpath=no
+ need_lib_prefix=no
+ runpath_var=LD_RUN_PATH
+ ;;
+ siemens)
+ need_lib_prefix=no
+ ;;
+ motorola)
+ need_lib_prefix=no
+ need_version=no
+ shlibpath_overrides_runpath=no
+ sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
+ ;;
+ esac
+ ;;
+
+sysv4*MP*)
+ if test -d /usr/nec ;then
+ version_type=linux
+ library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}'
+ soname_spec='$libname${shared_ext}.$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ fi
+ ;;
+
+sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
+ version_type=freebsd-elf
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+ hardcode_into_libs=yes
+ if test "$with_gnu_ld" = yes; then
+ sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
+ else
+ sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
+ case $host_os in
+ sco3.2v5*)
+ sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
+ ;;
+ esac
+ fi
+ sys_lib_dlsearch_path_spec='/usr/lib'
+ ;;
+
+tpf*)
+ # TPF is a cross-target only. Preferred cross-host = GNU/Linux.
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=no
+ hardcode_into_libs=yes
+ ;;
+
+uts4*)
+ version_type=linux
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ ;;
+
+*)
+ dynamic_linker=no
+ ;;
+esac
+AC_MSG_RESULT([$dynamic_linker])
+test "$dynamic_linker" = no && can_build_shared=no
+
+variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
+if test "$GCC" = yes; then
+ variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
+fi
+
+if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then
+ sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec"
+fi
+if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then
+ sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec"
+fi
+
+_LT_DECL([], [variables_saved_for_relink], [1],
+ [Variables whose values should be saved in libtool wrapper scripts and
+ restored at link time])
+_LT_DECL([], [need_lib_prefix], [0],
+ [Do we need the "lib" prefix for modules?])
+_LT_DECL([], [need_version], [0], [Do we need a version for libraries?])
+_LT_DECL([], [version_type], [0], [Library versioning type])
+_LT_DECL([], [runpath_var], [0], [Shared library runtime path variable])
+_LT_DECL([], [shlibpath_var], [0],[Shared library path variable])
+_LT_DECL([], [shlibpath_overrides_runpath], [0],
+ [Is shlibpath searched before the hard-coded library search path?])
+_LT_DECL([], [libname_spec], [1], [Format of library name prefix])
+_LT_DECL([], [library_names_spec], [1],
+ [[List of archive names. First name is the real one, the rest are links.
+ The last name is the one that the linker finds with -lNAME]])
+_LT_DECL([], [soname_spec], [1],
+ [[The coded name of the library, if different from the real name]])
+_LT_DECL([], [postinstall_cmds], [2],
+ [Command to use after installation of a shared archive])
+_LT_DECL([], [postuninstall_cmds], [2],
+ [Command to use after uninstallation of a shared archive])
+_LT_DECL([], [finish_cmds], [2],
+ [Commands used to finish a libtool library installation in a directory])
+_LT_DECL([], [finish_eval], [1],
+ [[As "finish_cmds", except a single script fragment to be evaled but
+ not shown]])
+_LT_DECL([], [hardcode_into_libs], [0],
+ [Whether we should hardcode library paths into libraries])
+_LT_DECL([], [sys_lib_search_path_spec], [2],
+ [Compile-time system search path for libraries])
+_LT_DECL([], [sys_lib_dlsearch_path_spec], [2],
+ [Run-time system search path for libraries])
+])# _LT_SYS_DYNAMIC_LINKER
+
+
+# _LT_PATH_TOOL_PREFIX(TOOL)
+# --------------------------
+# find a file program which can recognize shared library
+AC_DEFUN([_LT_PATH_TOOL_PREFIX],
+[m4_require([_LT_DECL_EGREP])dnl
+AC_MSG_CHECKING([for $1])
+AC_CACHE_VAL(lt_cv_path_MAGIC_CMD,
+[case $MAGIC_CMD in
+[[\\/*] | ?:[\\/]*])
+ lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
+ ;;
+*)
+ lt_save_MAGIC_CMD="$MAGIC_CMD"
+ lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+dnl $ac_dummy forces splitting on constant user-supplied paths.
+dnl POSIX.2 word splitting is done only on the output of word expansions,
+dnl not every word. This closes a longstanding sh security hole.
+ ac_dummy="m4_if([$2], , $PATH, [$2])"
+ for ac_dir in $ac_dummy; do
+ IFS="$lt_save_ifs"
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$1; then
+ lt_cv_path_MAGIC_CMD="$ac_dir/$1"
+ if test -n "$file_magic_test_file"; then
+ case $deplibs_check_method in
+ "file_magic "*)
+ file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
+ MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
+ if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
+ $EGREP "$file_magic_regex" > /dev/null; then
+ :
+ else
+ cat <<_LT_EOF 1>&2
+
+*** Warning: the command libtool uses to detect shared libraries,
+*** $file_magic_cmd, produces output that libtool cannot recognize.
+*** The result is that libtool may fail to recognize shared libraries
+*** as such. This will affect the creation of libtool libraries that
+*** depend on shared libraries, but programs linked with such libtool
+*** libraries will work regardless of this problem. Nevertheless, you
+*** may want to report the problem to your system manager and/or to
+*** bug-libtool@gnu.org
+
+_LT_EOF
+ fi ;;
+ esac
+ fi
+ break
+ fi
+ done
+ IFS="$lt_save_ifs"
+ MAGIC_CMD="$lt_save_MAGIC_CMD"
+ ;;
+esac])
+MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
+if test -n "$MAGIC_CMD"; then
+ AC_MSG_RESULT($MAGIC_CMD)
+else
+ AC_MSG_RESULT(no)
+fi
+_LT_DECL([], [MAGIC_CMD], [0],
+ [Used to examine libraries when file_magic_cmd begins with "file"])dnl
+])# _LT_PATH_TOOL_PREFIX
+
+# Old name:
+AU_ALIAS([AC_PATH_TOOL_PREFIX], [_LT_PATH_TOOL_PREFIX])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_PATH_TOOL_PREFIX], [])
+
+
+# _LT_PATH_MAGIC
+# --------------
+# find a file program which can recognize a shared library
+m4_defun([_LT_PATH_MAGIC],
+[_LT_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin$PATH_SEPARATOR$PATH)
+if test -z "$lt_cv_path_MAGIC_CMD"; then
+ if test -n "$ac_tool_prefix"; then
+ _LT_PATH_TOOL_PREFIX(file, /usr/bin$PATH_SEPARATOR$PATH)
+ else
+ MAGIC_CMD=:
+ fi
+fi
+])# _LT_PATH_MAGIC
+
+
+# LT_PATH_LD
+# ----------
+# find the pathname to the GNU or non-GNU linker
+AC_DEFUN([LT_PATH_LD],
+[AC_REQUIRE([AC_PROG_CC])dnl
+AC_REQUIRE([AC_CANONICAL_HOST])dnl
+AC_REQUIRE([AC_CANONICAL_BUILD])dnl
+m4_require([_LT_DECL_SED])dnl
+m4_require([_LT_DECL_EGREP])dnl
+
+AC_ARG_WITH([gnu-ld],
+ [AS_HELP_STRING([--with-gnu-ld],
+ [assume the C compiler uses GNU ld @<:@default=no@:>@])],
+ [test "$withval" = no || with_gnu_ld=yes],
+ [with_gnu_ld=no])dnl
+
+ac_prog=ld
+if test "$GCC" = yes; then
+ # Check if gcc -print-prog-name=ld gives a path.
+ AC_MSG_CHECKING([for ld used by $CC])
+ case $host in
+ *-*-mingw*)
+ # gcc leaves a trailing carriage return which upsets mingw
+ ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
+ *)
+ ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
+ esac
+ case $ac_prog in
+ # Accept absolute paths.
+ [[\\/]]* | ?:[[\\/]]*)
+ re_direlt='/[[^/]][[^/]]*/\.\./'
+ # Canonicalize the pathname of ld
+ ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'`
+ while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do
+ ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"`
+ done
+ test -z "$LD" && LD="$ac_prog"
+ ;;
+ "")
+ # If it fails, then pretend we aren't using GCC.
+ ac_prog=ld
+ ;;
+ *)
+ # If it is relative, then search for the first ld in PATH.
+ with_gnu_ld=unknown
+ ;;
+ esac
+elif test "$with_gnu_ld" = yes; then
+ AC_MSG_CHECKING([for GNU ld])
+else
+ AC_MSG_CHECKING([for non-GNU ld])
+fi
+AC_CACHE_VAL(lt_cv_path_LD,
+[if test -z "$LD"; then
+ lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+ for ac_dir in $PATH; do
+ IFS="$lt_save_ifs"
+ test -z "$ac_dir" && ac_dir=.
+ if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
+ lt_cv_path_LD="$ac_dir/$ac_prog"
+ # Check to see if the program is GNU ld. I'd rather use --version,
+ # but apparently some variants of GNU ld only accept -v.
+ # Break only if it was the GNU/non-GNU ld that we prefer.
+ case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in
+ *GNU* | *'with BFD'*)
+ test "$with_gnu_ld" != no && break
+ ;;
+ *)
+ test "$with_gnu_ld" != yes && break
+ ;;
+ esac
+ fi
+ done
+ IFS="$lt_save_ifs"
+else
+ lt_cv_path_LD="$LD" # Let the user override the test with a path.
+fi])
+LD="$lt_cv_path_LD"
+if test -n "$LD"; then
+ AC_MSG_RESULT($LD)
+else
+ AC_MSG_RESULT(no)
+fi
+test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH])
+_LT_PATH_LD_GNU
+AC_SUBST([LD])
+
+_LT_TAGDECL([], [LD], [1], [The linker used to build libraries])
+])# LT_PATH_LD
+
+# Old names:
+AU_ALIAS([AM_PROG_LD], [LT_PATH_LD])
+AU_ALIAS([AC_PROG_LD], [LT_PATH_LD])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AM_PROG_LD], [])
+dnl AC_DEFUN([AC_PROG_LD], [])
+
+
+# _LT_PATH_LD_GNU
+#- --------------
+m4_defun([_LT_PATH_LD_GNU],
+[AC_CACHE_CHECK([if the linker ($LD) is GNU ld], lt_cv_prog_gnu_ld,
+[# I'd rather use --version here, but apparently some GNU lds only accept -v.
+case `$LD -v 2>&1 </dev/null` in
+*GNU* | *'with BFD'*)
+ lt_cv_prog_gnu_ld=yes
+ ;;
+*)
+ lt_cv_prog_gnu_ld=no
+ ;;
+esac])
+with_gnu_ld=$lt_cv_prog_gnu_ld
+])# _LT_PATH_LD_GNU
+
+
+# _LT_CMD_RELOAD
+# --------------
+# find reload flag for linker
+# -- PORTME Some linkers may need a different reload flag.
+m4_defun([_LT_CMD_RELOAD],
+[AC_CACHE_CHECK([for $LD option to reload object files],
+ lt_cv_ld_reload_flag,
+ [lt_cv_ld_reload_flag='-r'])
+reload_flag=$lt_cv_ld_reload_flag
+case $reload_flag in
+"" | " "*) ;;
+*) reload_flag=" $reload_flag" ;;
+esac
+reload_cmds='$LD$reload_flag -o $output$reload_objs'
+case $host_os in
+ darwin*)
+ if test "$GCC" = yes; then
+ reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs'
+ else
+ reload_cmds='$LD$reload_flag -o $output$reload_objs'
+ fi
+ ;;
+esac
+_LT_DECL([], [reload_flag], [1], [How to create reloadable object files])dnl
+_LT_DECL([], [reload_cmds], [2])dnl
+])# _LT_CMD_RELOAD
+
+
+# _LT_CHECK_MAGIC_METHOD
+# ----------------------
+# how to check for library dependencies
+# -- PORTME fill in with the dynamic library characteristics
+m4_defun([_LT_CHECK_MAGIC_METHOD],
+[m4_require([_LT_DECL_EGREP])
+m4_require([_LT_DECL_OBJDUMP])
+AC_CACHE_CHECK([how to recognize dependent libraries],
+lt_cv_deplibs_check_method,
+[lt_cv_file_magic_cmd='$MAGIC_CMD'
+lt_cv_file_magic_test_file=
+lt_cv_deplibs_check_method='unknown'
+# Need to set the preceding variable on all platforms that support
+# interlibrary dependencies.
+# 'none' -- dependencies not supported.
+# `unknown' -- same as none, but documents that we really don't know.
+# 'pass_all' -- all dependencies passed with no checks.
+# 'test_compile' -- check by making test program.
+# 'file_magic [[regex]]' -- check by looking for files in library path
+# which responds to the $file_magic_cmd with a given extended regex.
+# If you have `file' or equivalent on your system and you're not sure
+# whether `pass_all' will *always* work, you probably want this one.
+
+case $host_os in
+aix[[4-9]]*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+beos*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+bsdi[[45]]*)
+ lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib)'
+ lt_cv_file_magic_cmd='/usr/bin/file -L'
+ lt_cv_file_magic_test_file=/shlib/libc.so
+ ;;
+
+cygwin*)
+ # func_win32_libid is a shell function defined in ltmain.sh
+ lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
+ lt_cv_file_magic_cmd='func_win32_libid'
+ ;;
+
+mingw* | pw32*)
+ # Base MSYS/MinGW do not provide the 'file' command needed by
+ # func_win32_libid shell function, so use a weaker test based on 'objdump',
+ # unless we find 'file', for example because we are cross-compiling.
+ if ( file / ) >/dev/null 2>&1; then
+ lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
+ lt_cv_file_magic_cmd='func_win32_libid'
+ else
+ lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?'
+ lt_cv_file_magic_cmd='$OBJDUMP -f'
+ fi
+ ;;
+
+cegcc)
+ # use the weaker test based on 'objdump'. See mingw*.
+ lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?'
+ lt_cv_file_magic_cmd='$OBJDUMP -f'
+ ;;
+
+darwin* | rhapsody*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+freebsd* | dragonfly*)
+ if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
+ case $host_cpu in
+ i*86 )
+ # Not sure whether the presence of OpenBSD here was a mistake.
+ # Let's accept both of them until this is cleared up.
+ lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[[3-9]]86 (compact )?demand paged shared library'
+ lt_cv_file_magic_cmd=/usr/bin/file
+ lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
+ ;;
+ esac
+ else
+ lt_cv_deplibs_check_method=pass_all
+ fi
+ ;;
+
+gnu*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+hpux10.20* | hpux11*)
+ lt_cv_file_magic_cmd=/usr/bin/file
+ case $host_cpu in
+ ia64*)
+ lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|ELF-[[0-9]][[0-9]]) shared object file - IA64'
+ lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so
+ ;;
+ hppa*64*)
+ [lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - PA-RISC [0-9].[0-9]']
+ lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl
+ ;;
+ *)
+ lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|PA-RISC[[0-9]].[[0-9]]) shared library'
+ lt_cv_file_magic_test_file=/usr/lib/libc.sl
+ ;;
+ esac
+ ;;
+
+interix[[3-9]]*)
+ # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here
+ lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|\.a)$'
+ ;;
+
+irix5* | irix6* | nonstopux*)
+ case $LD in
+ *-32|*"-32 ") libmagic=32-bit;;
+ *-n32|*"-n32 ") libmagic=N32;;
+ *-64|*"-64 ") libmagic=64-bit;;
+ *) libmagic=never-match;;
+ esac
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+# This must be Linux ELF.
+linux* | k*bsd*-gnu | kopensolaris*-gnu)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+netbsd* | netbsdelf*-gnu)
+ if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
+ lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$'
+ else
+ lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|_pic\.a)$'
+ fi
+ ;;
+
+newos6*)
+ lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (executable|dynamic lib)'
+ lt_cv_file_magic_cmd=/usr/bin/file
+ lt_cv_file_magic_test_file=/usr/lib/libnls.so
+ ;;
+
+*nto* | *qnx*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+openbsd*)
+ if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+ lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|\.so|_pic\.a)$'
+ else
+ lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$'
+ fi
+ ;;
+
+osf3* | osf4* | osf5*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+rdos*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+solaris*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+sysv4 | sysv4.3*)
+ case $host_vendor in
+ motorola)
+ lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib) M[[0-9]][[0-9]]* Version [[0-9]]'
+ lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*`
+ ;;
+ ncr)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+ sequent)
+ lt_cv_file_magic_cmd='/bin/file'
+ lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )'
+ ;;
+ sni)
+ lt_cv_file_magic_cmd='/bin/file'
+ lt_cv_deplibs_check_method="file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB dynamic lib"
+ lt_cv_file_magic_test_file=/lib/libc.so
+ ;;
+ siemens)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+ pc)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+ esac
+ ;;
+
+tpf*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+esac
+])
+file_magic_cmd=$lt_cv_file_magic_cmd
+deplibs_check_method=$lt_cv_deplibs_check_method
+test -z "$deplibs_check_method" && deplibs_check_method=unknown
+
+_LT_DECL([], [deplibs_check_method], [1],
+ [Method to check whether dependent libraries are shared objects])
+_LT_DECL([], [file_magic_cmd], [1],
+ [Command to use when deplibs_check_method == "file_magic"])
+])# _LT_CHECK_MAGIC_METHOD
+
+
+# LT_PATH_NM
+# ----------
+# find the pathname to a BSD- or MS-compatible name lister
+AC_DEFUN([LT_PATH_NM],
+[AC_REQUIRE([AC_PROG_CC])dnl
+AC_CACHE_CHECK([for BSD- or MS-compatible name lister (nm)], lt_cv_path_NM,
+[if test -n "$NM"; then
+ # Let the user override the test.
+ lt_cv_path_NM="$NM"
+else
+ lt_nm_to_check="${ac_tool_prefix}nm"
+ if test -n "$ac_tool_prefix" && test "$build" = "$host"; then
+ lt_nm_to_check="$lt_nm_to_check nm"
+ fi
+ for lt_tmp_nm in $lt_nm_to_check; do
+ lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+ for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do
+ IFS="$lt_save_ifs"
+ test -z "$ac_dir" && ac_dir=.
+ tmp_nm="$ac_dir/$lt_tmp_nm"
+ if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then
+ # Check to see if the nm accepts a BSD-compat flag.
+ # Adding the `sed 1q' prevents false positives on HP-UX, which says:
+ # nm: unknown option "B" ignored
+ # Tru64's nm complains that /dev/null is an invalid object file
+ case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in
+ */dev/null* | *'Invalid file or object type'*)
+ lt_cv_path_NM="$tmp_nm -B"
+ break
+ ;;
+ *)
+ case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in
+ */dev/null*)
+ lt_cv_path_NM="$tmp_nm -p"
+ break
+ ;;
+ *)
+ lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but
+ continue # so that we can try to find one that supports BSD flags
+ ;;
+ esac
+ ;;
+ esac
+ fi
+ done
+ IFS="$lt_save_ifs"
+ done
+ : ${lt_cv_path_NM=no}
+fi])
+if test "$lt_cv_path_NM" != "no"; then
+ NM="$lt_cv_path_NM"
+else
+ # Didn't find any BSD compatible name lister, look for dumpbin.
+ AC_CHECK_TOOLS(DUMPBIN, ["dumpbin -symbols" "link -dump -symbols"], :)
+ AC_SUBST([DUMPBIN])
+ if test "$DUMPBIN" != ":"; then
+ NM="$DUMPBIN"
+ fi
+fi
+test -z "$NM" && NM=nm
+AC_SUBST([NM])
+_LT_DECL([], [NM], [1], [A BSD- or MS-compatible name lister])dnl
+
+AC_CACHE_CHECK([the name lister ($NM) interface], [lt_cv_nm_interface],
+ [lt_cv_nm_interface="BSD nm"
+ echo "int some_variable = 0;" > conftest.$ac_ext
+ (eval echo "\"\$as_me:__oline__: $ac_compile\"" >&AS_MESSAGE_LOG_FD)
+ (eval "$ac_compile" 2>conftest.err)
+ cat conftest.err >&AS_MESSAGE_LOG_FD
+ (eval echo "\"\$as_me:__oline__: $NM \\\"conftest.$ac_objext\\\"\"" >&AS_MESSAGE_LOG_FD)
+ (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out)
+ cat conftest.err >&AS_MESSAGE_LOG_FD
+ (eval echo "\"\$as_me:__oline__: output\"" >&AS_MESSAGE_LOG_FD)
+ cat conftest.out >&AS_MESSAGE_LOG_FD
+ if $GREP 'External.*some_variable' conftest.out > /dev/null; then
+ lt_cv_nm_interface="MS dumpbin"
+ fi
+ rm -f conftest*])
+])# LT_PATH_NM
+
+# Old names:
+AU_ALIAS([AM_PROG_NM], [LT_PATH_NM])
+AU_ALIAS([AC_PROG_NM], [LT_PATH_NM])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AM_PROG_NM], [])
+dnl AC_DEFUN([AC_PROG_NM], [])
+
+
+# LT_LIB_M
+# --------
+# check for math library
+AC_DEFUN([LT_LIB_M],
+[AC_REQUIRE([AC_CANONICAL_HOST])dnl
+LIBM=
+case $host in
+*-*-beos* | *-*-cygwin* | *-*-pw32* | *-*-darwin*)
+ # These system don't have libm, or don't need it
+ ;;
+*-ncr-sysv4.3*)
+ AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM="-lmw")
+ AC_CHECK_LIB(m, cos, LIBM="$LIBM -lm")
+ ;;
+*)
+ AC_CHECK_LIB(m, cos, LIBM="-lm")
+ ;;
+esac
+AC_SUBST([LIBM])
+])# LT_LIB_M
+
+# Old name:
+AU_ALIAS([AC_CHECK_LIBM], [LT_LIB_M])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_CHECK_LIBM], [])
+
+
+# _LT_COMPILER_NO_RTTI([TAGNAME])
+# -------------------------------
+m4_defun([_LT_COMPILER_NO_RTTI],
+[m4_require([_LT_TAG_COMPILER])dnl
+
+_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=
+
+if test "$GCC" = yes; then
+ _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin'
+
+ _LT_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions],
+ lt_cv_prog_compiler_rtti_exceptions,
+ [-fno-rtti -fno-exceptions], [],
+ [_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)="$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) -fno-rtti -fno-exceptions"])
+fi
+_LT_TAGDECL([no_builtin_flag], [lt_prog_compiler_no_builtin_flag], [1],
+ [Compiler flag to turn off builtin functions])
+])# _LT_COMPILER_NO_RTTI
+
+
+# _LT_CMD_GLOBAL_SYMBOLS
+# ----------------------
+m4_defun([_LT_CMD_GLOBAL_SYMBOLS],
+[AC_REQUIRE([AC_CANONICAL_HOST])dnl
+AC_REQUIRE([AC_PROG_CC])dnl
+AC_REQUIRE([LT_PATH_NM])dnl
+AC_REQUIRE([LT_PATH_LD])dnl
+m4_require([_LT_DECL_SED])dnl
+m4_require([_LT_DECL_EGREP])dnl
+m4_require([_LT_TAG_COMPILER])dnl
+
+# Check for command to grab the raw symbol name followed by C symbol from nm.
+AC_MSG_CHECKING([command to parse $NM output from $compiler object])
+AC_CACHE_VAL([lt_cv_sys_global_symbol_pipe],
+[
+# These are sane defaults that work on at least a few old systems.
+# [They come from Ultrix. What could be older than Ultrix?!! ;)]
+
+# Character class describing NM global symbol codes.
+symcode='[[BCDEGRST]]'
+
+# Regexp to match symbols that can be accessed directly from C.
+sympat='\([[_A-Za-z]][[_A-Za-z0-9]]*\)'
+
+# Define system-specific variables.
+case $host_os in
+aix*)
+ symcode='[[BCDT]]'
+ ;;
+cygwin* | mingw* | pw32* | cegcc*)
+ symcode='[[ABCDGISTW]]'
+ ;;
+hpux*)
+ if test "$host_cpu" = ia64; then
+ symcode='[[ABCDEGRST]]'
+ fi
+ ;;
+irix* | nonstopux*)
+ symcode='[[BCDEGRST]]'
+ ;;
+osf*)
+ symcode='[[BCDEGQRST]]'
+ ;;
+solaris*)
+ symcode='[[BDRT]]'
+ ;;
+sco3.2v5*)
+ symcode='[[DT]]'
+ ;;
+sysv4.2uw2*)
+ symcode='[[DT]]'
+ ;;
+sysv5* | sco5v6* | unixware* | OpenUNIX*)
+ symcode='[[ABDT]]'
+ ;;
+sysv4)
+ symcode='[[DFNSTU]]'
+ ;;
+esac
+
+# If we're using GNU nm, then use its standard symbol codes.
+case `$NM -V 2>&1` in
+*GNU* | *'with BFD'*)
+ symcode='[[ABCDGIRSTW]]' ;;
+esac
+
+# Transform an extracted symbol line into a proper C declaration.
+# Some systems (esp. on ia64) link data and code symbols differently,
+# so use this general approach.
+lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
+
+# Transform an extracted symbol line into symbol name and symbol address
+lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (void *) \&\2},/p'"
+lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \(lib[[^ ]]*\)$/ {\"\2\", (void *) \&\2},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"lib\2\", (void *) \&\2},/p'"
+
+# Handle CRLF in mingw tool chain
+opt_cr=
+case $build_os in
+mingw*)
+ opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp
+ ;;
+esac
+
+# Try without a prefix underscore, then with it.
+for ac_symprfx in "" "_"; do
+
+ # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol.
+ symxfrm="\\1 $ac_symprfx\\2 \\2"
+
+ # Write the raw and C identifiers.
+ if test "$lt_cv_nm_interface" = "MS dumpbin"; then
+ # Fake it for dumpbin and say T for any non-static function
+ # and D for any global variable.
+ # Also find C++ and __fastcall symbols from MSVC++,
+ # which start with @ or ?.
+ lt_cv_sys_global_symbol_pipe="$AWK ['"\
+" {last_section=section; section=\$ 3};"\
+" /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\
+" \$ 0!~/External *\|/{next};"\
+" / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\
+" {if(hide[section]) next};"\
+" {f=0}; \$ 0~/\(\).*\|/{f=1}; {printf f ? \"T \" : \"D \"};"\
+" {split(\$ 0, a, /\||\r/); split(a[2], s)};"\
+" s[1]~/^[@?]/{print s[1], s[1]; next};"\
+" s[1]~prfx {split(s[1],t,\"@\"); print t[1], substr(t[1],length(prfx))}"\
+" ' prfx=^$ac_symprfx]"
+ else
+ lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[ ]]\($symcode$symcode*\)[[ ]][[ ]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
+ fi
+
+ # Check to see that the pipe works correctly.
+ pipe_works=no
+
+ rm -f conftest*
+ cat > conftest.$ac_ext <<_LT_EOF
+#ifdef __cplusplus
+extern "C" {
+#endif
+char nm_test_var;
+void nm_test_func(void);
+void nm_test_func(void){}
+#ifdef __cplusplus
+}
+#endif
+int main(){nm_test_var='a';nm_test_func();return(0);}
+_LT_EOF
+
+ if AC_TRY_EVAL(ac_compile); then
+ # Now try to grab the symbols.
+ nlist=conftest.nm
+ if AC_TRY_EVAL(NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist) && test -s "$nlist"; then
+ # Try sorting and uniquifying the output.
+ if sort "$nlist" | uniq > "$nlist"T; then
+ mv -f "$nlist"T "$nlist"
+ else
+ rm -f "$nlist"T
+ fi
+
+ # Make sure that we snagged all the symbols we need.
+ if $GREP ' nm_test_var$' "$nlist" >/dev/null; then
+ if $GREP ' nm_test_func$' "$nlist" >/dev/null; then
+ cat <<_LT_EOF > conftest.$ac_ext
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+_LT_EOF
+ # Now generate the symbol file.
+ eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext'
+
+ cat <<_LT_EOF >> conftest.$ac_ext
+
+/* The mapping between symbol names and symbols. */
+const struct {
+ const char *name;
+ void *address;
+}
+lt__PROGRAM__LTX_preloaded_symbols[[]] =
+{
+ { "@PROGRAM@", (void *) 0 },
+_LT_EOF
+ $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (void *) \&\2},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext
+ cat <<\_LT_EOF >> conftest.$ac_ext
+ {0, (void *) 0}
+};
+
+/* This works around a problem in FreeBSD linker */
+#ifdef FREEBSD_WORKAROUND
+static const void *lt_preloaded_setup() {
+ return lt__PROGRAM__LTX_preloaded_symbols;
+}
+#endif
+
+#ifdef __cplusplus
+}
+#endif
+_LT_EOF
+ # Now try linking the two files.
+ mv conftest.$ac_objext conftstm.$ac_objext
+ lt_save_LIBS="$LIBS"
+ lt_save_CFLAGS="$CFLAGS"
+ LIBS="conftstm.$ac_objext"
+ CFLAGS="$CFLAGS$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)"
+ if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext}; then
+ pipe_works=yes
+ fi
+ LIBS="$lt_save_LIBS"
+ CFLAGS="$lt_save_CFLAGS"
+ else
+ echo "cannot find nm_test_func in $nlist" >&AS_MESSAGE_LOG_FD
+ fi
+ else
+ echo "cannot find nm_test_var in $nlist" >&AS_MESSAGE_LOG_FD
+ fi
+ else
+ echo "cannot run $lt_cv_sys_global_symbol_pipe" >&AS_MESSAGE_LOG_FD
+ fi
+ else
+ echo "$progname: failed program was:" >&AS_MESSAGE_LOG_FD
+ cat conftest.$ac_ext >&5
+ fi
+ rm -rf conftest* conftst*
+
+ # Do not use the global_symbol_pipe unless it works.
+ if test "$pipe_works" = yes; then
+ break
+ else
+ lt_cv_sys_global_symbol_pipe=
+ fi
+done
+])
+if test -z "$lt_cv_sys_global_symbol_pipe"; then
+ lt_cv_sys_global_symbol_to_cdecl=
+fi
+if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then
+ AC_MSG_RESULT(failed)
+else
+ AC_MSG_RESULT(ok)
+fi
+
+_LT_DECL([global_symbol_pipe], [lt_cv_sys_global_symbol_pipe], [1],
+ [Take the output of nm and produce a listing of raw symbols and C names])
+_LT_DECL([global_symbol_to_cdecl], [lt_cv_sys_global_symbol_to_cdecl], [1],
+ [Transform the output of nm in a proper C declaration])
+_LT_DECL([global_symbol_to_c_name_address],
+ [lt_cv_sys_global_symbol_to_c_name_address], [1],
+ [Transform the output of nm in a C name address pair])
+_LT_DECL([global_symbol_to_c_name_address_lib_prefix],
+ [lt_cv_sys_global_symbol_to_c_name_address_lib_prefix], [1],
+ [Transform the output of nm in a C name address pair when lib prefix is needed])
+]) # _LT_CMD_GLOBAL_SYMBOLS
+
+
+# _LT_COMPILER_PIC([TAGNAME])
+# ---------------------------
+m4_defun([_LT_COMPILER_PIC],
+[m4_require([_LT_TAG_COMPILER])dnl
+_LT_TAGVAR(lt_prog_compiler_wl, $1)=
+_LT_TAGVAR(lt_prog_compiler_pic, $1)=
+_LT_TAGVAR(lt_prog_compiler_static, $1)=
+
+AC_MSG_CHECKING([for $compiler option to produce PIC])
+m4_if([$1], [CXX], [
+ # C++ specific cases for pic, static, wl, etc.
+ if test "$GXX" = yes; then
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
+
+ case $host_os in
+ aix*)
+ # All AIX code is PIC.
+ if test "$host_cpu" = ia64; then
+ # AIX 5 now supports IA64 processor
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ fi
+ ;;
+
+ amigaos*)
+ case $host_cpu in
+ powerpc)
+ # see comment about AmigaOS4 .so support
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+ ;;
+ m68k)
+ # FIXME: we need at least 68020 code to build shared libraries, but
+ # adding the `-m68020' flag to GCC prevents building anything better,
+ # like `-m68040'.
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
+ ;;
+ esac
+ ;;
+
+ beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
+ # PIC is the default for these OSes.
+ ;;
+ mingw* | cygwin* | os2* | pw32* | cegcc*)
+ # This hack is so that the source file can tell whether it is being
+ # built for inclusion in a dll (and should export symbols for example).
+ # Although the cygwin gcc ignores -fPIC, still need this for old-style
+ # (--disable-auto-import) libraries
+ m4_if([$1], [GCJ], [],
+ [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
+ ;;
+ darwin* | rhapsody*)
+ # PIC is the default on this platform
+ # Common symbols not allowed in MH_DYLIB files
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
+ ;;
+ *djgpp*)
+ # DJGPP does not support shared libraries at all
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)=
+ ;;
+ interix[[3-9]]*)
+ # Interix 3.x gcc -fpic/-fPIC options generate broken code.
+ # Instead, we relocate shared libraries at runtime.
+ ;;
+ sysv4*MP*)
+ if test -d /usr/nec; then
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic
+ fi
+ ;;
+ hpux*)
+ # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
+ # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag
+ # sets the default TLS model and affects inlining.
+ case $host_cpu in
+ hppa*64*)
+ ;;
+ *)
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+ ;;
+ esac
+ ;;
+ *qnx* | *nto*)
+ # QNX uses GNU C++, but need to define -shared option too, otherwise
+ # it will coredump.
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
+ ;;
+ *)
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+ ;;
+ esac
+ else
+ case $host_os in
+ aix[[4-9]]*)
+ # All AIX code is PIC.
+ if test "$host_cpu" = ia64; then
+ # AIX 5 now supports IA64 processor
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ else
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp'
+ fi
+ ;;
+ chorus*)
+ case $cc_basename in
+ cxch68*)
+ # Green Hills C++ Compiler
+ # _LT_TAGVAR(lt_prog_compiler_static, $1)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a"
+ ;;
+ esac
+ ;;
+ dgux*)
+ case $cc_basename in
+ ec++*)
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ ;;
+ ghcx*)
+ # Green Hills C++ Compiler
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
+ ;;
+ *)
+ ;;
+ esac
+ ;;
+ freebsd* | dragonfly*)
+ # FreeBSD uses GNU C++
+ ;;
+ hpux9* | hpux10* | hpux11*)
+ case $cc_basename in
+ CC*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
+ if test "$host_cpu" != ia64; then
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
+ fi
+ ;;
+ aCC*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
+ case $host_cpu in
+ hppa*64*|ia64*)
+ # +Z the default
+ ;;
+ *)
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
+ ;;
+ esac
+ ;;
+ *)
+ ;;
+ esac
+ ;;
+ interix*)
+ # This is c89, which is MS Visual C++ (no shared libs)
+ # Anyone wants to do a port?
+ ;;
+ irix5* | irix6* | nonstopux*)
+ case $cc_basename in
+ CC*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
+ # CC pic flag -KPIC is the default.
+ ;;
+ *)
+ ;;
+ esac
+ ;;
+ linux* | k*bsd*-gnu | kopensolaris*-gnu)
+ case $cc_basename in
+ KCC*)
+ # KAI C++ Compiler
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+ ;;
+ ecpc* )
+ # old Intel C++ for x86_64 which still supported -KPIC.
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
+ ;;
+ icpc* )
+ # Intel C++, used to be incompatible with GCC.
+ # ICC 10 doesn't accept -KPIC any more.
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
+ ;;
+ pgCC* | pgcpp*)
+ # Portland Group C++ compiler
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ ;;
+ cxx*)
+ # Compaq C++
+ # Make sure the PIC flag is empty. It appears that all Alpha
+ # Linux and Compaq Tru64 Unix objects are PIC.
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)=
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
+ ;;
+ xlc* | xlC*)
+ # IBM XL 8.0 on PPC
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink'
+ ;;
+ *)
+ case `$CC -V 2>&1 | sed 5q` in
+ *Sun\ C*)
+ # Sun C++ 5.9
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
+ ;;
+ esac
+ ;;
+ esac
+ ;;
+ lynxos*)
+ ;;
+ m88k*)
+ ;;
+ mvs*)
+ case $cc_basename in
+ cxx*)
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-W c,exportall'
+ ;;
+ *)
+ ;;
+ esac
+ ;;
+ netbsd* | netbsdelf*-gnu)
+ ;;
+ *qnx* | *nto*)
+ # QNX uses GNU C++, but need to define -shared option too, otherwise
+ # it will coredump.
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
+ ;;
+ osf3* | osf4* | osf5*)
+ case $cc_basename in
+ KCC*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,'
+ ;;
+ RCC*)
+ # Rational C++ 2.4.1
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
+ ;;
+ cxx*)
+ # Digital/Compaq C++
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ # Make sure the PIC flag is empty. It appears that all Alpha
+ # Linux and Compaq Tru64 Unix objects are PIC.
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)=
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
+ ;;
+ *)
+ ;;
+ esac
+ ;;
+ psos*)
+ ;;
+ solaris*)
+ case $cc_basename in
+ CC*)
+ # Sun C++ 4.2, 5.x and Centerline C++
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
+ ;;
+ gcx*)
+ # Green Hills C++ Compiler
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
+ ;;
+ *)
+ ;;
+ esac
+ ;;
+ sunos4*)
+ case $cc_basename in
+ CC*)
+ # Sun C++ 4.x
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ ;;
+ lcc*)
+ # Lucid
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
+ ;;
+ *)
+ ;;
+ esac
+ ;;
+ sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
+ case $cc_basename in
+ CC*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ ;;
+ esac
+ ;;
+ tandem*)
+ case $cc_basename in
+ NCC*)
+ # NonStop-UX NCC 3.20
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ ;;
+ *)
+ ;;
+ esac
+ ;;
+ vxworks*)
+ ;;
+ *)
+ _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
+ ;;
+ esac
+ fi
+],
+[
+ if test "$GCC" = yes; then
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
+
+ case $host_os in
+ aix*)
+ # All AIX code is PIC.
+ if test "$host_cpu" = ia64; then
+ # AIX 5 now supports IA64 processor
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ fi
+ ;;
+
+ amigaos*)
+ case $host_cpu in
+ powerpc)
+ # see comment about AmigaOS4 .so support
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+ ;;
+ m68k)
+ # FIXME: we need at least 68020 code to build shared libraries, but
+ # adding the `-m68020' flag to GCC prevents building anything better,
+ # like `-m68040'.
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
+ ;;
+ esac
+ ;;
+
+ beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
+ # PIC is the default for these OSes.
+ ;;
+
+ mingw* | cygwin* | pw32* | os2* | cegcc*)
+ # This hack is so that the source file can tell whether it is being
+ # built for inclusion in a dll (and should export symbols for example).
+ # Although the cygwin gcc ignores -fPIC, still need this for old-style
+ # (--disable-auto-import) libraries
+ m4_if([$1], [GCJ], [],
+ [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
+ ;;
+
+ darwin* | rhapsody*)
+ # PIC is the default on this platform
+ # Common symbols not allowed in MH_DYLIB files
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
+ ;;
+
+ hpux*)
+ # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
+ # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag
+ # sets the default TLS model and affects inlining.
+ case $host_cpu in
+ hppa*64*)
+ # +Z the default
+ ;;
+ *)
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+ ;;
+ esac
+ ;;
+
+ interix[[3-9]]*)
+ # Interix 3.x gcc -fpic/-fPIC options generate broken code.
+ # Instead, we relocate shared libraries at runtime.
+ ;;
+
+ msdosdjgpp*)
+ # Just because we use GCC doesn't mean we suddenly get shared libraries
+ # on systems that don't support them.
+ _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
+ enable_shared=no
+ ;;
+
+ *nto* | *qnx*)
+ # QNX uses GNU C++, but need to define -shared option too, otherwise
+ # it will coredump.
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
+ ;;
+
+ sysv4*MP*)
+ if test -d /usr/nec; then
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic
+ fi
+ ;;
+
+ *)
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+ ;;
+ esac
+ else
+ # PORTME Check for flag to pass linker flags through the system compiler.
+ case $host_os in
+ aix*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ if test "$host_cpu" = ia64; then
+ # AIX 5 now supports IA64 processor
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ else
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp'
+ fi
+ ;;
+
+ mingw* | cygwin* | pw32* | os2* | cegcc*)
+ # This hack is so that the source file can tell whether it is being
+ # built for inclusion in a dll (and should export symbols for example).
+ m4_if([$1], [GCJ], [],
+ [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
+ ;;
+
+ hpux9* | hpux10* | hpux11*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
+ # not for PA HP-UX.
+ case $host_cpu in
+ hppa*64*|ia64*)
+ # +Z the default
+ ;;
+ *)
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
+ ;;
+ esac
+ # Is there a better lt_prog_compiler_static that works with the bundled CC?
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
+ ;;
+
+ irix5* | irix6* | nonstopux*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ # PIC (with -KPIC) is the default.
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
+ ;;
+
+ linux* | k*bsd*-gnu | kopensolaris*-gnu)
+ case $cc_basename in
+ # old Intel for x86_64 which still supported -KPIC.
+ ecc*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
+ ;;
+ # icc used to be incompatible with GCC.
+ # ICC 10 doesn't accept -KPIC any more.
+ icc* | ifort*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
+ ;;
+ # Lahey Fortran 8.1.
+ lf95*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='--shared'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='--static'
+ ;;
+ pgcc* | pgf77* | pgf90* | pgf95*)
+ # Portland Group compilers (*not* the Pentium gcc compiler,
+ # which looks to be a dead project)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ ;;
+ ccc*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ # All Alpha code is PIC.
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
+ ;;
+ xl*)
+ # IBM XL C 8.0/Fortran 10.1 on PPC
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink'
+ ;;
+ *)
+ case `$CC -V 2>&1 | sed 5q` in
+ *Sun\ C*)
+ # Sun C 5.9
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ ;;
+ *Sun\ F*)
+ # Sun Fortran 8.3 passes all unrecognized flags to the linker
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)=''
+ ;;
+ esac
+ ;;
+ esac
+ ;;
+
+ newsos6)
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ ;;
+
+ *nto* | *qnx*)
+ # QNX uses GNU C++, but need to define -shared option too, otherwise
+ # it will coredump.
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
+ ;;
+
+ osf3* | osf4* | osf5*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ # All OSF/1 code is PIC.
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
+ ;;
+
+ rdos*)
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
+ ;;
+
+ solaris*)
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ case $cc_basename in
+ f77* | f90* | f95*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ';;
+ *)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,';;
+ esac
+ ;;
+
+ sunos4*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ ;;
+
+ sysv4 | sysv4.2uw2* | sysv4.3*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ ;;
+
+ sysv4*MP*)
+ if test -d /usr/nec ;then
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-Kconform_pic'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ fi
+ ;;
+
+ sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ ;;
+
+ unicos*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
+ ;;
+
+ uts4*)
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ ;;
+
+ *)
+ _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
+ ;;
+ esac
+ fi
+])
+case $host_os in
+ # For platforms which do not support PIC, -DPIC is meaningless:
+ *djgpp*)
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)=
+ ;;
+ *)
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)="$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])"
+ ;;
+esac
+AC_MSG_RESULT([$_LT_TAGVAR(lt_prog_compiler_pic, $1)])
+_LT_TAGDECL([wl], [lt_prog_compiler_wl], [1],
+ [How to pass a linker flag through the compiler])
+
+#
+# Check to make sure the PIC flag actually works.
+#
+if test -n "$_LT_TAGVAR(lt_prog_compiler_pic, $1)"; then
+ _LT_COMPILER_OPTION([if $compiler PIC flag $_LT_TAGVAR(lt_prog_compiler_pic, $1) works],
+ [_LT_TAGVAR(lt_cv_prog_compiler_pic_works, $1)],
+ [$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])], [],
+ [case $_LT_TAGVAR(lt_prog_compiler_pic, $1) in
+ "" | " "*) ;;
+ *) _LT_TAGVAR(lt_prog_compiler_pic, $1)=" $_LT_TAGVAR(lt_prog_compiler_pic, $1)" ;;
+ esac],
+ [_LT_TAGVAR(lt_prog_compiler_pic, $1)=
+ _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no])
+fi
+_LT_TAGDECL([pic_flag], [lt_prog_compiler_pic], [1],
+ [Additional compiler flags for building library objects])
+
+#
+# Check to make sure the static flag actually works.
+#
+wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1) eval lt_tmp_static_flag=\"$_LT_TAGVAR(lt_prog_compiler_static, $1)\"
+_LT_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works],
+ _LT_TAGVAR(lt_cv_prog_compiler_static_works, $1),
+ $lt_tmp_static_flag,
+ [],
+ [_LT_TAGVAR(lt_prog_compiler_static, $1)=])
+_LT_TAGDECL([link_static_flag], [lt_prog_compiler_static], [1],
+ [Compiler flag to prevent dynamic linking])
+])# _LT_COMPILER_PIC
+
+
+# _LT_LINKER_SHLIBS([TAGNAME])
+# ----------------------------
+# See if the linker supports building shared libraries.
+m4_defun([_LT_LINKER_SHLIBS],
+[AC_REQUIRE([LT_PATH_LD])dnl
+AC_REQUIRE([LT_PATH_NM])dnl
+m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+m4_require([_LT_DECL_EGREP])dnl
+m4_require([_LT_DECL_SED])dnl
+m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl
+m4_require([_LT_TAG_COMPILER])dnl
+AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries])
+m4_if([$1], [CXX], [
+ _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
+ case $host_os in
+ aix[[4-9]]*)
+ # If we're using GNU nm, then we don't want the "-C" option.
+ # -C means demangle to AIX nm, but means don't demangle with GNU nm
+ if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
+ _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
+ else
+ _LT_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
+ fi
+ ;;
+ pw32*)
+ _LT_TAGVAR(export_symbols_cmds, $1)="$ltdll_cmds"
+ ;;
+ cygwin* | mingw* | cegcc*)
+ _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;/^.*[[ ]]__nm__/s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.* //'\'' | sort | uniq > $export_symbols'
+ ;;
+ linux* | k*bsd*-gnu)
+ _LT_TAGVAR(link_all_deplibs, $1)=no
+ ;;
+ *)
+ _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
+ ;;
+ esac
+ _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*']
+], [
+ runpath_var=
+ _LT_TAGVAR(allow_undefined_flag, $1)=
+ _LT_TAGVAR(always_export_symbols, $1)=no
+ _LT_TAGVAR(archive_cmds, $1)=
+ _LT_TAGVAR(archive_expsym_cmds, $1)=
+ _LT_TAGVAR(compiler_needs_object, $1)=no
+ _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)=
+ _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
+ _LT_TAGVAR(hardcode_automatic, $1)=no
+ _LT_TAGVAR(hardcode_direct, $1)=no
+ _LT_TAGVAR(hardcode_direct_absolute, $1)=no
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
+ _LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=
+ _LT_TAGVAR(hardcode_minus_L, $1)=no
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
+ _LT_TAGVAR(inherit_rpath, $1)=no
+ _LT_TAGVAR(link_all_deplibs, $1)=unknown
+ _LT_TAGVAR(module_cmds, $1)=
+ _LT_TAGVAR(module_expsym_cmds, $1)=
+ _LT_TAGVAR(old_archive_from_new_cmds, $1)=
+ _LT_TAGVAR(old_archive_from_expsyms_cmds, $1)=
+ _LT_TAGVAR(thread_safe_flag_spec, $1)=
+ _LT_TAGVAR(whole_archive_flag_spec, $1)=
+ # include_expsyms should be a list of space-separated symbols to be *always*
+ # included in the symbol list
+ _LT_TAGVAR(include_expsyms, $1)=
+ # exclude_expsyms can be an extended regexp of symbols to exclude
+ # it will be wrapped by ` (' and `)$', so one must not match beginning or
+ # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc',
+ # as well as any symbol that contains `d'.
+ _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*']
+ # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
+ # platforms (ab)use it in PIC code, but their linkers get confused if
+ # the symbol is explicitly referenced. Since portable code cannot
+ # rely on this symbol name, it's probably fine to never include it in
+ # preloaded symbol tables.
+ # Exclude shared library initialization/finalization symbols.
+dnl Note also adjust exclude_expsyms for C++ above.
+ extract_expsyms_cmds=
+
+ case $host_os in
+ cygwin* | mingw* | pw32* | cegcc*)
+ # FIXME: the MSVC++ port hasn't been tested in a loooong time
+ # When not using gcc, we currently assume that we are using
+ # Microsoft Visual C++.
+ if test "$GCC" != yes; then
+ with_gnu_ld=no
+ fi
+ ;;
+ interix*)
+ # we just hope/assume this is gcc and not c89 (= MSVC++)
+ with_gnu_ld=yes
+ ;;
+ openbsd*)
+ with_gnu_ld=no
+ ;;
+ linux* | k*bsd*-gnu)
+ _LT_TAGVAR(link_all_deplibs, $1)=no
+ ;;
+ esac
+
+ _LT_TAGVAR(ld_shlibs, $1)=yes
+ if test "$with_gnu_ld" = yes; then
+ # If archive_cmds runs LD, not CC, wlarc should be empty
+ wlarc='${wl}'
+
+ # Set some defaults for GNU ld with shared library support. These
+ # are reset later if shared libraries are not supported. Putting them
+ # here allows them to be overridden if necessary.
+ runpath_var=LD_RUN_PATH
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
+ # ancient GNU ld didn't support --whole-archive et. al.
+ if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then
+ _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
+ else
+ _LT_TAGVAR(whole_archive_flag_spec, $1)=
+ fi
+ supports_anon_versioning=no
+ case `$LD -v 2>&1` in
+ *GNU\ gold*) supports_anon_versioning=yes ;;
+ *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11
+ *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
+ *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
+ *\ 2.11.*) ;; # other 2.11 versions
+ *) supports_anon_versioning=yes ;;
+ esac
+
+ # See if GNU ld supports shared libraries.
+ case $host_os in
+ aix[[3-9]]*)
+ # On AIX/PPC, the GNU linker is very broken
+ if test "$host_cpu" != ia64; then
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ cat <<_LT_EOF 1>&2
+
+*** Warning: the GNU linker, at least up to release 2.9.1, is reported
+*** to be unable to reliably create shared libraries on AIX.
+*** Therefore, libtool is disabling shared libraries support. If you
+*** really care for shared libraries, you may want to modify your PATH
+*** so that a non-GNU linker is found, and then restart.
+
+_LT_EOF
+ fi
+ ;;
+
+ amigaos*)
+ case $host_cpu in
+ powerpc)
+ # see comment about AmigaOS4 .so support
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)=''
+ ;;
+ m68k)
+ _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+ _LT_TAGVAR(hardcode_minus_L, $1)=yes
+ ;;
+ esac
+ ;;
+
+ beos*)
+ if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
+ _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
+ # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
+ # support --undefined. This deserves some investigation. FIXME
+ _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ else
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ fi
+ ;;
+
+ cygwin* | mingw* | pw32* | cegcc*)
+ # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
+ # as there is no search path for DLLs.
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+ _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
+ _LT_TAGVAR(always_export_symbols, $1)=no
+ _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
+ _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/'\'' | $SED -e '\''/^[[AITW]][[ ]]/s/.*[[ ]]//'\'' | sort | uniq > $export_symbols'
+
+ if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+ # If the export-symbols file already is a .def file (1st line
+ # is EXPORTS), use it as is; otherwise, prepend...
+ _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
+ cp $export_symbols $output_objdir/$soname.def;
+ else
+ echo EXPORTS > $output_objdir/$soname.def;
+ cat $export_symbols >> $output_objdir/$soname.def;
+ fi~
+ $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+ else
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ fi
+ ;;
+
+ interix[[3-9]]*)
+ _LT_TAGVAR(hardcode_direct, $1)=no
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+ # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
+ # Instead, shared libraries are loaded at an image base (0x10000000 by
+ # default) and relocated if they conflict, which is a slow very memory
+ # consuming and fragmenting process. To avoid this, we pick a random,
+ # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
+ # time. Moving up from 0x10000000 also allows more sbrk(2) space.
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+ ;;
+
+ gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu)
+ tmp_diet=no
+ if test "$host_os" = linux-dietlibc; then
+ case $cc_basename in
+ diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn)
+ esac
+ fi
+ if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \
+ && test "$tmp_diet" = no
+ then
+ tmp_addflag=
+ tmp_sharedflag='-shared'
+ case $cc_basename,$host_cpu in
+ pgcc*) # Portland Group C compiler
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
+ tmp_addflag=' $pic_flag'
+ ;;
+ pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
+ tmp_addflag=' $pic_flag -Mnomain' ;;
+ ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64
+ tmp_addflag=' -i_dynamic' ;;
+ efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64
+ tmp_addflag=' -i_dynamic -nofor_main' ;;
+ ifc* | ifort*) # Intel Fortran compiler
+ tmp_addflag=' -nofor_main' ;;
+ lf95*) # Lahey Fortran 8.1
+ _LT_TAGVAR(whole_archive_flag_spec, $1)=
+ tmp_sharedflag='--shared' ;;
+ xl[[cC]]*) # IBM XL C 8.0 on PPC (deal with xlf below)
+ tmp_sharedflag='-qmkshrobj'
+ tmp_addflag= ;;
+ esac
+ case `$CC -V 2>&1 | sed 5q` in
+ *Sun\ C*) # Sun C 5.9
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
+ _LT_TAGVAR(compiler_needs_object, $1)=yes
+ tmp_sharedflag='-G' ;;
+ *Sun\ F*) # Sun Fortran 8.3
+ tmp_sharedflag='-G' ;;
+ esac
+ _LT_TAGVAR(archive_cmds, $1)='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+
+ if test "x$supports_anon_versioning" = xyes; then
+ _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
+ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
+ echo "local: *; };" >> $output_objdir/$libname.ver~
+ $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
+ fi
+
+ case $cc_basename in
+ xlf*)
+ # IBM XL Fortran 10.1 on PPC cannot create shared libs itself
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='--whole-archive$convenience --no-whole-archive'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
+ _LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='-rpath $libdir'
+ _LT_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $compiler_flags -soname $soname -o $lib'
+ if test "x$supports_anon_versioning" = xyes; then
+ _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
+ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
+ echo "local: *; };" >> $output_objdir/$libname.ver~
+ $LD -shared $libobjs $deplibs $compiler_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib'
+ fi
+ ;;
+ esac
+ else
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ fi
+ ;;
+
+ netbsd* | netbsdelf*-gnu)
+ if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
+ _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
+ wlarc=
+ else
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ fi
+ ;;
+
+ solaris*)
+ if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ cat <<_LT_EOF 1>&2
+
+*** Warning: The releases 2.8.* of the GNU linker cannot reliably
+*** create shared libraries on Solaris systems. Therefore, libtool
+*** is disabling shared libraries support. We urge you to upgrade GNU
+*** binutils to release 2.9.1 or newer. Another option is to modify
+*** your PATH or compiler configuration so that the native linker is
+*** used, and then restart.
+
+_LT_EOF
+ elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ else
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ fi
+ ;;
+
+ sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
+ case `$LD -v 2>&1` in
+ *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.1[[0-5]].*)
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ cat <<_LT_EOF 1>&2
+
+*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not
+*** reliably create shared libraries on SCO systems. Therefore, libtool
+*** is disabling shared libraries support. We urge you to upgrade GNU
+*** binutils to release 2.16.91.0.3 or newer. Another option is to modify
+*** your PATH or compiler configuration so that the native linker is
+*** used, and then restart.
+
+_LT_EOF
+ ;;
+ *)
+ # For security reasons, it is highly recommended that you always
+ # use absolute paths for naming shared libraries, and exclude the
+ # DT_RUNPATH tag from executables and libraries. But doing so
+ # requires that you compile everything twice, which is a pain.
+ if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ else
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ fi
+ ;;
+ esac
+ ;;
+
+ sunos4*)
+ _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+ wlarc=
+ _LT_TAGVAR(hardcode_direct, $1)=yes
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ ;;
+
+ *)
+ if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ else
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ fi
+ ;;
+ esac
+
+ if test "$_LT_TAGVAR(ld_shlibs, $1)" = no; then
+ runpath_var=
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)=
+ _LT_TAGVAR(whole_archive_flag_spec, $1)=
+ fi
+ else
+ # PORTME fill in a description of your system's linker (not GNU ld)
+ case $host_os in
+ aix3*)
+ _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
+ _LT_TAGVAR(always_export_symbols, $1)=yes
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname'
+ # Note: this linker hardcodes the directories in LIBPATH if there
+ # are no directories specified by -L.
+ _LT_TAGVAR(hardcode_minus_L, $1)=yes
+ if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then
+ # Neither direct hardcoding nor static linking is supported with a
+ # broken collect2.
+ _LT_TAGVAR(hardcode_direct, $1)=unsupported
+ fi
+ ;;
+
+ aix[[4-9]]*)
+ if test "$host_cpu" = ia64; then
+ # On IA64, the linker does run time linking by default, so we don't
+ # have to do anything special.
+ aix_use_runtimelinking=no
+ exp_sym_flag='-Bexport'
+ no_entry_flag=""
+ else
+ # If we're using GNU nm, then we don't want the "-C" option.
+ # -C means demangle to AIX nm, but means don't demangle with GNU nm
+ if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
+ _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
+ else
+ _LT_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
+ fi
+ aix_use_runtimelinking=no
+
+ # Test if we are trying to use run time linking or normal
+ # AIX style linking. If -brtl is somewhere in LDFLAGS, we
+ # need to do runtime linking.
+ case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*)
+ for ld_flag in $LDFLAGS; do
+ if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
+ aix_use_runtimelinking=yes
+ break
+ fi
+ done
+ ;;
+ esac
+
+ exp_sym_flag='-bexport'
+ no_entry_flag='-bnoentry'
+ fi
+
+ # When large executables or shared objects are built, AIX ld can
+ # have problems creating the table of contents. If linking a library
+ # or program results in "error TOC overflow" add -mminimal-toc to
+ # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not
+ # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
+
+ _LT_TAGVAR(archive_cmds, $1)=''
+ _LT_TAGVAR(hardcode_direct, $1)=yes
+ _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
+ _LT_TAGVAR(link_all_deplibs, $1)=yes
+ _LT_TAGVAR(file_list_spec, $1)='${wl}-f,'
+
+ if test "$GCC" = yes; then
+ case $host_os in aix4.[[012]]|aix4.[[012]].*)
+ # We only want to do this on AIX 4.2 and lower, the check
+ # below for broken collect2 doesn't work under 4.3+
+ collect2name=`${CC} -print-prog-name=collect2`
+ if test -f "$collect2name" &&
+ strings "$collect2name" | $GREP resolve_lib_name >/dev/null
+ then
+ # We have reworked collect2
+ :
+ else
+ # We have old collect2
+ _LT_TAGVAR(hardcode_direct, $1)=unsupported
+ # It fails to find uninstalled libraries when the uninstalled
+ # path is not listed in the libpath. Setting hardcode_minus_L
+ # to unsupported forces relinking
+ _LT_TAGVAR(hardcode_minus_L, $1)=yes
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=
+ fi
+ ;;
+ esac
+ shared_flag='-shared'
+ if test "$aix_use_runtimelinking" = yes; then
+ shared_flag="$shared_flag "'${wl}-G'
+ fi
+ _LT_TAGVAR(link_all_deplibs, $1)=no
+ else
+ # not using gcc
+ if test "$host_cpu" = ia64; then
+ # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
+ # chokes on -Wl,-G. The following line is correct:
+ shared_flag='-G'
+ else
+ if test "$aix_use_runtimelinking" = yes; then
+ shared_flag='${wl}-G'
+ else
+ shared_flag='${wl}-bM:SRE'
+ fi
+ fi
+ fi
+
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-bexpall'
+ # It seems that -bexpall does not export symbols beginning with
+ # underscore (_), so it is better to generate a list of symbols to export.
+ _LT_TAGVAR(always_export_symbols, $1)=yes
+ if test "$aix_use_runtimelinking" = yes; then
+ # Warning - without using the other runtime loading flags (-brtl),
+ # -berok will link without error, but may produce a broken library.
+ _LT_TAGVAR(allow_undefined_flag, $1)='-berok'
+ # Determine the default libpath from the value encoded in an
+ # empty executable.
+ _LT_SYS_MODULE_PATH_AIX
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then $ECHO "X${wl}${allow_undefined_flag}" | $Xsed; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
+ else
+ if test "$host_cpu" = ia64; then
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib'
+ _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs"
+ _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
+ else
+ # Determine the default libpath from the value encoded in an
+ # empty executable.
+ _LT_SYS_MODULE_PATH_AIX
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
+ # Warning - without using the other run time loading flags,
+ # -berok will link without error, but may produce a broken library.
+ _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok'
+ _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok'
+ # Exported symbols can be pulled into shared objects from archives
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
+ _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
+ # This is similar to how AIX traditionally builds its shared libraries.
+ _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
+ fi
+ fi
+ ;;
+
+ amigaos*)
+ case $host_cpu in
+ powerpc)
+ # see comment about AmigaOS4 .so support
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)=''
+ ;;
+ m68k)
+ _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+ _LT_TAGVAR(hardcode_minus_L, $1)=yes
+ ;;
+ esac
+ ;;
+
+ bsdi[[45]]*)
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)=-rdynamic
+ ;;
+
+ cygwin* | mingw* | pw32* | cegcc*)
+ # When not using gcc, we currently assume that we are using
+ # Microsoft Visual C++.
+ # hardcode_libdir_flag_spec is actually meaningless, as there is
+ # no search path for DLLs.
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
+ _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
+ # Tell ltmain to make .lib files, not .a files.
+ libext=lib
+ # Tell ltmain to make .dll files, not .so files.
+ shrext_cmds=".dll"
+ # FIXME: Setting linknames here is a bad hack.
+ _LT_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `$ECHO "X$deplibs" | $Xsed -e '\''s/ -lc$//'\''` -link -dll~linknames='
+ # The linker will automatically build a .lib file if we build a DLL.
+ _LT_TAGVAR(old_archive_from_new_cmds, $1)='true'
+ # FIXME: Should let the user specify the lib program.
+ _LT_TAGVAR(old_archive_cmds, $1)='lib -OUT:$oldlib$oldobjs$old_deplibs'
+ _LT_TAGVAR(fix_srcfile_path, $1)='`cygpath -w "$srcfile"`'
+ _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
+ ;;
+
+ darwin* | rhapsody*)
+ _LT_DARWIN_LINKER_FEATURES($1)
+ ;;
+
+ dgux*)
+ _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ ;;
+
+ freebsd1*)
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+
+ # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
+ # support. Future versions do this automatically, but an explicit c++rt0.o
+ # does not break anything, and helps significantly (at the cost of a little
+ # extra space).
+ freebsd2.2*)
+ _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+ _LT_TAGVAR(hardcode_direct, $1)=yes
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ ;;
+
+ # Unfortunately, older versions of FreeBSD 2 do not have this feature.
+ freebsd2*)
+ _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+ _LT_TAGVAR(hardcode_direct, $1)=yes
+ _LT_TAGVAR(hardcode_minus_L, $1)=yes
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ ;;
+
+ # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
+ freebsd* | dragonfly*)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+ _LT_TAGVAR(hardcode_direct, $1)=yes
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ ;;
+
+ hpux9*)
+ if test "$GCC" = yes; then
+ _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+ else
+ _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+ fi
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+ _LT_TAGVAR(hardcode_direct, $1)=yes
+
+ # hardcode_minus_L: Not really in the search PATH,
+ # but as the default location of the library.
+ _LT_TAGVAR(hardcode_minus_L, $1)=yes
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+ ;;
+
+ hpux10*)
+ if test "$GCC" = yes -a "$with_gnu_ld" = no; then
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+ else
+ _LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
+ fi
+ if test "$with_gnu_ld" = no; then
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
+ _LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='+b $libdir'
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+ _LT_TAGVAR(hardcode_direct, $1)=yes
+ _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+ # hardcode_minus_L: Not really in the search PATH,
+ # but as the default location of the library.
+ _LT_TAGVAR(hardcode_minus_L, $1)=yes
+ fi
+ ;;
+
+ hpux11*)
+ if test "$GCC" = yes -a "$with_gnu_ld" = no; then
+ case $host_cpu in
+ hppa*64*)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ ia64*)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ *)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ esac
+ else
+ case $host_cpu in
+ hppa*64*)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ ia64*)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ *)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ esac
+ fi
+ if test "$with_gnu_ld" = no; then
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+
+ case $host_cpu in
+ hppa*64*|ia64*)
+ _LT_TAGVAR(hardcode_direct, $1)=no
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ ;;
+ *)
+ _LT_TAGVAR(hardcode_direct, $1)=yes
+ _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+
+ # hardcode_minus_L: Not really in the search PATH,
+ # but as the default location of the library.
+ _LT_TAGVAR(hardcode_minus_L, $1)=yes
+ ;;
+ esac
+ fi
+ ;;
+
+ irix5* | irix6* | nonstopux*)
+ if test "$GCC" = yes; then
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ # Try to use the -exported_symbol ld option, if it does not
+ # work, assume that -exports_file does not work either and
+ # implicitly export all symbols.
+ save_LDFLAGS="$LDFLAGS"
+ LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null"
+ AC_LINK_IFELSE(int foo(void) {},
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib'
+ )
+ LDFLAGS="$save_LDFLAGS"
+ else
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib'
+ fi
+ _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+ _LT_TAGVAR(inherit_rpath, $1)=yes
+ _LT_TAGVAR(link_all_deplibs, $1)=yes
+ ;;
+
+ netbsd* | netbsdelf*-gnu)
+ if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
+ _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out
+ else
+ _LT_TAGVAR(archive_cmds, $1)='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF
+ fi
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+ _LT_TAGVAR(hardcode_direct, $1)=yes
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ ;;
+
+ newsos6)
+ _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ _LT_TAGVAR(hardcode_direct, $1)=yes
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ ;;
+
+ *nto* | *qnx*)
+ ;;
+
+ openbsd*)
+ if test -f /usr/libexec/ld.so; then
+ _LT_TAGVAR(hardcode_direct, $1)=yes
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
+ if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+ else
+ case $host_os in
+ openbsd[[01]].* | openbsd2.[[0-7]] | openbsd2.[[0-7]].*)
+ _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+ ;;
+ *)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+ ;;
+ esac
+ fi
+ else
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ fi
+ ;;
+
+ os2*)
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+ _LT_TAGVAR(hardcode_minus_L, $1)=yes
+ _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
+ _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$ECHO DATA >> $output_objdir/$libname.def~$ECHO " SINGLE NONSHARED" >> $output_objdir/$libname.def~$ECHO EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def'
+ _LT_TAGVAR(old_archive_from_new_cmds, $1)='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def'
+ ;;
+
+ osf3*)
+ if test "$GCC" = yes; then
+ _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ else
+ _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
+ fi
+ _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+ ;;
+
+ osf4* | osf5*) # as osf3* with the addition of -msym flag
+ if test "$GCC" = yes; then
+ _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+ else
+ _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~
+ $CC -shared${allow_undefined_flag} ${wl}-input ${wl}$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib~$RM $lib.exp'
+
+ # Both c and cxx compiler support -rpath directly
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
+ fi
+ _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+ ;;
+
+ solaris*)
+ _LT_TAGVAR(no_undefined_flag, $1)=' -z defs'
+ if test "$GCC" = yes; then
+ wlarc='${wl}'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+ $CC -shared ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
+ else
+ case `$CC -V 2>&1` in
+ *"Compilers 5.0"*)
+ wlarc=''
+ _LT_TAGVAR(archive_cmds, $1)='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+ $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp'
+ ;;
+ *)
+ wlarc='${wl}'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+ $CC -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
+ ;;
+ esac
+ fi
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ case $host_os in
+ solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
+ *)
+ # The compiler driver will combine and reorder linker options,
+ # but understands `-z linker_flag'. GCC discards it without `$wl',
+ # but is careful enough not to reorder.
+ # Supported since Solaris 2.6 (maybe 2.5.1?)
+ if test "$GCC" = yes; then
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
+ else
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract'
+ fi
+ ;;
+ esac
+ _LT_TAGVAR(link_all_deplibs, $1)=yes
+ ;;
+
+ sunos4*)
+ if test "x$host_vendor" = xsequent; then
+ # Use $CC to link under sequent, because it throws in some extra .o
+ # files that make .init and .fini sections work.
+ _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags'
+ else
+ _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
+ fi
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+ _LT_TAGVAR(hardcode_direct, $1)=yes
+ _LT_TAGVAR(hardcode_minus_L, $1)=yes
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ ;;
+
+ sysv4)
+ case $host_vendor in
+ sni)
+ _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ _LT_TAGVAR(hardcode_direct, $1)=yes # is this really true???
+ ;;
+ siemens)
+ ## LD is ld it makes a PLAMLIB
+ ## CC just makes a GrossModule.
+ _LT_TAGVAR(archive_cmds, $1)='$LD -G -o $lib $libobjs $deplibs $linker_flags'
+ _LT_TAGVAR(reload_cmds, $1)='$CC -r -o $output$reload_objs'
+ _LT_TAGVAR(hardcode_direct, $1)=no
+ ;;
+ motorola)
+ _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ _LT_TAGVAR(hardcode_direct, $1)=no #Motorola manual says yes, but my tests say they lie
+ ;;
+ esac
+ runpath_var='LD_RUN_PATH'
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ ;;
+
+ sysv4.3*)
+ _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='-Bexport'
+ ;;
+
+ sysv4*MP*)
+ if test -d /usr/nec; then
+ _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ runpath_var=LD_RUN_PATH
+ hardcode_runpath_var=yes
+ _LT_TAGVAR(ld_shlibs, $1)=yes
+ fi
+ ;;
+
+ sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*)
+ _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
+ _LT_TAGVAR(archive_cmds_need_lc, $1)=no
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ runpath_var='LD_RUN_PATH'
+
+ if test "$GCC" = yes; then
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ else
+ _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ fi
+ ;;
+
+ sysv5* | sco3.2v5* | sco5v6*)
+ # Note: We can NOT use -z defs as we might desire, because we do not
+ # link with -lc, and that would cause any symbols used from libc to
+ # always be unresolved, which means just about no library would
+ # ever link correctly. If we're not using GNU ld we use -z text
+ # though, which does catch some bad symbols but isn't as heavy-handed
+ # as -z defs.
+ _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
+ _LT_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs'
+ _LT_TAGVAR(archive_cmds_need_lc, $1)=no
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R,$libdir'
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
+ _LT_TAGVAR(link_all_deplibs, $1)=yes
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport'
+ runpath_var='LD_RUN_PATH'
+
+ if test "$GCC" = yes; then
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ else
+ _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ fi
+ ;;
+
+ uts4*)
+ _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ ;;
+
+ *)
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ esac
+
+ if test x$host_vendor = xsni; then
+ case $host in
+ sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Blargedynsym'
+ ;;
+ esac
+ fi
+ fi
+])
+AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)])
+test "$_LT_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no
+
+_LT_TAGVAR(with_gnu_ld, $1)=$with_gnu_ld
+
+_LT_DECL([], [libext], [0], [Old archive suffix (normally "a")])dnl
+_LT_DECL([], [shrext_cmds], [1], [Shared library suffix (normally ".so")])dnl
+_LT_DECL([], [extract_expsyms_cmds], [2],
+ [The commands to extract the exported symbol list from a shared archive])
+
+#
+# Do we need to explicitly link libc?
+#
+case "x$_LT_TAGVAR(archive_cmds_need_lc, $1)" in
+x|xyes)
+ # Assume -lc should be added
+ _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
+
+ if test "$enable_shared" = yes && test "$GCC" = yes; then
+ case $_LT_TAGVAR(archive_cmds, $1) in
+ *'~'*)
+ # FIXME: we may have to deal with multi-command sequences.
+ ;;
+ '$CC '*)
+ # Test whether the compiler implicitly links with -lc since on some
+ # systems, -lgcc has to come before -lc. If gcc already passes -lc
+ # to ld, don't add -lc before -lgcc.
+ AC_MSG_CHECKING([whether -lc should be explicitly linked in])
+ $RM conftest*
+ echo "$lt_simple_compile_test_code" > conftest.$ac_ext
+
+ if AC_TRY_EVAL(ac_compile) 2>conftest.err; then
+ soname=conftest
+ lib=conftest
+ libobjs=conftest.$ac_objext
+ deplibs=
+ wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1)
+ pic_flag=$_LT_TAGVAR(lt_prog_compiler_pic, $1)
+ compiler_flags=-v
+ linker_flags=-v
+ verstring=
+ output_objdir=.
+ libname=conftest
+ lt_save_allow_undefined_flag=$_LT_TAGVAR(allow_undefined_flag, $1)
+ _LT_TAGVAR(allow_undefined_flag, $1)=
+ if AC_TRY_EVAL(_LT_TAGVAR(archive_cmds, $1) 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1)
+ then
+ _LT_TAGVAR(archive_cmds_need_lc, $1)=no
+ else
+ _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
+ fi
+ _LT_TAGVAR(allow_undefined_flag, $1)=$lt_save_allow_undefined_flag
+ else
+ cat conftest.err 1>&5
+ fi
+ $RM conftest*
+ AC_MSG_RESULT([$_LT_TAGVAR(archive_cmds_need_lc, $1)])
+ ;;
+ esac
+ fi
+ ;;
+esac
+
+_LT_TAGDECL([build_libtool_need_lc], [archive_cmds_need_lc], [0],
+ [Whether or not to add -lc for building shared libraries])
+_LT_TAGDECL([allow_libtool_libs_with_static_runtimes],
+ [enable_shared_with_static_runtimes], [0],
+ [Whether or not to disallow shared libs when runtime libs are static])
+_LT_TAGDECL([], [export_dynamic_flag_spec], [1],
+ [Compiler flag to allow reflexive dlopens])
+_LT_TAGDECL([], [whole_archive_flag_spec], [1],
+ [Compiler flag to generate shared objects directly from archives])
+_LT_TAGDECL([], [compiler_needs_object], [1],
+ [Whether the compiler copes with passing no objects directly])
+_LT_TAGDECL([], [old_archive_from_new_cmds], [2],
+ [Create an old-style archive from a shared archive])
+_LT_TAGDECL([], [old_archive_from_expsyms_cmds], [2],
+ [Create a temporary old-style archive to link instead of a shared archive])
+_LT_TAGDECL([], [archive_cmds], [2], [Commands used to build a shared archive])
+_LT_TAGDECL([], [archive_expsym_cmds], [2])
+_LT_TAGDECL([], [module_cmds], [2],
+ [Commands used to build a loadable module if different from building
+ a shared archive.])
+_LT_TAGDECL([], [module_expsym_cmds], [2])
+_LT_TAGDECL([], [with_gnu_ld], [1],
+ [Whether we are building with GNU ld or not])
+_LT_TAGDECL([], [allow_undefined_flag], [1],
+ [Flag that allows shared libraries with undefined symbols to be built])
+_LT_TAGDECL([], [no_undefined_flag], [1],
+ [Flag that enforces no undefined symbols])
+_LT_TAGDECL([], [hardcode_libdir_flag_spec], [1],
+ [Flag to hardcode $libdir into a binary during linking.
+ This must work even if $libdir does not exist])
+_LT_TAGDECL([], [hardcode_libdir_flag_spec_ld], [1],
+ [[If ld is used when linking, flag to hardcode $libdir into a binary
+ during linking. This must work even if $libdir does not exist]])
+_LT_TAGDECL([], [hardcode_libdir_separator], [1],
+ [Whether we need a single "-rpath" flag with a separated argument])
+_LT_TAGDECL([], [hardcode_direct], [0],
+ [Set to "yes" if using DIR/libNAME${shared_ext} during linking hardcodes
+ DIR into the resulting binary])
+_LT_TAGDECL([], [hardcode_direct_absolute], [0],
+ [Set to "yes" if using DIR/libNAME${shared_ext} during linking hardcodes
+ DIR into the resulting binary and the resulting library dependency is
+ "absolute", i.e impossible to change by setting ${shlibpath_var} if the
+ library is relocated])
+_LT_TAGDECL([], [hardcode_minus_L], [0],
+ [Set to "yes" if using the -LDIR flag during linking hardcodes DIR
+ into the resulting binary])
+_LT_TAGDECL([], [hardcode_shlibpath_var], [0],
+ [Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR
+ into the resulting binary])
+_LT_TAGDECL([], [hardcode_automatic], [0],
+ [Set to "yes" if building a shared library automatically hardcodes DIR
+ into the library and all subsequent libraries and executables linked
+ against it])
+_LT_TAGDECL([], [inherit_rpath], [0],
+ [Set to yes if linker adds runtime paths of dependent libraries
+ to runtime path list])
+_LT_TAGDECL([], [link_all_deplibs], [0],
+ [Whether libtool must link a program against all its dependency libraries])
+_LT_TAGDECL([], [fix_srcfile_path], [1],
+ [Fix the shell variable $srcfile for the compiler])
+_LT_TAGDECL([], [always_export_symbols], [0],
+ [Set to "yes" if exported symbols are required])
+_LT_TAGDECL([], [export_symbols_cmds], [2],
+ [The commands to list exported symbols])
+_LT_TAGDECL([], [exclude_expsyms], [1],
+ [Symbols that should not be listed in the preloaded symbols])
+_LT_TAGDECL([], [include_expsyms], [1],
+ [Symbols that must always be exported])
+_LT_TAGDECL([], [prelink_cmds], [2],
+ [Commands necessary for linking programs (against libraries) with templates])
+_LT_TAGDECL([], [file_list_spec], [1],
+ [Specify filename containing input files])
+dnl FIXME: Not yet implemented
+dnl _LT_TAGDECL([], [thread_safe_flag_spec], [1],
+dnl [Compiler flag to generate thread safe objects])
+])# _LT_LINKER_SHLIBS
+
+
+# _LT_LANG_C_CONFIG([TAG])
+# ------------------------
+# Ensure that the configuration variables for a C compiler are suitably
+# defined. These variables are subsequently used by _LT_CONFIG to write
+# the compiler configuration to `libtool'.
+m4_defun([_LT_LANG_C_CONFIG],
+[m4_require([_LT_DECL_EGREP])dnl
+lt_save_CC="$CC"
+AC_LANG_PUSH(C)
+
+# Source file extension for C test sources.
+ac_ext=c
+
+# Object file extension for compiled C test sources.
+objext=o
+_LT_TAGVAR(objext, $1)=$objext
+
+# Code to be used in simple compile tests
+lt_simple_compile_test_code="int some_variable = 0;"
+
+# Code to be used in simple link tests
+lt_simple_link_test_code='int main(){return(0);}'
+
+_LT_TAG_COMPILER
+# Save the default compiler, since it gets overwritten when the other
+# tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP.
+compiler_DEFAULT=$CC
+
+# save warnings/boilerplate of simple test code
+_LT_COMPILER_BOILERPLATE
+_LT_LINKER_BOILERPLATE
+
+## CAVEAT EMPTOR:
+## There is no encapsulation within the following macros, do not change
+## the running order or otherwise move them around unless you know exactly
+## what you are doing...
+if test -n "$compiler"; then
+ _LT_COMPILER_NO_RTTI($1)
+ _LT_COMPILER_PIC($1)
+ _LT_COMPILER_C_O($1)
+ _LT_COMPILER_FILE_LOCKS($1)
+ _LT_LINKER_SHLIBS($1)
+ _LT_SYS_DYNAMIC_LINKER($1)
+ _LT_LINKER_HARDCODE_LIBPATH($1)
+ LT_SYS_DLOPEN_SELF
+ _LT_CMD_STRIPLIB
+
+ # Report which library types will actually be built
+ AC_MSG_CHECKING([if libtool supports shared libraries])
+ AC_MSG_RESULT([$can_build_shared])
+
+ AC_MSG_CHECKING([whether to build shared libraries])
+ test "$can_build_shared" = "no" && enable_shared=no
+
+ # On AIX, shared libraries and static libraries use the same namespace, and
+ # are all built from PIC.
+ case $host_os in
+ aix3*)
+ test "$enable_shared" = yes && enable_static=no
+ if test -n "$RANLIB"; then
+ archive_cmds="$archive_cmds~\$RANLIB \$lib"
+ postinstall_cmds='$RANLIB $lib'
+ fi
+ ;;
+
+ aix[[4-9]]*)
+ if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
+ test "$enable_shared" = yes && enable_static=no
+ fi
+ ;;
+ esac
+ AC_MSG_RESULT([$enable_shared])
+
+ AC_MSG_CHECKING([whether to build static libraries])
+ # Make sure either enable_shared or enable_static is yes.
+ test "$enable_shared" = yes || enable_static=yes
+ AC_MSG_RESULT([$enable_static])
+
+ _LT_CONFIG($1)
+fi
+AC_LANG_POP
+CC="$lt_save_CC"
+])# _LT_LANG_C_CONFIG
+
+
+# _LT_PROG_CXX
+# ------------
+# Since AC_PROG_CXX is broken, in that it returns g++ if there is no c++
+# compiler, we have our own version here.
+m4_defun([_LT_PROG_CXX],
+[
+pushdef([AC_MSG_ERROR], [_lt_caught_CXX_error=yes])
+AC_PROG_CXX
+if test -n "$CXX" && ( test "X$CXX" != "Xno" &&
+ ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) ||
+ (test "X$CXX" != "Xg++"))) ; then
+ AC_PROG_CXXCPP
+else
+ _lt_caught_CXX_error=yes
+fi
+popdef([AC_MSG_ERROR])
+])# _LT_PROG_CXX
+
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([_LT_PROG_CXX], [])
+
+
+# _LT_LANG_CXX_CONFIG([TAG])
+# --------------------------
+# Ensure that the configuration variables for a C++ compiler are suitably
+# defined. These variables are subsequently used by _LT_CONFIG to write
+# the compiler configuration to `libtool'.
+m4_defun([_LT_LANG_CXX_CONFIG],
+[AC_REQUIRE([_LT_PROG_CXX])dnl
+m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+m4_require([_LT_DECL_EGREP])dnl
+
+AC_LANG_PUSH(C++)
+_LT_TAGVAR(archive_cmds_need_lc, $1)=no
+_LT_TAGVAR(allow_undefined_flag, $1)=
+_LT_TAGVAR(always_export_symbols, $1)=no
+_LT_TAGVAR(archive_expsym_cmds, $1)=
+_LT_TAGVAR(compiler_needs_object, $1)=no
+_LT_TAGVAR(export_dynamic_flag_spec, $1)=
+_LT_TAGVAR(hardcode_direct, $1)=no
+_LT_TAGVAR(hardcode_direct_absolute, $1)=no
+_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
+_LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
+_LT_TAGVAR(hardcode_libdir_separator, $1)=
+_LT_TAGVAR(hardcode_minus_L, $1)=no
+_LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
+_LT_TAGVAR(hardcode_automatic, $1)=no
+_LT_TAGVAR(inherit_rpath, $1)=no
+_LT_TAGVAR(module_cmds, $1)=
+_LT_TAGVAR(module_expsym_cmds, $1)=
+_LT_TAGVAR(link_all_deplibs, $1)=unknown
+_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
+_LT_TAGVAR(no_undefined_flag, $1)=
+_LT_TAGVAR(whole_archive_flag_spec, $1)=
+_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
+
+# Source file extension for C++ test sources.
+ac_ext=cpp
+
+# Object file extension for compiled C++ test sources.
+objext=o
+_LT_TAGVAR(objext, $1)=$objext
+
+# No sense in running all these tests if we already determined that
+# the CXX compiler isn't working. Some variables (like enable_shared)
+# are currently assumed to apply to all compilers on this platform,
+# and will be corrupted by setting them based on a non-working compiler.
+if test "$_lt_caught_CXX_error" != yes; then
+ # Code to be used in simple compile tests
+ lt_simple_compile_test_code="int some_variable = 0;"
+
+ # Code to be used in simple link tests
+ lt_simple_link_test_code='int main(int, char *[[]]) { return(0); }'
+
+ # ltmain only uses $CC for tagged configurations so make sure $CC is set.
+ _LT_TAG_COMPILER
+
+ # save warnings/boilerplate of simple test code
+ _LT_COMPILER_BOILERPLATE
+ _LT_LINKER_BOILERPLATE
+
+ # Allow CC to be a program name with arguments.
+ lt_save_CC=$CC
+ lt_save_LD=$LD
+ lt_save_GCC=$GCC
+ GCC=$GXX
+ lt_save_with_gnu_ld=$with_gnu_ld
+ lt_save_path_LD=$lt_cv_path_LD
+ if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then
+ lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx
+ else
+ $as_unset lt_cv_prog_gnu_ld
+ fi
+ if test -n "${lt_cv_path_LDCXX+set}"; then
+ lt_cv_path_LD=$lt_cv_path_LDCXX
+ else
+ $as_unset lt_cv_path_LD
+ fi
+ test -z "${LDCXX+set}" || LD=$LDCXX
+ CC=${CXX-"c++"}
+ compiler=$CC
+ _LT_TAGVAR(compiler, $1)=$CC
+ _LT_CC_BASENAME([$compiler])
+
+ if test -n "$compiler"; then
+ # We don't want -fno-exception when compiling C++ code, so set the
+ # no_builtin_flag separately
+ if test "$GXX" = yes; then
+ _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin'
+ else
+ _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=
+ fi
+
+ if test "$GXX" = yes; then
+ # Set up default GNU C++ configuration
+
+ LT_PATH_LD
+
+ # Check if GNU C++ uses GNU ld as the underlying linker, since the
+ # archiving commands below assume that GNU ld is being used.
+ if test "$with_gnu_ld" = yes; then
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
+
+ # If archive_cmds runs LD, not CC, wlarc should be empty
+ # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to
+ # investigate it a little bit more. (MM)
+ wlarc='${wl}'
+
+ # ancient GNU ld didn't support --whole-archive et. al.
+ if eval "`$CC -print-prog-name=ld` --help 2>&1" |
+ $GREP 'no-whole-archive' > /dev/null; then
+ _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
+ else
+ _LT_TAGVAR(whole_archive_flag_spec, $1)=
+ fi
+ else
+ with_gnu_ld=no
+ wlarc=
+
+ # A generic and very simple default shared library creation
+ # command for GNU C++ for the case where it uses the native
+ # linker, instead of GNU ld. If possible, this setting should
+ # overridden to take advantage of the native linker features on
+ # the platform it is being used on.
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
+ fi
+
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"'
+
+ else
+ GXX=no
+ with_gnu_ld=no
+ wlarc=
+ fi
+
+ # PORTME: fill in a description of your system's C++ link characteristics
+ AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries])
+ _LT_TAGVAR(ld_shlibs, $1)=yes
+ case $host_os in
+ aix3*)
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ aix[[4-9]]*)
+ if test "$host_cpu" = ia64; then
+ # On IA64, the linker does run time linking by default, so we don't
+ # have to do anything special.
+ aix_use_runtimelinking=no
+ exp_sym_flag='-Bexport'
+ no_entry_flag=""
+ else
+ aix_use_runtimelinking=no
+
+ # Test if we are trying to use run time linking or normal
+ # AIX style linking. If -brtl is somewhere in LDFLAGS, we
+ # need to do runtime linking.
+ case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*)
+ for ld_flag in $LDFLAGS; do
+ case $ld_flag in
+ *-brtl*)
+ aix_use_runtimelinking=yes
+ break
+ ;;
+ esac
+ done
+ ;;
+ esac
+
+ exp_sym_flag='-bexport'
+ no_entry_flag='-bnoentry'
+ fi
+
+ # When large executables or shared objects are built, AIX ld can
+ # have problems creating the table of contents. If linking a library
+ # or program results in "error TOC overflow" add -mminimal-toc to
+ # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not
+ # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
+
+ _LT_TAGVAR(archive_cmds, $1)=''
+ _LT_TAGVAR(hardcode_direct, $1)=yes
+ _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
+ _LT_TAGVAR(link_all_deplibs, $1)=yes
+ _LT_TAGVAR(file_list_spec, $1)='${wl}-f,'
+
+ if test "$GXX" = yes; then
+ case $host_os in aix4.[[012]]|aix4.[[012]].*)
+ # We only want to do this on AIX 4.2 and lower, the check
+ # below for broken collect2 doesn't work under 4.3+
+ collect2name=`${CC} -print-prog-name=collect2`
+ if test -f "$collect2name" &&
+ strings "$collect2name" | $GREP resolve_lib_name >/dev/null
+ then
+ # We have reworked collect2
+ :
+ else
+ # We have old collect2
+ _LT_TAGVAR(hardcode_direct, $1)=unsupported
+ # It fails to find uninstalled libraries when the uninstalled
+ # path is not listed in the libpath. Setting hardcode_minus_L
+ # to unsupported forces relinking
+ _LT_TAGVAR(hardcode_minus_L, $1)=yes
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=
+ fi
+ esac
+ shared_flag='-shared'
+ if test "$aix_use_runtimelinking" = yes; then
+ shared_flag="$shared_flag "'${wl}-G'
+ fi
+ else
+ # not using gcc
+ if test "$host_cpu" = ia64; then
+ # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
+ # chokes on -Wl,-G. The following line is correct:
+ shared_flag='-G'
+ else
+ if test "$aix_use_runtimelinking" = yes; then
+ shared_flag='${wl}-G'
+ else
+ shared_flag='${wl}-bM:SRE'
+ fi
+ fi
+ fi
+
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-bexpall'
+ # It seems that -bexpall does not export symbols beginning with
+ # underscore (_), so it is better to generate a list of symbols to
+ # export.
+ _LT_TAGVAR(always_export_symbols, $1)=yes
+ if test "$aix_use_runtimelinking" = yes; then
+ # Warning - without using the other runtime loading flags (-brtl),
+ # -berok will link without error, but may produce a broken library.
+ _LT_TAGVAR(allow_undefined_flag, $1)='-berok'
+ # Determine the default libpath from the value encoded in an empty
+ # executable.
+ _LT_SYS_MODULE_PATH_AIX
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
+
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then $ECHO "X${wl}${allow_undefined_flag}" | $Xsed; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
+ else
+ if test "$host_cpu" = ia64; then
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib'
+ _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs"
+ _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
+ else
+ # Determine the default libpath from the value encoded in an
+ # empty executable.
+ _LT_SYS_MODULE_PATH_AIX
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
+ # Warning - without using the other run time loading flags,
+ # -berok will link without error, but may produce a broken library.
+ _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok'
+ _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok'
+ # Exported symbols can be pulled into shared objects from archives
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
+ _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
+ # This is similar to how AIX traditionally builds its shared
+ # libraries.
+ _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
+ fi
+ fi
+ ;;
+
+ beos*)
+ if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
+ _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
+ # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
+ # support --undefined. This deserves some investigation. FIXME
+ _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ else
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ fi
+ ;;
+
+ chorus*)
+ case $cc_basename in
+ *)
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ esac
+ ;;
+
+ cygwin* | mingw* | pw32* | cegcc*)
+ # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
+ # as there is no search path for DLLs.
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+ _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
+ _LT_TAGVAR(always_export_symbols, $1)=no
+ _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
+
+ if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+ # If the export-symbols file already is a .def file (1st line
+ # is EXPORTS), use it as is; otherwise, prepend...
+ _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
+ cp $export_symbols $output_objdir/$soname.def;
+ else
+ echo EXPORTS > $output_objdir/$soname.def;
+ cat $export_symbols >> $output_objdir/$soname.def;
+ fi~
+ $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+ else
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ fi
+ ;;
+ darwin* | rhapsody*)
+ _LT_DARWIN_LINKER_FEATURES($1)
+ ;;
+
+ dgux*)
+ case $cc_basename in
+ ec++*)
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ ghcx*)
+ # Green Hills C++ Compiler
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ *)
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ esac
+ ;;
+
+ freebsd[[12]]*)
+ # C++ shared libraries reported to be fairly broken before
+ # switch to ELF
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+
+ freebsd-elf*)
+ _LT_TAGVAR(archive_cmds_need_lc, $1)=no
+ ;;
+
+ freebsd* | dragonfly*)
+ # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF
+ # conventions
+ _LT_TAGVAR(ld_shlibs, $1)=yes
+ ;;
+
+ gnu*)
+ ;;
+
+ hpux9*)
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+ _LT_TAGVAR(hardcode_direct, $1)=yes
+ _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH,
+ # but as the default
+ # location of the library.
+
+ case $cc_basename in
+ CC*)
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ aCC*)
+ _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ #
+ # There doesn't appear to be a way to prevent this compiler from
+ # explicitly linking system object files so we need to strip them
+ # from the output so that they don't get included in the library
+ # dependencies.
+ output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed'
+ ;;
+ *)
+ if test "$GXX" = yes; then
+ _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared -nostdlib -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+ else
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ fi
+ ;;
+ esac
+ ;;
+
+ hpux10*|hpux11*)
+ if test $with_gnu_ld = no; then
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+
+ case $host_cpu in
+ hppa*64*|ia64*)
+ ;;
+ *)
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+ ;;
+ esac
+ fi
+ case $host_cpu in
+ hppa*64*|ia64*)
+ _LT_TAGVAR(hardcode_direct, $1)=no
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ ;;
+ *)
+ _LT_TAGVAR(hardcode_direct, $1)=yes
+ _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
+ _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH,
+ # but as the default
+ # location of the library.
+ ;;
+ esac
+
+ case $cc_basename in
+ CC*)
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ aCC*)
+ case $host_cpu in
+ hppa*64*)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ ;;
+ ia64*)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ ;;
+ *)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ ;;
+ esac
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ #
+ # There doesn't appear to be a way to prevent this compiler from
+ # explicitly linking system object files so we need to strip them
+ # from the output so that they don't get included in the library
+ # dependencies.
+ output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed'
+ ;;
+ *)
+ if test "$GXX" = yes; then
+ if test $with_gnu_ld = no; then
+ case $host_cpu in
+ hppa*64*)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ ;;
+ ia64*)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ ;;
+ *)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ ;;
+ esac
+ fi
+ else
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ fi
+ ;;
+ esac
+ ;;
+
+ interix[[3-9]]*)
+ _LT_TAGVAR(hardcode_direct, $1)=no
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+ # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
+ # Instead, shared libraries are loaded at an image base (0x10000000 by
+ # default) and relocated if they conflict, which is a slow very memory
+ # consuming and fragmenting process. To avoid this, we pick a random,
+ # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
+ # time. Moving up from 0x10000000 also allows more sbrk(2) space.
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+ ;;
+ irix5* | irix6*)
+ case $cc_basename in
+ CC*)
+ # SGI C++
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
+
+ # Archives containing C++ object files must be created using
+ # "CC -ar", where "CC" is the IRIX C++ compiler. This is
+ # necessary to make sure instantiated templates are included
+ # in the archive.
+ _LT_TAGVAR(old_archive_cmds, $1)='$CC -ar -WR,-u -o $oldlib $oldobjs'
+ ;;
+ *)
+ if test "$GXX" = yes; then
+ if test "$with_gnu_ld" = no; then
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ else
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` -o $lib'
+ fi
+ fi
+ _LT_TAGVAR(link_all_deplibs, $1)=yes
+ ;;
+ esac
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+ _LT_TAGVAR(inherit_rpath, $1)=yes
+ ;;
+
+ linux* | k*bsd*-gnu | kopensolaris*-gnu)
+ case $cc_basename in
+ KCC*)
+ # Kuck and Associates, Inc. (KAI) C++ Compiler
+
+ # KCC will only create a shared library if the output file
+ # ends with ".so" (or ".sl" for HP-UX), so rename the library
+ # to its proper name (with version) after linking.
+ _LT_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib ${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib'
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ #
+ # There doesn't appear to be a way to prevent this compiler from
+ # explicitly linking system object files so we need to strip them
+ # from the output so that they don't get included in the library
+ # dependencies.
+ output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | $GREP "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed'
+
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
+
+ # Archives containing C++ object files must be created using
+ # "CC -Bstatic", where "CC" is the KAI C++ compiler.
+ _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs'
+ ;;
+ icpc* | ecpc* )
+ # Intel C++
+ with_gnu_ld=yes
+ # version 8.0 and above of icpc choke on multiply defined symbols
+ # if we add $predep_objects and $postdep_objects, however 7.1 and
+ # earlier do not add the objects themselves.
+ case `$CC -V 2>&1` in
+ *"Version 7."*)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ ;;
+ *) # Version 8.0 or newer
+ tmp_idyn=
+ case $host_cpu in
+ ia64*) tmp_idyn=' -i_dynamic';;
+ esac
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ ;;
+ esac
+ _LT_TAGVAR(archive_cmds_need_lc, $1)=no
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
+ ;;
+ pgCC* | pgcpp*)
+ # Portland Group C++ compiler
+ case `$CC -V` in
+ *pgCC\ [[1-5]]* | *pgcpp\ [[1-5]]*)
+ _LT_TAGVAR(prelink_cmds, $1)='tpldir=Template.dir~
+ rm -rf $tpldir~
+ $CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~
+ compile_command="$compile_command `find $tpldir -name \*.o | $NL2SP`"'
+ _LT_TAGVAR(old_archive_cmds, $1)='tpldir=Template.dir~
+ rm -rf $tpldir~
+ $CC --prelink_objects --instantiation_dir $tpldir $oldobjs$old_deplibs~
+ $AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | $NL2SP`~
+ $RANLIB $oldlib'
+ _LT_TAGVAR(archive_cmds, $1)='tpldir=Template.dir~
+ rm -rf $tpldir~
+ $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
+ $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='tpldir=Template.dir~
+ rm -rf $tpldir~
+ $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
+ $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib'
+ ;;
+ *) # Version 6 will use weak symbols
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib'
+ ;;
+ esac
+
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir'
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
+ ;;
+ cxx*)
+ # Compaq C++
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib ${wl}-retain-symbols-file $wl$export_symbols'
+
+ runpath_var=LD_RUN_PATH
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ #
+ # There doesn't appear to be a way to prevent this compiler from
+ # explicitly linking system object files so we need to strip them
+ # from the output so that they don't get included in the library
+ # dependencies.
+ output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld"`; templist=`$ECHO "X$templist" | $Xsed -e "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed'
+ ;;
+ xl*)
+ # IBM XL 8.0 on PPC, with GNU ld
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ if test "x$supports_anon_versioning" = xyes; then
+ _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
+ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
+ echo "local: *; };" >> $output_objdir/$libname.ver~
+ $CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
+ fi
+ ;;
+ *)
+ case `$CC -V 2>&1 | sed 5q` in
+ *Sun\ C*)
+ # Sun C++ 5.9
+ _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file ${wl}$export_symbols'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
+ _LT_TAGVAR(compiler_needs_object, $1)=yes
+
+ # Not sure whether something based on
+ # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1
+ # would be better.
+ output_verbose_link_cmd='echo'
+
+ # Archives containing C++ object files must be created using
+ # "CC -xar", where "CC" is the Sun C++ compiler. This is
+ # necessary to make sure instantiated templates are included
+ # in the archive.
+ _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs'
+ ;;
+ esac
+ ;;
+ esac
+ ;;
+
+ lynxos*)
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+
+ m88k*)
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+
+ mvs*)
+ case $cc_basename in
+ cxx*)
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ *)
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ esac
+ ;;
+
+ netbsd*)
+ if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
+ _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags'
+ wlarc=
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+ _LT_TAGVAR(hardcode_direct, $1)=yes
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ fi
+ # Workaround some broken pre-1.5 toolchains
+ output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"'
+ ;;
+
+ *nto* | *qnx*)
+ _LT_TAGVAR(ld_shlibs, $1)=yes
+ ;;
+
+ openbsd2*)
+ # C++ shared libraries are fairly broken
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+
+ openbsd*)
+ if test -f /usr/libexec/ld.so; then
+ _LT_TAGVAR(hardcode_direct, $1)=yes
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+ if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib'
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+ _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
+ fi
+ output_verbose_link_cmd=echo
+ else
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ fi
+ ;;
+
+ osf3* | osf4* | osf5*)
+ case $cc_basename in
+ KCC*)
+ # Kuck and Associates, Inc. (KAI) C++ Compiler
+
+ # KCC will only create a shared library if the output file
+ # ends with ".so" (or ".sl" for HP-UX), so rename the library
+ # to its proper name (with version) after linking.
+ _LT_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo "$lib" | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
+
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+
+ # Archives containing C++ object files must be created using
+ # the KAI C++ compiler.
+ case $host in
+ osf3*) _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' ;;
+ *) _LT_TAGVAR(old_archive_cmds, $1)='$CC -o $oldlib $oldobjs' ;;
+ esac
+ ;;
+ RCC*)
+ # Rational C++ 2.4.1
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ cxx*)
+ case $host in
+ osf3*)
+ _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && $ECHO "X${wl}-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+ ;;
+ *)
+ _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~
+ echo "-hidden">> $lib.exp~
+ $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname ${wl}-input ${wl}$lib.exp `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib~
+ $RM $lib.exp'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
+ ;;
+ esac
+
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ #
+ # There doesn't appear to be a way to prevent this compiler from
+ # explicitly linking system object files so we need to strip them
+ # from the output so that they don't get included in the library
+ # dependencies.
+ output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld" | $GREP -v "ld:"`; templist=`$ECHO "X$templist" | $Xsed -e "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed'
+ ;;
+ *)
+ if test "$GXX" = yes && test "$with_gnu_ld" = no; then
+ _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
+ case $host in
+ osf3*)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ ;;
+ *)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ ;;
+ esac
+
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"'
+
+ else
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ fi
+ ;;
+ esac
+ ;;
+
+ psos*)
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+
+ sunos4*)
+ case $cc_basename in
+ CC*)
+ # Sun C++ 4.x
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ lcc*)
+ # Lucid
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ *)
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ esac
+ ;;
+
+ solaris*)
+ case $cc_basename in
+ CC*)
+ # Sun C++ 4.2, 5.x and Centerline C++
+ _LT_TAGVAR(archive_cmds_need_lc,$1)=yes
+ _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+ $CC -G${allow_undefined_flag} ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
+
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ case $host_os in
+ solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
+ *)
+ # The compiler driver will combine and reorder linker options,
+ # but understands `-z linker_flag'.
+ # Supported since Solaris 2.6 (maybe 2.5.1?)
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract'
+ ;;
+ esac
+ _LT_TAGVAR(link_all_deplibs, $1)=yes
+
+ output_verbose_link_cmd='echo'
+
+ # Archives containing C++ object files must be created using
+ # "CC -xar", where "CC" is the Sun C++ compiler. This is
+ # necessary to make sure instantiated templates are included
+ # in the archive.
+ _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs'
+ ;;
+ gcx*)
+ # Green Hills C++ Compiler
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
+
+ # The C++ compiler must be used to create the archive.
+ _LT_TAGVAR(old_archive_cmds, $1)='$CC $LDFLAGS -archive -o $oldlib $oldobjs'
+ ;;
+ *)
+ # GNU C++ compiler with Solaris linker
+ if test "$GXX" = yes && test "$with_gnu_ld" = no; then
+ _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-z ${wl}defs'
+ if $CC --version | $GREP -v '^2\.7' > /dev/null; then
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+ $CC -shared -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
+
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"'
+ else
+ # g++ 2.7 appears to require `-G' NOT `-shared' on this
+ # platform.
+ _LT_TAGVAR(archive_cmds, $1)='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+ $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
+
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"'
+ fi
+
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $wl$libdir'
+ case $host_os in
+ solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
+ *)
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
+ ;;
+ esac
+ fi
+ ;;
+ esac
+ ;;
+
+ sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*)
+ _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
+ _LT_TAGVAR(archive_cmds_need_lc, $1)=no
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ runpath_var='LD_RUN_PATH'
+
+ case $cc_basename in
+ CC*)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ *)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ esac
+ ;;
+
+ sysv5* | sco3.2v5* | sco5v6*)
+ # Note: We can NOT use -z defs as we might desire, because we do not
+ # link with -lc, and that would cause any symbols used from libc to
+ # always be unresolved, which means just about no library would
+ # ever link correctly. If we're not using GNU ld we use -z text
+ # though, which does catch some bad symbols but isn't as heavy-handed
+ # as -z defs.
+ _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
+ _LT_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs'
+ _LT_TAGVAR(archive_cmds_need_lc, $1)=no
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R,$libdir'
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
+ _LT_TAGVAR(link_all_deplibs, $1)=yes
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport'
+ runpath_var='LD_RUN_PATH'
+
+ case $cc_basename in
+ CC*)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ *)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ esac
+ ;;
+
+ tandem*)
+ case $cc_basename in
+ NCC*)
+ # NonStop-UX NCC 3.20
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ *)
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ esac
+ ;;
+
+ vxworks*)
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+
+ *)
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ esac
+
+ AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)])
+ test "$_LT_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no
+
+ _LT_TAGVAR(GCC, $1)="$GXX"
+ _LT_TAGVAR(LD, $1)="$LD"
+
+ ## CAVEAT EMPTOR:
+ ## There is no encapsulation within the following macros, do not change
+ ## the running order or otherwise move them around unless you know exactly
+ ## what you are doing...
+ _LT_SYS_HIDDEN_LIBDEPS($1)
+ _LT_COMPILER_PIC($1)
+ _LT_COMPILER_C_O($1)
+ _LT_COMPILER_FILE_LOCKS($1)
+ _LT_LINKER_SHLIBS($1)
+ _LT_SYS_DYNAMIC_LINKER($1)
+ _LT_LINKER_HARDCODE_LIBPATH($1)
+
+ _LT_CONFIG($1)
+ fi # test -n "$compiler"
+
+ CC=$lt_save_CC
+ LDCXX=$LD
+ LD=$lt_save_LD
+ GCC=$lt_save_GCC
+ with_gnu_ld=$lt_save_with_gnu_ld
+ lt_cv_path_LDCXX=$lt_cv_path_LD
+ lt_cv_path_LD=$lt_save_path_LD
+ lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld
+ lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld
+fi # test "$_lt_caught_CXX_error" != yes
+
+AC_LANG_POP
+])# _LT_LANG_CXX_CONFIG
+
+
+# _LT_SYS_HIDDEN_LIBDEPS([TAGNAME])
+# ---------------------------------
+# Figure out "hidden" library dependencies from verbose
+# compiler output when linking a shared library.
+# Parse the compiler output and extract the necessary
+# objects, libraries and library flags.
+m4_defun([_LT_SYS_HIDDEN_LIBDEPS],
+[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+# Dependencies to place before and after the object being linked:
+_LT_TAGVAR(predep_objects, $1)=
+_LT_TAGVAR(postdep_objects, $1)=
+_LT_TAGVAR(predeps, $1)=
+_LT_TAGVAR(postdeps, $1)=
+_LT_TAGVAR(compiler_lib_search_path, $1)=
+
+dnl we can't use the lt_simple_compile_test_code here,
+dnl because it contains code intended for an executable,
+dnl not a library. It's possible we should let each
+dnl tag define a new lt_????_link_test_code variable,
+dnl but it's only used here...
+m4_if([$1], [], [cat > conftest.$ac_ext <<_LT_EOF
+int a;
+void foo (void) { a = 0; }
+_LT_EOF
+], [$1], [CXX], [cat > conftest.$ac_ext <<_LT_EOF
+class Foo
+{
+public:
+ Foo (void) { a = 0; }
+private:
+ int a;
+};
+_LT_EOF
+], [$1], [F77], [cat > conftest.$ac_ext <<_LT_EOF
+ subroutine foo
+ implicit none
+ integer*4 a
+ a=0
+ return
+ end
+_LT_EOF
+], [$1], [FC], [cat > conftest.$ac_ext <<_LT_EOF
+ subroutine foo
+ implicit none
+ integer a
+ a=0
+ return
+ end
+_LT_EOF
+], [$1], [GCJ], [cat > conftest.$ac_ext <<_LT_EOF
+public class foo {
+ private int a;
+ public void bar (void) {
+ a = 0;
+ }
+};
+_LT_EOF
+])
+dnl Parse the compiler output and extract the necessary
+dnl objects, libraries and library flags.
+if AC_TRY_EVAL(ac_compile); then
+ # Parse the compiler output and extract the necessary
+ # objects, libraries and library flags.
+
+ # Sentinel used to keep track of whether or not we are before
+ # the conftest object file.
+ pre_test_object_deps_done=no
+
+ for p in `eval "$output_verbose_link_cmd"`; do
+ case $p in
+
+ -L* | -R* | -l*)
+ # Some compilers place space between "-{L,R}" and the path.
+ # Remove the space.
+ if test $p = "-L" ||
+ test $p = "-R"; then
+ prev=$p
+ continue
+ else
+ prev=
+ fi
+
+ if test "$pre_test_object_deps_done" = no; then
+ case $p in
+ -L* | -R*)
+ # Internal compiler library paths should come after those
+ # provided the user. The postdeps already come after the
+ # user supplied libs so there is no need to process them.
+ if test -z "$_LT_TAGVAR(compiler_lib_search_path, $1)"; then
+ _LT_TAGVAR(compiler_lib_search_path, $1)="${prev}${p}"
+ else
+ _LT_TAGVAR(compiler_lib_search_path, $1)="${_LT_TAGVAR(compiler_lib_search_path, $1)} ${prev}${p}"
+ fi
+ ;;
+ # The "-l" case would never come before the object being
+ # linked, so don't bother handling this case.
+ esac
+ else
+ if test -z "$_LT_TAGVAR(postdeps, $1)"; then
+ _LT_TAGVAR(postdeps, $1)="${prev}${p}"
+ else
+ _LT_TAGVAR(postdeps, $1)="${_LT_TAGVAR(postdeps, $1)} ${prev}${p}"
+ fi
+ fi
+ ;;
+
+ *.$objext)
+ # This assumes that the test object file only shows up
+ # once in the compiler output.
+ if test "$p" = "conftest.$objext"; then
+ pre_test_object_deps_done=yes
+ continue
+ fi
+
+ if test "$pre_test_object_deps_done" = no; then
+ if test -z "$_LT_TAGVAR(predep_objects, $1)"; then
+ _LT_TAGVAR(predep_objects, $1)="$p"
+ else
+ _LT_TAGVAR(predep_objects, $1)="$_LT_TAGVAR(predep_objects, $1) $p"
+ fi
+ else
+ if test -z "$_LT_TAGVAR(postdep_objects, $1)"; then
+ _LT_TAGVAR(postdep_objects, $1)="$p"
+ else
+ _LT_TAGVAR(postdep_objects, $1)="$_LT_TAGVAR(postdep_objects, $1) $p"
+ fi
+ fi
+ ;;
+
+ *) ;; # Ignore the rest.
+
+ esac
+ done
+
+ # Clean up.
+ rm -f a.out a.exe
+else
+ echo "libtool.m4: error: problem compiling $1 test program"
+fi
+
+$RM -f confest.$objext
+
+# PORTME: override above test on systems where it is broken
+m4_if([$1], [CXX],
+[case $host_os in
+interix[[3-9]]*)
+ # Interix 3.5 installs completely hosed .la files for C++, so rather than
+ # hack all around it, let's just trust "g++" to DTRT.
+ _LT_TAGVAR(predep_objects,$1)=
+ _LT_TAGVAR(postdep_objects,$1)=
+ _LT_TAGVAR(postdeps,$1)=
+ ;;
+
+linux*)
+ case `$CC -V 2>&1 | sed 5q` in
+ *Sun\ C*)
+ # Sun C++ 5.9
+
+ # The more standards-conforming stlport4 library is
+ # incompatible with the Cstd library. Avoid specifying
+ # it if it's in CXXFLAGS. Ignore libCrun as
+ # -library=stlport4 depends on it.
+ case " $CXX $CXXFLAGS " in
+ *" -library=stlport4 "*)
+ solaris_use_stlport4=yes
+ ;;
+ esac
+
+ if test "$solaris_use_stlport4" != yes; then
+ _LT_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun'
+ fi
+ ;;
+ esac
+ ;;
+
+solaris*)
+ case $cc_basename in
+ CC*)
+ # The more standards-conforming stlport4 library is
+ # incompatible with the Cstd library. Avoid specifying
+ # it if it's in CXXFLAGS. Ignore libCrun as
+ # -library=stlport4 depends on it.
+ case " $CXX $CXXFLAGS " in
+ *" -library=stlport4 "*)
+ solaris_use_stlport4=yes
+ ;;
+ esac
+
+ # Adding this requires a known-good setup of shared libraries for
+ # Sun compiler versions before 5.6, else PIC objects from an old
+ # archive will be linked into the output, leading to subtle bugs.
+ if test "$solaris_use_stlport4" != yes; then
+ _LT_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun'
+ fi
+ ;;
+ esac
+ ;;
+esac
+])
+
+case " $_LT_TAGVAR(postdeps, $1) " in
+*" -lc "*) _LT_TAGVAR(archive_cmds_need_lc, $1)=no ;;
+esac
+ _LT_TAGVAR(compiler_lib_search_dirs, $1)=
+if test -n "${_LT_TAGVAR(compiler_lib_search_path, $1)}"; then
+ _LT_TAGVAR(compiler_lib_search_dirs, $1)=`echo " ${_LT_TAGVAR(compiler_lib_search_path, $1)}" | ${SED} -e 's! -L! !g' -e 's!^ !!'`
+fi
+_LT_TAGDECL([], [compiler_lib_search_dirs], [1],
+ [The directories searched by this compiler when creating a shared library])
+_LT_TAGDECL([], [predep_objects], [1],
+ [Dependencies to place before and after the objects being linked to
+ create a shared library])
+_LT_TAGDECL([], [postdep_objects], [1])
+_LT_TAGDECL([], [predeps], [1])
+_LT_TAGDECL([], [postdeps], [1])
+_LT_TAGDECL([], [compiler_lib_search_path], [1],
+ [The library search path used internally by the compiler when linking
+ a shared library])
+])# _LT_SYS_HIDDEN_LIBDEPS
+
+
+# _LT_PROG_F77
+# ------------
+# Since AC_PROG_F77 is broken, in that it returns the empty string
+# if there is no fortran compiler, we have our own version here.
+m4_defun([_LT_PROG_F77],
+[
+pushdef([AC_MSG_ERROR], [_lt_disable_F77=yes])
+AC_PROG_F77
+if test -z "$F77" || test "X$F77" = "Xno"; then
+ _lt_disable_F77=yes
+fi
+popdef([AC_MSG_ERROR])
+])# _LT_PROG_F77
+
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([_LT_PROG_F77], [])
+
+
+# _LT_LANG_F77_CONFIG([TAG])
+# --------------------------
+# Ensure that the configuration variables for a Fortran 77 compiler are
+# suitably defined. These variables are subsequently used by _LT_CONFIG
+# to write the compiler configuration to `libtool'.
+m4_defun([_LT_LANG_F77_CONFIG],
+[AC_REQUIRE([_LT_PROG_F77])dnl
+AC_LANG_PUSH(Fortran 77)
+
+_LT_TAGVAR(archive_cmds_need_lc, $1)=no
+_LT_TAGVAR(allow_undefined_flag, $1)=
+_LT_TAGVAR(always_export_symbols, $1)=no
+_LT_TAGVAR(archive_expsym_cmds, $1)=
+_LT_TAGVAR(export_dynamic_flag_spec, $1)=
+_LT_TAGVAR(hardcode_direct, $1)=no
+_LT_TAGVAR(hardcode_direct_absolute, $1)=no
+_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
+_LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
+_LT_TAGVAR(hardcode_libdir_separator, $1)=
+_LT_TAGVAR(hardcode_minus_L, $1)=no
+_LT_TAGVAR(hardcode_automatic, $1)=no
+_LT_TAGVAR(inherit_rpath, $1)=no
+_LT_TAGVAR(module_cmds, $1)=
+_LT_TAGVAR(module_expsym_cmds, $1)=
+_LT_TAGVAR(link_all_deplibs, $1)=unknown
+_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
+_LT_TAGVAR(no_undefined_flag, $1)=
+_LT_TAGVAR(whole_archive_flag_spec, $1)=
+_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
+
+# Source file extension for f77 test sources.
+ac_ext=f
+
+# Object file extension for compiled f77 test sources.
+objext=o
+_LT_TAGVAR(objext, $1)=$objext
+
+# No sense in running all these tests if we already determined that
+# the F77 compiler isn't working. Some variables (like enable_shared)
+# are currently assumed to apply to all compilers on this platform,
+# and will be corrupted by setting them based on a non-working compiler.
+if test "$_lt_disable_F77" != yes; then
+ # Code to be used in simple compile tests
+ lt_simple_compile_test_code="\
+ subroutine t
+ return
+ end
+"
+
+ # Code to be used in simple link tests
+ lt_simple_link_test_code="\
+ program t
+ end
+"
+
+ # ltmain only uses $CC for tagged configurations so make sure $CC is set.
+ _LT_TAG_COMPILER
+
+ # save warnings/boilerplate of simple test code
+ _LT_COMPILER_BOILERPLATE
+ _LT_LINKER_BOILERPLATE
+
+ # Allow CC to be a program name with arguments.
+ lt_save_CC="$CC"
+ lt_save_GCC=$GCC
+ CC=${F77-"f77"}
+ compiler=$CC
+ _LT_TAGVAR(compiler, $1)=$CC
+ _LT_CC_BASENAME([$compiler])
+ GCC=$G77
+ if test -n "$compiler"; then
+ AC_MSG_CHECKING([if libtool supports shared libraries])
+ AC_MSG_RESULT([$can_build_shared])
+
+ AC_MSG_CHECKING([whether to build shared libraries])
+ test "$can_build_shared" = "no" && enable_shared=no
+
+ # On AIX, shared libraries and static libraries use the same namespace, and
+ # are all built from PIC.
+ case $host_os in
+ aix3*)
+ test "$enable_shared" = yes && enable_static=no
+ if test -n "$RANLIB"; then
+ archive_cmds="$archive_cmds~\$RANLIB \$lib"
+ postinstall_cmds='$RANLIB $lib'
+ fi
+ ;;
+ aix[[4-9]]*)
+ if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
+ test "$enable_shared" = yes && enable_static=no
+ fi
+ ;;
+ esac
+ AC_MSG_RESULT([$enable_shared])
+
+ AC_MSG_CHECKING([whether to build static libraries])
+ # Make sure either enable_shared or enable_static is yes.
+ test "$enable_shared" = yes || enable_static=yes
+ AC_MSG_RESULT([$enable_static])
+
+ _LT_TAGVAR(GCC, $1)="$G77"
+ _LT_TAGVAR(LD, $1)="$LD"
+
+ ## CAVEAT EMPTOR:
+ ## There is no encapsulation within the following macros, do not change
+ ## the running order or otherwise move them around unless you know exactly
+ ## what you are doing...
+ _LT_COMPILER_PIC($1)
+ _LT_COMPILER_C_O($1)
+ _LT_COMPILER_FILE_LOCKS($1)
+ _LT_LINKER_SHLIBS($1)
+ _LT_SYS_DYNAMIC_LINKER($1)
+ _LT_LINKER_HARDCODE_LIBPATH($1)
+
+ _LT_CONFIG($1)
+ fi # test -n "$compiler"
+
+ GCC=$lt_save_GCC
+ CC="$lt_save_CC"
+fi # test "$_lt_disable_F77" != yes
+
+AC_LANG_POP
+])# _LT_LANG_F77_CONFIG
+
+
+# _LT_PROG_FC
+# -----------
+# Since AC_PROG_FC is broken, in that it returns the empty string
+# if there is no fortran compiler, we have our own version here.
+m4_defun([_LT_PROG_FC],
+[
+pushdef([AC_MSG_ERROR], [_lt_disable_FC=yes])
+AC_PROG_FC
+if test -z "$FC" || test "X$FC" = "Xno"; then
+ _lt_disable_FC=yes
+fi
+popdef([AC_MSG_ERROR])
+])# _LT_PROG_FC
+
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([_LT_PROG_FC], [])
+
+
+# _LT_LANG_FC_CONFIG([TAG])
+# -------------------------
+# Ensure that the configuration variables for a Fortran compiler are
+# suitably defined. These variables are subsequently used by _LT_CONFIG
+# to write the compiler configuration to `libtool'.
+m4_defun([_LT_LANG_FC_CONFIG],
+[AC_REQUIRE([_LT_PROG_FC])dnl
+AC_LANG_PUSH(Fortran)
+
+_LT_TAGVAR(archive_cmds_need_lc, $1)=no
+_LT_TAGVAR(allow_undefined_flag, $1)=
+_LT_TAGVAR(always_export_symbols, $1)=no
+_LT_TAGVAR(archive_expsym_cmds, $1)=
+_LT_TAGVAR(export_dynamic_flag_spec, $1)=
+_LT_TAGVAR(hardcode_direct, $1)=no
+_LT_TAGVAR(hardcode_direct_absolute, $1)=no
+_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
+_LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
+_LT_TAGVAR(hardcode_libdir_separator, $1)=
+_LT_TAGVAR(hardcode_minus_L, $1)=no
+_LT_TAGVAR(hardcode_automatic, $1)=no
+_LT_TAGVAR(inherit_rpath, $1)=no
+_LT_TAGVAR(module_cmds, $1)=
+_LT_TAGVAR(module_expsym_cmds, $1)=
+_LT_TAGVAR(link_all_deplibs, $1)=unknown
+_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
+_LT_TAGVAR(no_undefined_flag, $1)=
+_LT_TAGVAR(whole_archive_flag_spec, $1)=
+_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
+
+# Source file extension for fc test sources.
+ac_ext=${ac_fc_srcext-f}
+
+# Object file extension for compiled fc test sources.
+objext=o
+_LT_TAGVAR(objext, $1)=$objext
+
+# No sense in running all these tests if we already determined that
+# the FC compiler isn't working. Some variables (like enable_shared)
+# are currently assumed to apply to all compilers on this platform,
+# and will be corrupted by setting them based on a non-working compiler.
+if test "$_lt_disable_FC" != yes; then
+ # Code to be used in simple compile tests
+ lt_simple_compile_test_code="\
+ subroutine t
+ return
+ end
+"
+
+ # Code to be used in simple link tests
+ lt_simple_link_test_code="\
+ program t
+ end
+"
+
+ # ltmain only uses $CC for tagged configurations so make sure $CC is set.
+ _LT_TAG_COMPILER
+
+ # save warnings/boilerplate of simple test code
+ _LT_COMPILER_BOILERPLATE
+ _LT_LINKER_BOILERPLATE
+
+ # Allow CC to be a program name with arguments.
+ lt_save_CC="$CC"
+ lt_save_GCC=$GCC
+ CC=${FC-"f95"}
+ compiler=$CC
+ GCC=$ac_cv_fc_compiler_gnu
+
+ _LT_TAGVAR(compiler, $1)=$CC
+ _LT_CC_BASENAME([$compiler])
+
+ if test -n "$compiler"; then
+ AC_MSG_CHECKING([if libtool supports shared libraries])
+ AC_MSG_RESULT([$can_build_shared])
+
+ AC_MSG_CHECKING([whether to build shared libraries])
+ test "$can_build_shared" = "no" && enable_shared=no
+
+ # On AIX, shared libraries and static libraries use the same namespace, and
+ # are all built from PIC.
+ case $host_os in
+ aix3*)
+ test "$enable_shared" = yes && enable_static=no
+ if test -n "$RANLIB"; then
+ archive_cmds="$archive_cmds~\$RANLIB \$lib"
+ postinstall_cmds='$RANLIB $lib'
+ fi
+ ;;
+ aix[[4-9]]*)
+ if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
+ test "$enable_shared" = yes && enable_static=no
+ fi
+ ;;
+ esac
+ AC_MSG_RESULT([$enable_shared])
+
+ AC_MSG_CHECKING([whether to build static libraries])
+ # Make sure either enable_shared or enable_static is yes.
+ test "$enable_shared" = yes || enable_static=yes
+ AC_MSG_RESULT([$enable_static])
+
+ _LT_TAGVAR(GCC, $1)="$ac_cv_fc_compiler_gnu"
+ _LT_TAGVAR(LD, $1)="$LD"
+
+ ## CAVEAT EMPTOR:
+ ## There is no encapsulation within the following macros, do not change
+ ## the running order or otherwise move them around unless you know exactly
+ ## what you are doing...
+ _LT_SYS_HIDDEN_LIBDEPS($1)
+ _LT_COMPILER_PIC($1)
+ _LT_COMPILER_C_O($1)
+ _LT_COMPILER_FILE_LOCKS($1)
+ _LT_LINKER_SHLIBS($1)
+ _LT_SYS_DYNAMIC_LINKER($1)
+ _LT_LINKER_HARDCODE_LIBPATH($1)
+
+ _LT_CONFIG($1)
+ fi # test -n "$compiler"
+
+ GCC=$lt_save_GCC
+ CC="$lt_save_CC"
+fi # test "$_lt_disable_FC" != yes
+
+AC_LANG_POP
+])# _LT_LANG_FC_CONFIG
+
+
+# _LT_LANG_GCJ_CONFIG([TAG])
+# --------------------------
+# Ensure that the configuration variables for the GNU Java Compiler compiler
+# are suitably defined. These variables are subsequently used by _LT_CONFIG
+# to write the compiler configuration to `libtool'.
+m4_defun([_LT_LANG_GCJ_CONFIG],
+[AC_REQUIRE([LT_PROG_GCJ])dnl
+AC_LANG_SAVE
+
+# Source file extension for Java test sources.
+ac_ext=java
+
+# Object file extension for compiled Java test sources.
+objext=o
+_LT_TAGVAR(objext, $1)=$objext
+
+# Code to be used in simple compile tests
+lt_simple_compile_test_code="class foo {}"
+
+# Code to be used in simple link tests
+lt_simple_link_test_code='public class conftest { public static void main(String[[]] argv) {}; }'
+
+# ltmain only uses $CC for tagged configurations so make sure $CC is set.
+_LT_TAG_COMPILER
+
+# save warnings/boilerplate of simple test code
+_LT_COMPILER_BOILERPLATE
+_LT_LINKER_BOILERPLATE
+
+# Allow CC to be a program name with arguments.
+lt_save_CC="$CC"
+lt_save_GCC=$GCC
+GCC=yes
+CC=${GCJ-"gcj"}
+compiler=$CC
+_LT_TAGVAR(compiler, $1)=$CC
+_LT_TAGVAR(LD, $1)="$LD"
+_LT_CC_BASENAME([$compiler])
+
+# GCJ did not exist at the time GCC didn't implicitly link libc in.
+_LT_TAGVAR(archive_cmds_need_lc, $1)=no
+
+_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
+
+## CAVEAT EMPTOR:
+## There is no encapsulation within the following macros, do not change
+## the running order or otherwise move them around unless you know exactly
+## what you are doing...
+if test -n "$compiler"; then
+ _LT_COMPILER_NO_RTTI($1)
+ _LT_COMPILER_PIC($1)
+ _LT_COMPILER_C_O($1)
+ _LT_COMPILER_FILE_LOCKS($1)
+ _LT_LINKER_SHLIBS($1)
+ _LT_LINKER_HARDCODE_LIBPATH($1)
+
+ _LT_CONFIG($1)
+fi
+
+AC_LANG_RESTORE
+
+GCC=$lt_save_GCC
+CC="$lt_save_CC"
+])# _LT_LANG_GCJ_CONFIG
+
+
+# _LT_LANG_RC_CONFIG([TAG])
+# -------------------------
+# Ensure that the configuration variables for the Windows resource compiler
+# are suitably defined. These variables are subsequently used by _LT_CONFIG
+# to write the compiler configuration to `libtool'.
+m4_defun([_LT_LANG_RC_CONFIG],
+[AC_REQUIRE([LT_PROG_RC])dnl
+AC_LANG_SAVE
+
+# Source file extension for RC test sources.
+ac_ext=rc
+
+# Object file extension for compiled RC test sources.
+objext=o
+_LT_TAGVAR(objext, $1)=$objext
+
+# Code to be used in simple compile tests
+lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }'
+
+# Code to be used in simple link tests
+lt_simple_link_test_code="$lt_simple_compile_test_code"
+
+# ltmain only uses $CC for tagged configurations so make sure $CC is set.
+_LT_TAG_COMPILER
+
+# save warnings/boilerplate of simple test code
+_LT_COMPILER_BOILERPLATE
+_LT_LINKER_BOILERPLATE
+
+# Allow CC to be a program name with arguments.
+lt_save_CC="$CC"
+lt_save_GCC=$GCC
+GCC=
+CC=${RC-"windres"}
+compiler=$CC
+_LT_TAGVAR(compiler, $1)=$CC
+_LT_CC_BASENAME([$compiler])
+_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes
+
+if test -n "$compiler"; then
+ :
+ _LT_CONFIG($1)
+fi
+
+GCC=$lt_save_GCC
+AC_LANG_RESTORE
+CC="$lt_save_CC"
+])# _LT_LANG_RC_CONFIG
+
+
+# LT_PROG_GCJ
+# -----------
+AC_DEFUN([LT_PROG_GCJ],
+[m4_ifdef([AC_PROG_GCJ], [AC_PROG_GCJ],
+ [m4_ifdef([A][M_PROG_GCJ], [A][M_PROG_GCJ],
+ [AC_CHECK_TOOL(GCJ, gcj,)
+ test "x${GCJFLAGS+set}" = xset || GCJFLAGS="-g -O2"
+ AC_SUBST(GCJFLAGS)])])[]dnl
+])
+
+# Old name:
+AU_ALIAS([LT_AC_PROG_GCJ], [LT_PROG_GCJ])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([LT_AC_PROG_GCJ], [])
+
+
+# LT_PROG_RC
+# ----------
+AC_DEFUN([LT_PROG_RC],
+[AC_CHECK_TOOL(RC, windres,)
+])
+
+# Old name:
+AU_ALIAS([LT_AC_PROG_RC], [LT_PROG_RC])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([LT_AC_PROG_RC], [])
+
+
+# _LT_DECL_EGREP
+# --------------
+# If we don't have a new enough Autoconf to choose the best grep
+# available, choose the one first in the user's PATH.
+m4_defun([_LT_DECL_EGREP],
+[AC_REQUIRE([AC_PROG_EGREP])dnl
+AC_REQUIRE([AC_PROG_FGREP])dnl
+test -z "$GREP" && GREP=grep
+_LT_DECL([], [GREP], [1], [A grep program that handles long lines])
+_LT_DECL([], [EGREP], [1], [An ERE matcher])
+_LT_DECL([], [FGREP], [1], [A literal string matcher])
+dnl Non-bleeding-edge autoconf doesn't subst GREP, so do it here too
+AC_SUBST([GREP])
+])
+
+
+# _LT_DECL_OBJDUMP
+# --------------
+# If we don't have a new enough Autoconf to choose the best objdump
+# available, choose the one first in the user's PATH.
+m4_defun([_LT_DECL_OBJDUMP],
+[AC_CHECK_TOOL(OBJDUMP, objdump, false)
+test -z "$OBJDUMP" && OBJDUMP=objdump
+_LT_DECL([], [OBJDUMP], [1], [An object symbol dumper])
+AC_SUBST([OBJDUMP])
+])
+
+
+# _LT_DECL_SED
+# ------------
+# Check for a fully-functional sed program, that truncates
+# as few characters as possible. Prefer GNU sed if found.
+m4_defun([_LT_DECL_SED],
+[AC_PROG_SED
+test -z "$SED" && SED=sed
+Xsed="$SED -e 1s/^X//"
+_LT_DECL([], [SED], [1], [A sed program that does not truncate output])
+_LT_DECL([], [Xsed], ["\$SED -e 1s/^X//"],
+ [Sed that helps us avoid accidentally triggering echo(1) options like -n])
+])# _LT_DECL_SED
+
+m4_ifndef([AC_PROG_SED], [
+############################################################
+# NOTE: This macro has been submitted for inclusion into #
+# GNU Autoconf as AC_PROG_SED. When it is available in #
+# a released version of Autoconf we should remove this #
+# macro and use it instead. #
+############################################################
+
+m4_defun([AC_PROG_SED],
+[AC_MSG_CHECKING([for a sed that does not truncate output])
+AC_CACHE_VAL(lt_cv_path_SED,
+[# Loop through the user's path and test for sed and gsed.
+# Then use that list of sed's as ones to test for truncation.
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for lt_ac_prog in sed gsed; do
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if $as_executable_p "$as_dir/$lt_ac_prog$ac_exec_ext"; then
+ lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext"
+ fi
+ done
+ done
+done
+IFS=$as_save_IFS
+lt_ac_max=0
+lt_ac_count=0
+# Add /usr/xpg4/bin/sed as it is typically found on Solaris
+# along with /bin/sed that truncates output.
+for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do
+ test ! -f $lt_ac_sed && continue
+ cat /dev/null > conftest.in
+ lt_ac_count=0
+ echo $ECHO_N "0123456789$ECHO_C" >conftest.in
+ # Check for GNU sed and select it if it is found.
+ if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then
+ lt_cv_path_SED=$lt_ac_sed
+ break
+ fi
+ while true; do
+ cat conftest.in conftest.in >conftest.tmp
+ mv conftest.tmp conftest.in
+ cp conftest.in conftest.nl
+ echo >>conftest.nl
+ $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break
+ cmp -s conftest.out conftest.nl || break
+ # 10000 chars as input seems more than enough
+ test $lt_ac_count -gt 10 && break
+ lt_ac_count=`expr $lt_ac_count + 1`
+ if test $lt_ac_count -gt $lt_ac_max; then
+ lt_ac_max=$lt_ac_count
+ lt_cv_path_SED=$lt_ac_sed
+ fi
+ done
+done
+])
+SED=$lt_cv_path_SED
+AC_SUBST([SED])
+AC_MSG_RESULT([$SED])
+])#AC_PROG_SED
+])#m4_ifndef
+
+# Old name:
+AU_ALIAS([LT_AC_PROG_SED], [AC_PROG_SED])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([LT_AC_PROG_SED], [])
+
+
+# _LT_CHECK_SHELL_FEATURES
+# ------------------------
+# Find out whether the shell is Bourne or XSI compatible,
+# or has some other useful features.
+m4_defun([_LT_CHECK_SHELL_FEATURES],
+[AC_MSG_CHECKING([whether the shell understands some XSI constructs])
+# Try some XSI features
+xsi_shell=no
+( _lt_dummy="a/b/c"
+ test "${_lt_dummy##*/},${_lt_dummy%/*},"${_lt_dummy%"$_lt_dummy"}, \
+ = c,a/b,, \
+ && eval 'test $(( 1 + 1 )) -eq 2 \
+ && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \
+ && xsi_shell=yes
+AC_MSG_RESULT([$xsi_shell])
+_LT_CONFIG_LIBTOOL_INIT([xsi_shell='$xsi_shell'])
+
+AC_MSG_CHECKING([whether the shell understands "+="])
+lt_shell_append=no
+( foo=bar; set foo baz; eval "$[1]+=\$[2]" && test "$foo" = barbaz ) \
+ >/dev/null 2>&1 \
+ && lt_shell_append=yes
+AC_MSG_RESULT([$lt_shell_append])
+_LT_CONFIG_LIBTOOL_INIT([lt_shell_append='$lt_shell_append'])
+
+if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
+ lt_unset=unset
+else
+ lt_unset=false
+fi
+_LT_DECL([], [lt_unset], [0], [whether the shell understands "unset"])dnl
+
+# test EBCDIC or ASCII
+case `echo X|tr X '\101'` in
+ A) # ASCII based system
+ # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr
+ lt_SP2NL='tr \040 \012'
+ lt_NL2SP='tr \015\012 \040\040'
+ ;;
+ *) # EBCDIC based system
+ lt_SP2NL='tr \100 \n'
+ lt_NL2SP='tr \r\n \100\100'
+ ;;
+esac
+_LT_DECL([SP2NL], [lt_SP2NL], [1], [turn spaces into newlines])dnl
+_LT_DECL([NL2SP], [lt_NL2SP], [1], [turn newlines into spaces])dnl
+])# _LT_CHECK_SHELL_FEATURES
+
+
+# _LT_PROG_XSI_SHELLFNS
+# ---------------------
+# Bourne and XSI compatible variants of some useful shell functions.
+m4_defun([_LT_PROG_XSI_SHELLFNS],
+[case $xsi_shell in
+ yes)
+ cat << \_LT_EOF >> "$cfgfile"
+
+# func_dirname file append nondir_replacement
+# Compute the dirname of FILE. If nonempty, add APPEND to the result,
+# otherwise set result to NONDIR_REPLACEMENT.
+func_dirname ()
+{
+ case ${1} in
+ */*) func_dirname_result="${1%/*}${2}" ;;
+ * ) func_dirname_result="${3}" ;;
+ esac
+}
+
+# func_basename file
+func_basename ()
+{
+ func_basename_result="${1##*/}"
+}
+
+# func_dirname_and_basename file append nondir_replacement
+# perform func_basename and func_dirname in a single function
+# call:
+# dirname: Compute the dirname of FILE. If nonempty,
+# add APPEND to the result, otherwise set result
+# to NONDIR_REPLACEMENT.
+# value returned in "$func_dirname_result"
+# basename: Compute filename of FILE.
+# value retuned in "$func_basename_result"
+# Implementation must be kept synchronized with func_dirname
+# and func_basename. For efficiency, we do not delegate to
+# those functions but instead duplicate the functionality here.
+func_dirname_and_basename ()
+{
+ case ${1} in
+ */*) func_dirname_result="${1%/*}${2}" ;;
+ * ) func_dirname_result="${3}" ;;
+ esac
+ func_basename_result="${1##*/}"
+}
+
+# func_stripname prefix suffix name
+# strip PREFIX and SUFFIX off of NAME.
+# PREFIX and SUFFIX must not contain globbing or regex special
+# characters, hashes, percent signs, but SUFFIX may contain a leading
+# dot (in which case that matches only a dot).
+func_stripname ()
+{
+ # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are
+ # positional parameters, so assign one to ordinary parameter first.
+ func_stripname_result=${3}
+ func_stripname_result=${func_stripname_result#"${1}"}
+ func_stripname_result=${func_stripname_result%"${2}"}
+}
+
+# func_opt_split
+func_opt_split ()
+{
+ func_opt_split_opt=${1%%=*}
+ func_opt_split_arg=${1#*=}
+}
+
+# func_lo2o object
+func_lo2o ()
+{
+ case ${1} in
+ *.lo) func_lo2o_result=${1%.lo}.${objext} ;;
+ *) func_lo2o_result=${1} ;;
+ esac
+}
+
+# func_xform libobj-or-source
+func_xform ()
+{
+ func_xform_result=${1%.*}.lo
+}
+
+# func_arith arithmetic-term...
+func_arith ()
+{
+ func_arith_result=$(( $[*] ))
+}
+
+# func_len string
+# STRING may not start with a hyphen.
+func_len ()
+{
+ func_len_result=${#1}
+}
+
+_LT_EOF
+ ;;
+ *) # Bourne compatible functions.
+ cat << \_LT_EOF >> "$cfgfile"
+
+# func_dirname file append nondir_replacement
+# Compute the dirname of FILE. If nonempty, add APPEND to the result,
+# otherwise set result to NONDIR_REPLACEMENT.
+func_dirname ()
+{
+ # Extract subdirectory from the argument.
+ func_dirname_result=`$ECHO "X${1}" | $Xsed -e "$dirname"`
+ if test "X$func_dirname_result" = "X${1}"; then
+ func_dirname_result="${3}"
+ else
+ func_dirname_result="$func_dirname_result${2}"
+ fi
+}
+
+# func_basename file
+func_basename ()
+{
+ func_basename_result=`$ECHO "X${1}" | $Xsed -e "$basename"`
+}
+
+dnl func_dirname_and_basename
+dnl A portable version of this function is already defined in general.m4sh
+dnl so there is no need for it here.
+
+# func_stripname prefix suffix name
+# strip PREFIX and SUFFIX off of NAME.
+# PREFIX and SUFFIX must not contain globbing or regex special
+# characters, hashes, percent signs, but SUFFIX may contain a leading
+# dot (in which case that matches only a dot).
+# func_strip_suffix prefix name
+func_stripname ()
+{
+ case ${2} in
+ .*) func_stripname_result=`$ECHO "X${3}" \
+ | $Xsed -e "s%^${1}%%" -e "s%\\\\${2}\$%%"`;;
+ *) func_stripname_result=`$ECHO "X${3}" \
+ | $Xsed -e "s%^${1}%%" -e "s%${2}\$%%"`;;
+ esac
+}
+
+# sed scripts:
+my_sed_long_opt='1s/^\(-[[^=]]*\)=.*/\1/;q'
+my_sed_long_arg='1s/^-[[^=]]*=//'
+
+# func_opt_split
+func_opt_split ()
+{
+ func_opt_split_opt=`$ECHO "X${1}" | $Xsed -e "$my_sed_long_opt"`
+ func_opt_split_arg=`$ECHO "X${1}" | $Xsed -e "$my_sed_long_arg"`
+}
+
+# func_lo2o object
+func_lo2o ()
+{
+ func_lo2o_result=`$ECHO "X${1}" | $Xsed -e "$lo2o"`
+}
+
+# func_xform libobj-or-source
+func_xform ()
+{
+ func_xform_result=`$ECHO "X${1}" | $Xsed -e 's/\.[[^.]]*$/.lo/'`
+}
+
+# func_arith arithmetic-term...
+func_arith ()
+{
+ func_arith_result=`expr "$[@]"`
+}
+
+# func_len string
+# STRING may not start with a hyphen.
+func_len ()
+{
+ func_len_result=`expr "$[1]" : ".*" 2>/dev/null || echo $max_cmd_len`
+}
+
+_LT_EOF
+esac
+
+case $lt_shell_append in
+ yes)
+ cat << \_LT_EOF >> "$cfgfile"
+
+# func_append var value
+# Append VALUE to the end of shell variable VAR.
+func_append ()
+{
+ eval "$[1]+=\$[2]"
+}
+_LT_EOF
+ ;;
+ *)
+ cat << \_LT_EOF >> "$cfgfile"
+
+# func_append var value
+# Append VALUE to the end of shell variable VAR.
+func_append ()
+{
+ eval "$[1]=\$$[1]\$[2]"
+}
+
+_LT_EOF
+ ;;
+ esac
+])
--- /dev/null
+# Helper functions for option handling. -*- Autoconf -*-
+#
+# Copyright (C) 2004, 2005, 2007, 2008 Free Software Foundation, Inc.
+# Written by Gary V. Vaughan, 2004
+#
+# 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 ltoptions.m4
+
+# This is to help aclocal find these macros, as it can't see m4_define.
+AC_DEFUN([LTOPTIONS_VERSION], [m4_if([1])])
+
+
+# _LT_MANGLE_OPTION(MACRO-NAME, OPTION-NAME)
+# ------------------------------------------
+m4_define([_LT_MANGLE_OPTION],
+[[_LT_OPTION_]m4_bpatsubst($1__$2, [[^a-zA-Z0-9_]], [_])])
+
+
+# _LT_SET_OPTION(MACRO-NAME, OPTION-NAME)
+# ---------------------------------------
+# Set option OPTION-NAME for macro MACRO-NAME, and if there is a
+# matching handler defined, dispatch to it. Other OPTION-NAMEs are
+# saved as a flag.
+m4_define([_LT_SET_OPTION],
+[m4_define(_LT_MANGLE_OPTION([$1], [$2]))dnl
+m4_ifdef(_LT_MANGLE_DEFUN([$1], [$2]),
+ _LT_MANGLE_DEFUN([$1], [$2]),
+ [m4_warning([Unknown $1 option `$2'])])[]dnl
+])
+
+
+# _LT_IF_OPTION(MACRO-NAME, OPTION-NAME, IF-SET, [IF-NOT-SET])
+# ------------------------------------------------------------
+# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise.
+m4_define([_LT_IF_OPTION],
+[m4_ifdef(_LT_MANGLE_OPTION([$1], [$2]), [$3], [$4])])
+
+
+# _LT_UNLESS_OPTIONS(MACRO-NAME, OPTION-LIST, IF-NOT-SET)
+# -------------------------------------------------------
+# Execute IF-NOT-SET unless all options in OPTION-LIST for MACRO-NAME
+# are set.
+m4_define([_LT_UNLESS_OPTIONS],
+[m4_foreach([_LT_Option], m4_split(m4_normalize([$2])),
+ [m4_ifdef(_LT_MANGLE_OPTION([$1], _LT_Option),
+ [m4_define([$0_found])])])[]dnl
+m4_ifdef([$0_found], [m4_undefine([$0_found])], [$3
+])[]dnl
+])
+
+
+# _LT_SET_OPTIONS(MACRO-NAME, OPTION-LIST)
+# ----------------------------------------
+# OPTION-LIST is a space-separated list of Libtool options associated
+# with MACRO-NAME. If any OPTION has a matching handler declared with
+# LT_OPTION_DEFINE, dispatch to that macro; otherwise complain about
+# the unknown option and exit.
+m4_defun([_LT_SET_OPTIONS],
+[# Set options
+m4_foreach([_LT_Option], m4_split(m4_normalize([$2])),
+ [_LT_SET_OPTION([$1], _LT_Option)])
+
+m4_if([$1],[LT_INIT],[
+ dnl
+ dnl Simply set some default values (i.e off) if boolean options were not
+ dnl specified:
+ _LT_UNLESS_OPTIONS([LT_INIT], [dlopen], [enable_dlopen=no
+ ])
+ _LT_UNLESS_OPTIONS([LT_INIT], [win32-dll], [enable_win32_dll=no
+ ])
+ dnl
+ dnl If no reference was made to various pairs of opposing options, then
+ dnl we run the default mode handler for the pair. For example, if neither
+ dnl `shared' nor `disable-shared' was passed, we enable building of shared
+ dnl archives by default:
+ _LT_UNLESS_OPTIONS([LT_INIT], [shared disable-shared], [_LT_ENABLE_SHARED])
+ _LT_UNLESS_OPTIONS([LT_INIT], [static disable-static], [_LT_ENABLE_STATIC])
+ _LT_UNLESS_OPTIONS([LT_INIT], [pic-only no-pic], [_LT_WITH_PIC])
+ _LT_UNLESS_OPTIONS([LT_INIT], [fast-install disable-fast-install],
+ [_LT_ENABLE_FAST_INSTALL])
+ ])
+])# _LT_SET_OPTIONS
+
+
+## --------------------------------- ##
+## Macros to handle LT_INIT options. ##
+## --------------------------------- ##
+
+# _LT_MANGLE_DEFUN(MACRO-NAME, OPTION-NAME)
+# -----------------------------------------
+m4_define([_LT_MANGLE_DEFUN],
+[[_LT_OPTION_DEFUN_]m4_bpatsubst(m4_toupper([$1__$2]), [[^A-Z0-9_]], [_])])
+
+
+# LT_OPTION_DEFINE(MACRO-NAME, OPTION-NAME, CODE)
+# -----------------------------------------------
+m4_define([LT_OPTION_DEFINE],
+[m4_define(_LT_MANGLE_DEFUN([$1], [$2]), [$3])[]dnl
+])# LT_OPTION_DEFINE
+
+
+# dlopen
+# ------
+LT_OPTION_DEFINE([LT_INIT], [dlopen], [enable_dlopen=yes
+])
+
+AU_DEFUN([AC_LIBTOOL_DLOPEN],
+[_LT_SET_OPTION([LT_INIT], [dlopen])
+AC_DIAGNOSE([obsolete],
+[$0: Remove this warning and the call to _LT_SET_OPTION when you
+put the `dlopen' option into LT_INIT's first parameter.])
+])
+
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_LIBTOOL_DLOPEN], [])
+
+
+# win32-dll
+# ---------
+# Declare package support for building win32 dll's.
+LT_OPTION_DEFINE([LT_INIT], [win32-dll],
+[enable_win32_dll=yes
+
+case $host in
+*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-cegcc*)
+ AC_CHECK_TOOL(AS, as, false)
+ AC_CHECK_TOOL(DLLTOOL, dlltool, false)
+ AC_CHECK_TOOL(OBJDUMP, objdump, false)
+ ;;
+esac
+
+test -z "$AS" && AS=as
+_LT_DECL([], [AS], [0], [Assembler program])dnl
+
+test -z "$DLLTOOL" && DLLTOOL=dlltool
+_LT_DECL([], [DLLTOOL], [0], [DLL creation program])dnl
+
+test -z "$OBJDUMP" && OBJDUMP=objdump
+_LT_DECL([], [OBJDUMP], [0], [Object dumper program])dnl
+])# win32-dll
+
+AU_DEFUN([AC_LIBTOOL_WIN32_DLL],
+[AC_REQUIRE([AC_CANONICAL_HOST])dnl
+_LT_SET_OPTION([LT_INIT], [win32-dll])
+AC_DIAGNOSE([obsolete],
+[$0: Remove this warning and the call to _LT_SET_OPTION when you
+put the `win32-dll' option into LT_INIT's first parameter.])
+])
+
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_LIBTOOL_WIN32_DLL], [])
+
+
+# _LT_ENABLE_SHARED([DEFAULT])
+# ----------------------------
+# implement the --enable-shared flag, and supports the `shared' and
+# `disable-shared' LT_INIT options.
+# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'.
+m4_define([_LT_ENABLE_SHARED],
+[m4_define([_LT_ENABLE_SHARED_DEFAULT], [m4_if($1, no, no, yes)])dnl
+AC_ARG_ENABLE([shared],
+ [AS_HELP_STRING([--enable-shared@<:@=PKGS@:>@],
+ [build shared libraries @<:@default=]_LT_ENABLE_SHARED_DEFAULT[@:>@])],
+ [p=${PACKAGE-default}
+ case $enableval in
+ yes) enable_shared=yes ;;
+ no) enable_shared=no ;;
+ *)
+ enable_shared=no
+ # Look at the argument we got. We use all the common list separators.
+ lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
+ for pkg in $enableval; do
+ IFS="$lt_save_ifs"
+ if test "X$pkg" = "X$p"; then
+ enable_shared=yes
+ fi
+ done
+ IFS="$lt_save_ifs"
+ ;;
+ esac],
+ [enable_shared=]_LT_ENABLE_SHARED_DEFAULT)
+
+ _LT_DECL([build_libtool_libs], [enable_shared], [0],
+ [Whether or not to build shared libraries])
+])# _LT_ENABLE_SHARED
+
+LT_OPTION_DEFINE([LT_INIT], [shared], [_LT_ENABLE_SHARED([yes])])
+LT_OPTION_DEFINE([LT_INIT], [disable-shared], [_LT_ENABLE_SHARED([no])])
+
+# Old names:
+AC_DEFUN([AC_ENABLE_SHARED],
+[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[shared])
+])
+
+AC_DEFUN([AC_DISABLE_SHARED],
+[_LT_SET_OPTION([LT_INIT], [disable-shared])
+])
+
+AU_DEFUN([AM_ENABLE_SHARED], [AC_ENABLE_SHARED($@)])
+AU_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)])
+
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AM_ENABLE_SHARED], [])
+dnl AC_DEFUN([AM_DISABLE_SHARED], [])
+
+
+
+# _LT_ENABLE_STATIC([DEFAULT])
+# ----------------------------
+# implement the --enable-static flag, and support the `static' and
+# `disable-static' LT_INIT options.
+# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'.
+m4_define([_LT_ENABLE_STATIC],
+[m4_define([_LT_ENABLE_STATIC_DEFAULT], [m4_if($1, no, no, yes)])dnl
+AC_ARG_ENABLE([static],
+ [AS_HELP_STRING([--enable-static@<:@=PKGS@:>@],
+ [build static libraries @<:@default=]_LT_ENABLE_STATIC_DEFAULT[@:>@])],
+ [p=${PACKAGE-default}
+ case $enableval in
+ yes) enable_static=yes ;;
+ no) enable_static=no ;;
+ *)
+ enable_static=no
+ # Look at the argument we got. We use all the common list separators.
+ lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
+ for pkg in $enableval; do
+ IFS="$lt_save_ifs"
+ if test "X$pkg" = "X$p"; then
+ enable_static=yes
+ fi
+ done
+ IFS="$lt_save_ifs"
+ ;;
+ esac],
+ [enable_static=]_LT_ENABLE_STATIC_DEFAULT)
+
+ _LT_DECL([build_old_libs], [enable_static], [0],
+ [Whether or not to build static libraries])
+])# _LT_ENABLE_STATIC
+
+LT_OPTION_DEFINE([LT_INIT], [static], [_LT_ENABLE_STATIC([yes])])
+LT_OPTION_DEFINE([LT_INIT], [disable-static], [_LT_ENABLE_STATIC([no])])
+
+# Old names:
+AC_DEFUN([AC_ENABLE_STATIC],
+[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[static])
+])
+
+AC_DEFUN([AC_DISABLE_STATIC],
+[_LT_SET_OPTION([LT_INIT], [disable-static])
+])
+
+AU_DEFUN([AM_ENABLE_STATIC], [AC_ENABLE_STATIC($@)])
+AU_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)])
+
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AM_ENABLE_STATIC], [])
+dnl AC_DEFUN([AM_DISABLE_STATIC], [])
+
+
+
+# _LT_ENABLE_FAST_INSTALL([DEFAULT])
+# ----------------------------------
+# implement the --enable-fast-install flag, and support the `fast-install'
+# and `disable-fast-install' LT_INIT options.
+# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'.
+m4_define([_LT_ENABLE_FAST_INSTALL],
+[m4_define([_LT_ENABLE_FAST_INSTALL_DEFAULT], [m4_if($1, no, no, yes)])dnl
+AC_ARG_ENABLE([fast-install],
+ [AS_HELP_STRING([--enable-fast-install@<:@=PKGS@:>@],
+ [optimize for fast installation @<:@default=]_LT_ENABLE_FAST_INSTALL_DEFAULT[@:>@])],
+ [p=${PACKAGE-default}
+ case $enableval in
+ yes) enable_fast_install=yes ;;
+ no) enable_fast_install=no ;;
+ *)
+ enable_fast_install=no
+ # Look at the argument we got. We use all the common list separators.
+ lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
+ for pkg in $enableval; do
+ IFS="$lt_save_ifs"
+ if test "X$pkg" = "X$p"; then
+ enable_fast_install=yes
+ fi
+ done
+ IFS="$lt_save_ifs"
+ ;;
+ esac],
+ [enable_fast_install=]_LT_ENABLE_FAST_INSTALL_DEFAULT)
+
+_LT_DECL([fast_install], [enable_fast_install], [0],
+ [Whether or not to optimize for fast installation])dnl
+])# _LT_ENABLE_FAST_INSTALL
+
+LT_OPTION_DEFINE([LT_INIT], [fast-install], [_LT_ENABLE_FAST_INSTALL([yes])])
+LT_OPTION_DEFINE([LT_INIT], [disable-fast-install], [_LT_ENABLE_FAST_INSTALL([no])])
+
+# Old names:
+AU_DEFUN([AC_ENABLE_FAST_INSTALL],
+[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[fast-install])
+AC_DIAGNOSE([obsolete],
+[$0: Remove this warning and the call to _LT_SET_OPTION when you put
+the `fast-install' option into LT_INIT's first parameter.])
+])
+
+AU_DEFUN([AC_DISABLE_FAST_INSTALL],
+[_LT_SET_OPTION([LT_INIT], [disable-fast-install])
+AC_DIAGNOSE([obsolete],
+[$0: Remove this warning and the call to _LT_SET_OPTION when you put
+the `disable-fast-install' option into LT_INIT's first parameter.])
+])
+
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_ENABLE_FAST_INSTALL], [])
+dnl AC_DEFUN([AM_DISABLE_FAST_INSTALL], [])
+
+
+# _LT_WITH_PIC([MODE])
+# --------------------
+# implement the --with-pic flag, and support the `pic-only' and `no-pic'
+# LT_INIT options.
+# MODE is either `yes' or `no'. If omitted, it defaults to `both'.
+m4_define([_LT_WITH_PIC],
+[AC_ARG_WITH([pic],
+ [AS_HELP_STRING([--with-pic],
+ [try to use only PIC/non-PIC objects @<:@default=use both@:>@])],
+ [pic_mode="$withval"],
+ [pic_mode=default])
+
+test -z "$pic_mode" && pic_mode=m4_default([$1], [default])
+
+_LT_DECL([], [pic_mode], [0], [What type of objects to build])dnl
+])# _LT_WITH_PIC
+
+LT_OPTION_DEFINE([LT_INIT], [pic-only], [_LT_WITH_PIC([yes])])
+LT_OPTION_DEFINE([LT_INIT], [no-pic], [_LT_WITH_PIC([no])])
+
+# Old name:
+AU_DEFUN([AC_LIBTOOL_PICMODE],
+[_LT_SET_OPTION([LT_INIT], [pic-only])
+AC_DIAGNOSE([obsolete],
+[$0: Remove this warning and the call to _LT_SET_OPTION when you
+put the `pic-only' option into LT_INIT's first parameter.])
+])
+
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_LIBTOOL_PICMODE], [])
+
+## ----------------- ##
+## LTDL_INIT Options ##
+## ----------------- ##
+
+m4_define([_LTDL_MODE], [])
+LT_OPTION_DEFINE([LTDL_INIT], [nonrecursive],
+ [m4_define([_LTDL_MODE], [nonrecursive])])
+LT_OPTION_DEFINE([LTDL_INIT], [recursive],
+ [m4_define([_LTDL_MODE], [recursive])])
+LT_OPTION_DEFINE([LTDL_INIT], [subproject],
+ [m4_define([_LTDL_MODE], [subproject])])
+
+m4_define([_LTDL_TYPE], [])
+LT_OPTION_DEFINE([LTDL_INIT], [installable],
+ [m4_define([_LTDL_TYPE], [installable])])
+LT_OPTION_DEFINE([LTDL_INIT], [convenience],
+ [m4_define([_LTDL_TYPE], [convenience])])
--- /dev/null
+# ltsugar.m4 -- libtool m4 base layer. -*-Autoconf-*-
+#
+# Copyright (C) 2004, 2005, 2007, 2008 Free Software Foundation, Inc.
+# Written by Gary V. Vaughan, 2004
+#
+# 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 ltsugar.m4
+
+# This is to help aclocal find these macros, as it can't see m4_define.
+AC_DEFUN([LTSUGAR_VERSION], [m4_if([0.1])])
+
+
+# lt_join(SEP, ARG1, [ARG2...])
+# -----------------------------
+# Produce ARG1SEPARG2...SEPARGn, omitting [] arguments and their
+# associated separator.
+# Needed until we can rely on m4_join from Autoconf 2.62, since all earlier
+# versions in m4sugar had bugs.
+m4_define([lt_join],
+[m4_if([$#], [1], [],
+ [$#], [2], [[$2]],
+ [m4_if([$2], [], [], [[$2]_])$0([$1], m4_shift(m4_shift($@)))])])
+m4_define([_lt_join],
+[m4_if([$#$2], [2], [],
+ [m4_if([$2], [], [], [[$1$2]])$0([$1], m4_shift(m4_shift($@)))])])
+
+
+# lt_car(LIST)
+# lt_cdr(LIST)
+# ------------
+# Manipulate m4 lists.
+# These macros are necessary as long as will still need to support
+# Autoconf-2.59 which quotes differently.
+m4_define([lt_car], [[$1]])
+m4_define([lt_cdr],
+[m4_if([$#], 0, [m4_fatal([$0: cannot be called without arguments])],
+ [$#], 1, [],
+ [m4_dquote(m4_shift($@))])])
+m4_define([lt_unquote], $1)
+
+
+# lt_append(MACRO-NAME, STRING, [SEPARATOR])
+# ------------------------------------------
+# Redefine MACRO-NAME to hold its former content plus `SEPARATOR'`STRING'.
+# Note that neither SEPARATOR nor STRING are expanded; they are appended
+# to MACRO-NAME as is (leaving the expansion for when MACRO-NAME is invoked).
+# No SEPARATOR is output if MACRO-NAME was previously undefined (different
+# than defined and empty).
+#
+# This macro is needed until we can rely on Autoconf 2.62, since earlier
+# versions of m4sugar mistakenly expanded SEPARATOR but not STRING.
+m4_define([lt_append],
+[m4_define([$1],
+ m4_ifdef([$1], [m4_defn([$1])[$3]])[$2])])
+
+
+
+# lt_combine(SEP, PREFIX-LIST, INFIX, SUFFIX1, [SUFFIX2...])
+# ----------------------------------------------------------
+# Produce a SEP delimited list of all paired combinations of elements of
+# PREFIX-LIST with SUFFIX1 through SUFFIXn. Each element of the list
+# has the form PREFIXmINFIXSUFFIXn.
+# Needed until we can rely on m4_combine added in Autoconf 2.62.
+m4_define([lt_combine],
+[m4_if(m4_eval([$# > 3]), [1],
+ [m4_pushdef([_Lt_sep], [m4_define([_Lt_sep], m4_defn([lt_car]))])]]dnl
+[[m4_foreach([_Lt_prefix], [$2],
+ [m4_foreach([_Lt_suffix],
+ ]m4_dquote(m4_dquote(m4_shift(m4_shift(m4_shift($@)))))[,
+ [_Lt_sep([$1])[]m4_defn([_Lt_prefix])[$3]m4_defn([_Lt_suffix])])])])])
+
+
+# lt_if_append_uniq(MACRO-NAME, VARNAME, [SEPARATOR], [UNIQ], [NOT-UNIQ])
+# -----------------------------------------------------------------------
+# Iff MACRO-NAME does not yet contain VARNAME, then append it (delimited
+# by SEPARATOR if supplied) and expand UNIQ, else NOT-UNIQ.
+m4_define([lt_if_append_uniq],
+[m4_ifdef([$1],
+ [m4_if(m4_index([$3]m4_defn([$1])[$3], [$3$2$3]), [-1],
+ [lt_append([$1], [$2], [$3])$4],
+ [$5])],
+ [lt_append([$1], [$2], [$3])$4])])
+
+
+# lt_dict_add(DICT, KEY, VALUE)
+# -----------------------------
+m4_define([lt_dict_add],
+[m4_define([$1($2)], [$3])])
+
+
+# lt_dict_add_subkey(DICT, KEY, SUBKEY, VALUE)
+# --------------------------------------------
+m4_define([lt_dict_add_subkey],
+[m4_define([$1($2:$3)], [$4])])
+
+
+# lt_dict_fetch(DICT, KEY, [SUBKEY])
+# ----------------------------------
+m4_define([lt_dict_fetch],
+[m4_ifval([$3],
+ m4_ifdef([$1($2:$3)], [m4_defn([$1($2:$3)])]),
+ m4_ifdef([$1($2)], [m4_defn([$1($2)])]))])
+
+
+# lt_if_dict_fetch(DICT, KEY, [SUBKEY], VALUE, IF-TRUE, [IF-FALSE])
+# -----------------------------------------------------------------
+m4_define([lt_if_dict_fetch],
+[m4_if(lt_dict_fetch([$1], [$2], [$3]), [$4],
+ [$5],
+ [$6])])
+
+
+# lt_dict_filter(DICT, [SUBKEY], VALUE, [SEPARATOR], KEY, [...])
+# --------------------------------------------------------------
+m4_define([lt_dict_filter],
+[m4_if([$5], [], [],
+ [lt_join(m4_quote(m4_default([$4], [[, ]])),
+ lt_unquote(m4_split(m4_normalize(m4_foreach(_Lt_key, lt_car([m4_shiftn(4, $@)]),
+ [lt_if_dict_fetch([$1], _Lt_key, [$2], [$3], [_Lt_key ])])))))])[]dnl
+])
--- /dev/null
+# ltversion.m4 -- version numbers -*- Autoconf -*-
+#
+# Copyright (C) 2004 Free Software Foundation, Inc.
+# Written by Scott James Remnant, 2004
+#
+# 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.
+
+# Generated from ltversion.in.
+
+# serial 3017 ltversion.m4
+# This file is part of GNU Libtool
+
+m4_define([LT_PACKAGE_VERSION], [2.2.6b])
+m4_define([LT_PACKAGE_REVISION], [1.3017])
+
+AC_DEFUN([LTVERSION_VERSION],
+[macro_version='2.2.6b'
+macro_revision='1.3017'
+_LT_DECL(, macro_version, 0, [Which release of libtool.m4 was used?])
+_LT_DECL(, macro_revision, 0)
+])
--- /dev/null
+# lt~obsolete.m4 -- aclocal satisfying obsolete definitions. -*-Autoconf-*-
+#
+# Copyright (C) 2004, 2005, 2007 Free Software Foundation, Inc.
+# Written by Scott James Remnant, 2004.
+#
+# 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 lt~obsolete.m4
+
+# These exist entirely to fool aclocal when bootstrapping libtool.
+#
+# In the past libtool.m4 has provided macros via AC_DEFUN (or AU_DEFUN)
+# which have later been changed to m4_define as they aren't part of the
+# exported API, or moved to Autoconf or Automake where they belong.
+#
+# The trouble is, aclocal is a bit thick. It'll see the old AC_DEFUN
+# in /usr/share/aclocal/libtool.m4 and remember it, then when it sees us
+# using a macro with the same name in our local m4/libtool.m4 it'll
+# pull the old libtool.m4 in (it doesn't see our shiny new m4_define
+# and doesn't know about Autoconf macros at all.)
+#
+# So we provide this file, which has a silly filename so it's always
+# included after everything else. This provides aclocal with the
+# AC_DEFUNs it wants, but when m4 processes it, it doesn't do anything
+# because those macros already exist, or will be overwritten later.
+# We use AC_DEFUN over AU_DEFUN for compatibility with aclocal-1.6.
+#
+# Anytime we withdraw an AC_DEFUN or AU_DEFUN, remember to add it here.
+# Yes, that means every name once taken will need to remain here until
+# we give up compatibility with versions before 1.7, at which point
+# we need to keep only those names which we still refer to.
+
+# This is to help aclocal find these macros, as it can't see m4_define.
+AC_DEFUN([LTOBSOLETE_VERSION], [m4_if([1])])
+
+m4_ifndef([AC_LIBTOOL_LINKER_OPTION], [AC_DEFUN([AC_LIBTOOL_LINKER_OPTION])])
+m4_ifndef([AC_PROG_EGREP], [AC_DEFUN([AC_PROG_EGREP])])
+m4_ifndef([_LT_AC_PROG_ECHO_BACKSLASH], [AC_DEFUN([_LT_AC_PROG_ECHO_BACKSLASH])])
+m4_ifndef([_LT_AC_SHELL_INIT], [AC_DEFUN([_LT_AC_SHELL_INIT])])
+m4_ifndef([_LT_AC_SYS_LIBPATH_AIX], [AC_DEFUN([_LT_AC_SYS_LIBPATH_AIX])])
+m4_ifndef([_LT_PROG_LTMAIN], [AC_DEFUN([_LT_PROG_LTMAIN])])
+m4_ifndef([_LT_AC_TAGVAR], [AC_DEFUN([_LT_AC_TAGVAR])])
+m4_ifndef([AC_LTDL_ENABLE_INSTALL], [AC_DEFUN([AC_LTDL_ENABLE_INSTALL])])
+m4_ifndef([AC_LTDL_PREOPEN], [AC_DEFUN([AC_LTDL_PREOPEN])])
+m4_ifndef([_LT_AC_SYS_COMPILER], [AC_DEFUN([_LT_AC_SYS_COMPILER])])
+m4_ifndef([_LT_AC_LOCK], [AC_DEFUN([_LT_AC_LOCK])])
+m4_ifndef([AC_LIBTOOL_SYS_OLD_ARCHIVE], [AC_DEFUN([AC_LIBTOOL_SYS_OLD_ARCHIVE])])
+m4_ifndef([_LT_AC_TRY_DLOPEN_SELF], [AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF])])
+m4_ifndef([AC_LIBTOOL_PROG_CC_C_O], [AC_DEFUN([AC_LIBTOOL_PROG_CC_C_O])])
+m4_ifndef([AC_LIBTOOL_SYS_HARD_LINK_LOCKS], [AC_DEFUN([AC_LIBTOOL_SYS_HARD_LINK_LOCKS])])
+m4_ifndef([AC_LIBTOOL_OBJDIR], [AC_DEFUN([AC_LIBTOOL_OBJDIR])])
+m4_ifndef([AC_LTDL_OBJDIR], [AC_DEFUN([AC_LTDL_OBJDIR])])
+m4_ifndef([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH], [AC_DEFUN([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH])])
+m4_ifndef([AC_LIBTOOL_SYS_LIB_STRIP], [AC_DEFUN([AC_LIBTOOL_SYS_LIB_STRIP])])
+m4_ifndef([AC_PATH_MAGIC], [AC_DEFUN([AC_PATH_MAGIC])])
+m4_ifndef([AC_PROG_LD_GNU], [AC_DEFUN([AC_PROG_LD_GNU])])
+m4_ifndef([AC_PROG_LD_RELOAD_FLAG], [AC_DEFUN([AC_PROG_LD_RELOAD_FLAG])])
+m4_ifndef([AC_DEPLIBS_CHECK_METHOD], [AC_DEFUN([AC_DEPLIBS_CHECK_METHOD])])
+m4_ifndef([AC_LIBTOOL_PROG_COMPILER_NO_RTTI], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_NO_RTTI])])
+m4_ifndef([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE], [AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE])])
+m4_ifndef([AC_LIBTOOL_PROG_COMPILER_PIC], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_PIC])])
+m4_ifndef([AC_LIBTOOL_PROG_LD_SHLIBS], [AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS])])
+m4_ifndef([AC_LIBTOOL_POSTDEP_PREDEP], [AC_DEFUN([AC_LIBTOOL_POSTDEP_PREDEP])])
+m4_ifndef([LT_AC_PROG_EGREP], [AC_DEFUN([LT_AC_PROG_EGREP])])
+m4_ifndef([LT_AC_PROG_SED], [AC_DEFUN([LT_AC_PROG_SED])])
+m4_ifndef([_LT_CC_BASENAME], [AC_DEFUN([_LT_CC_BASENAME])])
+m4_ifndef([_LT_COMPILER_BOILERPLATE], [AC_DEFUN([_LT_COMPILER_BOILERPLATE])])
+m4_ifndef([_LT_LINKER_BOILERPLATE], [AC_DEFUN([_LT_LINKER_BOILERPLATE])])
+m4_ifndef([_AC_PROG_LIBTOOL], [AC_DEFUN([_AC_PROG_LIBTOOL])])
+m4_ifndef([AC_LIBTOOL_SETUP], [AC_DEFUN([AC_LIBTOOL_SETUP])])
+m4_ifndef([_LT_AC_CHECK_DLFCN], [AC_DEFUN([_LT_AC_CHECK_DLFCN])])
+m4_ifndef([AC_LIBTOOL_SYS_DYNAMIC_LINKER], [AC_DEFUN([AC_LIBTOOL_SYS_DYNAMIC_LINKER])])
+m4_ifndef([_LT_AC_TAGCONFIG], [AC_DEFUN([_LT_AC_TAGCONFIG])])
+m4_ifndef([AC_DISABLE_FAST_INSTALL], [AC_DEFUN([AC_DISABLE_FAST_INSTALL])])
+m4_ifndef([_LT_AC_LANG_CXX], [AC_DEFUN([_LT_AC_LANG_CXX])])
+m4_ifndef([_LT_AC_LANG_F77], [AC_DEFUN([_LT_AC_LANG_F77])])
+m4_ifndef([_LT_AC_LANG_GCJ], [AC_DEFUN([_LT_AC_LANG_GCJ])])
+m4_ifndef([AC_LIBTOOL_RC], [AC_DEFUN([AC_LIBTOOL_RC])])
+m4_ifndef([AC_LIBTOOL_LANG_C_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_C_CONFIG])])
+m4_ifndef([_LT_AC_LANG_C_CONFIG], [AC_DEFUN([_LT_AC_LANG_C_CONFIG])])
+m4_ifndef([AC_LIBTOOL_LANG_CXX_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_CXX_CONFIG])])
+m4_ifndef([_LT_AC_LANG_CXX_CONFIG], [AC_DEFUN([_LT_AC_LANG_CXX_CONFIG])])
+m4_ifndef([AC_LIBTOOL_LANG_F77_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_F77_CONFIG])])
+m4_ifndef([_LT_AC_LANG_F77_CONFIG], [AC_DEFUN([_LT_AC_LANG_F77_CONFIG])])
+m4_ifndef([AC_LIBTOOL_LANG_GCJ_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_GCJ_CONFIG])])
+m4_ifndef([_LT_AC_LANG_GCJ_CONFIG], [AC_DEFUN([_LT_AC_LANG_GCJ_CONFIG])])
+m4_ifndef([AC_LIBTOOL_LANG_RC_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_RC_CONFIG])])
+m4_ifndef([_LT_AC_LANG_RC_CONFIG], [AC_DEFUN([_LT_AC_LANG_RC_CONFIG])])
+m4_ifndef([AC_LIBTOOL_CONFIG], [AC_DEFUN([AC_LIBTOOL_CONFIG])])
+m4_ifndef([_LT_AC_FILE_LTDLL_C], [AC_DEFUN([_LT_AC_FILE_LTDLL_C])])
--- /dev/null
+#! /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:
--- /dev/null
+.synopsis, .classsynopsis
+{
+ /* tango:aluminium 1/2 */
+ background: #eeeeec;
+ border: solid 1px #d3d7cf;
+ padding: 0.5em;
+}
+.programlisting
+{
+ /* tango:sky blue 0/1 */
+ background: #e6f3ff;
+ border: solid 1px #729fcf;
+ padding: 0.5em;
+}
+.variablelist
+{
+ padding: 4px;
+ margin-left: 3em;
+}
+.variablelist td:first-child
+{
+ vertical-align: top;
+}
+
+@media screen {
+ sup a.footnote
+ {
+ position: relative;
+ top: 0em ! important;
+
+ }
+ /* this is needed so that the local anchors are displayed below the naviagtion */
+ div.footnote a[name], div.refnamediv a[name], div.refsect1 a[name], div.refsect2 a[name], div.index a[name], div.glossary a[name], div.sect1 a[name]
+ {
+ display: inline-block;
+ position: relative;
+ top:-5em;
+ }
+ /* this seems to be a bug in the xsl style sheets when generating indexes */
+ div.index div.index
+ {
+ top: 0em;
+ }
+ /* make space for the fixed navigation bar and add space at the bottom so that
+ * link targets appear somewhat close to top
+ */
+ body
+ {
+ padding-top: 3.2em;
+ padding-bottom: 20em;
+ }
+ /* style and size the navigation bar */
+ table.navigation#top
+ {
+ position: fixed;
+ /* tango:scarlet red 0/1 */
+ background: #ffe6e6;
+ border: solid 1px #ef2929;
+ margin-top: 0;
+ margin-bottom: 0;
+ top: 0;
+ left: 0;
+ height: 3em;
+ z-index: 10;
+ }
+ .navigation a, .navigation a:visited
+ {
+ /* tango:scarlet red 3 */
+ color: #a40000;
+ }
+ .navigation a:hover
+ {
+ /* tango:scarlet red 1 */
+ color: #ef2929;
+ }
+ td.shortcuts
+ {
+ /* tango:scarlet red 1 */
+ color: #ef2929;
+ font-size: 80%;
+ white-space: nowrap;
+ }
+}
+@media print {
+ table.navigation {
+ visibility: collapse;
+ display: none;
+ }
+ div.titlepage table.navigation {
+ visibility: visible;
+ display: table;
+ /* tango:scarlet red 0/1 */
+ background: #ffe6e6;
+ border: solid 1px #ef2929;
+ margin-top: 0;
+ margin-bottom: 0;
+ top: 0;
+ left: 0;
+ height: 3em;
+ }
+}
+
+.navigation .title
+{
+ font-size: 200%;
+}
+
+div.gallery-float
+{
+ float: left;
+ padding: 10px;
+}
+div.gallery-float img
+{
+ border-style: none;
+}
+div.gallery-spacer
+{
+ clear: both;
+}
+
+a, a:visited
+{
+ text-decoration: none;
+ /* tango:sky blue 2 */
+ color: #3465a4;
+}
+a:hover
+{
+ text-decoration: underline;
+ /* tango:sky blue 1 */
+ color: #729fcf;
+}
+
+div.table table
+{
+ border-collapse: collapse;
+ border-spacing: 0px;
+ /* tango:aluminium 3 */
+ border: solid 1px #babdb6;
+}
+
+div.table table td, div.table table th
+{
+ /* tango:aluminium 3 */
+ border: solid 1px #babdb6;
+ padding: 3px;
+ vertical-align: top;
+}
+
+div.table table th
+{
+ /* tango:aluminium 2 */
+ background-color: #d3d7cf;
+}
+
+hr
+{
+ /* tango:aluminium 3 */
+ color: #babdb6;
+ background: #babdb6;
+ border: none 0px;
+ height: 1px;
+ clear: both;
+}
+
+.footer
+{
+ padding-top: 3.5em;
+ /* tango:aluminium 3 */
+ color: #babdb6;
+ text-align: center;
+ font-size: 80%;
+}
+
+.warning
+{
+ /* tango:orange 0/1 */
+ background: #ffeed9;
+ border-color: #ffb04f;
+}
+.note
+{
+ /* tango:chameleon 0/0.5 */
+ background: #d8ffb2;
+ border-color: #abf562;
+}
+.note, .warning
+{
+ padding: 0.5em;
+ border-width: 1px;
+ border-style: solid;
+}
+.note h3, .warning h3
+{
+ margin-top: 0.0em
+}
+.note p, .warning p
+{
+ margin-bottom: 0.0em
+}
+
+/* blob links */
+h2 .extralinks, h3 .extralinks
+{
+ float: right;
+ /* tango:aluminium 3 */
+ color: #babdb6;
+ font-size: 80%;
+ font-weight: normal;
+}
+
+.annotation
+{
+ /* tango:aluminium 5 */
+ color: #555753;
+ font-size: 80%;
+ font-weight: normal;
+}
+
+/* code listings */
+
+.listing_code .programlisting .cbracket { color: #a40000; } /* tango: scarlet red 3 */
+.listing_code .programlisting .comment { color: #a1a39d; } /* tango: aluminium 4 */
+.listing_code .programlisting .function { color: #000000; font-weight: bold; }
+.listing_code .programlisting .function a { color: #11326b; font-weight: bold; } /* tango: sky blue 4 */
+.listing_code .programlisting .keyword { color: #4e9a06; } /* tango: chameleon 3 */
+.listing_code .programlisting .linenum { color: #babdb6; } /* tango: aluminium 3 */
+.listing_code .programlisting .normal { color: #000000; }
+.listing_code .programlisting .number { color: #75507b; } /* tango: plum 2 */
+.listing_code .programlisting .preproc { color: #204a87; } /* tango: sky blue 3 */
+.listing_code .programlisting .string { color: #c17d11; } /* tango: chocolate 2 */
+.listing_code .programlisting .type { color: #000000; }
+.listing_code .programlisting .type a { color: #11326b; } /* tango: sky blue 4 */
+.listing_code .programlisting .symbol { color: #ce5c00; } /* tango: orange 3 */
+
+.listing_frame {
+ /* tango:sky blue 1 */
+ border: solid 1px #729fcf;
+ padding: 0px;
+}
+
+.listing_lines, .listing_code {
+ margin-top: 0px;
+ margin-bottom: 0px;
+ padding: 0.5em;
+}
+.listing_lines {
+ /* tango:sky blue 0.5 */
+ background: #a6c5e3;
+ /* tango:aluminium 6 */
+ color: #2e3436;
+}
+.listing_code {
+ /* tango:sky blue 0 */
+ background: #e6f3ff;
+}
+.listing_code .programlisting {
+ /* override from previous */
+ border: none 0px;
+ padding: 0px;
+}
+.listing_lines pre, .listing_code pre {
+ margin: 0px;
+}
+
--- /dev/null
+## Process this file with automake to produce Makefile.in
+
+SUBDIRS = gobject bugs annotations fail empty .
+
+if BUILD_TESTS
+
+TESTS = tools.sh gobject.sh bugs.sh annotations.sh fail.sh empty.sh sanity.sh
+TESTS_ENVIRONMENT = \
+ ABS_TOP_BUILDDIR=$(abs_top_builddir) \
+ ABS_TOP_SRCDIR=$(abs_top_srcdir) \
+ PATH=$(abs_top_builddir):$(srcdir):$(PATH) \
+ PERL5LIB=$(abs_top_builddir):$(PERL5LIB)
+
+endif
+
+EXTRA_DIST = gtkdoctest.sh tools.sh \
+ gobject.sh bugs.sh annotations.sh fail.sh empty.sh sanity.sh
+
+# run any given test by running make <test>.check
+%.check: %
+ @$(TESTS_ENVIRONMENT) \
+ ./$*
+
+
+-include $(top_srcdir)/git.mk
--- /dev/null
+# 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@
+pkgdatadir = $(datadir)/@PACKAGE@
+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 = :
+build_triplet = @build@
+host_triplet = @host@
+subdir = tests
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
+ $(srcdir)/tools.sh.in
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/gnome-doc-utils.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
+ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/acinclude.m4 \
+ $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_CLEAN_FILES = tools.sh
+CONFIG_CLEAN_VPATH_FILES =
+AM_V_GEN = $(am__v_GEN_$(V))
+am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
+am__v_GEN_0 = @echo " GEN " $@;
+AM_V_at = $(am__v_at_$(V))
+am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
+am__v_at_0 = @
+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"
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
+AR = @AR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DBLATEX = @DBLATEX@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DISTCHECK_CONFIGURE_FLAGS = @DISTCHECK_CONFIGURE_FLAGS@
+DOC_USER_FORMATS = @DOC_USER_FORMATS@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+FGREP = @FGREP@
+FOP = @FOP@
+GREP = @GREP@
+HELP_DIR = @HELP_DIR@
+HIGHLIGHT = @HIGHLIGHT@
+HIGHLIGHT_OPTIONS = @HIGHLIGHT_OPTIONS@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+JADE = @JADE@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+MKDIR_P = @MKDIR_P@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OMF_DIR = @OMF_DIR@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_DATA_DIR = @PACKAGE_DATA_DIR@
+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@
+PKG_CONFIG = @PKG_CONFIG@
+PYTHON = @PYTHON@
+PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
+PYTHON_PLATFORM = @PYTHON_PLATFORM@
+PYTHON_PREFIX = @PYTHON_PREFIX@
+PYTHON_VERSION = @PYTHON_VERSION@
+RANLIB = @RANLIB@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SGML_FORMAT_TYPE = @SGML_FORMAT_TYPE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+TEST_DEPS_CFLAGS = @TEST_DEPS_CFLAGS@
+TEST_DEPS_LIBS = @TEST_DEPS_LIBS@
+TRACE = @TRACE@
+VERSION = @VERSION@
+XMLCATALOG = @XMLCATALOG@
+XML_CATALOG_FILE = @XML_CATALOG_FILE@
+XSLTPROC = @XSLTPROC@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+glib_prefix = @glib_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+lt_ECHO = @lt_ECHO@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+pkgpyexecdir = @pkgpyexecdir@
+pkgpythondir = @pkgpythondir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+pyexecdir = @pyexecdir@
+pythondir = @pythondir@
+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 = gobject bugs annotations fail empty .
+@BUILD_TESTS_TRUE@TESTS = tools.sh gobject.sh bugs.sh annotations.sh fail.sh empty.sh sanity.sh
+@BUILD_TESTS_TRUE@TESTS_ENVIRONMENT = \
+@BUILD_TESTS_TRUE@ ABS_TOP_BUILDDIR=$(abs_top_builddir) \
+@BUILD_TESTS_TRUE@ ABS_TOP_SRCDIR=$(abs_top_srcdir) \
+@BUILD_TESTS_TRUE@ PATH=$(abs_top_builddir):$(srcdir):$(PATH) \
+@BUILD_TESTS_TRUE@ PERL5LIB=$(abs_top_builddir):$(PERL5LIB)
+
+EXTRA_DIST = gtkdoctest.sh tools.sh \
+ gobject.sh bugs.sh annotations.sh fail.sh empty.sh sanity.sh
+
+all: all-recursive
+
+.SUFFIXES:
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(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) --gnu tests/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --gnu tests/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
+tools.sh: $(top_builddir)/config.status $(srcdir)/tools.sh.in
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+
+# 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:
+
+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 clean-libtool 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 mostlyclean-libtool
+
+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 \
+ clean-libtool ctags ctags-recursive distclean \
+ distclean-generic distclean-libtool 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 mostlyclean-libtool pdf pdf-am ps ps-am \
+ tags tags-recursive uninstall uninstall-am
+
+
+# run any given test by running make <test>.check
+%.check: %
+ @$(TESTS_ENVIRONMENT) \
+ ./$*
+
+-include $(top_srcdir)/git.mk
+
+# 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:
--- /dev/null
+#!/bin/sh
+
+gtkdoctest.sh annotations
+
--- /dev/null
+## Process this file with automake to produce Makefile.in
+
+SUBDIRS = . src docs
+
+if BUILD_TESTS
+
+check-local: clean
+
+endif
+
+
+-include $(top_srcdir)/git.mk
--- /dev/null
+# 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@
+pkgdatadir = $(datadir)/@PACKAGE@
+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 = :
+build_triplet = @build@
+host_triplet = @host@
+subdir = tests/annotations
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/gnome-doc-utils.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
+ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/acinclude.m4 \
+ $(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 =
+AM_V_GEN = $(am__v_GEN_$(V))
+am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
+am__v_GEN_0 = @echo " GEN " $@;
+AM_V_at = $(am__v_at_$(V))
+am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
+am__v_at_0 = @
+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
+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"
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
+AR = @AR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DBLATEX = @DBLATEX@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DISTCHECK_CONFIGURE_FLAGS = @DISTCHECK_CONFIGURE_FLAGS@
+DOC_USER_FORMATS = @DOC_USER_FORMATS@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+FGREP = @FGREP@
+FOP = @FOP@
+GREP = @GREP@
+HELP_DIR = @HELP_DIR@
+HIGHLIGHT = @HIGHLIGHT@
+HIGHLIGHT_OPTIONS = @HIGHLIGHT_OPTIONS@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+JADE = @JADE@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+MKDIR_P = @MKDIR_P@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OMF_DIR = @OMF_DIR@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_DATA_DIR = @PACKAGE_DATA_DIR@
+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@
+PKG_CONFIG = @PKG_CONFIG@
+PYTHON = @PYTHON@
+PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
+PYTHON_PLATFORM = @PYTHON_PLATFORM@
+PYTHON_PREFIX = @PYTHON_PREFIX@
+PYTHON_VERSION = @PYTHON_VERSION@
+RANLIB = @RANLIB@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SGML_FORMAT_TYPE = @SGML_FORMAT_TYPE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+TEST_DEPS_CFLAGS = @TEST_DEPS_CFLAGS@
+TEST_DEPS_LIBS = @TEST_DEPS_LIBS@
+TRACE = @TRACE@
+VERSION = @VERSION@
+XMLCATALOG = @XMLCATALOG@
+XML_CATALOG_FILE = @XML_CATALOG_FILE@
+XSLTPROC = @XSLTPROC@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+glib_prefix = @glib_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+lt_ECHO = @lt_ECHO@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+pkgpyexecdir = @pkgpyexecdir@
+pkgpythondir = @pkgpythondir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+pyexecdir = @pyexecdir@
+pythondir = @pythondir@
+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 = . src docs
+all: all-recursive
+
+.SUFFIXES:
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(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) --gnu tests/annotations/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --gnu tests/annotations/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: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+
+# 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)
+ @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
+@BUILD_TESTS_FALSE@check-local:
+check-am: all-am
+ $(MAKE) $(AM_MAKEFLAGS) check-local
+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:
+
+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 clean-libtool 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 mostlyclean-libtool
+
+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-am check-local clean clean-generic \
+ clean-libtool ctags ctags-recursive distclean \
+ distclean-generic distclean-libtool 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 mostlyclean-libtool pdf pdf-am ps ps-am \
+ tags tags-recursive uninstall uninstall-am
+
+
+@BUILD_TESTS_TRUE@check-local: clean
+
+-include $(top_srcdir)/git.mk
+
+# 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:
--- /dev/null
+## Process this file with automake to produce Makefile.in
+
+# We require automake 1.6 at least.
+AUTOMAKE_OPTIONS = 1.6
+
+# The name of the module, e.g. 'glib'.
+DOC_MODULE=tester
+
+# The top-level SGML file. You can change this if you want to.
+DOC_MAIN_SGML_FILE=$(DOC_MODULE)-docs.xml
+
+# The directory containing the source code. Relative to $(srcdir).
+# gtk-doc will search all .c & .h files beneath here for inline comments
+# documenting the functions and macros.
+DOC_SOURCE_DIR=$(top_srcdir)/tests/annotations/src
+
+# Extra options to pass to gtkdoc-scangobj. Not normally needed.
+SCANGOBJ_OPTIONS=
+
+# Extra options to supply to gtkdoc-scan.
+SCAN_OPTIONS=--deprecated-guards="GTKDOC_TESTER_DISABLE_DEPRECATED" \
+ --ignore-decorators="GLIB_VAR"
+
+# Extra options to supply to gtkdoc-mkdb.
+MKDB_OPTIONS=--xml-mode
+
+# Extra options to supply to gtkdoc-mktmpl
+# e.g. MKTMPL_OPTIONS=--only-section-tmpl
+MKTMPL_OPTIONS=
+
+# Extra options to supply to gtkdoc-mkhtml
+MKHTML_OPTIONS=
+
+# Extra options to supply to gtkdoc-fixref. Not normally needed.
+# --html-dir=$(HTML_DIR)
+FIXXREF_OPTIONS=--extra-dir=$(glib_prefix)/share/gtk-doc/html
+
+# Used for dependencies. The docs will be rebuilt if any of these change.
+HFILE_GLOB=$(top_srcdir)/tests/annotations/src/*.h
+CFILE_GLOB=$(top_srcdir)/tests/annotations/src/*.c
+
+# Header files to ignore when scanning.
+IGNORE_HFILES=config.h
+
+# Images to copy into HTML directory.
+HTML_IMAGES =
+
+# Extra SGML files that are included by $(DOC_MAIN_SGML_FILE).
+# e.g. content_files=running.sgml building.sgml changes-2.0.sgml
+content_files =
+
+# SGML files where gtk-doc abbrevations (#GtkWidget) are expanded
+# These files must be listed here *and* in content_files
+# e.g. expand_content_files=running.sgml
+expand_content_files=
+
+# CFLAGS and LDFLAGS for compiling gtkdoc-scangobj with your library.
+# Only needed if you are using gtkdoc-scangobj to dynamically query widget
+# signals and properties.
+GTKDOC_CFLAGS = -I$(top_srcdir)/tests/annotations/src $(TEST_DEPS_CFLAGS)
+GTKDOC_LIBS = $(TEST_DEPS_LIBS) $(top_builddir)/tests/annotations/src/libtester.la
+
+# include generic part
+include $(top_srcdir)/tests/gtk-doc.notmpl.make
+
+# Other files to distribute
+# e.g. EXTRA_DIST += version.xml.in
+EXTRA_DIST +=
+
+DISTCLEANFILES = \
+ gtkdoc-scan.log \
+ gtkdoc-scangobj.log \
+ gtkdoc-mktmpl.log \
+ gtkdoc-mkdb.log \
+ gtkdoc-mkhtml.log \
+ gtkdoc-fixxref.log
+
+if BUILD_TESTS
+TESTS_ENVIRONMENT = \
+ DOC_MODULE=$(DOC_MODULE) DOC_MAIN_SGML_FILE=$(DOC_MAIN_SGML_FILE) \
+ PATH=$(abs_top_builddir):$(srcdir):$(PATH) \
+ PERL5LIB=$(abs_top_builddir):$(PERL5LIB)
+endif
+
+-include $(top_srcdir)/git.mk
--- /dev/null
+# 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@
+
+# -*- mode: makefile -*-
+
+####################################
+# Everything below here is generic #
+####################################
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+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 = :
+build_triplet = @build@
+host_triplet = @host@
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
+ $(top_srcdir)/tests/gtk-doc.notmpl.make
+subdir = tests/annotations/docs
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/gnome-doc-utils.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
+ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/acinclude.m4 \
+ $(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 =
+AM_V_GEN = $(am__v_GEN_$(V))
+am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
+am__v_GEN_0 = @echo " GEN " $@;
+AM_V_at = $(am__v_at_$(V))
+am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
+am__v_at_0 = @
+SOURCES =
+DIST_SOURCES =
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
+AR = @AR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DBLATEX = @DBLATEX@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DISTCHECK_CONFIGURE_FLAGS = @DISTCHECK_CONFIGURE_FLAGS@
+DOC_USER_FORMATS = @DOC_USER_FORMATS@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+FGREP = @FGREP@
+FOP = @FOP@
+GREP = @GREP@
+HELP_DIR = @HELP_DIR@
+HIGHLIGHT = @HIGHLIGHT@
+HIGHLIGHT_OPTIONS = @HIGHLIGHT_OPTIONS@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+JADE = @JADE@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+MKDIR_P = @MKDIR_P@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OMF_DIR = @OMF_DIR@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_DATA_DIR = @PACKAGE_DATA_DIR@
+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@
+PKG_CONFIG = @PKG_CONFIG@
+PYTHON = @PYTHON@
+PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
+PYTHON_PLATFORM = @PYTHON_PLATFORM@
+PYTHON_PREFIX = @PYTHON_PREFIX@
+PYTHON_VERSION = @PYTHON_VERSION@
+RANLIB = @RANLIB@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SGML_FORMAT_TYPE = @SGML_FORMAT_TYPE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+TEST_DEPS_CFLAGS = @TEST_DEPS_CFLAGS@
+TEST_DEPS_LIBS = @TEST_DEPS_LIBS@
+TRACE = @TRACE@
+VERSION = @VERSION@
+XMLCATALOG = @XMLCATALOG@
+XML_CATALOG_FILE = @XML_CATALOG_FILE@
+XSLTPROC = @XSLTPROC@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+glib_prefix = @glib_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+lt_ECHO = @lt_ECHO@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+pkgpyexecdir = @pkgpyexecdir@
+pkgpythondir = @pkgpythondir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+pyexecdir = @pyexecdir@
+pythondir = @pythondir@
+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@
+
+# We require automake 1.6 at least.
+AUTOMAKE_OPTIONS = 1.6
+
+# The name of the module, e.g. 'glib'.
+DOC_MODULE = tester
+
+# The top-level SGML file. You can change this if you want to.
+DOC_MAIN_SGML_FILE = $(DOC_MODULE)-docs.xml
+
+# The directory containing the source code. Relative to $(srcdir).
+# gtk-doc will search all .c & .h files beneath here for inline comments
+# documenting the functions and macros.
+DOC_SOURCE_DIR = $(top_srcdir)/tests/annotations/src
+
+# Extra options to pass to gtkdoc-scangobj. Not normally needed.
+SCANGOBJ_OPTIONS =
+
+# Extra options to supply to gtkdoc-scan.
+SCAN_OPTIONS = --deprecated-guards="GTKDOC_TESTER_DISABLE_DEPRECATED" \
+ --ignore-decorators="GLIB_VAR"
+
+
+# Extra options to supply to gtkdoc-mkdb.
+MKDB_OPTIONS = --xml-mode
+
+# Extra options to supply to gtkdoc-mktmpl
+# e.g. MKTMPL_OPTIONS=--only-section-tmpl
+MKTMPL_OPTIONS =
+
+# Extra options to supply to gtkdoc-mkhtml
+MKHTML_OPTIONS =
+
+# Extra options to supply to gtkdoc-fixref. Not normally needed.
+# --html-dir=$(HTML_DIR)
+FIXXREF_OPTIONS = --extra-dir=$(glib_prefix)/share/gtk-doc/html
+
+# Used for dependencies. The docs will be rebuilt if any of these change.
+HFILE_GLOB = $(top_srcdir)/tests/annotations/src/*.h
+CFILE_GLOB = $(top_srcdir)/tests/annotations/src/*.c
+
+# Header files to ignore when scanning.
+IGNORE_HFILES = config.h
+
+# Images to copy into HTML directory.
+HTML_IMAGES =
+
+# Extra SGML files that are included by $(DOC_MAIN_SGML_FILE).
+# e.g. content_files=running.sgml building.sgml changes-2.0.sgml
+content_files =
+
+# SGML files where gtk-doc abbrevations (#GtkWidget) are expanded
+# These files must be listed here *and* in content_files
+# e.g. expand_content_files=running.sgml
+expand_content_files =
+
+# CFLAGS and LDFLAGS for compiling gtkdoc-scangobj with your library.
+# Only needed if you are using gtkdoc-scangobj to dynamically query widget
+# signals and properties.
+GTKDOC_CFLAGS = -I$(top_srcdir)/tests/annotations/src $(TEST_DEPS_CFLAGS)
+GTKDOC_LIBS = $(TEST_DEPS_LIBS) $(top_builddir)/tests/annotations/src/libtester.la
+@GTK_DOC_USE_LIBTOOL_FALSE@GTKDOC_CC = $(CC) $(INCLUDES) $(GTKDOC_DEPS_CFLAGS) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+@GTK_DOC_USE_LIBTOOL_TRUE@GTKDOC_CC = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(INCLUDES) $(GTKDOC_DEPS_CFLAGS) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+@GTK_DOC_USE_LIBTOOL_FALSE@GTKDOC_LD = $(CC) $(GTKDOC_DEPS_LIBS) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS)
+@GTK_DOC_USE_LIBTOOL_TRUE@GTKDOC_LD = $(LIBTOOL) --tag=CC --mode=link $(CC) $(GTKDOC_DEPS_LIBS) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS)
+@GTK_DOC_USE_LIBTOOL_FALSE@GTKDOC_RUN =
+@GTK_DOC_USE_LIBTOOL_TRUE@GTKDOC_RUN = $(LIBTOOL) --mode=execute
+
+# We set GPATH here; this gives us semantics for GNU make
+# which are more like other make's VPATH, when it comes to
+# whether a source that is a target of one rule is then
+# searched for in VPATH/GPATH.
+#
+GPATH = $(srcdir)
+
+# we don't install anything in tests
+#TARGET_DIR=$(HTML_DIR)/$(DOC_MODULE)
+SETUP_FILES = \
+ $(content_files) \
+ $(DOC_MAIN_SGML_FILE) \
+ $(DOC_MODULE)-sections.txt \
+ $(DOC_MODULE)-overrides.txt
+
+
+# include generic part
+
+# Other files to distribute
+# e.g. EXTRA_DIST += version.xml.in
+EXTRA_DIST = $(HTML_IMAGES) $(SETUP_FILES)
+DOC_STAMPS = setup-build.stamp scan-build.stamp sgml-build.stamp \
+ html-build.stamp pdf-build.stamp \
+ sgml.stamp html.stamp pdf.stamp
+
+SCANOBJ_FILES = \
+ $(DOC_MODULE).args \
+ $(DOC_MODULE).hierarchy \
+ $(DOC_MODULE).interfaces \
+ $(DOC_MODULE).prerequisites \
+ $(DOC_MODULE).signals
+
+REPORT_FILES = \
+ $(DOC_MODULE)-undocumented.txt \
+ $(DOC_MODULE)-undeclared.txt \
+ $(DOC_MODULE)-unused.txt
+
+CLEANFILES = $(SCANOBJ_FILES) $(REPORT_FILES) $(DOC_STAMPS)
+DISTCLEANFILES = \
+ gtkdoc-scan.log \
+ gtkdoc-scangobj.log \
+ gtkdoc-mktmpl.log \
+ gtkdoc-mkdb.log \
+ gtkdoc-mkhtml.log \
+ gtkdoc-fixxref.log
+
+@BUILD_TESTS_TRUE@TESTS_ENVIRONMENT = \
+@BUILD_TESTS_TRUE@ DOC_MODULE=$(DOC_MODULE) DOC_MAIN_SGML_FILE=$(DOC_MAIN_SGML_FILE) \
+@BUILD_TESTS_TRUE@ PATH=$(abs_top_builddir):$(srcdir):$(PATH) \
+@BUILD_TESTS_TRUE@ PERL5LIB=$(abs_top_builddir):$(PERL5LIB)
+
+all: all-am
+
+.SUFFIXES:
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/tests/gtk-doc.notmpl.make $(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) --gnu tests/annotations/docs/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --gnu tests/annotations/docs/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: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+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
+ $(MAKE) $(AM_MAKEFLAGS) check-local
+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)
+ -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES)
+
+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 clean-libtool clean-local mostlyclean-am
+
+distclean: distclean-am
+ -rm -f Makefile
+distclean-am: clean-am distclean-generic distclean-local
+
+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 \
+ maintainer-clean-local
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-generic mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am:
+
+.MAKE: check-am install-am install-strip
+
+.PHONY: all all-am check check-am check-local clean clean-generic \
+ clean-libtool clean-local distclean distclean-generic \
+ distclean-libtool distclean-local 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 maintainer-clean-local mostlyclean \
+ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+ uninstall uninstall-am
+
+
+check-local: html-build.stamp pdf-build.stamp
+ @ts1=`cat ts`;ts2=`date +%s.%N`;tsd=`echo $$ts2-$$ts1 | bc`; \
+ echo " DOC `date --utc --date @0$$tsd +%H:%M:%S.%N`: All done"
+
+docs: html-build.stamp pdf-build.stamp
+ @ts1=`cat ts`;ts2=`date +%s.%N`;tsd=`echo $$ts2-$$ts1 | bc`; \
+ echo " DOC `date --utc --date @0$$tsd +%H:%M:%S.%N`: All done"
+
+$(REPORT_FILES): sgml-build.stamp
+
+ts:
+ @echo >ts `date +%s.%N`;
+
+#### setup ####
+
+setup-build.stamp: ts
+ -@if test "$(abs_srcdir)" != "$(abs_builddir)" ; then \
+ echo ' DOC Preparing build'; \
+ files=`echo $(SETUP_FILES) $(expand_content_files) $(DOC_MODULE).types`; \
+ if test "x$$files" != "x" ; then \
+ for file in $$files ; do \
+ test -f $(abs_srcdir)/$$file && \
+ cp -pu $(abs_srcdir)/$$file $(abs_builddir)/ || true; \
+ done; \
+ fi; \
+ fi
+ @touch setup-build.stamp
+
+#### scan ####
+
+scan-build.stamp: ts $(HFILE_GLOB) $(CFILE_GLOB)
+ @ts1=`cat ts`;ts2=`date +%s.%N`;tsd=`echo $$ts2-$$ts1 | bc`; \
+ echo " DOC `date --utc --date @0$$tsd +%H:%M:%S.%N`: Scanning header files"
+ @_source_dir='' ; \
+ for i in $(DOC_SOURCE_DIR) ; do \
+ _source_dir="$${_source_dir} --source-dir=$$i" ; \
+ done ; \
+ echo "gtkdoc-scan --module=$(DOC_MODULE) --ignore-headers="$(IGNORE_HFILES)" $${_source_dir} $(SCAN_OPTIONS) $(EXTRA_HFILES)" >gtkdoc-scan.log; \
+ PATH=$(abs_top_builddir):$(PATH) PERL5LIB=$(abs_top_builddir):$(PERL5LIB) \
+ gtkdoc-scan --module=$(DOC_MODULE) --ignore-headers="$(IGNORE_HFILES)" $${_source_dir} $(SCAN_OPTIONS) $(EXTRA_HFILES) 2>&1 | tee -a gtkdoc-scan.log
+ @if grep -l '^..*$$' $(DOC_MODULE).types > /dev/null 2>&1 ; then \
+ ts1=`cat ts`;ts2=`date +%s.%N`;tsd=`echo $$ts2-$$ts1 | bc`; \
+ echo " DOC `date --utc --date @0$$tsd +%H:%M:%S.%N`: Introspecting gobjects"; \
+ scanobj_options=""; \
+ if test "x$(V)" = "x1"; then \
+ scanobj_options="--verbose"; \
+ fi; \
+ echo "gtkdoc-scangobj $(SCANGOBJ_OPTIONS) --module=$(DOC_MODULE) $$scanobj_options" >gtkdoc-scangobj.log; \
+ PATH=$(abs_top_builddir):$(PATH) PERL5LIB=$(abs_top_builddir):$(PERL5LIB) \
+ CC="$(GTKDOC_CC)" LD="$(GTKDOC_LD)" RUN="$(GTKDOC_RUN)" CFLAGS="$(GTKDOC_CFLAGS) $(CFLAGS)" LDFLAGS="$(GTKDOC_LIBS) $(LDFLAGS)" \
+ gtkdoc-scangobj $(SCANGOBJ_OPTIONS) --module=$(DOC_MODULE) $$scanobj_options 2>&1 | tee -a gtkdoc-scangobj.log; \
+ else \
+ for i in $(SCANOBJ_FILES) ; do \
+ test -f $$i || touch $$i ; \
+ done \
+ fi
+ @touch scan-build.stamp
+
+$(DOC_MODULE)-decl.txt $(SCANOBJ_FILES) $(DOC_MODULE)-sections.txt $(DOC_MODULE)-overrides.txt: scan-build.stamp
+ @true
+
+#### xml ####
+
+sgml-build.stamp: setup-build.stamp $(DOC_MODULE)-decl.txt $(SCANOBJ_FILES) $(DOC_MODULE)-sections.txt $(DOC_MODULE)-overrides.txt $(expand_content_files)
+ @ts1=`cat ts`;ts2=`date +%s.%N`;tsd=`echo $$ts2-$$ts1 | bc`; \
+ echo " DOC `date --utc --date @0$$tsd +%H:%M:%S.%N`: Building XML"
+ @_source_dir='' ; \
+ for i in $(DOC_SOURCE_DIR) ; do \
+ _source_dir="$${_source_dir} --source-dir=$$i" ; \
+ done ; \
+ echo "gtkdoc-mkdb --module=$(DOC_MODULE) --output-format=xml --expand-content-files="$(expand_content_files)" --main-sgml-file=$(DOC_MAIN_SGML_FILE) $${_source_dir} $(MKDB_OPTIONS)" >gtkdoc-mkdb.log; \
+ PATH=$(abs_top_builddir):$(PATH) PERL5LIB=$(abs_top_builddir):$(PERL5LIB) \
+ gtkdoc-mkdb --module=$(DOC_MODULE) --output-format=xml --expand-content-files="$(expand_content_files)" --main-sgml-file=$(DOC_MAIN_SGML_FILE) $${_source_dir} $(MKDB_OPTIONS) 2>&1 | tee -a gtkdoc-mkdb.log
+ @touch sgml-build.stamp
+
+sgml.stamp: sgml-build.stamp
+ @true
+
+#### html ####
+
+html-build.stamp: sgml.stamp $(DOC_MAIN_SGML_FILE) $(content_files)
+ @ts1=`cat ts`;ts2=`date +%s.%N`;tsd=`echo $$ts2-$$ts1 | bc`; \
+ echo " DOC `date --utc --date @00$$tsd +%H:%M:%S.%N`: Building HTML"
+ @rm -rf html
+ @mkdir html
+ @mkhtml_options=""; \
+ if test "x$(V)" = "x1"; then \
+ mkhtml_options="$$mkhtml_options --verbose"; \
+ fi; \
+ echo "gtkdoc-mkhtml --uninstalled --path="$(abs_srcdir)" $$mkhtml_options $(MKHTML_OPTIONS) $(DOC_MODULE) ../$(DOC_MAIN_SGML_FILE)" >gtkdoc-mkhtml.log; \
+ cd html && PATH=$(abs_top_builddir):$(PATH) PERL5LIB=$(abs_top_builddir):$(PERL5LIB) ABS_TOP_SRCDIR=$(abs_top_srcdir) \
+ gtkdoc-mkhtml --uninstalled --path="$(abs_srcdir)" $$mkhtml_options $(MKHTML_OPTIONS) $(DOC_MODULE) ../$(DOC_MAIN_SGML_FILE) 2>&1 | tee -a ../gtkdoc-mkhtml.log
+ -@test "x$(HTML_IMAGES)" = "x" || \
+ for file in $(HTML_IMAGES) ; do \
+ if test -f $(abs_srcdir)/$$file ; then \
+ cp $(abs_srcdir)/$$file $(abs_builddir)/html; \
+ fi; \
+ if test -f $(abs_builddir)/$$file ; then \
+ cp $(abs_builddir)/$$file $(abs_builddir)/html; \
+ fi; \
+ done;
+ @ts1=`cat ts`;ts2=`date +%s.%N`;tsd=`echo $$ts2-$$ts1 | bc`; \
+ echo " DOC `date --utc --date @0$$tsd +%H:%M:%S.%N`: Fixing cross-references"
+ @echo "gtkdoc-fixxref --module=$(DOC_MODULE) --module-dir=html --html-dir=$(HTML_DIR) $(FIXXREF_OPTIONS)" >gtkdoc-fixxref.log; \
+ PATH=$(abs_top_builddir):$(PATH) PERL5LIB=$(abs_top_builddir):$(PERL5LIB) \
+ gtkdoc-fixxref --module=$(DOC_MODULE) --module-dir=html --html-dir=$(HTML_DIR) $(FIXXREF_OPTIONS) 2>&1 | tee -a gtkdoc-fixxref.log
+ @touch html-build.stamp
+
+#### pdf ####
+
+pdf-build.stamp: sgml.stamp $(DOC_MAIN_SGML_FILE) $(content_files)
+ @ts1=`cat ts`;ts2=`date +%s.%N`;tsd=`echo $$ts2-$$ts1 | bc`; \
+ echo " DOC `date --utc --date @0$$tsd +%H:%M:%S.%N`: Building PDF"
+ @rm -f $(DOC_MODULE).pdf
+ @mkpdf_options=""; \
+ if test "x$(V)" = "x1"; then \
+ mkpdf_options="$$mkpdf_options --verbose"; \
+ fi; \
+ if test "x$(HTML_IMAGES)" != "x"; then \
+ for img in $(HTML_IMAGES); do \
+ part=`dirname $$img`; \
+ echo $$mkpdf_options | grep >/dev/null "\-\-imgdir=$$part "; \
+ if test $$? != 0; then \
+ mkpdf_options="$$mkpdf_options --imgdir=$$part"; \
+ fi; \
+ done; \
+ fi; \
+ echo "gtkdoc-mkpdf --uninstalled --path="$(abs_srcdir)" $$mkpdf_options $(DOC_MODULE) $(DOC_MAIN_SGML_FILE) $(MKPDF_OPTIONS)" >gtkdoc-mkpdf.log; \
+ PATH=$(abs_top_builddir):$(PATH) PERL5LIB=$(abs_top_builddir):$(PERL5LIB) ABS_TOP_SRCDIR=$(abs_top_srcdir) \
+ gtkdoc-mkpdf --uninstalled --path="$(abs_srcdir)" $$mkpdf_options $(DOC_MODULE) $(DOC_MAIN_SGML_FILE) $(MKPDF_OPTIONS) 2>&1 | tee -a gtkdoc-mkpdf.log
+ @touch pdf-build.stamp
+
+##############
+
+# we need to enforce a rebuild for the tests
+clean-local:
+ @rm -f *~ *.bak ts
+ @rm -rf .libs
+ $(MAKE) distclean-local
+
+distclean-local:
+ @rm -rf xml html $(REPORT_FILES) $(DOC_MODULE).pdf \
+ $(DOC_MODULE)-decl-list.txt $(DOC_MODULE)-decl.txt
+ @if test "$(abs_srcdir)" != "$(abs_builddir)" ; then \
+ rm -f $(SETUP_FILES) $(expand_content_files) $(DOC_MODULE).types; \
+ fi
+
+maintainer-clean-local: clean
+ @rm -rf xml html
+
+.PHONY : dist-hook-local docs
+
+-include $(top_srcdir)/git.mk
+
+# 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:
--- /dev/null
+<?xml version="1.0"?>
+<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
+ "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd"
+[
+ <!ENTITY % local.common.attrib "xmlns:xi CDATA #FIXED 'http://www.w3.org/2003/XInclude'">
+]>
+<book id="index" xmlns:xi="http://www.w3.org/2003/XInclude">
+ <bookinfo>
+ <title>tester Reference Manual</title>
+ <releaseinfo>
+ for tester [VERSION].
+ The latest version of this documentation can be found on-line at
+ <ulink role="online-location" url="http://[SERVER]/tester/index.html">http://[SERVER]/tester/</ulink>.
+ </releaseinfo>
+ </bookinfo>
+
+ <reference label="II">
+ <title>API Reference</title>
+ <chapter id="main-api">
+ <title>Tests</title>
+ <xi:include href="xml/tester.xml"/>
+ </chapter>
+ </reference>
+
+ <part label="III">
+ <title>Appendix</title>
+
+ <index id="api-index">
+ <title>API Index</title>
+ <xi:include href="xml/api-index-full.xml"><xi:fallback /></xi:include>
+ </index>
+ <index id="deprecated-api-index" role="deprecated">
+ <title>Index of deprecated API</title>
+ <xi:include href="xml/api-index-deprecated.xml"><xi:fallback /></xi:include>
+ </index>
+ <index id="api-index-0-1" role="0.1">
+ <title>Index of new API in 0.1</title>
+ <xi:include href="xml/api-index-0.1.xml"><xi:fallback /></xi:include>
+ </index>
+
+ <glossary>
+ <title>Glossary</title>
+ <glossdiv><title>X</title>
+ <glossentry>
+ <glossterm><anchor id="glossterm-XML"/>XML</glossterm>
+ <glossdef>
+ <para>Extensible Markup Language</para>
+ </glossdef>
+ </glossentry>
+ <glossentry>
+ <glossterm><anchor id="glossterm-XSL"/>XSL</glossterm>
+ <glossdef>
+ <para>XML Stylesheet Language</para>
+ </glossdef>
+ </glossentry>
+ </glossdiv>
+ </glossary>
+
+ <xi:include href="xml/annotation-glossary.xml"><xi:fallback /></xi:include>
+ </part>
+</book>
--- /dev/null
+<SECTION>
+<FILE>tester</FILE>
+<TITLE>GtkdocTester</TITLE>
+GtkdocAnnotation
+annotation_array_length
+annotation_nullable
+annotation_elementtype
+annotation_elementtype_transfer
+annotation_elementtype_returns
+annotation_outparams
+annotation_skip
+annotation_scope
+<SUBSECTION Standard>
+<SUBSECTION Private>
+</SECTION>
+
--- /dev/null
+## Process this file with automake to produce Makefile.in
+
+if BUILD_TESTS
+
+noinst_LTLIBRARIES = libtester.la
+
+libtester_la_SOURCES = tester.c tester.h
+#libtester_la_LIBADD = $(TEST_DEPS_LIBS)
+
+AM_CPPFLAGS = $(TEST_DEPS_CFLAGS)
+
+endif
+
+
+-include $(top_srcdir)/git.mk
--- /dev/null
+# 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@
+pkgdatadir = $(datadir)/@PACKAGE@
+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 = :
+build_triplet = @build@
+host_triplet = @host@
+subdir = tests/annotations/src
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/gnome-doc-utils.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
+ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/acinclude.m4 \
+ $(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 =
+LTLIBRARIES = $(noinst_LTLIBRARIES)
+libtester_la_LIBADD =
+am__libtester_la_SOURCES_DIST = tester.c tester.h
+@BUILD_TESTS_TRUE@am_libtester_la_OBJECTS = tester.lo
+libtester_la_OBJECTS = $(am_libtester_la_OBJECTS)
+AM_V_lt = $(am__v_lt_$(V))
+am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY))
+am__v_lt_0 = --silent
+@BUILD_TESTS_TRUE@am_libtester_la_rpath =
+DEFAULT_INCLUDES = -I.@am__isrc@
+depcomp = $(SHELL) $(top_srcdir)/build-aux/depcomp
+am__depfiles_maybe = depfiles
+am__mv = mv -f
+COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
+ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
+ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+ $(AM_CFLAGS) $(CFLAGS)
+AM_V_CC = $(am__v_CC_$(V))
+am__v_CC_ = $(am__v_CC_$(AM_DEFAULT_VERBOSITY))
+am__v_CC_0 = @echo " CC " $@;
+AM_V_at = $(am__v_at_$(V))
+am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
+am__v_at_0 = @
+CCLD = $(CC)
+LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+ $(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CCLD = $(am__v_CCLD_$(V))
+am__v_CCLD_ = $(am__v_CCLD_$(AM_DEFAULT_VERBOSITY))
+am__v_CCLD_0 = @echo " CCLD " $@;
+AM_V_GEN = $(am__v_GEN_$(V))
+am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
+am__v_GEN_0 = @echo " GEN " $@;
+SOURCES = $(libtester_la_SOURCES)
+DIST_SOURCES = $(am__libtester_la_SOURCES_DIST)
+ETAGS = etags
+CTAGS = ctags
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
+AR = @AR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DBLATEX = @DBLATEX@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DISTCHECK_CONFIGURE_FLAGS = @DISTCHECK_CONFIGURE_FLAGS@
+DOC_USER_FORMATS = @DOC_USER_FORMATS@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+FGREP = @FGREP@
+FOP = @FOP@
+GREP = @GREP@
+HELP_DIR = @HELP_DIR@
+HIGHLIGHT = @HIGHLIGHT@
+HIGHLIGHT_OPTIONS = @HIGHLIGHT_OPTIONS@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+JADE = @JADE@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+MKDIR_P = @MKDIR_P@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OMF_DIR = @OMF_DIR@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_DATA_DIR = @PACKAGE_DATA_DIR@
+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@
+PKG_CONFIG = @PKG_CONFIG@
+PYTHON = @PYTHON@
+PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
+PYTHON_PLATFORM = @PYTHON_PLATFORM@
+PYTHON_PREFIX = @PYTHON_PREFIX@
+PYTHON_VERSION = @PYTHON_VERSION@
+RANLIB = @RANLIB@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SGML_FORMAT_TYPE = @SGML_FORMAT_TYPE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+TEST_DEPS_CFLAGS = @TEST_DEPS_CFLAGS@
+TEST_DEPS_LIBS = @TEST_DEPS_LIBS@
+TRACE = @TRACE@
+VERSION = @VERSION@
+XMLCATALOG = @XMLCATALOG@
+XML_CATALOG_FILE = @XML_CATALOG_FILE@
+XSLTPROC = @XSLTPROC@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+glib_prefix = @glib_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+lt_ECHO = @lt_ECHO@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+pkgpyexecdir = @pkgpyexecdir@
+pkgpythondir = @pkgpythondir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+pyexecdir = @pyexecdir@
+pythondir = @pythondir@
+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@
+@BUILD_TESTS_TRUE@noinst_LTLIBRARIES = libtester.la
+@BUILD_TESTS_TRUE@libtester_la_SOURCES = tester.c tester.h
+#libtester_la_LIBADD = $(TEST_DEPS_LIBS)
+@BUILD_TESTS_TRUE@AM_CPPFLAGS = $(TEST_DEPS_CFLAGS)
+all: all-am
+
+.SUFFIXES:
+.SUFFIXES: .c .lo .o .obj
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(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) --gnu tests/annotations/src/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --gnu tests/annotations/src/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: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
+
+clean-noinstLTLIBRARIES:
+ -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES)
+ @list='$(noinst_LTLIBRARIES)'; for p in $$list; do \
+ dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
+ test "$$dir" != "$$p" || dir=.; \
+ echo "rm -f \"$${dir}/so_locations\""; \
+ rm -f "$${dir}/so_locations"; \
+ done
+libtester.la: $(libtester_la_OBJECTS) $(libtester_la_DEPENDENCIES)
+ $(AM_V_CCLD)$(LINK) $(am_libtester_la_rpath) $(libtester_la_OBJECTS) $(libtester_la_LIBADD) $(LIBS)
+
+mostlyclean-compile:
+ -rm -f *.$(OBJEXT)
+
+distclean-compile:
+ -rm -f *.tab.c
+
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tester.Plo@am__quote@
+
+.c.o:
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(COMPILE) -c $<
+
+.c.obj:
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
+
+.c.lo:
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+
+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: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ set x; \
+ here=`pwd`; \
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; 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: $(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)
+ @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 $(LTLIBRARIES)
+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 clean-libtool clean-noinstLTLIBRARIES \
+ mostlyclean-am
+
+distclean: distclean-am
+ -rm -rf ./$(DEPDIR)
+ -rm -f Makefile
+distclean-am: clean-am distclean-compile distclean-generic \
+ distclean-tags
+
+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 -rf ./$(DEPDIR)
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-compile mostlyclean-generic \
+ mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am:
+
+.MAKE: install-am install-strip
+
+.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
+ clean-libtool clean-noinstLTLIBRARIES ctags distclean \
+ distclean-compile distclean-generic distclean-libtool \
+ 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 \
+ maintainer-clean maintainer-clean-generic mostlyclean \
+ mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
+ pdf pdf-am ps ps-am tags uninstall uninstall-am
+
+
+-include $(top_srcdir)/git.mk
+
+# 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:
--- /dev/null
+/**
+ * SECTION:tester
+ * @short_description: module for gtk-doc unit test
+ *
+ * This file contains non-sense code for the sole purpose of testing the docs.
+ */
+
+#include <glib.h>
+#include <glib-object.h>
+
+#include "tester.h"
+
+/**
+ * annotation_array_length:
+ * @list: a #GtkListStore
+ * @n_columns: number of columns
+ * @types: (array length=n_columns): list of types
+ *
+ * Document parameter relation for array length.
+ */
+void
+annotation_array_length (GObject *list,
+ gint n_columns,
+ GType *types)
+{
+}
+
+
+/**
+ * annotation_nullable:
+ * @uri: a uri
+ * @label: (allow-none): an optional string, which is used in ways too
+ * complicated to describe in a single line, making it necessary to wrap it
+ *
+ * Document optional parameters.
+ *
+ * Returns: (transfer full) (allow-none): Returns stuff which you have to
+ * free after use, whose description is also rather long
+ */
+gchar *
+annotation_nullable (const gchar *uri,
+ const gchar *label)
+{
+ return NULL;
+}
+
+/**
+ * annotation_elementtype:
+ * @list: (element-type GObject): list of #GObject instances to search
+ *
+ * Document optional parameters.
+ *
+ * Returns: %TRUE for success
+ */
+gboolean
+annotation_elementtype (const GList *list)
+{
+ return TRUE;
+}
+
+/**
+ * annotation_elementtype_transfer:
+ * @list: (element-type utf8) (transfer full): list of #GObject instances to search
+ *
+ * Document optional parameters.
+ *
+ * Returns: %TRUE for success
+ */
+gboolean
+annotation_elementtype_transfer (const GList *list)
+{
+ return TRUE;
+}
+
+/**
+ * annotation_elementtype_returns:
+ *
+ * Document optional parameters.
+ *
+ * Returns: (element-type GObject): A list of #GObject instances.
+ */
+GList *
+annotation_elementtype_returns (void)
+{
+ return NULL;
+}
+
+/**
+ * annotation_outparams:
+ * @list: (out) (transfer none): a pointer to take a list
+ *
+ * Document optional parameters.
+ *
+ * Returns: %TRUE for success
+ */
+gboolean
+annotation_outparams (GList **list)
+{
+ return TRUE;
+}
+
+/**
+ * annotation_skip: (skip)
+ * @list: a pointer to take a list
+ *
+ * Documentation for this function.
+ */
+void
+annotation_skip (GList *list)
+{
+}
+
+/**
+ * annotation_scope:
+ * @callback: (scope async): a callback
+ * @user_data: data to pass to callback
+ *
+ * Documentation for this function.
+ */
+void
+annotation_scope (GCallback *callback, gpointer user_data)
+{
+}
--- /dev/null
+#ifndef GTKDOC_TESTER_H
+#define GTKDOC_TESTER_H
+
+#include <glib.h>
+#include <glib-object.h>
+
+/**
+ * GtkdocAnnotation:
+ * @that: (allow-none): eventualy points to something
+ *
+ * small struct
+ */
+struct _GtkdocAnnotation {
+ gpointer that;
+};
+
+extern void annotation_array_length (GObject *list, gint n_columns, GType *types);
+
+extern gchar * annotation_nullable (const gchar *uri, const gchar *label);
+
+extern gboolean annotation_elementtype (const GList *list);
+extern gboolean annotation_elementtype_transfer (const GList *list);
+extern GList *annotation_elementtype_returns (void);
+
+extern gboolean annotation_outparams (GList **list);
+
+extern void annotation_skip (GList *list);
+
+extern void annotation_scope (GCallback *callback, gpointer user_data);
+
+#endif // GTKDOC_TESTER_H
+
--- /dev/null
+#!/bin/sh
+
+gtkdoctest.sh bugs
+
--- /dev/null
+## Process this file with automake to produce Makefile.in
+
+SUBDIRS = . src docs
+
+if BUILD_TESTS
+
+check-local: clean
+
+endif
+
+
+-include $(top_srcdir)/git.mk
--- /dev/null
+# 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@
+pkgdatadir = $(datadir)/@PACKAGE@
+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 = :
+build_triplet = @build@
+host_triplet = @host@
+subdir = tests/bugs
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/gnome-doc-utils.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
+ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/acinclude.m4 \
+ $(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 =
+AM_V_GEN = $(am__v_GEN_$(V))
+am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
+am__v_GEN_0 = @echo " GEN " $@;
+AM_V_at = $(am__v_at_$(V))
+am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
+am__v_at_0 = @
+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
+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"
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
+AR = @AR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DBLATEX = @DBLATEX@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DISTCHECK_CONFIGURE_FLAGS = @DISTCHECK_CONFIGURE_FLAGS@
+DOC_USER_FORMATS = @DOC_USER_FORMATS@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+FGREP = @FGREP@
+FOP = @FOP@
+GREP = @GREP@
+HELP_DIR = @HELP_DIR@
+HIGHLIGHT = @HIGHLIGHT@
+HIGHLIGHT_OPTIONS = @HIGHLIGHT_OPTIONS@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+JADE = @JADE@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+MKDIR_P = @MKDIR_P@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OMF_DIR = @OMF_DIR@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_DATA_DIR = @PACKAGE_DATA_DIR@
+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@
+PKG_CONFIG = @PKG_CONFIG@
+PYTHON = @PYTHON@
+PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
+PYTHON_PLATFORM = @PYTHON_PLATFORM@
+PYTHON_PREFIX = @PYTHON_PREFIX@
+PYTHON_VERSION = @PYTHON_VERSION@
+RANLIB = @RANLIB@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SGML_FORMAT_TYPE = @SGML_FORMAT_TYPE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+TEST_DEPS_CFLAGS = @TEST_DEPS_CFLAGS@
+TEST_DEPS_LIBS = @TEST_DEPS_LIBS@
+TRACE = @TRACE@
+VERSION = @VERSION@
+XMLCATALOG = @XMLCATALOG@
+XML_CATALOG_FILE = @XML_CATALOG_FILE@
+XSLTPROC = @XSLTPROC@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+glib_prefix = @glib_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+lt_ECHO = @lt_ECHO@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+pkgpyexecdir = @pkgpyexecdir@
+pkgpythondir = @pkgpythondir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+pyexecdir = @pyexecdir@
+pythondir = @pythondir@
+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 = . src docs
+all: all-recursive
+
+.SUFFIXES:
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(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) --gnu tests/bugs/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --gnu tests/bugs/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: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+
+# 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)
+ @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
+@BUILD_TESTS_FALSE@check-local:
+check-am: all-am
+ $(MAKE) $(AM_MAKEFLAGS) check-local
+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:
+
+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 clean-libtool 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 mostlyclean-libtool
+
+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-am check-local clean clean-generic \
+ clean-libtool ctags ctags-recursive distclean \
+ distclean-generic distclean-libtool 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 mostlyclean-libtool pdf pdf-am ps ps-am \
+ tags tags-recursive uninstall uninstall-am
+
+
+@BUILD_TESTS_TRUE@check-local: clean
+
+-include $(top_srcdir)/git.mk
+
+# 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:
--- /dev/null
+## Process this file with automake to produce Makefile.in
+
+# We require automake 1.6 at least.
+AUTOMAKE_OPTIONS = 1.6
+
+# The name of the module, e.g. 'glib'.
+DOC_MODULE=tester
+
+# The top-level SGML file. You can change this if you want to.
+DOC_MAIN_SGML_FILE=$(DOC_MODULE)-docs.xml
+
+# The directory containing the source code. Relative to $(srcdir).
+# gtk-doc will search all .c & .h files beneath here for inline comments
+# documenting the functions and macros.
+DOC_SOURCE_DIR=$(top_srcdir)/tests/bugs/src
+
+# Extra options to pass to gtkdoc-scangobj. Not normally needed.
+SCANGOBJ_OPTIONS=
+
+# Extra options to supply to gtkdoc-scan.
+SCAN_OPTIONS=--deprecated-guards="GTKDOC_TESTER_DISABLE_DEPRECATED" \
+ --ignore-decorators='GLIB_VAR|GTKDOC_GNUC_CONST' \
+ --rebuild-types
+
+# Extra options to supply to gtkdoc-mkdb.
+MKDB_OPTIONS=--xml-mode
+
+# Extra options to supply to gtkdoc-mktmpl
+# e.g. MKTMPL_OPTIONS=--only-section-tmpl
+MKTMPL_OPTIONS=
+
+# Extra options to supply to gtkdoc-mkhtml
+MKHTML_OPTIONS=
+
+# Extra options to supply to gtkdoc-fixref. Not normally needed.
+# --html-dir=$(HTML_DIR)
+FIXXREF_OPTIONS=--extra-dir=$(glib_prefix)/share/gtk-doc/html
+
+# Used for dependencies. The docs will be rebuilt if any of these change.
+HFILE_GLOB=$(top_srcdir)/tests/bugs/src/*.h
+CFILE_GLOB=$(top_srcdir)/tests/bugs/src/*.c
+
+# Header files to ignore when scanning.
+IGNORE_HFILES=config.h
+
+# Images to copy into HTML directory.
+HTML_IMAGES =
+
+# Extra SGML files that are included by $(DOC_MAIN_SGML_FILE).
+# e.g. content_files=running.sgml building.sgml changes-2.0.sgml
+content_files =
+
+# SGML files where gtk-doc abbrevations (#GtkWidget) are expanded
+# These files must be listed here *and* in content_files
+# e.g. expand_content_files=running.sgml
+expand_content_files=
+
+# CFLAGS and LDFLAGS for compiling gtkdoc-scangobj with your library.
+# Only needed if you are using gtkdoc-scangobj to dynamically query widget
+# signals and properties.
+GTKDOC_CFLAGS = -I$(top_srcdir)/tests/bugs/src $(TEST_DEPS_CFLAGS)
+GTKDOC_LIBS = $(TEST_DEPS_LIBS) $(top_builddir)/tests/bugs/src/libtester.la
+
+# include generic part
+include $(top_srcdir)/tests/gtk-doc.notmpl.make
+
+# Other files to distribute
+# e.g. EXTRA_DIST += version.xml.in
+EXTRA_DIST +=
+
+DISTCLEANFILES = \
+ gtkdoc-scan.log \
+ gtkdoc-scangobj.log \
+ gtkdoc-mktmpl.log \
+ gtkdoc-mkdb.log \
+ gtkdoc-mkhtml.log \
+ gtkdoc-fixxref.log
+
+if BUILD_TESTS
+TESTS_ENVIRONMENT = \
+ DOC_MODULE=$(DOC_MODULE) DOC_MAIN_SGML_FILE=$(DOC_MAIN_SGML_FILE) \
+ PATH=$(abs_top_builddir):$(srcdir):$(PATH) \
+ PERL5LIB=$(abs_top_builddir):$(PERL5LIB)
+endif
+
+-include $(top_srcdir)/git.mk
--- /dev/null
+# 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@
+
+# -*- mode: makefile -*-
+
+####################################
+# Everything below here is generic #
+####################################
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+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 = :
+build_triplet = @build@
+host_triplet = @host@
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
+ $(top_srcdir)/tests/gtk-doc.notmpl.make
+subdir = tests/bugs/docs
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/gnome-doc-utils.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
+ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/acinclude.m4 \
+ $(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 =
+AM_V_GEN = $(am__v_GEN_$(V))
+am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
+am__v_GEN_0 = @echo " GEN " $@;
+AM_V_at = $(am__v_at_$(V))
+am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
+am__v_at_0 = @
+SOURCES =
+DIST_SOURCES =
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
+AR = @AR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DBLATEX = @DBLATEX@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DISTCHECK_CONFIGURE_FLAGS = @DISTCHECK_CONFIGURE_FLAGS@
+DOC_USER_FORMATS = @DOC_USER_FORMATS@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+FGREP = @FGREP@
+FOP = @FOP@
+GREP = @GREP@
+HELP_DIR = @HELP_DIR@
+HIGHLIGHT = @HIGHLIGHT@
+HIGHLIGHT_OPTIONS = @HIGHLIGHT_OPTIONS@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+JADE = @JADE@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+MKDIR_P = @MKDIR_P@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OMF_DIR = @OMF_DIR@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_DATA_DIR = @PACKAGE_DATA_DIR@
+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@
+PKG_CONFIG = @PKG_CONFIG@
+PYTHON = @PYTHON@
+PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
+PYTHON_PLATFORM = @PYTHON_PLATFORM@
+PYTHON_PREFIX = @PYTHON_PREFIX@
+PYTHON_VERSION = @PYTHON_VERSION@
+RANLIB = @RANLIB@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SGML_FORMAT_TYPE = @SGML_FORMAT_TYPE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+TEST_DEPS_CFLAGS = @TEST_DEPS_CFLAGS@
+TEST_DEPS_LIBS = @TEST_DEPS_LIBS@
+TRACE = @TRACE@
+VERSION = @VERSION@
+XMLCATALOG = @XMLCATALOG@
+XML_CATALOG_FILE = @XML_CATALOG_FILE@
+XSLTPROC = @XSLTPROC@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+glib_prefix = @glib_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+lt_ECHO = @lt_ECHO@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+pkgpyexecdir = @pkgpyexecdir@
+pkgpythondir = @pkgpythondir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+pyexecdir = @pyexecdir@
+pythondir = @pythondir@
+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@
+
+# We require automake 1.6 at least.
+AUTOMAKE_OPTIONS = 1.6
+
+# The name of the module, e.g. 'glib'.
+DOC_MODULE = tester
+
+# The top-level SGML file. You can change this if you want to.
+DOC_MAIN_SGML_FILE = $(DOC_MODULE)-docs.xml
+
+# The directory containing the source code. Relative to $(srcdir).
+# gtk-doc will search all .c & .h files beneath here for inline comments
+# documenting the functions and macros.
+DOC_SOURCE_DIR = $(top_srcdir)/tests/bugs/src
+
+# Extra options to pass to gtkdoc-scangobj. Not normally needed.
+SCANGOBJ_OPTIONS =
+
+# Extra options to supply to gtkdoc-scan.
+SCAN_OPTIONS = --deprecated-guards="GTKDOC_TESTER_DISABLE_DEPRECATED" \
+ --ignore-decorators='GLIB_VAR|GTKDOC_GNUC_CONST' \
+ --rebuild-types
+
+
+# Extra options to supply to gtkdoc-mkdb.
+MKDB_OPTIONS = --xml-mode
+
+# Extra options to supply to gtkdoc-mktmpl
+# e.g. MKTMPL_OPTIONS=--only-section-tmpl
+MKTMPL_OPTIONS =
+
+# Extra options to supply to gtkdoc-mkhtml
+MKHTML_OPTIONS =
+
+# Extra options to supply to gtkdoc-fixref. Not normally needed.
+# --html-dir=$(HTML_DIR)
+FIXXREF_OPTIONS = --extra-dir=$(glib_prefix)/share/gtk-doc/html
+
+# Used for dependencies. The docs will be rebuilt if any of these change.
+HFILE_GLOB = $(top_srcdir)/tests/bugs/src/*.h
+CFILE_GLOB = $(top_srcdir)/tests/bugs/src/*.c
+
+# Header files to ignore when scanning.
+IGNORE_HFILES = config.h
+
+# Images to copy into HTML directory.
+HTML_IMAGES =
+
+# Extra SGML files that are included by $(DOC_MAIN_SGML_FILE).
+# e.g. content_files=running.sgml building.sgml changes-2.0.sgml
+content_files =
+
+# SGML files where gtk-doc abbrevations (#GtkWidget) are expanded
+# These files must be listed here *and* in content_files
+# e.g. expand_content_files=running.sgml
+expand_content_files =
+
+# CFLAGS and LDFLAGS for compiling gtkdoc-scangobj with your library.
+# Only needed if you are using gtkdoc-scangobj to dynamically query widget
+# signals and properties.
+GTKDOC_CFLAGS = -I$(top_srcdir)/tests/bugs/src $(TEST_DEPS_CFLAGS)
+GTKDOC_LIBS = $(TEST_DEPS_LIBS) $(top_builddir)/tests/bugs/src/libtester.la
+@GTK_DOC_USE_LIBTOOL_FALSE@GTKDOC_CC = $(CC) $(INCLUDES) $(GTKDOC_DEPS_CFLAGS) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+@GTK_DOC_USE_LIBTOOL_TRUE@GTKDOC_CC = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(INCLUDES) $(GTKDOC_DEPS_CFLAGS) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+@GTK_DOC_USE_LIBTOOL_FALSE@GTKDOC_LD = $(CC) $(GTKDOC_DEPS_LIBS) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS)
+@GTK_DOC_USE_LIBTOOL_TRUE@GTKDOC_LD = $(LIBTOOL) --tag=CC --mode=link $(CC) $(GTKDOC_DEPS_LIBS) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS)
+@GTK_DOC_USE_LIBTOOL_FALSE@GTKDOC_RUN =
+@GTK_DOC_USE_LIBTOOL_TRUE@GTKDOC_RUN = $(LIBTOOL) --mode=execute
+
+# We set GPATH here; this gives us semantics for GNU make
+# which are more like other make's VPATH, when it comes to
+# whether a source that is a target of one rule is then
+# searched for in VPATH/GPATH.
+#
+GPATH = $(srcdir)
+
+# we don't install anything in tests
+#TARGET_DIR=$(HTML_DIR)/$(DOC_MODULE)
+SETUP_FILES = \
+ $(content_files) \
+ $(DOC_MAIN_SGML_FILE) \
+ $(DOC_MODULE)-sections.txt \
+ $(DOC_MODULE)-overrides.txt
+
+
+# include generic part
+
+# Other files to distribute
+# e.g. EXTRA_DIST += version.xml.in
+EXTRA_DIST = $(HTML_IMAGES) $(SETUP_FILES)
+DOC_STAMPS = setup-build.stamp scan-build.stamp sgml-build.stamp \
+ html-build.stamp pdf-build.stamp \
+ sgml.stamp html.stamp pdf.stamp
+
+SCANOBJ_FILES = \
+ $(DOC_MODULE).args \
+ $(DOC_MODULE).hierarchy \
+ $(DOC_MODULE).interfaces \
+ $(DOC_MODULE).prerequisites \
+ $(DOC_MODULE).signals
+
+REPORT_FILES = \
+ $(DOC_MODULE)-undocumented.txt \
+ $(DOC_MODULE)-undeclared.txt \
+ $(DOC_MODULE)-unused.txt
+
+CLEANFILES = $(SCANOBJ_FILES) $(REPORT_FILES) $(DOC_STAMPS)
+DISTCLEANFILES = \
+ gtkdoc-scan.log \
+ gtkdoc-scangobj.log \
+ gtkdoc-mktmpl.log \
+ gtkdoc-mkdb.log \
+ gtkdoc-mkhtml.log \
+ gtkdoc-fixxref.log
+
+@BUILD_TESTS_TRUE@TESTS_ENVIRONMENT = \
+@BUILD_TESTS_TRUE@ DOC_MODULE=$(DOC_MODULE) DOC_MAIN_SGML_FILE=$(DOC_MAIN_SGML_FILE) \
+@BUILD_TESTS_TRUE@ PATH=$(abs_top_builddir):$(srcdir):$(PATH) \
+@BUILD_TESTS_TRUE@ PERL5LIB=$(abs_top_builddir):$(PERL5LIB)
+
+all: all-am
+
+.SUFFIXES:
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/tests/gtk-doc.notmpl.make $(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) --gnu tests/bugs/docs/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --gnu tests/bugs/docs/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: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+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
+ $(MAKE) $(AM_MAKEFLAGS) check-local
+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)
+ -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES)
+
+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 clean-libtool clean-local mostlyclean-am
+
+distclean: distclean-am
+ -rm -f Makefile
+distclean-am: clean-am distclean-generic distclean-local
+
+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 \
+ maintainer-clean-local
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-generic mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am:
+
+.MAKE: check-am install-am install-strip
+
+.PHONY: all all-am check check-am check-local clean clean-generic \
+ clean-libtool clean-local distclean distclean-generic \
+ distclean-libtool distclean-local 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 maintainer-clean-local mostlyclean \
+ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+ uninstall uninstall-am
+
+
+check-local: html-build.stamp pdf-build.stamp
+ @ts1=`cat ts`;ts2=`date +%s.%N`;tsd=`echo $$ts2-$$ts1 | bc`; \
+ echo " DOC `date --utc --date @0$$tsd +%H:%M:%S.%N`: All done"
+
+docs: html-build.stamp pdf-build.stamp
+ @ts1=`cat ts`;ts2=`date +%s.%N`;tsd=`echo $$ts2-$$ts1 | bc`; \
+ echo " DOC `date --utc --date @0$$tsd +%H:%M:%S.%N`: All done"
+
+$(REPORT_FILES): sgml-build.stamp
+
+ts:
+ @echo >ts `date +%s.%N`;
+
+#### setup ####
+
+setup-build.stamp: ts
+ -@if test "$(abs_srcdir)" != "$(abs_builddir)" ; then \
+ echo ' DOC Preparing build'; \
+ files=`echo $(SETUP_FILES) $(expand_content_files) $(DOC_MODULE).types`; \
+ if test "x$$files" != "x" ; then \
+ for file in $$files ; do \
+ test -f $(abs_srcdir)/$$file && \
+ cp -pu $(abs_srcdir)/$$file $(abs_builddir)/ || true; \
+ done; \
+ fi; \
+ fi
+ @touch setup-build.stamp
+
+#### scan ####
+
+scan-build.stamp: ts $(HFILE_GLOB) $(CFILE_GLOB)
+ @ts1=`cat ts`;ts2=`date +%s.%N`;tsd=`echo $$ts2-$$ts1 | bc`; \
+ echo " DOC `date --utc --date @0$$tsd +%H:%M:%S.%N`: Scanning header files"
+ @_source_dir='' ; \
+ for i in $(DOC_SOURCE_DIR) ; do \
+ _source_dir="$${_source_dir} --source-dir=$$i" ; \
+ done ; \
+ echo "gtkdoc-scan --module=$(DOC_MODULE) --ignore-headers="$(IGNORE_HFILES)" $${_source_dir} $(SCAN_OPTIONS) $(EXTRA_HFILES)" >gtkdoc-scan.log; \
+ PATH=$(abs_top_builddir):$(PATH) PERL5LIB=$(abs_top_builddir):$(PERL5LIB) \
+ gtkdoc-scan --module=$(DOC_MODULE) --ignore-headers="$(IGNORE_HFILES)" $${_source_dir} $(SCAN_OPTIONS) $(EXTRA_HFILES) 2>&1 | tee -a gtkdoc-scan.log
+ @if grep -l '^..*$$' $(DOC_MODULE).types > /dev/null 2>&1 ; then \
+ ts1=`cat ts`;ts2=`date +%s.%N`;tsd=`echo $$ts2-$$ts1 | bc`; \
+ echo " DOC `date --utc --date @0$$tsd +%H:%M:%S.%N`: Introspecting gobjects"; \
+ scanobj_options=""; \
+ if test "x$(V)" = "x1"; then \
+ scanobj_options="--verbose"; \
+ fi; \
+ echo "gtkdoc-scangobj $(SCANGOBJ_OPTIONS) --module=$(DOC_MODULE) $$scanobj_options" >gtkdoc-scangobj.log; \
+ PATH=$(abs_top_builddir):$(PATH) PERL5LIB=$(abs_top_builddir):$(PERL5LIB) \
+ CC="$(GTKDOC_CC)" LD="$(GTKDOC_LD)" RUN="$(GTKDOC_RUN)" CFLAGS="$(GTKDOC_CFLAGS) $(CFLAGS)" LDFLAGS="$(GTKDOC_LIBS) $(LDFLAGS)" \
+ gtkdoc-scangobj $(SCANGOBJ_OPTIONS) --module=$(DOC_MODULE) $$scanobj_options 2>&1 | tee -a gtkdoc-scangobj.log; \
+ else \
+ for i in $(SCANOBJ_FILES) ; do \
+ test -f $$i || touch $$i ; \
+ done \
+ fi
+ @touch scan-build.stamp
+
+$(DOC_MODULE)-decl.txt $(SCANOBJ_FILES) $(DOC_MODULE)-sections.txt $(DOC_MODULE)-overrides.txt: scan-build.stamp
+ @true
+
+#### xml ####
+
+sgml-build.stamp: setup-build.stamp $(DOC_MODULE)-decl.txt $(SCANOBJ_FILES) $(DOC_MODULE)-sections.txt $(DOC_MODULE)-overrides.txt $(expand_content_files)
+ @ts1=`cat ts`;ts2=`date +%s.%N`;tsd=`echo $$ts2-$$ts1 | bc`; \
+ echo " DOC `date --utc --date @0$$tsd +%H:%M:%S.%N`: Building XML"
+ @_source_dir='' ; \
+ for i in $(DOC_SOURCE_DIR) ; do \
+ _source_dir="$${_source_dir} --source-dir=$$i" ; \
+ done ; \
+ echo "gtkdoc-mkdb --module=$(DOC_MODULE) --output-format=xml --expand-content-files="$(expand_content_files)" --main-sgml-file=$(DOC_MAIN_SGML_FILE) $${_source_dir} $(MKDB_OPTIONS)" >gtkdoc-mkdb.log; \
+ PATH=$(abs_top_builddir):$(PATH) PERL5LIB=$(abs_top_builddir):$(PERL5LIB) \
+ gtkdoc-mkdb --module=$(DOC_MODULE) --output-format=xml --expand-content-files="$(expand_content_files)" --main-sgml-file=$(DOC_MAIN_SGML_FILE) $${_source_dir} $(MKDB_OPTIONS) 2>&1 | tee -a gtkdoc-mkdb.log
+ @touch sgml-build.stamp
+
+sgml.stamp: sgml-build.stamp
+ @true
+
+#### html ####
+
+html-build.stamp: sgml.stamp $(DOC_MAIN_SGML_FILE) $(content_files)
+ @ts1=`cat ts`;ts2=`date +%s.%N`;tsd=`echo $$ts2-$$ts1 | bc`; \
+ echo " DOC `date --utc --date @00$$tsd +%H:%M:%S.%N`: Building HTML"
+ @rm -rf html
+ @mkdir html
+ @mkhtml_options=""; \
+ if test "x$(V)" = "x1"; then \
+ mkhtml_options="$$mkhtml_options --verbose"; \
+ fi; \
+ echo "gtkdoc-mkhtml --uninstalled --path="$(abs_srcdir)" $$mkhtml_options $(MKHTML_OPTIONS) $(DOC_MODULE) ../$(DOC_MAIN_SGML_FILE)" >gtkdoc-mkhtml.log; \
+ cd html && PATH=$(abs_top_builddir):$(PATH) PERL5LIB=$(abs_top_builddir):$(PERL5LIB) ABS_TOP_SRCDIR=$(abs_top_srcdir) \
+ gtkdoc-mkhtml --uninstalled --path="$(abs_srcdir)" $$mkhtml_options $(MKHTML_OPTIONS) $(DOC_MODULE) ../$(DOC_MAIN_SGML_FILE) 2>&1 | tee -a ../gtkdoc-mkhtml.log
+ -@test "x$(HTML_IMAGES)" = "x" || \
+ for file in $(HTML_IMAGES) ; do \
+ if test -f $(abs_srcdir)/$$file ; then \
+ cp $(abs_srcdir)/$$file $(abs_builddir)/html; \
+ fi; \
+ if test -f $(abs_builddir)/$$file ; then \
+ cp $(abs_builddir)/$$file $(abs_builddir)/html; \
+ fi; \
+ done;
+ @ts1=`cat ts`;ts2=`date +%s.%N`;tsd=`echo $$ts2-$$ts1 | bc`; \
+ echo " DOC `date --utc --date @0$$tsd +%H:%M:%S.%N`: Fixing cross-references"
+ @echo "gtkdoc-fixxref --module=$(DOC_MODULE) --module-dir=html --html-dir=$(HTML_DIR) $(FIXXREF_OPTIONS)" >gtkdoc-fixxref.log; \
+ PATH=$(abs_top_builddir):$(PATH) PERL5LIB=$(abs_top_builddir):$(PERL5LIB) \
+ gtkdoc-fixxref --module=$(DOC_MODULE) --module-dir=html --html-dir=$(HTML_DIR) $(FIXXREF_OPTIONS) 2>&1 | tee -a gtkdoc-fixxref.log
+ @touch html-build.stamp
+
+#### pdf ####
+
+pdf-build.stamp: sgml.stamp $(DOC_MAIN_SGML_FILE) $(content_files)
+ @ts1=`cat ts`;ts2=`date +%s.%N`;tsd=`echo $$ts2-$$ts1 | bc`; \
+ echo " DOC `date --utc --date @0$$tsd +%H:%M:%S.%N`: Building PDF"
+ @rm -f $(DOC_MODULE).pdf
+ @mkpdf_options=""; \
+ if test "x$(V)" = "x1"; then \
+ mkpdf_options="$$mkpdf_options --verbose"; \
+ fi; \
+ if test "x$(HTML_IMAGES)" != "x"; then \
+ for img in $(HTML_IMAGES); do \
+ part=`dirname $$img`; \
+ echo $$mkpdf_options | grep >/dev/null "\-\-imgdir=$$part "; \
+ if test $$? != 0; then \
+ mkpdf_options="$$mkpdf_options --imgdir=$$part"; \
+ fi; \
+ done; \
+ fi; \
+ echo "gtkdoc-mkpdf --uninstalled --path="$(abs_srcdir)" $$mkpdf_options $(DOC_MODULE) $(DOC_MAIN_SGML_FILE) $(MKPDF_OPTIONS)" >gtkdoc-mkpdf.log; \
+ PATH=$(abs_top_builddir):$(PATH) PERL5LIB=$(abs_top_builddir):$(PERL5LIB) ABS_TOP_SRCDIR=$(abs_top_srcdir) \
+ gtkdoc-mkpdf --uninstalled --path="$(abs_srcdir)" $$mkpdf_options $(DOC_MODULE) $(DOC_MAIN_SGML_FILE) $(MKPDF_OPTIONS) 2>&1 | tee -a gtkdoc-mkpdf.log
+ @touch pdf-build.stamp
+
+##############
+
+# we need to enforce a rebuild for the tests
+clean-local:
+ @rm -f *~ *.bak ts
+ @rm -rf .libs
+ $(MAKE) distclean-local
+
+distclean-local:
+ @rm -rf xml html $(REPORT_FILES) $(DOC_MODULE).pdf \
+ $(DOC_MODULE)-decl-list.txt $(DOC_MODULE)-decl.txt
+ @if test "$(abs_srcdir)" != "$(abs_builddir)" ; then \
+ rm -f $(SETUP_FILES) $(expand_content_files) $(DOC_MODULE).types; \
+ fi
+
+maintainer-clean-local: clean
+ @rm -rf xml html
+
+.PHONY : dist-hook-local docs
+
+-include $(top_srcdir)/git.mk
+
+# 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:
--- /dev/null
+<?xml version="1.0"?>
+<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
+ "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd"
+[
+ <!ENTITY % local.common.attrib "xmlns:xi CDATA #FIXED 'http://www.w3.org/2003/XInclude'">
+]>
+<book id="index" xmlns:xi="http://www.w3.org/2003/XInclude">
+ <bookinfo>
+ <title>tester Reference Manual</title>
+ <releaseinfo>
+ for tester [VERSION].
+ The latest version of this documentation can be found on-line at
+ <ulink role="online-location" url="http://[SERVER]/tester/index.html">http://[SERVER]/tester/</ulink>.
+ </releaseinfo>
+ </bookinfo>
+
+ <chapter>
+ <title>Tests</title>
+ <xi:include href="xml/tester.xml"/>
+ </chapter>
+
+ <index id="api-index">
+ <title>API Index</title>
+ <xi:include href="xml/api-index-full.xml"><xi:fallback /></xi:include>
+ </index>
+ <index id="deprecated-api-index" role="deprecated">
+ <title>Index of deprecated API</title>
+ <xi:include href="xml/api-index-deprecated.xml"><xi:fallback /></xi:include>
+ </index>
+ <index id="api-index-0-1" role="0.1">
+ <title>Index of new API in 0.1</title>
+ <xi:include href="xml/api-index-0.1.xml"><xi:fallback /></xi:include>
+ </index>
+
+</book>
--- /dev/null
+<SECTION>
+<FILE>tester</FILE>
+<TITLE>GtkdocTester</TITLE>
+BUG_530758
+<SUBSECTION Compounds>
+Bug165425a
+Bug165425b
+Bug324535
+Bug446648
+Bug512154
+Bug642998
+Bug644291
+Bug000000Scope
+<SUBSECTION Functions>
+bug_000000_va1
+BUG_000000_VA2
+BUG_000000_VA3
+bug_141869_a
+bug_141869_b
+bug_379466
+bug_380824
+bug_411739
+bug_419997
+bug_445693
+bug_460127
+bug_471014
+bug_477532
+bug_481811
+bug_501038
+bug_512155a_function_pointer_t
+bug_512155b_function_pointer_t
+bug_512155c_function_pointer_t
+bug_532395a
+bug_532395b
+bug_544172
+bug_552602
+bug_554833
+bug_574654a
+bug_574654b
+bug_580300a_get_type
+bug_580300b_get_type
+bug_580300c_get_type
+bug_580300d_get_type
+bug_597937
+bug_602518a
+bug_602518b
+bug_602518c
+bug_607445
+bug_610257
+bug_623968a
+bug_623968b
+bug_623968c
+bug_624200a
+bug_624200b
+bug_638330
+BUG_656773a
+BUG_656773b
+BUG_656773c
+BUG_656946
+
+gst_play_marshal_BUFFER__BOXED
+<SUBSECTION Standard>
+<SUBSECTION Private>
+GTKDOC_GNUC_CONST
+bug_554833_new
+</SECTION>
+
--- /dev/null
+## Process this file with automake to produce Makefile.in
+
+if BUILD_TESTS
+
+noinst_LTLIBRARIES = libtester.la
+
+libtester_la_SOURCES = tester.c tester.h
+#libtester_la_LIBADD = $(TEST_DEPS_LIBS)
+
+AM_CPPFLAGS = $(TEST_DEPS_CFLAGS)
+
+endif
+
+
+-include $(top_srcdir)/git.mk
--- /dev/null
+# 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@
+pkgdatadir = $(datadir)/@PACKAGE@
+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 = :
+build_triplet = @build@
+host_triplet = @host@
+subdir = tests/bugs/src
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/gnome-doc-utils.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
+ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/acinclude.m4 \
+ $(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 =
+LTLIBRARIES = $(noinst_LTLIBRARIES)
+libtester_la_LIBADD =
+am__libtester_la_SOURCES_DIST = tester.c tester.h
+@BUILD_TESTS_TRUE@am_libtester_la_OBJECTS = tester.lo
+libtester_la_OBJECTS = $(am_libtester_la_OBJECTS)
+AM_V_lt = $(am__v_lt_$(V))
+am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY))
+am__v_lt_0 = --silent
+@BUILD_TESTS_TRUE@am_libtester_la_rpath =
+DEFAULT_INCLUDES = -I.@am__isrc@
+depcomp = $(SHELL) $(top_srcdir)/build-aux/depcomp
+am__depfiles_maybe = depfiles
+am__mv = mv -f
+COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
+ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
+ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+ $(AM_CFLAGS) $(CFLAGS)
+AM_V_CC = $(am__v_CC_$(V))
+am__v_CC_ = $(am__v_CC_$(AM_DEFAULT_VERBOSITY))
+am__v_CC_0 = @echo " CC " $@;
+AM_V_at = $(am__v_at_$(V))
+am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
+am__v_at_0 = @
+CCLD = $(CC)
+LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+ $(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CCLD = $(am__v_CCLD_$(V))
+am__v_CCLD_ = $(am__v_CCLD_$(AM_DEFAULT_VERBOSITY))
+am__v_CCLD_0 = @echo " CCLD " $@;
+AM_V_GEN = $(am__v_GEN_$(V))
+am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
+am__v_GEN_0 = @echo " GEN " $@;
+SOURCES = $(libtester_la_SOURCES)
+DIST_SOURCES = $(am__libtester_la_SOURCES_DIST)
+ETAGS = etags
+CTAGS = ctags
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
+AR = @AR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DBLATEX = @DBLATEX@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DISTCHECK_CONFIGURE_FLAGS = @DISTCHECK_CONFIGURE_FLAGS@
+DOC_USER_FORMATS = @DOC_USER_FORMATS@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+FGREP = @FGREP@
+FOP = @FOP@
+GREP = @GREP@
+HELP_DIR = @HELP_DIR@
+HIGHLIGHT = @HIGHLIGHT@
+HIGHLIGHT_OPTIONS = @HIGHLIGHT_OPTIONS@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+JADE = @JADE@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+MKDIR_P = @MKDIR_P@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OMF_DIR = @OMF_DIR@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_DATA_DIR = @PACKAGE_DATA_DIR@
+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@
+PKG_CONFIG = @PKG_CONFIG@
+PYTHON = @PYTHON@
+PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
+PYTHON_PLATFORM = @PYTHON_PLATFORM@
+PYTHON_PREFIX = @PYTHON_PREFIX@
+PYTHON_VERSION = @PYTHON_VERSION@
+RANLIB = @RANLIB@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SGML_FORMAT_TYPE = @SGML_FORMAT_TYPE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+TEST_DEPS_CFLAGS = @TEST_DEPS_CFLAGS@
+TEST_DEPS_LIBS = @TEST_DEPS_LIBS@
+TRACE = @TRACE@
+VERSION = @VERSION@
+XMLCATALOG = @XMLCATALOG@
+XML_CATALOG_FILE = @XML_CATALOG_FILE@
+XSLTPROC = @XSLTPROC@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+glib_prefix = @glib_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+lt_ECHO = @lt_ECHO@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+pkgpyexecdir = @pkgpyexecdir@
+pkgpythondir = @pkgpythondir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+pyexecdir = @pyexecdir@
+pythondir = @pythondir@
+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@
+@BUILD_TESTS_TRUE@noinst_LTLIBRARIES = libtester.la
+@BUILD_TESTS_TRUE@libtester_la_SOURCES = tester.c tester.h
+#libtester_la_LIBADD = $(TEST_DEPS_LIBS)
+@BUILD_TESTS_TRUE@AM_CPPFLAGS = $(TEST_DEPS_CFLAGS)
+all: all-am
+
+.SUFFIXES:
+.SUFFIXES: .c .lo .o .obj
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(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) --gnu tests/bugs/src/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --gnu tests/bugs/src/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: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
+
+clean-noinstLTLIBRARIES:
+ -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES)
+ @list='$(noinst_LTLIBRARIES)'; for p in $$list; do \
+ dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
+ test "$$dir" != "$$p" || dir=.; \
+ echo "rm -f \"$${dir}/so_locations\""; \
+ rm -f "$${dir}/so_locations"; \
+ done
+libtester.la: $(libtester_la_OBJECTS) $(libtester_la_DEPENDENCIES)
+ $(AM_V_CCLD)$(LINK) $(am_libtester_la_rpath) $(libtester_la_OBJECTS) $(libtester_la_LIBADD) $(LIBS)
+
+mostlyclean-compile:
+ -rm -f *.$(OBJEXT)
+
+distclean-compile:
+ -rm -f *.tab.c
+
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tester.Plo@am__quote@
+
+.c.o:
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(COMPILE) -c $<
+
+.c.obj:
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
+
+.c.lo:
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+
+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: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ set x; \
+ here=`pwd`; \
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; 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: $(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)
+ @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 $(LTLIBRARIES)
+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 clean-libtool clean-noinstLTLIBRARIES \
+ mostlyclean-am
+
+distclean: distclean-am
+ -rm -rf ./$(DEPDIR)
+ -rm -f Makefile
+distclean-am: clean-am distclean-compile distclean-generic \
+ distclean-tags
+
+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 -rf ./$(DEPDIR)
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-compile mostlyclean-generic \
+ mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am:
+
+.MAKE: install-am install-strip
+
+.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
+ clean-libtool clean-noinstLTLIBRARIES ctags distclean \
+ distclean-compile distclean-generic distclean-libtool \
+ 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 \
+ maintainer-clean maintainer-clean-generic mostlyclean \
+ mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
+ pdf pdf-am ps ps-am tags uninstall uninstall-am
+
+
+-include $(top_srcdir)/git.mk
+
+# 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:
--- /dev/null
+/**
+ * SECTION:tester
+ * @short_description: module for gtk-doc unit test
+ *
+ * This file contains non-sense code for the sole purpose of testing the docs.
+ *
+ * As described in http://bugzilla.gnome.org/show_bug.cgi?id=457077 it
+ * returns nothing.
+ *
+ * Some special characters need escaping. The tests should pass 100\%.
+ * Try a <ulink url="http://www.gtk.org/gtk-doc/#Top">link containing a # char</ulink>.
+ *
+ * <refsect2 id="dummy-id">
+ * <title>more details</title>
+ * <para>
+ * Second paragraph inside subsection.
+ * </para>
+ * </refsect2>
+ */
+
+#include <glib.h>
+
+#include "tester.h"
+
+/**
+ * bug_141869_a:
+ * @pid: arg
+ *
+ * http://bugzilla.gnome.org/show_bug.cgi?id=141869
+ */
+void bug_141869_a (unsigned pid) {
+ /* just silence a compiler warning */
+ bug_481811((double)pid);
+}
+
+/**
+ * bug_141869_b:
+ * @pid: arg
+ *
+ * http://bugzilla.gnome.org/show_bug.cgi?id=141869
+ */
+void bug_141869_b (signed pid) {
+}
+
+
+/**
+ * bug_379466:
+ * @pid: arg
+ *
+ * http://bugzilla.gnome.org/show_bug.cgi?id=379466
+ */
+void bug_379466 (int
+ pid) {
+}
+
+
+/**
+ * bug_380824:
+ * @arg: arg
+ *
+ * Returns a value.
+ * http://bugzilla.gnome.org/show_bug.cgi?id=380824
+ *
+ * Since: 0.1
+ *
+ * Returns: result
+ */
+int bug_380824 (int arg) {
+ return 0;
+}
+
+
+/**
+ * bug_411739:
+ *
+ * http://bugzilla.gnome.org/show_bug.cgi?id=411739
+ *
+ * Returns: result
+ */
+struct bug *
+bug_411739 (void) {
+ return NULL;
+}
+
+
+/**
+ * bug_419997:
+ * @const_values: arg
+ *
+ * http://bugzilla.gnome.org/show_bug.cgi?id=419997
+ */
+void bug_419997 (int const_values) {
+}
+
+
+/**
+ * bug_445693:
+ * @pid: arg
+ *
+ * http://bugzilla.gnome.org/show_bug.cgi?id=445693
+ */
+void bug_445693 (unsigned long pid) {
+}
+
+
+/**
+ * bug_471014:
+ *
+ * http://bugzilla.gnome.org/show_bug.cgi?id=471014
+ *
+ * Returns: result
+ */
+G_CONST_RETURN gchar* G_CONST_RETURN * bug_471014 (void) {
+ return NULL;
+}
+
+
+/**
+ * Bug446648:
+ * @BUG_446648_FOO: foo
+ *
+ * http://bugzilla.gnome.org/show_bug.cgi?id=446648
+ **/
+
+
+/**
+ * bug_552602:
+ *
+ * http://bugzilla.gnome.org/show_bug.cgi?id=552602
+ *
+ * Returns: result
+ */
+const char* const * bug_552602 (void) {
+ return NULL;
+}
+
+/**
+ * bug_574654a:
+ *
+ * http://bugzilla.gnome.org/show_bug.cgi?id=574654
+ *
+ * Returns: result
+ */
+/**
+ * bug_574654b:
+ * @offset: skip this many items
+ *
+ * http://bugzilla.gnome.org/show_bug.cgi?id=574654
+ */
+int bug_574654a(void) {
+ return 0;
+}
+
+void bug_574654b(double offset) { }
+
+
+/**
+ * bug_580300a_get_type:
+ *
+ * http://bugzilla.gnome.org/show_bug.cgi?id=580300
+ */
+void bug_580300a_get_type(void) { }
+
+/**
+ * bug_580300b_get_type:
+ * @a: value
+ *
+ * http://bugzilla.gnome.org/show_bug.cgi?id=580300
+ */
+void bug_580300b_get_type(gint a) { }
+
+/**
+ * bug_580300c_get_type:
+ *
+ * http://bugzilla.gnome.org/show_bug.cgi?id=580300
+ */
+void bug_580300c_get_type() { }
+
+/**
+ * bug_580300d_get_type:
+ *
+ * http://bugzilla.gnome.org/show_bug.cgi?id=580300
+ *
+ * Returns: result
+ */
+int bug_580300d_get_type() { return 0; }
+
+/**
+ * bug_597937:
+ * @function_arg: value
+ *
+ * http://bugzilla.gnome.org/show_bug.cgi?id=597937
+ */
+void bug_597937(void (*function_arg)(int arg1, char arg2, void *)) { }
+
+/**
+ * bug_602518a:
+ *
+ * http://bugzilla.gnome.org/show_bug.cgi?id=602518
+ *
+ * Returns: result
+ */
+long int bug_602518a(void) {
+ return (long int)0;
+}
+
+/**
+ * bug_602518b:
+ *
+ * http://bugzilla.gnome.org/show_bug.cgi?id=602518
+ *
+ * Returns: result
+ */
+unsigned long int bug_602518b(void) {
+ return (unsigned long int)0;
+}
+
+/**
+ * bug_602518c:
+ *
+ * http://bugzilla.gnome.org/show_bug.cgi?id=602518
+ *
+ * Returns: result
+ */
+unsigned int bug_602518c(void) {
+ return (unsigned int)0;
+}
+
+/**
+ * bug_607445:
+ * @a: parameter
+ * @n: parameter
+ *
+ * http://bugzilla.gnome.org/show_bug.cgi?id=607445
+ */
+long double bug_607445(long double **a, int n) {
+ return 2.0*n;
+}
+
+/**
+ * bug_610257:
+ * @der: parameter
+ * @len: parameter
+ *
+ * http://bugzilla.gnome.org/show_bug.cgi?id=610257
+ */
+signed long
+bug_610257(const unsigned char *der, int *len)
+{
+ return 1L;
+}
+
+
+/**
+ * bug_623968a:
+ *
+ * <para>test</para>
+ * <refsect3>
+ * <title>subsect</title>
+ * <para>test</para>
+ * </refsect3>
+ **/
+void
+bug_623968a(void)
+{
+}
+
+/**
+ * bug_623968b:
+ *
+ * test
+ *
+ * <refsect3>
+ * <title>subsect</title>
+ * <para>test</para>
+ * </refsect3>
+ **/
+void
+bug_623968b(void)
+{
+}
+
+/**
+ * bug_623968c:
+ *
+ * <para>test</para>
+ **/
+void
+bug_623968c(void)
+{
+}
+
+
+/**
+ * bug_624200a:
+ *
+ * http://bugzilla.gnome.org/show_bug.cgi?id=624200
+ *
+ * Returns: result
+ */
+const char * const *
+bug_624200a(void)
+{
+ return NULL;
+}
+
+/**
+ * bug_624200b:
+ *
+ * http://bugzilla.gnome.org/show_bug.cgi?id=624200
+ *
+ * Returns: result
+ */
+const char ** const
+bug_624200b(void)
+{
+ return NULL;
+}
+
+/**
+ * bug_638330:
+ * @arg1: arg1
+ * @data: data
+ * @length: length
+ *
+ * http://bugzilla.gnome.org/show_bug.cgi?id=638330
+ */
+void (*bug_638330) (void *arg1,
+ const unsigned char *data,
+ unsigned int length) = NULL;
+
+
+/* internal function */
+gchar *
+_bug_000000a (const gchar *name)
+{
+ return NULL;
+}
+
+/* varargs */
+
+/**
+ * bug_000000_va1:
+ * @name: a name
+ * @...: A printf-style message to output
+ *
+ * Outputs a message.
+ */
+void bug_000000_va1 (gchar name, ...)
+{
+}
--- /dev/null
+#ifndef GTKDOC_TESTER_H
+#define GTKDOC_TESTER_H
+
+#include <glib.h>
+
+/**
+ * Bug324535:
+ * @BUG_324535_A: enum 1
+ * @BUG_324535_B: enum 2
+ * @BUG_324535_C: enum 3
+ *
+ * http://bugzilla.gnome.org/show_bug.cgi?id=324535
+ */
+typedef enum {
+ BUG_324535_A,
+#ifdef GTK_DISABLE_DEPRECATED
+ BUG_324535_B,
+#endif
+ BUG_324535_C
+} Bug324535;
+
+
+
+/**
+ * bug_481811:
+ * @x: argument
+ *
+ * http://bugzilla.gnome.org/show_bug.cgi?id=481811
+ **/
+static inline double
+bug_481811(double x)
+{
+ return g_random_double_range(x,x*x);
+}
+
+
+/**
+ * bug_501038:
+ * @a: value
+ * @b: deprecated value
+ * @_b: scrambled deprecated value
+ *
+ * http://bugzilla.gnome.org/show_bug.cgi?id=501038
+ */
+struct _bug_501038 {
+ gint a;
+#ifndef GTK_DISABLE_DEPRECATED
+ gint b;
+#else
+ gint _b;
+#endif
+};
+
+
+#define _PADDDING 4
+/**
+ * bug_460127:
+ * @a: field
+ *
+ * http://bugzilla.gnome.org/show_bug.cgi?id=460127
+ */
+struct _bug_460127 {
+ /*< public >*/
+ gint a;
+
+ /*< private >*/
+ union {
+ struct {
+ gint b;
+ } ABI;
+ gpointer _reserved[_PADDDING + 0];
+ } abidata;
+};
+
+
+/**
+ * bug_477532:
+ *
+ * http://bugzilla.gnome.org/show_bug.cgi?id=477532
+ */
+GLIB_VAR guint64 (*bug_477532) (void);
+
+
+struct bug {
+ int test;
+};
+
+
+void bug_141869_a (unsigned pid);
+void bug_141869_b (signed pid);
+
+void bug_379466 (int
+ pid);
+
+int bug_380824 (int arg);
+
+struct bug *
+bug_411739 (void);
+
+void bug_419997 (int const_values);
+
+void bug_445693 (unsigned long pid);
+
+G_CONST_RETURN gchar* G_CONST_RETURN *
+bug_471014 (void);
+
+const char* const * bug_552602 (void);
+
+/**
+ * Bug446648:
+ * @BUG_446648_FOO: field
+ *
+ * http://bugzilla.gnome.org/show_bug.cgi?id=446648
+ */
+typedef enum _Bug446648 Bug446648;
+enum _Bug446648 {
+ BUG_446648_FOO
+};
+
+/**
+ * Bug512154:
+ * @index: field
+ *
+ * http://bugzilla.gnome.org/show_bug.cgi?id=512154
+ */
+typedef struct {
+ unsigned long index;
+} Bug512154;
+
+
+/**
+ * bug_512155a_function_pointer_t:
+ * @arg1: param 1
+ * @arg2: param 1
+ * @arg3: param 1
+ *
+ * http://bugzilla.gnome.org/show_bug.cgi?id=512155
+ */
+typedef int
+(*bug_512155a_function_pointer_t) (unsigned int arg1, unsigned int arg2,
+ unsigned int arg3);
+
+/**
+ * bug_512155b_function_pointer_t:
+ * @arg1: param 1
+ * @arg2: param 1
+ * @arg3: param 1
+ *
+ * http://bugzilla.gnome.org/show_bug.cgi?id=512155
+ */
+typedef
+int (*bug_512155b_function_pointer_t) (unsigned int arg1, unsigned int arg2,
+ unsigned int arg3);
+
+/**
+ * bug_512155c_function_pointer_t:
+ * @arg1: param 1
+ * @arg2: param 1
+ * @arg3: param 1
+ *
+ * http://bugzilla.gnome.org/show_bug.cgi?id=512155
+ */
+typedef int (*bug_512155c_function_pointer_t) (unsigned int arg1,
+ unsigned int arg2,
+ unsigned int arg3);
+
+
+/**
+ * BUG_530758:
+ *
+ * <![CDATA[http://bugzilla.gnome.org/show_bug.cgi?id=530758#c1]]>
+ *
+ * <ulink url="http://bugzilla.gnome.org/show_bug.cgi?id=530758#c1">Test</ulink>
+ */
+#define BUG_530758 "dummy"
+
+
+/**
+ * bug_532395a:
+ * @number: a number
+ *
+ * http://bugzilla.gnome.org/show_bug.cgi?id=532395
+ *
+ * Returns: number
+ */
+/**
+ * bug_532395b:
+ *
+ * http://bugzilla.gnome.org/show_bug.cgi?id=532395
+ */
+G_INLINE_FUNC guint
+bug_532395a (gulong number)
+{
+#if defined(__GNUC__) && (__GNUC__ >= 4) && defined(__OPTIMIZE__)
+ return G_LIKELY (number) ?
+ ((GLIB_SIZEOF_LONG * 8 - 1) ^ __builtin_clzl(number)) + 1 : 1;
+#else
+ return 0;
+#endif
+}
+G_INLINE_FUNC void
+bug_532395b (void)
+{
+}
+
+
+/**
+ * bug_544172:
+ * @self: object pointer.
+ *
+ * http://bugzilla.gnome.org/show_bug.cgi?id=544172
+ *
+ * Returns: result or %NULL.
+ */
+typedef char const * (*bug_544172) (char const *self);
+
+
+/**
+ * bug_554833:
+ * @i: value;
+ *
+ * http://bugzilla.gnome.org/show_bug.cgi?id=554833
+ */
+struct _bug_554833 {
+ int i;
+};
+
+
+/**
+ * bug_554833_new:
+ *
+ * http://bugzilla.gnome.org/show_bug.cgi?id=554833
+ *
+ * Returns: result
+ */
+struct _bug_554833 *
+ bug_554833_new (void);
+
+
+#define GTKDOC_GNUC_CONST
+int bug_574654a(void) GTKDOC_GNUC_CONST;
+void bug_574654b(double offset);
+
+
+void bug_580300a_get_type(void);
+void bug_580300b_get_type(gint a);
+void bug_580300c_get_type();
+extern int bug_580300d_get_type();
+
+void bug_597937(void (*function_arg)(int arg1, char arg2, void *));
+
+long int bug_602518a(void);
+unsigned long int bug_602518b(void);
+unsigned int bug_602518c(void);
+
+/**
+ * Bug165425a:
+ * @i: data as int
+ * @f: data as float
+ *
+ * http://bugzilla.gnome.org/show_bug.cgi?id=165425
+ */
+union _Bug165425a {
+ int i;
+ float f;
+};
+typedef union _Bug165425a Bug165425a;
+
+/**
+ * Bug165425b:
+ * @i: data as int
+ * @f: data as float
+ *
+ * http://bugzilla.gnome.org/show_bug.cgi?id=165425
+ */
+typedef union _Bug165425b {
+ int i;
+ float f;
+} Bug165425b;
+
+
+/*
+ * BugXXX1b:
+ * @a: field
+ *
+ * No bug report
+ *
+typedef struct _BugXXX1b BugXXX1b;
+struct _BugXXX1b {
+ *//*< protected >*//*
+ gint a;
+
+ *//*< private >*//*
+ gint b;
+};
+*/
+
+long double bug_607445(long double **a, int n);
+
+
+signed long bug_610257(const unsigned char *der, int *len);
+
+
+void bug_623968a(void);
+void bug_623968b(void);
+void bug_623968c(void);
+
+
+#define _BUG_624199(struct_type, n_structs, func) \
+ (struct_type *) (__extension__ ({ \
+ gsize __n = (gsize) (n_structs); \
+ gsize __s = sizeof (struct_type); \
+ gpointer __p; \
+ if (__s == 1) \
+ __p = g_##func (__n); \
+ else if (__builtin_constant_p (__n) && \
+ (__s == 0 || __n <= G_MAXSIZE / __s)) \
+ __p = g_##func (__n * __s); \
+ else \
+ __p = g_##func##_n (__n, __s); \
+ __p; \
+ }))
+
+
+const char * const * bug_624200a(void);
+const char ** const bug_624200b(void);
+
+
+/* internal function and macro */
+gchar *_bug_000000a (const gchar *name);
+#define _BUG_000000b (a) (a*a);
+
+#ifndef __GTK_DOC_IGNORE__
+extern int bug_512565(void);
+#endif
+
+void (*bug_638330) (void *arg1,
+ const unsigned char *data,
+ unsigned int length);
+
+
+/**
+ * Bug642998:
+ * @red: red color intensity, from 0–255
+ * @green: green color intensity, from 0–255
+ * @blue: blue color intensity, from 0–255
+ *
+ * https://bugzilla.gnome.org/show_bug.cgi?id=642998
+ */
+typedef struct {
+ guint16 red;
+ guint16 green;
+ guint16 blue;
+} Bug642998;
+
+
+/**
+ * Bug644291:
+ * @BUG_644291_START: foo
+ * @BUG_644291_TEXT: bar
+ * @BUG_644291_END: milk
+ * @BUG_644291_ATTRIBUTE: comes
+ * @BUG_644291_XMLNS: from
+ * @BUG_644291_ASSIGN_TO: cows
+ *
+ * https://bugzilla.gnome.org/show_bug.cgi?id=644291
+ */
+typedef enum
+{
+ BUG_644291_START = '(',
+ BUG_644291_TEXT = '$',
+ BUG_644291_END = ')',
+ BUG_644291_ATTRIBUTE = '@',
+ BUG_644291_XMLNS = ':',
+ BUG_644291_ASSIGN_TO = '*'
+} Bug644291;
+
+/* varargs */
+
+extern void bug_000000_va1 (gchar name, ...);
+
+/**
+ * BUG_000000_VA2:
+ * @name: a name
+ * @...: A printf-style message to output
+ *
+ * Outputs a message.
+ */
+#define BUG_000000_VA2(name,...)
+
+/**
+ * BUG_000000_VA3:
+ * @name: a name
+ * @...: A printf-style message to output
+ *
+ * Outputs a message.
+ */
+#define BUG_000000_VA3(name,args...)
+
+/**
+ * Bug000000Scope:
+ *
+ * Opaque structure.
+ * "warning: Field descriptions for Bug000000Scope are missing in source code comment block."
+ * but not if we remove the blank line before "int b";
+ */
+typedef struct _Bug000000Scope Bug000000Scope;
+struct _Bug000000Scope {
+ /*< private >*/
+ union {
+ struct {
+ /* comment */
+ int a;
+ } ABI;
+ gpointer _reserved[4 - 1];
+ } abidata;
+
+ int b;
+};
+
+/**
+ * gst_play_marshal_BUFFER__BOXED:
+ * @closure: test
+ * @return_value: test
+ * @marshal_data: test
+ *
+ * test.
+ */
+void
+gst_play_marshal_BUFFER__BOXED (gint * closure,
+ gint * return_value G_GNUC_UNUSED,
+ gpointer marshal_data);
+
+
+/**
+ * BUG_656773a:
+ *
+ * https://bugzilla.gnome.org/show_bug.cgi?id=656773
+ */
+extern const char* const BUG_656773a;
+
+/**
+ * BUG_656773b:
+ *
+ * https://bugzilla.gnome.org/show_bug.cgi?id=656773
+ */
+extern const char* BUG_656773b;
+
+/**
+ * BUG_656773c:
+ *
+ * https://bugzilla.gnome.org/show_bug.cgi?id=656773
+ */
+const char* const BUG_656773c = "bug";
+
+/**
+ * BUG_656946:
+ *
+ * https://bugzilla.gnome.org/show_bug.cgi?id=656946
+ */
+extern short int BUG_656946;
+
+#endif // GTKDOC_TESTER_H
--- /dev/null
+#!/bin/sh
+
+gtkdoctest.sh empty
+
--- /dev/null
+## Process this file with automake to produce Makefile.in
+
+SUBDIRS = . src docs
+
+if BUILD_TESTS
+
+check-local: clean
+ @rm -f docs/tester-docs.xml
+
+endif
+
+
+-include $(top_srcdir)/git.mk
--- /dev/null
+# 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@
+pkgdatadir = $(datadir)/@PACKAGE@
+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 = :
+build_triplet = @build@
+host_triplet = @host@
+subdir = tests/empty
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/gnome-doc-utils.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
+ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/acinclude.m4 \
+ $(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 =
+AM_V_GEN = $(am__v_GEN_$(V))
+am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
+am__v_GEN_0 = @echo " GEN " $@;
+AM_V_at = $(am__v_at_$(V))
+am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
+am__v_at_0 = @
+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
+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"
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
+AR = @AR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DBLATEX = @DBLATEX@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DISTCHECK_CONFIGURE_FLAGS = @DISTCHECK_CONFIGURE_FLAGS@
+DOC_USER_FORMATS = @DOC_USER_FORMATS@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+FGREP = @FGREP@
+FOP = @FOP@
+GREP = @GREP@
+HELP_DIR = @HELP_DIR@
+HIGHLIGHT = @HIGHLIGHT@
+HIGHLIGHT_OPTIONS = @HIGHLIGHT_OPTIONS@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+JADE = @JADE@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+MKDIR_P = @MKDIR_P@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OMF_DIR = @OMF_DIR@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_DATA_DIR = @PACKAGE_DATA_DIR@
+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@
+PKG_CONFIG = @PKG_CONFIG@
+PYTHON = @PYTHON@
+PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
+PYTHON_PLATFORM = @PYTHON_PLATFORM@
+PYTHON_PREFIX = @PYTHON_PREFIX@
+PYTHON_VERSION = @PYTHON_VERSION@
+RANLIB = @RANLIB@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SGML_FORMAT_TYPE = @SGML_FORMAT_TYPE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+TEST_DEPS_CFLAGS = @TEST_DEPS_CFLAGS@
+TEST_DEPS_LIBS = @TEST_DEPS_LIBS@
+TRACE = @TRACE@
+VERSION = @VERSION@
+XMLCATALOG = @XMLCATALOG@
+XML_CATALOG_FILE = @XML_CATALOG_FILE@
+XSLTPROC = @XSLTPROC@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+glib_prefix = @glib_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+lt_ECHO = @lt_ECHO@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+pkgpyexecdir = @pkgpyexecdir@
+pkgpythondir = @pkgpythondir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+pyexecdir = @pyexecdir@
+pythondir = @pythondir@
+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 = . src docs
+all: all-recursive
+
+.SUFFIXES:
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(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) --gnu tests/empty/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --gnu tests/empty/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: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+
+# 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)
+ @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
+@BUILD_TESTS_FALSE@check-local:
+check-am: all-am
+ $(MAKE) $(AM_MAKEFLAGS) check-local
+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:
+
+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 clean-libtool 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 mostlyclean-libtool
+
+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-am check-local clean clean-generic \
+ clean-libtool ctags ctags-recursive distclean \
+ distclean-generic distclean-libtool 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 mostlyclean-libtool pdf pdf-am ps ps-am \
+ tags tags-recursive uninstall uninstall-am
+
+
+@BUILD_TESTS_TRUE@check-local: clean
+@BUILD_TESTS_TRUE@ @rm -f docs/tester-docs.xml
+
+-include $(top_srcdir)/git.mk
+
+# 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:
--- /dev/null
+## Process this file with automake to produce Makefile.in
+
+# this tests bootstraps gtk-doc, that includes generating a default
+# DOC_MAIN_SGML_FILE
+# right now that fails with parallel make, as make cannot see that what is a
+# dependency for another target is generated as needed
+MAKEFLAGS = -j1
+
+# We require automake 1.6 at least.
+AUTOMAKE_OPTIONS = 1.6
+
+# The name of the module, e.g. 'glib'.
+DOC_MODULE=tester
+
+# The top-level SGML file. You can change this if you want to.
+DOC_MAIN_SGML_FILE=$(DOC_MODULE)-docs.xml
+
+# The directory containing the source code. Relative to $(srcdir).
+# gtk-doc will search all .c & .h files beneath here for inline comments
+# documenting the functions and macros.
+DOC_SOURCE_DIR=$(top_srcdir)/tests/empty/src
+
+# Extra options to pass to gtkdoc-scangobj. Not normally needed.
+SCANGOBJ_OPTIONS=
+
+# Extra options to supply to gtkdoc-scan.
+SCAN_OPTIONS=--deprecated-guards="GTKDOC_TESTER_DISABLE_DEPRECATED" \
+ --rebuild-sections
+
+# Extra options to supply to gtkdoc-mkdb.
+MKDB_OPTIONS=--xml-mode
+
+# Extra options to supply to gtkdoc-mktmpl
+# e.g. MKTMPL_OPTIONS=--only-section-tmpl
+MKTMPL_OPTIONS=
+
+# Extra options to supply to gtkdoc-mkhtml
+MKHTML_OPTIONS=
+
+# Extra options to supply to gtkdoc-fixref. Not normally needed.
+# --html-dir=$(HTML_DIR)
+FIXXREF_OPTIONS=--extra-dir=$(glib_prefix)/share/gtk-doc/html
+
+# Used for dependencies. The docs will be rebuilt if any of these change.
+HFILE_GLOB=$(top_srcdir)/tests/empty/src/*.h
+CFILE_GLOB=$(top_srcdir)/tests/empty/src/*.c
+
+# Header files to ignore when scanning.
+IGNORE_HFILES=config.h
+
+# Images to copy into HTML directory.
+HTML_IMAGES =
+
+# Extra SGML files that are included by $(DOC_MAIN_SGML_FILE).
+# e.g. content_files=running.sgml building.sgml changes-2.0.sgml
+content_files =
+
+# SGML files where gtk-doc abbrevations (#GtkWidget) are expanded
+# These files must be listed here *and* in content_files
+# e.g. expand_content_files=running.sgml
+expand_content_files=
+
+# CFLAGS and LDFLAGS for compiling gtkdoc-scangobj with your library.
+# Only needed if you are using gtkdoc-scangobj to dynamically query widget
+# signals and properties.
+GTKDOC_CFLAGS = -I$(top_srcdir)/tests/empty/src $(TEST_DEPS_CFLAGS)
+GTKDOC_LIBS = $(TEST_DEPS_LIBS) $(top_builddir)/tests/empty/src/libtester.la
+
+# include generic part
+include $(top_srcdir)/tests/gtk-doc.notmpl.make
+
+# Other files to distribute
+# e.g. EXTRA_DIST += version.xml.in
+EXTRA_DIST +=
+
+DISTCLEANFILES = \
+ gtkdoc-scan.log \
+ gtkdoc-scangobj.log \
+ gtkdoc-mktmpl.log \
+ gtkdoc-mkdb.log \
+ gtkdoc-mkhtml.log \
+ gtkdoc-fixxref.log
+
+if BUILD_TESTS
+TESTS_ENVIRONMENT = \
+ DOC_MODULE=$(DOC_MODULE) DOC_MAIN_SGML_FILE=$(DOC_MAIN_SGML_FILE) \
+ PATH=$(abs_top_builddir):$(srcdir):$(PATH) \
+ PERL5LIB=$(abs_top_builddir):$(PERL5LIB)
+endif
+
+GITIGNOREFILES = \
+ tester-docs.xml \
+ tester-sections.txt
+
+-include $(top_srcdir)/git.mk
--- /dev/null
+# 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@
+
+# -*- mode: makefile -*-
+
+####################################
+# Everything below here is generic #
+####################################
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+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 = :
+build_triplet = @build@
+host_triplet = @host@
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
+ $(top_srcdir)/tests/gtk-doc.notmpl.make
+subdir = tests/empty/docs
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/gnome-doc-utils.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
+ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/acinclude.m4 \
+ $(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 =
+AM_V_GEN = $(am__v_GEN_$(V))
+am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
+am__v_GEN_0 = @echo " GEN " $@;
+AM_V_at = $(am__v_at_$(V))
+am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
+am__v_at_0 = @
+SOURCES =
+DIST_SOURCES =
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
+AR = @AR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DBLATEX = @DBLATEX@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DISTCHECK_CONFIGURE_FLAGS = @DISTCHECK_CONFIGURE_FLAGS@
+DOC_USER_FORMATS = @DOC_USER_FORMATS@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+FGREP = @FGREP@
+FOP = @FOP@
+GREP = @GREP@
+HELP_DIR = @HELP_DIR@
+HIGHLIGHT = @HIGHLIGHT@
+HIGHLIGHT_OPTIONS = @HIGHLIGHT_OPTIONS@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+JADE = @JADE@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+MKDIR_P = @MKDIR_P@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OMF_DIR = @OMF_DIR@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_DATA_DIR = @PACKAGE_DATA_DIR@
+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@
+PKG_CONFIG = @PKG_CONFIG@
+PYTHON = @PYTHON@
+PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
+PYTHON_PLATFORM = @PYTHON_PLATFORM@
+PYTHON_PREFIX = @PYTHON_PREFIX@
+PYTHON_VERSION = @PYTHON_VERSION@
+RANLIB = @RANLIB@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SGML_FORMAT_TYPE = @SGML_FORMAT_TYPE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+TEST_DEPS_CFLAGS = @TEST_DEPS_CFLAGS@
+TEST_DEPS_LIBS = @TEST_DEPS_LIBS@
+TRACE = @TRACE@
+VERSION = @VERSION@
+XMLCATALOG = @XMLCATALOG@
+XML_CATALOG_FILE = @XML_CATALOG_FILE@
+XSLTPROC = @XSLTPROC@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+glib_prefix = @glib_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+lt_ECHO = @lt_ECHO@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+pkgpyexecdir = @pkgpyexecdir@
+pkgpythondir = @pkgpythondir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+pyexecdir = @pyexecdir@
+pythondir = @pythondir@
+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@
+
+# this tests bootstraps gtk-doc, that includes generating a default
+# DOC_MAIN_SGML_FILE
+# right now that fails with parallel make, as make cannot see that what is a
+# dependency for another target is generated as needed
+MAKEFLAGS = -j1
+
+# We require automake 1.6 at least.
+AUTOMAKE_OPTIONS = 1.6
+
+# The name of the module, e.g. 'glib'.
+DOC_MODULE = tester
+
+# The top-level SGML file. You can change this if you want to.
+DOC_MAIN_SGML_FILE = $(DOC_MODULE)-docs.xml
+
+# The directory containing the source code. Relative to $(srcdir).
+# gtk-doc will search all .c & .h files beneath here for inline comments
+# documenting the functions and macros.
+DOC_SOURCE_DIR = $(top_srcdir)/tests/empty/src
+
+# Extra options to pass to gtkdoc-scangobj. Not normally needed.
+SCANGOBJ_OPTIONS =
+
+# Extra options to supply to gtkdoc-scan.
+SCAN_OPTIONS = --deprecated-guards="GTKDOC_TESTER_DISABLE_DEPRECATED" \
+ --rebuild-sections
+
+
+# Extra options to supply to gtkdoc-mkdb.
+MKDB_OPTIONS = --xml-mode
+
+# Extra options to supply to gtkdoc-mktmpl
+# e.g. MKTMPL_OPTIONS=--only-section-tmpl
+MKTMPL_OPTIONS =
+
+# Extra options to supply to gtkdoc-mkhtml
+MKHTML_OPTIONS =
+
+# Extra options to supply to gtkdoc-fixref. Not normally needed.
+# --html-dir=$(HTML_DIR)
+FIXXREF_OPTIONS = --extra-dir=$(glib_prefix)/share/gtk-doc/html
+
+# Used for dependencies. The docs will be rebuilt if any of these change.
+HFILE_GLOB = $(top_srcdir)/tests/empty/src/*.h
+CFILE_GLOB = $(top_srcdir)/tests/empty/src/*.c
+
+# Header files to ignore when scanning.
+IGNORE_HFILES = config.h
+
+# Images to copy into HTML directory.
+HTML_IMAGES =
+
+# Extra SGML files that are included by $(DOC_MAIN_SGML_FILE).
+# e.g. content_files=running.sgml building.sgml changes-2.0.sgml
+content_files =
+
+# SGML files where gtk-doc abbrevations (#GtkWidget) are expanded
+# These files must be listed here *and* in content_files
+# e.g. expand_content_files=running.sgml
+expand_content_files =
+
+# CFLAGS and LDFLAGS for compiling gtkdoc-scangobj with your library.
+# Only needed if you are using gtkdoc-scangobj to dynamically query widget
+# signals and properties.
+GTKDOC_CFLAGS = -I$(top_srcdir)/tests/empty/src $(TEST_DEPS_CFLAGS)
+GTKDOC_LIBS = $(TEST_DEPS_LIBS) $(top_builddir)/tests/empty/src/libtester.la
+@GTK_DOC_USE_LIBTOOL_FALSE@GTKDOC_CC = $(CC) $(INCLUDES) $(GTKDOC_DEPS_CFLAGS) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+@GTK_DOC_USE_LIBTOOL_TRUE@GTKDOC_CC = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(INCLUDES) $(GTKDOC_DEPS_CFLAGS) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+@GTK_DOC_USE_LIBTOOL_FALSE@GTKDOC_LD = $(CC) $(GTKDOC_DEPS_LIBS) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS)
+@GTK_DOC_USE_LIBTOOL_TRUE@GTKDOC_LD = $(LIBTOOL) --tag=CC --mode=link $(CC) $(GTKDOC_DEPS_LIBS) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS)
+@GTK_DOC_USE_LIBTOOL_FALSE@GTKDOC_RUN =
+@GTK_DOC_USE_LIBTOOL_TRUE@GTKDOC_RUN = $(LIBTOOL) --mode=execute
+
+# We set GPATH here; this gives us semantics for GNU make
+# which are more like other make's VPATH, when it comes to
+# whether a source that is a target of one rule is then
+# searched for in VPATH/GPATH.
+#
+GPATH = $(srcdir)
+
+# we don't install anything in tests
+#TARGET_DIR=$(HTML_DIR)/$(DOC_MODULE)
+SETUP_FILES = \
+ $(content_files) \
+ $(DOC_MAIN_SGML_FILE) \
+ $(DOC_MODULE)-sections.txt \
+ $(DOC_MODULE)-overrides.txt
+
+
+# include generic part
+
+# Other files to distribute
+# e.g. EXTRA_DIST += version.xml.in
+EXTRA_DIST = $(HTML_IMAGES) $(SETUP_FILES)
+DOC_STAMPS = setup-build.stamp scan-build.stamp sgml-build.stamp \
+ html-build.stamp pdf-build.stamp \
+ sgml.stamp html.stamp pdf.stamp
+
+SCANOBJ_FILES = \
+ $(DOC_MODULE).args \
+ $(DOC_MODULE).hierarchy \
+ $(DOC_MODULE).interfaces \
+ $(DOC_MODULE).prerequisites \
+ $(DOC_MODULE).signals
+
+REPORT_FILES = \
+ $(DOC_MODULE)-undocumented.txt \
+ $(DOC_MODULE)-undeclared.txt \
+ $(DOC_MODULE)-unused.txt
+
+CLEANFILES = $(SCANOBJ_FILES) $(REPORT_FILES) $(DOC_STAMPS)
+DISTCLEANFILES = \
+ gtkdoc-scan.log \
+ gtkdoc-scangobj.log \
+ gtkdoc-mktmpl.log \
+ gtkdoc-mkdb.log \
+ gtkdoc-mkhtml.log \
+ gtkdoc-fixxref.log
+
+@BUILD_TESTS_TRUE@TESTS_ENVIRONMENT = \
+@BUILD_TESTS_TRUE@ DOC_MODULE=$(DOC_MODULE) DOC_MAIN_SGML_FILE=$(DOC_MAIN_SGML_FILE) \
+@BUILD_TESTS_TRUE@ PATH=$(abs_top_builddir):$(srcdir):$(PATH) \
+@BUILD_TESTS_TRUE@ PERL5LIB=$(abs_top_builddir):$(PERL5LIB)
+
+GITIGNOREFILES = \
+ tester-docs.xml \
+ tester-sections.txt
+
+all: all-am
+
+.SUFFIXES:
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/tests/gtk-doc.notmpl.make $(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) --gnu tests/empty/docs/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --gnu tests/empty/docs/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: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+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
+ $(MAKE) $(AM_MAKEFLAGS) check-local
+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)
+ -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES)
+
+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 clean-libtool clean-local mostlyclean-am
+
+distclean: distclean-am
+ -rm -f Makefile
+distclean-am: clean-am distclean-generic distclean-local
+
+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 \
+ maintainer-clean-local
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-generic mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am:
+
+.MAKE: check-am install-am install-strip
+
+.PHONY: all all-am check check-am check-local clean clean-generic \
+ clean-libtool clean-local distclean distclean-generic \
+ distclean-libtool distclean-local 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 maintainer-clean-local mostlyclean \
+ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+ uninstall uninstall-am
+
+
+check-local: html-build.stamp pdf-build.stamp
+ @ts1=`cat ts`;ts2=`date +%s.%N`;tsd=`echo $$ts2-$$ts1 | bc`; \
+ echo " DOC `date --utc --date @0$$tsd +%H:%M:%S.%N`: All done"
+
+docs: html-build.stamp pdf-build.stamp
+ @ts1=`cat ts`;ts2=`date +%s.%N`;tsd=`echo $$ts2-$$ts1 | bc`; \
+ echo " DOC `date --utc --date @0$$tsd +%H:%M:%S.%N`: All done"
+
+$(REPORT_FILES): sgml-build.stamp
+
+ts:
+ @echo >ts `date +%s.%N`;
+
+#### setup ####
+
+setup-build.stamp: ts
+ -@if test "$(abs_srcdir)" != "$(abs_builddir)" ; then \
+ echo ' DOC Preparing build'; \
+ files=`echo $(SETUP_FILES) $(expand_content_files) $(DOC_MODULE).types`; \
+ if test "x$$files" != "x" ; then \
+ for file in $$files ; do \
+ test -f $(abs_srcdir)/$$file && \
+ cp -pu $(abs_srcdir)/$$file $(abs_builddir)/ || true; \
+ done; \
+ fi; \
+ fi
+ @touch setup-build.stamp
+
+#### scan ####
+
+scan-build.stamp: ts $(HFILE_GLOB) $(CFILE_GLOB)
+ @ts1=`cat ts`;ts2=`date +%s.%N`;tsd=`echo $$ts2-$$ts1 | bc`; \
+ echo " DOC `date --utc --date @0$$tsd +%H:%M:%S.%N`: Scanning header files"
+ @_source_dir='' ; \
+ for i in $(DOC_SOURCE_DIR) ; do \
+ _source_dir="$${_source_dir} --source-dir=$$i" ; \
+ done ; \
+ echo "gtkdoc-scan --module=$(DOC_MODULE) --ignore-headers="$(IGNORE_HFILES)" $${_source_dir} $(SCAN_OPTIONS) $(EXTRA_HFILES)" >gtkdoc-scan.log; \
+ PATH=$(abs_top_builddir):$(PATH) PERL5LIB=$(abs_top_builddir):$(PERL5LIB) \
+ gtkdoc-scan --module=$(DOC_MODULE) --ignore-headers="$(IGNORE_HFILES)" $${_source_dir} $(SCAN_OPTIONS) $(EXTRA_HFILES) 2>&1 | tee -a gtkdoc-scan.log
+ @if grep -l '^..*$$' $(DOC_MODULE).types > /dev/null 2>&1 ; then \
+ ts1=`cat ts`;ts2=`date +%s.%N`;tsd=`echo $$ts2-$$ts1 | bc`; \
+ echo " DOC `date --utc --date @0$$tsd +%H:%M:%S.%N`: Introspecting gobjects"; \
+ scanobj_options=""; \
+ if test "x$(V)" = "x1"; then \
+ scanobj_options="--verbose"; \
+ fi; \
+ echo "gtkdoc-scangobj $(SCANGOBJ_OPTIONS) --module=$(DOC_MODULE) $$scanobj_options" >gtkdoc-scangobj.log; \
+ PATH=$(abs_top_builddir):$(PATH) PERL5LIB=$(abs_top_builddir):$(PERL5LIB) \
+ CC="$(GTKDOC_CC)" LD="$(GTKDOC_LD)" RUN="$(GTKDOC_RUN)" CFLAGS="$(GTKDOC_CFLAGS) $(CFLAGS)" LDFLAGS="$(GTKDOC_LIBS) $(LDFLAGS)" \
+ gtkdoc-scangobj $(SCANGOBJ_OPTIONS) --module=$(DOC_MODULE) $$scanobj_options 2>&1 | tee -a gtkdoc-scangobj.log; \
+ else \
+ for i in $(SCANOBJ_FILES) ; do \
+ test -f $$i || touch $$i ; \
+ done \
+ fi
+ @touch scan-build.stamp
+
+$(DOC_MODULE)-decl.txt $(SCANOBJ_FILES) $(DOC_MODULE)-sections.txt $(DOC_MODULE)-overrides.txt: scan-build.stamp
+ @true
+
+#### xml ####
+
+sgml-build.stamp: setup-build.stamp $(DOC_MODULE)-decl.txt $(SCANOBJ_FILES) $(DOC_MODULE)-sections.txt $(DOC_MODULE)-overrides.txt $(expand_content_files)
+ @ts1=`cat ts`;ts2=`date +%s.%N`;tsd=`echo $$ts2-$$ts1 | bc`; \
+ echo " DOC `date --utc --date @0$$tsd +%H:%M:%S.%N`: Building XML"
+ @_source_dir='' ; \
+ for i in $(DOC_SOURCE_DIR) ; do \
+ _source_dir="$${_source_dir} --source-dir=$$i" ; \
+ done ; \
+ echo "gtkdoc-mkdb --module=$(DOC_MODULE) --output-format=xml --expand-content-files="$(expand_content_files)" --main-sgml-file=$(DOC_MAIN_SGML_FILE) $${_source_dir} $(MKDB_OPTIONS)" >gtkdoc-mkdb.log; \
+ PATH=$(abs_top_builddir):$(PATH) PERL5LIB=$(abs_top_builddir):$(PERL5LIB) \
+ gtkdoc-mkdb --module=$(DOC_MODULE) --output-format=xml --expand-content-files="$(expand_content_files)" --main-sgml-file=$(DOC_MAIN_SGML_FILE) $${_source_dir} $(MKDB_OPTIONS) 2>&1 | tee -a gtkdoc-mkdb.log
+ @touch sgml-build.stamp
+
+sgml.stamp: sgml-build.stamp
+ @true
+
+#### html ####
+
+html-build.stamp: sgml.stamp $(DOC_MAIN_SGML_FILE) $(content_files)
+ @ts1=`cat ts`;ts2=`date +%s.%N`;tsd=`echo $$ts2-$$ts1 | bc`; \
+ echo " DOC `date --utc --date @00$$tsd +%H:%M:%S.%N`: Building HTML"
+ @rm -rf html
+ @mkdir html
+ @mkhtml_options=""; \
+ if test "x$(V)" = "x1"; then \
+ mkhtml_options="$$mkhtml_options --verbose"; \
+ fi; \
+ echo "gtkdoc-mkhtml --uninstalled --path="$(abs_srcdir)" $$mkhtml_options $(MKHTML_OPTIONS) $(DOC_MODULE) ../$(DOC_MAIN_SGML_FILE)" >gtkdoc-mkhtml.log; \
+ cd html && PATH=$(abs_top_builddir):$(PATH) PERL5LIB=$(abs_top_builddir):$(PERL5LIB) ABS_TOP_SRCDIR=$(abs_top_srcdir) \
+ gtkdoc-mkhtml --uninstalled --path="$(abs_srcdir)" $$mkhtml_options $(MKHTML_OPTIONS) $(DOC_MODULE) ../$(DOC_MAIN_SGML_FILE) 2>&1 | tee -a ../gtkdoc-mkhtml.log
+ -@test "x$(HTML_IMAGES)" = "x" || \
+ for file in $(HTML_IMAGES) ; do \
+ if test -f $(abs_srcdir)/$$file ; then \
+ cp $(abs_srcdir)/$$file $(abs_builddir)/html; \
+ fi; \
+ if test -f $(abs_builddir)/$$file ; then \
+ cp $(abs_builddir)/$$file $(abs_builddir)/html; \
+ fi; \
+ done;
+ @ts1=`cat ts`;ts2=`date +%s.%N`;tsd=`echo $$ts2-$$ts1 | bc`; \
+ echo " DOC `date --utc --date @0$$tsd +%H:%M:%S.%N`: Fixing cross-references"
+ @echo "gtkdoc-fixxref --module=$(DOC_MODULE) --module-dir=html --html-dir=$(HTML_DIR) $(FIXXREF_OPTIONS)" >gtkdoc-fixxref.log; \
+ PATH=$(abs_top_builddir):$(PATH) PERL5LIB=$(abs_top_builddir):$(PERL5LIB) \
+ gtkdoc-fixxref --module=$(DOC_MODULE) --module-dir=html --html-dir=$(HTML_DIR) $(FIXXREF_OPTIONS) 2>&1 | tee -a gtkdoc-fixxref.log
+ @touch html-build.stamp
+
+#### pdf ####
+
+pdf-build.stamp: sgml.stamp $(DOC_MAIN_SGML_FILE) $(content_files)
+ @ts1=`cat ts`;ts2=`date +%s.%N`;tsd=`echo $$ts2-$$ts1 | bc`; \
+ echo " DOC `date --utc --date @0$$tsd +%H:%M:%S.%N`: Building PDF"
+ @rm -f $(DOC_MODULE).pdf
+ @mkpdf_options=""; \
+ if test "x$(V)" = "x1"; then \
+ mkpdf_options="$$mkpdf_options --verbose"; \
+ fi; \
+ if test "x$(HTML_IMAGES)" != "x"; then \
+ for img in $(HTML_IMAGES); do \
+ part=`dirname $$img`; \
+ echo $$mkpdf_options | grep >/dev/null "\-\-imgdir=$$part "; \
+ if test $$? != 0; then \
+ mkpdf_options="$$mkpdf_options --imgdir=$$part"; \
+ fi; \
+ done; \
+ fi; \
+ echo "gtkdoc-mkpdf --uninstalled --path="$(abs_srcdir)" $$mkpdf_options $(DOC_MODULE) $(DOC_MAIN_SGML_FILE) $(MKPDF_OPTIONS)" >gtkdoc-mkpdf.log; \
+ PATH=$(abs_top_builddir):$(PATH) PERL5LIB=$(abs_top_builddir):$(PERL5LIB) ABS_TOP_SRCDIR=$(abs_top_srcdir) \
+ gtkdoc-mkpdf --uninstalled --path="$(abs_srcdir)" $$mkpdf_options $(DOC_MODULE) $(DOC_MAIN_SGML_FILE) $(MKPDF_OPTIONS) 2>&1 | tee -a gtkdoc-mkpdf.log
+ @touch pdf-build.stamp
+
+##############
+
+# we need to enforce a rebuild for the tests
+clean-local:
+ @rm -f *~ *.bak ts
+ @rm -rf .libs
+ $(MAKE) distclean-local
+
+distclean-local:
+ @rm -rf xml html $(REPORT_FILES) $(DOC_MODULE).pdf \
+ $(DOC_MODULE)-decl-list.txt $(DOC_MODULE)-decl.txt
+ @if test "$(abs_srcdir)" != "$(abs_builddir)" ; then \
+ rm -f $(SETUP_FILES) $(expand_content_files) $(DOC_MODULE).types; \
+ fi
+
+maintainer-clean-local: clean
+ @rm -rf xml html
+
+.PHONY : dist-hook-local docs
+
+-include $(top_srcdir)/git.mk
+
+# 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:
--- /dev/null
+<?xml version="1.0"?>
+<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
+ "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd"
+[
+ <!ENTITY % local.common.attrib "xmlns:xi CDATA #FIXED 'http://www.w3.org/2003/XInclude'">
+]>
+<book id="index">
+ <bookinfo>
+ <title>tester Reference Manual</title>
+ <releaseinfo>
+ for tester [VERSION].
+ The latest version of this documentation can be found on-line at
+ <ulink role="online-location" url="http://[SERVER]/tester/index.html">http://[SERVER]/tester/</ulink>.
+ </releaseinfo>
+ </bookinfo>
+
+ <chapter>
+ <title>[Insert title here]</title>
+ <xi:include href="xml/tester.xml"/>
+
+ </chapter>
+ <chapter id="object-tree">
+ <title>Object Hierarchy</title>
+ <xi:include href="xml/tree_index.sgml"/>
+ </chapter>
+ <index id="api-index-full">
+ <title>API Index</title>
+ <xi:include href="xml/api-index-full.xml"><xi:fallback /></xi:include>
+ </index>
+ <index id="deprecated-api-index" role="deprecated">
+ <title>Index of deprecated API</title>
+ <xi:include href="xml/api-index-deprecated.xml"><xi:fallback /></xi:include>
+ </index>
+
+ <xi:include href="xml/annotation-glossary.xml"><xi:fallback /></xi:include>
+</book>
--- /dev/null
+<SECTION>
+<FILE>tester</FILE>
+test
+</SECTION>
+
--- /dev/null
+## Process this file with automake to produce Makefile.in
+
+if BUILD_TESTS
+
+noinst_LTLIBRARIES = libtester.la
+
+libtester_la_SOURCES = tester.c tester.h
+#libtester_la_LIBADD = $(TEST_DEPS_LIBS)
+
+AM_CPPFLAGS = $(TEST_DEPS_CFLAGS)
+
+endif
+
+
+-include $(top_srcdir)/git.mk
--- /dev/null
+# 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@
+pkgdatadir = $(datadir)/@PACKAGE@
+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 = :
+build_triplet = @build@
+host_triplet = @host@
+subdir = tests/empty/src
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/gnome-doc-utils.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
+ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/acinclude.m4 \
+ $(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 =
+LTLIBRARIES = $(noinst_LTLIBRARIES)
+libtester_la_LIBADD =
+am__libtester_la_SOURCES_DIST = tester.c tester.h
+@BUILD_TESTS_TRUE@am_libtester_la_OBJECTS = tester.lo
+libtester_la_OBJECTS = $(am_libtester_la_OBJECTS)
+AM_V_lt = $(am__v_lt_$(V))
+am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY))
+am__v_lt_0 = --silent
+@BUILD_TESTS_TRUE@am_libtester_la_rpath =
+DEFAULT_INCLUDES = -I.@am__isrc@
+depcomp = $(SHELL) $(top_srcdir)/build-aux/depcomp
+am__depfiles_maybe = depfiles
+am__mv = mv -f
+COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
+ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
+ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+ $(AM_CFLAGS) $(CFLAGS)
+AM_V_CC = $(am__v_CC_$(V))
+am__v_CC_ = $(am__v_CC_$(AM_DEFAULT_VERBOSITY))
+am__v_CC_0 = @echo " CC " $@;
+AM_V_at = $(am__v_at_$(V))
+am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
+am__v_at_0 = @
+CCLD = $(CC)
+LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+ $(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CCLD = $(am__v_CCLD_$(V))
+am__v_CCLD_ = $(am__v_CCLD_$(AM_DEFAULT_VERBOSITY))
+am__v_CCLD_0 = @echo " CCLD " $@;
+AM_V_GEN = $(am__v_GEN_$(V))
+am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
+am__v_GEN_0 = @echo " GEN " $@;
+SOURCES = $(libtester_la_SOURCES)
+DIST_SOURCES = $(am__libtester_la_SOURCES_DIST)
+ETAGS = etags
+CTAGS = ctags
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
+AR = @AR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DBLATEX = @DBLATEX@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DISTCHECK_CONFIGURE_FLAGS = @DISTCHECK_CONFIGURE_FLAGS@
+DOC_USER_FORMATS = @DOC_USER_FORMATS@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+FGREP = @FGREP@
+FOP = @FOP@
+GREP = @GREP@
+HELP_DIR = @HELP_DIR@
+HIGHLIGHT = @HIGHLIGHT@
+HIGHLIGHT_OPTIONS = @HIGHLIGHT_OPTIONS@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+JADE = @JADE@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+MKDIR_P = @MKDIR_P@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OMF_DIR = @OMF_DIR@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_DATA_DIR = @PACKAGE_DATA_DIR@
+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@
+PKG_CONFIG = @PKG_CONFIG@
+PYTHON = @PYTHON@
+PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
+PYTHON_PLATFORM = @PYTHON_PLATFORM@
+PYTHON_PREFIX = @PYTHON_PREFIX@
+PYTHON_VERSION = @PYTHON_VERSION@
+RANLIB = @RANLIB@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SGML_FORMAT_TYPE = @SGML_FORMAT_TYPE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+TEST_DEPS_CFLAGS = @TEST_DEPS_CFLAGS@
+TEST_DEPS_LIBS = @TEST_DEPS_LIBS@
+TRACE = @TRACE@
+VERSION = @VERSION@
+XMLCATALOG = @XMLCATALOG@
+XML_CATALOG_FILE = @XML_CATALOG_FILE@
+XSLTPROC = @XSLTPROC@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+glib_prefix = @glib_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+lt_ECHO = @lt_ECHO@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+pkgpyexecdir = @pkgpyexecdir@
+pkgpythondir = @pkgpythondir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+pyexecdir = @pyexecdir@
+pythondir = @pythondir@
+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@
+@BUILD_TESTS_TRUE@noinst_LTLIBRARIES = libtester.la
+@BUILD_TESTS_TRUE@libtester_la_SOURCES = tester.c tester.h
+#libtester_la_LIBADD = $(TEST_DEPS_LIBS)
+@BUILD_TESTS_TRUE@AM_CPPFLAGS = $(TEST_DEPS_CFLAGS)
+all: all-am
+
+.SUFFIXES:
+.SUFFIXES: .c .lo .o .obj
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(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) --gnu tests/empty/src/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --gnu tests/empty/src/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: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
+
+clean-noinstLTLIBRARIES:
+ -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES)
+ @list='$(noinst_LTLIBRARIES)'; for p in $$list; do \
+ dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
+ test "$$dir" != "$$p" || dir=.; \
+ echo "rm -f \"$${dir}/so_locations\""; \
+ rm -f "$${dir}/so_locations"; \
+ done
+libtester.la: $(libtester_la_OBJECTS) $(libtester_la_DEPENDENCIES)
+ $(AM_V_CCLD)$(LINK) $(am_libtester_la_rpath) $(libtester_la_OBJECTS) $(libtester_la_LIBADD) $(LIBS)
+
+mostlyclean-compile:
+ -rm -f *.$(OBJEXT)
+
+distclean-compile:
+ -rm -f *.tab.c
+
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tester.Plo@am__quote@
+
+.c.o:
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(COMPILE) -c $<
+
+.c.obj:
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
+
+.c.lo:
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+
+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: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ set x; \
+ here=`pwd`; \
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; 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: $(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)
+ @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 $(LTLIBRARIES)
+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 clean-libtool clean-noinstLTLIBRARIES \
+ mostlyclean-am
+
+distclean: distclean-am
+ -rm -rf ./$(DEPDIR)
+ -rm -f Makefile
+distclean-am: clean-am distclean-compile distclean-generic \
+ distclean-tags
+
+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 -rf ./$(DEPDIR)
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-compile mostlyclean-generic \
+ mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am:
+
+.MAKE: install-am install-strip
+
+.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
+ clean-libtool clean-noinstLTLIBRARIES ctags distclean \
+ distclean-compile distclean-generic distclean-libtool \
+ 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 \
+ maintainer-clean maintainer-clean-generic mostlyclean \
+ mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
+ pdf pdf-am ps ps-am tags uninstall uninstall-am
+
+
+-include $(top_srcdir)/git.mk
+
+# 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:
--- /dev/null
+/**
+ * SECTION:tester
+ * @short_description: module for gtk-doc unit test
+ *
+ * This file contains non-sense code for the sole purpose of testing the docs.
+ *
+ * As described in http://bugzilla.gnome.org/show_bug.cgi?id=457077 it
+ * returns nothing.
+ */
+
+#include <glib.h>
+
+#include "tester.h"
+
+/**
+ * test:
+ * @a: arg
+ *
+ * lonely function
+ */
+void test (gint a) {
+}
+
--- /dev/null
+#ifndef GTKDOC_TESTER_H
+#define GTKDOC_TESTER_H
+
+#include <glib.h>
+
+
+void test (gint a);
+
+#endif // GTKDOC_TESTER_H
+
--- /dev/null
+#!/bin/sh
+
+dir=`dirname $0`
+suite="fail"
+DOC_MODULE="tester"
+failed=0
+tested=0
+
+cd $dir/$suite/docs
+
+echo "Running suite(s): gtk-doc-$suite";
+
+# tests
+# check missing section description
+# we can't just check for a missing "tester_nodocs" entry
+grep >/dev/null "tester_nodocs:Long_Description" $DOC_MODULE-undocumented.txt
+if test $? = 1 ; then failed=$(($failed + 1)); fi
+tested=$(($tested + 1))
+
+# check missing section long description
+grep >/dev/null "tester_nolongdesc:Long_Description" $DOC_MODULE-undocumented.txt
+if test $? = 1 ; then failed=$(($failed + 1)); fi
+tested=$(($tested + 1))
+
+# check missing section short description
+grep >/dev/null "tester_noshortdesc:Short_Description" $DOC_MODULE-undocumented.txt
+if test $? = 1 ; then failed=$(($failed + 1)); fi
+tested=$(($tested + 1))
+
+# check enums
+grep >/dev/null "EnumNoItemDocs (<items>)" $DOC_MODULE-undocumented.txt
+if test $? = 1 ; then failed=$(($failed + 1)); fi
+tested=$(($tested + 1))
+
+# summary
+rate=$((100*($tested - $failed)/$tested));
+echo "$rate %: Checks $tested, Failures: $failed"
+
+test $failed = 0
+exit $?
--- /dev/null
+## Process this file with automake to produce Makefile.in
+
+SUBDIRS = . src docs
+
+if BUILD_TESTS
+
+check-local: clean
+
+endif
+
+
+-include $(top_srcdir)/git.mk
--- /dev/null
+# 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@
+pkgdatadir = $(datadir)/@PACKAGE@
+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 = :
+build_triplet = @build@
+host_triplet = @host@
+subdir = tests/fail
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/gnome-doc-utils.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
+ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/acinclude.m4 \
+ $(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 =
+AM_V_GEN = $(am__v_GEN_$(V))
+am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
+am__v_GEN_0 = @echo " GEN " $@;
+AM_V_at = $(am__v_at_$(V))
+am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
+am__v_at_0 = @
+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
+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"
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
+AR = @AR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DBLATEX = @DBLATEX@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DISTCHECK_CONFIGURE_FLAGS = @DISTCHECK_CONFIGURE_FLAGS@
+DOC_USER_FORMATS = @DOC_USER_FORMATS@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+FGREP = @FGREP@
+FOP = @FOP@
+GREP = @GREP@
+HELP_DIR = @HELP_DIR@
+HIGHLIGHT = @HIGHLIGHT@
+HIGHLIGHT_OPTIONS = @HIGHLIGHT_OPTIONS@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+JADE = @JADE@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+MKDIR_P = @MKDIR_P@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OMF_DIR = @OMF_DIR@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_DATA_DIR = @PACKAGE_DATA_DIR@
+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@
+PKG_CONFIG = @PKG_CONFIG@
+PYTHON = @PYTHON@
+PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
+PYTHON_PLATFORM = @PYTHON_PLATFORM@
+PYTHON_PREFIX = @PYTHON_PREFIX@
+PYTHON_VERSION = @PYTHON_VERSION@
+RANLIB = @RANLIB@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SGML_FORMAT_TYPE = @SGML_FORMAT_TYPE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+TEST_DEPS_CFLAGS = @TEST_DEPS_CFLAGS@
+TEST_DEPS_LIBS = @TEST_DEPS_LIBS@
+TRACE = @TRACE@
+VERSION = @VERSION@
+XMLCATALOG = @XMLCATALOG@
+XML_CATALOG_FILE = @XML_CATALOG_FILE@
+XSLTPROC = @XSLTPROC@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+glib_prefix = @glib_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+lt_ECHO = @lt_ECHO@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+pkgpyexecdir = @pkgpyexecdir@
+pkgpythondir = @pkgpythondir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+pyexecdir = @pyexecdir@
+pythondir = @pythondir@
+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 = . src docs
+all: all-recursive
+
+.SUFFIXES:
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(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) --gnu tests/fail/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --gnu tests/fail/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: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+
+# 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)
+ @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
+@BUILD_TESTS_FALSE@check-local:
+check-am: all-am
+ $(MAKE) $(AM_MAKEFLAGS) check-local
+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:
+
+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 clean-libtool 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 mostlyclean-libtool
+
+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-am check-local clean clean-generic \
+ clean-libtool ctags ctags-recursive distclean \
+ distclean-generic distclean-libtool 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 mostlyclean-libtool pdf pdf-am ps ps-am \
+ tags tags-recursive uninstall uninstall-am
+
+
+@BUILD_TESTS_TRUE@check-local: clean
+
+-include $(top_srcdir)/git.mk
+
+# 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:
--- /dev/null
+## Process this file with automake to produce Makefile.in
+
+# We require automake 1.6 at least.
+AUTOMAKE_OPTIONS = 1.6
+
+# The name of the module, e.g. 'glib'.
+DOC_MODULE=tester
+
+# The top-level SGML file. You can change this if you want to.
+DOC_MAIN_SGML_FILE=$(DOC_MODULE)-docs.xml
+
+# The directory containing the source code. Relative to $(srcdir).
+# gtk-doc will search all .c & .h files beneath here for inline comments
+# documenting the functions and macros.
+DOC_SOURCE_DIR=$(top_srcdir)/tests/fail/src
+
+# Extra options to pass to gtkdoc-scangobj. Not normally needed.
+SCANGOBJ_OPTIONS=
+
+# Extra options to supply to gtkdoc-scan.
+SCAN_OPTIONS=--deprecated-guards="GTKDOC_TESTER_DISABLE_DEPRECATED" \
+ --ignore-decorators="GLIB_VAR"
+
+# Extra options to supply to gtkdoc-mkdb.
+MKDB_OPTIONS=
+# Extra options to supply to gtkdoc-mktmpl
+# e.g. MKTMPL_OPTIONS=--only-section-tmpl
+MKTMPL_OPTIONS=
+
+# Extra options to supply to gtkdoc-mkhtml
+MKHTML_OPTIONS=
+
+# Extra options to supply to gtkdoc-fixref. Not normally needed.
+# --html-dir=$(HTML_DIR)
+FIXXREF_OPTIONS=--extra-dir=$(glib_prefix)/share/gtk-doc/html
+
+# Used for dependencies. The docs will be rebuilt if any of these change.
+HFILE_GLOB=$(top_srcdir)/tests/fail/src/*.h
+CFILE_GLOB=$(top_srcdir)/tests/fail/src/*.c
+
+# Header files to ignore when scanning.
+IGNORE_HFILES=config.h
+
+# Images to copy into HTML directory.
+HTML_IMAGES =
+
+# Extra SGML files that are included by $(DOC_MAIN_SGML_FILE).
+# e.g. content_files=running.sgml building.sgml changes-2.0.sgml
+content_files =
+
+# SGML files where gtk-doc abbrevations (#GtkWidget) are expanded
+# These files must be listed here *and* in content_files
+# e.g. expand_content_files=running.sgml
+expand_content_files=
+
+# CFLAGS and LDFLAGS for compiling gtkdoc-scangobj with your library.
+# Only needed if you are using gtkdoc-scangobj to dynamically query widget
+# signals and properties.
+GTKDOC_CFLAGS = -I$(top_srcdir)/tests/fail/src $(TEST_DEPS_CFLAGS)
+GTKDOC_LIBS = $(TEST_DEPS_LIBS) $(top_builddir)/tests/fail/src/libtester.la
+
+# include generic part
+include $(top_srcdir)/tests/gtk-doc.notmpl.make
+
+# Other files to distribute
+# e.g. EXTRA_DIST += version.xml.in
+EXTRA_DIST +=
+
+DISTCLEANFILES = \
+ gtkdoc-scan.log \
+ gtkdoc-scangobj.log \
+ gtkdoc-mktmpl.log \
+ gtkdoc-mkdb.log \
+ gtkdoc-mkhtml.log \
+ gtkdoc-fixxref.log
+
+if BUILD_TESTS
+TESTS_ENVIRONMENT = \
+ DOC_MODULE=$(DOC_MODULE) DOC_MAIN_SGML_FILE=$(DOC_MAIN_SGML_FILE) \
+ PATH=$(abs_top_builddir):$(srcdir):$(PATH) \
+ PERL5LIB=$(abs_top_builddir):$(PERL5LIB)
+endif
+
+-include $(top_srcdir)/git.mk
--- /dev/null
+# 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@
+
+# -*- mode: makefile -*-
+
+####################################
+# Everything below here is generic #
+####################################
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+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 = :
+build_triplet = @build@
+host_triplet = @host@
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
+ $(top_srcdir)/tests/gtk-doc.notmpl.make
+subdir = tests/fail/docs
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/gnome-doc-utils.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
+ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/acinclude.m4 \
+ $(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 =
+AM_V_GEN = $(am__v_GEN_$(V))
+am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
+am__v_GEN_0 = @echo " GEN " $@;
+AM_V_at = $(am__v_at_$(V))
+am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
+am__v_at_0 = @
+SOURCES =
+DIST_SOURCES =
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
+AR = @AR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DBLATEX = @DBLATEX@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DISTCHECK_CONFIGURE_FLAGS = @DISTCHECK_CONFIGURE_FLAGS@
+DOC_USER_FORMATS = @DOC_USER_FORMATS@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+FGREP = @FGREP@
+FOP = @FOP@
+GREP = @GREP@
+HELP_DIR = @HELP_DIR@
+HIGHLIGHT = @HIGHLIGHT@
+HIGHLIGHT_OPTIONS = @HIGHLIGHT_OPTIONS@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+JADE = @JADE@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+MKDIR_P = @MKDIR_P@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OMF_DIR = @OMF_DIR@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_DATA_DIR = @PACKAGE_DATA_DIR@
+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@
+PKG_CONFIG = @PKG_CONFIG@
+PYTHON = @PYTHON@
+PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
+PYTHON_PLATFORM = @PYTHON_PLATFORM@
+PYTHON_PREFIX = @PYTHON_PREFIX@
+PYTHON_VERSION = @PYTHON_VERSION@
+RANLIB = @RANLIB@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SGML_FORMAT_TYPE = @SGML_FORMAT_TYPE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+TEST_DEPS_CFLAGS = @TEST_DEPS_CFLAGS@
+TEST_DEPS_LIBS = @TEST_DEPS_LIBS@
+TRACE = @TRACE@
+VERSION = @VERSION@
+XMLCATALOG = @XMLCATALOG@
+XML_CATALOG_FILE = @XML_CATALOG_FILE@
+XSLTPROC = @XSLTPROC@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+glib_prefix = @glib_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+lt_ECHO = @lt_ECHO@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+pkgpyexecdir = @pkgpyexecdir@
+pkgpythondir = @pkgpythondir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+pyexecdir = @pyexecdir@
+pythondir = @pythondir@
+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@
+
+# We require automake 1.6 at least.
+AUTOMAKE_OPTIONS = 1.6
+
+# The name of the module, e.g. 'glib'.
+DOC_MODULE = tester
+
+# The top-level SGML file. You can change this if you want to.
+DOC_MAIN_SGML_FILE = $(DOC_MODULE)-docs.xml
+
+# The directory containing the source code. Relative to $(srcdir).
+# gtk-doc will search all .c & .h files beneath here for inline comments
+# documenting the functions and macros.
+DOC_SOURCE_DIR = $(top_srcdir)/tests/fail/src
+
+# Extra options to pass to gtkdoc-scangobj. Not normally needed.
+SCANGOBJ_OPTIONS =
+
+# Extra options to supply to gtkdoc-scan.
+SCAN_OPTIONS = --deprecated-guards="GTKDOC_TESTER_DISABLE_DEPRECATED" \
+ --ignore-decorators="GLIB_VAR"
+
+
+# Extra options to supply to gtkdoc-mkdb.
+MKDB_OPTIONS =
+# Extra options to supply to gtkdoc-mktmpl
+# e.g. MKTMPL_OPTIONS=--only-section-tmpl
+MKTMPL_OPTIONS =
+
+# Extra options to supply to gtkdoc-mkhtml
+MKHTML_OPTIONS =
+
+# Extra options to supply to gtkdoc-fixref. Not normally needed.
+# --html-dir=$(HTML_DIR)
+FIXXREF_OPTIONS = --extra-dir=$(glib_prefix)/share/gtk-doc/html
+
+# Used for dependencies. The docs will be rebuilt if any of these change.
+HFILE_GLOB = $(top_srcdir)/tests/fail/src/*.h
+CFILE_GLOB = $(top_srcdir)/tests/fail/src/*.c
+
+# Header files to ignore when scanning.
+IGNORE_HFILES = config.h
+
+# Images to copy into HTML directory.
+HTML_IMAGES =
+
+# Extra SGML files that are included by $(DOC_MAIN_SGML_FILE).
+# e.g. content_files=running.sgml building.sgml changes-2.0.sgml
+content_files =
+
+# SGML files where gtk-doc abbrevations (#GtkWidget) are expanded
+# These files must be listed here *and* in content_files
+# e.g. expand_content_files=running.sgml
+expand_content_files =
+
+# CFLAGS and LDFLAGS for compiling gtkdoc-scangobj with your library.
+# Only needed if you are using gtkdoc-scangobj to dynamically query widget
+# signals and properties.
+GTKDOC_CFLAGS = -I$(top_srcdir)/tests/fail/src $(TEST_DEPS_CFLAGS)
+GTKDOC_LIBS = $(TEST_DEPS_LIBS) $(top_builddir)/tests/fail/src/libtester.la
+@GTK_DOC_USE_LIBTOOL_FALSE@GTKDOC_CC = $(CC) $(INCLUDES) $(GTKDOC_DEPS_CFLAGS) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+@GTK_DOC_USE_LIBTOOL_TRUE@GTKDOC_CC = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(INCLUDES) $(GTKDOC_DEPS_CFLAGS) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+@GTK_DOC_USE_LIBTOOL_FALSE@GTKDOC_LD = $(CC) $(GTKDOC_DEPS_LIBS) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS)
+@GTK_DOC_USE_LIBTOOL_TRUE@GTKDOC_LD = $(LIBTOOL) --tag=CC --mode=link $(CC) $(GTKDOC_DEPS_LIBS) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS)
+@GTK_DOC_USE_LIBTOOL_FALSE@GTKDOC_RUN =
+@GTK_DOC_USE_LIBTOOL_TRUE@GTKDOC_RUN = $(LIBTOOL) --mode=execute
+
+# We set GPATH here; this gives us semantics for GNU make
+# which are more like other make's VPATH, when it comes to
+# whether a source that is a target of one rule is then
+# searched for in VPATH/GPATH.
+#
+GPATH = $(srcdir)
+
+# we don't install anything in tests
+#TARGET_DIR=$(HTML_DIR)/$(DOC_MODULE)
+SETUP_FILES = \
+ $(content_files) \
+ $(DOC_MAIN_SGML_FILE) \
+ $(DOC_MODULE)-sections.txt \
+ $(DOC_MODULE)-overrides.txt
+
+
+# include generic part
+
+# Other files to distribute
+# e.g. EXTRA_DIST += version.xml.in
+EXTRA_DIST = $(HTML_IMAGES) $(SETUP_FILES)
+DOC_STAMPS = setup-build.stamp scan-build.stamp sgml-build.stamp \
+ html-build.stamp pdf-build.stamp \
+ sgml.stamp html.stamp pdf.stamp
+
+SCANOBJ_FILES = \
+ $(DOC_MODULE).args \
+ $(DOC_MODULE).hierarchy \
+ $(DOC_MODULE).interfaces \
+ $(DOC_MODULE).prerequisites \
+ $(DOC_MODULE).signals
+
+REPORT_FILES = \
+ $(DOC_MODULE)-undocumented.txt \
+ $(DOC_MODULE)-undeclared.txt \
+ $(DOC_MODULE)-unused.txt
+
+CLEANFILES = $(SCANOBJ_FILES) $(REPORT_FILES) $(DOC_STAMPS)
+DISTCLEANFILES = \
+ gtkdoc-scan.log \
+ gtkdoc-scangobj.log \
+ gtkdoc-mktmpl.log \
+ gtkdoc-mkdb.log \
+ gtkdoc-mkhtml.log \
+ gtkdoc-fixxref.log
+
+@BUILD_TESTS_TRUE@TESTS_ENVIRONMENT = \
+@BUILD_TESTS_TRUE@ DOC_MODULE=$(DOC_MODULE) DOC_MAIN_SGML_FILE=$(DOC_MAIN_SGML_FILE) \
+@BUILD_TESTS_TRUE@ PATH=$(abs_top_builddir):$(srcdir):$(PATH) \
+@BUILD_TESTS_TRUE@ PERL5LIB=$(abs_top_builddir):$(PERL5LIB)
+
+all: all-am
+
+.SUFFIXES:
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/tests/gtk-doc.notmpl.make $(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) --gnu tests/fail/docs/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --gnu tests/fail/docs/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: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+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
+ $(MAKE) $(AM_MAKEFLAGS) check-local
+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)
+ -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES)
+
+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 clean-libtool clean-local mostlyclean-am
+
+distclean: distclean-am
+ -rm -f Makefile
+distclean-am: clean-am distclean-generic distclean-local
+
+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 \
+ maintainer-clean-local
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-generic mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am:
+
+.MAKE: check-am install-am install-strip
+
+.PHONY: all all-am check check-am check-local clean clean-generic \
+ clean-libtool clean-local distclean distclean-generic \
+ distclean-libtool distclean-local 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 maintainer-clean-local mostlyclean \
+ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+ uninstall uninstall-am
+
+
+check-local: html-build.stamp pdf-build.stamp
+ @ts1=`cat ts`;ts2=`date +%s.%N`;tsd=`echo $$ts2-$$ts1 | bc`; \
+ echo " DOC `date --utc --date @0$$tsd +%H:%M:%S.%N`: All done"
+
+docs: html-build.stamp pdf-build.stamp
+ @ts1=`cat ts`;ts2=`date +%s.%N`;tsd=`echo $$ts2-$$ts1 | bc`; \
+ echo " DOC `date --utc --date @0$$tsd +%H:%M:%S.%N`: All done"
+
+$(REPORT_FILES): sgml-build.stamp
+
+ts:
+ @echo >ts `date +%s.%N`;
+
+#### setup ####
+
+setup-build.stamp: ts
+ -@if test "$(abs_srcdir)" != "$(abs_builddir)" ; then \
+ echo ' DOC Preparing build'; \
+ files=`echo $(SETUP_FILES) $(expand_content_files) $(DOC_MODULE).types`; \
+ if test "x$$files" != "x" ; then \
+ for file in $$files ; do \
+ test -f $(abs_srcdir)/$$file && \
+ cp -pu $(abs_srcdir)/$$file $(abs_builddir)/ || true; \
+ done; \
+ fi; \
+ fi
+ @touch setup-build.stamp
+
+#### scan ####
+
+scan-build.stamp: ts $(HFILE_GLOB) $(CFILE_GLOB)
+ @ts1=`cat ts`;ts2=`date +%s.%N`;tsd=`echo $$ts2-$$ts1 | bc`; \
+ echo " DOC `date --utc --date @0$$tsd +%H:%M:%S.%N`: Scanning header files"
+ @_source_dir='' ; \
+ for i in $(DOC_SOURCE_DIR) ; do \
+ _source_dir="$${_source_dir} --source-dir=$$i" ; \
+ done ; \
+ echo "gtkdoc-scan --module=$(DOC_MODULE) --ignore-headers="$(IGNORE_HFILES)" $${_source_dir} $(SCAN_OPTIONS) $(EXTRA_HFILES)" >gtkdoc-scan.log; \
+ PATH=$(abs_top_builddir):$(PATH) PERL5LIB=$(abs_top_builddir):$(PERL5LIB) \
+ gtkdoc-scan --module=$(DOC_MODULE) --ignore-headers="$(IGNORE_HFILES)" $${_source_dir} $(SCAN_OPTIONS) $(EXTRA_HFILES) 2>&1 | tee -a gtkdoc-scan.log
+ @if grep -l '^..*$$' $(DOC_MODULE).types > /dev/null 2>&1 ; then \
+ ts1=`cat ts`;ts2=`date +%s.%N`;tsd=`echo $$ts2-$$ts1 | bc`; \
+ echo " DOC `date --utc --date @0$$tsd +%H:%M:%S.%N`: Introspecting gobjects"; \
+ scanobj_options=""; \
+ if test "x$(V)" = "x1"; then \
+ scanobj_options="--verbose"; \
+ fi; \
+ echo "gtkdoc-scangobj $(SCANGOBJ_OPTIONS) --module=$(DOC_MODULE) $$scanobj_options" >gtkdoc-scangobj.log; \
+ PATH=$(abs_top_builddir):$(PATH) PERL5LIB=$(abs_top_builddir):$(PERL5LIB) \
+ CC="$(GTKDOC_CC)" LD="$(GTKDOC_LD)" RUN="$(GTKDOC_RUN)" CFLAGS="$(GTKDOC_CFLAGS) $(CFLAGS)" LDFLAGS="$(GTKDOC_LIBS) $(LDFLAGS)" \
+ gtkdoc-scangobj $(SCANGOBJ_OPTIONS) --module=$(DOC_MODULE) $$scanobj_options 2>&1 | tee -a gtkdoc-scangobj.log; \
+ else \
+ for i in $(SCANOBJ_FILES) ; do \
+ test -f $$i || touch $$i ; \
+ done \
+ fi
+ @touch scan-build.stamp
+
+$(DOC_MODULE)-decl.txt $(SCANOBJ_FILES) $(DOC_MODULE)-sections.txt $(DOC_MODULE)-overrides.txt: scan-build.stamp
+ @true
+
+#### xml ####
+
+sgml-build.stamp: setup-build.stamp $(DOC_MODULE)-decl.txt $(SCANOBJ_FILES) $(DOC_MODULE)-sections.txt $(DOC_MODULE)-overrides.txt $(expand_content_files)
+ @ts1=`cat ts`;ts2=`date +%s.%N`;tsd=`echo $$ts2-$$ts1 | bc`; \
+ echo " DOC `date --utc --date @0$$tsd +%H:%M:%S.%N`: Building XML"
+ @_source_dir='' ; \
+ for i in $(DOC_SOURCE_DIR) ; do \
+ _source_dir="$${_source_dir} --source-dir=$$i" ; \
+ done ; \
+ echo "gtkdoc-mkdb --module=$(DOC_MODULE) --output-format=xml --expand-content-files="$(expand_content_files)" --main-sgml-file=$(DOC_MAIN_SGML_FILE) $${_source_dir} $(MKDB_OPTIONS)" >gtkdoc-mkdb.log; \
+ PATH=$(abs_top_builddir):$(PATH) PERL5LIB=$(abs_top_builddir):$(PERL5LIB) \
+ gtkdoc-mkdb --module=$(DOC_MODULE) --output-format=xml --expand-content-files="$(expand_content_files)" --main-sgml-file=$(DOC_MAIN_SGML_FILE) $${_source_dir} $(MKDB_OPTIONS) 2>&1 | tee -a gtkdoc-mkdb.log
+ @touch sgml-build.stamp
+
+sgml.stamp: sgml-build.stamp
+ @true
+
+#### html ####
+
+html-build.stamp: sgml.stamp $(DOC_MAIN_SGML_FILE) $(content_files)
+ @ts1=`cat ts`;ts2=`date +%s.%N`;tsd=`echo $$ts2-$$ts1 | bc`; \
+ echo " DOC `date --utc --date @00$$tsd +%H:%M:%S.%N`: Building HTML"
+ @rm -rf html
+ @mkdir html
+ @mkhtml_options=""; \
+ if test "x$(V)" = "x1"; then \
+ mkhtml_options="$$mkhtml_options --verbose"; \
+ fi; \
+ echo "gtkdoc-mkhtml --uninstalled --path="$(abs_srcdir)" $$mkhtml_options $(MKHTML_OPTIONS) $(DOC_MODULE) ../$(DOC_MAIN_SGML_FILE)" >gtkdoc-mkhtml.log; \
+ cd html && PATH=$(abs_top_builddir):$(PATH) PERL5LIB=$(abs_top_builddir):$(PERL5LIB) ABS_TOP_SRCDIR=$(abs_top_srcdir) \
+ gtkdoc-mkhtml --uninstalled --path="$(abs_srcdir)" $$mkhtml_options $(MKHTML_OPTIONS) $(DOC_MODULE) ../$(DOC_MAIN_SGML_FILE) 2>&1 | tee -a ../gtkdoc-mkhtml.log
+ -@test "x$(HTML_IMAGES)" = "x" || \
+ for file in $(HTML_IMAGES) ; do \
+ if test -f $(abs_srcdir)/$$file ; then \
+ cp $(abs_srcdir)/$$file $(abs_builddir)/html; \
+ fi; \
+ if test -f $(abs_builddir)/$$file ; then \
+ cp $(abs_builddir)/$$file $(abs_builddir)/html; \
+ fi; \
+ done;
+ @ts1=`cat ts`;ts2=`date +%s.%N`;tsd=`echo $$ts2-$$ts1 | bc`; \
+ echo " DOC `date --utc --date @0$$tsd +%H:%M:%S.%N`: Fixing cross-references"
+ @echo "gtkdoc-fixxref --module=$(DOC_MODULE) --module-dir=html --html-dir=$(HTML_DIR) $(FIXXREF_OPTIONS)" >gtkdoc-fixxref.log; \
+ PATH=$(abs_top_builddir):$(PATH) PERL5LIB=$(abs_top_builddir):$(PERL5LIB) \
+ gtkdoc-fixxref --module=$(DOC_MODULE) --module-dir=html --html-dir=$(HTML_DIR) $(FIXXREF_OPTIONS) 2>&1 | tee -a gtkdoc-fixxref.log
+ @touch html-build.stamp
+
+#### pdf ####
+
+pdf-build.stamp: sgml.stamp $(DOC_MAIN_SGML_FILE) $(content_files)
+ @ts1=`cat ts`;ts2=`date +%s.%N`;tsd=`echo $$ts2-$$ts1 | bc`; \
+ echo " DOC `date --utc --date @0$$tsd +%H:%M:%S.%N`: Building PDF"
+ @rm -f $(DOC_MODULE).pdf
+ @mkpdf_options=""; \
+ if test "x$(V)" = "x1"; then \
+ mkpdf_options="$$mkpdf_options --verbose"; \
+ fi; \
+ if test "x$(HTML_IMAGES)" != "x"; then \
+ for img in $(HTML_IMAGES); do \
+ part=`dirname $$img`; \
+ echo $$mkpdf_options | grep >/dev/null "\-\-imgdir=$$part "; \
+ if test $$? != 0; then \
+ mkpdf_options="$$mkpdf_options --imgdir=$$part"; \
+ fi; \
+ done; \
+ fi; \
+ echo "gtkdoc-mkpdf --uninstalled --path="$(abs_srcdir)" $$mkpdf_options $(DOC_MODULE) $(DOC_MAIN_SGML_FILE) $(MKPDF_OPTIONS)" >gtkdoc-mkpdf.log; \
+ PATH=$(abs_top_builddir):$(PATH) PERL5LIB=$(abs_top_builddir):$(PERL5LIB) ABS_TOP_SRCDIR=$(abs_top_srcdir) \
+ gtkdoc-mkpdf --uninstalled --path="$(abs_srcdir)" $$mkpdf_options $(DOC_MODULE) $(DOC_MAIN_SGML_FILE) $(MKPDF_OPTIONS) 2>&1 | tee -a gtkdoc-mkpdf.log
+ @touch pdf-build.stamp
+
+##############
+
+# we need to enforce a rebuild for the tests
+clean-local:
+ @rm -f *~ *.bak ts
+ @rm -rf .libs
+ $(MAKE) distclean-local
+
+distclean-local:
+ @rm -rf xml html $(REPORT_FILES) $(DOC_MODULE).pdf \
+ $(DOC_MODULE)-decl-list.txt $(DOC_MODULE)-decl.txt
+ @if test "$(abs_srcdir)" != "$(abs_builddir)" ; then \
+ rm -f $(SETUP_FILES) $(expand_content_files) $(DOC_MODULE).types; \
+ fi
+
+maintainer-clean-local: clean
+ @rm -rf xml html
+
+.PHONY : dist-hook-local docs
+
+-include $(top_srcdir)/git.mk
+
+# 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:
--- /dev/null
+<?xml version="1.0"?>
+<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
+ "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd"
+[
+ <!ENTITY % local.common.attrib "xmlns:xi CDATA #FIXED 'http://www.w3.org/2003/XInclude'">
+]>
+<book id="index" xmlns:xi="http://www.w3.org/2003/XInclude">
+ <bookinfo>
+ <title>tester Reference Manual</title>
+ <releaseinfo>
+ for tester [VERSION].
+ The latest version of this documentation can be found on-line at
+ <ulink role="online-location" url="http://[SERVER]/tester/index.html">http://[SERVER]/tester/</ulink>.
+ </releaseinfo>
+ </bookinfo>
+
+ <chapter>
+ <title>Tests</title>
+ <!--
+ <xi:include href="xml/tester_nodocs.xml"/>
+ <xi:include href="xml/tester_nolongdesc.xml"/>
+ <xi:include href="xml/tester_noshortdesc.xml"/>
+ -->
+ <xi:include href="xml/tester_brokendocs.xml"/>
+ </chapter>
+
+ <index id="api-index">
+ <title>API Index</title>
+ <xi:include href="xml/api-index-full.xml"><xi:fallback /></xi:include>
+ </index>
+ <index id="deprecated-api-index" role="deprecated">
+ <title>Index of deprecated API</title>
+ <xi:include href="xml/api-index-deprecated.xml"><xi:fallback /></xi:include>
+ </index>
+
+</book>
--- /dev/null
+<SECTION>
+<FILE>tester_nodocs</FILE>
+</SECTION>
+
+<SECTION>
+<FILE>tester_nolongdesc</FILE>
+</SECTION>
+
+<SECTION>
+<FILE>tester_noshortdesc</FILE>
+</SECTION>
+
+<SECTION>
+<FILE>tester_brokendocs</FILE>
+MACRO_NO_ITEM_DOCS
+MACRO_INCOMPLETE_DOCS
+MACRO_UNUSED_DOCS
+EnumNoItemDocs
+EnumIncompleteDocs
+EnumUnusedDocs
+StructNoItemDocs
+StructIncompleteDocs
+StructUnusedDocs
+func_no_docs
+func_no_item_docs
+func_incomplete_docs
+func_unused_docs
+</SECTION>
+
--- /dev/null
+## Process this file with automake to produce Makefile.in
+
+if BUILD_TESTS
+
+noinst_LTLIBRARIES = libtester.la
+
+libtester_la_SOURCES = tester.c tester.h
+#libtester_la_LIBADD = $(TEST_DEPS_LIBS)
+
+AM_CPPFLAGS = $(TEST_DEPS_CFLAGS)
+
+endif
+
+
+-include $(top_srcdir)/git.mk
--- /dev/null
+# 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@
+pkgdatadir = $(datadir)/@PACKAGE@
+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 = :
+build_triplet = @build@
+host_triplet = @host@
+subdir = tests/fail/src
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/gnome-doc-utils.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
+ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/acinclude.m4 \
+ $(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 =
+LTLIBRARIES = $(noinst_LTLIBRARIES)
+libtester_la_LIBADD =
+am__libtester_la_SOURCES_DIST = tester.c tester.h
+@BUILD_TESTS_TRUE@am_libtester_la_OBJECTS = tester.lo
+libtester_la_OBJECTS = $(am_libtester_la_OBJECTS)
+AM_V_lt = $(am__v_lt_$(V))
+am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY))
+am__v_lt_0 = --silent
+@BUILD_TESTS_TRUE@am_libtester_la_rpath =
+DEFAULT_INCLUDES = -I.@am__isrc@
+depcomp = $(SHELL) $(top_srcdir)/build-aux/depcomp
+am__depfiles_maybe = depfiles
+am__mv = mv -f
+COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
+ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
+ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+ $(AM_CFLAGS) $(CFLAGS)
+AM_V_CC = $(am__v_CC_$(V))
+am__v_CC_ = $(am__v_CC_$(AM_DEFAULT_VERBOSITY))
+am__v_CC_0 = @echo " CC " $@;
+AM_V_at = $(am__v_at_$(V))
+am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
+am__v_at_0 = @
+CCLD = $(CC)
+LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+ $(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CCLD = $(am__v_CCLD_$(V))
+am__v_CCLD_ = $(am__v_CCLD_$(AM_DEFAULT_VERBOSITY))
+am__v_CCLD_0 = @echo " CCLD " $@;
+AM_V_GEN = $(am__v_GEN_$(V))
+am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
+am__v_GEN_0 = @echo " GEN " $@;
+SOURCES = $(libtester_la_SOURCES)
+DIST_SOURCES = $(am__libtester_la_SOURCES_DIST)
+ETAGS = etags
+CTAGS = ctags
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
+AR = @AR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DBLATEX = @DBLATEX@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DISTCHECK_CONFIGURE_FLAGS = @DISTCHECK_CONFIGURE_FLAGS@
+DOC_USER_FORMATS = @DOC_USER_FORMATS@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+FGREP = @FGREP@
+FOP = @FOP@
+GREP = @GREP@
+HELP_DIR = @HELP_DIR@
+HIGHLIGHT = @HIGHLIGHT@
+HIGHLIGHT_OPTIONS = @HIGHLIGHT_OPTIONS@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+JADE = @JADE@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+MKDIR_P = @MKDIR_P@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OMF_DIR = @OMF_DIR@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_DATA_DIR = @PACKAGE_DATA_DIR@
+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@
+PKG_CONFIG = @PKG_CONFIG@
+PYTHON = @PYTHON@
+PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
+PYTHON_PLATFORM = @PYTHON_PLATFORM@
+PYTHON_PREFIX = @PYTHON_PREFIX@
+PYTHON_VERSION = @PYTHON_VERSION@
+RANLIB = @RANLIB@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SGML_FORMAT_TYPE = @SGML_FORMAT_TYPE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+TEST_DEPS_CFLAGS = @TEST_DEPS_CFLAGS@
+TEST_DEPS_LIBS = @TEST_DEPS_LIBS@
+TRACE = @TRACE@
+VERSION = @VERSION@
+XMLCATALOG = @XMLCATALOG@
+XML_CATALOG_FILE = @XML_CATALOG_FILE@
+XSLTPROC = @XSLTPROC@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+glib_prefix = @glib_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+lt_ECHO = @lt_ECHO@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+pkgpyexecdir = @pkgpyexecdir@
+pkgpythondir = @pkgpythondir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+pyexecdir = @pyexecdir@
+pythondir = @pythondir@
+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@
+@BUILD_TESTS_TRUE@noinst_LTLIBRARIES = libtester.la
+@BUILD_TESTS_TRUE@libtester_la_SOURCES = tester.c tester.h
+#libtester_la_LIBADD = $(TEST_DEPS_LIBS)
+@BUILD_TESTS_TRUE@AM_CPPFLAGS = $(TEST_DEPS_CFLAGS)
+all: all-am
+
+.SUFFIXES:
+.SUFFIXES: .c .lo .o .obj
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(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) --gnu tests/fail/src/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --gnu tests/fail/src/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: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
+
+clean-noinstLTLIBRARIES:
+ -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES)
+ @list='$(noinst_LTLIBRARIES)'; for p in $$list; do \
+ dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
+ test "$$dir" != "$$p" || dir=.; \
+ echo "rm -f \"$${dir}/so_locations\""; \
+ rm -f "$${dir}/so_locations"; \
+ done
+libtester.la: $(libtester_la_OBJECTS) $(libtester_la_DEPENDENCIES)
+ $(AM_V_CCLD)$(LINK) $(am_libtester_la_rpath) $(libtester_la_OBJECTS) $(libtester_la_LIBADD) $(LIBS)
+
+mostlyclean-compile:
+ -rm -f *.$(OBJEXT)
+
+distclean-compile:
+ -rm -f *.tab.c
+
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tester.Plo@am__quote@
+
+.c.o:
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(COMPILE) -c $<
+
+.c.obj:
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
+
+.c.lo:
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+
+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: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ set x; \
+ here=`pwd`; \
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; 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: $(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)
+ @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 $(LTLIBRARIES)
+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 clean-libtool clean-noinstLTLIBRARIES \
+ mostlyclean-am
+
+distclean: distclean-am
+ -rm -rf ./$(DEPDIR)
+ -rm -f Makefile
+distclean-am: clean-am distclean-compile distclean-generic \
+ distclean-tags
+
+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 -rf ./$(DEPDIR)
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-compile mostlyclean-generic \
+ mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am:
+
+.MAKE: install-am install-strip
+
+.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
+ clean-libtool clean-noinstLTLIBRARIES ctags distclean \
+ distclean-compile distclean-generic distclean-libtool \
+ 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 \
+ maintainer-clean maintainer-clean-generic mostlyclean \
+ mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
+ pdf pdf-am ps ps-am tags uninstall uninstall-am
+
+
+-include $(top_srcdir)/git.mk
+
+# 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:
--- /dev/null
+/*
+ * SECTION:tester_nodocs
+ * @short_description: module for gtk-doc unit test
+ * @title: GtkdocTesterNoDocs
+ *
+ * This file contains non-sense code for the sole purpose of testing the docs.
+ */
+/**
+ * SECTION:tester_nolongdesc
+ * @short_description: module for gtk-doc unit test
+ * @title: GtkdocTesterNoLongDesc
+ */
+/**
+ * SECTION:tester_noshortdesc
+ * @title: GtkdocTesterNoShortDesc
+ *
+ * This file contains non-sense code for the sole purpose of testing the docs.
+ */
+/**
+ * SECTION:tester_brokendocs
+ * @short_description: module for gtk-doc unit test
+ * @title: GtkdocTesterBrokenDocs
+ *
+ * This file contains non-sense code for the sole purpose of testing the docs.
+ */
+
+#include <glib.h>
+
+#include "tester.h"
+
+/**
+ * func_no_docs:
+ */
+void
+func_no_docs(void)
+{
+}
+
+/**
+ * func_no_item_docs:
+ *
+ * Here we document the function but not the parameters.
+ */
+void
+func_no_item_docs(int a, char b)
+{
+}
+
+/**
+ * func_incomplete_docs:
+ * @a: a value
+ *
+ * Here we document the function but not all the parameters.
+ */
+void
+func_incomplete_docs(int a, char b)
+{
+}
+
+/**
+ * func_unused_docs:
+ * @a: a value
+ * @b: a value
+ * @c: an unexisting value
+ *
+ * Here we document the function and more than the actual parameters.
+ */
+void
+func_unused_docs(int a, char b)
+{
+}
+
--- /dev/null
+#ifndef GTKDOC_TESTER_H
+#define GTKDOC_TESTER_H
+
+#include <glib.h>
+
+/**
+ * MACRO_NO_ITEM_DOCS:
+ *
+ * Here we document the macro but not the parameters.
+ */
+#define MACRO_NO_ITEM_DOCS(a,b) (a+b)
+
+/**
+ * MACRO_INCOMPLETE_DOCS:
+ * @a: a value
+ *
+ * Here we document the macro but not all the parameters.
+ */
+#define MACRO_INCOMPLETE_DOCS(a,b) (a+b)
+
+/**
+ * MACRO_UNUSED_DOCS:
+ * @a: a value
+ * @b: a value
+ * @c: an unexisting value
+ *
+ * Here we document the macro and more than the actual parameters.
+ */
+#define MACRO_UNUSED_DOCS(a,b) (a+b)
+
+
+/**
+ * EnumNoItemDocs:
+ *
+ * Here we document the enum but not the values.
+ * http://bugzilla.gnome.org/show_bug.cgi?id=568711
+ */
+typedef enum {
+ ENUM_NO_ITEM_DOCS_1,
+ ENUM_NO_ITEM_DOCS_2
+} EnumNoItemDocs;
+
+/**
+ * EnumIncompleteDocs:
+ * @ENUM_INCOMPLETE_DOCS_1: a value
+ *
+ * Here we document the enum but not all the values.
+ */
+typedef enum {
+ ENUM_INCOMPLETE_DOCS_1,
+ ENUM_INCOMPLETE_DOCS_2
+} EnumIncompleteDocs;
+
+/**
+ * EnumUnusedDocs:
+ * @ENUM_UNUSED_DOCS_1: a value
+ * @ENUM_UNUSED_DOCS_2: a value
+ * @ENUM_UNUSED_DOCS_3: an unexisting value
+ *
+ * Here we document the enum and more than the actual values.
+ */
+typedef enum {
+ ENUM_UNUSED_DOCS_1,
+ ENUM_UNUSED_DOCS_2
+} EnumUnusedDocs;
+
+
+/**
+ * StructNoItemDocs:
+ *
+ * Here we document the struct but not the values.
+ */
+typedef struct {
+ int a;
+ char b;
+} StructNoItemDocs;
+
+/**
+ * StructIncompleteDocs:
+ * @a: a value
+ *
+ * Here we document the struct but not all the values.
+ */
+typedef struct {
+ int a;
+ char b;
+} StructIncompleteDocs;
+
+/**
+ * StructUnusedDocs:
+ * @a: a value
+ * @b: a value
+ * @c: an unexisting value
+ *
+ * Here we document the struct and more than the actual values.
+ */
+typedef struct {
+ int a;
+ char b;
+} StructUnusedDocs;
+
+
+void func_no_docs(void);
+void func_no_item_docs(int a, char b);
+void func_incomplete_docs(int a, char b);
+void func_unused_docs(int a, char b);
+
+#endif // GTKDOC_TESTER_H
+
--- /dev/null
+#!/bin/sh
+
+gtkdoctest.sh gobject
+
--- /dev/null
+## Process this file with automake to produce Makefile.in
+
+SUBDIRS = . src docs docs-tmpl
+
+if BUILD_TESTS
+
+check-local: clean
+
+endif
+
+EXTRA_DIST = examples/gobject.c
+
+-include $(top_srcdir)/git.mk
--- /dev/null
+# 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@
+pkgdatadir = $(datadir)/@PACKAGE@
+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 = :
+build_triplet = @build@
+host_triplet = @host@
+subdir = tests/gobject
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/gnome-doc-utils.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
+ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/acinclude.m4 \
+ $(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 =
+AM_V_GEN = $(am__v_GEN_$(V))
+am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
+am__v_GEN_0 = @echo " GEN " $@;
+AM_V_at = $(am__v_at_$(V))
+am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
+am__v_at_0 = @
+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
+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"
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
+AR = @AR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DBLATEX = @DBLATEX@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DISTCHECK_CONFIGURE_FLAGS = @DISTCHECK_CONFIGURE_FLAGS@
+DOC_USER_FORMATS = @DOC_USER_FORMATS@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+FGREP = @FGREP@
+FOP = @FOP@
+GREP = @GREP@
+HELP_DIR = @HELP_DIR@
+HIGHLIGHT = @HIGHLIGHT@
+HIGHLIGHT_OPTIONS = @HIGHLIGHT_OPTIONS@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+JADE = @JADE@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+MKDIR_P = @MKDIR_P@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OMF_DIR = @OMF_DIR@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_DATA_DIR = @PACKAGE_DATA_DIR@
+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@
+PKG_CONFIG = @PKG_CONFIG@
+PYTHON = @PYTHON@
+PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
+PYTHON_PLATFORM = @PYTHON_PLATFORM@
+PYTHON_PREFIX = @PYTHON_PREFIX@
+PYTHON_VERSION = @PYTHON_VERSION@
+RANLIB = @RANLIB@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SGML_FORMAT_TYPE = @SGML_FORMAT_TYPE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+TEST_DEPS_CFLAGS = @TEST_DEPS_CFLAGS@
+TEST_DEPS_LIBS = @TEST_DEPS_LIBS@
+TRACE = @TRACE@
+VERSION = @VERSION@
+XMLCATALOG = @XMLCATALOG@
+XML_CATALOG_FILE = @XML_CATALOG_FILE@
+XSLTPROC = @XSLTPROC@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+glib_prefix = @glib_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+lt_ECHO = @lt_ECHO@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+pkgpyexecdir = @pkgpyexecdir@
+pkgpythondir = @pkgpythondir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+pyexecdir = @pyexecdir@
+pythondir = @pythondir@
+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 = . src docs docs-tmpl
+EXTRA_DIST = examples/gobject.c
+all: all-recursive
+
+.SUFFIXES:
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(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) --gnu tests/gobject/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --gnu tests/gobject/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: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+
+# 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)
+ @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
+@BUILD_TESTS_FALSE@check-local:
+check-am: all-am
+ $(MAKE) $(AM_MAKEFLAGS) check-local
+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:
+
+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 clean-libtool 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 mostlyclean-libtool
+
+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-am check-local clean clean-generic \
+ clean-libtool ctags ctags-recursive distclean \
+ distclean-generic distclean-libtool 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 mostlyclean-libtool pdf pdf-am ps ps-am \
+ tags tags-recursive uninstall uninstall-am
+
+
+@BUILD_TESTS_TRUE@check-local: clean
+
+-include $(top_srcdir)/git.mk
+
+# 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:
--- /dev/null
+## Process this file with automake to produce Makefile.in
+
+# We require automake 1.6 at least.
+AUTOMAKE_OPTIONS = 1.6
+
+# The name of the module, e.g. 'glib'.
+DOC_MODULE=tester
+
+# The top-level SGML file. You can change this if you want to.
+DOC_MAIN_SGML_FILE=$(DOC_MODULE)-docs.xml
+
+# The directory containing the source code. Relative to $(srcdir).
+# gtk-doc will search all .c & .h files beneath here for inline comments
+# documenting the functions and macros.
+DOC_SOURCE_DIR=$(top_srcdir)/tests/gobject/src
+
+# Extra options to pass to gtkdoc-scangobj. Not normally needed.
+SCANGOBJ_OPTIONS=
+
+# Extra options to supply to gtkdoc-scan.
+SCAN_OPTIONS=--deprecated-guards="GTKDOC_TESTER_DISABLE_DEPRECATED"
+
+# Extra options to supply to gtkdoc-mkdb.
+MKDB_OPTIONS=--xml-mode
+
+# Extra options to supply to gtkdoc-mktmpl
+# e.g. MKTMPL_OPTIONS=--only-section-tmpl
+MKTMPL_OPTIONS=
+
+# Extra options to supply to gtkdoc-mkhtml
+MKHTML_OPTIONS=
+
+# Extra options to supply to gtkdoc-fixref. Not normally needed.
+# --html-dir=$(HTML_DIR)
+FIXXREF_OPTIONS=--extra-dir=$(glib_prefix)/share/gtk-doc/html
+
+# Used for dependencies. The docs will be rebuilt if any of these change.
+HFILE_GLOB=$(top_srcdir)/tests/gobject/src/*.h
+CFILE_GLOB=$(top_srcdir)/tests/gobject/src/*.c
+
+# Header files to ignore when scanning.
+IGNORE_HFILES=config.h
+
+# Images to copy into HTML directory.
+HTML_IMAGES = \
+ $(srcdir)/images/object.png
+
+# Extra SGML files that are included by $(DOC_MAIN_SGML_FILE).
+# e.g. content_files=running.sgml building.sgml changes-2.0.sgml
+content_files =
+
+# SGML files where gtk-doc abbrevations (#GtkWidget) are expanded
+# These files must be listed here *and* in content_files
+# e.g. expand_content_files=running.sgml
+expand_content_files=
+
+# CFLAGS and LDFLAGS for compiling gtkdoc-scangobj with your library.
+# Only needed if you are using gtkdoc-scangobj to dynamically query widget
+# signals and properties.
+GTKDOC_CFLAGS = -I$(top_srcdir)/tests/gobject/src $(TEST_DEPS_CFLAGS)
+GTKDOC_LIBS = $(TEST_DEPS_LIBS) $(top_builddir)/tests/gobject/src/libtester.la
+
+# include generic part
+include $(top_srcdir)/tests/gtk-doc.make
+
+# Other files to distribute
+# e.g. EXTRA_DIST += version.xml.in
+EXTRA_DIST += tester.types
+
+DISTCLEANFILES = \
+ gtkdoc-scan.log \
+ gtkdoc-scangobj.log \
+ gtkdoc-mktmpl.log \
+ gtkdoc-mkdb.log \
+ gtkdoc-mkhtml.log \
+ gtkdoc-fixxref.log
+
+if BUILD_TESTS
+TESTS_ENVIRONMENT = \
+ DOC_MODULE=$(DOC_MODULE) DOC_MAIN_SGML_FILE=$(DOC_MAIN_SGML_FILE) \
+ PATH=$(abs_top_builddir):$(srcdir):$(PATH) \
+ PERL5LIB=$(abs_top_builddir):$(PERL5LIB)
+endif
+
+GITIGNOREFILES = \
+ tmpl
+
+-include $(top_srcdir)/git.mk
--- /dev/null
+# 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@
+
+# -*- mode: makefile -*-
+
+####################################
+# Everything below here is generic #
+####################################
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+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 = :
+build_triplet = @build@
+host_triplet = @host@
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
+ $(top_srcdir)/tests/gtk-doc.make
+subdir = tests/gobject/docs-tmpl
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/gnome-doc-utils.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
+ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/acinclude.m4 \
+ $(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 =
+AM_V_GEN = $(am__v_GEN_$(V))
+am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
+am__v_GEN_0 = @echo " GEN " $@;
+AM_V_at = $(am__v_at_$(V))
+am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
+am__v_at_0 = @
+SOURCES =
+DIST_SOURCES =
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
+AR = @AR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DBLATEX = @DBLATEX@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DISTCHECK_CONFIGURE_FLAGS = @DISTCHECK_CONFIGURE_FLAGS@
+DOC_USER_FORMATS = @DOC_USER_FORMATS@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+FGREP = @FGREP@
+FOP = @FOP@
+GREP = @GREP@
+HELP_DIR = @HELP_DIR@
+HIGHLIGHT = @HIGHLIGHT@
+HIGHLIGHT_OPTIONS = @HIGHLIGHT_OPTIONS@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+JADE = @JADE@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+MKDIR_P = @MKDIR_P@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OMF_DIR = @OMF_DIR@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_DATA_DIR = @PACKAGE_DATA_DIR@
+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@
+PKG_CONFIG = @PKG_CONFIG@
+PYTHON = @PYTHON@
+PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
+PYTHON_PLATFORM = @PYTHON_PLATFORM@
+PYTHON_PREFIX = @PYTHON_PREFIX@
+PYTHON_VERSION = @PYTHON_VERSION@
+RANLIB = @RANLIB@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SGML_FORMAT_TYPE = @SGML_FORMAT_TYPE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+TEST_DEPS_CFLAGS = @TEST_DEPS_CFLAGS@
+TEST_DEPS_LIBS = @TEST_DEPS_LIBS@
+TRACE = @TRACE@
+VERSION = @VERSION@
+XMLCATALOG = @XMLCATALOG@
+XML_CATALOG_FILE = @XML_CATALOG_FILE@
+XSLTPROC = @XSLTPROC@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+glib_prefix = @glib_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+lt_ECHO = @lt_ECHO@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+pkgpyexecdir = @pkgpyexecdir@
+pkgpythondir = @pkgpythondir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+pyexecdir = @pyexecdir@
+pythondir = @pythondir@
+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@
+
+# We require automake 1.6 at least.
+AUTOMAKE_OPTIONS = 1.6
+
+# The name of the module, e.g. 'glib'.
+DOC_MODULE = tester
+
+# The top-level SGML file. You can change this if you want to.
+DOC_MAIN_SGML_FILE = $(DOC_MODULE)-docs.xml
+
+# The directory containing the source code. Relative to $(srcdir).
+# gtk-doc will search all .c & .h files beneath here for inline comments
+# documenting the functions and macros.
+DOC_SOURCE_DIR = $(top_srcdir)/tests/gobject/src
+
+# Extra options to pass to gtkdoc-scangobj. Not normally needed.
+SCANGOBJ_OPTIONS =
+
+# Extra options to supply to gtkdoc-scan.
+SCAN_OPTIONS = --deprecated-guards="GTKDOC_TESTER_DISABLE_DEPRECATED"
+
+# Extra options to supply to gtkdoc-mkdb.
+MKDB_OPTIONS = --xml-mode
+
+# Extra options to supply to gtkdoc-mktmpl
+# e.g. MKTMPL_OPTIONS=--only-section-tmpl
+MKTMPL_OPTIONS =
+
+# Extra options to supply to gtkdoc-mkhtml
+MKHTML_OPTIONS =
+
+# Extra options to supply to gtkdoc-fixref. Not normally needed.
+# --html-dir=$(HTML_DIR)
+FIXXREF_OPTIONS = --extra-dir=$(glib_prefix)/share/gtk-doc/html
+
+# Used for dependencies. The docs will be rebuilt if any of these change.
+HFILE_GLOB = $(top_srcdir)/tests/gobject/src/*.h
+CFILE_GLOB = $(top_srcdir)/tests/gobject/src/*.c
+
+# Header files to ignore when scanning.
+IGNORE_HFILES = config.h
+
+# Images to copy into HTML directory.
+HTML_IMAGES = \
+ $(srcdir)/images/object.png
+
+
+# Extra SGML files that are included by $(DOC_MAIN_SGML_FILE).
+# e.g. content_files=running.sgml building.sgml changes-2.0.sgml
+content_files =
+
+# SGML files where gtk-doc abbrevations (#GtkWidget) are expanded
+# These files must be listed here *and* in content_files
+# e.g. expand_content_files=running.sgml
+expand_content_files =
+
+# CFLAGS and LDFLAGS for compiling gtkdoc-scangobj with your library.
+# Only needed if you are using gtkdoc-scangobj to dynamically query widget
+# signals and properties.
+GTKDOC_CFLAGS = -I$(top_srcdir)/tests/gobject/src $(TEST_DEPS_CFLAGS)
+GTKDOC_LIBS = $(TEST_DEPS_LIBS) $(top_builddir)/tests/gobject/src/libtester.la
+@GTK_DOC_USE_LIBTOOL_FALSE@GTKDOC_CC = $(CC) $(INCLUDES) $(GTKDOC_DEPS_CFLAGS) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+@GTK_DOC_USE_LIBTOOL_TRUE@GTKDOC_CC = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(INCLUDES) $(GTKDOC_DEPS_CFLAGS) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+@GTK_DOC_USE_LIBTOOL_FALSE@GTKDOC_LD = $(CC) $(GTKDOC_DEPS_LIBS) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS)
+@GTK_DOC_USE_LIBTOOL_TRUE@GTKDOC_LD = $(LIBTOOL) --tag=CC --mode=link $(CC) $(GTKDOC_DEPS_LIBS) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS)
+@GTK_DOC_USE_LIBTOOL_FALSE@GTKDOC_RUN =
+@GTK_DOC_USE_LIBTOOL_TRUE@GTKDOC_RUN = $(LIBTOOL) --mode=execute
+
+# We set GPATH here; this gives us semantics for GNU make
+# which are more like other make's VPATH, when it comes to
+# whether a source that is a target of one rule is then
+# searched for in VPATH/GPATH.
+#
+GPATH = $(srcdir)
+
+# we don't install anything in tests
+#TARGET_DIR=$(HTML_DIR)/$(DOC_MODULE)
+SETUP_FILES = \
+ $(content_files) \
+ $(DOC_MAIN_SGML_FILE) \
+ $(DOC_MODULE)-sections.txt \
+ $(DOC_MODULE)-overrides.txt
+
+
+# include generic part
+
+# Other files to distribute
+# e.g. EXTRA_DIST += version.xml.in
+EXTRA_DIST = $(HTML_IMAGES) $(SETUP_FILES) tester.types
+DOC_STAMPS = setup-build.stamp scan-build.stamp tmpl-build.stamp sgml-build.stamp \
+ html-build.stamp pdf-build.stamp \
+ tmpl.stamp sgml.stamp html.stamp pdf.stamp
+
+SCANOBJ_FILES = \
+ $(DOC_MODULE).args \
+ $(DOC_MODULE).hierarchy \
+ $(DOC_MODULE).interfaces \
+ $(DOC_MODULE).prerequisites \
+ $(DOC_MODULE).signals
+
+REPORT_FILES = \
+ $(DOC_MODULE)-undocumented.txt \
+ $(DOC_MODULE)-undeclared.txt \
+ $(DOC_MODULE)-unused.txt
+
+CLEANFILES = $(SCANOBJ_FILES) $(REPORT_FILES) $(DOC_STAMPS)
+DISTCLEANFILES = \
+ gtkdoc-scan.log \
+ gtkdoc-scangobj.log \
+ gtkdoc-mktmpl.log \
+ gtkdoc-mkdb.log \
+ gtkdoc-mkhtml.log \
+ gtkdoc-fixxref.log
+
+@BUILD_TESTS_TRUE@TESTS_ENVIRONMENT = \
+@BUILD_TESTS_TRUE@ DOC_MODULE=$(DOC_MODULE) DOC_MAIN_SGML_FILE=$(DOC_MAIN_SGML_FILE) \
+@BUILD_TESTS_TRUE@ PATH=$(abs_top_builddir):$(srcdir):$(PATH) \
+@BUILD_TESTS_TRUE@ PERL5LIB=$(abs_top_builddir):$(PERL5LIB)
+
+GITIGNOREFILES = \
+ tmpl
+
+all: all-am
+
+.SUFFIXES:
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/tests/gtk-doc.make $(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) --gnu tests/gobject/docs-tmpl/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --gnu tests/gobject/docs-tmpl/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: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+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
+ $(MAKE) $(AM_MAKEFLAGS) check-local
+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)
+ -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES)
+
+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 clean-libtool clean-local mostlyclean-am
+
+distclean: distclean-am
+ -rm -f Makefile
+distclean-am: clean-am distclean-generic distclean-local
+
+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 \
+ maintainer-clean-local
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-generic mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am:
+
+.MAKE: check-am install-am install-strip
+
+.PHONY: all all-am check check-am check-local clean clean-generic \
+ clean-libtool clean-local distclean distclean-generic \
+ distclean-libtool distclean-local 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 maintainer-clean-local mostlyclean \
+ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+ uninstall uninstall-am
+
+
+check-local: html-build.stamp pdf-build.stamp
+ @ts1=`cat ts`;ts2=`date +%s.%N`;tsd=`echo $$ts2-$$ts1 | bc`; \
+ echo " DOC `date --utc --date @0$$tsd +%H:%M:%S.%N`: All done"
+
+docs: html-build.stamp pdf-build.stamp
+ @ts1=`cat ts`;ts2=`date +%s.%N`;tsd=`echo $$ts2-$$ts1 | bc`; \
+ echo " DOC `date --utc --date @0$$tsd +%H:%M:%S.%N`: All done"
+
+$(REPORT_FILES): sgml-build.stamp
+
+ts:
+ @echo >ts `date +%s.%N`;
+
+#### setup ####
+
+setup-build.stamp: ts
+ -@if test "$(abs_srcdir)" != "$(abs_builddir)" ; then \
+ echo ' DOC Preparing build'; \
+ files=`echo $(SETUP_FILES) $(expand_content_files) $(DOC_MODULE).types`; \
+ if test "x$$files" != "x" ; then \
+ for file in $$files ; do \
+ test -f $(abs_srcdir)/$$file && \
+ cp -pu $(abs_srcdir)/$$file $(abs_builddir)/ || true; \
+ done; \
+ fi; \
+ test -d $(abs_srcdir)/tmpl && \
+ { cp $(abs_builddir)/$$file $(abs_builddir)/html; \
+ chmod -R u+w $(abs_builddir)/tmpl; } \
+ fi
+ @touch setup-build.stamp
+
+#### scan ####
+
+scan-build.stamp: ts $(HFILE_GLOB) $(CFILE_GLOB)
+ @ts1=`cat ts`;ts2=`date +%s.%N`;tsd=`echo $$ts2-$$ts1 | bc`; \
+ echo " DOC `date --utc --date @0$$tsd +%H:%M:%S.%N`: Scanning header files"
+ @_source_dir='' ; \
+ for i in $(DOC_SOURCE_DIR) ; do \
+ _source_dir="$${_source_dir} --source-dir=$$i" ; \
+ done ; \
+ echo "gtkdoc-scan --module=$(DOC_MODULE) --ignore-headers="$(IGNORE_HFILES)" $${_source_dir} $(SCAN_OPTIONS) $(EXTRA_HFILES)" >gtkdoc-scan.log; \
+ PATH=$(abs_top_builddir):$(PATH) PERL5LIB=$(abs_top_builddir):$(PERL5LIB) \
+ gtkdoc-scan --module=$(DOC_MODULE) --ignore-headers="$(IGNORE_HFILES)" $${_source_dir} $(SCAN_OPTIONS) $(EXTRA_HFILES) 2>&1 | tee -a gtkdoc-scan.log
+ @if grep -l '^..*$$' $(DOC_MODULE).types > /dev/null 2>&1 ; then \
+ ts1=`cat ts`;ts2=`date +%s.%N`;tsd=`echo $$ts2-$$ts1 | bc`; \
+ echo " DOC `date --utc --date @0$$tsd +%H:%M:%S.%N`: Introspecting gobjects"; \
+ scanobj_options=""; \
+ if test "x$(V)" = "x1"; then \
+ scanobj_options="--verbose"; \
+ fi; \
+ echo "gtkdoc-scangobj $(SCANGOBJ_OPTIONS) --module=$(DOC_MODULE) $$scanobj_options" >gtkdoc-scangobj.log; \
+ PATH=$(abs_top_builddir):$(PATH) PERL5LIB=$(abs_top_builddir):$(PERL5LIB) \
+ CC="$(GTKDOC_CC)" LD="$(GTKDOC_LD)" RUN="$(GTKDOC_RUN)" CFLAGS="$(GTKDOC_CFLAGS) $(CFLAGS)" LDFLAGS="$(GTKDOC_LIBS) $(LDFLAGS)" \
+ gtkdoc-scangobj $(SCANGOBJ_OPTIONS) --module=$(DOC_MODULE) $$scanobj_options 2>&1 | tee -a gtkdoc-scangobj.log; \
+ else \
+ for i in $(SCANOBJ_FILES) ; do \
+ test -f $$i || touch $$i ; \
+ done \
+ fi
+ @touch scan-build.stamp
+
+$(DOC_MODULE)-decl.txt $(SCANOBJ_FILES) $(DOC_MODULE)-sections.txt $(DOC_MODULE)-overrides.txt: scan-build.stamp
+ @true
+
+#### templates ####
+
+tmpl-build.stamp: setup-build.stamp $(DOC_MODULE)-decl.txt $(SCANOBJ_FILES) $(DOC_MODULE)-sections.txt $(DOC_MODULE)-overrides.txt
+ @ts1=`cat ts`;ts2=`date +%s.%N`;tsd=`echo $$ts2-$$ts1 | bc`; \
+ echo " DOC `date --utc --date @0$$tsd +%H:%M:%S.%N`: Rebuilding template files"
+ @echo "gtkdoc-mktmpl --module=$(DOC_MODULE) $(MKTMPL_OPTIONS)" >gtkdoc-mktmpl.log; \
+ PATH=$(abs_top_builddir):$(PATH) PERL5LIB=$(abs_top_builddir):$(PERL5LIB) \
+ gtkdoc-mktmpl --module=$(DOC_MODULE) $(MKTMPL_OPTIONS) 2>&1 | tee -a gtkdoc-mktmpl.log
+ @if test "$(abs_srcdir)" != "$(abs_builddir)" ; then \
+ if test -w $(abs_srcdir) ; then \
+ cp -rp $(abs_builddir)/tmpl $(abs_srcdir)/; \
+ fi \
+ fi
+ @touch tmpl-build.stamp
+
+tmpl.stamp: tmpl-build.stamp
+ @true
+
+$(srcdir)/tmpl/*.sgml:
+ @true
+
+#### xml ####
+
+sgml-build.stamp: tmpl.stamp $(DOC_MODULE)-sections.txt $(srcdir)/tmpl/*.sgml $(expand_content_files)
+ @ts1=`cat ts`;ts2=`date +%s.%N`;tsd=`echo $$ts2-$$ts1 | bc`; \
+ echo " DOC `date --utc --date @0$$tsd +%H:%M:%S.%N`: Building XML"
+ @_source_dir='' ; \
+ for i in $(DOC_SOURCE_DIR) ; do \
+ _source_dir="$${_source_dir} --source-dir=$$i" ; \
+ done ; \
+ echo "gtkdoc-mkdb --module=$(DOC_MODULE) --output-format=xml --expand-content-files="$(expand_content_files)" --main-sgml-file=$(DOC_MAIN_SGML_FILE) $${_source_dir} $(MKDB_OPTIONS)" >gtkdoc-mkdb.log; \
+ PATH=$(abs_top_builddir):$(PATH) PERL5LIB=$(abs_top_builddir):$(PERL5LIB) \
+ gtkdoc-mkdb --module=$(DOC_MODULE) --output-format=xml --expand-content-files="$(expand_content_files)" --main-sgml-file=$(DOC_MAIN_SGML_FILE) $${_source_dir} $(MKDB_OPTIONS) 2>&1 | tee -a gtkdoc-mkdb.log
+ @touch sgml-build.stamp
+
+sgml.stamp: sgml-build.stamp
+ @true
+
+#### html ####
+
+html-build.stamp: sgml.stamp $(DOC_MAIN_SGML_FILE) $(content_files)
+ @ts1=`cat ts`;ts2=`date +%s.%N`;tsd=`echo $$ts2-$$ts1 | bc`; \
+ echo " DOC `date --utc --date @00$$tsd +%H:%M:%S.%N`: Building HTML"
+ @rm -rf html
+ @mkdir html
+ @mkhtml_options=""; \
+ if test "x$(V)" = "x1"; then \
+ mkhtml_options="$$mkhtml_options --verbose"; \
+ fi; \
+ echo "gtkdoc-mkhtml --uninstalled --path="$(abs_srcdir)" $$mkhtml_options $(MKHTML_OPTIONS) $(DOC_MODULE) ../$(DOC_MAIN_SGML_FILE)" >gtkdoc-mkhtml.log; \
+ cd html && PATH=$(abs_top_builddir):$(PATH) PERL5LIB=$(abs_top_builddir):$(PERL5LIB) ABS_TOP_SRCDIR=$(abs_top_srcdir) \
+ gtkdoc-mkhtml --uninstalled --path="$(abs_srcdir)" $$mkhtml_options $(MKHTML_OPTIONS) $(DOC_MODULE) ../$(DOC_MAIN_SGML_FILE) 2>&1 | tee -a ../gtkdoc-mkhtml.log
+ -@test "x$(HTML_IMAGES)" = "x" || \
+ for file in $(HTML_IMAGES) ; do \
+ if test -f $(abs_srcdir)/$$file ; then \
+ cp $(abs_srcdir)/$$file $(abs_builddir)/html; \
+ fi; \
+ if test -f $(abs_builddir)/$$file ; then \
+ cp $(abs_builddir)/$$file $(abs_builddir)/html; \
+ fi; \
+ done;
+ @ts1=`cat ts`;ts2=`date +%s.%N`;tsd=`echo $$ts2-$$ts1 | bc`; \
+ echo " DOC `date --utc --date @0$$tsd +%H:%M:%S.%N`: Fixing cross-references"
+ @echo "gtkdoc-fixxref --module=$(DOC_MODULE) --module-dir=html --html-dir=$(HTML_DIR) $(FIXXREF_OPTIONS)" >gtkdoc-fixxref.log; \
+ PATH=$(abs_top_builddir):$(PATH) PERL5LIB=$(abs_top_builddir):$(PERL5LIB) \
+ gtkdoc-fixxref --module=$(DOC_MODULE) --module-dir=html --html-dir=$(HTML_DIR) $(FIXXREF_OPTIONS) 2>&1 | tee -a gtkdoc-fixxref.log
+ @touch html-build.stamp
+
+#### pdf ####
+
+pdf-build.stamp: sgml.stamp $(DOC_MAIN_SGML_FILE) $(content_files)
+ @ts1=`cat ts`;ts2=`date +%s.%N`;tsd=`echo $$ts2-$$ts1 | bc`; \
+ echo " DOC `date --utc --date @0$$tsd +%H:%M:%S.%N`: Building PDF"
+ @rm -f $(DOC_MODULE).pdf
+ @mkpdf_options=""; \
+ if test "x$(V)" = "x1"; then \
+ mkpdf_options="$$mkpdf_options --verbose"; \
+ fi; \
+ if test "x$(HTML_IMAGES)" != "x"; then \
+ for img in $(HTML_IMAGES); do \
+ part=`dirname $$img`; \
+ echo $$mkpdf_options | grep >/dev/null "\-\-imgdir=$$part "; \
+ if test $$? != 0; then \
+ mkpdf_options="$$mkpdf_options --imgdir=$$part"; \
+ fi; \
+ done; \
+ fi; \
+ echo "gtkdoc-mkpdf --uninstalled --path="$(abs_srcdir)" $$mkpdf_options $(DOC_MODULE) $(DOC_MAIN_SGML_FILE) $(MKPDF_OPTIONS)" >gtkdoc-mkpdf.log; \
+ PATH=$(abs_top_builddir):$(PATH) PERL5LIB=$(abs_top_builddir):$(PERL5LIB) ABS_TOP_SRCDIR=$(abs_top_srcdir) \
+ gtkdoc-mkpdf --uninstalled --path="$(abs_srcdir)" $$mkpdf_options $(DOC_MODULE) $(DOC_MAIN_SGML_FILE) $(MKPDF_OPTIONS) 2>&1 | tee -a gtkdoc-mkpdf.log
+ @touch pdf-build.stamp
+
+##############
+
+# we need to enforce a rebuild for the tests
+clean-local:
+ @rm -f *~ *.bak ts
+ @rm -rf .libs
+ $(MAKE) distclean-local
+
+distclean-local:
+ @rm -rf xml html $(REPORT_FILES) $(DOC_MODULE).pdf \
+ $(DOC_MODULE)-decl-list.txt $(DOC_MODULE)-decl.txt
+ @if test "$(abs_srcdir)" != "$(abs_builddir)" ; then \
+ rm -f $(SETUP_FILES) $(expand_content_files) $(DOC_MODULE).types; \
+ rm -rf tmpl; \
+ fi
+
+maintainer-clean-local: clean
+ @rm -rf xml html
+
+.PHONY : dist-hook-local docs
+
+-include $(top_srcdir)/git.mk
+
+# 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:
--- /dev/null
+<?xml version="1.0"?>
+<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
+ "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd"
+[
+ <!ENTITY % local.common.attrib "xmlns:xi CDATA #FIXED 'http://www.w3.org/2003/XInclude'">
+]>
+<book id="index" xmlns:xi="http://www.w3.org/2003/XInclude">
+ <bookinfo>
+ <title>tester Reference Manual</title>
+ <releaseinfo>
+ for tester [VERSION].
+ The latest version of this documentation can be found on-line at
+ <ulink role="online-location" url="http://[SERVER]/tester/index.html">http://[SERVER]/tester/</ulink>.
+ </releaseinfo>
+ </bookinfo>
+
+ <preface id="intro">
+ <title>Introduction</title>
+ <para>
+ This document is for testing purpose only.
+ It is generated from Docbook-<acronym>XML</acronym>.
+ </para>
+ </preface>
+
+ <part label="I">
+ <title>Overview</title>
+ <chapter id="Overview-building">
+ <title>How to build the library</title>
+ <para></para>
+ </chapter>
+ </part>
+
+ <reference label="II">
+ <title>API Reference</title>
+ <chapter id="main-api">
+ <title>Tests</title>
+ <xi:include href="xml/object.xml"/>
+ <xi:include href="xml/object2.xml"/>
+ <xi:include href="xml/iface.xml"/>
+ <xi:include href="xml/iface2.xml"/>
+ <xi:include href="xml/types.xml"/>
+ </chapter>
+ </reference>
+
+ <part label="III">
+ <title>Appendix</title>
+
+ <chapter id="object-tree">
+ <title>Object Hierarchy</title>
+ <xi:include href="xml/tree_index.sgml" />
+ </chapter>
+
+ <chapter id="object-index">
+ <title>Object Index</title>
+ <xi:include href="xml/object_index.sgml"/>
+ </chapter>
+
+ <index id="api-index-full">
+ <title>API Index</title>
+ <xi:include href="xml/api-index-full.xml"><xi:fallback /></xi:include>
+ </index>
+ <index id="api-index-deprecated" role="deprecated">
+ <title>Index of deprecated API</title>
+ <xi:include href="xml/api-index-deprecated.xml"><xi:fallback /></xi:include>
+ </index>
+ <index id="api-index-0-1" role="0.1">
+ <title>Index of new API in 0.1</title>
+ <xi:include href="xml/api-index-0.1.xml"><xi:fallback /></xi:include>
+ </index>
+ <index id="api-index-0-5" role="0.5">
+ <title>Index of new API in 0.5</title>
+ <xi:include href="xml/api-index-0.5.xml"><xi:fallback /></xi:include>
+ </index>
+
+ <glossary>
+ <title>Glossary</title>
+ <glossdiv><title>A</title>
+ <glossentry>
+ <glossterm><anchor id="glossterm-API"/>API</glossterm>
+ <glossdef>
+ <para>Application Programming Interface</para>
+ </glossdef>
+ </glossentry>
+ </glossdiv>
+ <glossdiv><title>X</title>
+ <glossentry>
+ <glossterm><anchor id="glossterm-XML"/>XML</glossterm>
+ <glossdef>
+ <para>Extensible Markup Language</para>
+ </glossdef>
+ </glossentry>
+ <glossentry>
+ <glossterm><anchor id="glossterm-XSL"/>XSL</glossterm>
+ <glossdef>
+ <para>XML Stylesheet Language</para>
+ </glossdef>
+ </glossentry>
+ </glossdiv>
+ </glossary>
+ </part>
+</book>
--- /dev/null
+<SECTION>
+<FILE>object</FILE>
+GtkdocObject
+GtkdocObjectClass
+gtkdoc_object_new
+gtkdoc_object_set_otest
+gtkdoc_object_frobnicate
+gtkdoc_object_fooify
+GTKDOC_OBJECT_MACRO_DUMMY
+GTKDOC_OBJECT_MACRO_SUM
+<SUBSECTION Standard>
+GTKDOC_OBJECT
+GTKDOC_IS_OBJECT
+GTKDOC_TYPE_OBJECT
+gtkdoc_object_get_type
+GTKDOC_OBJECT_CLASS
+GTKDOC_IS_OBJECT_CLASS
+GTKDOC_OBJECT_GET_CLASS
+</SECTION>
+
+<SECTION>
+<FILE>object2</FILE>
+GtkdocObject2
+GtkdocObject2Class
+<SUBSECTION Standard>
+GTKDOC_TYPE_OBJECT2
+gtkdoc_object2_get_type
+</SECTION>
+
+<SECTION>
+<FILE>iface</FILE>
+GtkdocIface
+GtkdocIfaceInterface
+gtkdoc_iface_configure
+GTKDOC_IFACE_MACRO_DUMMY
+GTKDOC_IFACE_MACRO_SUM
+<SUBSECTION Standard>
+GTKDOC_IFACE
+GTKDOC_IS_IFACE
+GTKDOC_TYPE_IFACE
+gtkdoc_iface_get_type
+GTKDOC_IFACE_GET_INTERFACE
+</SECTION>
+
+<SECTION>
+<FILE>iface2</FILE>
+GtkdocIface2
+<SUBSECTION Standard>
+GTKDOC_TYPE_IFACE2
+gtkdoc_iface2_get_type
+</SECTION>
+
+<SECTION>
+<FILE>types</FILE>
+GtkdocEnum
+GtkdocPlainOldData
+GtkdocBoxedPlainOldData
+<SUBSECTION Standard>
+GTKDOC_TYPE_ENUM
+GTKDOC_TYPE_BOXED
+gtkdoc_enum_get_type
+gtkdoc_boxed_get_type
+GTKDOC_TYPE_BOXED_PLAIN_OLD_DATA
+gtkdoc_boxed_plain_old_data_get_type
+</SECTION>
+
--- /dev/null
+#include <tester.h>
+
+gtkdoc_object_get_type
+gtkdoc_object2_get_type
+gtkdoc_iface_get_type
+gtkdoc_iface2_get_type
+gtkdoc_enum_get_type
+gtkdoc_boxed_get_type
--- /dev/null
+## Process this file with automake to produce Makefile.in
+
+# We require automake 1.6 at least.
+AUTOMAKE_OPTIONS = 1.6
+
+# The name of the module, e.g. 'glib'.
+DOC_MODULE=tester
+
+# The top-level SGML file. You can change this if you want to.
+DOC_MAIN_SGML_FILE=$(DOC_MODULE)-docs.xml
+
+# The directory containing the source code. Relative to $(srcdir).
+# gtk-doc will search all .c & .h files beneath here for inline comments
+# documenting the functions and macros.
+DOC_SOURCE_DIR=$(top_srcdir)/tests/gobject/src
+
+# Extra options to pass to gtkdoc-scangobj. Not normally needed.
+SCANGOBJ_OPTIONS=
+
+# Extra options to supply to gtkdoc-scan.
+SCAN_OPTIONS=--deprecated-guards="GTKDOC_TESTER_DISABLE_DEPRECATED" \
+ --rebuild-types
+
+# Extra options to supply to gtkdoc-mkdb.
+MKDB_OPTIONS=--xml-mode
+
+# Extra options to supply to gtkdoc-mktmpl
+# e.g. MKTMPL_OPTIONS=--only-section-tmpl
+MKTMPL_OPTIONS=
+
+# Extra options to supply to gtkdoc-mkhtml
+MKHTML_OPTIONS=
+
+# Extra options to supply to gtkdoc-fixref. Not normally needed.
+# --html-dir=$(HTML_DIR)
+FIXXREF_OPTIONS=--extra-dir=$(glib_prefix)/share/gtk-doc/html
+
+# Used for dependencies. The docs will be rebuilt if any of these change.
+HFILE_GLOB=$(top_srcdir)/tests/gobject/src/*.h
+CFILE_GLOB=$(top_srcdir)/tests/gobject/src/*.c
+
+# Header files to ignore when scanning.
+IGNORE_HFILES=config.h
+
+# Images to copy into HTML directory.
+HTML_IMAGES = \
+ $(srcdir)/images/object.png
+
+# Extra SGML files that are included by $(DOC_MAIN_SGML_FILE).
+# e.g. content_files=running.sgml building.sgml changes-2.0.sgml
+content_files =
+
+# SGML files where gtk-doc abbrevations (#GtkWidget) are expanded
+# These files must be listed here *and* in content_files
+# e.g. expand_content_files=running.sgml
+expand_content_files=
+
+# CFLAGS and LDFLAGS for compiling gtkdoc-scangobj with your library.
+# Only needed if you are using gtkdoc-scangobj to dynamically query widget
+# signals and properties.
+GTKDOC_CFLAGS = -I$(top_srcdir)/tests/gobject/src $(TEST_DEPS_CFLAGS)
+GTKDOC_LIBS = $(TEST_DEPS_LIBS) $(top_builddir)/tests/gobject/src/libtester.la
+
+# include generic part
+include $(top_srcdir)/tests/gtk-doc.notmpl.make
+
+# Other files to distribute
+# e.g. EXTRA_DIST += version.xml.in
+EXTRA_DIST += tester.types
+
+DISTCLEANFILES = \
+ gtkdoc-scan.log \
+ gtkdoc-scangobj.log \
+ gtkdoc-mktmpl.log \
+ gtkdoc-mkdb.log \
+ gtkdoc-mkhtml.log \
+ gtkdoc-fixxref.log
+
+if BUILD_TESTS
+TESTS_ENVIRONMENT = \
+ DOC_MODULE=$(DOC_MODULE) DOC_MAIN_SGML_FILE=$(DOC_MAIN_SGML_FILE) \
+ PATH=$(abs_top_builddir):$(srcdir):$(PATH) \
+ PERL5LIB=$(abs_top_builddir):$(PERL5LIB)
+endif
+
+-include $(top_srcdir)/git.mk
--- /dev/null
+# 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@
+
+# -*- mode: makefile -*-
+
+####################################
+# Everything below here is generic #
+####################################
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+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 = :
+build_triplet = @build@
+host_triplet = @host@
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
+ $(top_srcdir)/tests/gtk-doc.notmpl.make
+subdir = tests/gobject/docs
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/gnome-doc-utils.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
+ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/acinclude.m4 \
+ $(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 =
+AM_V_GEN = $(am__v_GEN_$(V))
+am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
+am__v_GEN_0 = @echo " GEN " $@;
+AM_V_at = $(am__v_at_$(V))
+am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
+am__v_at_0 = @
+SOURCES =
+DIST_SOURCES =
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
+AR = @AR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DBLATEX = @DBLATEX@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DISTCHECK_CONFIGURE_FLAGS = @DISTCHECK_CONFIGURE_FLAGS@
+DOC_USER_FORMATS = @DOC_USER_FORMATS@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+FGREP = @FGREP@
+FOP = @FOP@
+GREP = @GREP@
+HELP_DIR = @HELP_DIR@
+HIGHLIGHT = @HIGHLIGHT@
+HIGHLIGHT_OPTIONS = @HIGHLIGHT_OPTIONS@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+JADE = @JADE@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+MKDIR_P = @MKDIR_P@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OMF_DIR = @OMF_DIR@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_DATA_DIR = @PACKAGE_DATA_DIR@
+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@
+PKG_CONFIG = @PKG_CONFIG@
+PYTHON = @PYTHON@
+PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
+PYTHON_PLATFORM = @PYTHON_PLATFORM@
+PYTHON_PREFIX = @PYTHON_PREFIX@
+PYTHON_VERSION = @PYTHON_VERSION@
+RANLIB = @RANLIB@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SGML_FORMAT_TYPE = @SGML_FORMAT_TYPE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+TEST_DEPS_CFLAGS = @TEST_DEPS_CFLAGS@
+TEST_DEPS_LIBS = @TEST_DEPS_LIBS@
+TRACE = @TRACE@
+VERSION = @VERSION@
+XMLCATALOG = @XMLCATALOG@
+XML_CATALOG_FILE = @XML_CATALOG_FILE@
+XSLTPROC = @XSLTPROC@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+glib_prefix = @glib_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+lt_ECHO = @lt_ECHO@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+pkgpyexecdir = @pkgpyexecdir@
+pkgpythondir = @pkgpythondir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+pyexecdir = @pyexecdir@
+pythondir = @pythondir@
+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@
+
+# We require automake 1.6 at least.
+AUTOMAKE_OPTIONS = 1.6
+
+# The name of the module, e.g. 'glib'.
+DOC_MODULE = tester
+
+# The top-level SGML file. You can change this if you want to.
+DOC_MAIN_SGML_FILE = $(DOC_MODULE)-docs.xml
+
+# The directory containing the source code. Relative to $(srcdir).
+# gtk-doc will search all .c & .h files beneath here for inline comments
+# documenting the functions and macros.
+DOC_SOURCE_DIR = $(top_srcdir)/tests/gobject/src
+
+# Extra options to pass to gtkdoc-scangobj. Not normally needed.
+SCANGOBJ_OPTIONS =
+
+# Extra options to supply to gtkdoc-scan.
+SCAN_OPTIONS = --deprecated-guards="GTKDOC_TESTER_DISABLE_DEPRECATED" \
+ --rebuild-types
+
+
+# Extra options to supply to gtkdoc-mkdb.
+MKDB_OPTIONS = --xml-mode
+
+# Extra options to supply to gtkdoc-mktmpl
+# e.g. MKTMPL_OPTIONS=--only-section-tmpl
+MKTMPL_OPTIONS =
+
+# Extra options to supply to gtkdoc-mkhtml
+MKHTML_OPTIONS =
+
+# Extra options to supply to gtkdoc-fixref. Not normally needed.
+# --html-dir=$(HTML_DIR)
+FIXXREF_OPTIONS = --extra-dir=$(glib_prefix)/share/gtk-doc/html
+
+# Used for dependencies. The docs will be rebuilt if any of these change.
+HFILE_GLOB = $(top_srcdir)/tests/gobject/src/*.h
+CFILE_GLOB = $(top_srcdir)/tests/gobject/src/*.c
+
+# Header files to ignore when scanning.
+IGNORE_HFILES = config.h
+
+# Images to copy into HTML directory.
+HTML_IMAGES = \
+ $(srcdir)/images/object.png
+
+
+# Extra SGML files that are included by $(DOC_MAIN_SGML_FILE).
+# e.g. content_files=running.sgml building.sgml changes-2.0.sgml
+content_files =
+
+# SGML files where gtk-doc abbrevations (#GtkWidget) are expanded
+# These files must be listed here *and* in content_files
+# e.g. expand_content_files=running.sgml
+expand_content_files =
+
+# CFLAGS and LDFLAGS for compiling gtkdoc-scangobj with your library.
+# Only needed if you are using gtkdoc-scangobj to dynamically query widget
+# signals and properties.
+GTKDOC_CFLAGS = -I$(top_srcdir)/tests/gobject/src $(TEST_DEPS_CFLAGS)
+GTKDOC_LIBS = $(TEST_DEPS_LIBS) $(top_builddir)/tests/gobject/src/libtester.la
+@GTK_DOC_USE_LIBTOOL_FALSE@GTKDOC_CC = $(CC) $(INCLUDES) $(GTKDOC_DEPS_CFLAGS) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+@GTK_DOC_USE_LIBTOOL_TRUE@GTKDOC_CC = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(INCLUDES) $(GTKDOC_DEPS_CFLAGS) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+@GTK_DOC_USE_LIBTOOL_FALSE@GTKDOC_LD = $(CC) $(GTKDOC_DEPS_LIBS) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS)
+@GTK_DOC_USE_LIBTOOL_TRUE@GTKDOC_LD = $(LIBTOOL) --tag=CC --mode=link $(CC) $(GTKDOC_DEPS_LIBS) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS)
+@GTK_DOC_USE_LIBTOOL_FALSE@GTKDOC_RUN =
+@GTK_DOC_USE_LIBTOOL_TRUE@GTKDOC_RUN = $(LIBTOOL) --mode=execute
+
+# We set GPATH here; this gives us semantics for GNU make
+# which are more like other make's VPATH, when it comes to
+# whether a source that is a target of one rule is then
+# searched for in VPATH/GPATH.
+#
+GPATH = $(srcdir)
+
+# we don't install anything in tests
+#TARGET_DIR=$(HTML_DIR)/$(DOC_MODULE)
+SETUP_FILES = \
+ $(content_files) \
+ $(DOC_MAIN_SGML_FILE) \
+ $(DOC_MODULE)-sections.txt \
+ $(DOC_MODULE)-overrides.txt
+
+
+# include generic part
+
+# Other files to distribute
+# e.g. EXTRA_DIST += version.xml.in
+EXTRA_DIST = $(HTML_IMAGES) $(SETUP_FILES) tester.types
+DOC_STAMPS = setup-build.stamp scan-build.stamp sgml-build.stamp \
+ html-build.stamp pdf-build.stamp \
+ sgml.stamp html.stamp pdf.stamp
+
+SCANOBJ_FILES = \
+ $(DOC_MODULE).args \
+ $(DOC_MODULE).hierarchy \
+ $(DOC_MODULE).interfaces \
+ $(DOC_MODULE).prerequisites \
+ $(DOC_MODULE).signals
+
+REPORT_FILES = \
+ $(DOC_MODULE)-undocumented.txt \
+ $(DOC_MODULE)-undeclared.txt \
+ $(DOC_MODULE)-unused.txt
+
+CLEANFILES = $(SCANOBJ_FILES) $(REPORT_FILES) $(DOC_STAMPS)
+DISTCLEANFILES = \
+ gtkdoc-scan.log \
+ gtkdoc-scangobj.log \
+ gtkdoc-mktmpl.log \
+ gtkdoc-mkdb.log \
+ gtkdoc-mkhtml.log \
+ gtkdoc-fixxref.log
+
+@BUILD_TESTS_TRUE@TESTS_ENVIRONMENT = \
+@BUILD_TESTS_TRUE@ DOC_MODULE=$(DOC_MODULE) DOC_MAIN_SGML_FILE=$(DOC_MAIN_SGML_FILE) \
+@BUILD_TESTS_TRUE@ PATH=$(abs_top_builddir):$(srcdir):$(PATH) \
+@BUILD_TESTS_TRUE@ PERL5LIB=$(abs_top_builddir):$(PERL5LIB)
+
+all: all-am
+
+.SUFFIXES:
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/tests/gtk-doc.notmpl.make $(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) --gnu tests/gobject/docs/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --gnu tests/gobject/docs/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: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+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
+ $(MAKE) $(AM_MAKEFLAGS) check-local
+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)
+ -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES)
+
+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 clean-libtool clean-local mostlyclean-am
+
+distclean: distclean-am
+ -rm -f Makefile
+distclean-am: clean-am distclean-generic distclean-local
+
+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 \
+ maintainer-clean-local
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-generic mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am:
+
+.MAKE: check-am install-am install-strip
+
+.PHONY: all all-am check check-am check-local clean clean-generic \
+ clean-libtool clean-local distclean distclean-generic \
+ distclean-libtool distclean-local 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 maintainer-clean-local mostlyclean \
+ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+ uninstall uninstall-am
+
+
+check-local: html-build.stamp pdf-build.stamp
+ @ts1=`cat ts`;ts2=`date +%s.%N`;tsd=`echo $$ts2-$$ts1 | bc`; \
+ echo " DOC `date --utc --date @0$$tsd +%H:%M:%S.%N`: All done"
+
+docs: html-build.stamp pdf-build.stamp
+ @ts1=`cat ts`;ts2=`date +%s.%N`;tsd=`echo $$ts2-$$ts1 | bc`; \
+ echo " DOC `date --utc --date @0$$tsd +%H:%M:%S.%N`: All done"
+
+$(REPORT_FILES): sgml-build.stamp
+
+ts:
+ @echo >ts `date +%s.%N`;
+
+#### setup ####
+
+setup-build.stamp: ts
+ -@if test "$(abs_srcdir)" != "$(abs_builddir)" ; then \
+ echo ' DOC Preparing build'; \
+ files=`echo $(SETUP_FILES) $(expand_content_files) $(DOC_MODULE).types`; \
+ if test "x$$files" != "x" ; then \
+ for file in $$files ; do \
+ test -f $(abs_srcdir)/$$file && \
+ cp -pu $(abs_srcdir)/$$file $(abs_builddir)/ || true; \
+ done; \
+ fi; \
+ fi
+ @touch setup-build.stamp
+
+#### scan ####
+
+scan-build.stamp: ts $(HFILE_GLOB) $(CFILE_GLOB)
+ @ts1=`cat ts`;ts2=`date +%s.%N`;tsd=`echo $$ts2-$$ts1 | bc`; \
+ echo " DOC `date --utc --date @0$$tsd +%H:%M:%S.%N`: Scanning header files"
+ @_source_dir='' ; \
+ for i in $(DOC_SOURCE_DIR) ; do \
+ _source_dir="$${_source_dir} --source-dir=$$i" ; \
+ done ; \
+ echo "gtkdoc-scan --module=$(DOC_MODULE) --ignore-headers="$(IGNORE_HFILES)" $${_source_dir} $(SCAN_OPTIONS) $(EXTRA_HFILES)" >gtkdoc-scan.log; \
+ PATH=$(abs_top_builddir):$(PATH) PERL5LIB=$(abs_top_builddir):$(PERL5LIB) \
+ gtkdoc-scan --module=$(DOC_MODULE) --ignore-headers="$(IGNORE_HFILES)" $${_source_dir} $(SCAN_OPTIONS) $(EXTRA_HFILES) 2>&1 | tee -a gtkdoc-scan.log
+ @if grep -l '^..*$$' $(DOC_MODULE).types > /dev/null 2>&1 ; then \
+ ts1=`cat ts`;ts2=`date +%s.%N`;tsd=`echo $$ts2-$$ts1 | bc`; \
+ echo " DOC `date --utc --date @0$$tsd +%H:%M:%S.%N`: Introspecting gobjects"; \
+ scanobj_options=""; \
+ if test "x$(V)" = "x1"; then \
+ scanobj_options="--verbose"; \
+ fi; \
+ echo "gtkdoc-scangobj $(SCANGOBJ_OPTIONS) --module=$(DOC_MODULE) $$scanobj_options" >gtkdoc-scangobj.log; \
+ PATH=$(abs_top_builddir):$(PATH) PERL5LIB=$(abs_top_builddir):$(PERL5LIB) \
+ CC="$(GTKDOC_CC)" LD="$(GTKDOC_LD)" RUN="$(GTKDOC_RUN)" CFLAGS="$(GTKDOC_CFLAGS) $(CFLAGS)" LDFLAGS="$(GTKDOC_LIBS) $(LDFLAGS)" \
+ gtkdoc-scangobj $(SCANGOBJ_OPTIONS) --module=$(DOC_MODULE) $$scanobj_options 2>&1 | tee -a gtkdoc-scangobj.log; \
+ else \
+ for i in $(SCANOBJ_FILES) ; do \
+ test -f $$i || touch $$i ; \
+ done \
+ fi
+ @touch scan-build.stamp
+
+$(DOC_MODULE)-decl.txt $(SCANOBJ_FILES) $(DOC_MODULE)-sections.txt $(DOC_MODULE)-overrides.txt: scan-build.stamp
+ @true
+
+#### xml ####
+
+sgml-build.stamp: setup-build.stamp $(DOC_MODULE)-decl.txt $(SCANOBJ_FILES) $(DOC_MODULE)-sections.txt $(DOC_MODULE)-overrides.txt $(expand_content_files)
+ @ts1=`cat ts`;ts2=`date +%s.%N`;tsd=`echo $$ts2-$$ts1 | bc`; \
+ echo " DOC `date --utc --date @0$$tsd +%H:%M:%S.%N`: Building XML"
+ @_source_dir='' ; \
+ for i in $(DOC_SOURCE_DIR) ; do \
+ _source_dir="$${_source_dir} --source-dir=$$i" ; \
+ done ; \
+ echo "gtkdoc-mkdb --module=$(DOC_MODULE) --output-format=xml --expand-content-files="$(expand_content_files)" --main-sgml-file=$(DOC_MAIN_SGML_FILE) $${_source_dir} $(MKDB_OPTIONS)" >gtkdoc-mkdb.log; \
+ PATH=$(abs_top_builddir):$(PATH) PERL5LIB=$(abs_top_builddir):$(PERL5LIB) \
+ gtkdoc-mkdb --module=$(DOC_MODULE) --output-format=xml --expand-content-files="$(expand_content_files)" --main-sgml-file=$(DOC_MAIN_SGML_FILE) $${_source_dir} $(MKDB_OPTIONS) 2>&1 | tee -a gtkdoc-mkdb.log
+ @touch sgml-build.stamp
+
+sgml.stamp: sgml-build.stamp
+ @true
+
+#### html ####
+
+html-build.stamp: sgml.stamp $(DOC_MAIN_SGML_FILE) $(content_files)
+ @ts1=`cat ts`;ts2=`date +%s.%N`;tsd=`echo $$ts2-$$ts1 | bc`; \
+ echo " DOC `date --utc --date @00$$tsd +%H:%M:%S.%N`: Building HTML"
+ @rm -rf html
+ @mkdir html
+ @mkhtml_options=""; \
+ if test "x$(V)" = "x1"; then \
+ mkhtml_options="$$mkhtml_options --verbose"; \
+ fi; \
+ echo "gtkdoc-mkhtml --uninstalled --path="$(abs_srcdir)" $$mkhtml_options $(MKHTML_OPTIONS) $(DOC_MODULE) ../$(DOC_MAIN_SGML_FILE)" >gtkdoc-mkhtml.log; \
+ cd html && PATH=$(abs_top_builddir):$(PATH) PERL5LIB=$(abs_top_builddir):$(PERL5LIB) ABS_TOP_SRCDIR=$(abs_top_srcdir) \
+ gtkdoc-mkhtml --uninstalled --path="$(abs_srcdir)" $$mkhtml_options $(MKHTML_OPTIONS) $(DOC_MODULE) ../$(DOC_MAIN_SGML_FILE) 2>&1 | tee -a ../gtkdoc-mkhtml.log
+ -@test "x$(HTML_IMAGES)" = "x" || \
+ for file in $(HTML_IMAGES) ; do \
+ if test -f $(abs_srcdir)/$$file ; then \
+ cp $(abs_srcdir)/$$file $(abs_builddir)/html; \
+ fi; \
+ if test -f $(abs_builddir)/$$file ; then \
+ cp $(abs_builddir)/$$file $(abs_builddir)/html; \
+ fi; \
+ done;
+ @ts1=`cat ts`;ts2=`date +%s.%N`;tsd=`echo $$ts2-$$ts1 | bc`; \
+ echo " DOC `date --utc --date @0$$tsd +%H:%M:%S.%N`: Fixing cross-references"
+ @echo "gtkdoc-fixxref --module=$(DOC_MODULE) --module-dir=html --html-dir=$(HTML_DIR) $(FIXXREF_OPTIONS)" >gtkdoc-fixxref.log; \
+ PATH=$(abs_top_builddir):$(PATH) PERL5LIB=$(abs_top_builddir):$(PERL5LIB) \
+ gtkdoc-fixxref --module=$(DOC_MODULE) --module-dir=html --html-dir=$(HTML_DIR) $(FIXXREF_OPTIONS) 2>&1 | tee -a gtkdoc-fixxref.log
+ @touch html-build.stamp
+
+#### pdf ####
+
+pdf-build.stamp: sgml.stamp $(DOC_MAIN_SGML_FILE) $(content_files)
+ @ts1=`cat ts`;ts2=`date +%s.%N`;tsd=`echo $$ts2-$$ts1 | bc`; \
+ echo " DOC `date --utc --date @0$$tsd +%H:%M:%S.%N`: Building PDF"
+ @rm -f $(DOC_MODULE).pdf
+ @mkpdf_options=""; \
+ if test "x$(V)" = "x1"; then \
+ mkpdf_options="$$mkpdf_options --verbose"; \
+ fi; \
+ if test "x$(HTML_IMAGES)" != "x"; then \
+ for img in $(HTML_IMAGES); do \
+ part=`dirname $$img`; \
+ echo $$mkpdf_options | grep >/dev/null "\-\-imgdir=$$part "; \
+ if test $$? != 0; then \
+ mkpdf_options="$$mkpdf_options --imgdir=$$part"; \
+ fi; \
+ done; \
+ fi; \
+ echo "gtkdoc-mkpdf --uninstalled --path="$(abs_srcdir)" $$mkpdf_options $(DOC_MODULE) $(DOC_MAIN_SGML_FILE) $(MKPDF_OPTIONS)" >gtkdoc-mkpdf.log; \
+ PATH=$(abs_top_builddir):$(PATH) PERL5LIB=$(abs_top_builddir):$(PERL5LIB) ABS_TOP_SRCDIR=$(abs_top_srcdir) \
+ gtkdoc-mkpdf --uninstalled --path="$(abs_srcdir)" $$mkpdf_options $(DOC_MODULE) $(DOC_MAIN_SGML_FILE) $(MKPDF_OPTIONS) 2>&1 | tee -a gtkdoc-mkpdf.log
+ @touch pdf-build.stamp
+
+##############
+
+# we need to enforce a rebuild for the tests
+clean-local:
+ @rm -f *~ *.bak ts
+ @rm -rf .libs
+ $(MAKE) distclean-local
+
+distclean-local:
+ @rm -rf xml html $(REPORT_FILES) $(DOC_MODULE).pdf \
+ $(DOC_MODULE)-decl-list.txt $(DOC_MODULE)-decl.txt
+ @if test "$(abs_srcdir)" != "$(abs_builddir)" ; then \
+ rm -f $(SETUP_FILES) $(expand_content_files) $(DOC_MODULE).types; \
+ fi
+
+maintainer-clean-local: clean
+ @rm -rf xml html
+
+.PHONY : dist-hook-local docs
+
+-include $(top_srcdir)/git.mk
+
+# 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:
--- /dev/null
+<?xml version="1.0"?>
+<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
+ "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd"
+[
+ <!ENTITY % local.common.attrib "xmlns:xi CDATA #FIXED 'http://www.w3.org/2003/XInclude'">
+]>
+<book id="index" xmlns:xi="http://www.w3.org/2003/XInclude">
+ <bookinfo>
+ <title>tester Reference Manual</title>
+ <corpauthor>
+ The <ulink url="http://www.gtk.org/gtk-doc">gtk-doc team</ulink>.
+ </corpauthor>
+ <releaseinfo>
+ Reference Manual for tester [VERSION].
+ The latest version of this documentation can be found on-line at
+ <ulink role="online-location" url="http://[SERVER]/tester/index.html">http://[SERVER]/tester/</ulink>.
+ </releaseinfo>
+ <legalnotice>
+ <para>
+ This manual is published as public domain.
+ </para>
+ </legalnotice>
+ </bookinfo>
+
+ <preface id="intro">
+ <title>Introduction</title>
+ <para>
+ This document is for testing purpose only.
+ It is generated from Docbook-<acronym>XML</acronym>.
+ <footnote>
+ <para>
+ Most of the actual text is quite non-sense. Don't pay attention.
+ </para>
+ </footnote>
+ </para>
+ </preface>
+
+ <part label="I">
+ <title>Overview</title>
+ <chapter id="Overview-building">
+ <title>How to build the library</title>
+ <para></para>
+ </chapter>
+ </part>
+
+ <reference label="II">
+ <title>API Reference</title>
+ <chapter id="main-api">
+ <title>Tests</title>
+ <xi:include href="xml/object.xml"/>
+ <xi:include href="xml/object2.xml"/>
+ <xi:include href="xml/iface.xml"/>
+ <xi:include href="xml/iface2.xml"/>
+ <xi:include href="xml/types.xml"/>
+ </chapter>
+ </reference>
+
+ <part label="III">
+ <title>Appendix</title>
+
+ <chapter id="object-tree">
+ <title>Object Hierarchy</title>
+ <xi:include href="xml/tree_index.sgml"/>
+ </chapter>
+
+ <chapter id="object-index">
+ <title>Object Index</title>
+ <xi:include href="xml/object_index.sgml"/>
+ </chapter>
+
+ <index id="api-index-full">
+ <title>API Index</title>
+ <xi:include href="xml/api-index-full.xml"><xi:fallback /></xi:include>
+ </index>
+ <index id="api-index-deprecated" role="deprecated">
+ <title>Index of deprecated API</title>
+ <xi:include href="xml/api-index-deprecated.xml"><xi:fallback /></xi:include>
+ </index>
+ <index id="api-index-0-1" role="0.1">
+ <title>Index of new API in 0.1</title>
+ <xi:include href="xml/api-index-0.1.xml"><xi:fallback /></xi:include>
+ </index>
+ <index id="api-index-0-5" role="0.5">
+ <title>Index of new API in 0.5</title>
+ <xi:include href="xml/api-index-0.5.xml"><xi:fallback /></xi:include>
+ </index>
+
+ <glossary>
+ <title>Glossary</title>
+ <glossdiv><title>A</title>
+ <glossentry>
+ <glossterm><anchor id="glossterm-API"/>API</glossterm>
+ <glossdef>
+ <para>Application Programming Interface</para>
+ </glossdef>
+ </glossentry>
+ </glossdiv>
+ <glossdiv><title>X</title>
+ <glossentry>
+ <glossterm><anchor id="glossterm-XML"/>XML</glossterm>
+ <glossdef>
+ <para>Extensible Markup Language</para>
+ </glossdef>
+ </glossentry>
+ <glossentry>
+ <glossterm><anchor id="glossterm-XSL"/>XSL</glossterm>
+ <glossdef>
+ <para>XML Stylesheet Language</para>
+ </glossdef>
+ </glossentry>
+ </glossdiv>
+ </glossary>
+ </part>
+</book>
--- /dev/null
+<SECTION>
+<FILE>object</FILE>
+GtkdocObject
+GtkdocObjectClass
+gtkdoc_object_new
+gtkdoc_object_set_otest
+gtkdoc_object_frobnicate
+gtkdoc_object_fooify
+GTKDOC_OBJECT_MACRO_DUMMY
+GTKDOC_OBJECT_MACRO_SUM
+<SUBSECTION Standard>
+GTKDOC_OBJECT
+GTKDOC_IS_OBJECT
+GTKDOC_TYPE_OBJECT
+gtkdoc_object_get_type
+GTKDOC_OBJECT_CLASS
+GTKDOC_IS_OBJECT_CLASS
+GTKDOC_OBJECT_GET_CLASS
+</SECTION>
+
+<SECTION>
+<FILE>object2</FILE>
+GtkdocObject2
+GtkdocObject2Class
+<SUBSECTION Standard>
+GTKDOC_TYPE_OBJECT2
+gtkdoc_object2_get_type
+</SECTION>
+
+<SECTION>
+<FILE>iface</FILE>
+GtkdocIface
+GtkdocIfaceInterface
+gtkdoc_iface_configure
+GTKDOC_IFACE_MACRO_DUMMY
+GTKDOC_IFACE_MACRO_SUM
+<SUBSECTION Standard>
+GTKDOC_IFACE
+GTKDOC_IS_IFACE
+GTKDOC_TYPE_IFACE
+gtkdoc_iface_get_type
+GTKDOC_IFACE_GET_INTERFACE
+</SECTION>
+
+<SECTION>
+<FILE>iface2</FILE>
+GtkdocIface2
+<SUBSECTION Standard>
+GTKDOC_TYPE_IFACE2
+gtkdoc_iface2_get_type
+</SECTION>
+
+<SECTION>
+<FILE>types</FILE>
+GtkdocEnum
+GtkdocPlainOldData
+GtkdocBoxedPlainOldData
+<SUBSECTION Standard>
+GTKDOC_TYPE_ENUM
+GTKDOC_TYPE_BOXED
+gtkdoc_enum_get_type
+gtkdoc_boxed_get_type
+GTKDOC_TYPE_BOXED_PLAIN_OLD_DATA
+gtkdoc_boxed_plain_old_data_get_type
+</SECTION>
+
--- /dev/null
+gtkdoc_boxed_get_type
+gtkdoc_boxed_plain_old_data_get_type
+gtkdoc_enum_get_type
+gtkdoc_iface2_get_type
+gtkdoc_iface_get_type
+gtkdoc_object2_get_type
+gtkdoc_object_get_type
--- /dev/null
+/* example for gobject usage
+ * checkout the article at http://en.wikipedia.org/wiki/GObject
+ *
+ * This example is part of the release, that can be downloaded
+ * from ftp://ftp.gnome.org/pub/gnome/sources/gtk-doc/ or any mirror.
+ */
+
+#include <glib.h>
+#include <glib-object.h>
+
+gint
+main(gint argc, gchar **argv)
+{
+ GObject *myobj;
+
+ myobj = gtkdoc_object_new();
+ g_object_set (myobj, "parameter", 5, NULL);
+ g_object_unref (myobj);
+
+ return 0;
+}
--- /dev/null
+## Process this file with automake to produce Makefile.in
+
+if BUILD_TESTS
+
+noinst_LTLIBRARIES = libtester.la
+
+libtester_la_SOURCES = \
+ gobject.c gobject.h \
+ giface.c giface.h \
+ gtypes.c gtypes.h \
+ tester.h
+#libtester_la_LIBADD = $(TEST_DEPS_LIBS)
+
+AM_CPPFLAGS = $(TEST_DEPS_CFLAGS)
+
+endif
+
+
+-include $(top_srcdir)/git.mk
--- /dev/null
+# 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@
+pkgdatadir = $(datadir)/@PACKAGE@
+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 = :
+build_triplet = @build@
+host_triplet = @host@
+subdir = tests/gobject/src
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/gnome-doc-utils.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
+ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/acinclude.m4 \
+ $(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 =
+LTLIBRARIES = $(noinst_LTLIBRARIES)
+libtester_la_LIBADD =
+am__libtester_la_SOURCES_DIST = gobject.c gobject.h giface.c giface.h \
+ gtypes.c gtypes.h tester.h
+@BUILD_TESTS_TRUE@am_libtester_la_OBJECTS = gobject.lo giface.lo \
+@BUILD_TESTS_TRUE@ gtypes.lo
+libtester_la_OBJECTS = $(am_libtester_la_OBJECTS)
+AM_V_lt = $(am__v_lt_$(V))
+am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY))
+am__v_lt_0 = --silent
+@BUILD_TESTS_TRUE@am_libtester_la_rpath =
+DEFAULT_INCLUDES = -I.@am__isrc@
+depcomp = $(SHELL) $(top_srcdir)/build-aux/depcomp
+am__depfiles_maybe = depfiles
+am__mv = mv -f
+COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
+ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
+ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+ $(AM_CFLAGS) $(CFLAGS)
+AM_V_CC = $(am__v_CC_$(V))
+am__v_CC_ = $(am__v_CC_$(AM_DEFAULT_VERBOSITY))
+am__v_CC_0 = @echo " CC " $@;
+AM_V_at = $(am__v_at_$(V))
+am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
+am__v_at_0 = @
+CCLD = $(CC)
+LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+ $(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CCLD = $(am__v_CCLD_$(V))
+am__v_CCLD_ = $(am__v_CCLD_$(AM_DEFAULT_VERBOSITY))
+am__v_CCLD_0 = @echo " CCLD " $@;
+AM_V_GEN = $(am__v_GEN_$(V))
+am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
+am__v_GEN_0 = @echo " GEN " $@;
+SOURCES = $(libtester_la_SOURCES)
+DIST_SOURCES = $(am__libtester_la_SOURCES_DIST)
+ETAGS = etags
+CTAGS = ctags
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
+AR = @AR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DBLATEX = @DBLATEX@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DISTCHECK_CONFIGURE_FLAGS = @DISTCHECK_CONFIGURE_FLAGS@
+DOC_USER_FORMATS = @DOC_USER_FORMATS@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+FGREP = @FGREP@
+FOP = @FOP@
+GREP = @GREP@
+HELP_DIR = @HELP_DIR@
+HIGHLIGHT = @HIGHLIGHT@
+HIGHLIGHT_OPTIONS = @HIGHLIGHT_OPTIONS@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+JADE = @JADE@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+MKDIR_P = @MKDIR_P@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OMF_DIR = @OMF_DIR@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_DATA_DIR = @PACKAGE_DATA_DIR@
+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@
+PKG_CONFIG = @PKG_CONFIG@
+PYTHON = @PYTHON@
+PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
+PYTHON_PLATFORM = @PYTHON_PLATFORM@
+PYTHON_PREFIX = @PYTHON_PREFIX@
+PYTHON_VERSION = @PYTHON_VERSION@
+RANLIB = @RANLIB@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SGML_FORMAT_TYPE = @SGML_FORMAT_TYPE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+TEST_DEPS_CFLAGS = @TEST_DEPS_CFLAGS@
+TEST_DEPS_LIBS = @TEST_DEPS_LIBS@
+TRACE = @TRACE@
+VERSION = @VERSION@
+XMLCATALOG = @XMLCATALOG@
+XML_CATALOG_FILE = @XML_CATALOG_FILE@
+XSLTPROC = @XSLTPROC@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+glib_prefix = @glib_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+lt_ECHO = @lt_ECHO@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+pkgpyexecdir = @pkgpyexecdir@
+pkgpythondir = @pkgpythondir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+pyexecdir = @pyexecdir@
+pythondir = @pythondir@
+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@
+@BUILD_TESTS_TRUE@noinst_LTLIBRARIES = libtester.la
+@BUILD_TESTS_TRUE@libtester_la_SOURCES = \
+@BUILD_TESTS_TRUE@ gobject.c gobject.h \
+@BUILD_TESTS_TRUE@ giface.c giface.h \
+@BUILD_TESTS_TRUE@ gtypes.c gtypes.h \
+@BUILD_TESTS_TRUE@ tester.h
+
+#libtester_la_LIBADD = $(TEST_DEPS_LIBS)
+@BUILD_TESTS_TRUE@AM_CPPFLAGS = $(TEST_DEPS_CFLAGS)
+all: all-am
+
+.SUFFIXES:
+.SUFFIXES: .c .lo .o .obj
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(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) --gnu tests/gobject/src/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --gnu tests/gobject/src/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: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
+
+clean-noinstLTLIBRARIES:
+ -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES)
+ @list='$(noinst_LTLIBRARIES)'; for p in $$list; do \
+ dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
+ test "$$dir" != "$$p" || dir=.; \
+ echo "rm -f \"$${dir}/so_locations\""; \
+ rm -f "$${dir}/so_locations"; \
+ done
+libtester.la: $(libtester_la_OBJECTS) $(libtester_la_DEPENDENCIES)
+ $(AM_V_CCLD)$(LINK) $(am_libtester_la_rpath) $(libtester_la_OBJECTS) $(libtester_la_LIBADD) $(LIBS)
+
+mostlyclean-compile:
+ -rm -f *.$(OBJEXT)
+
+distclean-compile:
+ -rm -f *.tab.c
+
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/giface.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gobject.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gtypes.Plo@am__quote@
+
+.c.o:
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(COMPILE) -c $<
+
+.c.obj:
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
+
+.c.lo:
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+
+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: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ set x; \
+ here=`pwd`; \
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; 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: $(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)
+ @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 $(LTLIBRARIES)
+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 clean-libtool clean-noinstLTLIBRARIES \
+ mostlyclean-am
+
+distclean: distclean-am
+ -rm -rf ./$(DEPDIR)
+ -rm -f Makefile
+distclean-am: clean-am distclean-compile distclean-generic \
+ distclean-tags
+
+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 -rf ./$(DEPDIR)
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-compile mostlyclean-generic \
+ mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am:
+
+.MAKE: install-am install-strip
+
+.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
+ clean-libtool clean-noinstLTLIBRARIES ctags distclean \
+ distclean-compile distclean-generic distclean-libtool \
+ 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 \
+ maintainer-clean maintainer-clean-generic mostlyclean \
+ mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
+ pdf pdf-am ps ps-am tags uninstall uninstall-am
+
+
+-include $(top_srcdir)/git.mk
+
+# 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:
--- /dev/null
+/**
+ * SECTION:iface
+ * @title: GtkdocIface
+ * @short_description: interface for gtk-doc unit test
+ * @see_also: #GtkdocObject
+ *
+ * This file contains non-sense code for the sole purpose of testing the docs.
+ * We can link to the #GtkdocIface:itest property and the #GtkdocIface::itest
+ * signal.
+ * An instance can be configured using the gtkdoc_iface_configure() function.
+ *
+ * I can haz pictures too!
+ * <mediaobject>
+ * <imageobject><imagedata fileref="home.png" format="PNG"/></imageobject>
+ * <caption><para>Home sweet home.</para></caption>
+ * </mediaobject>
+ *
+ * Just incase you wonder, special caracters can be escaped with a \ like in \%
+ * or \# or even \@.
+ */
+/**
+ * SECTION:iface2
+ * @title: GtkdocIface2
+ * @short_description: interface with a prerequisite for gtk-doc unit test
+ * @see_also: #GtkdocObject, #GtkdocIface
+ *
+ * This file contains non-sense code for the sole purpose of testing the docs.
+ */
+
+#include <glib.h>
+#include <glib-object.h>
+
+#include "giface.h"
+
+/* constructor methods */
+
+/* methods */
+
+/**
+ * gtkdoc_iface_configure:
+ * @config: settings
+ *
+ * Configure a new instance
+ *
+ * Returns: %TRUE for sucess or %FALSE in case of an error
+ *
+ * Since: 0.1
+ */
+gboolean gtkdoc_iface_configure (gchar *config) {
+ return(TRUE);
+}
+
+/* class internals */
+
+static void gtkdoc_iface_base_init (gpointer g_class) {
+ static gboolean initialized = FALSE;
+
+ if (!initialized) {
+ /**
+ * GtkdocIface::itest:
+ * @self: myself
+ *
+ * The event has been triggered.
+ */
+ g_signal_new ("itest", G_TYPE_FROM_CLASS (g_class),
+ G_SIGNAL_RUN_LAST | G_SIGNAL_NO_RECURSE | G_SIGNAL_NO_HOOKS,
+ G_STRUCT_OFFSET (GtkdocIfaceInterface,test),
+ NULL, // accumulator
+ NULL, // acc data
+ g_cclosure_marshal_VOID__OBJECT,
+ G_TYPE_NONE, // return type
+ 0); // n_params
+
+ g_object_interface_install_property (g_class ,
+ g_param_spec_string ("itest",
+ "itest prop",
+ "dummy property for iface",
+ "dummy", /* default value */
+ G_PARAM_READWRITE));
+ initialized = TRUE;
+ }
+}
+
+GType gtkdoc_iface_get_type (void) {
+ static GType type = 0;
+ if (type == 0) {
+ static const GTypeInfo info = {
+ (guint16)sizeof(GtkdocIfaceInterface),
+ gtkdoc_iface_base_init, // base_init
+ NULL, // base_finalize
+ NULL, // class_init
+ NULL, // class_finalize
+ NULL, // class_data
+ 0,
+ 0, // n_preallocs
+ NULL, // instance_init
+ NULL // value_table
+ };
+ type = g_type_register_static(G_TYPE_INTERFACE,"GtkdocIface",&info,0);
+ }
+ return type;
+}
+
+GType gtkdoc_iface2_get_type (void) {
+ static GType type = 0;
+ if (type == 0) {
+ static const GTypeInfo info = {
+ (guint16)sizeof(GtkdocIfaceInterface),
+ NULL, // base_init
+ NULL, // base_finalize
+ NULL, // class_init
+ NULL, // class_finalize
+ NULL, // class_data
+ 0,
+ 0, // n_preallocs
+ NULL, // instance_init
+ NULL // value_table
+ };
+ type = g_type_register_static(G_TYPE_INTERFACE,"GtkdocIface2",&info,0);
+ g_type_interface_add_prerequisite(type, GTKDOC_TYPE_IFACE);
+ }
+ return type;
+}
+
--- /dev/null
+#ifndef GTKDOC_IFACE_H
+#define GTKDOC_IFACE_H
+
+#include <glib.h>
+#include <glib-object.h>
+
+/* type macros */
+
+#define GTKDOC_TYPE_IFACE (gtkdoc_iface_get_type ())
+#define GTKDOC_IFACE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTKDOC_TYPE_IFACE, GtkdocIface))
+#define GTKDOC_IS_IFACE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTKDOC_TYPE_IFACE))
+#define GTKDOC_IFACE_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTKDOC_TYPE_IFACE, GtkdocIfaceInterface))
+
+#define GTKDOC_TYPE_IFACE2 (gtkdoc_iface2_get_type ())
+
+/* type structs */
+
+/**
+ * GtkdocIface:
+ *
+ * opaque instance of gtk-doc unit test interface
+ */
+typedef struct _GtkdocIface GtkdocIface;
+typedef struct _GtkdocIfaceInterface GtkdocIfaceInterface;
+
+/**
+ * GtkdocIface2:
+ *
+ * opaque instance of gtk-doc unit test interface
+ */
+typedef struct _GtkdocIface2 GtkdocIface2;
+
+/**
+ * GtkdocIfaceInterface:
+ * @parent: this is a bug :/
+ * @test: overideable method
+ *
+ * class data of gtk-doc unit test interface
+ */
+struct _GtkdocIfaceInterface {
+ GTypeInterface parent;
+
+ /* class methods */
+ void (*test)(const GtkdocIface * const self, gconstpointer const user_data);
+};
+
+GType gtkdoc_iface_get_type(void) G_GNUC_CONST;
+GType gtkdoc_iface2_get_type(void) G_GNUC_CONST;
+
+gboolean gtkdoc_iface_configure (gchar *config);
+
+/**
+ * GTKDOC_IFACE_MACRO_DUMMY:
+ * @parameter_1: first arg
+ * @parameter_2: second arg
+ *
+ * This macro does nothing.
+ */
+#define GTKDOC_IFACE_MACRO_DUMMY(parameter_1,parameter_2) /* do nothing */
+
+/**
+ * GTKDOC_IFACE_MACRO_SUM:
+ * @parameter_1: first arg
+ * @parameter_2: second arg
+ *
+ * This macro adds its args.
+ *
+ * Returns: the sum of @parameter_1 and @parameter_2
+ */
+#define GTKDOC_IFACE_MACRO_SUM(parameter_1,parameter_2) \
+ ((parameter_1) + (parameter_2))
+
+#define _GTKDOC_IFACE_INTERNAL_MACRO /* do nothing */
+
+#endif // GTKDOC_IFACE_H
+
--- /dev/null
+/**
+ * SECTION:object
+ * @title: GtkdocObject
+ * @short_description: class for gtk-doc unit test
+ * @see_also: #GtkdocIface
+ * @Image: object.png
+ *
+ * This file contains non-sense code for the sole purpose of testing the docs.
+ * We can link to the #GtkdocObject:otest property and the #GtkdocObject::otest
+ * signal.
+ *
+ * When subclassing it is useful to override the #GtkdocObjectClass.test()
+ * method. The #GtkdocObjectClass.foo_bar() vmethod lets you refine your
+ * frobnicator.
+ *
+ * A new instance can be created using the gtkdoc_object_new() function. The
+ * whole lifecycle usualy looks like shown in this example:
+ * |[<!-- language="C" -->
+ * GObject *myobj;
+ *
+ * myobj = gtkdoc_object_new();
+ * // do somehing
+ * g_object_unref (myobj);
+ * ]|
+ *
+ * # Examples #
+ *
+ * You can also change parameters:
+ * <informalexample>
+ * <programlisting language="c"><xi:include xmlns:xi="http://www.w3.org/2003/XInclude" parse="text" href="../../examples/gobject.c" /></programlisting>
+ * </informalexample>
+ *
+ * This example serves two main purposes:
+ * - testing conversion (long description
+ * follows here)
+ * - catching bugs
+ * - having an example
+ *
+ * Nothing more to say.
+ */
+/**
+ * SECTION:object2
+ * @title: GtkdocObject2
+ * @short_description: class with interface for gtk-doc unit test
+ * @see_also: #GtkdocIface
+ *
+ * This file contains non-sense code for the sole purpose of testing the docs.
+ *
+ * Internals
+ * =========
+ *
+ * All the internal details go here or not:
+ * - single item list
+ */
+
+#include <glib.h>
+#include <glib-object.h>
+
+#include "gobject.h"
+#include "giface.h"
+
+/* property ids */
+
+enum {
+ GTKDOC_OBJECT_TEST=1,
+ GTKDOC_OBJECT_DEP_TEST
+};
+
+enum {
+ GTKDOC_OBJECT2_ITEST=1
+};
+
+/* constructor methods */
+
+/**
+ * gtkdoc_object_new:
+ *
+ * Create a new instance
+ * <note><para>
+ * This will only work if you have called g_type_init() before.
+ * </para></note>
+ * Returns: the instance or %NULL in case of an error
+ *
+ * Since: 0.1
+ */
+GtkdocObject *gtkdoc_object_new (void) {
+ return(NULL);
+}
+
+/* methods */
+
+/**
+ * gtkdoc_object_set_otest:
+ * @self: the object
+ * @value: the new otest value, whose description extends further than one
+ * line will allow
+ *
+ * Set the #GtkdocObject:otest property.
+ *
+ * Deprecated: Use g_object_set(obj,"otest",value,NULL); instead.
+ *
+ * Since: 0.5
+ */
+void gtkdoc_object_set_otest (GObject *self, const gchar *value) {
+
+}
+
+/**
+ * gtkdoc_object_frobnicate:
+ * @self: the object
+ * @n: number of iterations
+ *
+ * Frobnicate the content of @self @n times. This implements a
+ * complex algorithm (http://en.wikipedia.org/wiki/Algorithm).
+ * <footnote>
+ * <para>
+ * Negative frobnication can lead to unexpected behaviour.
+ * </para>
+ * </footnote>
+ *
+ * Since: 0.5
+ */
+void gtkdoc_object_frobnicate (GObject *self, gint n) {
+
+}
+
+/**
+ * gtkdoc_object_fooify:
+ * @self: the object
+ * @...: a NULL terminated list of arguments
+ *
+ * Fooify the content of @self.
+ *
+ * Returns: %TRUE for success
+ */
+gboolean gtkdoc_object_fooify (GObject *self, ...) {
+ return TRUE;
+}
+
+/* class internals */
+
+static void gtkdoc_object_get_property (GObject *object, guint property_id,
+ GValue *value, GParamSpec *pspec)
+{
+
+}
+
+static void gtkdoc_object_set_property (GObject *object, guint property_id,
+ const GValue *value, GParamSpec *pspec)
+{
+
+}
+
+static void gtkdoc_object_class_init (GtkdocObjectClass *klass) {
+ GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
+
+ gobject_class->set_property = gtkdoc_object_set_property;
+ gobject_class->get_property = gtkdoc_object_get_property;
+
+ /**
+ * GtkdocObject::otest:
+ * @self: myself
+ *
+ * The event has been triggered.
+ */
+ g_signal_new ("otest", G_TYPE_FROM_CLASS (klass),
+ G_SIGNAL_RUN_LAST | G_SIGNAL_NO_RECURSE | G_SIGNAL_NO_HOOKS,
+ G_STRUCT_OFFSET (GtkdocObjectClass,test),
+ NULL, // accumulator
+ NULL, // acc data
+ g_cclosure_marshal_VOID__OBJECT,
+ G_TYPE_NONE, // return type
+ 0); // n_params
+
+ /**
+ * GtkdocObject::dep-otest:
+ * @self: myself
+ *
+ * The event has been triggered.
+ *
+ * Deprecated: Use the #GtkdocObject::otest signal instead.
+ */
+ g_signal_new ("dep-otest", G_TYPE_FROM_CLASS (klass),
+ G_SIGNAL_RUN_LAST | G_SIGNAL_NO_RECURSE | G_SIGNAL_NO_HOOKS,
+ G_STRUCT_OFFSET (GtkdocObjectClass,test),
+ NULL, // accumulator
+ NULL, // acc data
+ g_cclosure_marshal_VOID__OBJECT,
+ G_TYPE_NONE, // return type
+ 0); // n_params
+
+ /**
+ * GtkdocObject::strings-changed:
+ *
+ * Something has happened.
+ */
+ g_signal_new ("strings-changed", G_TYPE_FROM_CLASS (klass),
+ G_SIGNAL_RUN_LAST | G_SIGNAL_NO_RECURSE | G_SIGNAL_NO_HOOKS,
+ 0,
+ NULL, // accumulator
+ NULL, // acc data
+ g_cclosure_marshal_VOID__BOXED,
+ G_TYPE_NONE, // return type
+ 1, G_TYPE_STRV); // n_params
+
+#if GLIB_CHECK_VERSION (2, 25, 9)
+ /**
+ * GtkdocObject::variant-changed:
+ *
+ * Something has happened.
+ */
+ g_signal_new ("variant-changed", G_TYPE_FROM_CLASS (klass),
+ G_SIGNAL_RUN_LAST | G_SIGNAL_NO_RECURSE | G_SIGNAL_NO_HOOKS,
+ 0,
+ NULL, // accumulator
+ NULL, // acc data
+ g_cclosure_marshal_VOID__VARIANT,
+ G_TYPE_NONE, // return type
+ 1, G_TYPE_VARIANT); // n_params
+#endif
+
+ /**
+ * GtkdocObject:otest:
+ *
+ * Since: 0.1
+ */
+ g_object_class_install_property (gobject_class,GTKDOC_OBJECT_TEST,
+ g_param_spec_string ("otest",
+ "otest prop",
+ "dummy property for object",
+ "dummy", /* default value */
+ G_PARAM_READWRITE));
+
+ /**
+ * GtkdocObject:dep-otest:
+ *
+ * Deprecated: use #GtkdocObject:otest property
+ */
+ g_object_class_install_property (gobject_class,GTKDOC_OBJECT_DEP_TEST,
+ g_param_spec_string ("dep-otest",
+ "dep-otest prop",
+ "dummy deprecated property for object",
+ "dummy", /* default value */
+ G_PARAM_READWRITE));
+}
+
+GType gtkdoc_object_get_type (void) {
+ static GType type = 0;
+ if (type == 0) {
+ static const GTypeInfo info = {
+ (guint16)sizeof(GtkdocObjectClass),
+ NULL, // base_init
+ NULL, // base_finalize
+ (GClassInitFunc)gtkdoc_object_class_init, // class_init
+ NULL, // class_finalize
+ NULL, // class_data
+ (guint16)sizeof(GtkdocObject),
+ 0, // n_preallocs
+ NULL, // instance_init
+ NULL // value_table
+ };
+ type = g_type_register_static(G_TYPE_OBJECT,"GtkdocObject",&info,0);
+ }
+ return type;
+}
+
+
+static void gtkdoc_object2_class_init (GtkdocObjectClass *klass) {
+ GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
+
+ gobject_class->set_property = gtkdoc_object_set_property;
+ gobject_class->get_property = gtkdoc_object_get_property;
+
+ g_object_class_override_property (gobject_class, GTKDOC_OBJECT2_ITEST, "itest");
+}
+
+GType gtkdoc_object2_get_type (void) {
+ static GType type = 0;
+ if (type == 0) {
+ static const GTypeInfo info = {
+ (guint16)sizeof(GtkdocObject2Class),
+ NULL, // base_init
+ NULL, // base_finalize
+ (GClassInitFunc)gtkdoc_object2_class_init, // class_init
+ NULL, // class_finalize
+ NULL, // class_data
+ (guint16)sizeof(GtkdocObject2),
+ 0, // n_preallocs
+ NULL, // instance_init
+ NULL // value_table
+ };
+ static const GInterfaceInfo interface_info = {
+ NULL, // interface_init
+ NULL, // interface_finalize
+ NULL // interface_data
+ };
+ type = g_type_register_static(G_TYPE_OBJECT,"GtkdocObject2",&info,0);
+ g_type_add_interface_static(type, GTKDOC_TYPE_IFACE, &interface_info);
+ }
+ return type;
+}
+
--- /dev/null
+#ifndef GTKDOC_OBJECT_H
+#define GTKDOC_OBJECT_H
+
+#include <glib.h>
+#include <glib-object.h>
+
+/* type macros */
+
+#define GTKDOC_TYPE_OBJECT (gtkdoc_object_get_type ())
+#define GTKDOC_OBJECT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTKDOC_TYPE_OBJECT, GtkdocObject))
+#define GTKDOC_OBJECT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTKDOCTYPE_OBJECT, GtkdocObjectClass))
+#define GTKDOC_IS_OBJECT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTKDOC_TYPE_OBJECT))
+#define GTKDOC_IS_OBJECT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTKDOC_TYPE_OBJECT))
+#define GTKDOC_OBJECT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTKDOC_TYPE_OBJECT, GtkdocObjectClass))
+
+#define GTKDOC_TYPE_OBJECT2 (gtkdoc_object2_get_type ())
+
+/* type structs */
+
+typedef struct _GtkdocObject GtkdocObject;
+typedef struct _GtkdocObjectClass GtkdocObjectClass;
+
+typedef struct _GtkdocObject2 GtkdocObject2;
+typedef struct _GtkdocObject2Class GtkdocObject2Class;
+
+/* in gtkdoc-scan::ScanHeader() we currently skip the enums, but output a decl
+* to -decl.txt and -decl-list.txt for the struct
+* If the symbol has no docs, we get a warning in -unused.txt for the struct, but
+* not the enum
+*
+typedef struct GtkdocHelperStruct GtkdocHelperStruct;
+typedef enum GtkdocHelperEnum GtkdocHelperEnum;
+*/
+
+/**
+ * GtkdocObject:
+ *
+ * instance data of gtk-doc unit test class
+ */
+struct _GtkdocObject {
+ GObject parent;
+
+ /*< private >*/
+ gchar *test_string;
+};
+
+/**
+ * GtkdocObjectClass:
+ * @parent: this is a bug :/
+ * @test: overideable method
+ * @ping: can be used before calling the @test() function
+ * @foo_bar: lets you refine your frobnicator
+ *
+ * class data of gtk-doc unit test class
+ */
+struct _GtkdocObjectClass {
+ GObjectClass parent;
+
+ /* class methods */
+ void (*test)(const GtkdocObject * const self, gconstpointer const user_data);
+ gboolean (*ping)(const GtkdocObject * const self);
+ gboolean (*foo_bar)(const GtkdocObject * const self);
+};
+
+/**
+ * GtkdocObject2:
+ *
+ * instance data of gtk-doc unit test class
+ */
+struct _GtkdocObject2 {
+ GObject parent;
+};
+
+/**
+ * GtkdocObject2Class:
+ * @parent: this is a bug :/
+ *
+ * class data of gtk-doc unit test class
+ */
+struct _GtkdocObject2Class {
+ GObjectClass parent;
+};
+
+
+struct GtkdocHelperStruct {
+ int a;
+};
+
+enum GtkdocHelperEnum {
+ GTKDOC_HELPER_ENUM_A,
+ GTKDOC_HELPER_ENUM_B
+};
+
+GType gtkdoc_object_get_type(void) G_GNUC_CONST;
+GType gtkdoc_object2_get_type(void) G_GNUC_CONST;
+
+GtkdocObject *gtkdoc_object_new(void);
+#ifndef GTKDOC_TESTER_DISABLE_DEPRECATED
+void gtkdoc_object_set_otest (GObject *self, const gchar *value);
+#endif
+void gtkdoc_object_frobnicate (GObject *self, gint n);
+gboolean gtkdoc_object_fooify (GObject *self, ...);
+
+/**
+ * GTKDOC_OBJECT_MACRO_DUMMY:
+ * @parameter_1: first arg
+ * @parameter_2: second arg
+ *
+ * This macro does nothing.
+ *
+ * Since: 0.1
+ */
+#define GTKDOC_OBJECT_MACRO_DUMMY(parameter_1,parameter_2) /* do nothing */
+
+/**
+ * GTKDOC_OBJECT_MACRO_SUM:
+ * @parameter_1: first arg
+ * @parameter_2: second arg
+ *
+ * This macro adds its args.
+ *
+ * Returns: the sum of @parameter_1 and @parameter_2
+ */
+#define GTKDOC_OBJECT_MACRO_SUM(parameter_1,parameter_2) \
+ ((parameter_1) + (parameter_2))
+
+#define _GTKDOC_OBJECT_INTERNAL_MACRO /* do nothing */
+
+#endif // GTKDOC_OBJECT_H
+
--- /dev/null
+/**
+ * SECTION:types
+ * @title: GtkdocTypes
+ * @short_description: other gobject types for gtk-doc unit test
+ * @see_also: #GtkdocObject, #GtkdocIface
+ *
+ * This file contains non-sense code for the sole purpose of testing the docs.
+ */
+
+#include <glib.h>
+#include <glib-object.h>
+
+#include "gtypes.h"
+
+/* enum: class internals */
+
+GType gtkdoc_enum_get_type (void) {
+ static GType type = 0;
+ if(type==0) {
+ static const GEnumValue values[] = {
+ { GTKDOC_ENUM_V1, "GTKDOC_ENUM_V1", "first" },
+ { GTKDOC_ENUM_V2, "GTKDOC_ENUM_V2", "second" },
+ { GTKDOC_ENUM_V3, "GTKDOC_ENUM_V3", "third" },
+ { 0, NULL, NULL},
+ };
+ type = g_enum_register_static ("GtkdocEnum", values);
+ }
+ return type;
+}
+
+/* boxed: class internals */
+
+static gpointer gtkdoc_boxed_copy (gpointer boxed) {
+ return boxed;
+}
+
+static void gtkdoc_boxed_free (gpointer boxed) {
+}
+
+GType gtkdoc_boxed_get_type (void) {
+ static GType type = 0;
+ if (type == 0) {
+ type = g_boxed_type_register_static("GtkdocBoxed",
+ (GBoxedCopyFunc) gtkdoc_boxed_copy, (GBoxedFreeFunc) gtkdoc_boxed_free);
+ }
+ return type;
+}
+
+/* boxed plain old data: class internals */
+
+static gpointer gtkdoc_boxed_plain_old_data_copy (gpointer boxed) {
+ return g_memdup(boxed, sizeof(GtkdocBoxedPlainOldData));
+}
+
+static void gtkdoc_boxed_plain_old_data_free (gpointer boxed) {
+ g_free(boxed);
+}
+
+GType gtkdoc_boxed_plain_old_data_get_type (void) {
+ static GType type = 0;
+ if (type == 0) {
+ type = g_boxed_type_register_static("GtkdocBoxedPlainOldData",
+ (GBoxedCopyFunc) gtkdoc_boxed_plain_old_data_copy,
+ (GBoxedFreeFunc) gtkdoc_boxed_plain_old_data_free);
+ }
+ return type;
+}
--- /dev/null
+#ifndef GTKDOC_TYPES_H
+#define GTKDOC_TYPES_H
+
+#include <glib.h>
+#include <glib-object.h>
+
+/* type macros */
+
+#define GTKDOC_TYPE_ENUM (gtkdoc_enum_get_type ())
+#define GTKDOC_TYPE_BOXED (gtkdoc_boxed_get_type ())
+
+/**
+ * GtkdocEnum:
+ * @GTKDOC_ENUM_V1: first
+ * @GTKDOC_ENUM_V2: second
+ *
+ * Enum values for the #GtkdocEnum type.
+ */
+typedef enum {
+ GTKDOC_ENUM_V1=0,
+ GTKDOC_ENUM_V2,
+ /*< private >*/
+ GTKDOC_ENUM_V3
+} GtkdocEnum;
+
+GType gtkdoc_enum_get_type(void) G_GNUC_CONST;
+GType gtkdoc_boxed_get_type(void) G_GNUC_CONST;
+
+
+/**
+ * GtkdocPlainOldData:
+ * @n: Some integer member.
+ * @x: Some floating point member.
+ *
+ * Unboxed plain old data that should default to public members.
+ **/
+typedef struct {
+ guint n;
+ gdouble x;
+ /*<private>*/
+ gpointer priv;
+} GtkdocPlainOldData;
+
+#define GTKDOC_TYPE_BOXED_PLAIN_OLD_DATA (gtkdoc_boxed_plain_old_data_get_type ())
+
+/**
+ * GtkdocBoxedPlainOldData:
+ * @n: Some integer member.
+ * @x: Some floating point member.
+ *
+ * Boxed plain old data that should default to public members.
+ **/
+typedef struct {
+ guint n;
+ gdouble x;
+ /*<private>*/
+ gpointer priv;
+} GtkdocBoxedPlainOldData;
+
+GType gtkdoc_boxed_plain_old_data_get_type(void) G_GNUC_CONST;
+
+#endif // GTKDOC_TYPES_H
+
--- /dev/null
+#ifndef GTKDOC_TESTER_H
+#define GTKDOC_TESTER_H
+
+#include "gobject.h"
+#include "giface.h"
+#include "gtypes.h"
+
+#endif // GTKDOC_TESTER_H
+
--- /dev/null
+# -*- mode: makefile -*-
+
+####################################
+# Everything below here is generic #
+####################################
+
+if GTK_DOC_USE_LIBTOOL
+GTKDOC_CC = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(INCLUDES) $(GTKDOC_DEPS_CFLAGS) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+GTKDOC_LD = $(LIBTOOL) --tag=CC --mode=link $(CC) $(GTKDOC_DEPS_LIBS) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS)
+GTKDOC_RUN = $(LIBTOOL) --mode=execute
+else
+GTKDOC_CC = $(CC) $(INCLUDES) $(GTKDOC_DEPS_CFLAGS) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+GTKDOC_LD = $(CC) $(GTKDOC_DEPS_LIBS) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS)
+GTKDOC_RUN =
+endif
+
+# We set GPATH here; this gives us semantics for GNU make
+# which are more like other make's VPATH, when it comes to
+# whether a source that is a target of one rule is then
+# searched for in VPATH/GPATH.
+#
+GPATH = $(srcdir)
+
+# we don't install anything in tests
+#TARGET_DIR=$(HTML_DIR)/$(DOC_MODULE)
+
+SETUP_FILES = \
+ $(content_files) \
+ $(DOC_MAIN_SGML_FILE) \
+ $(DOC_MODULE)-sections.txt \
+ $(DOC_MODULE)-overrides.txt
+
+EXTRA_DIST = \
+ $(HTML_IMAGES) \
+ $(SETUP_FILES)
+
+DOC_STAMPS=setup-build.stamp scan-build.stamp tmpl-build.stamp sgml-build.stamp \
+ html-build.stamp pdf-build.stamp \
+ tmpl.stamp sgml.stamp html.stamp pdf.stamp
+
+SCANOBJ_FILES = \
+ $(DOC_MODULE).args \
+ $(DOC_MODULE).hierarchy \
+ $(DOC_MODULE).interfaces \
+ $(DOC_MODULE).prerequisites \
+ $(DOC_MODULE).signals
+
+REPORT_FILES = \
+ $(DOC_MODULE)-undocumented.txt \
+ $(DOC_MODULE)-undeclared.txt \
+ $(DOC_MODULE)-unused.txt
+
+CLEANFILES = $(SCANOBJ_FILES) $(REPORT_FILES) $(DOC_STAMPS)
+
+check-local: html-build.stamp pdf-build.stamp
+ @ts1=`cat ts`;ts2=`date +%s.%N`;tsd=`echo $$ts2-$$ts1 | bc`; \
+ echo " DOC `date --utc --date @0$$tsd +%H:%M:%S.%N`: All done"
+
+docs: html-build.stamp pdf-build.stamp
+ @ts1=`cat ts`;ts2=`date +%s.%N`;tsd=`echo $$ts2-$$ts1 | bc`; \
+ echo " DOC `date --utc --date @0$$tsd +%H:%M:%S.%N`: All done"
+
+$(REPORT_FILES): sgml-build.stamp
+
+ts:
+ @echo >ts `date +%s.%N`;
+
+#### setup ####
+
+setup-build.stamp: ts
+ -@if test "$(abs_srcdir)" != "$(abs_builddir)" ; then \
+ echo ' DOC Preparing build'; \
+ files=`echo $(SETUP_FILES) $(expand_content_files) $(DOC_MODULE).types`; \
+ if test "x$$files" != "x" ; then \
+ for file in $$files ; do \
+ test -f $(abs_srcdir)/$$file && \
+ cp -pu $(abs_srcdir)/$$file $(abs_builddir)/ || true; \
+ done; \
+ fi; \
+ test -d $(abs_srcdir)/tmpl && \
+ { cp $(abs_builddir)/$$file $(abs_builddir)/html; \
+ chmod -R u+w $(abs_builddir)/tmpl; } \
+ fi
+ @touch setup-build.stamp
+
+#### scan ####
+
+scan-build.stamp: ts $(HFILE_GLOB) $(CFILE_GLOB)
+ @ts1=`cat ts`;ts2=`date +%s.%N`;tsd=`echo $$ts2-$$ts1 | bc`; \
+ echo " DOC `date --utc --date @0$$tsd +%H:%M:%S.%N`: Scanning header files"
+ @_source_dir='' ; \
+ for i in $(DOC_SOURCE_DIR) ; do \
+ _source_dir="$${_source_dir} --source-dir=$$i" ; \
+ done ; \
+ echo "gtkdoc-scan --module=$(DOC_MODULE) --ignore-headers="$(IGNORE_HFILES)" $${_source_dir} $(SCAN_OPTIONS) $(EXTRA_HFILES)" >gtkdoc-scan.log; \
+ PATH=$(abs_top_builddir):$(PATH) PERL5LIB=$(abs_top_builddir):$(PERL5LIB) \
+ gtkdoc-scan --module=$(DOC_MODULE) --ignore-headers="$(IGNORE_HFILES)" $${_source_dir} $(SCAN_OPTIONS) $(EXTRA_HFILES) 2>&1 | tee -a gtkdoc-scan.log
+ @if grep -l '^..*$$' $(DOC_MODULE).types > /dev/null 2>&1 ; then \
+ ts1=`cat ts`;ts2=`date +%s.%N`;tsd=`echo $$ts2-$$ts1 | bc`; \
+ echo " DOC `date --utc --date @0$$tsd +%H:%M:%S.%N`: Introspecting gobjects"; \
+ scanobj_options=""; \
+ if test "x$(V)" = "x1"; then \
+ scanobj_options="--verbose"; \
+ fi; \
+ echo "gtkdoc-scangobj $(SCANGOBJ_OPTIONS) --module=$(DOC_MODULE) $$scanobj_options" >gtkdoc-scangobj.log; \
+ PATH=$(abs_top_builddir):$(PATH) PERL5LIB=$(abs_top_builddir):$(PERL5LIB) \
+ CC="$(GTKDOC_CC)" LD="$(GTKDOC_LD)" RUN="$(GTKDOC_RUN)" CFLAGS="$(GTKDOC_CFLAGS) $(CFLAGS)" LDFLAGS="$(GTKDOC_LIBS) $(LDFLAGS)" \
+ gtkdoc-scangobj $(SCANGOBJ_OPTIONS) --module=$(DOC_MODULE) $$scanobj_options 2>&1 | tee -a gtkdoc-scangobj.log; \
+ else \
+ for i in $(SCANOBJ_FILES) ; do \
+ test -f $$i || touch $$i ; \
+ done \
+ fi
+ @touch scan-build.stamp
+
+$(DOC_MODULE)-decl.txt $(SCANOBJ_FILES) $(DOC_MODULE)-sections.txt $(DOC_MODULE)-overrides.txt: scan-build.stamp
+ @true
+
+#### templates ####
+
+tmpl-build.stamp: setup-build.stamp $(DOC_MODULE)-decl.txt $(SCANOBJ_FILES) $(DOC_MODULE)-sections.txt $(DOC_MODULE)-overrides.txt
+ @ts1=`cat ts`;ts2=`date +%s.%N`;tsd=`echo $$ts2-$$ts1 | bc`; \
+ echo " DOC `date --utc --date @0$$tsd +%H:%M:%S.%N`: Rebuilding template files"
+ @echo "gtkdoc-mktmpl --module=$(DOC_MODULE) $(MKTMPL_OPTIONS)" >gtkdoc-mktmpl.log; \
+ PATH=$(abs_top_builddir):$(PATH) PERL5LIB=$(abs_top_builddir):$(PERL5LIB) \
+ gtkdoc-mktmpl --module=$(DOC_MODULE) $(MKTMPL_OPTIONS) 2>&1 | tee -a gtkdoc-mktmpl.log
+ @if test "$(abs_srcdir)" != "$(abs_builddir)" ; then \
+ if test -w $(abs_srcdir) ; then \
+ cp -rp $(abs_builddir)/tmpl $(abs_srcdir)/; \
+ fi \
+ fi
+ @touch tmpl-build.stamp
+
+tmpl.stamp: tmpl-build.stamp
+ @true
+
+$(srcdir)/tmpl/*.sgml:
+ @true
+
+#### xml ####
+
+sgml-build.stamp: tmpl.stamp $(DOC_MODULE)-sections.txt $(srcdir)/tmpl/*.sgml $(expand_content_files)
+ @ts1=`cat ts`;ts2=`date +%s.%N`;tsd=`echo $$ts2-$$ts1 | bc`; \
+ echo " DOC `date --utc --date @0$$tsd +%H:%M:%S.%N`: Building XML"
+ @_source_dir='' ; \
+ for i in $(DOC_SOURCE_DIR) ; do \
+ _source_dir="$${_source_dir} --source-dir=$$i" ; \
+ done ; \
+ echo "gtkdoc-mkdb --module=$(DOC_MODULE) --output-format=xml --expand-content-files="$(expand_content_files)" --main-sgml-file=$(DOC_MAIN_SGML_FILE) $${_source_dir} $(MKDB_OPTIONS)" >gtkdoc-mkdb.log; \
+ PATH=$(abs_top_builddir):$(PATH) PERL5LIB=$(abs_top_builddir):$(PERL5LIB) \
+ gtkdoc-mkdb --module=$(DOC_MODULE) --output-format=xml --expand-content-files="$(expand_content_files)" --main-sgml-file=$(DOC_MAIN_SGML_FILE) $${_source_dir} $(MKDB_OPTIONS) 2>&1 | tee -a gtkdoc-mkdb.log
+ @touch sgml-build.stamp
+
+sgml.stamp: sgml-build.stamp
+ @true
+
+#### html ####
+
+html-build.stamp: sgml.stamp $(DOC_MAIN_SGML_FILE) $(content_files)
+ @ts1=`cat ts`;ts2=`date +%s.%N`;tsd=`echo $$ts2-$$ts1 | bc`; \
+ echo " DOC `date --utc --date @00$$tsd +%H:%M:%S.%N`: Building HTML"
+ @rm -rf html
+ @mkdir html
+ @mkhtml_options=""; \
+ if test "x$(V)" = "x1"; then \
+ mkhtml_options="$$mkhtml_options --verbose"; \
+ fi; \
+ echo "gtkdoc-mkhtml --uninstalled --path="$(abs_srcdir)" $$mkhtml_options $(MKHTML_OPTIONS) $(DOC_MODULE) ../$(DOC_MAIN_SGML_FILE)" >gtkdoc-mkhtml.log; \
+ cd html && PATH=$(abs_top_builddir):$(PATH) PERL5LIB=$(abs_top_builddir):$(PERL5LIB) ABS_TOP_SRCDIR=$(abs_top_srcdir) \
+ gtkdoc-mkhtml --uninstalled --path="$(abs_srcdir)" $$mkhtml_options $(MKHTML_OPTIONS) $(DOC_MODULE) ../$(DOC_MAIN_SGML_FILE) 2>&1 | tee -a ../gtkdoc-mkhtml.log
+ -@test "x$(HTML_IMAGES)" = "x" || \
+ for file in $(HTML_IMAGES) ; do \
+ if test -f $(abs_srcdir)/$$file ; then \
+ cp $(abs_srcdir)/$$file $(abs_builddir)/html; \
+ fi; \
+ if test -f $(abs_builddir)/$$file ; then \
+ cp $(abs_builddir)/$$file $(abs_builddir)/html; \
+ fi; \
+ done;
+ @ts1=`cat ts`;ts2=`date +%s.%N`;tsd=`echo $$ts2-$$ts1 | bc`; \
+ echo " DOC `date --utc --date @0$$tsd +%H:%M:%S.%N`: Fixing cross-references"
+ @echo "gtkdoc-fixxref --module=$(DOC_MODULE) --module-dir=html --html-dir=$(HTML_DIR) $(FIXXREF_OPTIONS)" >gtkdoc-fixxref.log; \
+ PATH=$(abs_top_builddir):$(PATH) PERL5LIB=$(abs_top_builddir):$(PERL5LIB) \
+ gtkdoc-fixxref --module=$(DOC_MODULE) --module-dir=html --html-dir=$(HTML_DIR) $(FIXXREF_OPTIONS) 2>&1 | tee -a gtkdoc-fixxref.log
+ @touch html-build.stamp
+
+#### pdf ####
+
+pdf-build.stamp: sgml.stamp $(DOC_MAIN_SGML_FILE) $(content_files)
+ @ts1=`cat ts`;ts2=`date +%s.%N`;tsd=`echo $$ts2-$$ts1 | bc`; \
+ echo " DOC `date --utc --date @0$$tsd +%H:%M:%S.%N`: Building PDF"
+ @rm -f $(DOC_MODULE).pdf
+ @mkpdf_options=""; \
+ if test "x$(V)" = "x1"; then \
+ mkpdf_options="$$mkpdf_options --verbose"; \
+ fi; \
+ if test "x$(HTML_IMAGES)" != "x"; then \
+ for img in $(HTML_IMAGES); do \
+ part=`dirname $$img`; \
+ echo $$mkpdf_options | grep >/dev/null "\-\-imgdir=$$part "; \
+ if test $$? != 0; then \
+ mkpdf_options="$$mkpdf_options --imgdir=$$part"; \
+ fi; \
+ done; \
+ fi; \
+ echo "gtkdoc-mkpdf --uninstalled --path="$(abs_srcdir)" $$mkpdf_options $(DOC_MODULE) $(DOC_MAIN_SGML_FILE) $(MKPDF_OPTIONS)" >gtkdoc-mkpdf.log; \
+ PATH=$(abs_top_builddir):$(PATH) PERL5LIB=$(abs_top_builddir):$(PERL5LIB) ABS_TOP_SRCDIR=$(abs_top_srcdir) \
+ gtkdoc-mkpdf --uninstalled --path="$(abs_srcdir)" $$mkpdf_options $(DOC_MODULE) $(DOC_MAIN_SGML_FILE) $(MKPDF_OPTIONS) 2>&1 | tee -a gtkdoc-mkpdf.log
+ @touch pdf-build.stamp
+
+##############
+
+# we need to enforce a rebuild for the tests
+clean-local:
+ @rm -f *~ *.bak ts
+ @rm -rf .libs
+ $(MAKE) distclean-local
+
+distclean-local:
+ @rm -rf xml html $(REPORT_FILES) $(DOC_MODULE).pdf \
+ $(DOC_MODULE)-decl-list.txt $(DOC_MODULE)-decl.txt
+ @if test "$(abs_srcdir)" != "$(abs_builddir)" ; then \
+ rm -f $(SETUP_FILES) $(expand_content_files) $(DOC_MODULE).types; \
+ rm -rf tmpl; \
+ fi
+
+maintainer-clean-local: clean
+ @rm -rf xml html
+
+.PHONY : dist-hook-local docs
--- /dev/null
+# -*- mode: makefile -*-
+
+####################################
+# Everything below here is generic #
+####################################
+
+if GTK_DOC_USE_LIBTOOL
+GTKDOC_CC = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(INCLUDES) $(GTKDOC_DEPS_CFLAGS) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+GTKDOC_LD = $(LIBTOOL) --tag=CC --mode=link $(CC) $(GTKDOC_DEPS_LIBS) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS)
+GTKDOC_RUN = $(LIBTOOL) --mode=execute
+else
+GTKDOC_CC = $(CC) $(INCLUDES) $(GTKDOC_DEPS_CFLAGS) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+GTKDOC_LD = $(CC) $(GTKDOC_DEPS_LIBS) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS)
+GTKDOC_RUN =
+endif
+
+# We set GPATH here; this gives us semantics for GNU make
+# which are more like other make's VPATH, when it comes to
+# whether a source that is a target of one rule is then
+# searched for in VPATH/GPATH.
+#
+GPATH = $(srcdir)
+
+# we don't install anything in tests
+#TARGET_DIR=$(HTML_DIR)/$(DOC_MODULE)
+
+SETUP_FILES = \
+ $(content_files) \
+ $(DOC_MAIN_SGML_FILE) \
+ $(DOC_MODULE)-sections.txt \
+ $(DOC_MODULE)-overrides.txt
+
+EXTRA_DIST = \
+ $(HTML_IMAGES) \
+ $(SETUP_FILES)
+
+DOC_STAMPS=setup-build.stamp scan-build.stamp sgml-build.stamp \
+ html-build.stamp pdf-build.stamp \
+ sgml.stamp html.stamp pdf.stamp
+
+SCANOBJ_FILES = \
+ $(DOC_MODULE).args \
+ $(DOC_MODULE).hierarchy \
+ $(DOC_MODULE).interfaces \
+ $(DOC_MODULE).prerequisites \
+ $(DOC_MODULE).signals
+
+REPORT_FILES = \
+ $(DOC_MODULE)-undocumented.txt \
+ $(DOC_MODULE)-undeclared.txt \
+ $(DOC_MODULE)-unused.txt
+
+CLEANFILES = $(SCANOBJ_FILES) $(REPORT_FILES) $(DOC_STAMPS)
+
+check-local: html-build.stamp pdf-build.stamp
+ @ts1=`cat ts`;ts2=`date +%s.%N`;tsd=`echo $$ts2-$$ts1 | bc`; \
+ echo " DOC `date --utc --date @0$$tsd +%H:%M:%S.%N`: All done"
+
+docs: html-build.stamp pdf-build.stamp
+ @ts1=`cat ts`;ts2=`date +%s.%N`;tsd=`echo $$ts2-$$ts1 | bc`; \
+ echo " DOC `date --utc --date @0$$tsd +%H:%M:%S.%N`: All done"
+
+$(REPORT_FILES): sgml-build.stamp
+
+ts:
+ @echo >ts `date +%s.%N`;
+
+#### setup ####
+
+setup-build.stamp: ts
+ -@if test "$(abs_srcdir)" != "$(abs_builddir)" ; then \
+ echo ' DOC Preparing build'; \
+ files=`echo $(SETUP_FILES) $(expand_content_files) $(DOC_MODULE).types`; \
+ if test "x$$files" != "x" ; then \
+ for file in $$files ; do \
+ test -f $(abs_srcdir)/$$file && \
+ cp -pu $(abs_srcdir)/$$file $(abs_builddir)/ || true; \
+ done; \
+ fi; \
+ fi
+ @touch setup-build.stamp
+
+#### scan ####
+
+scan-build.stamp: ts $(HFILE_GLOB) $(CFILE_GLOB)
+ @ts1=`cat ts`;ts2=`date +%s.%N`;tsd=`echo $$ts2-$$ts1 | bc`; \
+ echo " DOC `date --utc --date @0$$tsd +%H:%M:%S.%N`: Scanning header files"
+ @_source_dir='' ; \
+ for i in $(DOC_SOURCE_DIR) ; do \
+ _source_dir="$${_source_dir} --source-dir=$$i" ; \
+ done ; \
+ echo "gtkdoc-scan --module=$(DOC_MODULE) --ignore-headers="$(IGNORE_HFILES)" $${_source_dir} $(SCAN_OPTIONS) $(EXTRA_HFILES)" >gtkdoc-scan.log; \
+ PATH=$(abs_top_builddir):$(PATH) PERL5LIB=$(abs_top_builddir):$(PERL5LIB) \
+ gtkdoc-scan --module=$(DOC_MODULE) --ignore-headers="$(IGNORE_HFILES)" $${_source_dir} $(SCAN_OPTIONS) $(EXTRA_HFILES) 2>&1 | tee -a gtkdoc-scan.log
+ @if grep -l '^..*$$' $(DOC_MODULE).types > /dev/null 2>&1 ; then \
+ ts1=`cat ts`;ts2=`date +%s.%N`;tsd=`echo $$ts2-$$ts1 | bc`; \
+ echo " DOC `date --utc --date @0$$tsd +%H:%M:%S.%N`: Introspecting gobjects"; \
+ scanobj_options=""; \
+ if test "x$(V)" = "x1"; then \
+ scanobj_options="--verbose"; \
+ fi; \
+ echo "gtkdoc-scangobj $(SCANGOBJ_OPTIONS) --module=$(DOC_MODULE) $$scanobj_options" >gtkdoc-scangobj.log; \
+ PATH=$(abs_top_builddir):$(PATH) PERL5LIB=$(abs_top_builddir):$(PERL5LIB) \
+ CC="$(GTKDOC_CC)" LD="$(GTKDOC_LD)" RUN="$(GTKDOC_RUN)" CFLAGS="$(GTKDOC_CFLAGS) $(CFLAGS)" LDFLAGS="$(GTKDOC_LIBS) $(LDFLAGS)" \
+ gtkdoc-scangobj $(SCANGOBJ_OPTIONS) --module=$(DOC_MODULE) $$scanobj_options 2>&1 | tee -a gtkdoc-scangobj.log; \
+ else \
+ for i in $(SCANOBJ_FILES) ; do \
+ test -f $$i || touch $$i ; \
+ done \
+ fi
+ @touch scan-build.stamp
+
+$(DOC_MODULE)-decl.txt $(SCANOBJ_FILES) $(DOC_MODULE)-sections.txt $(DOC_MODULE)-overrides.txt: scan-build.stamp
+ @true
+
+#### xml ####
+
+sgml-build.stamp: setup-build.stamp $(DOC_MODULE)-decl.txt $(SCANOBJ_FILES) $(DOC_MODULE)-sections.txt $(DOC_MODULE)-overrides.txt $(expand_content_files)
+ @ts1=`cat ts`;ts2=`date +%s.%N`;tsd=`echo $$ts2-$$ts1 | bc`; \
+ echo " DOC `date --utc --date @0$$tsd +%H:%M:%S.%N`: Building XML"
+ @_source_dir='' ; \
+ for i in $(DOC_SOURCE_DIR) ; do \
+ _source_dir="$${_source_dir} --source-dir=$$i" ; \
+ done ; \
+ echo "gtkdoc-mkdb --module=$(DOC_MODULE) --output-format=xml --expand-content-files="$(expand_content_files)" --main-sgml-file=$(DOC_MAIN_SGML_FILE) $${_source_dir} $(MKDB_OPTIONS)" >gtkdoc-mkdb.log; \
+ PATH=$(abs_top_builddir):$(PATH) PERL5LIB=$(abs_top_builddir):$(PERL5LIB) \
+ gtkdoc-mkdb --module=$(DOC_MODULE) --output-format=xml --expand-content-files="$(expand_content_files)" --main-sgml-file=$(DOC_MAIN_SGML_FILE) $${_source_dir} $(MKDB_OPTIONS) 2>&1 | tee -a gtkdoc-mkdb.log
+ @touch sgml-build.stamp
+
+sgml.stamp: sgml-build.stamp
+ @true
+
+#### html ####
+
+html-build.stamp: sgml.stamp $(DOC_MAIN_SGML_FILE) $(content_files)
+ @ts1=`cat ts`;ts2=`date +%s.%N`;tsd=`echo $$ts2-$$ts1 | bc`; \
+ echo " DOC `date --utc --date @00$$tsd +%H:%M:%S.%N`: Building HTML"
+ @rm -rf html
+ @mkdir html
+ @mkhtml_options=""; \
+ if test "x$(V)" = "x1"; then \
+ mkhtml_options="$$mkhtml_options --verbose"; \
+ fi; \
+ echo "gtkdoc-mkhtml --uninstalled --path="$(abs_srcdir)" $$mkhtml_options $(MKHTML_OPTIONS) $(DOC_MODULE) ../$(DOC_MAIN_SGML_FILE)" >gtkdoc-mkhtml.log; \
+ cd html && PATH=$(abs_top_builddir):$(PATH) PERL5LIB=$(abs_top_builddir):$(PERL5LIB) ABS_TOP_SRCDIR=$(abs_top_srcdir) \
+ gtkdoc-mkhtml --uninstalled --path="$(abs_srcdir)" $$mkhtml_options $(MKHTML_OPTIONS) $(DOC_MODULE) ../$(DOC_MAIN_SGML_FILE) 2>&1 | tee -a ../gtkdoc-mkhtml.log
+ -@test "x$(HTML_IMAGES)" = "x" || \
+ for file in $(HTML_IMAGES) ; do \
+ if test -f $(abs_srcdir)/$$file ; then \
+ cp $(abs_srcdir)/$$file $(abs_builddir)/html; \
+ fi; \
+ if test -f $(abs_builddir)/$$file ; then \
+ cp $(abs_builddir)/$$file $(abs_builddir)/html; \
+ fi; \
+ done;
+ @ts1=`cat ts`;ts2=`date +%s.%N`;tsd=`echo $$ts2-$$ts1 | bc`; \
+ echo " DOC `date --utc --date @0$$tsd +%H:%M:%S.%N`: Fixing cross-references"
+ @echo "gtkdoc-fixxref --module=$(DOC_MODULE) --module-dir=html --html-dir=$(HTML_DIR) $(FIXXREF_OPTIONS)" >gtkdoc-fixxref.log; \
+ PATH=$(abs_top_builddir):$(PATH) PERL5LIB=$(abs_top_builddir):$(PERL5LIB) \
+ gtkdoc-fixxref --module=$(DOC_MODULE) --module-dir=html --html-dir=$(HTML_DIR) $(FIXXREF_OPTIONS) 2>&1 | tee -a gtkdoc-fixxref.log
+ @touch html-build.stamp
+
+#### pdf ####
+
+pdf-build.stamp: sgml.stamp $(DOC_MAIN_SGML_FILE) $(content_files)
+ @ts1=`cat ts`;ts2=`date +%s.%N`;tsd=`echo $$ts2-$$ts1 | bc`; \
+ echo " DOC `date --utc --date @0$$tsd +%H:%M:%S.%N`: Building PDF"
+ @rm -f $(DOC_MODULE).pdf
+ @mkpdf_options=""; \
+ if test "x$(V)" = "x1"; then \
+ mkpdf_options="$$mkpdf_options --verbose"; \
+ fi; \
+ if test "x$(HTML_IMAGES)" != "x"; then \
+ for img in $(HTML_IMAGES); do \
+ part=`dirname $$img`; \
+ echo $$mkpdf_options | grep >/dev/null "\-\-imgdir=$$part "; \
+ if test $$? != 0; then \
+ mkpdf_options="$$mkpdf_options --imgdir=$$part"; \
+ fi; \
+ done; \
+ fi; \
+ echo "gtkdoc-mkpdf --uninstalled --path="$(abs_srcdir)" $$mkpdf_options $(DOC_MODULE) $(DOC_MAIN_SGML_FILE) $(MKPDF_OPTIONS)" >gtkdoc-mkpdf.log; \
+ PATH=$(abs_top_builddir):$(PATH) PERL5LIB=$(abs_top_builddir):$(PERL5LIB) ABS_TOP_SRCDIR=$(abs_top_srcdir) \
+ gtkdoc-mkpdf --uninstalled --path="$(abs_srcdir)" $$mkpdf_options $(DOC_MODULE) $(DOC_MAIN_SGML_FILE) $(MKPDF_OPTIONS) 2>&1 | tee -a gtkdoc-mkpdf.log
+ @touch pdf-build.stamp
+
+##############
+
+# we need to enforce a rebuild for the tests
+clean-local:
+ @rm -f *~ *.bak ts
+ @rm -rf .libs
+ $(MAKE) distclean-local
+
+distclean-local:
+ @rm -rf xml html $(REPORT_FILES) $(DOC_MODULE).pdf \
+ $(DOC_MODULE)-decl-list.txt $(DOC_MODULE)-decl.txt
+ @if test "$(abs_srcdir)" != "$(abs_builddir)" ; then \
+ rm -f $(SETUP_FILES) $(expand_content_files) $(DOC_MODULE).types; \
+ fi
+
+maintainer-clean-local: clean
+ @rm -rf xml html
+
+.PHONY : dist-hook-local docs
--- /dev/null
+#!/bin/sh
+
+suite=$1
+dir=`dirname $0`
+
+cd $dir/$suite/docs && gtkdoc-check
+
+# xmllint --noout --nonet --schema ../devhelp2.xsd ./bugs/docs/html/tester.devhelp2
+#
--- /dev/null
+#!/bin/sh
+
+dir=`dirname $0`
+suite="sanity"
+
+failed=0
+tested=0
+
+echo "Running suite(s): gtk-doc-$suite";
+
+# check the presence and non-emptyness of certain files
+nok=0
+for path in $dir/*/docs*/html; do
+ if test ! -s $path/index.html ; then
+ echo 1>&2 "no or empty $path/index.html"
+ nok=$(($nok + 1)); break;
+ fi
+ if test ! -s $path/index.sgml ; then
+ echo 1>&2 "no or empty $path/index.sgml"
+ nok=$(($nok + 1)); break;
+ fi
+ if test ! -s $path/home.png ; then
+ echo 1>&2 "no or empty $path/home.png"
+ nok=$(($nok + 1)); break;
+ fi
+ file=`echo $path/*.devhelp2`
+ if test ! -s $file ; then
+ echo 1>&2 "no or empty $file"
+ nok=$(($nok + 1)); break;
+ fi
+done
+if test $nok -gt 0 ; then failed=$(($failed + 1)); fi
+tested=$(($tested + 1))
+
+
+# check online/anchor tags
+nok=0
+for file in $dir/*/docs*/html/index.sgml; do
+ grep >/dev/null "<ONLINE href=" $file
+ if test $? = 1 ; then
+ echo 1>&2 "missing ONLINE reference in $file"
+ nok=$(($nok + 1)); break;
+ fi
+ grep >/dev/null "<ANCHOR id=" $file
+ if test $? = 1 ; then
+ echo 1>&2 "missing ANCHOR reference in $file"
+ nok=$(($nok + 1)); break;
+ fi
+done
+if test $nok -gt 0 ; then failed=$(($failed + 1)); fi
+tested=$(($tested + 1))
+
+
+# check validity of generated xml files
+nok=0
+for file in $dir/*/docs*/xml/*.xml; do
+ xmllint --noout --noent $file
+ if test $? != 0 ; then
+ echo 1>&2 "xml validity check failed for $file"
+ nok=$(($nok + 1));
+ fi
+done
+if test $nok -gt 0 ; then failed=$(($failed + 1)); fi
+tested=$(($tested + 1))
+
+
+# check validity of generated sgml files
+nok=0
+for file in $dir/*/docs*/xml/*.sgml; do
+ xmllint --noout --noent $file
+ if test $? != 0 ; then
+ echo 1>&2 "sgml validity check failed for $file"
+ nok=$(($nok + 1));
+ fi
+done
+if test $nok -gt 0 ; then failed=$(($failed + 1)); fi
+tested=$(($tested + 1))
+
+
+# summary
+rate=$((100*($tested - $failed)/$tested));
+echo "$rate %: Checks $tested, Failures: $failed"
+
+test $failed = 0
+exit $?
--- /dev/null
+#!/bin/sh
+
+suite="tools"
+
+failed=0
+tested=0
+
+echo "Running suite(s): gtk-doc-$suite";
+
+# we can use which here as we override the path in TEST_ENVIRONMENT
+
+# test perl scripts
+for file in gtkdoc-check gtkdoc-fixxref gtkdoc-mkdb gtkdoc-mktmpl gtkdoc-rebase gtkdoc-scan gtkdoc-scangobj gtkdoc-scanobj ; do
+ /usr/bin/perl -cwT `which $file`
+ if test $? = 1 ; then failed=$(($failed + 1)); fi
+ tested=$(($tested + 1))
+done
+
+
+# test shell scripts
+for file in gtkdoc-mkhtml gtkdoc-mkman gtkdoc-mkpdf gtkdocize; do
+ sh -n `which $file`
+ if test $? != 0 ; then failed=$(($failed + 1)); fi
+ tested=$(($tested + 1))
+done
+
+
+# test xsl files
+for file in $ABS_TOP_SRCDIR/*.xsl; do
+ xmllint --noout --noent $file
+ if test $? != 0 ; then failed=$(($failed + 1)); fi
+ tested=$(($tested + 1))
+done
+
+# summary
+
+rate=$((100*($tested - $failed)/$tested));
+echo "$rate %: Checks $tested, Failures: $failed"
+
+test $failed = 0
+exit $?
--- /dev/null
+#!/bin/sh
+
+suite="tools"
+
+failed=0
+tested=0
+
+echo "Running suite(s): gtk-doc-$suite";
+
+# we can use which here as we override the path in TEST_ENVIRONMENT
+
+# test perl scripts
+for file in gtkdoc-check gtkdoc-fixxref gtkdoc-mkdb gtkdoc-mktmpl gtkdoc-rebase gtkdoc-scan gtkdoc-scangobj gtkdoc-scanobj ; do
+ @PERL@ -cwT `which $file`
+ if test $? = 1 ; then failed=$(($failed + 1)); fi
+ tested=$(($tested + 1))
+done
+
+
+# test shell scripts
+for file in gtkdoc-mkhtml gtkdoc-mkman gtkdoc-mkpdf gtkdocize; do
+ sh -n `which $file`
+ if test $? != 0 ; then failed=$(($failed + 1)); fi
+ tested=$(($tested + 1))
+done
+
+
+# test xsl files
+for file in $ABS_TOP_SRCDIR/*.xsl; do
+ xmllint --noout --noent $file
+ if test $? != 0 ; then failed=$(($failed + 1)); fi
+ tested=$(($tested + 1))
+done
+
+# summary
+
+rate=$((100*($tested - $failed)/$tested));
+echo "$rate %: Checks $tested, Failures: $failed"
+
+test $failed = 0
+exit $?
--- /dev/null
+#!/usr/bin/perl -w
+
+#############################################################################
+# Function : CreateValidSGMLID
+# Description : Creates a valid SGML 'id' from the given string.
+# NOTE: SGML ids are case-insensitive, so we have a few special
+# cases to avoid clashes of ids.
+# Arguments : $id - the string to be converted into a valid SGML id.
+#############################################################################
+
+sub CreateValidSGMLID {
+ my ($id) = $_[0];
+
+ # Append -CAPS to all all-caps identifiers
+
+ # Special case, '_' would end up as '' so we use 'gettext-macro' instead.
+ if ($id eq "_") { return "gettext-macro"; }
+
+ if ($id !~ /[a-z]/) { $id .= "-CAPS" };
+
+ $id =~ s/[_ ]/-/g;
+ $id =~ s/[,\.]//g;
+ $id =~ s/^-*//;
+ $id =~ s/::/-/g;
+
+ return $id;
+}
+
+$BASEDIR=shift @ARGV;
+
+print <<EOT;
+<table cellspacing="0" cellpadding="2">
+ <tr><th align="left">Module</th><th style="padding-left: 0.5em; padding-right: 0.5em" colspan="4">Documented</th></tr>
+EOT
+
+my $row = 0;
+while (@ARGV) {
+ my $percentage;
+ my $documented;
+ my $undocumented;
+ my @undocumented_symbols;
+
+ my $module_name = shift @ARGV;
+ my $file = shift @ARGV;
+ my $indexfile = shift @ARGV;
+
+ open DOCUMENTED, "<$file" or die "Cannot open $file: $!\n";
+
+ while (<DOCUMENTED>) {
+ if (/(\d+)% (function|symbol) docs coverage/) {
+ $percentage = $1;
+ } elsif (/(\d+) (function|symbol)s documented/) {
+ $documented = $1;
+ } elsif (/(\d+) not documented/) {
+ $undocumented = $1;
+ } elsif (/^\s*(\w+)\s*$/) {
+ push @undocumented_symbols, $1;
+ }
+ }
+
+ close DOCUMENTED;
+
+ my $complete = defined $percentage && defined $documented && defined $undocumented;
+ if (!$complete) {
+ die "Cannot parse documentation status file $file\n";
+ }
+
+ my $total = $documented + $undocumented;
+
+ my $directory;
+ ($directory = $indexfile) =~ s@/[^/]*$@@;
+
+ $bgcolor = ($row % 2 == 0) ? "#f7ebd3" : "#fffcf4";
+
+ print <<EOT;
+ <tr bgcolor="$bgcolor">
+ <td><a href="$indexfile">$module_name</a></td>
+ <td align="right" style="padding-left: 0.5em">$documented</td>
+ <td>/</td><td>$total</td>
+ <td style="padding-right: 0.5em">($percentage%)</td>
+EOT
+ if ($undocumented != 0) {
+ print <<EOT;
+ <td><a href="$directory/undocumented.html"><small>[missing]<small></a></td>
+EOT
+ }
+ print <<EOT;
+ </tr>
+EOT
+
+ #
+ # Print an index of undocumented symbols for this module
+ #
+
+ @undocumented_symbols = sort { uc($a) cmp uc($b) } @undocumented_symbols;
+
+ my $base = "$BASEDIR/$directory";
+
+ open INDEX_SGML, "<$base/index.sgml" or die "Cannot open $base/index.sgml: $!\n";
+
+ my %index_symbols;
+
+ while (<INDEX_SGML>) {
+ if (/<ANCHOR\s+id="([^"]+)"\s+href="([^"]+)">/) {
+ $index_symbols{$1} = $2;
+ }
+ }
+
+ close INDEX_SGML;
+
+ open UNDOC_OUT, ">$base/undocumented.html" or die "Cannot open $base/undocumented.html: $!\n";
+ print UNDOC_OUT <<EOT;
+<html>
+<head>
+<title>Undocumented functions in $module_name</title>
+</head>
+<body bgcolor="#ffffff">
+<table>
+ <tr>
+EOT
+ my $i = 0;
+ for $symbol (@undocumented_symbols) {
+ my $id = CreateValidSGMLID($symbol);
+
+ my $output;
+ if (exists $index_symbols{$id}) {
+ my $href;
+
+ ($href = $index_symbols{$id}) =~ s@.*/(.*)$@$1@;
+
+ $output = qq(<a href="$href">$symbol</a>);
+ } else {
+ $output = qq($symbol);
+ }
+ print UNDOC_OUT " <td>$output</td>\n";
+ if ($i % 3 == 2) {
+ print UNDOC_OUT " </tr><tr>\n";
+ }
+
+ $i++;
+ }
+
+ print UNDOC_OUT <<EOT;
+ </tr>
+</table>
+</body>
+</html>
+EOT
+ close UNDOC_OUT;
+ $row++;
+}
+
+print <<EOT;
+</table>
+EOT
--- /dev/null
+
+;; Copyright (C) 1998 Michael Zucchi
+
+;; This program is free software; you can redistribute it and/or
+;; modify it under the terms of the GNU General Public License as
+;; published by the Free Software Foundation; either version 2 of
+;; the License, or (at your option) any later version.
+
+;; This program is distributed in the hope that it will be
+;; useful, but WITHOUT ANY WARRANTY; without even the implied
+;; warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+;; PURPOSE. See the GNU General Public License for more details.
+
+;; You should have received a copy of the GNU General Public
+;; License along with this program; if not, write to the Free
+;; Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+;; MA 0211
+;;
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+
+;; This file auto-generates a C function document header from the
+;; current function.
+
+;; Load into emacs (e.g. add (load "~/gtk-doc.el") to your .emacs file)
+;; and use C-x4h, or M-x gtk-doc-insert to insert a new header for
+;; the current function. You have to be somewhere in the body of the
+;; function you wish to document.
+
+;; You can also now use C-x4s to insert a blank section header.
+
+;; The default header format is setup to do 'gnome' style headers.
+;; These headers are used in the Gnome project to automatically
+;; produce SGML API documentation directly from the source code.
+
+;; These headers look something like this (the cursor is left at
+;; the '_'):
+
+;; /**
+;; * function_name:
+;; * @param1:
+;; * @param2:
+;; *
+;; * _
+;; *
+;; * Returns:
+;; **/
+;; int function_name(char *param1, int param2)
+;; {
+;; ...
+
+;; It should be able to transform this into quite a few different
+;; header formats by customising the options.
+
+;; For example, for a more gnu-ish header style, the following
+;; settings could be used:
+
+;; (setq-default gnome-doc-header "/* %s\n")
+;; or for no function name in the header:
+;; (setq-default gnome-doc-header "/* \n")
+
+;; (setq-default gnome-doc-blank " \n")
+;; or for more compact version:
+;; (setq-default gnome-doc-blank "")
+
+;; (setq-default gnome-doc-parameter " %s: \n")
+;; or to exclude parameters:
+;; (setq-default gnome-doc-parameter "")
+
+;; (setq-default gnome-doc-trailer " */\n")
+;; (setq-default gnome-doc-section " %s: \n")
+;; (setq-default gnome-doc-match-block "^ ")
+;; (setq-default gnome-doc-match-header "^/\\*")
+
+;; The important thing is to ensure all lines match
+;; the gnome-doc-match-block regular expression.
+
+;; This will produce something like this:
+
+;; /* function_name
+;; param1:
+;; param2:
+;;
+;; _
+;;
+;; Returns:
+;; */
+
+;; With the blank line defined as "", a much more
+;; compact version is generated:
+
+;; /* function_name
+;; param1:
+;; param2: _
+;; Returns:
+;; */
+
+;;;;
+;; This is my first attempt at anything remotely lisp-like, you'll just
+;; have to live with it :)
+;;
+;; It works ok with emacs-20, AFAIK it should work on other versions too.
+
+(defgroup gnome-doc nil
+ "Generates automatic headers for functions"
+ :prefix "gnome"
+ :group 'tools)
+
+(defcustom gnome-doc-header "/**\n * %s:\n"
+ "Start of documentation header.
+
+Using '%s' will expand to the name of the function."
+ :type '(string)
+ :group 'gnome-doc)
+
+(defcustom gnome-doc-blank " *\n"
+ "Used to put a blank line into the header."
+ :type '(string)
+ :group 'gnome-doc)
+
+(defcustom gnome-doc-blank-space " * \n"
+ "Used to put a blank line into the header, plus a space"
+ :type '(string)
+ :group 'gnome-doc)
+
+(defcustom gnome-doc-trailer " **/\n"
+ "End of documentation header.
+
+Using '%s' will expand to the name of the function being defined."
+ :type '(string)
+ :group 'gnome-doc)
+
+(defcustom gnome-doc-parameter " * @%s: \n"
+ "Used to add another parameter to the header.
+
+Using '%s' will be replaced with the name of the parameter."
+ :type '(string)
+ :group 'gnome-doc)
+
+(defcustom gnome-doc-section " * %s: \n"
+ "How to define a new section in the output.
+
+Using '%s' is replaced with the name of the section.
+Currently this will only be used to define the 'returns' field."
+ :type '(string)
+ :group 'gnome-doc)
+
+(defcustom gnome-doc-match-block "^ \\*"
+ "Regular expression which matches all lines in the header.
+
+It should match every line produced by any of the header specifiers.
+It is therefore convenient to start all header lines with a common
+comment prefix"
+ :type '(string)
+ :group 'gnome-doc)
+
+(defcustom gnome-doc-match-header "^/\\*\\*"
+ "Regular expression which matches the first line of the header.
+
+It is used to identify if a header has already been applied to this
+function. It should match the line produced by gnome-doc-header, or
+at least the first line of this which matches gnome-doc-match-block"
+ :type '(string)
+ :group 'gnome-doc)
+
+
+(make-variable-buffer-local 'gnome-doc-header)
+(make-variable-buffer-local 'gnome-doc-trailer)
+(make-variable-buffer-local 'gnome-doc-parameter)
+(make-variable-buffer-local 'gnome-doc-section)
+(make-variable-buffer-local 'gnome-doc-blank)
+(make-variable-buffer-local 'gnome-doc-blank-space)
+(make-variable-buffer-local 'gnome-doc-match-block)
+(make-variable-buffer-local 'gnome-doc-match-header)
+
+;; insert header at current location
+(defun gnome-doc-insert-header (function)
+ (insert (format gnome-doc-header function)))
+
+;; insert a single variable, at current location
+(defun gnome-doc-insert-var (var)
+ (insert (format gnome-doc-parameter var)))
+
+;; insert a 'blank' comment line
+(defun gnome-doc-insert-blank ()
+ (insert gnome-doc-blank))
+
+;; insert a 'blank-space' comment line
+(defun gnome-doc-insert-blank-space ()
+ (insert gnome-doc-blank-space))
+
+;; insert a section comment line
+(defun gnome-doc-insert-section (section)
+ (insert (format gnome-doc-section section)))
+
+;; insert the end of the header
+(defun gnome-doc-insert-footer (func)
+ (insert (format gnome-doc-trailer func)))
+
+(defun gtk-doc-insert ()
+ "Add a documentation header to the current function.
+Only C/C++ function types are properly supported currently."
+ (interactive)
+ (let (c-insert-here (point))
+ (save-restriction
+ (save-excursion
+ (beginning-of-defun)
+ (narrow-to-page)
+ (let (c-arglist
+ c-funcname
+ c-point
+ c-comment-point
+ c-isvoid
+ c-doinsert)
+ (while (or (looking-at "^$")
+ (looking-at "^ *}")
+ (looking-at "^ \\*")
+ (looking-at "^#"))
+ (forward-line 1))
+ (if (or (looking-at ".*void.*(")
+ (looking-at ".*void[ \t]*$"))
+ (setq c-isvoid 1))
+
+ (setq c-point point)
+
+ (save-excursion
+ (if (re-search-forward "\\([A-Za-z0-9_:~]+\\)[ \t\n]*\\(([^)]*)\\)" c-point nil)
+ (let ((c-argstart (match-beginning 2))
+ (c-argend (match-end 2)))
+ (setq c-funcname (buffer-substring (match-beginning 1) (match-end 1)))
+ (goto-char c-argstart)
+ (while (re-search-forward "\\([A-Za-z0-9_]*\\) *[,)]" c-argend t)
+ (setq c-arglist
+ (append c-arglist
+ (list (buffer-substring (match-beginning 1) (match-end 1)))))))))
+
+ ;; see if we already have a header here ...
+ (save-excursion
+ (forward-line -1)
+ (while (looking-at gnome-doc-match-block)
+ (forward-line -1))
+ (if (looking-at gnome-doc-match-header)
+ (error "Header already exists")
+ (setq c-doinsert t)))
+
+ ;; insert header
+ (if c-doinsert
+ (progn
+ (gnome-doc-insert-header c-funcname)
+
+ ;; all arguments
+ (while c-arglist
+ (gnome-doc-insert-var (car c-arglist))
+ (setq c-arglist (cdr c-arglist)))
+
+ ;; finish it off
+ (gnome-doc-insert-blank)
+ (gnome-doc-insert-blank-space)
+ ;; record the point of insertion
+ (setq c-insert-here (- (point) 1))
+
+ ;; only insert a returns if we have one ...
+ (if (not c-isvoid)
+ (progn
+ (gnome-doc-insert-blank)
+ (gnome-doc-insert-section "Returns")))
+
+ (gnome-doc-insert-footer c-funcname))))))
+
+ ;; goto the start of the description saved above
+ (goto-char c-insert-here)))
+
+
+;; set global binding for this key (follows the format for
+;; creating a changelog entry ...)
+(global-set-key "\C-x4h" 'gtk-doc-insert)
+
+
+;; Define another function for inserting a section header.
+(defun gtk-doc-insert-section ()
+ "Add a section documentation header at the current position."
+ (interactive)
+ (insert "/**\n"
+ " * SECTION:\n"
+ " * @Title: \n"
+ " * @Short_Description: \n"
+ " * @Stability_Level: \n"
+ " * @See_Also: \n"
+ " *\n"
+ " * \n"
+ " */\n"))
+
+;; Set the key binding.
+(global-set-key "\C-x4s" 'gtk-doc-insert-section)
--- /dev/null
+<?xml version='1.0'?> <!--*- mode: xml -*-->
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ version="1.0"
+ xmlns="http://www.w3.org/TR/xhtml1/transitional"
+ exclude-result-prefixes="#default">
+ <xsl:template name="version-greater-or-equal">
+ <xsl:param name="ver1"></xsl:param>
+ <xsl:param name="ver2"></xsl:param>
+ <xsl:variable name="vp1">
+ <xsl:choose>
+ <xsl:when test="contains($ver1, '.')">
+ <xsl:value-of select="substring-before($ver1, '.')"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:value-of select="$ver1"/>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:variable>
+ <xsl:variable name="vp2">
+ <xsl:choose>
+ <xsl:when test="contains($ver2, '.')">
+ <xsl:value-of select="substring-before($ver2, '.')"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:value-of select="$ver2"/>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:variable>
+ <xsl:choose>
+ <xsl:when test="$vp1 > $vp2">
+ 1
+ </xsl:when>
+ <xsl:when test="$vp1 < $vp2">
+ 0
+ </xsl:when>
+ <xsl:when test="$vp1 = $vp2">
+ <xsl:choose>
+ <xsl:when test="contains($ver1, '.') and contains($ver2, '.')">
+ <xsl:call-template name="version-greater-or-equal">
+ <xsl:with-param name="ver1" select="substring-after($ver1, '.')"/>
+ <xsl:with-param name="ver2" select="substring-after($ver2, '.')"/>
+ </xsl:call-template>
+ </xsl:when>
+ <xsl:when test="contains($ver2, '.')">
+ 0
+ </xsl:when>
+ <xsl:otherwise>
+ 1
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:when>
+ </xsl:choose>
+</xsl:template>
+</xsl:stylesheet>