+++ /dev/null
-Frans Slothouber <fslothouber@acm.org>
-Jacco van Weert <weertj@xs4all.nl>
-Petteri Kettunen <petterik@iki.fi>
-Bernd Koesling <KOESSI@CHESSY.aworld.de>
-Anthon Pang <apang@mindlink.net>
-Thomas Aglassinger <agi@sbox.tu-graz.ac.at>
-Stefan Kost <kost@imn.htwk-leipzig.de>
-
+++ /dev/null
- GNU GENERAL PUBLIC LICENSE
- Version 2, June 1991
-
- Copyright (C) 1989, 1991 Free Software Foundation, Inc.
- 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
- Preamble
-
- The licenses for most software are designed to take away your
-freedom to share and change it. By contrast, the GNU General Public
-License is intended to guarantee your freedom to share and change free
-software--to make sure the software is free for all its users. This
-General Public License applies to most of the Free Software
-Foundation's software and to any other program whose authors commit to
-using it. (Some other Free Software Foundation software is covered by
-the GNU Library General Public License instead.) You can apply it to
-your programs, too.
-
- When we speak of free software, we are referring to freedom, not
-price. Our General Public Licenses are designed to make sure that you
-have the freedom to distribute copies of free software (and charge for
-this service if you wish), that you receive source code or can get it
-if you want it, that you can change the software or use pieces of it
-in new free programs; and that you know you can do these things.
-
- To protect your rights, we need to make restrictions that forbid
-anyone to deny you these rights or to ask you to surrender the rights.
-These restrictions translate to certain responsibilities for you if you
-distribute copies of the software, or if you modify it.
-
- For example, if you distribute copies of such a program, whether
-gratis or for a fee, you must give the recipients all the rights that
-you have. You must make sure that they, too, receive or can get the
-source code. And you must show them these terms so they know their
-rights.
-
- We protect your rights with two steps: (1) copyright the software, and
-(2) offer you this license which gives you legal permission to copy,
-distribute and/or modify the software.
-
- Also, for each author's protection and ours, we want to make certain
-that everyone understands that there is no warranty for this free
-software. If the software is modified by someone else and passed on, we
-want its recipients to know that what they have is not the original, so
-that any problems introduced by others will not reflect on the original
-authors' reputations.
-
- Finally, any free program is threatened constantly by software
-patents. We wish to avoid the danger that redistributors of a free
-program will individually obtain patent licenses, in effect making the
-program proprietary. To prevent this, we have made it clear that any
-patent must be licensed for everyone's free use or not licensed at all.
-
- The precise terms and conditions for copying, distribution and
-modification follow.
-\f
- GNU GENERAL PUBLIC LICENSE
- TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
-
- 0. This License applies to any program or other work which contains
-a notice placed by the copyright holder saying it may be distributed
-under the terms of this General Public License. The "Program", below,
-refers to any such program or work, and a "work based on the Program"
-means either the Program or any derivative work under copyright law:
-that is to say, a work containing the Program or a portion of it,
-either verbatim or with modifications and/or translated into another
-language. (Hereinafter, translation is included without limitation in
-the term "modification".) Each licensee is addressed as "you".
-
-Activities other than copying, distribution and modification are not
-covered by this License; they are outside its scope. The act of
-running the Program is not restricted, and the output from the Program
-is covered only if its contents constitute a work based on the
-Program (independent of having been made by running the Program).
-Whether that is true depends on what the Program does.
-
- 1. You may copy and distribute verbatim copies of the Program's
-source code as you receive it, in any medium, provided that you
-conspicuously and appropriately publish on each copy an appropriate
-copyright notice and disclaimer of warranty; keep intact all the
-notices that refer to this License and to the absence of any warranty;
-and give any other recipients of the Program a copy of this License
-along with the Program.
-
-You may charge a fee for the physical act of transferring a copy, and
-you may at your option offer warranty protection in exchange for a fee.
-
- 2. You may modify your copy or copies of the Program or any portion
-of it, thus forming a work based on the Program, and copy and
-distribute such modifications or work under the terms of Section 1
-above, provided that you also meet all of these conditions:
-
- a) You must cause the modified files to carry prominent notices
- stating that you changed the files and the date of any change.
-
- b) You must cause any work that you distribute or publish, that in
- whole or in part contains or is derived from the Program or any
- part thereof, to be licensed as a whole at no charge to all third
- parties under the terms of this License.
-
- c) If the modified program normally reads commands interactively
- when run, you must cause it, when started running for such
- interactive use in the most ordinary way, to print or display an
- announcement including an appropriate copyright notice and a
- notice that there is no warranty (or else, saying that you provide
- a warranty) and that users may redistribute the program under
- these conditions, and telling the user how to view a copy of this
- License. (Exception: if the Program itself is interactive but
- does not normally print such an announcement, your work based on
- the Program is not required to print an announcement.)
-\f
-These requirements apply to the modified work as a whole. If
-identifiable sections of that work are not derived from the Program,
-and can be reasonably considered independent and separate works in
-themselves, then this License, and its terms, do not apply to those
-sections when you distribute them as separate works. But when you
-distribute the same sections as part of a whole which is a work based
-on the Program, the distribution of the whole must be on the terms of
-this License, whose permissions for other licensees extend to the
-entire whole, and thus to each and every part regardless of who wrote it.
-
-Thus, it is not the intent of this section to claim rights or contest
-your rights to work written entirely by you; rather, the intent is to
-exercise the right to control the distribution of derivative or
-collective works based on the Program.
-
-In addition, mere aggregation of another work not based on the Program
-with the Program (or with a work based on the Program) on a volume of
-a storage or distribution medium does not bring the other work under
-the scope of this License.
-
- 3. You may copy and distribute the Program (or a work based on it,
-under Section 2) in object code or executable form under the terms of
-Sections 1 and 2 above provided that you also do one of the following:
-
- a) Accompany it with the complete corresponding machine-readable
- source code, which must be distributed under the terms of Sections
- 1 and 2 above on a medium customarily used for software interchange; or,
-
- b) Accompany it with a written offer, valid for at least three
- years, to give any third party, for a charge no more than your
- cost of physically performing source distribution, a complete
- machine-readable copy of the corresponding source code, to be
- distributed under the terms of Sections 1 and 2 above on a medium
- customarily used for software interchange; or,
-
- c) Accompany it with the information you received as to the offer
- to distribute corresponding source code. (This alternative is
- allowed only for noncommercial distribution and only if you
- received the program in object code or executable form with such
- an offer, in accord with Subsection b above.)
-
-The source code for a work means the preferred form of the work for
-making modifications to it. For an executable work, complete source
-code means all the source code for all modules it contains, plus any
-associated interface definition files, plus the scripts used to
-control compilation and installation of the executable. However, as a
-special exception, the source code distributed need not include
-anything that is normally distributed (in either source or binary
-form) with the major components (compiler, kernel, and so on) of the
-operating system on which the executable runs, unless that component
-itself accompanies the executable.
-
-If distribution of executable or object code is made by offering
-access to copy from a designated place, then offering equivalent
-access to copy the source code from the same place counts as
-distribution of the source code, even though third parties are not
-compelled to copy the source along with the object code.
-\f
- 4. You may not copy, modify, sublicense, or distribute the Program
-except as expressly provided under this License. Any attempt
-otherwise to copy, modify, sublicense or distribute the Program is
-void, and will automatically terminate your rights under this License.
-However, parties who have received copies, or rights, from you under
-this License will not have their licenses terminated so long as such
-parties remain in full compliance.
-
- 5. You are not required to accept this License, since you have not
-signed it. However, nothing else grants you permission to modify or
-distribute the Program or its derivative works. These actions are
-prohibited by law if you do not accept this License. Therefore, by
-modifying or distributing the Program (or any work based on the
-Program), you indicate your acceptance of this License to do so, and
-all its terms and conditions for copying, distributing or modifying
-the Program or works based on it.
-
- 6. Each time you redistribute the Program (or any work based on the
-Program), the recipient automatically receives a license from the
-original licensor to copy, distribute or modify the Program subject to
-these terms and conditions. You may not impose any further
-restrictions on the recipients' exercise of the rights granted herein.
-You are not responsible for enforcing compliance by third parties to
-this License.
-
- 7. If, as a consequence of a court judgment or allegation of patent
-infringement or for any other reason (not limited to patent issues),
-conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License. If you cannot
-distribute so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you
-may not distribute the Program at all. For example, if a patent
-license would not permit royalty-free redistribution of the Program by
-all those who receive copies directly or indirectly through you, then
-the only way you could satisfy both it and this License would be to
-refrain entirely from distribution of the Program.
-
-If any portion of this section is held invalid or unenforceable under
-any particular circumstance, the balance of the section is intended to
-apply and the section as a whole is intended to apply in other
-circumstances.
-
-It is not the purpose of this section to induce you to infringe any
-patents or other property right claims or to contest validity of any
-such claims; this section has the sole purpose of protecting the
-integrity of the free software distribution system, which is
-implemented by public license practices. Many people have made
-generous contributions to the wide range of software distributed
-through that system in reliance on consistent application of that
-system; it is up to the author/donor to decide if he or she is willing
-to distribute software through any other system and a licensee cannot
-impose that choice.
-
-This section is intended to make thoroughly clear what is believed to
-be a consequence of the rest of this License.
-\f
- 8. If the distribution and/or use of the Program is restricted in
-certain countries either by patents or by copyrighted interfaces, the
-original copyright holder who places the Program under this License
-may add an explicit geographical distribution limitation excluding
-those countries, so that distribution is permitted only in or among
-countries not thus excluded. In such case, this License incorporates
-the limitation as if written in the body of this License.
-
- 9. The Free Software Foundation may publish revised and/or new versions
-of the General Public License from time to time. Such new versions will
-be similar in spirit to the present version, but may differ in detail to
-address new problems or concerns.
-
-Each version is given a distinguishing version number. If the Program
-specifies a version number of this License which applies to it and "any
-later version", you have the option of following the terms and conditions
-either of that version or of any later version published by the Free
-Software Foundation. If the Program does not specify a version number of
-this License, you may choose any version ever published by the Free Software
-Foundation.
-
- 10. If you wish to incorporate parts of the Program into other free
-programs whose distribution conditions are different, write to the author
-to ask for permission. For software which is copyrighted by the Free
-Software Foundation, write to the Free Software Foundation; we sometimes
-make exceptions for this. Our decision will be guided by the two goals
-of preserving the free status of all derivatives of our free software and
-of promoting the sharing and reuse of software generally.
-
- NO WARRANTY
-
- 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
-FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
-OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
-PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
-OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
-TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
-PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
-REPAIR OR CORRECTION.
-
- 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
-REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
-INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
-OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
-TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
-YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
-PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGES.
-
- END OF TERMS AND CONDITIONS
-\f
- How to Apply These Terms to Your New Programs
-
- If you develop a new program, and you want it to be of the greatest
-possible use to the public, the best way to achieve this is to make it
-free software which everyone can redistribute and change under these terms.
-
- To do so, attach the following notices to the program. It is safest
-to attach them to the start of each source file to most effectively
-convey the exclusion of warranty; and each file should have at least
-the "copyright" line and a pointer to where the full notice is found.
-
- <one line to give the program's name and a brief idea of what it does.>
- Copyright (C) 19yy <name of author>
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-
-
-Also add information on how to contact you by electronic and paper mail.
-
-If the program is interactive, make it output a short notice like this
-when it starts in an interactive mode:
-
- Gnomovision version 69, Copyright (C) 19yy name of author
- Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
- This is free software, and you are welcome to redistribute it
- under certain conditions; type `show c' for details.
-
-The hypothetical commands `show w' and `show c' should show the appropriate
-parts of the General Public License. Of course, the commands you use may
-be called something other than `show w' and `show c'; they could even be
-mouse-clicks or menu items--whatever suits your program.
-
-You should also get your employer (if you work as a programmer) or your
-school, if any, to sign a "copyright disclaimer" for the program, if
-necessary. Here is a sample; alter the names:
-
- Yoyodyne, Inc., hereby disclaims all copyright interest in the program
- `Gnomovision' (which makes passes at compilers) written by James Hacker.
-
- <signature of Ty Coon>, 1 April 1989
- Ty Coon, President of Vice
-
-This General Public License does not permit incorporating your program into
-proprietary programs. If your program is a subroutine library, you may
-consider it more useful to permit linking proprietary applications with the
-library. If this is what you want to do, use the GNU Library General
-Public License instead of this License.
+++ /dev/null
-$Id$
-
-This file lists the changes to the archive, not the changes to the
-ROBODoc source code. These are listed in the main header of
-Source/robodoc.c.
-
-
-Sep 2000 - Frans Slothouber (V3.2.3)
- o Added a descrip.mms file for compilation under VMS
- o make install installs additional documentation.
-
-July 2000 - Frans Slothouber (V3.2.2)
- o Documentation explains how to use ROBODoc when your sources are
- in several subdirectories.
- o Documentation explains master index file for LaTeX, how to view
- the generated documentation, and the new options, NOSOURCE, SINGLEDOC
- and TITLE.
- o example makefile includes commands to view the
- generated documentation.
- o Updated the man page
-
-June 2000 - Frans Slothouber (v3.2.1)
- o Improved documentation, better example makefile.
-
-May 2000 - Frans Slothouber (v3.2)
- o Added autoconf and automake support.
-
-December 1999 - Frans Slothouber (v3.1e)
- o Moved the C example in Examples to Examples/C
- o Added an C++ example in Examples/CPP
- o Added empty headers for C++ in Headers/
- o More documentation.
-
-December 1999 - Frans Slothouber (v3.1d)
- o Added list of possible item names to the robodoc man page.
- o Added list of possible header types to the robodoc man page.
- o Updated manual with information on the generation of the
- master index file and new header types.
-
-December 1999 - Frans Slothouber (v3.1c)
- o Added testheader.c for debug purposes.
- o Split the source code into serveral files.
- o Fixed numerous typos in the documentation.
- o Using m4 to create the html documentation (for table of contents ect).
- o Added cross links between the documentation and examples.
-
-November 1999 - Frans Slothouber (v3.1b)
- o Added a man page
- o Cleaned-up html documentation.
-
-August 1999 - Frans Slothouber:
- o Added GPL licence
- o Added INSTALL, README, and TODO
- o Converted the documentation to HTML
- o Spell-checked all documentation
-
-
-
-
-
-
-
-
-
-
+++ /dev/null
-/****f* Robodoc/RB_Panic [2.0d]
- * NAME
- * RB_Panic -- Shout panic, free resources, and shut down.
- * SYNOPSIS
- * RB_Panic (cause, add_info)
- * RB_Panic (char *, char *)
- * FUNCTION
- * Prints an error message.
- * Frees all resources used by robodoc.
- * Terminates program.
- * INPUTS
- * cause - pointer to a string which describes the
- * cause of the error.
- * add_info - pointer to a string with additional information.
- * SEE ALSO
- * RB_Close_The_Shop ()
- * SOURCE
- */
-
- void RB_Panic (char *cause, char *add_info)
- {
- printf ("Robodoc: Error, %s\n",cause) ;
- printf (" %s\n", add_info) ;
- printf ("Robodoc: Panic Fatal error, closing down...\n") ;
- RB_Close_The_Shop () ; /* Free All Resources */
- exit(100) ;
- }
-
-/*******/
+++ /dev/null
-SHELL = /bin/sh
-.SUFFIXES:
-
-ROBODOC=robodoc
-ROBOOPTS=C SORT
-
-# Your source files.
-#
-SOURCES=analyser.c generator.c items.c util.c \
- folds.c headers.c links.c robodoc.c \
- analyser.h generator.h items.h util.h \
- folds.h headers.h links.h robodoc.h
-
-# The name of your Project
-#
-PROJECT=ROBODoc
-
-# The various documentation files, derived from the source files.
-# HTML
-#
-HTMLDOCS=$(SOURCES:=.html)
-HTMLXREFS=$(HTMLDOCS:.html=.html.xref)
-HTMLXREFSFILE=$(PROJECT)_html.xrefs
-# LATEX
-#
-LATEXDOCS=$(SOURCES:=.tex)
-LATEXXREFS=$(LATEXDOCS:.tex=.tex.xref)
-LATEXXREFSFILE=$(PROJECT)_tex.xrefs
-# ASCII
-#
-ASCIIDOCS=$(SOURCES:=.txt)
-# RTF
-#
-RTFDOCS=$(SOURCES:=.rtf)
-RTFXREFS=$(RTFDOCS:.rtf=.rtf.xref)
-RTFXREFSFILE=$(PROJECT)_rtf.xrefs
-
-# Some common targets
-xrefall: xrefhtml xreftex xrefrtf
-docall: html tex ascii rtf
-
-# Create the xref files for the various formats.
-xhtml: $(HTMLXREFSFILE)
-xtex: $(LATEXXREFSFILE)
-xrtf: $(RTFXREFSFILE)
-
-# Create the documentation files for the various formats.
-html: $(HTMLDOCS) $(PROJECT)_mi.html
-tex: $(LATEXDOCS) $(PROJECT)_mi.tex
-rtf: $(RTFDOCS)
-ascii: $(ASCIIDOCS)
-
-# master index file, currently works only for html and latex documentation.
-$(PROJECT)_mi.html: $(HTMLXREFSFILE)
- $(ROBODOC) $< $@ INDEX HTML TITLE "$(PROJECT) Master Index"
-
-$(PROJECT)_mi.tex: $(LATEXXREFSFILE)
- $(ROBODOC) $< $@ INDEX LATEX TITLE "$(PROJECT) API Reference"
-
-# create xrefs file (file with the names of all .xref files).
-$(HTMLXREFSFILE) : $(HTMLXREFS)
- /bin/ls $(HTMLXREFS) > $@
-$(LATEXXREFSFILE) : $(LATEXXREFS)
- /bin/ls $(LATEXXREFS) > $@
-$(RTFXREFSFILE) : $(RTFXREFS)
- /bin/ls $(RTFXREFS) > $@
-
-# Rule to create an .xref file from a source file for the various formats.
-%.html.xref : %
- $(ROBODOC) $< $(@:.xref=) $(ROBOOPTS) INTERNAL GENXREF $@
-%.tex.xref : %
- $(ROBODOC) $< $(@:.xref=) $(ROBOOPTS) INTERNAL GENXREF $@
-%.rtf.xref : %
- $(ROBODOC) $< $(@:.xref=) $(ROBOOPTS) INTERNAL GENXREF $@
-
-# Rule to create html documentation from a source file.
-%.html : %
- $(ROBODOC) $< $@ HTML $(ROBOOPTS) XREF $(HTMLXREFSFILE)
-
-# Rule to create latex documentation from a source file.
-# We do not include source items, and generate laxtex documents
-# than can be included in a master document.
-%.tex : %
- $(ROBODOC) $< $@ LATEX $(ROBOOPTS) NOSOURCE SINGLEDOC XREF $(LATEXXREFSFILE)
-
-# Rule to create ascii documentation from a source file.
-%.txt : %
- $(ROBODOC) $< $@ ASCII
-
-# Rule to create rtf documentation from a source file.
-%.rtf : %
- $(ROBODOC) $< $@ RTF $(ROBOOPTS) XREF $(RTFXREFSFILE)
-
-# Use netscape to view the master index file for our project.
-htmlview: html
- netscape $(PROJECT)_mi.html
-
-# Use the latex programs to generate a .dvi from the master index file
-# for our prokect. View this .dvi file with xdvi
-texview: tex
- latex $(PROJECT)_mi
- makeindex $(PROJECT)_mi
- latex $(PROJECT)_mi
- latex $(PROJECT)_mi
- xdvi $(PROJECT)_mi.dvi
-
-# Clean-up the mess we made
-#
-clean:
- rm -f $(HTMLXREFS)
- rm -f $(HTMLDOCS)
- rm -f $(LATEXXREFS)
- rm -f $(LATEXDOCS)
- rm -f $(PROJECT)_mi.* *.aux
- rm -f $(RTFXREFS)
- rm -f $(RTFDOCS)
- rm -f $(ASCIIDOCS)
- rm -f $(HTMLXREFSFILE)
- rm -f $(LATEXXREFSFILE)
- rm -f $(RTFXREFSFILE)
-
+++ /dev/null
-m4_changecom(`/--*--', `--*--/')m4_dnl
-m4_define(`www_docstart', `<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN"><HTML>')m4_dnl
-m4_define(`www_header', `<HEAD><LINK rel=stylesheet href="main.css"><TITLE>$1</TITLE></HEAD>')m4_dnl
-m4_define(`www_link', `<A HREF="$1">$2</A>')m4_dnl
-m4_define(`www_bodystart', `<BODY>')m4_dnl
-m4_define(`www_bodyend', `</BODY>')m4_dnl
-m4_define(`www_docend', `</HTML>')m4_dnl
-m4_define(`www_title', `<H1>$1</H1>')m4_dnl
-m4_define(`www_sectionCounter',0)m4_dnl
-m4_define(`www_subSectionCounter',0)m4_dnl
-m4_define(`www_incrCounter',`m4_define(`$1',m4_incr($1))')m4_dnl
-m4_define(`www_section', `www_incrCounter(`www_sectionCounter') <H2><font color="red">www_sectionCounter </font><A NAME="$1">$2</A></H2> m4_define(`www_subSectionCounter', 0)')m4_dnl
-m4_define(`www_subSection', `www_incrCounter(`www_subSectionCounter')<H3><font color="red">www_sectionCounter.www_subSectionCounter </font><A NAME="$1">$2</A></H3>')m4_dnl
-
+++ /dev/null
-BODY {
- margin-top: 1em;
- margin-bottom: 1em;
- margin-left: 2.5em;
- margin-right: 2.5em;
- font-family: sans-serif;
-}
-
-#A:link {
-# color: #00FF00;
-#}
-#A:visited {
-# color: #003333;
-#}
-#A:active {
-# color: #FF00FF;
-#}
-
-p, form {
- font-family:sans-serif;
- font-size:12pt;
-}
-
-#p { text-align: justify; }
-
-B, STRONG, I, EM, CITE, VAR, TT, CODE, KBD, SAMP, IMG
-{
- display: inline;
-}
-
-UL {
- margin-top: 1em;
- margin-bottom: 1em;
- list-style-type: disc;
- display: block;
-}
-
-LI {
- margin-bottom: 0.2em;
-}
-
-
-B, STRONG {
- font-variant: small-caps;
- font-weight: bold;
-}
-
-I, CITE, EM, VAR, ADDRESS, BLOCKQUOTE { font-style: italic }
-
-PRE, TT, KBD, SAMP { font-family: monospace }
-
-
-TABLE {
- color: #000000;
- background-color: #AAAAAA;
-}
-
-TT {
- white-space: pre;
-}
-
-CODE {
- font-family: monospace;
- font-style:none;
- white-space: pre;
-}
-
-PRE {
- white-space: pre;
- margin-top: 0.5em;
-}
-
-ADDRESS {
- font-family: monospace;
- font-size: 12pt;
- text-align: left;
- margin-bottom: 0.5em;
-}
-
-
-
-H2, H3 {
- margin-top: 0.5em;
-}
-
-H1, H2, h3 { font-weight: bold }
-
-H1 {
- font-family: sans-serif;
- font-size:24pt;
- text-align:right;
- margin-right:36px;
- margin-top: 0.5em;
- margin-bottom: 0.5em;
-}
-
-H2 {
- font-family:sans-serif;
- font-size:18pt;
-}
-
-H3 {
- font-family:sans-serif;
- font-size:14pt;
-}
-
+++ /dev/null
-## Process this file with automake to produce Makefile.in
-
-man_MANS = robodoc.1
-MAINTAINERCLEANFILES = robodoc.html stoc.html stoc.m4
-
-docdir = $(prefix)/doc/$(PACKAGE)-$(VERSION)
-doc_DATA = main.css robodoc.html
-
-#
-# End of automake
-#
-
-#
-# Create the documentation in HTML format
-#
-
-M4=/usr/bin/m4
-
-myclean:
- rm -f *~ stoc.html stoc.m4 robodoc.html
- rm -f makefile.in makefile
-
-robodoc.html: robodoc.m4 stoc.html
- $(M4) -P -DVERSION=$(VERSION) $< > $@
-stoc.html: stoc.m4 tocgen.m4
- $(M4) -P $< > $@
-stoc.m4: robodoc.m4
- echo "m4_include(tocgen.m4)m4_dnl" > $@
- egrep "(www).*(ection)" $< >> $@
-
+++ /dev/null
-# makefile.in generated automatically by automake 1.4 from makefile.am
-
-# Copyright (C) 1994, 1995-8, 1999 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.
-
-
-SHELL = @SHELL@
-
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
-VPATH = @srcdir@
-prefix = @prefix@
-exec_prefix = @exec_prefix@
-
-bindir = @bindir@
-sbindir = @sbindir@
-libexecdir = @libexecdir@
-datadir = @datadir@
-sysconfdir = @sysconfdir@
-sharedstatedir = @sharedstatedir@
-localstatedir = @localstatedir@
-libdir = @libdir@
-infodir = @infodir@
-mandir = @mandir@
-includedir = @includedir@
-oldincludedir = /usr/include
-
-DESTDIR =
-
-pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-
-top_builddir = ..
-
-ACLOCAL = @ACLOCAL@
-AUTOCONF = @AUTOCONF@
-AUTOMAKE = @AUTOMAKE@
-AUTOHEADER = @AUTOHEADER@
-
-INSTALL = @INSTALL@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS)
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-transform = @program_transform_name@
-
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-CC = @CC@
-MAKEINFO = @MAKEINFO@
-PACKAGE = @PACKAGE@
-VERSION = @VERSION@
-
-man_MANS = robodoc.1
-MAINTAINERCLEANFILES = robodoc.html stoc.html stoc.m4
-
-docdir = $(prefix)/doc/$(PACKAGE)-$(VERSION)
-doc_DATA = main.css robodoc.html
-
-#
-# End of automake
-#
-
-#
-# Create the documentation in HTML format
-#
-
-M4 = /usr/bin/m4
-mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
-CONFIG_HEADER = ../Source/config.h
-CONFIG_CLEAN_FILES =
-man1dir = $(mandir)/man1
-MANS = $(man_MANS)
-
-NROFF = nroff
-DATA = $(doc_DATA)
-
-DIST_COMMON = makefile.am makefile.in
-
-
-DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
-
-TAR = gtar
-GZIP_ENV = --best
-all: all-redirect
-.SUFFIXES:
-$(srcdir)/makefile.in: makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
- cd $(top_srcdir) && $(AUTOMAKE) --gnu --include-deps Docs/makefile
-
-makefile: $(srcdir)/makefile.in $(top_builddir)/config.status
- cd $(top_builddir) \
- && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
-
-
-install-man1:
- $(mkinstalldirs) $(DESTDIR)$(man1dir)
- @list='$(man1_MANS)'; \
- l2='$(man_MANS)'; for i in $$l2; do \
- case "$$i" in \
- *.1*) list="$$list $$i" ;; \
- esac; \
- done; \
- for i in $$list; do \
- if test -f $(srcdir)/$$i; then file=$(srcdir)/$$i; \
- else file=$$i; fi; \
- ext=`echo $$i | sed -e 's/^.*\\.//'`; \
- inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \
- inst=`echo $$inst | sed '$(transform)'`.$$ext; \
- echo " $(INSTALL_DATA) $$file $(DESTDIR)$(man1dir)/$$inst"; \
- $(INSTALL_DATA) $$file $(DESTDIR)$(man1dir)/$$inst; \
- done
-
-uninstall-man1:
- @list='$(man1_MANS)'; \
- l2='$(man_MANS)'; for i in $$l2; do \
- case "$$i" in \
- *.1*) list="$$list $$i" ;; \
- esac; \
- done; \
- for i in $$list; do \
- ext=`echo $$i | sed -e 's/^.*\\.//'`; \
- inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \
- inst=`echo $$inst | sed '$(transform)'`.$$ext; \
- echo " rm -f $(DESTDIR)$(man1dir)/$$inst"; \
- rm -f $(DESTDIR)$(man1dir)/$$inst; \
- done
-install-man: $(MANS)
- @$(NORMAL_INSTALL)
- $(MAKE) $(AM_MAKEFLAGS) install-man1
-uninstall-man:
- @$(NORMAL_UNINSTALL)
- $(MAKE) $(AM_MAKEFLAGS) uninstall-man1
-
-install-docDATA: $(doc_DATA)
- @$(NORMAL_INSTALL)
- $(mkinstalldirs) $(DESTDIR)$(docdir)
- @list='$(doc_DATA)'; for p in $$list; do \
- if test -f $(srcdir)/$$p; then \
- echo " $(INSTALL_DATA) $(srcdir)/$$p $(DESTDIR)$(docdir)/$$p"; \
- $(INSTALL_DATA) $(srcdir)/$$p $(DESTDIR)$(docdir)/$$p; \
- else if test -f $$p; then \
- echo " $(INSTALL_DATA) $$p $(DESTDIR)$(docdir)/$$p"; \
- $(INSTALL_DATA) $$p $(DESTDIR)$(docdir)/$$p; \
- fi; fi; \
- done
-
-uninstall-docDATA:
- @$(NORMAL_UNINSTALL)
- list='$(doc_DATA)'; for p in $$list; do \
- rm -f $(DESTDIR)$(docdir)/$$p; \
- done
-tags: TAGS
-TAGS:
-
-
-distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir)
-
-subdir = Docs
-
-distdir: $(DISTFILES)
- @for file in $(DISTFILES); do \
- d=$(srcdir); \
- if test -d $$d/$$file; then \
- cp -pr $$d/$$file $(distdir)/$$file; \
- else \
- test -f $(distdir)/$$file \
- || ln $$d/$$file $(distdir)/$$file 2> /dev/null \
- || cp -p $$d/$$file $(distdir)/$$file || :; \
- fi; \
- done
-info-am:
-info: info-am
-dvi-am:
-dvi: dvi-am
-check-am: all-am
-check: check-am
-installcheck-am:
-installcheck: installcheck-am
-install-exec-am:
-install-exec: install-exec-am
-
-install-data-am: install-man install-docDATA
-install-data: install-data-am
-
-install-am: all-am
- @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-install: install-am
-uninstall-am: uninstall-man uninstall-docDATA
-uninstall: uninstall-am
-all-am: makefile $(MANS) $(DATA)
-all-redirect: all-am
-install-strip:
- $(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install
-installdirs:
- $(mkinstalldirs) $(DESTDIR)$(mandir)/man1 $(DESTDIR)$(docdir)
-
-
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
- -rm -f Makefile $(CONFIG_CLEAN_FILES)
- -rm -f config.cache config.log stamp-h stamp-h[0-9]*
-
-maintainer-clean-generic:
- -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
-mostlyclean-am: mostlyclean-generic
-
-mostlyclean: mostlyclean-am
-
-clean-am: clean-generic mostlyclean-am
-
-clean: clean-am
-
-distclean-am: distclean-generic clean-am
-
-distclean: distclean-am
-
-maintainer-clean-am: maintainer-clean-generic distclean-am
- @echo "This command is intended for maintainers to use;"
- @echo "it deletes files that may require special tools to rebuild."
-
-maintainer-clean: maintainer-clean-am
-
-.PHONY: install-man1 uninstall-man1 install-man uninstall-man \
-uninstall-docDATA install-docDATA tags distdir info-am info dvi-am dvi \
-check check-am installcheck-am installcheck install-exec-am \
-install-exec install-data-am install-data install-am install \
-uninstall-am uninstall all-redirect all-am all installdirs \
-mostlyclean-generic distclean-generic clean-generic \
-maintainer-clean-generic clean mostlyclean distclean maintainer-clean
-
-
-myclean:
- rm -f *~ stoc.html stoc.m4 robodoc.html
- rm -f makefile.in makefile
-
-robodoc.html: robodoc.m4 stoc.html
- $(M4) -P -DVERSION=$(VERSION) $< > $@
-stoc.html: stoc.m4 tocgen.m4
- $(M4) -P $< > $@
-stoc.m4: robodoc.m4
- echo "m4_include(tocgen.m4)m4_dnl" > $@
- egrep "(www).*(ection)" $< >> $@
-
-# 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
-.de EX \"Begin example
-.ne 5
-.if n .sp 1
-.if t .sp .5
-.nf
-.in +.5i
-..
-.de EE
-.fi
-.in -.5i
-.if n .sp 1
-.if t .sp .5
-..
-
-.TH ROBODoc 1 "V3.2.1 June 1999"
-
-.SH NAME
-
-ROBODoc - Extract documentation from source code.
-
-.SH SYNOPSIS
-.B robodoc
-.I source-file
-.I documentation-file
-.B [options]
-
-.SH DESCRIPTION
-
-ROBODoc extracts specially formated documentation from the source code.
-It allows you to maintain a program and its documentation in a single
-file.
-
-.SH OPTIONS
-
-.IP ASCII
-Generate documentation in ASCII format.
-
-.IP -c
-Show warranty and copyright statement.
-
-.IP C
-Use ANSI C grammar in source items (experimental, HTML only).
-
-.IP FOLD
-Enable folding if HTML output is selected (experimental).
-
-.IP "GENXREF xreffile"
-Generate a xreffile.
-
-.IP GUIDE
-Generate documentation in Amiga Guide format.
-
-.IP HTML
-Generate documentation in HTML format.
-
-.IP INDEX
-Create a master index file. In this case call robodoc as
-robodoc <xrefsfile> <master index file> INDEX
-
-.IP INTERNAL
-Also include headers that are marked internal.
-
-.IP INTERNALONLY
-Only extract the headers that are marked internal (that start with ****i*).
-
-.IP NOSOURCE
-Do not include the source items in the documentation.
-
-.IP LATEX
-Generate documentation in LaTeX format.
-
-.IP RTF
-Generate documentation in RTF format.
-
-.IP SINGLEDOC
-Do not create a document header and footer when creating
-documentation in LaTeX format. This allows you to include
-the generated documents into big document or
-master index file.
-
-.IP SORT
-Sort the headers alphabetically.
-
-.IP "TABSIZE <n>"
-Convert each tab into n spaces.
-
-.IP TITLE
-Sets the title that is used for the master index file.
-
-.IP TOC
-Generate a table of contents. Is only useful when you select ASCII as
-output mode. With all other output modes the Table of contents is
-generated anyway.
-
-.IP -v
-Verbose mode, robodoc tells what it is doing.
-
-.IP "XREF <xrefsfile>"
-Use the all xref files listed in the file xrefsfile to make
-cross links between documents.
-
-The following abbreviations are also allowed: -s SORT, -t TOC, -x
-XREF, -g GENXREF, -i INTERNAL, -io INTERNALONLY, -ts TABSIZE.
-
-.SH "ITEM NAMES SUPPORTED"
-
-.IP NAME
-Item's name followed by --, then a short description.
-
-.IP COPYRIGHT
-Who own the copyright.
-
-.IP "SYNOPSIS, USAGE"
-How to use it.
-
-.IP "FUNCTION, DESCRIPTION, PURPOSE"
-What does it do.
-
-.IP AUTHOR
-Who wrote it.
-
-.IP "CREATION DATE"
-When did the work start.
-
-.IP "MODIFICATION HISTORY, HISTORY"
-Who has done which changes and when.
-
-.IP "INPUTS, ARGUMENTS, OPTIONS, PARAMETERS, SWITCHES"
-What can we feed into it.
-
-.IP "OUTPUT, SIDE EFFECTS"
-What output is made.
-
-.IP "RESULT, RETURN VALUE"
-What do we get returned.
-
-.IP "EXAMPLE"
-A clear example of the items use.
-
-.IP "NOTES"
-Any annotations.
-
-.IP "DIAGNOSTICS"
-Diagnostical output.
-
-.IP "WARNINGS, ERRORS"
-Warning & error-messages.
-
-.IP BUGS
-Known bugs.
-
-.IP "TODO, IDEAS"
-What to implement next & ideas.
-
-.IP PORTABILITY
-Where does it come from, where will it work.
-
-.IP "SEE ALSO"
-References to other functions, man pages, other documentation.
-
-.IP "METHODS, NEW METHODS"
-OOP methods.
-
-.IP "ATTRIBUTES, NEW ATTRIBUTES"
-OOP attributes, could also be used for structures.
-
-.IP TAGS
-Tagitem description.
-
-.IP COMMANDS
-Command description.
-
-.IP "DERIVED FROM"
-OOP super class.
-
-.IP "DERIVED BY"
-OOP sub class.
-
-.IP "USES, CHILDREN"
-What modules are used by this one.
-
-.IP "USED BY, PARENTS"
-Which modules use this one.
-
-.IP SOURCE
-Source code inclusion.
-
-.SH "HEADER TYPES SUPPORTED"
-
-.IP h
-Header that describes the project.
-
-
-.IP f
-Header for a function.
-
-.IP s
-Header for a structure.
-
-.IP c
-Header for a class.
-
-.IP m
-Header for a method.
-
-.IP v
-Header for a variable
-
-.IP d
-Header for a constant (from define).
-
-.IP i
-Internal header.
-
-.IP *
-Generic header, for everything else.
-
-.SH EXAMPLES
-
-A simple example, you have one tcl source file and want to extract
-the documentation.
-
-.EX
-robodoc wopr.tcl wopr.tcl.html HTML SORT
-.EE
-
-Assume you have a program divided in two source files, gluify.c and
-gluify.h. To generate the documentation for this program, complete
-with cross links, you would use:
-
-.EX
-echo "gluify.c.xref" > gluify.xrefs
-echo "gluify.h.xref" >> gluify.xrefs
-robodoc gluify.c gluify.c.html HTML GENXREF gluify.c.xref
-robodoc gluify.h gluify.h.html HTML GENXREF gluify.h.xref
-robodoc gluify.c gluify.c.html HTML XREF gluify.xrefs
-robodoc gluify.h gluify.h.html HTML XREF gluify.xrefs
-.EE
-
-.SH SEE ALSO
-
-The documentation in HTML format that comes with ROBODoc. Latest
-version can be found on http://www.xs4all.nl/~rfsber/Robo/ or on
-http://freshmeat.net/
-
-
+++ /dev/null
-
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN"><HTML>
-<HEAD><LINK rel=stylesheet href="main.css"><TITLE>ROBODoc Manual</TITLE></HEAD>
-<BODY>
-<H1>ROBODoc 3.2.3 Manual</H1>
-
-<P><STRONG>Updated July 2000</STRONG></P>
-
-<P>ROBODoc is a documentation tool for C, C++, Java, Assembler, Basic,
-Fortran, LaTeX, Postscript, Tcl/Tk, LISP, Forth, Perl, Shell
-Scripts, Occam, COBOL, HTML and many other languages. Additional
-languages can be supported by a few modifications to the source
-code.</P>
-
-<P>Copyright (C) 1994-2000 Frans Slothouber and Jacco van Weert.</P>
-
-<P>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.</P>
-
-<P>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.</P>
-
-<P>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</P>
-
-
-
- <H2><font color="red">1 </font><A NAME="creds">Credits</A></H2>
-
-<UL>
-
- <LI>Original program and idea: Jacco van Weert</LI>
-
- <LI>Versions 2.0 and up: Frans Slothouber, Petteri Kettunen,
- Bernd Koesling, Anthon Pang, Thomas Aglassinger,
- and Stefan Kost, Guillaume Etorre, Simo Muinonen,
- Petter Reinholdtsen.
- </LI>
-
- <LI>Maintainer: Frans Slothouber (fslothouber@acm.org),
- The Netherlands.</LI>
-
-</UL>
-
-
- <H2><font color="red">2 </font><A NAME="toc">Table of Contents</A></H2>
-
-<STRONG><FONT COLOR="red">01</FONT>......... <A HREF="#creds">Credits</A></STRONG><BR>
-<STRONG><FONT COLOR="red">02</FONT>......... <A HREF="#toc">Table of Contents</A></STRONG><BR>
-<STRONG><FONT COLOR="red">03</FONT>......... <A HREF="#INTRO">Introduction</A></STRONG><BR>
-<STRONG><FONT COLOR="red">04</FONT>......... <A HREF="#HSR">Hardware and software requirements</A></STRONG><BR>
-<STRONG><FONT COLOR="red">05</FONT>......... <A HREF="#LMT">Goals and Limitations</A></STRONG><BR>
-<STRONG><FONT COLOR="red">06</FONT>......... <A HREF="#HFCWR">How to Format Your Code for use with ROBODoc</A></STRONG><BR>
-<STRONG><font color="red">06.01</font>.......... <A HREF="#hname">Header Names</A></STRONG><BR>
-<STRONG><font color="red">06.02</font>.......... <A HREF="#htypes">Header Types</A></STRONG><BR>
-<STRONG><font color="red">06.03</font>.......... <A HREF="#bmar">Begin Marker</A></STRONG><BR>
-<STRONG><font color="red">06.04</font>.......... <A HREF="#rmarker">Remark Marker</A></STRONG><BR>
-<STRONG><font color="red">06.05</font>.......... <A HREF="#emar">End Marker</A></STRONG><BR>
-<STRONG><font color="red">06.06</font>.......... <A HREF="#hitem">Header Items</A></STRONG><BR>
-<STRONG><font color="red">06.07</font>.......... <A HREF="#inlimits">Item Name Limitations</A></STRONG><BR>
-<STRONG><font color="red">06.08</font>.......... <A HREF="#SI">Source Item</A></STRONG><BR>
-<STRONG><FONT COLOR="red">07</FONT>......... <A HREF="#CLD">Creating Cross Links</A></STRONG><BR>
-<STRONG><font color="red">07.01</font>.......... <A HREF="#limits">Limitations</A></STRONG><BR>
-<STRONG><FONT COLOR="red">08</FONT>......... <A HREF="#MAIND">Master Index File</A></STRONG><BR>
-<STRONG><font color="red">08.01</font>.......... <A HREF="#MIEXM">examples</A></STRONG><BR>
-<STRONG><FONT COLOR="red">09</FONT>......... <A HREF="#makefile">Automation with <TT>make</TT></A></STRONG><BR>
-<STRONG><FONT COLOR="red">10</FONT>......... <A HREF="#MDSO">What to do if You have Sources in Multiple Directories</A></STRONG><BR>
-<STRONG><FONT COLOR="red">11</FONT>......... <A HREF="#RDF">The ROBODoc Defaults File</A></STRONG><BR>
-<STRONG><FONT COLOR="red">12</FONT>......... <A HREF="#UOB">ROBODoc Command Line Options</A></STRONG><BR>
-<STRONG><FONT COLOR="red">13</FONT>......... <A HREF="#ADV">Adding New Languages</A></STRONG><BR>
-<STRONG><FONT COLOR="red">14</FONT>......... <A HREF="#SAB">Suggestions and Bugs</A></STRONG><BR>
-
-
-
-
- <H2><font color="red">3 </font><A NAME="INTRO">Introduction</A></H2>
-
-<P>ROBODoc is based on the AutoDocs program written some time ago
-by Commodore. The idea is to include for every function a
-standard header containing all sorts of information about that
-procedure/function. An AutoDocs program extracts these headers
-from the source file and puts them in an autodocs file. This
-allows you to include the program documentation in the source
-code and makes it unnecessary to maintain two documents.</P>
-
-
-<P>ROBODoc is such a program, however ROBODoc has several
-additions. For one it can generate the documentation in
-different formats, ASCII, HTML, RTF, LaTeX, and AmigaGuide.
-Another feature is that it automatically creates links within the
-document, and to other documents. It is also possible to include
-parts of the source in you documentation, complete with links.
-For instance it is possible to include the complete source code
-of a function, and have the function names in the source point to
-their documentation. Besides documenting functions, you can also
-document classes, methods, structures, variables, and
-constants.</P>
-
-
-<P>If you never have used AutoDoc or ROBODoc before you might
-take a look at the example in the <TT>Source/</TT>. Run the
-command:</P>
-
-<PRE>
- make xhtml
- make example
-</PRE>
-
-
-<P>This creates the ROBODoc
-<A HREF="../Source/ROBODoc_mi.html">documentation</A> for the
-ROBODoc program itself and then starts netscape to view the
-documentation. Also have a look at the source files, they
-illustrates the use of headers.</P>
-
-<P>ROBODoc can generate documentation in five different
-formats:</P>
-
-<UL>
- <LI>HTML format complete with hyperlinks and mark-ups.</LI>
-
- <LI>LaTeX, based on D. Knuth excellent typesetting system.</LI>
-
- <LI>Plain ASCII text file, this file is very close to what the
- original AutoDocs program would generate.</LI>
-
- <LI>RTF, Rich Text Format, mostly used on Windows machines
- before WWW revolution.</LI>
-
- <LI>AmigaGuide format, it is the Amiga computer's equivalent
- HTML. The AmigaGuide program is necessary to view the
- resulting autodocs-file. (This was the preferred format when the
- program was written in 1994.)</LI>
-
-</UL>
-
-
- <H2><font color="red">4 </font><A NAME="HSR">Hardware and software requirements</A></H2>
-
-<P>ROBODoc was developed in 1994 on a standard Amiga 1200, a
-system with a 20MHz 68020 processor and 2 Mbyte of RAM. It should
-therefore be no problem to run it on any of the currently
-available systems :) The complete source code consists of a
-series of file that can be found in the <TT>Source</TT>
-directory. It is written according (hopefully) to the ANSI C
-standard and uses no special functions, so it should run on every
-system with an ANSI C-compiler.</P>
-
-
- <H2><font color="red">5 </font><A NAME="LMT">Goals and Limitations</A></H2>
-
-<P>ROBODoc is intended for small to medium sized projects
-that have a relatively flat structure and especially projects
-that use a mix of different programming languages.</P>
-
-<P>
-ROBODoc was designed to be easy to use and to work with a lot of
-different programming languages. It has no knowledge of the
-syntax of a programming languages. It just some knowledge about
-how remarks start and end in some programming languages. This
-means that you sometimes have to do a little more work compared
-to other tools that have detailed knowledge of the syntax of a
-particular language. They can use that knowledge to figure out
-some of the information automatically. This usually also means
-that they work only with one or two languages.
-</P>
-
-<P>ROBODoc operates on one file at a time. It has no mechanism to
-process whole sets of source files. Makefiles should be used for
-this. How to do this is explained in this document with various
-example makefiles. Have a look at them.
-</P>
-
-<P>ROBODoc can work with projects where the source code is located
-in different subdirectories. However the generated documentation is
-expected to go into one single directory.</P>
-
-
- <H2><font color="red">6 </font><A NAME="HFCWR">How to Format Your Code for use with ROBODoc</A></H2>
-
-<P>ROBODoc allows you to mix the program documentation with the
-source code. It does require though that this documentation has
-a particular layout so ROBODoc can recognize it. The following
-header was taken from the original ROBODoc program (many versions
-back).</P>
-
-<TABLE>
-<TR>
-<TD>
-<PRE>
- <FONT COLOR="red">------------------------------- Header Name</FONT>
- <FONT COLOR="red">/ \</FONT>
- /****f* financial.library/StealMoney <FONT COLOR="red"><---- Begin Marker</FONT>
- * <FONT COLOR="red">^------- Header Type</FONT>
- *
- * <FONT COLOR="red"><---- Remark Marker</FONT>
- * NAME
- * StealMoney -- Steal money from the Federal Reserve Bank. (V77)
- * SYNOPSIS <FONT COLOR="red"><---- Item Name</FONT>
- * error = StealMoney( userName,amount,destAccount,falseTrail )
- * D0,Z D0 D1.W A0 [A1]
- *
- * BYTE StealMoney
- * ( STRPTR,UWORD,struct AccountSpec *,struct falseTrail *);
- * FUNCTION
- * Transfer money from the Federal Reserve Bank into the
- * specified interest-earning checking account. No records of
- * the transaction will be retained.
- * INPUTS
- * userName - name to make the transaction under. Popular
- * favorites include "Ronald Reagan" and
- * "Mohamar Quadaffi".
- * amount - Number of dollars to transfer (in thousands).
- * destAccount - A filled-in AccountSpec structure detailing the
- * destination account (see financial/accounts.h).
- * If NULL, a second Great Depression will be
- * triggered.
- * falseTrail - If the DA_FALSETRAIL bit is set in the
- * destAccount, a falseTrail structure must be
- * provided.
- * RESULT
- * error - zero for success, else an error code is returned
- * (see financial/errors.h). The Z condition code
- * is guaranteed.
- * EXAMPLE
- * Federal regulations prohibit a demonstration of this function.
- * NOTES
- * Do not run on Tuesdays!
- * BUGS
- * Before V88, this function would occasionally print the
- * address and home phone number of the caller on local police
- * 976 terminals. We are confident that this problem has been
- * resolved.
- * SEE ALSO
- * CreateAccountSpec(),security.device/SCMD_DESTROY_EVIDENCE,
- * financial/misc.h
- *
- ****** <FONT COLOR="red"><---- End Marker</FONT>
- *
- * You can use this space for remarks that should not be included
- * in the documentation.
- *
- */
-</PRE>
-</TD>
-</TR>
-</TABLE>
-
-<P>You would place this headers in front of functions, classes,
-methods, structure definitions, or any of the major components in
-your program. The header itself contains a number of items that
-provide structured information about the component. </P>
-
-<P>There are a number of special markers in a header (indicated
-in red above). There are two special markers that mark the begin
-and end of a header. Each line in a header should start with a
-remark marker. The starts of each item is marked by an Item Name
-(in all capitals).</P>
-
-
-<H3><font color="red">6.1 </font><A NAME="hname">Header Names</A></H3>
-
-<P>ROBODoc makes some assumptions about the structure a project.
-It assumes that a project consists of a number of modules, and
-that each module consists of a number of components. These
-components can be anything that you care to document; functions,
-variables, structures, classes, methods etc.</P>
-
-<P> Projects, modules, and components all have names. The names
-allow ROBODoc to structure the documentation and create
-cross-links. Names are defined in the header name. It is either
-of the form <TT> <project name>/<module name></TT>
-for a module header, or of the form <TT><module
-name>/<component name></TT> for all other headers.</P>
-
-<H3><font color="red">6.2 </font><A NAME="htypes">Header Types</A></H3>
-
-<P>You can provide ROBODoc with some additional information
-by specifying the header type. The header type tells ROBODoc
-what kind of component you are documenting. This information
-allows ROBODoc to create more useful index tables.</P>
-
-<P>The type is identified by a single character, as listed in the
-following table</P>
-
-<TABLE>
-<TR><TD>h</TD><TD>Header for a module in a project.</TD></TR>
-<TR><TD>f</TD><TD>Header for a function.</TD></TR>
-<TR><TD>s</TD><TD>Header for a structure.</TD></TR>
-<TR><TD>c</TD><TD>Header for a class.</TD></TR>
-<TR><TD>m</TD><TD>Header for a method.</TD></TR>
-<TR><TD>v</TD><TD>Header for a variable.</TD></TR>
-<TR><TD>d</TD><TD>Header for a constant
-(from <STRONG>d</STRONG>efine).</TD></TR>
-<TR><TD>*</TD><TD>Generic header for every thing else.</TD></TR>
-<TR><TD>i</TD><TD>Internal header.</TD></TR>
-</TABLE>
-
-<P>Internal headers are special. They can be used to hide certain
-headers. They are only extracted if requested. You could use to
-document internal functions that you do now want clients to
-see.</P>
-
-
-<H3><font color="red">6.3 </font><A NAME="bmar">Begin Marker</A></H3>
-
-<P>The beginning of a header is marked with a special marker.
-The above header is intended for a program in C. In other
-programming languages the marker looks slightly different, since
-each language has its own convention for starting remarks.
-ROBODoc recognizes the following begin markers:</P>
-
-<TABLE >
-<TR><TD><TT>"/****"</TT>
- <TD>C, C++</TD>
-</TR>
-<TR><TD><TT>"//****"</TT></TD>
- <TD>C++</TD>
-</TR>
-<TR><TD><TT>";****"</TT></TD>
- <TD>Assembler</TD>
-</TR>
-<TR><TD><TT>"****"</TT></TD>
- <TD>Assembler</TD>
-</TR>
-<TR><TD><TT>"{****"</TT></TD>
- <TD>Pascal</TD>
-</TR>
-<TR><TD><TT>"REM ****"</TT></TD>
- <TD>Basic (Rem, rem, or even rEM also works)</TD>
-</TR>
-<TR><TD><TT>"C ****"</TT></TD>
- <TD>Fortran (c **** also works)</TD>
-</TR>
-<TR><TD><TT>"%****"</TT></TD>
- <TD>LaTeX, TeX, Postscript.</TD>
-</TR>
-<TR><TD><TT>"#****"</TT></TD>
- <TD>Tcl/Tk, Perl, makefiles, gnuplot etc.</TD>
-</TR>
-<TR><TD><TT>"(****"</TT></TD>
- <TD>Pascal, Modula-2, LISP</TD>
-</TR>
-<TR><TD><TT>"--****"</TT></TD>
- <TD>Occam</TD>
-</TR>
-<TR><TD><TT>"<!--****"</TT></TD>
- <TD>HTML</TD>
-</TR>
-<TR><TD><TT>"<!---****"</TT></TD>
- <TD>HTML</TD>
-</TR>
-<TR><TD><TT>"|****"</TT></TD>
- <TD>GNU Assembler</TD>
-</TR>
-<TR><TD><TT>"!!****"</TT></TD>
- <TD>Fortran 90</TD>
-</TR>
-</TABLE>
-
-<P>After these initial four asterisks, there is the character to
-identify the kind of header, then another asterisks, and then
-header name. After this you can specify a version number
-surrounded by "[]". The version number is stored but not used for
-anything at the moment. All characters after that are
-ignored.</P>
-
-<P>This might sound terribly complicated, it is not. Here are
-some examples:</P>
-
-<P>A header for a module called analyser in a project called ChessMaster
-for C, is has version number 1.0</P>
-<PRE>
- /****h* ChessMaster/analyser [1.0] *
-</PRE>
-
-<P>In Assembler, a function header, for the function init() in the
- module finance.library:</P>
-<PRE>
- ****f* finance.library/init *
-</PRE>
-
-<P>In C++, a class header for class Puppet, for the module puppetmaster,
-version v2.12</P>
-<PRE>
- /****c* puppetMaster/Puppet [v2.12] ******
-</PRE>
-
-<P>For the same class a method called Puppet::Talk</P>
-<PRE>
- /****m* puppetMaster/Puppet::Talk [v2.12] ******
-</PRE>
-
-<P>A project header, in Fortran</P>
-<PRE>
- C ****h* ChessMaster/analyser C
-</PRE>
-
-<P>In Basic</P>
-<PRE>
- REM ****h* ChessMaster/analyser
-</PRE>
-
-
-
-<H3><font color="red">6.4 </font><A NAME="rmarker">Remark Marker</A></H3>
-
-<P>Each line in the body of a header should start with a remark
-marker. This marker is stripped from the line and the remaining
-part is used to generated the documentation. The following
-markers are recognized by ROBODoc.</P>
-
-<TABLE >
-<TR><TD><TT>"*"</TT></TD>
- <TD>C, C++, Pascal, Modula-2</TD>
-</TR>
-<TR><TD><TT>"//"</TT></TD>
- <TD>C++</TD>
-</TR>
-<TR><TD><TT>" *"</TT></TD>
- <TD>C, C++, M68K assembler, Pascal, Modula-2, HTML</TD>
-</TR>
-<TR><TD><TT>";*"</TT></TD>
- <TD>M68K assembler</TD>
-</TR>
-<TR><TD><TT>";"</TT></TD>
- <TD>M68K assembler</TD>
-</TR>
-<TR><TD><TT>"C "</TT></TD>
- <TD>Fortran</TD>
-</TR>
-<TR><TD><TT>"REM "</TT></TD>
- <TD>BASIC</TD>
-</TR>
-<TR><TD><TT>"%"</TT></TD>
- <TD>LaTeX, TeX, Postscript</TD>
-</TR>
-<TR><TD><TT>"#"</TT></TD>
- <TD>Tcl/Tk, shell scripts, makefiles</TD>
-</TR>
-<TR><TD><TT>" *"</TT></TD>
- <TD>COBOL</TD>
-</TR>
-<TR><TD><TT>"--"</TT></TD>
- <TD>Occam</TD>
-</TR>
-<TR><TD><TT>"|"</TT></TD>
- <TD>GNU Assembler</TD>
-</TR>
-<TR><TD><TT>"!!"</TT></TD>
- <TD>Fortan 90</TD>
-</TR>
-</TABLE>
-
-
-
-
-<H3><font color="red">6.5 </font><A NAME="emar">End Marker</A></H3>
-
-<P>A header ends with an end marker. An end marker is a remark
-marker followed by three asterisks. ROBODoc recognizes following
-strings as end markers:</P>
-
-<TABLE >
-<TR><TD><TT>"/***"</TT></TD>
- <TD> C, C++ </TD></TR>
-<TR><TD><TT>"//***"</TT></TD>
- <TD> C++ </TD></TR>
-<TR><TD><TT>" ****"</TT></TD>
- <TD> C, C++, Pascal, Modula-2 </TD></TR>
-<TR><TD><TT>"{***"</TT></TD>
- <TD> Pascal </TD></TR>
-<TR><TD><TT>"(***"</TT></TD>
- <TD> Pascal, Modula-2, B52 LISP</TD></TR>
-<TR><TD><TT>";***"</TT></TD>
- <TD> M68K assembler </TD></TR>
-<TR><TD><TT>"****"</TT></TD>
- <TD> M68K assembler </TD></TR>
-<TR><TD><TT>"C ***"</TT></TD>
- <TD> Fortran </TD></TR>
-<TR><TD><TT>"REM ***"</TT></TD>
- <TD> BASIC </TD></TR>
-<TR><TD><TT>"%***"</TT></TD>
- <TD> LaTeX, TeX, Postscript </TD></TR>
-<TR><TD><TT>"#***"</TT></TD>
- <TD> Tcl/Tk, Perl, Makefiles, Shell scripts </TD></TR>
-<TR><TD><TT>" ****"</TT></TD>
- <TD> COBOL </TD></TR>
-<TR><TD><TT>"--***"</TT></TD>
- <TD> Occam </TD></TR>
-<TR><TD><TT>"<!--***"</TT></TD>
- <TD> HTML </TD></TR>
-<TR><TD><TT>"<!---***"</TT></TD>
- <TD> HTML </TD></TR>
-<TR><TD><TT>"|***"</TT></TD>
- <TD>GNU Assembler</TD></TR>
-<TR><TD><TT>"!!***"</TT></TD>
- <TD>Fortan 90</TD></TR>
-</TABLE>
-
-
-
-
-<H3><font color="red">6.6 </font><A NAME="hitem">Header Items</A></H3>
-
-<P>When ROBODoc has found a header it will try to identify the
-items in this header. It does this by looking for the item name. The following
-item names are currently supported:</P>
-
-<TABLE >
-<TR><TD> NAME </TD>
- <TD> Item name plus a short description. </TD>
-<TR><TD> COPYRIGHT </TD>
- <TD> Who own the copyright : "(c) <year>-<year> by
- <company/person>" </TD>
-<TR><TD> SYNOPSIS, USAGE </TD>
- <TD> How to use it. </TD>
-<TR><TD> FUNCTION, DESCRIPTION, PURPOSE </TD>
- <TD> What does it do. </TD>
-<TR><TD> AUTHOR </TD>
- <TD>Who wrote it. </TD>
-<TR><TD> CREATION DATE </TD>
- <TD> When did the work start. </TD>
-<TR><TD> MODIFICATION HISTORY, HISTORY </TD>
- <TD> Who has done which changes and when. </TD>
-<TR><TD> INPUTS, ARGUMENTS, OPTIONS, PARAMETERS, SWITCHES </TD>
- <TD> What can we feed into it. </TD>
-<TR><TD> OUTPUT, SIDE EFFECTS </TD>
- <TD> What output is made. </TD>
-<TR><TD> RESULT, RETURN VALUE </TD>
- <TD> What do we get returned. </TD>
-<TR><TD> EXAMPLE </TD>
- <TD> A clear example of the items use. </TD>
-<TR><TD> NOTES </TD>
- <TD> Any annotations </TD>
-<TR><TD> DIAGNOSTICS </TD>
- <TD>Diagnostical output </TD>
-<TR><TD> WARNINGS, ERRORS </TD>
- <TD> Warning & error-messages. </TD>
-<TR><TD> BUGS </TD>
- <TD> Known bugs. </TD>
-<TR><TD> TODO, IDEAS </TD>
- <TD> What to implement next & ideas. </TD>
-<TR><TD> PORTABILITY </TD>
- <TD> Where does it come from, where will it work. </TD>
-<TR><TD> SEE ALSO </TD>
- <TD> References to other functions, man pages, other documentation. </TD>
-<TR><TD> METHODS, NEW METHODS </TD>
- <TD> OOP methods. </TD>
-<TR><TD> ATTRIBUTES, NEW ATTRIBUTES </TD>
- <TD> OOP attributes </TD>
-<TR><TD> TAGS </TD>
- <TD> Tag-item description. </TD>
-<TR><TD> COMMANDS </TD>
- <TD> Command description. </TD>
-<TR><TD> DERIVED FROM </TD>
- <TD> OOP super class. </TD>
-<TR><TD> DERIVED BY </TD>
- <TD> OOP sub class. </TD>
-<TR><TD> USES, CHILDREN </TD>
- <TD> What modules are used by this one. </TD>
-<TR><TD> USED BY, PARENTS </TD>
- <TD> Which modules do use this one. </TD>
-<TR><TD> SOURCE </TD>
- <TD> Source code inclusion. </TD>
-</TABLE>
-
-<P>ROBODoc does this so that it can format each item with a
-different style (colour, font, etc.) if the user want it. These
-can be specified in the robodoc.defaults file, see the next
-section more information.</P>
-
-
-<H3><font color="red">6.7 </font><A NAME="inlimits">Item Name Limitations</A></H3>
-
-<P>If you happen to have a function which name is in all uppercase,
-this sometimes conflicts with where ROBODoc thinks an item name
-starts and where the item body starts.
-Bernhard Roessmann suggest the following workaround:
-Example header producing this error:</P>
-<PRE>
-/***** basic.c/RETURN
-* NAME
-* RETURN : Return from subroutine
-* SYNOPSIS
-* RETURN
-* FUNCTION
-* Return from subroutine
-******/
-</PRE>
-<P>Here the item name "FUNCTION" will be interpreted as ordinary text,
-not as an item name. Workaround: Add an empty line:</P>
-<PRE>
-/***** basic.c/RETURN
-* NAME
-* RETURN : Return from subroutine
-* SYNOPSIS
-* RETURN
-*
-* FUNCTION
-* Return from subroutine
-******/
-</PRE>
-
-
-
-<H3><font color="red">6.8 </font><A NAME="SI">Source Item</A></H3>
-
-<P>The source item allows you to include part of the source in
-the documentation as is demonstrated by the following
-example.</P>
-
-<TABLE><TR><TD><PRE>
-/****f* Robodoc/RB_Panic [2.0d]
- * NAME
- * RB_Panic -- Shout panic, free resources, and shut down.
- * SYNOPSIS
- * RB_Panic (cause, add_info)
- * RB_Panic (char *, char *)
- * FUNCTION
- * Prints an error message.
- * Frees all resources used by robodoc.
- * Terminates program.
- * INPUTS
- * cause - pointer to a string which describes the
- * cause of the error.
- * add_info - pointer to a string with additional information.
- * SEE ALSO
- * RB_Close_The_Shop ()
- * SOURCE
- */
-
- void RB_Panic (char *cause, char *add_info)
- {
- printf ("Robodoc: Error, %s\n",cause) ;
- printf (" %s\n", add_info) ;
- printf ("Robodoc: Panic Fatal error, closing down...\n") ;
- RB_Close_The_Shop () ; /* Free All Resources */
- exit(100) ;
- }
-
-/*******/
-
-</PRE></TD></TABLE>
-
-<P>This would create the following documentation</P>
-
-<TABLE><TR><TD>
-<FONT SIZE="+1">NAME</FONT>
-<PRE><EM> <B>RB_Panic</B> -- Shout panic, free resources, and shut down.
-</EM></PRE><FONT SIZE="+1">SYNOPSIS</FONT>
-<PRE> <B>RB_Panic</B> (cause, add_info)
- <B>RB_Panic</B> (char *, char *)
-</PRE><FONT SIZE="+1">FUNCTION</FONT>
-<PRE> Prints an error message.
- Frees all resources used by robodoc.
- Terminates program.
-</PRE><FONT SIZE="+1">INPUTS</FONT>
-<PRE> cause - pointer to a string which describes the
- cause of the error.
- add_info - pointer to a string with additional information.
-</PRE><FONT SIZE="+1">SEE ALSO</FONT>
-<PRE> RB_Close_The_Shop ()
-</PRE><FONT SIZE="+1">SOURCE</FONT>
-<PRE> void <B>RB_Panic</B> (char *cause, char *add_info)
- {
- printf ("Robodoc: Error, %s\n",cause) ;
- printf (" %s\n", add_info) ;
- printf ("Robodoc: Panic Fatal error, closing down...\n") ;
- RB_Close_The_Shop () ; <FONT COLOR = "#FF0000">/* Free All Resources */</FONT>
- exit(100) ;
- }
-</PRE></TD></TR></TABLE>
-
-
-
-
- <H2><font color="red">7 </font><A NAME="CLD">Creating Cross Links</A></H2>
-
-<P>Creating hyper links within a document and across documents
-is the most interesting feature of ROBODoc. A document with such
-links is much more easier to read. If your source code consists
-of just one file, creating links is easy. Just tell ROBODoc that
-you want to have the output in HTML or AmigaGuide format, and it
-will automatically generate the links. That is, at the beginning
-of the document it will create a table of contents that consists
-of links to all your function headers.</P>
-
-<P>ROBODoc will also search the complete text of you
-documentation for reference to function names, and it will create
-a link to the documentation of that function.</P>
-
-<P>In most cases, however, your source code does not consists of
-a single file. It is also possible, however, to create links to
-other files. This does require the use of some additional files,
-called xref files. These files can be generated with ROBODoc.
-These files contain information about in which file and where in
-the file references can be found.</P>
-
-<P>Lets assume your project is split up in five different source
-files, and you want to generate links between these five files.
-What you have to do to accomplish this is to create a xref file
-for each of those five files.</P>
-
-<P>With the GENXREF option ROBODoc will generate such a xref file
-from the a source-file. When you use this option, only the xref
-file is created not the autodocs-file, however you still have to
-specify the name of the autodocs file because this name is needed
-for the creation of the xref file.</P>
-
-<P>When all xref files are created you are ready to create the
-documentation. To do so you use ROBODOC with the XREF option. It
-needs a parameter which is the name of the file in which the
-names of all xref files are defined. Notice: this is a file with
-file names, it has to be created it by hand.</P>
-
-<P>An example will make things more clear. In the ROBODoc
-archive, under <TT>examples/C</TT> there are two source files
-<A HREF="../Examples/C/prog1.c">prog1.c</A> and
-<A HREF="../Examples/C/prog2.c">prog2.c</A>. We can create
-documentation with hyper links from these two files as follows:
-</P>
-
-<P>First create the xref files:</P>
-
-<TABLE>
-<TR>
-<TD>
-<PRE>
- robodoc prog1.c prog1.c.html GENXREF prog1.c.xref HTML INTERNAL
- robodoc prog2.c prog2.c.html GENXREF prog2.c.xref HTML INTERNAL
-</PRE>
-</TD>
-</TR>
-</TABLE>
-
-<P>Now there are two xref files: prog1.c.xref and prog2.c.xref.
-Note that ROBODoc did not create any HTML files, just the xref
-files. The name prog1.c.html is needed to create the correct xref
-files. For prog1.c internal headers were also included. </P>
-
-<P>Now create a file with the xref file names. This file will
-hold only two lines. You can give it any name, say
-<TT>xref_files</TT>.</P>
-<TABLE>
-<TR>
-<TD>
-<PRE>
- echo prog1.c.xref > xref_files
- echo prog2.c.xref >> xref_files
-</PRE>
-</TD>
-</TR>
-</TABLE>
-<P>Now generate the final documentation:</P>
-<TABLE>
-<TR>
-<TD>
-<PRE>
- robodoc prog1.c prog1.c.html XREF xref_files HTML INTERNAL
- robodoc prog2.c prog2.c.html XREF xref_files HTML INTERNAL
-</PRE>
-</TD>
-</TR>
-</TABLE>
-
-<P>Have a look the the documentation generated:</P>
-<OL>
- <LI><A HREF="../Examples/C/prog1.c.html">prog1.c.html</A></LI>
- <LI><A HREF="../Examples/C/prog2.c.html">prog2.c.html</A></LI>
-</OL>
-
-
-
-<H3><font color="red">7.1 </font><A NAME="limits">Limitations</A></H3>
-
-<P> ROBODoc knows very little about the grammar of programming
-languages. Links are created by looking up words in a table.
-This means that it sometimes creates links where there should be
-none. For instance if you have a function called usage(); every
-time you use the word usage in any of your documentation a link
-will show up. It also means that sometimes is does not create
-links where you would like it to create a link. Say you include
-the source code of a method using the source item. Your method
-uses other methods of the class. You would like to have links
-pointing to the documentation of these methods each time you use
-one. They will not appear though. Since to ROBODoc stores the
-whole name of a method, ie, <TT>someClass::MethodName</TT>. In
-the method source you will use just <TT>MethodName()</TT>. </P>
-
-
-
- <H2><font color="red">8 </font><A NAME="MAIND">Master Index File</A></H2>
-
-<P>If your project consists of many source files you might want
-to create a master index file.</P>
-
-<P>For HTML output this file contains links to the documentation
-generated from each of your source files as well as a list of all
-"objects" that you documented. All "objects" are listed according
-to header type, using the following order: Projects, Classes,
-Methods, Stuctures, Functions, Variables, Constants, Generic,
-Internal.</P>
-
-<P>For LaTeX output this file is one big document that contains
-the documentation generated from all your source files. It also
-includes a table of contents and an index section. This index
-lists the page number of the page a function's documentation.
-</P>
-
-<P>This index file is generated based on the information found in
-your xrefs file. That is the file with the names of all your xref
-files. So before you can create the master index file you have to
-create all your xref files.</P>
-
-<P>To generate a master index file use:</P>
-<PRE>
- robodoc <xrefs file> <master index file> INDEX HTML TITLE "Master Index"
-</PRE>
-<P>or</P>
-<PRE>
- robodoc <xrefs file> <master index file> INDEX LATEX TITLE "ROBODoc API Documentation"
-</PRE>
-<P>The master index file can currently only be generated in HTML or LaTeX.</P>
-
-<P>If you use if for LaTeX documentation you need to use the option
-<TT>SINGLEDOC</TT> when you generate the documentation from your various
-source files. This ensures that no document preambles are generated.
-The master index file contains command that includes all your documentation
-files and make it into one single document.</P>
-
-
-<H3><font color="red">8.1 </font><A NAME="MIEXM">examples</A></H3>
-
-<P>Here are some examples of master index files</P>
-<UL>
-
- <LI><A HREF="../Examples/CPP/masterindex.html">Master index for a C++ project</A> to be found in
- <TT>Examples/CPP/</TT></LI>
-
- <LI><A HREF="../Source/ROBODoc_mi.html">Master index for ROBODoc</A> to be found in
- <TT>Source/</TT>.
- </LI>
-
-</UL>
-
-
-
- <H2><font color="red">9 </font><A NAME="makefile">Automation with <TT>make</TT></A></H2>
-
-<P>The whole process of creating documentation with ROBODoc is of
-course best automated with <TT>make</TT>.
-Have a look at the following makefile.</P>
-
-<TABLE><TR><TD><PRE>
-SHELL = /bin/sh
-.SUFFIXES:
-
-ROBODOC=robodoc
-ROBOOPTS=C SORT
-
-# Your source files.
-#
-SOURCES=analyser.c generator.c items.c util.c \
- folds.c headers.c links.c robodoc.c \
- analyser.h generator.h items.h util.h \
- folds.h headers.h links.h robodoc.h
-
-# The name of your Project
-#
-PROJECT=robodoc
-
-# The various documentation files, derived from the source files.
-# HTML
-#
-HTMLDOCS=$(SOURCES:=.html)
-HTMLXREFS=$(HTMLDOCS:.html=.html.xref)
-HTMLXREFSFILE=$(PROJECT)_html.xrefs
-# LATEX
-#
-LATEXDOCS=$(SOURCES:=.tex)
-LATEXXREFS=$(LATEXDOCS:.tex=.tex.xref)
-LATEXXREFSFILE=$(PROJECT)_tex.xrefs
-# ASCII
-#
-ASCIIDOCS=$(SOURCES:=.txt)
-# RTF
-#
-RTFDOCS=$(SOURCES:=.rtf)
-RTFXREFS=$(RTFDOCS:.rtf=.rtf.xref)
-RTFXREFSFILE=$(PROJECT)_rtf.xrefs
-
-# Some common targets
-xrefall: xrefhtml xreftex xrefrtf
-docall: html tex ascii rtf
-
-# Create the xref files for the various formats.
-xhtml: $(HTMLXREFSFILE)
-xtex: $(LATEXXREFSFILE)
-xrtf: $(RTFXREFSFILE)
-
-# Create the documentation files for the various formats.
-html: $(HTMLDOCS) $(PROJECT)_mi.html
-tex: $(LATEXDOCS) $(PROJECT)_mi.tex
-rtf: $(RTFDOCS)
-ascii: $(ASCIIDOCS)
-
-# master index file, currently works only for html and latex documentation.
-# Note that you can define the title of the document.
-$(PROJECT)_mi.html: $(HTMLXREFSFILE)
- $(ROBODOC) $< $@ INDEX HTML TITLE "$(PROJECT) Master Index"
-
-$(PROJECT)_mi.tex: $(LATEXXREFSFILE)
- $(ROBODOC) $< $@ INDEX LATEX TITLE "$(PROJECT) API Reference"
-
-# create xrefs file (file with the names of all .xref files).
-$(HTMLXREFSFILE) : $(HTMLXREFS)
- /bin/ls $(HTMLXREFS) > $@
-$(LATEXXREFSFILE) : $(LATEXXREFS)
- /bin/ls $(LATEXXREFS) > $@
-$(RTFXREFSFILE) : $(RTFXREFS)
- /bin/ls $(RTFXREFS) > $@
-
-# Rule to create an .xref file from a source file for the various formats.
-%.html.xref : %
- $(ROBODOC) $< $(@:.xref=) $(ROBOOPTS) INTERNAL GENXREF $@
-%.tex.xref : %
- $(ROBODOC) $< $(@:.xref=) $(ROBOOPTS) INTERNAL GENXREF $@
-%.rtf.xref : %
- $(ROBODOC) $< $(@:.xref=) $(ROBOOPTS) INTERNAL GENXREF $@
-
-# Rule to create html documentation from a source file.
-%.html : %
- $(ROBODOC) $< $@ HTML $(ROBOOPTS) XREF $(HTMLXREFSFILE)
-
-# Rule to create latex documentation from a source file.
-# We do not include source items, and generate laxtex documents
-# than can be included in a master document.
-%.tex : %
- $(ROBODOC) $< $@ LATEX $(ROBOOPTS) NOSOURCE SINGLEDOC XREF $(LATEXXREFSFILE)
-
-# Rule to create ascii documentation from a source file.
-%.txt : %
- $(ROBODOC) $< $@ ASCII
-
-# Rule to create rtf documentation from a source file.
-%.rtf : %
- $(ROBODOC) $< $@ RTF $(ROBOOPTS) XREF $(RTFXREFSFILE)
-
-# Use netscape to view the master index file for our project.
-htmlview: html
- netscape $(PROJECT)_mi.html
-
-# Use the latex programs to generate a .dvi from the master index file
-# for our prokect. View this .dvi file with xdvi
-texview: tex
- latex $(PROJECT)_mi
- makeindex $(PROJECT)_mi
- latex $(PROJECT)_mi
- latex $(PROJECT)_mi
- xdvi $(PROJECT)_mi.dvi
-
-# Clean-up the mess we made
-#
-clean:
- rm -f $(HTMLXREFS)
- rm -f $(HTMLDOCS)
- rm -f $(LATEXXREFS)
- rm -f $(LATEXDOCS)
- rm -f $(PROJECT)_mi.* *.aux
- rm -f $(RTFXREFS)
- rm -f $(RTFDOCS)
- rm -f $(ASCIIDOCS)
- rm -f $(HTMLXREFSFILE)
- rm -f $(LATEXXREFSFILE)
- rm -f $(RTFXREFSFILE)
-</PRE></TD></TR></TABLE>
-
-<P>It includes all the necessary commands to generate and view the documentation for you project. You create documentation in any of the four formats.
-For instance to create documentation in html format use:</P>
-<TABLE><TR><TD><PRE>
- make xhtml
- make html
-</PRE></TD></TR></TABLE>
-<P>To make documentation in LaTeX format use:</P>
-<TABLE><TR><TD><PRE>
- make xtex
- make tex
-</PRE></TD></TR></TABLE>
-<P>To view your documentation use:</P>
-<TABLE><TR><TD><PRE>
- make xhtml
- make texview
-</PRE></TD></TR></TABLE>
-<P>or</P>
-<TABLE><TR><TD><PRE>
- make xtex
- make texview
-</PRE></TD></TR></TABLE>
-
-
-<P>To clean up all the documentation files use:</P>
-<PRE>
- make clean
-</PRE>
-
-<P>To use this make file in project set the variable
-<TT>SOURCE</TT> to the names of your source files and set the
-variable <TT>PROJECT</TT> to the name of your project.</P>
-
-<P>You can find a copy of the above makefile
-<TT>Docs/example_makefile</TT>. This should get you started in
-no time.</P>
-
- <H2><font color="red">10 </font><A NAME="MDSO">What to do if You have Sources in Multiple Directories</A></H2>
-
-<P>It is possible to have your sources in multiple
-subdirectories. However the generated documentation is expected
-to be in one single directory. If not the cross references will
-be wrong, at least in the HTML documentation.</P>
-
-<P>Say you have the following directory structure:</P>
-<TABLE><TR><TD><PRE>
- Project/
- Dir1/
- program1.c
- Dir2/
- program2.c
-</PRE></TD></TR></TABLE>
-
-<P>You can create the documentation for that as follows (assuming
-you are in Project):
-</P>
-<TABLE><TR><TD><PRE>
- robodoc Dir1/prog1.c prog1.c.html HTML GENXREF Dir1/prog1.xref
- robodoc Dir2/prog2.c prog2.c.html HTML GENXREF Dir2/prog2.xref
- echo "Dir1/prog1.xref" > xreffiles
- echo "Dir2/prog2.xref" >> xreffiles
- robodoc Dir1/prog1.c prog1.c.html HTML XREF xreffiles
- robodoc Dir2/prog2.c prog2.c.html HTML XREF xreffiles
- robodoc xreffiles master_index.html INDEX HTML
-</PRE></TD></TR></TABLE>
-<P>
-This generates the following files:
-</P>
-<TABLE><TR><TD><PRE>
- prog1.c.html
- prog2.c.html
- master_index.html
-</PRE></TD></TR></TABLE>
-
-
-<P>With some version of make (for instance the gnu version) you
-can strip the directory part of a filename with $(notdir NAME)
-How this can be used is shown in the following example
-makefile. Here we have the sources for robodoc, the <TT>.c</TT> files are
-in the directory <TT>Sources/</TT> and <TT>.h</TT> files are in the
-directory <TT>Headers/</TT>.</P>
-
-<TABLE><TR><TD><PRE>
-SHELL = /bin/sh
-.SUFFIXES:
-
-ROBODOC=./robodoc
-ROBOOPTS=C SORT
-
-# Your source files.
-#
-SOURCES=Sources/analyser.c Sources/generator.c Sources/items.c Sources/util.c \
- Sources/folds.c Sources/headers.c Sources/links.c Sources/robodoc.c \
- Headers/analyser.h Headers/generator.h Headers/items.h Headers/util.h \
- Headers/folds.h Headers/headers.h Headers/links.h Headers/robodoc.h
-
-# The name of your Project
-#
-PROJECT=ROBODoc
-
-# The various documentation files, derived from the source files.
-#
-HTMLDOCS=$(SOURCES:=.html)
-HTMLXREFS=$(HTMLDOCS:.html=.html.xref)
-HTMLXREFSFILE=$(PROJECT)_html.xrefs
-
-# Create the xref files for the various formats.
-xhtml: $(HTMLXREFSFILE)
-
-# Create the documentation
-html: $(HTMLDOCS) $(PROJECT)_mi.html
-
-# Create master index file.
-$(PROJECT)_mi.html: $(HTMLXREFSFILE)
- $(ROBODOC) $< $@ INDEX HTML TITLE "$(PROJECT) Master Index"
-
-# Create the file with the names of all xref files.
-$(HTMLXREFSFILE) : $(HTMLXREFS)
- /bin/ls $(HTMLXREFS) > $@
-
-# Rule to create an .xref file from a source file
-%.html.xref : %
- $(ROBODOC) $< $(notdir $(@:.xref=)) $(ROBOOPTS) INTERNAL GENXREF $@
-
-# Rule to create html documentation from a source file.
-%.html : %
- $(ROBODOC) $< $(notdir ${@}) HTML $(ROBOOPTS) XREF $(HTMLXREFSFILE)
-</PRE></TD></TR></TABLE>
-
-
-
- <H2><font color="red">11 </font><A NAME="RDF">The ROBODoc Defaults File</A></H2>
-
-<P>The robodoc.default file can be used to change the appearance
-of the documentation. For each item type you can define how the
-corresponding text should be rendered. Each line in the default
-file consists of two parts, the item type and the item
-attributes. For instance</P>
-
-<PRE>
-AUTHOR LARGE ITALICS BOLD UNDERLINE
-</PRE>
-
-<P>Specifies that the AUTHOR item has the attributes LARGE,
-ITALICS, BOLD, and UNDERLINE. The effect of each attribute is
-listed in the following table.</P>
-
-<TABLE>
-<TR><TD>Item Attributes</TD>
- <TD>Effect in HTML</TD>
-</TR>
-<TR><TD>LARGE</TD>
- <TD><FONT SIZE=5>,</FONT></TD>
-</TR>
-<TR><TD>SMALL</TD>
- <TD><FONT SIZE=-1>,</FONT></TD>
-</TR>
-<TR><TD>ITALICS</TD>
- <TD><I>,</I></TD>
-</TR>
-<TR><TD>BOLD</TD>
- <TD><B>,</B></TD>
-</TR>
-<TR><TD>UNDERLINE</TD>
- <TD><U>,</U></TD>
-</TR>
-<TR><TD>HIGHLIGHT</TD>
- <TD><EM>,</EM></TD>
-</TR>
-</TABLE>
-
-
- <H2><font color="red">12 </font><A NAME="UOB">ROBODoc Command Line Options</A></H2>
-
-<P>When using ROBODoc you should provide at least two
-parameters</P>
-
-<PRE>
- robodoc <source file> <documentation file> [options]
-</PRE>
-
-<P>Here sourcefile is the file with the program source from which
-the documentation is to be extracted. The documentation file is
-the file that will contain the extracted documentation. </P>
-
-<P>In case you are creating a master index file you have to
-specify three parameters</P>
-<PRE>
- robodoc <xrefs file> <master index file> INDEX [options]
-</PRE>
-
-
-<P>In addition to this you can specify one or more of the
-following options:</P>
-
-<TABLE >
- <TR><TD><TT>ASCII</TT></TD>
- <TD>Generate documentation in ASCII format (default)</TD>
- </TR>
- <TR><TD><TT>GUIDE</TT></TD>
- <TD>Generate documentation in AmigaGuide format.</TD>
- </TR>
- <TR><TD><TT>HTML</TT></TD>
- <TD>Generate documentation in HTML format.</TD>
- </TR>
- <TR><TD><TT>LATEX</TT></TD>
- <TD>Generate documentation in LaTeX format. (Experimental)</TD>
- </TR>
- <TR><TD><TT>RTF</TT></TD>
- <TD>Generate documentation in RTF format.</TD>
- </TR>
- <TR><TD><TT>C</TT></TD>
- <TD>Use ANSI C grammar in source items (test, HTML only)</TD>
- </TR>
- <TR><TD><TT>FOLD</TT></TD>
- <TD>Enable folding. (Experimental)</TD>
- </TR>
- <TR><TD><TT>GENXREF <xref file></TT></TD>
- <TD>Generate a xref file, which can be used to create
- <A HREF="#CLD">cross links</A> between documents.</TD>
- </TR>
- <TR><TD><TT>XREF <xrefs file></TT></TD>
- <TD>Use a set of xref files to create references (links) to other
- documents or within the document. <TT><xrefs file></TT>
- is a file with xref file names.</TD>
- </TR>
- <TR><TD><TT>INDEX</TT></TD>
- <TD>Create a <A HREF="#MAIND">master index file</A>.</TD>
- </TR>
- <TR><TD><TT>INTERNAL</TT></TD>
- <TD>Also include headers that are marked internal.</TD>
- </TR>
- <TR><TD><TT>INTERNALONLY</TT></TD>
- <TD>Only extract the headers marked internal.</TD>
- </TR>
- <TR><TD><TT>NOSOURCE</TT></TD>
- <TD>Do not include the source items in the documentation.</TD>
- </TR>
- <TR><TD><TT>SORT</TT></TD>
- <TD>Sort the headers alphabetically.</TD>
- </TR>
- <TR><TD><TT>SINGLEDOC</TT></TD>
- <TD>Do not create a document header and footer when creating
- documentation in LaTeX format. This allows you to include
- the generated documents into big document or
- <A HREF="#MAIND">master index file</A>.</TD>
- </TR>
- <TR><TD><TT>TITLE <title></TT></TD>
- <TD>Sets the title that is used for the
- <A HREF="#MAIND">master index file</A>.</TD>
- </TR>
- <TR><TD><TT>TOC</TT></TD>
- <TD>Generate a table of contents. It is only useful when you select
- ASCII as output mode. With all other output modes the
- table of contents is generated anyway.</TD>
- </TR>
- <TR><TD><TT>TABSIZE <n></TT></TD>
- <TD>Convert each tab into <TT>n</TT> spaces.</TD>
- </TR>
- <TR><TD><TT>-v</TT></TD>
- <TD>Verbose option, ROBODoc will tell you what it is doing.</TD>
- </TR>
-</TABLE>
-
-<P>If you wonder why all the odd ALL CAPS flags are used instead
-of for instance "-x"; this was how it was done on the Amiga.</P>
-
-<P>The following abbreviations are also allowed:</P>
-<TABLE >
-<TR><TD><TT>-s </TT></TD><TD><TT>SORT</TT></TD></TR>
-<TR><TD><TT>-t </TT></TD><TD><TT>TOC</TT></TD></TR>
-<TR><TD><TT>-x </TT></TD><TD><TT>XREF</TT></TD></TR>
-<TR><TD><TT>-g </TT></TD><TD><TT>GENXREF</TT></TD></TR>
-<TR><TD><TT>-i </TT></TD><TD><TT>INTERNAL</TT></TD></TR>
-<TR><TD><TT>-io</TT></TD><TD><TT>INTERNALONLY</TT></TD></TR>
-<TR><TD><TT>-ts</TT></TD><TD><TT>TABSIZE</TT></TD></TR>
-</TABLE>
-
-
- <H2><font color="red">13 </font><A NAME="ADV">Adding New Languages</A></H2>
-
-<P>To add a new programming language to ROBODoc you have to edit
-<TT>headers.c</TT>. Here you find three variables:
-<TT>header_markers</TT>, <TT>remark_markers</TT>, and
-<TT>end_markers</TT>. There are all arrays, and you have to add
-an new entry to each of these three arrays.</P>
-
-<P>Say your programming language uses the following type of remarks:</P>
-<PRE>
- $%% This is a remark with some text
- and some more and some more %%$
-</PRE>
-
-<P>That is is starts with three spaces and then <TT>$%%</TT>, and
-has to end with <TT>%%$</TT>. Then you would add to <TT>header_markers</TT>
-</P>
-<PRE>
- " $%%****",
-</PRE>
-<P>To <TT>remark_markers</TT> you would add</P>
-<PRE>
- " *",
-</PRE>
-<P>And to <TT>end_markers</TT> you would add</P>
-<PRE>
- " $%%***",
-</PRE>
-<P>You can then use the following kind of headers in your program:</P>
-<PRE>
- $%%****f* Test/afunction *****
- * NAME
- * afunction
- * FUNCTION
- * A test.
- * SOURCE
- *%%$
- afunction(test,test) [
- print hello world ;
- ]
- $%%***%%$
-</PRE>
-
-
-
-
-
- <H2><font color="red">14 </font><A NAME="SAB">Suggestions and Bugs</A></H2>
-
-<P>If you find any bugs, catch them, put them in a jar, and send
-them to:</P>
-<ADDRESS>fslothouber@acm.org</ADDRESS>
-<P>Suggestions are also welcome at this address. Flames can be
-directed to the sun.</P>
-
-</BODY>
-</HTML>
-
+++ /dev/null
-m4_include(`general.m4')m4_dnl
-www_docstart()
-www_header(`ROBODoc Manual')
-www_bodystart
-www_title(`ROBODoc VERSION Manual')
-
-<P><STRONG>Updated July 2000</STRONG></P>
-
-<P>ROBODoc is a documentation tool for C, C++, Java, Assembler, Basic,
-Fortran, LaTeX, Postscript, Tcl/Tk, LISP, Forth, Perl, Shell
-Scripts, Occam, COBOL, HTML and many other languages. Additional
-languages can be supported by a few modifications to the source
-code.</P>
-
-<P>Copyright (C) 1994-2000 Frans Slothouber and Jacco van Weert.</P>
-
-<P>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.</P>
-
-<P>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.</P>
-
-<P>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</P>
-
-
-
-www_section(`creds', `Credits')
-
-<UL>
-
- <LI>Original program and idea: Jacco van Weert</LI>
-
- <LI>Versions 2.0 and up: Frans Slothouber, Petteri Kettunen,
- Bernd Koesling, Anthon Pang, Thomas Aglassinger,
- and Stefan Kost, Guillaume Etorre, Simo Muinonen,
- Petter Reinholdtsen.
- </LI>
-
- <LI>Maintainer: Frans Slothouber (fslothouber@acm.org),
- The Netherlands.</LI>
-
-</UL>
-
-
-www_section(`toc', `Table of Contents')
-
-m4_include(stoc.html)
-
-
-
-www_section(`INTRO', `Introduction')
-
-<P>ROBODoc is based on the AutoDocs program written some time ago
-by Commodore. The idea is to include for every function a
-standard header containing all sorts of information about that
-procedure/function. An AutoDocs program extracts these headers
-from the source file and puts them in an autodocs file. This
-allows you to include the program documentation in the source
-code and makes it unnecessary to maintain two documents.</P>
-
-
-<P>ROBODoc is such a program, however ROBODoc has several
-additions. For one it can generate the documentation in
-different formats, ASCII, HTML, RTF, LaTeX, and AmigaGuide.
-Another feature is that it automatically creates links within the
-document, and to other documents. It is also possible to include
-parts of the source in you documentation, complete with links.
-For instance it is possible to include the complete source code
-of a function, and have the function names in the source point to
-their documentation. Besides documenting functions, you can also
-document classes, methods, structures, variables, and
-constants.</P>
-
-
-<P>If you never have used AutoDoc or ROBODoc before you might
-take a look at the example in the <TT>Source/</TT>. Run the
-command:</P>
-
-<PRE>
- make xhtml
- make example
-</PRE>
-
-
-<P>This creates the ROBODoc
-www_link(`../Source/ROBODoc_mi.html', `documentation') for the
-ROBODoc program itself and then starts netscape to view the
-documentation. Also have a look at the source files, they
-illustrates the use of headers.</P>
-
-<P>ROBODoc can generate documentation in five different
-formats:</P>
-
-<UL>
- <LI>HTML format complete with hyperlinks and mark-ups.</LI>
-
- <LI>LaTeX, based on D. Knuth excellent typesetting system.</LI>
-
- <LI>Plain ASCII text file, this file is very close to what the
- original AutoDocs program would generate.</LI>
-
- <LI>RTF, Rich Text Format, mostly used on Windows machines
- before WWW revolution.</LI>
-
- <LI>AmigaGuide format, it is the Amiga computer's equivalent
- HTML. The AmigaGuide program is necessary to view the
- resulting autodocs-file. (This was the preferred format when the
- program was written in 1994.)</LI>
-
-</UL>
-
-
-www_section(`HSR', `Hardware and software requirements')
-
-<P>ROBODoc was developed in 1994 on a standard Amiga 1200, a
-system with a 20MHz 68020 processor and 2 Mbyte of RAM. It should
-therefore be no problem to run it on any of the currently
-available systems :) The complete source code consists of a
-series of file that can be found in the <TT>Source</TT>
-directory. It is written according (hopefully) to the ANSI C
-standard and uses no special functions, so it should run on every
-system with an ANSI C-compiler.</P>
-
-
-www_section(`LMT', `Goals and Limitations')
-
-<P>ROBODoc is intended for small to medium sized projects
-that have a relatively flat structure and especially projects
-that use a mix of different programming languages.</P>
-
-<P>
-ROBODoc was designed to be easy to use and to work with a lot of
-different programming languages. It has no knowledge of the
-syntax of a programming languages. It just some knowledge about
-how remarks start and end in some programming languages. This
-means that you sometimes have to do a little more work compared
-to other tools that have detailed knowledge of the syntax of a
-particular language. They can use that knowledge to figure out
-some of the information automatically. This usually also means
-that they work only with one or two languages.
-</P>
-
-<P>ROBODoc operates on one file at a time. It has no mechanism to
-process whole sets of source files. Makefiles should be used for
-this. How to do this is explained in this document with various
-example makefiles. Have a look at them.
-</P>
-
-<P>ROBODoc can work with projects where the source code is located
-in different subdirectories. However the generated documentation is
-expected to go into one single directory.</P>
-
-
-www_section(`HFCWR', `How to Format Your Code for use with ROBODoc')
-
-<P>ROBODoc allows you to mix the program documentation with the
-source code. It does require though that this documentation has
-a particular layout so ROBODoc can recognize it. The following
-header was taken from the original ROBODoc program (many versions
-back).</P>
-
-<TABLE>
-<TR>
-<TD>
-<PRE>
- <FONT COLOR="red">------------------------------- Header Name</FONT>
- <FONT COLOR="red">/ \</FONT>
- /****f* financial.library/StealMoney <FONT COLOR="red"><---- Begin Marker</FONT>
- * <FONT COLOR="red">^------- Header Type</FONT>
- *
- * <FONT COLOR="red"><---- Remark Marker</FONT>
- * NAME
- * StealMoney -- Steal money from the Federal Reserve Bank. (V77)
- * SYNOPSIS <FONT COLOR="red"><---- Item Name</FONT>
- * error = StealMoney( userName,amount,destAccount,falseTrail )
- * D0,Z D0 D1.W A0 [A1]
- *
- * BYTE StealMoney
- * ( STRPTR,UWORD,struct AccountSpec *,struct falseTrail *);
- * FUNCTION
- * Transfer money from the Federal Reserve Bank into the
- * specified interest-earning checking account. No records of
- * the transaction will be retained.
- * INPUTS
- * userName - name to make the transaction under. Popular
- * favorites include "Ronald Reagan" and
- * "Mohamar Quadaffi".
- * amount - Number of dollars to transfer (in thousands).
- * destAccount - A filled-in AccountSpec structure detailing the
- * destination account (see financial/accounts.h).
- * If NULL, a second Great Depression will be
- * triggered.
- * falseTrail - If the DA_FALSETRAIL bit is set in the
- * destAccount, a falseTrail structure must be
- * provided.
- * RESULT
- * error - zero for success, else an error code is returned
- * (see financial/errors.h). The Z condition code
- * is guaranteed.
- * EXAMPLE
- * Federal regulations prohibit a demonstration of this function.
- * NOTES
- * Do not run on Tuesdays!
- * BUGS
- * Before V88, this function would occasionally print the
- * address and home phone number of the caller on local police
- * 976 terminals. We are confident that this problem has been
- * resolved.
- * SEE ALSO
- * CreateAccountSpec(),security.device/SCMD_DESTROY_EVIDENCE,
- * financial/misc.h
- *
- ****** <FONT COLOR="red"><---- End Marker</FONT>
- *
- * You can use this space for remarks that should not be included
- * in the documentation.
- *
- */
-</PRE>
-</TD>
-</TR>
-</TABLE>
-
-<P>You would place this headers in front of functions, classes,
-methods, structure definitions, or any of the major components in
-your program. The header itself contains a number of items that
-provide structured information about the component. </P>
-
-<P>There are a number of special markers in a header (indicated
-in red above). There are two special markers that mark the begin
-and end of a header. Each line in a header should start with a
-remark marker. The starts of each item is marked by an Item Name
-(in all capitals).</P>
-
-
-www_subSection(`hname', `Header Names')
-
-<P>ROBODoc makes some assumptions about the structure a project.
-It assumes that a project consists of a number of modules, and
-that each module consists of a number of components. These
-components can be anything that you care to document; functions,
-variables, structures, classes, methods etc.</P>
-
-<P> Projects, modules, and components all have names. The names
-allow ROBODoc to structure the documentation and create
-cross-links. Names are defined in the header name. It is either
-of the form <TT> <project name>/<module name></TT>
-for a module header, or of the form <TT><module
-name>/<component name></TT> for all other headers.</P>
-
-www_subSection(`htypes', `Header Types')
-
-<P>You can provide ROBODoc with some additional information
-by specifying the header type. The header type tells ROBODoc
-what kind of component you are documenting. This information
-allows ROBODoc to create more useful index tables.</P>
-
-<P>The type is identified by a single character, as listed in the
-following table</P>
-
-<TABLE>
-<TR><TD>h</TD><TD>Header for a module in a project.</TD></TR>
-<TR><TD>f</TD><TD>Header for a function.</TD></TR>
-<TR><TD>s</TD><TD>Header for a structure.</TD></TR>
-<TR><TD>c</TD><TD>Header for a class.</TD></TR>
-<TR><TD>m</TD><TD>Header for a method.</TD></TR>
-<TR><TD>v</TD><TD>Header for a variable.</TD></TR>
-<TR><TD>d</TD><TD>Header for a constant
-(from <STRONG>d</STRONG>efine).</TD></TR>
-<TR><TD>*</TD><TD>Generic header for every thing else.</TD></TR>
-<TR><TD>i</TD><TD>Internal header.</TD></TR>
-</TABLE>
-
-<P>Internal headers are special. They can be used to hide certain
-headers. They are only extracted if requested. You could use to
-document internal functions that you do now want clients to
-see.</P>
-
-
-www_subSection(`bmar', `Begin Marker')
-
-<P>The beginning of a header is marked with a special marker.
-The above header is intended for a program in C. In other
-programming languages the marker looks slightly different, since
-each language has its own convention for starting remarks.
-ROBODoc recognizes the following begin markers:</P>
-
-<TABLE >
-<TR><TD><TT>"/****"</TT>
- <TD>C, C++</TD>
-</TR>
-<TR><TD><TT>"//****"</TT></TD>
- <TD>C++</TD>
-</TR>
-<TR><TD><TT>";****"</TT></TD>
- <TD>Assembler</TD>
-</TR>
-<TR><TD><TT>"****"</TT></TD>
- <TD>Assembler</TD>
-</TR>
-<TR><TD><TT>"{****"</TT></TD>
- <TD>Pascal</TD>
-</TR>
-<TR><TD><TT>"REM ****"</TT></TD>
- <TD>Basic (Rem, rem, or even rEM also works)</TD>
-</TR>
-<TR><TD><TT>"C ****"</TT></TD>
- <TD>Fortran (c **** also works)</TD>
-</TR>
-<TR><TD><TT>"%****"</TT></TD>
- <TD>LaTeX, TeX, Postscript.</TD>
-</TR>
-<TR><TD><TT>"#****"</TT></TD>
- <TD>Tcl/Tk, Perl, makefiles, gnuplot etc.</TD>
-</TR>
-<TR><TD><TT>"(****"</TT></TD>
- <TD>Pascal, Modula-2, LISP</TD>
-</TR>
-<TR><TD><TT>"--****"</TT></TD>
- <TD>Occam</TD>
-</TR>
-<TR><TD><TT>"<!--****"</TT></TD>
- <TD>HTML</TD>
-</TR>
-<TR><TD><TT>"<!---****"</TT></TD>
- <TD>HTML</TD>
-</TR>
-<TR><TD><TT>"|****"</TT></TD>
- <TD>GNU Assembler</TD>
-</TR>
-<TR><TD><TT>"!!****"</TT></TD>
- <TD>Fortran 90</TD>
-</TR>
-</TABLE>
-
-<P>After these initial four asterisks, there is the character to
-identify the kind of header, then another asterisks, and then
-header name. After this you can specify a version number
-surrounded by "[]". The version number is stored but not used for
-anything at the moment. All characters after that are
-ignored.</P>
-
-<P>This might sound terribly complicated, it is not. Here are
-some examples:</P>
-
-<P>A header for a module called analyser in a project called ChessMaster
-for C, is has version number 1.0</P>
-<PRE>
- /****h* ChessMaster/analyser [1.0] *
-</PRE>
-
-<P>In Assembler, a function header, for the function init() in the
- module finance.library:</P>
-<PRE>
- ****f* finance.library/init *
-</PRE>
-
-<P>In C++, a class header for class Puppet, for the module puppetmaster,
-version v2.12</P>
-<PRE>
- /****c* puppetMaster/Puppet [v2.12] ******
-</PRE>
-
-<P>For the same class a method called Puppet::Talk</P>
-<PRE>
- /****m* puppetMaster/Puppet::Talk [v2.12] ******
-</PRE>
-
-<P>A project header, in Fortran</P>
-<PRE>
- C ****h* ChessMaster/analyser C
-</PRE>
-
-<P>In Basic</P>
-<PRE>
- REM ****h* ChessMaster/analyser
-</PRE>
-
-
-
-www_subSection(`rmarker', `Remark Marker')
-
-<P>Each line in the body of a header should start with a remark
-marker. This marker is stripped from the line and the remaining
-part is used to generated the documentation. The following
-markers are recognized by ROBODoc.</P>
-
-<TABLE >
-<TR><TD><TT>"*"</TT></TD>
- <TD>C, C++, Pascal, Modula-2</TD>
-</TR>
-<TR><TD><TT>"//"</TT></TD>
- <TD>C++</TD>
-</TR>
-<TR><TD><TT>" *"</TT></TD>
- <TD>C, C++, M68K assembler, Pascal, Modula-2, HTML</TD>
-</TR>
-<TR><TD><TT>";*"</TT></TD>
- <TD>M68K assembler</TD>
-</TR>
-<TR><TD><TT>";"</TT></TD>
- <TD>M68K assembler</TD>
-</TR>
-<TR><TD><TT>"C "</TT></TD>
- <TD>Fortran</TD>
-</TR>
-<TR><TD><TT>"REM "</TT></TD>
- <TD>BASIC</TD>
-</TR>
-<TR><TD><TT>"%"</TT></TD>
- <TD>LaTeX, TeX, Postscript</TD>
-</TR>
-<TR><TD><TT>"#"</TT></TD>
- <TD>Tcl/Tk, shell scripts, makefiles</TD>
-</TR>
-<TR><TD><TT>" *"</TT></TD>
- <TD>COBOL</TD>
-</TR>
-<TR><TD><TT>"--"</TT></TD>
- <TD>Occam</TD>
-</TR>
-<TR><TD><TT>"|"</TT></TD>
- <TD>GNU Assembler</TD>
-</TR>
-<TR><TD><TT>"!!"</TT></TD>
- <TD>Fortan 90</TD>
-</TR>
-</TABLE>
-
-
-
-
-www_subSection(`emar', `End Marker')
-
-<P>A header ends with an end marker. An end marker is a remark
-marker followed by three asterisks. ROBODoc recognizes following
-strings as end markers:</P>
-
-<TABLE >
-<TR><TD><TT>"/***"</TT></TD>
- <TD> C, C++ </TD></TR>
-<TR><TD><TT>"//***"</TT></TD>
- <TD> C++ </TD></TR>
-<TR><TD><TT>" ****"</TT></TD>
- <TD> C, C++, Pascal, Modula-2 </TD></TR>
-<TR><TD><TT>"{***"</TT></TD>
- <TD> Pascal </TD></TR>
-<TR><TD><TT>"(***"</TT></TD>
- <TD> Pascal, Modula-2, B52 LISP</TD></TR>
-<TR><TD><TT>";***"</TT></TD>
- <TD> M68K assembler </TD></TR>
-<TR><TD><TT>"****"</TT></TD>
- <TD> M68K assembler </TD></TR>
-<TR><TD><TT>"C ***"</TT></TD>
- <TD> Fortran </TD></TR>
-<TR><TD><TT>"REM ***"</TT></TD>
- <TD> BASIC </TD></TR>
-<TR><TD><TT>"%***"</TT></TD>
- <TD> LaTeX, TeX, Postscript </TD></TR>
-<TR><TD><TT>"#***"</TT></TD>
- <TD> Tcl/Tk, Perl, Makefiles, Shell scripts </TD></TR>
-<TR><TD><TT>" ****"</TT></TD>
- <TD> COBOL </TD></TR>
-<TR><TD><TT>"--***"</TT></TD>
- <TD> Occam </TD></TR>
-<TR><TD><TT>"<!--***"</TT></TD>
- <TD> HTML </TD></TR>
-<TR><TD><TT>"<!---***"</TT></TD>
- <TD> HTML </TD></TR>
-<TR><TD><TT>"|***"</TT></TD>
- <TD>GNU Assembler</TD></TR>
-<TR><TD><TT>"!!***"</TT></TD>
- <TD>Fortan 90</TD></TR>
-</TABLE>
-
-
-
-
-www_subSection(`hitem', `Header Items')
-
-<P>When ROBODoc has found a header it will try to identify the
-items in this header. It does this by looking for the item name. The following
-item names are currently supported:</P>
-
-<TABLE >
-<TR><TD> NAME </TD>
- <TD> Item name plus a short description. </TD>
-<TR><TD> COPYRIGHT </TD>
- <TD> Who own the copyright : "(c) <year>-<year> by
- <company/person>" </TD>
-<TR><TD> SYNOPSIS, USAGE </TD>
- <TD> How to use it. </TD>
-<TR><TD> FUNCTION, DESCRIPTION, PURPOSE </TD>
- <TD> What does it do. </TD>
-<TR><TD> AUTHOR </TD>
- <TD>Who wrote it. </TD>
-<TR><TD> CREATION DATE </TD>
- <TD> When did the work start. </TD>
-<TR><TD> MODIFICATION HISTORY, HISTORY </TD>
- <TD> Who has done which changes and when. </TD>
-<TR><TD> INPUTS, ARGUMENTS, OPTIONS, PARAMETERS, SWITCHES </TD>
- <TD> What can we feed into it. </TD>
-<TR><TD> OUTPUT, SIDE EFFECTS </TD>
- <TD> What output is made. </TD>
-<TR><TD> RESULT, RETURN VALUE </TD>
- <TD> What do we get returned. </TD>
-<TR><TD> EXAMPLE </TD>
- <TD> A clear example of the items use. </TD>
-<TR><TD> NOTES </TD>
- <TD> Any annotations </TD>
-<TR><TD> DIAGNOSTICS </TD>
- <TD>Diagnostical output </TD>
-<TR><TD> WARNINGS, ERRORS </TD>
- <TD> Warning & error-messages. </TD>
-<TR><TD> BUGS </TD>
- <TD> Known bugs. </TD>
-<TR><TD> TODO, IDEAS </TD>
- <TD> What to implement next & ideas. </TD>
-<TR><TD> PORTABILITY </TD>
- <TD> Where does it come from, where will it work. </TD>
-<TR><TD> SEE ALSO </TD>
- <TD> References to other functions, man pages, other documentation. </TD>
-<TR><TD> METHODS, NEW METHODS </TD>
- <TD> OOP methods. </TD>
-<TR><TD> ATTRIBUTES, NEW ATTRIBUTES </TD>
- <TD> OOP attributes </TD>
-<TR><TD> TAGS </TD>
- <TD> Tag-item description. </TD>
-<TR><TD> COMMANDS </TD>
- <TD> Command description. </TD>
-<TR><TD> DERIVED FROM </TD>
- <TD> OOP super class. </TD>
-<TR><TD> DERIVED BY </TD>
- <TD> OOP sub class. </TD>
-<TR><TD> USES, CHILDREN </TD>
- <TD> What modules are used by this one. </TD>
-<TR><TD> USED BY, PARENTS </TD>
- <TD> Which modules do use this one. </TD>
-<TR><TD> SOURCE </TD>
- <TD> Source code inclusion. </TD>
-</TABLE>
-
-<P>ROBODoc does this so that it can format each item with a
-different style (colour, font, etc.) if the user want it. These
-can be specified in the robodoc.defaults file, see the next
-section more information.</P>
-
-
-www_subSection(`inlimits', `Item Name Limitations')
-
-<P>If you happen to have a function which name is in all uppercase,
-this sometimes conflicts with where ROBODoc thinks an item name
-starts and where the item body starts.
-Bernhard Roessmann suggest the following workaround:
-Example header producing this error:</P>
-<PRE>
-/***** basic.c/RETURN
-* NAME
-* RETURN : Return from subroutine
-* SYNOPSIS
-* RETURN
-* FUNCTION
-* Return from subroutine
-******/
-</PRE>
-<P>Here the item name "FUNCTION" will be interpreted as ordinary text,
-not as an item name. Workaround: Add an empty line:</P>
-<PRE>
-/***** basic.c/RETURN
-* NAME
-* RETURN : Return from subroutine
-* SYNOPSIS
-* RETURN
-*
-* FUNCTION
-* Return from subroutine
-******/
-</PRE>
-
-
-
-www_subSection(`SI', `Source Item')
-
-<P>The source item allows you to include part of the source in
-the documentation as is demonstrated by the following
-example.</P>
-
-<TABLE><TR><TD><PRE>
-m4_include(`example.c')
-</PRE></TD></TABLE>
-
-<P>This would create the following documentation</P>
-
-<TABLE><TR><TD>
-<FONT SIZE="+1">NAME</FONT>
-<PRE><EM> <B>RB_Panic</B> -- Shout panic, free resources, and shut down.
-</EM></PRE><FONT SIZE="+1">SYNOPSIS</FONT>
-<PRE> <B>RB_Panic</B> (cause, add_info)
- <B>RB_Panic</B> (char *, char *)
-</PRE><FONT SIZE="+1">FUNCTION</FONT>
-<PRE> Prints an error message.
- Frees all resources used by robodoc.
- Terminates program.
-</PRE><FONT SIZE="+1">INPUTS</FONT>
-<PRE> cause - pointer to a string which describes the
- cause of the error.
- add_info - pointer to a string with additional information.
-</PRE><FONT SIZE="+1">SEE ALSO</FONT>
-<PRE> RB_Close_The_Shop ()
-</PRE><FONT SIZE="+1">SOURCE</FONT>
-<PRE> void <B>RB_Panic</B> (char *cause, char *add_info)
- {
- printf ("Robodoc: Error, %s\n",cause) ;
- printf (" %s\n", add_info) ;
- printf ("Robodoc: Panic Fatal error, closing down...\n") ;
- RB_Close_The_Shop () ; <FONT COLOR = "#FF0000">/* Free All Resources */</FONT>
- exit(100) ;
- }
-</PRE></TD></TR></TABLE>
-
-
-
-
-www_section(`CLD', `Creating Cross Links')
-
-<P>Creating hyper links within a document and across documents
-is the most interesting feature of ROBODoc. A document with such
-links is much more easier to read. If your source code consists
-of just one file, creating links is easy. Just tell ROBODoc that
-you want to have the output in HTML or AmigaGuide format, and it
-will automatically generate the links. That is, at the beginning
-of the document it will create a table of contents that consists
-of links to all your function headers.</P>
-
-<P>ROBODoc will also search the complete text of you
-documentation for reference to function names, and it will create
-a link to the documentation of that function.</P>
-
-<P>In most cases, however, your source code does not consists of
-a single file. It is also possible, however, to create links to
-other files. This does require the use of some additional files,
-called xref files. These files can be generated with ROBODoc.
-These files contain information about in which file and where in
-the file references can be found.</P>
-
-<P>Lets assume your project is split up in five different source
-files, and you want to generate links between these five files.
-What you have to do to accomplish this is to create a xref file
-for each of those five files.</P>
-
-<P>With the GENXREF option ROBODoc will generate such a xref file
-from the a source-file. When you use this option, only the xref
-file is created not the autodocs-file, however you still have to
-specify the name of the autodocs file because this name is needed
-for the creation of the xref file.</P>
-
-<P>When all xref files are created you are ready to create the
-documentation. To do so you use ROBODOC with the XREF option. It
-needs a parameter which is the name of the file in which the
-names of all xref files are defined. Notice: this is a file with
-file names, it has to be created it by hand.</P>
-
-<P>An example will make things more clear. In the ROBODoc
-archive, under <TT>examples/C</TT> there are two source files
-www_link(`../Examples/C/prog1.c', `prog1.c') and
-www_link(`../Examples/C/prog2.c', `prog2.c'). We can create
-documentation with hyper links from these two files as follows:
-</P>
-
-<P>First create the xref files:</P>
-
-<TABLE>
-<TR>
-<TD>
-<PRE>
- robodoc prog1.c prog1.c.html GENXREF prog1.c.xref HTML INTERNAL
- robodoc prog2.c prog2.c.html GENXREF prog2.c.xref HTML INTERNAL
-</PRE>
-</TD>
-</TR>
-</TABLE>
-
-<P>Now there are two xref files: prog1.c.xref and prog2.c.xref.
-Note that ROBODoc did not create any HTML files, just the xref
-files. The name prog1.c.html is needed to create the correct xref
-files. For prog1.c internal headers were also included. </P>
-
-<P>Now create a file with the xref file names. This file will
-hold only two lines. You can give it any name, say
-<TT>xref_files</TT>.</P>
-<TABLE>
-<TR>
-<TD>
-<PRE>
- echo prog1.c.xref > xref_files
- echo prog2.c.xref >> xref_files
-</PRE>
-</TD>
-</TR>
-</TABLE>
-<P>Now generate the final documentation:</P>
-<TABLE>
-<TR>
-<TD>
-<PRE>
- robodoc prog1.c prog1.c.html XREF xref_files HTML INTERNAL
- robodoc prog2.c prog2.c.html XREF xref_files HTML INTERNAL
-</PRE>
-</TD>
-</TR>
-</TABLE>
-
-<P>Have a look the the documentation generated:</P>
-<OL>
- <LI>www_link(`../Examples/C/prog1.c.html', `prog1.c.html')</LI>
- <LI>www_link(`../Examples/C/prog2.c.html', `prog2.c.html')</LI>
-</OL>
-
-
-
-www_subSection(`limits', `Limitations')
-
-<P> ROBODoc knows very little about the grammar of programming
-languages. Links are created by looking up words in a table.
-This means that it sometimes creates links where there should be
-none. For instance if you have a function called usage(); every
-time you use the word usage in any of your documentation a link
-will show up. It also means that sometimes is does not create
-links where you would like it to create a link. Say you include
-the source code of a method using the source item. Your method
-uses other methods of the class. You would like to have links
-pointing to the documentation of these methods each time you use
-one. They will not appear though. Since to ROBODoc stores the
-whole name of a method, ie, <TT>someClass::MethodName</TT>. In
-the method source you will use just <TT>MethodName()</TT>. </P>
-
-
-
-www_section(`MAIND', `Master Index File')
-
-<P>If your project consists of many source files you might want
-to create a master index file.</P>
-
-<P>For HTML output this file contains links to the documentation
-generated from each of your source files as well as a list of all
-"objects" that you documented. All "objects" are listed according
-to header type, using the following order: Projects, Classes,
-Methods, Stuctures, Functions, Variables, Constants, Generic,
-Internal.</P>
-
-<P>For LaTeX output this file is one big document that contains
-the documentation generated from all your source files. It also
-includes a table of contents and an index section. This index
-lists the page number of the page a function's documentation.
-</P>
-
-<P>This index file is generated based on the information found in
-your xrefs file. That is the file with the names of all your xref
-files. So before you can create the master index file you have to
-create all your xref files.</P>
-
-<P>To generate a master index file use:</P>
-<PRE>
- robodoc <xrefs file> <master index file> INDEX HTML TITLE "Master Index"
-</PRE>
-<P>or</P>
-<PRE>
- robodoc <xrefs file> <master index file> INDEX LATEX TITLE "ROBODoc API Documentation"
-</PRE>
-<P>The master index file can currently only be generated in HTML or LaTeX.</P>
-
-<P>If you use if for LaTeX documentation you need to use the option
-<TT>SINGLEDOC</TT> when you generate the documentation from your various
-source files. This ensures that no document preambles are generated.
-The master index file contains command that includes all your documentation
-files and make it into one single document.</P>
-
-
-www_subSection(`MIEXM', `examples')
-
-<P>Here are some examples of master index files</P>
-<UL>
-
- <LI>www_link(`../Examples/CPP/masterindex.html',
- `Master index for a C++ project') to be found in
- <TT>Examples/CPP/</TT></LI>
-
- <LI>www_link(`../Source/ROBODoc_mi.html',
- `Master index for ROBODoc') to be found in
- <TT>Source/</TT>.
- </LI>
-
-</UL>
-
-
-
-www_section(`makefile', `Automation with <TT>make</TT>')
-
-<P>The whole process of creating documentation with ROBODoc is of
-course best automated with <TT>make</TT>.
-Have a look at the following makefile.</P>
-
-<TABLE><TR><TD><PRE>
-SHELL = /bin/sh
-.SUFFIXES:
-
-ROBODOC=robodoc
-ROBOOPTS=C SORT
-
-# Your source files.
-#
-SOURCES=analyser.c generator.c items.c util.c \
- folds.c headers.c links.c robodoc.c \
- analyser.h generator.h items.h util.h \
- folds.h headers.h links.h robodoc.h
-
-# The name of your Project
-#
-PROJECT=robodoc
-
-# The various documentation files, derived from the source files.
-# HTML
-#
-HTMLDOCS=$(SOURCES:=.html)
-HTMLXREFS=$(HTMLDOCS:.html=.html.xref)
-HTMLXREFSFILE=$(PROJECT)_html.xrefs
-# LATEX
-#
-LATEXDOCS=$(SOURCES:=.tex)
-LATEXXREFS=$(LATEXDOCS:.tex=.tex.xref)
-LATEXXREFSFILE=$(PROJECT)_tex.xrefs
-# ASCII
-#
-ASCIIDOCS=$(SOURCES:=.txt)
-# RTF
-#
-RTFDOCS=$(SOURCES:=.rtf)
-RTFXREFS=$(RTFDOCS:.rtf=.rtf.xref)
-RTFXREFSFILE=$(PROJECT)_rtf.xrefs
-
-# Some common targets
-xrefall: xrefhtml xreftex xrefrtf
-docall: html tex ascii rtf
-
-# Create the xref files for the various formats.
-xhtml: $(HTMLXREFSFILE)
-xtex: $(LATEXXREFSFILE)
-xrtf: $(RTFXREFSFILE)
-
-# Create the documentation files for the various formats.
-html: $(HTMLDOCS) $(PROJECT)_mi.html
-tex: $(LATEXDOCS) $(PROJECT)_mi.tex
-rtf: $(RTFDOCS)
-ascii: $(ASCIIDOCS)
-
-# master index file, currently works only for html and latex documentation.
-# Note that you can define the title of the document.
-$(PROJECT)_mi.html: $(HTMLXREFSFILE)
- $(ROBODOC) $< $@ INDEX HTML TITLE "$(PROJECT) Master Index"
-
-$(PROJECT)_mi.tex: $(LATEXXREFSFILE)
- $(ROBODOC) $< $@ INDEX LATEX TITLE "$(PROJECT) API Reference"
-
-# create xrefs file (file with the names of all .xref files).
-$(HTMLXREFSFILE) : $(HTMLXREFS)
- /bin/ls $(HTMLXREFS) > $@
-$(LATEXXREFSFILE) : $(LATEXXREFS)
- /bin/ls $(LATEXXREFS) > $@
-$(RTFXREFSFILE) : $(RTFXREFS)
- /bin/ls $(RTFXREFS) > $@
-
-# Rule to create an .xref file from a source file for the various formats.
-%.html.xref : %
- $(ROBODOC) $< $(@:.xref=) $(ROBOOPTS) INTERNAL GENXREF $@
-%.tex.xref : %
- $(ROBODOC) $< $(@:.xref=) $(ROBOOPTS) INTERNAL GENXREF $@
-%.rtf.xref : %
- $(ROBODOC) $< $(@:.xref=) $(ROBOOPTS) INTERNAL GENXREF $@
-
-# Rule to create html documentation from a source file.
-%.html : %
- $(ROBODOC) $< $@ HTML $(ROBOOPTS) XREF $(HTMLXREFSFILE)
-
-# Rule to create latex documentation from a source file.
-# We do not include source items, and generate laxtex documents
-# than can be included in a master document.
-%.tex : %
- $(ROBODOC) $< $@ LATEX $(ROBOOPTS) NOSOURCE SINGLEDOC XREF $(LATEXXREFSFILE)
-
-# Rule to create ascii documentation from a source file.
-%.txt : %
- $(ROBODOC) $< $@ ASCII
-
-# Rule to create rtf documentation from a source file.
-%.rtf : %
- $(ROBODOC) $< $@ RTF $(ROBOOPTS) XREF $(RTFXREFSFILE)
-
-# Use netscape to view the master index file for our project.
-htmlview: html
- netscape $(PROJECT)_mi.html
-
-# Use the latex programs to generate a .dvi from the master index file
-# for our prokect. View this .dvi file with xdvi
-texview: tex
- latex $(PROJECT)_mi
- makeindex $(PROJECT)_mi
- latex $(PROJECT)_mi
- latex $(PROJECT)_mi
- xdvi $(PROJECT)_mi.dvi
-
-# Clean-up the mess we made
-#
-clean:
- rm -f $(HTMLXREFS)
- rm -f $(HTMLDOCS)
- rm -f $(LATEXXREFS)
- rm -f $(LATEXDOCS)
- rm -f $(PROJECT)_mi.* *.aux
- rm -f $(RTFXREFS)
- rm -f $(RTFDOCS)
- rm -f $(ASCIIDOCS)
- rm -f $(HTMLXREFSFILE)
- rm -f $(LATEXXREFSFILE)
- rm -f $(RTFXREFSFILE)
-</PRE></TD></TR></TABLE>
-
-<P>It includes all the necessary commands to generate and view the documentation for you project. You create documentation in any of the four formats.
-For instance to create documentation in html format use:</P>
-<TABLE><TR><TD><PRE>
- make xhtml
- make html
-</PRE></TD></TR></TABLE>
-<P>To make documentation in LaTeX format use:</P>
-<TABLE><TR><TD><PRE>
- make xtex
- make tex
-</PRE></TD></TR></TABLE>
-<P>To view your documentation use:</P>
-<TABLE><TR><TD><PRE>
- make xhtml
- make texview
-</PRE></TD></TR></TABLE>
-<P>or</P>
-<TABLE><TR><TD><PRE>
- make xtex
- make texview
-</PRE></TD></TR></TABLE>
-
-
-<P>To clean up all the documentation files use:</P>
-<PRE>
- make clean
-</PRE>
-
-<P>To use this make file in project set the variable
-<TT>SOURCE</TT> to the names of your source files and set the
-variable <TT>PROJECT</TT> to the name of your project.</P>
-
-<P>You can find a copy of the above makefile
-<TT>Docs/example_makefile</TT>. This should get you started in
-no time.</P>
-
-www_section(`MDSO', `What to do if You have Sources in Multiple Directories')
-
-<P>It is possible to have your sources in multiple
-subdirectories. However the generated documentation is expected
-to be in one single directory. If not the cross references will
-be wrong, at least in the HTML documentation.</P>
-
-<P>Say you have the following directory structure:</P>
-<TABLE><TR><TD><PRE>
- Project/
- Dir1/
- program1.c
- Dir2/
- program2.c
-</PRE></TD></TR></TABLE>
-
-<P>You can create the documentation for that as follows (assuming
-you are in Project):
-</P>
-<TABLE><TR><TD><PRE>
- robodoc Dir1/prog1.c prog1.c.html HTML GENXREF Dir1/prog1.xref
- robodoc Dir2/prog2.c prog2.c.html HTML GENXREF Dir2/prog2.xref
- echo "Dir1/prog1.xref" > xreffiles
- echo "Dir2/prog2.xref" >> xreffiles
- robodoc Dir1/prog1.c prog1.c.html HTML XREF xreffiles
- robodoc Dir2/prog2.c prog2.c.html HTML XREF xreffiles
- robodoc xreffiles master_index.html INDEX HTML
-</PRE></TD></TR></TABLE>
-<P>
-This generates the following files:
-</P>
-<TABLE><TR><TD><PRE>
- prog1.c.html
- prog2.c.html
- master_index.html
-</PRE></TD></TR></TABLE>
-
-
-<P>With some version of make (for instance the gnu version) you
-can strip the directory part of a filename with $(notdir NAME)
-How this can be used is shown in the following example
-makefile. Here we have the sources for robodoc, the <TT>.c</TT> files are
-in the directory <TT>Sources/</TT> and <TT>.h</TT> files are in the
-directory <TT>Headers/</TT>.</P>
-
-<TABLE><TR><TD><PRE>
-SHELL = /bin/sh
-.SUFFIXES:
-
-ROBODOC=./robodoc
-ROBOOPTS=C SORT
-
-# Your source files.
-#
-SOURCES=Sources/analyser.c Sources/generator.c Sources/items.c Sources/util.c \
- Sources/folds.c Sources/headers.c Sources/links.c Sources/robodoc.c \
- Headers/analyser.h Headers/generator.h Headers/items.h Headers/util.h \
- Headers/folds.h Headers/headers.h Headers/links.h Headers/robodoc.h
-
-# The name of your Project
-#
-PROJECT=ROBODoc
-
-# The various documentation files, derived from the source files.
-#
-HTMLDOCS=$(SOURCES:=.html)
-HTMLXREFS=$(HTMLDOCS:.html=.html.xref)
-HTMLXREFSFILE=$(PROJECT)_html.xrefs
-
-# Create the xref files for the various formats.
-xhtml: $(HTMLXREFSFILE)
-
-# Create the documentation
-html: $(HTMLDOCS) $(PROJECT)_mi.html
-
-# Create master index file.
-$(PROJECT)_mi.html: $(HTMLXREFSFILE)
- $(ROBODOC) $< $@ INDEX HTML TITLE "$(PROJECT) Master Index"
-
-# Create the file with the names of all xref files.
-$(HTMLXREFSFILE) : $(HTMLXREFS)
- /bin/ls $(HTMLXREFS) > $@
-
-# Rule to create an .xref file from a source file
-%.html.xref : %
- $(ROBODOC) $< $(notdir $(@:.xref=)) $(ROBOOPTS) INTERNAL GENXREF $@
-
-# Rule to create html documentation from a source file.
-%.html : %
- $(ROBODOC) $< $(notdir ${@}) HTML $(ROBOOPTS) XREF $(HTMLXREFSFILE)
-</PRE></TD></TR></TABLE>
-
-
-
-www_section(`RDF', `The ROBODoc Defaults File')
-
-<P>The robodoc.default file can be used to change the appearance
-of the documentation. For each item type you can define how the
-corresponding text should be rendered. Each line in the default
-file consists of two parts, the item type and the item
-attributes. For instance</P>
-
-<PRE>
-AUTHOR LARGE ITALICS BOLD UNDERLINE
-</PRE>
-
-<P>Specifies that the AUTHOR item has the attributes LARGE,
-ITALICS, BOLD, and UNDERLINE. The effect of each attribute is
-listed in the following table.</P>
-
-<TABLE>
-<TR><TD>Item Attributes</TD>
- <TD>Effect in HTML</TD>
-</TR>
-<TR><TD>LARGE</TD>
- <TD><FONT SIZE=5>,</FONT></TD>
-</TR>
-<TR><TD>SMALL</TD>
- <TD><FONT SIZE=-1>,</FONT></TD>
-</TR>
-<TR><TD>ITALICS</TD>
- <TD><I>,</I></TD>
-</TR>
-<TR><TD>BOLD</TD>
- <TD><B>,</B></TD>
-</TR>
-<TR><TD>UNDERLINE</TD>
- <TD><U>,</U></TD>
-</TR>
-<TR><TD>HIGHLIGHT</TD>
- <TD><EM>,</EM></TD>
-</TR>
-</TABLE>
-
-
-www_section(`UOB', `ROBODoc Command Line Options')
-
-<P>When using ROBODoc you should provide at least two
-parameters</P>
-
-<PRE>
- robodoc <source file> <documentation file> [options]
-</PRE>
-
-<P>Here sourcefile is the file with the program source from which
-the documentation is to be extracted. The documentation file is
-the file that will contain the extracted documentation. </P>
-
-<P>In case you are creating a master index file you have to
-specify three parameters</P>
-<PRE>
- robodoc <xrefs file> <master index file> INDEX [options]
-</PRE>
-
-
-<P>In addition to this you can specify one or more of the
-following options:</P>
-
-<TABLE >
- <TR><TD><TT>ASCII</TT></TD>
- <TD>Generate documentation in ASCII format (default)</TD>
- </TR>
- <TR><TD><TT>GUIDE</TT></TD>
- <TD>Generate documentation in AmigaGuide format.</TD>
- </TR>
- <TR><TD><TT>HTML</TT></TD>
- <TD>Generate documentation in HTML format.</TD>
- </TR>
- <TR><TD><TT>LATEX</TT></TD>
- <TD>Generate documentation in LaTeX format. (Experimental)</TD>
- </TR>
- <TR><TD><TT>RTF</TT></TD>
- <TD>Generate documentation in RTF format.</TD>
- </TR>
- <TR><TD><TT>C</TT></TD>
- <TD>Use ANSI C grammar in source items (test, HTML only)</TD>
- </TR>
- <TR><TD><TT>FOLD</TT></TD>
- <TD>Enable folding. (Experimental)</TD>
- </TR>
- <TR><TD><TT>GENXREF <xref file></TT></TD>
- <TD>Generate a xref file, which can be used to create
- www_link(`#CLD', `cross links') between documents.</TD>
- </TR>
- <TR><TD><TT>XREF <xrefs file></TT></TD>
- <TD>Use a set of xref files to create references (links) to other
- documents or within the document. <TT><xrefs file></TT>
- is a file with xref file names.</TD>
- </TR>
- <TR><TD><TT>INDEX</TT></TD>
- <TD>Create a www_link(`#MAIND', `master index file').</TD>
- </TR>
- <TR><TD><TT>INTERNAL</TT></TD>
- <TD>Also include headers that are marked internal.</TD>
- </TR>
- <TR><TD><TT>INTERNALONLY</TT></TD>
- <TD>Only extract the headers marked internal.</TD>
- </TR>
- <TR><TD><TT>NOSOURCE</TT></TD>
- <TD>Do not include the source items in the documentation.</TD>
- </TR>
- <TR><TD><TT>SORT</TT></TD>
- <TD>Sort the headers alphabetically.</TD>
- </TR>
- <TR><TD><TT>SINGLEDOC</TT></TD>
- <TD>Do not create a document header and footer when creating
- documentation in LaTeX format. This allows you to include
- the generated documents into big document or
- www_link(`#MAIND', `master index file').</TD>
- </TR>
- <TR><TD><TT>TITLE <title></TT></TD>
- <TD>Sets the title that is used for the
- www_link(`#MAIND', `master index file').</TD>
- </TR>
- <TR><TD><TT>TOC</TT></TD>
- <TD>Generate a table of contents. It is only useful when you select
- ASCII as output mode. With all other output modes the
- table of contents is generated anyway.</TD>
- </TR>
- <TR><TD><TT>TABSIZE <n></TT></TD>
- <TD>Convert each tab into <TT>n</TT> spaces.</TD>
- </TR>
- <TR><TD><TT>-v</TT></TD>
- <TD>Verbose option, ROBODoc will tell you what it is doing.</TD>
- </TR>
-</TABLE>
-
-<P>If you wonder why all the odd ALL CAPS flags are used instead
-of for instance "-x"; this was how it was done on the Amiga.</P>
-
-<P>The following abbreviations are also allowed:</P>
-<TABLE >
-<TR><TD><TT>-s </TT></TD><TD><TT>SORT</TT></TD></TR>
-<TR><TD><TT>-t </TT></TD><TD><TT>TOC</TT></TD></TR>
-<TR><TD><TT>-x </TT></TD><TD><TT>XREF</TT></TD></TR>
-<TR><TD><TT>-g </TT></TD><TD><TT>GENXREF</TT></TD></TR>
-<TR><TD><TT>-i </TT></TD><TD><TT>INTERNAL</TT></TD></TR>
-<TR><TD><TT>-io</TT></TD><TD><TT>INTERNALONLY</TT></TD></TR>
-<TR><TD><TT>-ts</TT></TD><TD><TT>TABSIZE</TT></TD></TR>
-</TABLE>
-
-
-www_section(`ADV', `Adding New Languages')
-
-<P>To add a new programming language to ROBODoc you have to edit
-<TT>headers.c</TT>. Here you find three variables:
-<TT>header_markers</TT>, <TT>remark_markers</TT>, and
-<TT>end_markers</TT>. There are all arrays, and you have to add
-an new entry to each of these three arrays.</P>
-
-<P>Say your programming language uses the following type of remarks:</P>
-<PRE>
- $%% This is a remark with some text
- and some more and some more %%$
-</PRE>
-
-<P>That is is starts with three spaces and then <TT>$%%</TT>, and
-has to end with <TT>%%$</TT>. Then you would add to <TT>header_markers</TT>
-</P>
-<PRE>
- " $%%****",
-</PRE>
-<P>To <TT>remark_markers</TT> you would add</P>
-<PRE>
- " *",
-</PRE>
-<P>And to <TT>end_markers</TT> you would add</P>
-<PRE>
- " $%%***",
-</PRE>
-<P>You can then use the following kind of headers in your program:</P>
-<PRE>
- $%%****f* Test/afunction *****
- * NAME
- * afunction
- * FUNCTION
- * A test.
- * SOURCE
- *%%$
- afunction(test,test) [
- print hello world ;
- ]
- $%%***%%$
-</PRE>
-
-
-
-
-
-www_section(`SAB', `Suggestions and Bugs')
-
-<P>If you find any bugs, catch them, put them in a jar, and send
-them to:</P>
-<ADDRESS>fslothouber@acm.org</ADDRESS>
-<P>Suggestions are also welcome at this address. Flames can be
-directed to the sun.</P>
-
-www_bodyend
-www_docend
-
+++ /dev/null
-m4_changecom(`/-*', `*-/')m4_dnl
-m4_define(`www_sectionCounter',0)m4_dnl
-m4_define(`www_subSectionCounter',0)m4_dnl
-m4_define(`www_incrCounter',`m4_define(`$1',m4_incr($1))')m4_dnl
-m4_define(`www_section', `www_incrCounter(`www_sectionCounter')<STRONG><FONT COLOR="red">m4_format(`%02d', www_sectionCounter)</FONT>......... <A HREF="#$1">$2</A></STRONG><BR> m4_define(`www_subSectionCounter', 0)')m4_dnl
-m4_define(`www_subSection', `www_incrCounter(`www_subSectionCounter')<STRONG><font color="red">m4_format(`%02d.%02d', www_sectionCounter, www_subSectionCounter)</font>.......... <A HREF="#$1">$2</A></STRONG><BR>')m4_dnl
+++ /dev/null
-#
-# $Id$
-#
-#
-
-myclean:
- rm -f *~
- rm -f *.xref
- rm -f *.html
- rm -f xref_files
-
-#
-# Creates the example used in the documentation.
-# Assumed robodoc has been installed.
-#
-# It also shows how to make some plain makefile rules to
-# generate documentation.
-#
-
-xref_files : prog1.c.xref prog2.c.xref
- echo "prog1.c.xref" > xref_files
- echo "prog2.c.xref" >> xref_files
-
-prog1.c.xref : prog1.c
- robodoc prog1.c prog1.c.html GENXREF prog1.c.xref HTML INTERNAL
-
-prog2.c.xref : prog2.c
- robodoc prog2.c prog2.c.html GENXREF prog2.c.xref HTML INTERNAL
-
-prog1.c.html : prog1.c xref_files
- robodoc prog1.c prog1.c.html XREF xref_files HTML INTERNAL
-
-prog2.c.html : prog2.c xref_files
- robodoc prog2.c prog2.c.html XREF xref_files HTML INTERNAL
+++ /dev/null
-/****h* TEST/Prog1 ***
-* NAME
-* Prog1 -- Test program 1. (v1.0)
-* COPYRIGHT
-* Maverick Software Development (C) 1995
-* FUNCTION
-* Totally nothing and useless.
-* AUTHOR
-* Jacco van Weert
-* CREATION DATE
-* 15-Feb-95
-* MODIFICATION HISTORY
-* 15-Feb-95 - v1.0 - First version
-* NOTES
-* Nothing special
-***********
-*/
-
-/****i* Prog1/Proc_Internal1 ***
-* NAME
-* Proc_Internal1 -- Internal procedure test program. (v1.0)
-* SYNOPSIS
-* Proc_Internal1
-* FUNCTION
-* Just for fun.
-* BUGS
-* The procedure does not exist :)
-* PURPOSE
-* The purpose of the procedure, whatever it is.
-* SEE ALSO
-* Proc_Normal1, Proc_Internal2
-* Proc_Normal2, prog2.c
-*********
-*/
-
-/****** Prog1/Proc_Normal1 **
-*
-* NAME
-* Proc_Normal1 -- Normal procedure. (v1.0)
-* SYNOPSIS
-* Proc_Normal1
-* FUNCTION
-* Useless.
-* SEE ALSO
-* Proc_Internal1,
-* Proc_Normal2,
-* prog2.c,
-* Prog2
-***********
-*/
-
-
-
-
-
+++ /dev/null
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
-<HTML><HEAD>
-<TITLE>prog1.c.html</TITLE>
-<!-- Source: prog1.c -->
-<!-- Generated with ROBODoc Version 3.2.2 (Jan 28 2001) -->
-<!-- ROBODoc (c) 1994-2000 by Frans Slothouber and Jacco van Weert. -->
-</HEAD><BODY BGCOLOR="#FFFFFF">
-<A NAME="prog1.c">Generated from prog1.c</A> with ROBODoc v3.2.2 on Mon Apr 02 20:03:02 2001
-<BR>
-<H3 ALIGN="center">TABLE OF CONTENTS</H3>
-<OL>
-<LI><A HREF="#Prog1">TEST/Prog1</A>
-<LI><A HREF="#Proc_Internal1">Prog1/Proc_Internal1</A>
-<LI><A HREF="#Proc_Normal1">Prog1/Proc_Normal1</A>
-</OL>
-<HR>
-
-<H2><A NAME="Prog1">TEST/Prog1</A></H2>
-
-<FONT SIZE="+1">NAME</FONT>
-<PRE><EM> <B>Prog1</B> -- Test program 1. (v1.0)
-</EM></PRE><FONT SIZE="+1">COPYRIGHT</FONT>
-<PRE> Maverick Software Development (C) 1995
-</PRE><FONT SIZE="+1">FUNCTION</FONT>
-<PRE> Totally nothing and useless.
-</PRE><FONT SIZE="+1">AUTHOR</FONT>
-<PRE><B> Jacco van Weert
-</B></PRE><FONT SIZE="+1">CREATION DATE</FONT>
-<PRE><B> 15-Feb-95
-</B></PRE><FONT SIZE="+1">MODIFICATION HISTORY</FONT>
-<PRE> 15-Feb-95 - v1.0 - First version
-</PRE><FONT SIZE="+1">NOTES</FONT>
-<PRE><EM> Nothing special
-</EM></PRE>
-<HR>
-
-<H2><A NAME="Proc_Internal1">Prog1/Proc_Internal1</A></H2>
-
-<FONT SIZE="+1">NAME</FONT>
-<PRE><EM> <B>Proc_Internal1</B> -- Internal procedure test program. (v1.0)
-</EM></PRE><FONT SIZE="+1">SYNOPSIS</FONT>
-<PRE> <B>Proc_Internal1</B>
-</PRE><FONT SIZE="+1">FUNCTION</FONT>
-<PRE> Just for fun.
-</PRE><FONT SIZE="+1">BUGS</FONT>
-<PRE><EM> The procedure does not exist :)
-</EM></PRE><FONT SIZE="+1">PURPOSE</FONT>
-<PRE> The purpose of the procedure, whatever it is.
-</PRE><FONT SIZE="+1">SEE ALSO</FONT>
-<PRE> <A HREF="#Proc_Normal1">Proc_Normal1</A>, <A HREF="prog2.c.html#Proc_Internal2">Proc_Internal2</A>
- <A HREF="prog2.c.html#Proc_Normal2">Proc_Normal2</A>, <A HREF="prog2.c.html#prog2.c">prog2.c</A>
-</PRE>
-<HR>
-
-<H2><A NAME="Proc_Normal1">Prog1/Proc_Normal1</A></H2>
-
-<FONT SIZE="+1">NAME</FONT>
-<PRE><EM> <B>Proc_Normal1</B> -- Normal procedure. (v1.0)
-</EM></PRE><FONT SIZE="+1">SYNOPSIS</FONT>
-<PRE> <B>Proc_Normal1</B>
-</PRE><FONT SIZE="+1">FUNCTION</FONT>
-<PRE> Useless.
-</PRE><FONT SIZE="+1">SEE ALSO</FONT>
-<PRE> <A HREF="#Proc_Internal1">Proc_Internal1</A>,
- <A HREF="prog2.c.html#Proc_Normal2">Proc_Normal2</A>,
- <A HREF="prog2.c.html#prog2.c">prog2.c</A>,
- <A HREF="prog2.c.html#Prog2">Prog2</A>
-</PRE>
-</BODY></HTML>
+++ /dev/null
-/****h* TEST/Prog2 *****
-* NAME
-* Prog2 -- Test program 2. (v1.0)
-* COPYRIGHT
-* Maverick Software Development (C) 1995
-* FUNCTION
-* Totally nothing and useless.
-* AUTHOR
-* Jacco van Weert
-* MODIFICATION HISTORY
-* 15-Feb-95 - v1.0 - First version
-* NOTES
-* Nothing special
-******
-*/
-
-
-/****i* Prog2/Proc_Internal2 **
-* NAME
-* Proc_Internal2 -- Internal procedure test program. (v1.0)
-* SYNOPSIS
-* Proc_Internal2
-* FUNCTION
-* Just for fun.
-* INPUTS
-* No inputs
-* BUGS
-* The procedure does not exist :)
-* SEE ALSO
-* Proc_Normal1, Proc_Internal1, Proc_Normal2, prog1.c
-************
-*/
-
-/****** Prog2/Proc_Normal2 ***
-* NAME
-* Proc_Normal2 -- Normal procedure. (v1.0)
-* SYNOPSIS
-* Proc_Normal2
-* FUNCTION
-* Useless.
-* SEE ALSO
-* Proc_Internal1, Proc_Normal1, prog1.c
-******
-*/
-
-
-
-
-
-
+++ /dev/null
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
-<HTML><HEAD>
-<TITLE>prog2.c.html</TITLE>
-<!-- Source: prog2.c -->
-<!-- Generated with ROBODoc Version 3.2.2 (Jan 28 2001) -->
-<!-- ROBODoc (c) 1994-2000 by Frans Slothouber and Jacco van Weert. -->
-</HEAD><BODY BGCOLOR="#FFFFFF">
-<A NAME="prog2.c">Generated from prog2.c</A> with ROBODoc v3.2.2 on Mon Apr 02 20:03:02 2001
-<BR>
-<H3 ALIGN="center">TABLE OF CONTENTS</H3>
-<OL>
-<LI><A HREF="#Prog2">TEST/Prog2</A>
-<LI><A HREF="#Proc_Internal2">Prog2/Proc_Internal2</A>
-<LI><A HREF="#Proc_Normal2">Prog2/Proc_Normal2</A>
-</OL>
-<HR>
-
-<H2><A NAME="Prog2">TEST/Prog2</A></H2>
-
-<FONT SIZE="+1">NAME</FONT>
-<PRE><EM> <B>Prog2</B> -- Test program 2. (v1.0)
-</EM></PRE><FONT SIZE="+1">COPYRIGHT</FONT>
-<PRE> Maverick Software Development (C) 1995
-</PRE><FONT SIZE="+1">FUNCTION</FONT>
-<PRE> Totally nothing and useless.
-</PRE><FONT SIZE="+1">AUTHOR</FONT>
-<PRE><B> Jacco van Weert
-</B></PRE><FONT SIZE="+1">MODIFICATION HISTORY</FONT>
-<PRE> 15-Feb-95 - v1.0 - First version
-</PRE><FONT SIZE="+1">NOTES</FONT>
-<PRE><EM> Nothing special
-</EM></PRE>
-<HR>
-
-<H2><A NAME="Proc_Internal2">Prog2/Proc_Internal2</A></H2>
-
-<FONT SIZE="+1">NAME</FONT>
-<PRE><EM> <B>Proc_Internal2</B> -- Internal procedure test program. (v1.0)
-</EM></PRE><FONT SIZE="+1">SYNOPSIS</FONT>
-<PRE> <B>Proc_Internal2</B>
-</PRE><FONT SIZE="+1">FUNCTION</FONT>
-<PRE> Just for fun.
-</PRE><FONT SIZE="+1">INPUTS</FONT>
-<PRE> No inputs
-</PRE><FONT SIZE="+1">BUGS</FONT>
-<PRE><EM> The procedure does not exist :)
-</EM></PRE><FONT SIZE="+1">SEE ALSO</FONT>
-<PRE> <A HREF="prog1.c.html#Proc_Normal1">Proc_Normal1</A>, <A HREF="prog1.c.html#Proc_Internal1">Proc_Internal1</A>, <A HREF="#Proc_Normal2">Proc_Normal2</A>, <A HREF="prog1.c.html#prog1.c">prog1.c</A>
-</PRE>
-<HR>
-
-<H2><A NAME="Proc_Normal2">Prog2/Proc_Normal2</A></H2>
-
-<FONT SIZE="+1">NAME</FONT>
-<PRE><EM> <B>Proc_Normal2</B> -- Normal procedure. (v1.0)
-</EM></PRE><FONT SIZE="+1">SYNOPSIS</FONT>
-<PRE> <B>Proc_Normal2</B>
-</PRE><FONT SIZE="+1">FUNCTION</FONT>
-<PRE> Useless.
-</PRE><FONT SIZE="+1">SEE ALSO</FONT>
-<PRE> <A HREF="prog1.c.html#Proc_Internal1">Proc_Internal1</A>, <A HREF="prog1.c.html#Proc_Normal1">Proc_Normal1</A>, <A HREF="prog1.c.html#prog1.c">prog1.c</A>
-</PRE>
-</BODY></HTML>
+++ /dev/null
-# $Id$
-
-ROBODOC=robodoc
-DOCS=muppets.cpp.html muppets.h.html
-XREF=$(DOCS:.html=.xref)
-
-all: masterindex.html
-
-myclean:
- rm -f *~
- rm -f *.xref
- rm -f *.xrefs
- rm -f *.html
- rm -f xref_files
-#
-# This makefile shows how with a few rules you can generate
-# the documentation from all your sources.
-#
-
-#
-# create xrefs file (file with the names of all .xref files).
-#
-muppets.xrefs : $(XREF)
- /bin/ls *.xref > $@
-
-#
-# Rule to create an .xref file.
-#
-%.xref : % muppets.xrefs
- $(ROBODOC) $< $(@:.xref=.html) INTERNAL -g $@ -v
-
-#
-# Rule to create an .html file.
-#
-%.html : %
- $(ROBODOC) $< $@ HTML INTERNAL -x muppets.xrefs -v
-
-#
-#
-#
-masterindex.html : muppets.xrefs $(DOCS)
- $(ROBODOC) $< $@ INDEX HTML
-
-
+++ /dev/null
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
-<HTML><HEAD>
-<TITLE>Master Index File</TITLE>
-<!-- Source: muppets.xrefs -->
-<!-- Generated with ROBODoc Version 3.2.2 (Jan 28 2001) -->
-<!-- ROBODoc (c) 1994-2000 by Frans Slothouber and Jacco van Weert. -->
-</HEAD><BODY BGCOLOR="#FFFFFF">
-<A NAME="muppets.xrefs">Generated from muppets.xrefs</A> with ROBODoc v3.2.2 on Mon Apr 02 20:03:03 2001
-<BR>
-<H1>Master Index File</H1>
-<H2>Source Files</H2>
-<TABLE>
-<TR>
-<TD><A HREF="muppets.cpp.html#muppets.cpp"><TT>muppets.cpp</TT></A></TD>
-<TD><A HREF="muppets.h.html#muppets.h"><TT>muppets.h</TT></A></TD>
-<TD></TD>
-<TD></TD>
-<TD></TD>
-<TD></TD>
-</TR>
-</TABLE>
-<H2>Classes</H2>
-<TABLE>
-<TR>
-<TD><A HREF="muppets.h.html#puppet"><TT>puppet</TT></A></TD>
-<TD><A HREF="muppets.h.html#stage"><TT>stage</TT></A></TD>
-<TD></TD>
-<TD></TD>
-<TD></TD>
-<TD></TD>
-<TD></TD>
-<TD></TD>
-<TD></TD>
-<TD></TD>
-<TD></TD>
-</TR>
-</TABLE>
-<H2>Methods</H2>
-<TABLE>
-<TR>
-<TD><A HREF="muppets.cpp.html#puppet::act"><TT>puppet::act</TT></A></TD>
-<TD><A HREF="muppets.cpp.html#puppet::talk"><TT>puppet::talk</TT></A></TD>
-<TD><A HREF="muppets.cpp.html#puppet::walk"><TT>puppet::walk</TT></A></TD>
-<TD><A HREF="muppets.cpp.html#stage::lights"><TT>stage::lights</TT></A></TD>
-</TR>
-<TR>
-<TD><A HREF="muppets.cpp.html#stage::open_curtains"><TT>stage::open_curtains</TT></A></TD>
-<TD></TD>
-<TD></TD>
-<TD></TD>
-</TR>
-</TABLE>
-</BODY></HTML>
+++ /dev/null
-
-/****m* Mupputs/puppet::walk
- * NAME
- * puppet::walk
- * PURPOSE
- * Let puppet walk.
- ******
- */
-
-/****m* Mupputs/puppet::talk
- * NAME
- * puppet::talk
- * PURPOSE
- * Let puppet talk.
- ******
- */
-
-/****m* Mupputs/puppet::act
- * NAME
- * puppet::act
- * PURPOSE
- * Let puppet walk and talk.
- ******
- */
-
-
-/****m* Mupputs/stage::open_curtains
- * NAME
- * stage::open_curtains --
- * PURPOSE
- * Open the curtains.
- * SOURCE
- */
-
-void stage::open_curtains()
-{
- lights(ON);
-}
-
-/*********/
-
-
-
-/****m* Mupputs/stage::lights
- * NAME
- * stage::lights -- switch lights on or off.
- * PURPOSE
- * Switch lights on or off.
- ******
- */
-
+++ /dev/null
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
-<HTML><HEAD>
-<TITLE>muppets.cpp.html</TITLE>
-<!-- Source: muppets.cpp -->
-<!-- Generated with ROBODoc Version 3.2.2 (Jan 28 2001) -->
-<!-- ROBODoc (c) 1994-2000 by Frans Slothouber and Jacco van Weert. -->
-</HEAD><BODY BGCOLOR="#FFFFFF">
-<A NAME="muppets.cpp">Generated from muppets.cpp</A> with ROBODoc v3.2.2 on Mon Apr 02 20:03:03 2001
-<BR>
-<H3 ALIGN="center">TABLE OF CONTENTS</H3>
-<OL>
-<LI><A HREF="#puppet::walk">Mupputs/puppet::walk</A>
-<LI><A HREF="#puppet::talk">Mupputs/puppet::talk</A>
-<LI><A HREF="#puppet::act">Mupputs/puppet::act</A>
-<LI><A HREF="#stage::open_curtains">Mupputs/stage::open_curtains</A>
-<LI><A HREF="#stage::lights">Mupputs/stage::lights</A>
-</OL>
-<HR>
-
-<H2><A NAME="puppet::walk">Mupputs/puppet::walk</A></H2>
-
-<FONT SIZE="+1">NAME</FONT>
-<PRE><EM> <B>puppet::walk</B>
-</EM></PRE><FONT SIZE="+1">PURPOSE</FONT>
-<PRE> Let <A HREF="muppets.h.html#puppet">puppet</A> walk.
-</PRE>
-<HR>
-
-<H2><A NAME="puppet::talk">Mupputs/puppet::talk</A></H2>
-
-<FONT SIZE="+1">NAME</FONT>
-<PRE><EM> <B>puppet::talk</B>
-</EM></PRE><FONT SIZE="+1">PURPOSE</FONT>
-<PRE> Let <A HREF="muppets.h.html#puppet">puppet</A> talk.
-</PRE>
-<HR>
-
-<H2><A NAME="puppet::act">Mupputs/puppet::act</A></H2>
-
-<FONT SIZE="+1">NAME</FONT>
-<PRE><EM> <B>puppet::act</B>
-</EM></PRE><FONT SIZE="+1">PURPOSE</FONT>
-<PRE> Let <A HREF="muppets.h.html#puppet">puppet</A> walk and talk.
-</PRE>
-<HR>
-
-<H2><A NAME="stage::open_curtains">Mupputs/stage::open_curtains</A></H2>
-
-<FONT SIZE="+1">NAME</FONT>
-<PRE><EM> <B>stage::open_curtains</B> --
-</EM></PRE><FONT SIZE="+1">PURPOSE</FONT>
-<PRE> Open the curtains.
-</PRE><FONT SIZE="+1">SOURCE</FONT>
-<PRE> void <B>stage::open_curtains</B>()
- {
- lights(ON);
- }
-</PRE>
-<HR>
-
-<H2><A NAME="stage::lights">Mupputs/stage::lights</A></H2>
-
-<FONT SIZE="+1">NAME</FONT>
-<PRE><EM> <B>stage::lights</B> -- switch lights on or off.
-</EM></PRE><FONT SIZE="+1">PURPOSE</FONT>
-<PRE> Switch lights on or off.
-</PRE>
-</BODY></HTML>
+++ /dev/null
-
-/****c* Mupputs/puppet
- * NAME
- * pupput --
- * PURPOSE
- * Little monsters that can walk and talk on a stage.
- * METHODS
- * puppet::walk -- make a puppet walk
- * puppet::talk -- make a puppet talk
- * puppet::act -- make a puppet act
- *******
- */
-
-
-/****c* Mupputs/stage
- * NAME
- * stage -- the floor on which the puppets act.
- * METHODS
- * stage::open_curtains
- * stage::lights
- ******
- */
-
-
-
+++ /dev/null
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
-<HTML><HEAD>
-<TITLE>muppets.h.html</TITLE>
-<!-- Source: muppets.h -->
-<!-- Generated with ROBODoc Version 3.2.2 (Jan 28 2001) -->
-<!-- ROBODoc (c) 1994-2000 by Frans Slothouber and Jacco van Weert. -->
-</HEAD><BODY BGCOLOR="#FFFFFF">
-<A NAME="muppets.h">Generated from muppets.h</A> with ROBODoc v3.2.2 on Mon Apr 02 20:03:03 2001
-<BR>
-<H3 ALIGN="center">TABLE OF CONTENTS</H3>
-<OL>
-<LI><A HREF="#puppet">Mupputs/puppet</A>
-<LI><A HREF="#stage">Mupputs/stage</A>
-</OL>
-<HR>
-
-<H2><A NAME="puppet">Mupputs/puppet</A></H2>
-
-<FONT SIZE="+1">NAME</FONT>
-<PRE><EM> pupput --
-</EM></PRE><FONT SIZE="+1">PURPOSE</FONT>
-<PRE> Little monsters that can walk and talk on a <A HREF="#stage">stage</A>.
-</PRE><FONT SIZE="+1">METHODS</FONT>
-<PRE> <A HREF="muppets.cpp.html#puppet::walk">puppet::walk</A> -- make a <B>puppet</B> walk
- <A HREF="muppets.cpp.html#puppet::talk">puppet::talk</A> -- make a <B>puppet</B> talk
- <A HREF="muppets.cpp.html#puppet::act">puppet::act</A> -- make a <B>puppet</B> act
-</PRE>
-<HR>
-
-<H2><A NAME="stage">Mupputs/stage</A></H2>
-
-<FONT SIZE="+1">NAME</FONT>
-<PRE><EM> <B>stage</B> -- the floor on which the puppets act.
-</EM></PRE><FONT SIZE="+1">METHODS</FONT>
-<PRE> <A HREF="muppets.cpp.html#stage::open_curtains">stage::open_curtains</A>
- <A HREF="muppets.cpp.html#stage::lights">stage::lights</A>
-</PRE>
-</BODY></HTML>
+++ /dev/null
-****h* main_module/module [1.0] *
-*
-* NAME
-*
-* COPYRIGHT
-*
-* FUNCTION
-*
-* AUTHOR
-*
-* CREATION DATE
-*
-* MODIFICATION HISTORY
-*
-* NOTES
-*
-*******
-
-
-****f* module/procname [1.0] *
-*
-* NAME
-*
-* SYNOPSIS
-*
-* FUNCTION
-*
-* INPUTS
-*
-* RESULT
-*
-* EXAMPLE
-*
-* NOTES
-*
-* BUGS
-*
-* SEE ALSO
-*
-**********
-
-
-****i* module/i_procname [1.0] *
-*
-* NAME
-*
-* SYNOPSIS
-*
-* FUNCTION
-*
-* INPUTS
-*
-* RESULT
-*
-* EXAMPLE
-*
-* NOTES
-*
-* BUGS
-*
-* SEE ALSO
-*
-**********
+++ /dev/null
-REM ****h* main_module/module [1.0] *
-REM
-REM NAME
-REM
-REM COPYRIGHT
-REM
-REM FUNCTION
-REM
-REM AUTHOR
-REM
-REM CREATION DATE
-REM
-REM MODIFICATION HISTORY
-REM
-REM NOTES
-REM
-REM *****
-
-
-REM ***** module/procname [1.0] *
-REM
-REM NAME
-REM
-REM SYNOPSIS
-REM
-REM FUNCTION
-REM
-REM INPUTS
-REM
-REM RESULT
-REM
-REM EXAMPLE
-REM
-REM NOTES
-REM
-REM BUGS
-REM
-REM SEE ALSO
-REM
-REM ********
-
-
-REM ****i* module/i_procname [1.0] *
-REM
-REM NAME
-REM
-REM SYNOPSIS
-REM
-REM FUNCTION
-REM
-REM INPUTS
-REM
-REM RESULT
-REM
-REM EXAMPLE
-REM
-REM NOTES
-REM
-REM BUGS
-REM
-REM SEE ALSO
-REM
-REM ********
+++ /dev/null
-/****h* projectname/module_name [1.0]
-* NAME
-* COPYRIGHT
-* FUNCTION
-* AUTHOR
-* CREATION DATE
-* MODIFICATION HISTORY
-* NOTES
-*******
-*/
-
-
-/****f* module_name/funtion_name [1.0] *
-* NAME
-* SYNOPSIS
-* FUNCTION
-* INPUTS
-* RESULT
-* EXAMPLE
-* NOTES
-* BUGS
-* SEE ALSO
-**********
-*/
-
-
-/****s* module_name/stucture_name [1.0] *
-* NAME
-* PURPOSE
-* ATTRIBUTES
-* NOTES
-* BUGS
-* SEE ALSO
-**********
-*/
-
-
-/****v* module_name/variable_name [1.0] *
-* NAME
-* PURPOSE
-* NOTES
-* BUGS
-* SEE ALSO
-**********
-*/
-
+++ /dev/null
-/****h* projectname/module_name [1.0]
-* NAME
-* COPYRIGHT
-* FUNCTION
-* AUTHOR
-* CREATION DATE
-* MODIFICATION HISTORY
-* NOTES
-*******
-*/
-
-
-/****f* module_name/funtion_name [1.0] *
-* NAME
-* SYNOPSIS
-* FUNCTION
-* INPUTS
-* RESULT
-* EXAMPLE
-* NOTES
-* BUGS
-* SEE ALSO
-**********
-*/
-
-/****f* module_name/funtion_name [1.0] *
-* NAME
-* SYNOPSIS
-* FUNCTION
-* INPUTS
-* RESULT
-* EXAMPLE
-* NOTES
-* BUGS
-* SEE ALSO
-* SOURCE
-*/
-
-example()
-
-/**********/
-
-
-/****c* module_name/class_name [1.0] *
-* NAME
-* PURPOSE
-* METHODS
-* DERIVED FROM
-* DERIVED BY
-* EXAMPLE
-* NOTES
-* BUGS
-* SEE ALSO
-**********
-*/
-
-
-/****m* module_name/method_name [1.0] *
-* NAME
-* SYNOPSIS
-* PURPOSE
-* EXAMPLE
-* NOTES
-* BUGS
-* SEE ALSO
-**********
-*/
-
+++ /dev/null
-C ****h* main_module/module [1.0] *
-C
-C NAME
-C
-C COPYRIGHT
-C
-C FUNCTION
-C
-C AUTHOR
-C
-C CREATION DATE
-C
-C MODIFICATION HISTORY
-C
-C NOTES
-C
-C *****
-
-
-C ***** module/procname [1.0] *
-C
-C NAME
-C
-C SYNOPSIS
-C
-C FUNCTION
-C
-C INPUTS
-C
-C RESULT
-C
-C EXAMPLE
-C
-C NOTES
-C
-C BUGS
-C
-C SEE ALSO
-C
-C ********
-
-
-C ****i* module/i_procname [1.0] *
-C
-C NAME
-C
-C SYNOPSIS
-C
-C FUNCTION
-C
-C INPUTS
-C
-C RESULT
-C
-C EXAMPLE
-C
-C NOTES
-C
-C BUGS
-C
-C SEE ALSO
-C
-C ********
+++ /dev/null
-<!---****h* projectname/module_name [1.0]
-* NAME
-* COPYRIGHT
-* FUNCTION
-* AUTHOR
-* CREATION DATE
-* MODIFICATION HISTORY
-* NOTES
-******* --->
-
-
-<!---****f* module_name/funtion_name [1.0] *
-* NAME
-* SYNOPSIS
-* FUNCTION
-* INPUTS
-* RESULT
-* EXAMPLE
-* NOTES
-* BUGS
-* SEE ALSO
-********** --->
-
-<!---****f* module_name/funtion_name [1.0] *
-* NAME
-* SYNOPSIS
-* FUNCTION
-* INPUTS
-* RESULT
-* EXAMPLE
-* NOTES
-* BUGS
-* SOURCE
-* --->
-
-<H1> Example Source </H1>
-
-<!---********---->
+++ /dev/null
-#****h* main_module/module [1.0] *
-# NAME
-# COPYRIGHT
-# FUNCTION
-# AUTHOR
-# CREATION DATE
-# MODIFICATION HISTORY
-# NOTES
-#******
-#
-
-#****f* module/procname [1.0] *
-# NAME
-# SYNOPSIS
-# FUNCTION
-# INPUTS
-# RESULT
-# EXAMPLE
-# NOTES
-# BUGS
-# SEE ALSO
-#********
-#
-
-#****f* module/procname [1.0] *
-# NAME
-# SYNOPSIS
-# FUNCTION
-# INPUTS
-# RESULT
-# EXAMPLE
-# NOTES
-# BUGS
-# SEE ALSO
-# SOURCE
-
-example()
-
-#********
+++ /dev/null
-$Id$
-
-
-There are two possibilities, if you have a system that supports
-auto configuration (most Unix systems), then use:
-
- ./configure
- make
- make docall
-
-become root and do
-
- make install
-
-
-If your system does not support auto-configuration, then
-have a look at Source/makefile.plain
-you can build robodoc with
-
-
- make -f makefile.plain
-
-
-Additional documentation is provided in Docs/, in the form of
-robodoc.html. For a good example of how to use ROBODoc see the
-ROBODoc source code. To see what kind of documentation can
-generated with ROBODoc, change to Source/ and do a
-
- make xhtml
- make example
-
-or
-
- make -f makefile.plain example
-
-It assumes you have netscape installed.
-
-If you want to see the LaTeX documentation use
- make xtex
- make texview
- gv ROBODoc_mi.ps
-
-
-Also have a look at the example makefile in the Docs/ directory.
-
-
-Have fun,
-Frans.
-
+++ /dev/null
-V3.2.3 o Bug fix. The crosslink generator did not recognize links that
- contained a '/' and ended with an '.' or ','.
- o make install installs additional documentation.
-
-V3.2.2 o Added a Master Index File for LaTeX output.
- o New NOSOURCE option to exclude source items from the documentation.
- o New SINGLEDOC option to all documentation to be included into one
- single document.
- o New TITLE option to set the title for a master index file.
- example make files includes commands to view the
- generated documentation.
- o Made the search for remark markers case insensitive. So you
- can use REM and Rem or even rEM.
-
-V3.2.1 Some small bugfixes, support for mailto:... links, and updates
-in the manual.
-
+++ /dev/null
-_______________________________________________________________________________
-
-
- THIS IS MODIFIED VERSION OF ROBODOC FOR SILC DISTRIBUTION
-
- Pekka Riikonen <priikone@silcnet.org>
-
-_______________________________________________________________________________
-
-
-$Id$
-
-ROBODoc Version 3.2.3 May 2001.
-
-ROBODoc is program documentation tool. The idea is to include for
-every function or procedure a standard header containing all
-sorts of information about the procedure or function. ROBODoc
-extracts these headers from the source file and puts them in a
-separate autodocs-file. ROBODoc thus allows you to include the
-program documentation in the source code and avoid having to
-maintain two separate documents. Or as Petteri puts it: "robodoc
-is very useful - especially for programmers who don't like
-writing documents with Word or some other strange tool."
-
-ROBODoc can format the headers in a number of different formats:
-HTML, ASCII, AmigaGuide, LaTeX, or RTF. In HTML mode it can
-generate cross links between headers. You can even include parts
-of your source code.
-
-ROBODoc works with many programming languages: For instance C,
-Pascal, Shell Scripts, Assembler, COBOL, Occam, Postscript,
-Forth, Tcl/Tk, C++, Java -- basically any program in which you
-can use remarks/comments.
-
- o For information on how to build and install see INSTALL
- o For information on how to use ROBODoc see Docs/robodoc.html.
- o Blank headers for various languages can be found in Headers/
- o For an example on how ROBODoc can be used
- (1) The ROBODoc source code in Source/
- (2) The C++ example in Examples/CPP/
- o For licence information see COPYING
- o For a change log see Source/robodoc.c
-
-Many people contributed to ROBODoc, to name a few:
-
-o Petteri Kettunen <petterik@iki.fi>
- Bug fixes, FOLD, C features.
-o Bernd Koesling <KOESSI@CHESSY.aworld.de>
- Bug fixes, functional improvements, code cleanup.
-o Anthon Pang <apang@mindlink.net>
- RTF support, Bug fixes.
-o Thomas Aglassinger <agi@sbox.tu-graz.ac.at>
- Fixes and cleanup of HTML-output
-o Stefan Kost kost@imn.htwk-leipzig.de
- Idea of the master index file and different header types.
-
-
-Questions, found a bug or a typo; send an email to <fslothouber@acm.org>
-
-(c) 1994-2000 Frans Slothouber and Jacco van Weert
-
-
-
+++ /dev/null
-#include <stdlib.h>
-#include <stdio.h>
-#include <ctype.h>
-#include <string.h>
-
-#include "robodoc.h"
-#include "headers.h"
-#include "items.h"
-#include "util.h"
-#include "folds.h"
-#include "links.h"
-#include "analyser.h"
-
-
-/****** ROBODoc/RB_Analyse_Document [3.0i]
- * NAME
- * RB_Analyse_Document -- scan document for headers and store them
- * SYNOPSIS
- * RB_Analyse_Document (document)
- * RB_Analyse_Document (FILE *)
- * FUNCTION
- * Searches the document for headers. Stores information about
- * any headers that are found in a linked list. Information
- * that is stored includes, the name of the header, its version
- * number, and its contents.
- * INPUTS
- * document - a pointer to a file with the document to be
- * analysed
- * the gobal buffer line_buffer.
- * RESULT
- * 1) A linked list pointed to by the global variable
- * first_header that contains information about each
- * header.
- * NOTES
- * Using fseek and ftell because gcc doesn't know fgetpos and fsetpos,
- * on the sun unix system that I use.
- * SEE ALSO
- * RB_Find_Marker
- * SOURCE
- */
-
-void
-RB_Analyse_Document (FILE * document)
-{
- int header_type;
- int real_size;
- char *name;
-
- for (;
- (header_type = RB_Find_Marker (document)) != NO_HEADER;
- )
- {
- struct RB_header *new_header;
-
- if (!
- (
- ((header_type == INTERNAL_HEADER) &&
- !(course_of_action & (DO_INCLUDE_INTERNAL | DO_INTERNAL_ONLY)))
- ||
- ((header_type != INTERNAL_HEADER) &&
- (course_of_action & DO_INTERNAL_ONLY))
- ||
- (header_type == BLANK_HEADER)
- )
- )
- {
- long cur_file_pos;
-
- new_header = RB_Alloc_Header ();
- RB_Insert_In_List (&first_header, new_header);
- new_header->type = header_type;
- if ((new_header->name = RB_Find_Header_Name ()) != NULL)
- {
- RB_Say ("found header [line %5d]: \"%s\"\n",
- line_number, new_header->name);
-#if 0
- if ((new_header->function_name
- = RB_Function_Name (new_header->name)) == NULL)
-#endif
- if ((new_header->function_name
- = RB_Function_Name (line_buffer)) == NULL)
- {
- RB_Panic ("Can't determine the \"function\" name.\n");
- }
- cur_file_pos = (long) ftell (document);
- if ((real_size = RB_Find_End_Marker (document,
- &new_header->size))
- != 0)
- {
- char *contents;
-
- fseek (document, cur_file_pos, 0);
- if ((contents = malloc ((new_header->size +
- 2) * sizeof (char)))
- != NULL)
- {
- fread (contents, new_header->size, sizeof (char), document);
-
- contents[real_size] = '\0';
- new_header->contents = contents;
- new_header->size = real_size;
- }
- else
- RB_Panic ("out of memory! [Alloc Header Contents]\n");
- }
- else
- {
- RB_Panic ("found header with no end marker \"%s\"\n",
- new_header->name);
- }
- }
- else
- {
- RB_Panic ("found header marker but no name [line %d]\n",
- line_number);
- }
- }
- else
- {
- if (header_type != BLANK_HEADER)
- {
- if ((name = RB_Find_Header_Name ()) != NULL)
- {
- new_header = RB_Alloc_Header ();
- if ((real_size =
- RB_Find_End_Marker (document, &new_header->size))
- == 0)
- {
- RB_Free_Header (new_header);
- RB_Panic ("found header with no end marker \"%s\"\n", name);
- }
- else
- {
- RB_Free_Header (new_header);
- }
- }
- else
- {
- RB_Panic ("found header marker but no name [line %d]\n",
- line_number);
- }
- }
- }
- }
-}
-
-/****** END RB_Analyse_Document *******/
-
-
-
-
-/****f* ROBODoc/RB_Function_Name [2.0x]
- * NAME
- * RB_Function_Name -- get pointer to the function name.
- * SYNOPSIS
- * char *RB_NamePart(char *header_name)
- * FUNCTION
- * A header name is consists of two parts. The module name and
- * the function name. This returns a pointer to the function name.
- * The name "function name" is a bit obsolete. It is really the name
- * of any of objects that can be documented; classes, methods,
- * variables, functions, projects, etc.
- * SOURCE
- */
-
-char *
-RB_Function_Name (char *header_name)
-{
- char *cur_char;
- char c;
- char *name;
-
- name = NULL;
- if ((cur_char = header_name) != NULL)
- {
- for (; (c = *cur_char) != '\0'; ++cur_char)
- {
- if ('/' == *cur_char)
- {
- ++cur_char;
- if (*cur_char)
- name = cur_char;
- }
- }
- }
- if (name) {
- char *temp;
- temp = malloc((strlen(name) + 1) * sizeof(char));
- strcpy(temp, name);
- return temp;
- } else {
- return (name);
- }
-}
-
-/*** RB_Name_Part ***/
-
-
-
-/****** ROBODoc/RB_Find_Marker [3.0h]
- * NAME
- * RB_Find_Marker -- Search for header marker in document.
- * SYNOPSIS
- * header_type = RB_Find_Marker (document)
- * int RB_Find_Marker (FILE *)
- * FUNCTION
- * Read document file line by line, and search each line for the
- * any of the headers defined in the array header_markers
- * INPUTS
- * document - pointer to the file to be searched.
- * the gobal buffer line_buffer.
- * RESULT
- * header type
- * can be:
- * (1) NO_HEADER - no header found, end of file reached
- * (2) MAIN_HEADER
- * (3) GENERIC_HEADER
- * (4) INTERNAL_HEADER
- * BUGS
- * Bad use of feof(), fgets().
- * SEE ALSO
- * RB_Find_End_Marker
- * SOURCE
- */
-
-int
-RB_Find_Marker (FILE * document)
-{
- int found;
- int marker, marker_type;
- char *cur_char, *cur_mchar;
-
- marker_type = NO_HEADER;
- cur_char = NULL;
- found = FALSE;
- while (!feof (document) && !found)
- {
- *line_buffer = '\0';
- fgets (line_buffer, MAX_LINE_LEN, document);
- if (!feof (document))
- {
- line_number++;
- for (marker = 0;
- ((cur_mchar = header_markers[marker]) != NULL) && !found;
- marker++)
- {
- for (found = TRUE, cur_char = line_buffer;
- *cur_mchar && *cur_char && found;
- cur_mchar++, cur_char++)
- {
- if (tolower(*cur_mchar) != tolower(*cur_char))
- found = FALSE;
- }
- }
- if (found)
- {
- switch (*cur_char)
- {
- case 'h':
- marker_type = MAIN_HEADER;
- break;
- case '*':
- marker_type = GENERIC_HEADER;
- break;
- case 'i':
- marker_type = INTERNAL_HEADER;
- break;
- case 'f':
- marker_type = FUNCTION_HEADER;
- break;
- case 's':
- marker_type = STRUCT_HEADER;
- break;
- case 'c':
- marker_type = CLASS_HEADER;
- break;
- case 'm':
- marker_type = METHOD_HEADER;
- break;
- case 'd':
- marker_type = CONSTANT_HEADER;
- break;
- case 'v':
- marker_type = VARIABLE_HEADER;
- break;
- default:
- RB_Say ("%s: WARNING, [line %d] undefined headertype,"
- " using GENERIC\n", whoami, line_number);
- marker_type = GENERIC_HEADER;
- }
- }
- }
- }
- if (!found || feof (document))
- {
- marker_type = NO_HEADER;
- }
- else if (marker_type == GENERIC_HEADER)
- {
- skip_while (*cur_char == '*');
- if (*cur_char == '/')
- {
- marker_type = BLANK_HEADER;
- }
- }
- return marker_type;
-}
-
-/******** END RB_Find_Marker ******/
-
-
-/****** ROBODoc/RB_Find_End_Marker [3.0h]
- * NAME
- * RB_Find_End_Marker -- Search for end marker in document.
- * SYNOPSIS
- * result = RB_Find_End_Marker (document)
- * int RB_Find_End_Marker (FILE *)
- * FUNCTION
- * Searches line by line till any of the markers in the
- * array: end_markers is found.
- * INPUTS
- * document - pointer to the file to be searched.
- * int *total_size - external size
- * the gobal buffer line_buffer.
- * RESULT
- * real_size if end marker was found
- * 0 - no end marker was found
- * SEE ALSO
- * RB_Find_Marker
- * SOURCE
- */
-
-int
-RB_Find_End_Marker (FILE * document, int *total_size)
-{
- int real_size = 0;
- int found = FALSE;
- int marker;
- int line_len = 0;
- char *cur_char, *cur_mchar;
-
- while (!feof (document) && !found)
- {
- cur_char = line_buffer;
- *cur_char = '\0';
- fgets (cur_char, MAX_LINE_LEN, document);
- ++line_number; /* global linecounter *koessi */
-
- line_len = strlen (cur_char);
- real_size += line_len;
-
- if (!feof (document))
- {
- for (marker = 0;
- ((cur_mchar = end_markers[marker]) != NULL) && !found;
- marker++)
- {
- for (found = TRUE, cur_char = line_buffer;
- *cur_mchar && *cur_char && found;
- cur_mchar++, cur_char++)
- {
- if (tolower(*cur_mchar) != tolower(*cur_char))
- found = FALSE;
- }
- }
- }
- }
- if (total_size)
- *total_size = real_size;
- if (found)
- return real_size - line_len;
- else
- return 0;
-}
-
-/***** RB_Find_End_Marker *****/
-
-
-/****** ROBODoc/RB_Find_Header_Name [3.0b]
- * NAME
- * RB_Find_Header_Name -- search for header name
- * SYNOPSIS
- * result = RB_Find_Header_Name ()
- * char *RB_Find_Header_Name ()
- * FUNCTION
- * Searches the line buffer for the header name.
- * It assumes that the header name follows after the
- * header marker, seperated by one or more spaces, and terminated
- * by one or more spaces or a '\n'.
- * It allocates an array of chars and copies the name to this array.
- * INPUTS
- * the gobal buffer line_buffer.
- * RESULT
- * pointer to the allocated array of chars that contains the name,
- * terminated with a '\0'.
- * NULL if no header name was found.
- * MODIFICATION HISTORY
- * 8. August 1995 -- optimized by koessi
- * SEE ALSO
- * RB_Find_Function_Name(), RB_WordLen(), RB_StrDup()
- * SOURCE
- */
-
-char *
-RB_Find_Header_Name (void)
-{
- char *cur_char;
-
- cur_char = line_buffer;
- skip_while (*cur_char != '*');
- skip_while (!isspace (*cur_char));
- skip_while (isspace (*cur_char));
- if (*cur_char)
- {
- char *n;
- int len;
-
- if (strchr(cur_char, '\n'))
- *strchr(cur_char, '\n') = '\0';
-
- len = RB_WordLen(cur_char);
-
- n = calloc(len + 1, sizeof(*cur_char));
- strncpy(n, cur_char, len);
- return n;
- }
- return (NULL);
-}
-
-/***** RB_Find_Header_Name *****/
-
-
-/****** ROBODoc/RB_Find_Item [3.0b]
- * NAME
- * RB_Find_Item -- find item in header contents.
- * SYNOPSIS
- * item_type = RB_Find_Item (next_line,item_line)
- *
- * int RB_Find_Item (char **, char **)
- * FUNCTION
- * Searches the header contents line by line, looking
- * for an item Indicator.
- * INPUTS
- * next_line - pointer to a pointer that points to line
- * at which the search will start.
- * SIDE-EFFECTS
- * next_line - pointer to a pointer that points to begin of the line
- * after the line the item was found on.
- * item_line - pointer to a pointer that points to the line the item
- * was found on.
- * RESULT
- * item_type - one of possible items indicators.
- * SOURCE
- */
-
-int
-RB_Find_Item (char **next_line, char **item_line)
-{
- char *cur_char = *next_line;
- int item_type;
-
- for (item_type = NO_ITEM;
- *cur_char && (item_type == NO_ITEM);
- )
- {
- *item_line = cur_char;
- cur_char = RB_Skip_Remark_Marker (cur_char);
-
- skip_while (isspace (*cur_char) && *cur_char != '\n');
- if (isupper (*cur_char))
- {
- char *item_begin = cur_char;
- char *item_end;
-
- skip_while (isupper (*cur_char));
- item_end = cur_char;
- if (isspace (*cur_char) && *cur_char)
- {
- skip_while (isspace (*cur_char) && *cur_char != '\n');
-
- /* Item consists of two words ? */
- if (isupper (*cur_char) && *cur_char)
- {
- skip_while (isupper (*cur_char));
- item_end = cur_char;
- skip_while (isspace (*cur_char) && *cur_char != '\n');
- }
- if (*cur_char == '\n')
- {
- char old_char = *item_end;
-
- *item_end = '\0';
- item_type = RB_Get_Item_Type (item_begin);
- *item_end = old_char;
- cur_char++;
- }
- }
- }
- if (item_type == NO_ITEM)
- {
- find_eol;
- if (*cur_char)
- cur_char++;
- }
- }
-
- /* advance item_line to end of comment block when we have no more items */
- if (item_type == NO_ITEM)
- {
- *item_line = cur_char;
- }
- *next_line = cur_char;
- return item_type;
-}
-
-/***** RB_Find_Item *****/
-
-
-/****** ROBODoc/RRB_Number_Duplicate_Headers
- * NAME
- * RB_Number_Duplicate_Headers -- number duplicate headers
- * SYNOPSIS
- * RB_Number_Duplicate_Headers (void)
- * FUNCTION
- * Extends the function name with an additional number if there
- * are several components with the same name.
- * Otherwise there will be labels with the same name in HTML
- * which confuses the browser.
- * SOURCE
- */
-
-void
-RB_Number_Duplicate_Headers (void)
-{
- struct RB_header *cur_header;
- struct RB_header *dup_header;
- for (cur_header = first_header;
- cur_header;
- cur_header = cur_header->next_header)
- {
- char number[20];
- int nr = 0;
- for (dup_header = cur_header->next_header;
- dup_header;
- dup_header = dup_header->next_header)
- {
- if (strcmp(cur_header->function_name,
- dup_header->function_name) == 0) {
- char *new_name;
- nr++;
- sprintf(number, "(%d)", nr);
- new_name = malloc ((strlen(number) + 1 +
- strlen(dup_header->function_name) + 1 ) * sizeof(char));
- if (new_name == NULL)
- RB_Panic ("out of memory! [Number Duplicates]\n");
- sprintf(new_name, "%s%s", dup_header->function_name,
- number);
- free(dup_header->function_name);
- dup_header->function_name = new_name;
- }
- }
- }
-}
-
-/******/
-
-
-/****** ROBODoc/RB_Make_Index_Tables [3.0b]
- * NAME
- * RB_Make_Index_Tables
- * SYNOPSIS
- * void RB_Make_Index_Tables (void)
- * FUNCTION
- * Creates sorted index tables of headers and links to speed up
- * matching links later on.
- * INPUTS
- * none
- * SIDE EFFECTS
- * Modifies header_index & link_index
- * RESULT
- * none
- * SOURCE
- */
-
-void
-RB_Make_Index_Tables ()
-{
- int nr_of_headers, header;
- int nr_of_links, link;
- struct RB_link *cur_link;
- struct RB_header *cur_header;
-
- for (cur_header = first_header, nr_of_headers = 0;
- cur_header;
- cur_header = cur_header->next_header)
- nr_of_headers++;
-
- for (cur_link = first_link, nr_of_links = 0;
- cur_link;
- cur_link = cur_link->next_link)
- nr_of_links++;
-
- if (nr_of_headers)
- {
- int sort1, sort2;
-
- RB_Say ("Allocating Header Index Table\n");
- header_index = malloc (nr_of_headers * sizeof (struct RB_header **));
-
- header_index_size = nr_of_headers;
- if (!header_index)
- RB_Panic ("out of memory! [Make Index Tables]\n");
-
- /* Fill Index Table */
- for (cur_header = first_header, header = 0;
- cur_header;
- cur_header = cur_header->next_header, header++)
- header_index[header] = cur_header;
-
- /* Sort Index Table */
- RB_Say ("Sorting Header Index Table\n");
- for (sort1 = 0; sort1 < nr_of_headers; sort1++)
- {
- struct RB_header *temp;
-
- for (sort2 = sort1; sort2 < nr_of_headers; sort2++)
- {
- if (strcmp (header_index[sort1]->function_name,
- header_index[sort2]->function_name) > 0)
- {
- temp = header_index[sort1];
- header_index[sort1] = header_index[sort2];
- header_index[sort2] = temp;
- }
- }
- }
- }
- if (nr_of_links)
- {
- int sort1, sort2;
-
- RB_Say ("Allocating Link Index Table\n");
- link_index = malloc (nr_of_links * sizeof (struct RB_link **));
-
- link_index_size = nr_of_links;
- if (!link_index)
- RB_Panic ("out of memory! [Make Index Tables]\n");
-
- /* Fill Index Table */
- for (cur_link = first_link, link = 0;
- cur_link;
- cur_link = cur_link->next_link, link++)
- {
- link_index[link] = cur_link;
- }
-
- /* Sort Index Table */
- RB_Say ("Sorting Link Index Table\n");
- for (sort1 = 0; sort1 < nr_of_links; sort1++)
- {
- struct RB_link *temp;
-
- for (sort2 = sort1; sort2 < nr_of_links; sort2++)
- {
- if (strcmp (link_index[sort1]->label_name,
- link_index[sort2]->label_name) > 0)
- {
- temp = link_index[sort1];
- link_index[sort1] = link_index[sort2];
- link_index[sort2] = temp;
- }
- }
- }
- }
-}
-
-/****** RB_Make_Index_Tables *****/
+++ /dev/null
-#ifndef ROBODOC_ANALYSER_H
-#define ROBODOC_ANALYSER_H
-
-void RB_Analyse_Document (FILE *);
-int RB_Find_Marker (FILE *);
-char *RB_Find_Header_Name (void);
-int RB_Find_End_Marker (FILE *, int *);
-int RB_Find_Item (char **, char **);
-void RB_Number_Duplicate_Headers(void);
-void RB_Make_Index_Tables (void);
-char *RB_Function_Name (char *header_name);
-
-#endif /* ROBODOC_ANALYSER_H */
+++ /dev/null
-/* Source/config.h.in. Generated automatically from configure.in by autoheader. */
-
-/* Define to empty if the keyword does not work. */
-#undef const
-
-/* Define if you don't have vprintf but do have _doprnt. */
-#undef HAVE_DOPRNT
-
-/* Define if you have the strftime function. */
-#undef HAVE_STRFTIME
-
-/* Define if you have the vprintf function. */
-#undef HAVE_VPRINTF
-
-/* Define to `unsigned' if <sys/types.h> doesn't define. */
-#undef size_t
-
-/* Define if you have the ANSI C header files. */
-#undef STDC_HEADERS
-
-/* Define if you have the strstr function. */
-#undef HAVE_STRSTR
-
-/* Name of package */
-#undef PACKAGE
-
-/* Version number of package */
-#undef VERSION
-
+++ /dev/null
-#include <stddef.h>
-#include <string.h>
-#include "robodoc.h"
-#include "folds.h"
-
-
-/****v* ROBODoc/fold_start_markers
- * NAME
- * fold_start_markers
- * FUNCTION
- * Strings for fold start.
- * SOURCE
- */
-fold_mark_t fold_start_markers[] =
-{
- {"/*{{{", "*/"}, /* C, C++ */
- {"--{{{", "\n"}, /* Occam, line ends with newline */
- {"#{{{", "\n"}, /* Various scripts, line ends with newline */
- {NULL, NULL}
-};
-
-/****/
-
-
-/****v* ROBODoc/fold_end_markers
- * NAME
- * fold_start_end
- * FUNCTION
- * Strings for fold end.
- * SOURCE
- */
-fold_mark_t fold_end_markers[] =
-{
- {"/*}}}", "*/"},
- {"--}}}", "\n"},
- {"#}}}", "\n"},
- {NULL, NULL}
-};
-
-/****/
-
-int extra_flags = 0;
-
-/****v* ROBODoc/fold
-* NAME
-* fold
-* FUNCTION
-* Fold counter - true global.
-* SOURCE
-*/
-
-int fold = 0;
-
-/****/
-
-
-
-/****f* ROBODoc/RB_Check_Fold_End [3.0h]
-* NAME
-* RB_Check_Fold_End
-* AUTHOR
-* PetteriK
-* FUNCTION
-* See if a fold end is found.
-* RETURN VALUE
-* 1 if end mark is found
-* SOURCE
-*/
-
-char
-RB_Check_Fold_End (char *cur_char)
-{
- fold_mark_t *t = fold_end_markers;
- char found = 0;
-
- while (found == 0 && t->start != NULL)
- {
- if (strncmp (t->start, cur_char, strlen (t->start)) == 0)
- {
- found = 1;
- break;
- }
- t++; /* try the next fold mark string */
- }
- return found;
-}
-
-/*******/
-
-/****f* ROBODoc/RB_Check_Fold_Start
- * NAME
- * RB_Check_Fold_Start
- * AUTHOR
- * PetteriK
- * FUNCTION
- * Check if a fold start is found.
- * RETURN VALUE
- * Pointer to the item body, fold mark and name skipped.
- * SIDE EFFECTS
- * *found = 1 if fold mark is found. Fold name is copied to *foldname.
- *******
- */
-
-char *
-RB_Check_Fold_Start (char *cur_char, char *foldname, char *found)
-{
- int n = 0;
- fold_mark_t *t = fold_start_markers;
-
- *found = 0;
- while (*found == 0 && t->start != NULL)
- {
- if (strncmp (t->start, cur_char, strlen (t->start)) == 0)
- {
- *found = 1;
- break;
- }
- t++; /* try the next fold mark string */
- }
- if (*found == 0)
- {
- return cur_char; /* not found, get out of here */
- }
- cur_char += strlen (t->start); /* skip fold mark */
- /* get the fold name */
- while (strncmp (t->end, cur_char, strlen (t->end)) != 0)
- {
- foldname[n++] = *cur_char++;
- }
- /* if fold mark does not end with newline, skip chars... */
- if (t->end[0] != '\n')
- {
- cur_char += strlen (t->end);
- }
- foldname[n] = '\0';
- while (*cur_char != '\n')
- {
- cur_char++; /* not so sure about this */
- }
- return cur_char;
-}
+++ /dev/null
-#ifndef ROBODOC_FOLDS_H
-#define ROBODOC_FOLDS_H
-
-
-
-/****s* ROBODoc/fold_mark_t
- * NAME
- * fold_mark_t
- * FUNCTION
- * Handy structure for fold start/end markers.
- * SOURCE
- */
-
-typedef struct _fold_mark_t
- {
- char *start;
- char *end;
- }
-fold_mark_t;
-
-/*******/
-
-/****d* ROBODoc/extra_flags
-* NAME
-* extra_flags
-* AUTHOR
-* PetteriK
-* FUNCTION
-* Bitflags for extra controls.
-* SOURCE
-*/
-
-#define FOLD (1<<0)
-#define C_MODE (1<<1)
-
-
-/****/
-
-extern fold_mark_t fold_start_markers[];
-extern fold_mark_t fold_end_markers[];
-extern int extra_flags;
-extern int fold;
-
-char RB_Check_Fold_End (char *cur_char);
-char *RB_Check_Fold_Start (char *cur_char, char *foldname, char *found);
-
-#endif /* ROBODOC_FOLDS_H */
+++ /dev/null
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <ctype.h>
-#include "robodoc.h"
-#include "headers.h"
-#include "items.h"
-#include "folds.h"
-#include "util.h"
-#include "links.h"
-#include "generator.h"
-#include "analyser.h"
-#include <errno.h>
-
-/****f* ROBODoc/RB_Generate_Documentation [3.0h]
- * NAME
- * RB_Generate_Documentation
- * SYNOPSIS
- * RB_Generate_Documentation (dest_doc, name, name)
- *
- * RB_Generate_Documentation (FILE *, char *, char *)
- * FUNCTION
- * Generates the autodoc documentation from the list of
- * function headers that has been created by
- * RB_Analyse_Document.
- * INPUTS
- * dest_doc - Pointer to the file to which the output will be written.
- * src_name - The name of the source file.
- * dest_name - The name of this file.
- * BUGS
- * There might be plenty.
- * SEE ALSO
- * RB_Generate_Doc_Start,
- * RB_Generate_Doc_End,
- * RB_Generate_Header_Start,
- * RB_Generate_Header_End,
- * RB_Generate_Header_Name,
- * RB_Generate_Item_Name,
- * RB_Generate_Item_Doc,
- * RB_Generate_Item_Body .
- * SOURCE
- */
-
-void
-RB_Generate_Documentation (
- FILE * dest_doc, char *src_name, char *dest_name)
-{
- struct RB_header *cur_header;
- char fname[256];
- FILE *orig_doc = dest_doc;
-
- RB_Make_Index_Tables ();
-
- RB_Generate_Doc_Start (dest_doc, src_name, dest_name, 1);
-
- for (cur_header = first_header;
- cur_header;
- cur_header = cur_header->next_header)
- {
- int item_type;
- char *next_line, *item_line = NULL;
-
- RB_Say ("generating documentation for \"%s\"\n", cur_header->name);
-
-#if 1
- /* If MAIN_HEADER, do not create file */
- if (cur_header->type == MAIN_HEADER)
- continue;
-#endif
-
- if (output_mode == HTML)
- {
- sprintf(fname, "%s-%s.html", doc_base, cur_header->function_name);
- dest_doc = fopen(fname, "w");
- if (!dest_doc)
- {
- fprintf(stderr, "%s\n", strerror(errno));
- exit(1);
- }
- }
-
- RB_Generate_Header_Start (dest_doc, cur_header, src_name);
-
- next_line = cur_header->contents;
- item_type = RB_Find_Item (&next_line, &item_line);
-
- if (item_type != NO_ITEM)
- {
- int old_item_type;
- char *old_next_line;
-
- do
- {
- if (course_of_action & DO_TELL)
- printf ("[%s] ", item_names[item_type]);
-
- if (!((item_type == SOURCE_ITEM) &&
- (course_of_action & DO_NOSOURCE)))
- RB_Generate_Item_Name (dest_doc, item_type);
-
- old_next_line = next_line;
- old_item_type = item_type;
-
- item_type = RB_Find_Item (&next_line, &item_line);
-
- if (!((old_item_type == SOURCE_ITEM) &&
- (course_of_action & DO_NOSOURCE)))
- RB_Generate_Item_Doc (dest_doc, dest_name,
- old_next_line, item_line,
- cur_header->function_name,
- old_item_type);
- }
- while (item_type != NO_ITEM);
- if (course_of_action & DO_TELL)
- putchar ('\n');
- }
- else
- printf ("%s: WARNING, header \"%s\" has no items\n",
- whoami, cur_header->name);
-
- RB_Generate_Header_End (dest_doc, cur_header);
-
- if (output_mode == HTML)
- fclose(dest_doc);
- }
-
- dest_doc = orig_doc;
- RB_Generate_Doc_End (dest_doc, dest_name);
-}
-
-/***** RB_Generate_Documentation ***/
-
-
-
-
-
-/****f* ROBODoc/RB_Generate_Doc_Start [3.0j]
- * NAME
- * RB_Generate_Doc_Start -- Generate document header.
- * SYNOPSIS
- * RB_Generate_Doc_Start (dest_doc, src_name, name, toc)
- *
- * RB_Generate_Doc_Start (FILE *, char *, char *, char)
- * FUNCTION
- * Generates for depending on the output_mode the text that
- * will be at the start of a document.
- * Including the table of contents.
- * INPUTS
- * dest_doc - pointer to the file to which the output will
- * be written.
- * src_name - the name of the source file.
- * name - the name of this file.
- * output_mode - global variable that indicates the output
- * mode.
- * toc - generate table of contens
- * SEE ALSO
- * RB_Generate_Doc_End
- * SOURCE
- */
-
-void
-RB_Generate_Doc_Start (
- FILE * dest_doc, char *src_name, char *name, char toc)
-{
- struct RB_header *cur_header;
- int cur_len, max_len, header_nr;
-
- switch (output_mode)
- {
- case AMIGAGUIDE:
- if (strstr (name + 1, ".guide") == NULL)
- fprintf (dest_doc, "@database %s.guide\n", name);
- else
- fprintf (dest_doc, "@database %s\n", name);
- fprintf (dest_doc, "@rem Source: %s\n", src_name);
-/* fprintf (dest_doc, "@rem " COMMENT_ROBODOC); */
- fprintf (dest_doc, "@rem " COMMENT_COPYRIGHT);
- fprintf (dest_doc, "@node Main %s\n", name);
- fprintf (dest_doc, "@{jcenter}\n");
- fprintf (dest_doc,
- "@{fg highlight}@{b}TABLE OF CONTENTS@{ub}@{fg text}\n\n");
-
- max_len = 0;
- for (cur_header = first_header;
- cur_header;
- cur_header = cur_header->next_header)
- {
- if (cur_header->name)
- {
- cur_len = strlen (cur_header->name);
- if (cur_len > max_len)
- max_len = cur_len;
- }
- }
-
- for (cur_header = first_header;
- cur_header;
- cur_header = cur_header->next_header)
- {
- if (cur_header->name && cur_header->function_name)
- {
- fprintf (dest_doc, "@{\"%s", cur_header->name);
-
- for (cur_len = strlen (cur_header->name);
- cur_len < max_len;
- ++cur_len)
- fputc (' ', dest_doc);
- fprintf (dest_doc, "\" Link \"%s\"}\n", cur_header->function_name);
- }
- }
-
- fprintf (dest_doc, "@{jleft}\n");
- fprintf (dest_doc, "@endnode\n");
- break;
-
- case HTML:
- /* Append document type and title */
- fprintf (dest_doc,
- "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 3.2//EN\">\n");
- fprintf (dest_doc, "<HTML><HEAD>\n<TITLE>%s</TITLE>\n", name);
-
- /* append SGML-comment with document- and copyright-info. This code
- * ensures that every line has an own comment to avoid problems with
- * buggy browsers */
- fprintf (dest_doc, "<!-- Source: %s -->\n", src_name);
- {
- static const char copyright_text[]
- = COMMENT_ROBODOC COMMENT_COPYRIGHT;
- size_t i = 0;
- char previous_char = '\n';
- char current_char = copyright_text[i];
-
- while (current_char)
- {
- if (previous_char == '\n')
- {
- fprintf (dest_doc, "<!-- ");
- }
- if (current_char == '\n')
- {
- fprintf (dest_doc, " -->");
- }
- else if ((current_char == '-') && (previous_char == '-'))
- {
- /* avoid "--" inside SGML-comment, and use "-_" instead; this
- * looks a bit strange, but one should still be able to figure
- * out what is meant when reading the output */
- current_char = '_';
- }
- fputc (current_char, dest_doc);
- i += 1;
- previous_char = current_char;
- current_char = copyright_text[i];
- }
- }
-
- /* append heading and start list of links to functions */
- fprintf (dest_doc, "</HEAD><BODY BGCOLOR=\"#FFFFFF\">\n");
-#if 0
- fprintf (dest_doc, "<A NAME=\"%s\">Generated from %s</A> with ROBODoc v"
- VERSION
- " on ",
- src_name, src_name);
- RB_TimeStamp (dest_doc);
-#endif
- fprintf (dest_doc, "<BR>\n");
- if (toc)
- {
- char iname[256];
- FILE *index;
- int start = 0;
-
- /* do toc if not in fold */
-#if 0
- fprintf (dest_doc,
- "<H3 ALIGN=\"center\">TABLE OF CONTENTS</H3>\n");
- fprintf (dest_doc, "<OL>\n");
-#endif
-
- /* Generate quick index file, for fast referencing */
- sprintf(iname, "%s-index.tmpl", doc_base);
- index = fopen(iname, "w");
- if (!index)
- {
- fprintf(stderr, "%s\n", strerror(errno));
- exit(1);
- }
-
- for (cur_header = first_header;
- cur_header;
- cur_header = cur_header->next_header)
- {
- char fname[256];
-
- sprintf(fname, "%s-%s.html", RB_FilePart(doc_base),
- cur_header->function_name);
-
- if (cur_header->name && cur_header->function_name)
- {
- if (start == 0)
- {
- int item_type;
- char *next_line, *item_line = NULL;
-
- RB_Generate_Header_Start (dest_doc, cur_header,
- src_name);
-
- next_line = cur_header->contents;
- item_type = RB_Find_Item (&next_line, &item_line);
-
- if (item_type != NO_ITEM)
- {
- int old_item_type;
- char *old_next_line;
-
- do
- {
- if (course_of_action & DO_TELL)
- printf ("[%s] ", item_names[item_type]);
-
- if (!((item_type == SOURCE_ITEM) &&
- (course_of_action & DO_NOSOURCE)))
- RB_Generate_Item_Name (dest_doc, item_type);
-
- old_next_line = next_line;
- old_item_type = item_type;
-
- item_type = RB_Find_Item (&next_line,
- &item_line);
-
- if (!((old_item_type == SOURCE_ITEM) &&
- (course_of_action & DO_NOSOURCE)))
- RB_Generate_Item_Doc(dest_doc, name,
- old_next_line, item_line,
- cur_header->function_name,
- old_item_type);
- }
- while (item_type != NO_ITEM);
- if (course_of_action & DO_TELL)
- putchar ('\n');
- }
-
- if (index)
- {
- fprintf (index, "<A HREF=\"%s\"><IMG SRC=\"index_pic.gif\" BORDER=\"0\" ALT=\"\">%s</A><BR>\n",
- name, cur_header->function_name);
- }
-
- start = 1;
- }
- else
- {
- fprintf (dest_doc, "<LI><A HREF=\"%s\">%s</A>\n",
- fname, cur_header->function_name);
- if (index)
- fprintf (index, "<A HREF=\"%s\"><IMG SRC=\"index_pic.gif\" BORDER=\"0\" ALT=\"\">%s</A><BR>\n",
- fname, cur_header->function_name);
- }
- }
- }
-
-#if 0
- fprintf (dest_doc, "</OL>\n");
-#endif
-
- if (index)
- fclose(index);
- }
- break;
-
- case LATEX:
- fprintf (dest_doc, "%% Document: %s\n", name);
- fprintf (dest_doc, "%% Source: %s\n", src_name);
-/* fprintf (dest_doc, "%% " COMMENT_ROBODOC);*/
- fprintf (dest_doc, "%% " COMMENT_COPYRIGHT);
- if (course_of_action & DO_SINGLEDOC) {
- if (!strchr(src_name, '_')) {
- fprintf (dest_doc, "\\section{%s}\n", src_name);
- } else {
- char *tmp = calloc(strlen(src_name) + 2, sizeof(*tmp));
- *strchr(src_name, '_') = '\\';
- strncat(tmp, src_name, strcspn(src_name, "\\") + 1);
- strncat(tmp, "_", 1);
- strncat(tmp, src_name + strcspn(src_name, "\\") + 1,
- strlen(src_name) - strcspn(src_name, "\\") - 1);
- fprintf (dest_doc, "\\section{%s}\n", tmp);
- free(tmp);
- }
- } else {
- fprintf (dest_doc, "\\documentclass{article}\n");
- fprintf (dest_doc, "\\usepackage{makeidx}\n");
- fprintf (dest_doc, "\\oddsidemargin 0.15 in\n");
- fprintf (dest_doc, "\\evensidemargin 0.35 in\n");
- fprintf (dest_doc, "\\marginparwidth 1 in \n");
- fprintf (dest_doc, "\\oddsidemargin 0.25 in \n");
- fprintf (dest_doc, "\\evensidemargin 0.25 in\n");
- fprintf (dest_doc, "\\marginparwidth 0.75 in\n");
- fprintf (dest_doc, "\\textwidth 5.875 in\n");
-
- fprintf (dest_doc, "\\setlength{\\parindent}{0in}\n");
- fprintf (dest_doc, "\\setlength{\\parskip}{.08in}\n\n");
-
- /* changed default header to use boldface (vs slant) */
- fprintf (dest_doc, "\\pagestyle{headings}\n");
-
- if (document_title) {
- fprintf (dest_doc, "\\title{%s}\n",
- document_title);
- } else {
- fprintf (dest_doc, "\\title{API Reference}\n");
- }
-/* fprintf (dest_doc, "\\author{%s}\n", COMMENT_ROBODOC); */
- fprintf (dest_doc, "\\makeindex\n");
- fprintf (dest_doc, "\\begin{document}\n");
- fprintf (dest_doc, "\\maketitle\n");
- /* autogenerate table of contents! */
- fprintf (dest_doc, "\\printindex\n");
- fprintf (dest_doc, "\\tableofcontents\n");
- fprintf (dest_doc, "\\newpage\n");
- /* trick to disable the autogenerated \newpage */
- fprintf (dest_doc, "\n");
- }
- break;
-
- case RTF:
- {
- char *cook_link;
-
- /* RTF header */
- fprintf (dest_doc, "{\\rtf1\\ansi \\deff0"
- "{\\fonttbl;"
- "\\f0\\fswiss MS Sans Serif;"
- "\\f1\\fmodern Courier New;"
- "\\f2\\ftech Symbol;"
- "}"
- "{\\colortbl;"
- "\\red255\\green255\\blue255;"
- "\\red0\\green0\\blue0;"
- "\\red0\\green0\\blue255;"
- "}");
-
- /* RTF document info */
- fprintf (dest_doc, "{\\info"
- "{\\title %s}"
- "{\\comment\n"
- " Source: %s\n"
- " " COMMENT_COPYRIGHT
- "}"
- "}", name, src_name);
-
- /* RTF document format */
- fprintf (dest_doc, "{\\margl1440\\margr1440}\n");
-
- /* RTF document section */
- fprintf (dest_doc, "\\f0\\cb1\\cf3\\fs28\\b1\\qc"
- "{\\super #{\\footnote{\\super #}%s_TOC}}"
- "{\\super ${\\footnote{\\super $}Contents}}"
- "{TABLE OF CONTENTS}\\ql\\b0\\fs20\\cf2\\par\n", src_name);
- for (cur_header = first_header;
- cur_header;
- cur_header = cur_header->next_header)
- {
- if (cur_header->name && cur_header->function_name)
- {
- cook_link = RB_CookStr (cur_header->function_name);
- fprintf (dest_doc, "{\\uldb %s}{\\v %s}\\line\n",
- cur_header->name, cook_link);
- free (cook_link);
- }
- }
- fprintf (dest_doc, "\\par\n");
- }
- break;
- case ASCII:
- if (course_of_action & DO_TOC)
- {
- fprintf (dest_doc, "TABLE OF CONTENTS\n");
- for (cur_header = first_header, header_nr = 1;
- cur_header;
- cur_header = cur_header->next_header, header_nr++)
- {
- if (cur_header->name && cur_header->function_name)
- {
- fprintf (dest_doc, "%4.4d %s\n",
- header_nr, cur_header->name);
- }
- }
- fputc ('\f', dest_doc);
- }
- default:
- break;
- }
-}
-
-/***************/
-
-
-/****f* ROBODoc/RB_Generate_Doc_End [3.0h]
- * NAME
- * RB_Generate_Doc_End -- generate document trailer.
- * SYNOPSIS
- * RB_Generate_Doc_End (dest_doc, name)
- *
- * RB_Generate_Doc_End (FILE *, char *)
- * FUNCTION
- * Generates for depending on the output_mode the text that
- * will be at the end of a document.
- * INPUTS
- * dest_doc - pointer to the file to which the output will
- * be written.
- * name - the name of this file.
- * output_mode - global variable that indicates the output
- * mode.
- * NOTES
- * Doesn't do anything with its arguments, but that might
- * change in the future.
- * BUGS
- * SOURCE
- */
-
-void
-RB_Generate_Doc_End (FILE * dest_doc, char *name)
-{
- switch (output_mode)
- {
- case AMIGAGUIDE:
- fputc ('\n', dest_doc);
- break;
- case HTML:
- fprintf (dest_doc, "</BODY></HTML>\n");
- break;
- case LATEX:
- if (!(course_of_action & DO_SINGLEDOC)) {
- fprintf (dest_doc, "\\end{document}\n");
- }
- break;
- case RTF:
- fputc ('}', dest_doc);
- break;
- case ASCII:
- break;
- }
-}
-
-/************/
-
-
-/****f* ROBODoc/RB_Generate_Header_Start [3.0h]
- * NAME
- * RB_Generate_Header_Start -- generate header start text.
- * SYNOPSIS
- * void RB_Generate_Header_Start (dest_doc, cur_header)
- *
- * void RB_Generate_Header_Start (FILE *, struct RB_header *)
- * FUNCTION
- * Generates depending on the output_mode the text that
- * will be at the end of each header.
- * INPUTS
- * dest_doc - pointer to the file to which the output will
- * be written.
- * cur_header - pointer to a RB_header structure.
- * SEE ALSO
- * RB_Generate_Header_End
- * SOURCE
- */
-
-void
-RB_Generate_Header_Start (FILE * dest_doc, struct RB_header *cur_header,
- const char *src_name)
-{
- char *cook_link;
-
- switch (output_mode)
- { /* switch by *koessi */
- case AMIGAGUIDE:
- if (cur_header->name && cur_header->function_name)
- {
- fprintf (dest_doc, "@Node \"%s\" \"%s\"\n",
- cur_header->function_name,
- cur_header->name);
- fprintf (dest_doc, "%s", att_start_command[MAKE_SHINE][output_mode]);
- fprintf (dest_doc, "%s", cur_header->name);
- fprintf (dest_doc, "%s", att_stop_command[MAKE_SHINE][output_mode]);
- fprintf (dest_doc, "\n\n");
- }
- break;
- case HTML:
- if (cur_header->name && cur_header->function_name)
- {
-#if 0
- fprintf (dest_doc, "<HR>\n");
-#endif
- if (cur_header->type == FUNCTION_HEADER)
- fprintf (dest_doc,
- "\n<FONT SIZE=\"+2\" COLOR=\"#000055\"><B>"
- "Function <A NAME=\"%s\">%s</A>"
- "</FONT></B><BR><BR>\n\n",
- cur_header->function_name,
- cur_header->function_name);
- else if (cur_header->type == STRUCT_HEADER)
- fprintf (dest_doc,
- "\n<FONT SIZE=\"+2\" COLOR=\"#000055\"><B>"
- "Structure <A NAME=\"%s\">%s</A>"
- "</FONT></B><BR><BR>\n\n",
- cur_header->function_name,
- cur_header->function_name);
- else if (cur_header->type == VARIABLE_HEADER)
- fprintf (dest_doc,
- "\n<FONT SIZE=\"+2\" COLOR=\"#000055\"><B>"
- "Variable <A NAME=\"%s\">%s</A>"
- "</FONT></B><BR><BR>\n\n",
- cur_header->function_name,
- cur_header->function_name);
- else if (cur_header->type == MAIN_HEADER)
- fprintf (dest_doc,
- "\n<FONT SIZE=\"+2\" COLOR=\"#000055\"><B>"
- "<A NAME=\"%s\">%s</A>"
- "</FONT></B><BR><SMALL>Header: %s</SMALL><BR><BR>\n\n",
- cur_header->function_name,
- cur_header->function_name, src_name);
- else
- fprintf (dest_doc,
- "\n<FONT SIZE=\"+2\" COLOR=\"#000055\"><B>"
- "<A NAME=\"%s\">%s</A>"
- "</FONT></B><BR><BR>\n\n",
- cur_header->function_name,
- cur_header->function_name);
- }
- break;
- case LATEX:
- cook_link = RB_CookStr (cur_header->name);
- if (!(course_of_action & DO_SINGLEDOC)) {
- fprintf (dest_doc, "\\newpage\n");
- }
- fprintf (dest_doc, "\\subsection{%s}\n", cook_link);
- free (cook_link);
- if (cur_header->function_name) {
- cook_link = RB_CookStr (cur_header->function_name);
- fprintf (dest_doc, "\\index{unsorted!%s}\\index{%s!%s}\n", cook_link,
- RB_header_type_names[cur_header->type], cook_link);
- free (cook_link);
- }
- break;
- case RTF:
- if (cur_header->name && cur_header->function_name)
- {
- cook_link = RB_CookStr (cur_header->function_name);
- fprintf (dest_doc, "\\page"
- "{\\super #{\\footnote{\\super #}%s}}"
- "{\\super ${\\footnote{\\super $}%s}}"
- "\\cf3 %s\\cf2\\line\n",
- cur_header->function_name,
- cur_header->name,
- cur_header->name);
- free (cook_link);
- }
- break;
- case ASCII:
- {
- fprintf (dest_doc, "%s", att_start_command[MAKE_SHINE][output_mode]);
- fprintf (dest_doc, "%s", cur_header->name);
- fprintf (dest_doc, "%s", att_stop_command[MAKE_SHINE][output_mode]);
- fprintf (dest_doc, "\n\n");
- }
- break;
- }
-}
-
-/******/
-
-
-/****f* ROBODoc/RB_Generate_Header_End [3.0h]
- * NAME
- * RB_Generate_Header_End
- * SYNOPSIS
- * void RB_Generate_Header_End (dest_doc, cur_header)
- *
- * void RB_Generate_Header_End (FILE *, struct RB_header *)
- * FUNCTION
- * Generates for depending on the output_mode the text that
- * will be at the end of a header.
- * INPUTS
- * dest_doc - pointer to the file to which the output will
- * be written.
- * cur_header - pointer to a RB_header structure.
- * SEE ALSO
- * RB_Generate_Header_Start
- * SOURCE
- */
-
-void
-RB_Generate_Header_End (FILE * dest_doc, struct RB_header *cur_header)
-{
- switch (output_mode)
- { /* switch by *koessi */
- case AMIGAGUIDE:
- if (cur_header->name && cur_header->function_name)
- fprintf (dest_doc, "@endnode\n");
- break;
- case HTML:
- case LATEX:
- fputc ('\n', dest_doc);
- break;
- case RTF:
- fprintf (dest_doc, "\\par\n");
- break;
- case ASCII:
- fputc ('\f', dest_doc);
- default:
- break;
- }
-}
-
-/*****/
-
-
-/****f* ROBODoc/RB_Generate_Header_Name [3.0c]
- * NAME
- * RB_Generate_Header_Name
- * SYNOPSIS
- * RB_Generate_Header_Name (dest_doc, name)
- *
- * RB_Generate_Header_Name (FILE *, char *)
- * INPUTS
- * dest_doc - pointer to the file to which the output will
- * be written.
- * name - pointer to the header name.
- * SOURCE
- */
-
-void
-RB_Generate_Header_Name (FILE * dest_doc, char *name)
-{
- char format_str[] = "%s";
-
- fprintf (dest_doc, format_str, att_start_command[MAKE_SHINE][output_mode]);
- fprintf (dest_doc, format_str, name);
- fprintf (dest_doc, format_str, att_stop_command[MAKE_SHINE][output_mode]);
- fprintf (dest_doc, "\n\n");
-}
-
-/*** RB_Generate_Header_Name ***/
-
-
-/****** ROBODoc/RB_Generate_Item_Name [2.01]
- * NAME
- * RB_Generate_Item_Name -- fast&easy
- * SYNOPSIS
- * void RB_Generate_Item_Name( FILE * dest_doc, int item_type )
- * FUNCTION
- * write the items name to the doc
- * INPUTS
- * FILE * dest_doc -- document in progress
- * int item_type -- this leads to the name and makes colors
- * AUTHOR
- * Koessi
- * NOTES
- * uses globals: output_mode, item_names[]
- * SOURCE
- */
-
-void
-RB_Generate_Item_Name (FILE * dest_doc, int item_type)
-{
- char format_str[] = "%s";
-
- if (item_attributes[item_type] & ITEM_NAME_LARGE_FONT)
- {
- fprintf (dest_doc, format_str,
- att_start_command[MAKE_LARGE][output_mode]);
- fprintf (dest_doc, format_str,
- att_start_command[MAKE_BOLD][output_mode]);
- if (output_mode == HTML)
- fprintf (dest_doc, "\n<FONT COLOR=\"#000055\">");
- fprintf (dest_doc, format_str, item_names[item_type]);
- if (output_mode == HTML)
- fprintf (dest_doc, "\n</FONT>");
- fprintf (dest_doc, format_str,
- att_stop_command[MAKE_BOLD][output_mode]);
- fprintf (dest_doc, format_str,
- att_stop_command[MAKE_LARGE][output_mode]);
- }
- else
- fprintf (dest_doc, format_str, item_names[item_type]);
-
- fputc ('\n', dest_doc);
-}
-
-/*****/
-
-
-
-/****f* ROBODoc/RB_Generate_Item_Doc [3.0j]
- * NAME
- * RB_Generate_Item_Doc
- * SYNOPSIS
- * void RB_Generate_Item_Doc(FILE * dest_doc, char *dest_name,
- * char *begin_of_item,
- * char *end_of_item,
- * char *function_name,
- * int item_type)
- * FUNCTION
- * Generates the body text of an item, applying predefined attributes
- * to the text.
- * NOTES
- * Body text is always non-proportional for several reasons:
- * 1) text is rarely written with prop spacing and text wrapping
- * in mind -- e.g., see SYNOPSIS above
- * 2) source code looks better
- * 3) it simplifies LaTeX handling
- * SOURCE
- */
-
-void
-RB_Generate_Item_Doc (FILE * dest_doc, char *dest_name,
- char *begin_of_item,
- char *end_of_item,
- char *function_name,
- int item_type)
-{
- char format_str[] = "%s";
-
- if (begin_of_item == end_of_item)
- {
- switch (output_mode)
- {
- case HTML:
- fprintf (dest_doc, "<BR>\n");
- break;
- case LATEX:
- fprintf (dest_doc, "\\\\\n");
- break;
- case RTF:
- fprintf (dest_doc, "\n");
- break;
- default:
- break;
- }
- return;
- }
- /* For text body in HTML, change to non-prop _before_ changing font
- * style. * To conform to DTD, this avoids <B><PRE> and instead uses
- * <PRE><B> */
- if (output_mode == HTML)
- {
- fprintf (dest_doc, "<PRE>");
- }
- /* change font style */
- if (item_attributes[item_type] & TEXT_BODY_LARGE_FONT)
- fprintf (dest_doc, format_str,
- att_start_command[MAKE_LARGE][output_mode]);
- if (item_attributes[item_type] & TEXT_BODY_ITALICS)
- fprintf (dest_doc, format_str,
- att_start_command[MAKE_ITALICS][output_mode]);
- if (item_attributes[item_type] & TEXT_BODY_NON_PROP)
- fprintf (dest_doc, format_str,
- att_start_command[MAKE_NON_PROP][output_mode]);
- if (item_attributes[item_type] & TEXT_BODY_SMALL_FONT)
- fprintf (dest_doc, format_str,
- att_start_command[MAKE_SMALL][output_mode]);
- if (item_attributes[item_type] & TEXT_BODY_BOLD)
- fprintf (dest_doc, format_str,
- att_start_command[MAKE_BOLD][output_mode]);
- if (item_attributes[item_type] & TEXT_BODY_UNDERLINE)
- fprintf (dest_doc, format_str,
- att_start_command[MAKE_UNDERLINE][output_mode]);
- if (item_attributes[item_type] & TEXT_BODY_SHINE)
- fprintf (dest_doc, format_str,
- att_start_command[MAKE_SHINE][output_mode]);
- if (item_attributes[item_type] & TEXT_BODY_DEFAULT)
- fprintf (dest_doc, format_str,
- att_start_command[MAKE_DEFAULT][output_mode]);
-
- /*
- * For some modes, the text body is always non-prop
- */
- switch (output_mode)
- {
- case LATEX:
- fprintf (dest_doc, "\\begin{verbatim}\n");
- break;
- case RTF:
- fprintf (dest_doc, "{\\f1{}");
- break;
- default:
- break;
- }
-
- RB_Generate_Item_Body (dest_doc, dest_name, begin_of_item, end_of_item,
- function_name, item_type, 0);
-
- switch (output_mode)
- {
- case LATEX:
- /* split the text so LaTeX doesn't get confused ;) */
- fprintf (dest_doc, "\\" "end{verbatim}\n");
- break;
- case RTF:
- fputc ('}', dest_doc);
- default:
- break;
- }
-
- /* restore font style */
- if (item_attributes[item_type] & TEXT_BODY_SHINE)
- fprintf (dest_doc, format_str,
- att_stop_command[MAKE_SHINE][output_mode]);
- if (item_attributes[item_type] & TEXT_BODY_UNDERLINE)
- fprintf (dest_doc, format_str,
- att_stop_command[MAKE_UNDERLINE][output_mode]);
- if (item_attributes[item_type] & TEXT_BODY_BOLD)
- fprintf (dest_doc, format_str,
- att_stop_command[MAKE_BOLD][output_mode]);
- if (item_attributes[item_type] & TEXT_BODY_SMALL_FONT)
- fprintf (dest_doc, format_str,
- att_stop_command[MAKE_SMALL][output_mode]);
- if (item_attributes[item_type] & TEXT_BODY_NON_PROP)
- fprintf (dest_doc, format_str,
- att_stop_command[MAKE_NON_PROP][output_mode]);
- if (item_attributes[item_type] & TEXT_BODY_ITALICS)
- fprintf (dest_doc, format_str,
- att_stop_command[MAKE_ITALICS][output_mode]);
- if (item_attributes[item_type] & TEXT_BODY_LARGE_FONT)
- fprintf (dest_doc, format_str,
- att_stop_command[MAKE_LARGE][output_mode]);
- if (item_attributes[item_type] & TEXT_BODY_DEFAULT)
- fprintf (dest_doc, format_str,
- att_stop_command[MAKE_DEFAULT][output_mode]);
-
- if (output_mode != HTML)
- {
- fputc ('\n', dest_doc);
- }
- /* for HTML, switch back to prop-font after restoring font style */
- if (output_mode == HTML)
- {
- fprintf (dest_doc, "</PRE>");
- }
-}
-
-/******/
-
-
-
-/****f* ROBODoc/RB_Generate_Item_Body [3.0h]
- * NAME
- * RB_Generate_Item_Body
- * SYNOPSIS
- * char * RB_Generate_Item_Body(FILE * dest_doc, char *dest_name,
- * char *begin_of_item, char *end_of_item,
- * char *function_name,
- * int item_type, int tabs_to_skip)
- *
- * FUNCTION
- * Generates body of an item in output-specific form
- * INPUTS
- * dest_doc - pointer to the file to which
- * the output will be written.
- * dest_name - the name of this file.
- * begin_of_item -
- * end_of_item -
- * function_name -
- * item_type -
- * tabs_to_skip - how many tabs to skip in this fold.
- * BUGS
- * o Unbalanced fold marks lead to crash.
- * NOTES
- * o Almost completely rewritten by koessi
- * o Almost completely Re-Rewritten by Slothouber :)
- * o Folding mode by PetteriK.
- * o Linking fixed inside folds / PetteriK 08.04.2000
- * SOURCE
- */
-
-char *
-RB_Generate_Item_Body (FILE * dest_doc, char *dest_name,
- char *begin_of_item, char *end_of_item,
- char *function_name,
- int item_type, int tabs_to_skip)
-{
- char *cur_char, old_char, c;
- int html_incr;
- char fname[128], foldname[128];
- static int in_fold = 0; /* PetteriK 08.04.2000 */
-
- cur_char = begin_of_item;
-
- if (item_type == SOURCE_ITEM)
- {
- /* skip end_comment_marker */
- for (; *cur_char && *cur_char != '\n'; cur_char++);
-
- /* skip blank lines leading up to source code */
- while (*cur_char == '\n')
- cur_char++;
-
- /* trim blanks following source code */
- do
- {
- end_of_item--;
- }
- while (end_of_item > cur_char && isspace (*end_of_item));
- end_of_item++; /* advance 1 for placement of the NUL */
- }
- old_char = *end_of_item;
- *end_of_item = '\0';
-
- for (; *cur_char; cur_char++)
- {
- int tb = tab_size;
- int do_search = TRUE;
- int was_link = FALSE;
- int tabs = 0;
-
- if (item_type != SOURCE_ITEM)
- {
- /* Skip empty lines */
- while (*cur_char == '\n') {
- cur_char++;
- }
- cur_char = RB_Skip_Remark_Marker (cur_char);
- }
- else
- {
- /* indent source */
- switch (output_mode)
- {
- case RTF:
- fprintf (dest_doc, "\\tab ");
- break;
-
- case AMIGAGUIDE:
- case HTML:
- case LATEX:
- default:
- fprintf (dest_doc, " ");
- }
- }
-
- while (((c = *cur_char) != '\0') && (c != '\n'))
- {
- char *label_name, *file_name;
- char found = 0;
- int tmp;
-
- if (!do_search)
- {
- if (!isalnum (c) && (c != '_'))
- {
- do_search = TRUE;
- }
- }
- else
- {
- if (isalpha (c) || (c == '_'))
- {
- if (((was_link = RB_Find_Link (cur_char, &label_name,
- &file_name)) == FALSE))
- {
- do_search = FALSE;
- }
- }
- else
- was_link = FALSE;
- }
-
- if (!was_link)
- {
- switch (output_mode)
- {
- case AMIGAGUIDE:
- switch (c)
- {
- case '\n':
- --cur_char;
- break;
- case '\t':
- for (tb %= tab_size; tb < tab_size; ++tb)
- fputc (' ', dest_doc);
- break;
- case '@':
- fprintf (dest_doc, "\\@");
- tb++;
- break;
- case '\\':
- fprintf (dest_doc, "\\\\");
- tb++;
- break;
- default:
- fputc (c, dest_doc);
- tb++;
- }
- break;
-
- case HTML:
- /* PetteriK 26.07.1999 */
- if (extra_flags & FOLD)
- {
- cur_char = RB_Check_Fold_Start (cur_char,
- foldname, &found);
- }
- if ((extra_flags & FOLD) && found)
- {
- FILE *fp;
-
- RB_Say ("fold name %s\n", foldname);
- RB_Say ("fold begin %d\n", ++fold);
- RB_Say ("tabs %d\n", tabs);
- sprintf (fname, "%s_fold_%d.html", doc_base, fold);
- RB_Say ("opening file %s\n", fname);
- fp = fopen (fname, "w");
- RB_Generate_Doc_Start (fp, foldname, foldname, 0);
- fprintf (fp, "<PRE>\n");
- fprintf (dest_doc, "<A HREF=\"%s\">... %s</A>",
- fname, foldname);
- in_fold++; /* PetteriK 08.04.2000 */
- cur_char = RB_Generate_Item_Body (fp, dest_name,
- cur_char, end_of_item,
- function_name,
- item_type, tabs);
- in_fold--; /* PetteriK 08.04.2000 */
- /* skip chars until newline */
- while (*cur_char != '\n')
- {
- cur_char++;
- }
- cur_char--;
- fprintf (fp, "\n</PRE>\n");
- RB_Generate_Doc_End (fp, foldname);
- fclose (fp);
- }
- else if ((extra_flags & FOLD) && RB_Check_Fold_End (cur_char))
- {
- RB_Say ("fold end found\n");
- return cur_char;
- }
- else if ((html_incr = RB_HTML_Extra (dest_doc,
- item_type, cur_char)))
- {
- cur_char += html_incr;
- }
- else
- {
- switch (c)
- {
- case '\n':
- --cur_char;
- break;
- case '\t':
- if (extra_flags & FOLD)
- {
- if (tabs >= tabs_to_skip)
- {
- for (tb %= tab_size; tb < tab_size; ++tb)
- {
- fputc (' ', dest_doc);
- }
- }
- tabs++;
- }
- else
- {
- for (tb %= tab_size; tb < tab_size; ++tb)
- {
- fputc (' ', dest_doc);
- }
- }
- break;
- case '<':
- fprintf (dest_doc, "<");
- tb++;
- break;
- case '>':
- fprintf (dest_doc, ">");
- tb++;
- break;
- case '&':
- fprintf (dest_doc, "&");
- tb++;
- break;
- default:
- fputc (c, dest_doc);
- tb++;
- }
- }
- break; /* end case HTML */
-
- case LATEX:
- switch (c)
- {
- case '\n':
- --cur_char;
- break;
- case '\t':
- for (tb %= tab_size; tb < tab_size; ++tb)
- fputc (' ', dest_doc);
- break;
-#if 0
- /* not used in LaTeX's verbatim environment */
- case '$':
- case '&':
- case '%':
- case '#':
- case '_':
- case '{':
- case '}':
- fputc ('\\', dest_doc);
- fputc (c, dest_doc);
- tb++;
- break;
- case '\\':
- fprintf (dest_doc, "$\\backslash$");
- tb++;
- break;
- case '~':
- fprintf (dest_doc, "$\\tilde$");
- tb++;
- break;
- case '^':
- fprintf (dest_doc, "$\\,\\!^{\\sim}$");
- tb++;
- break;
-#endif
- default:
- fputc (c, dest_doc);
- tb++;
- }
- break;
-
- case RTF:
- switch (c)
- {
- case '\n':
- --cur_char;
- break;
- case '\t':
- for (tb %= tab_size; tb < tab_size; ++tb)
- fputc (' ', dest_doc);
- break;
- case '\\':
- case '{':
- case '}':
- fputc ('\\', dest_doc);
- fputc (c, dest_doc);
- tb++;
- break;
- default:
- fputc (c, dest_doc);
- tb++;
- }
- break;
-
- default:
- fputc (c, dest_doc);
- tb++;
- }
- cur_char++;
- }
- else
- {
- switch (output_mode)
- {
- case AMIGAGUIDE:
- if (file_name && strcmp (file_name, dest_name))
- fprintf (dest_doc, "@{\"%s\" Link \"%s/%s\"}",
- label_name, file_name, label_name);
- else
- {
- if (strcmp (label_name, function_name))
- fprintf (dest_doc, "@{\"%s\" Link \"%s\"}",
- label_name, label_name);
- else
- {
- fprintf (dest_doc, "%s",
- att_start_command[MAKE_BOLD][output_mode]);
- fprintf (dest_doc, "%s", label_name);
- fprintf (dest_doc, "%s",
- att_stop_command[MAKE_BOLD][output_mode]);
- }
- }
- break;
-
- case HTML:
- /* Include the file name in the link if we are in fold
- * PetteriK 08.04.2000
- */
- if (in_fold)
- {
- /* We are in fold, always use the file name in the link,
- * in file_name == NULL (i.e. the label is in the current file
- * that we are processing), refer to value in dest_name.
- * This also makes sure that we link correctly if function_name
- * is the same as label_name.
- */
- fprintf (dest_doc, "<A HREF=\"%s#%s\">%s</A>",
- (file_name ? file_name : dest_name),
- label_name, label_name);
- }
- else if (file_name && strcmp (file_name, dest_name))
- {
-#if 0
- fprintf (dest_doc, "<A HREF=\"%s#%s\">%s</A>",
- file_name, label_name, label_name);
-#endif
- fprintf (dest_doc, "<A HREF=\"%s-%s.html\">%s</A>",
- RB_FilePartStart(file_name), label_name,
- label_name);
- }
- else
- {
- if (strcmp (label_name, function_name))
- {
-#if 0
- fprintf (dest_doc, "<A HREF=\"#%s\">%s</A>",
- label_name, label_name);
-#endif
- fprintf (dest_doc, "<A HREF=\"%s-%s.html\">%s</A>",
- RB_FilePart(doc_base), label_name,
- label_name);
- }
- else
- {
- fprintf (dest_doc, "%s",
- att_start_command[MAKE_BOLD][output_mode]);
- fprintf (dest_doc, "%s", label_name);
- fprintf (dest_doc, "%s",
- att_stop_command[MAKE_BOLD][output_mode]);
- }
- }
- break;
-
- case RTF:
- if (strcmp (label_name, function_name))
- {
- char *cook_link;
-
- cook_link = RB_CookStr (label_name);
- fprintf (dest_doc, "{\\uldb %s}{\\v %s}",
- label_name, cook_link);
- free (cook_link);
- }
- else
- {
- fprintf (dest_doc, "%s",
- att_start_command[MAKE_BOLD][output_mode]);
- fprintf (dest_doc, "%s", label_name);
- fprintf (dest_doc, "%s",
- att_stop_command[MAKE_BOLD][output_mode]);
- }
- break;
- default:
- fprintf (dest_doc, "%s", label_name);
- }
- tmp = strlen (label_name);
- cur_char += tmp;
- tb += tmp;
- } /* end if */
- }
-
- if (*cur_char)
- {
- if (output_mode == RTF)
- fprintf (dest_doc, "\\line");
- fputc ('\n', dest_doc);
- tabs = 0;
- }
- }
- *end_of_item = old_char;
- return (char *) 0;
-}
-
-
-/***************/
-
-
-/****f* ROBODoc/RB_HTML_Extra
-* NAME
-* RB_HTML_Extra
-* AUTHOR
-* PetteriK
-* HISTORY
-* 05/15/2000 Added mailto: support (Guillaume Etorre)
-* FUNCTION
-* Check and process embedded hyperlinks.
-* RETURN VAL* FUNCTION
-* Check and process embedded hyperlinks.
-* RETURN VALUE
-* Number of chars processed from *cur_char
-* TODO
-* Flag for C and other grammars.
-* BUGS
-* As the documentation generated for this functions shows, if
-* the C source code contains a string with " / * " in it, this
-* function fails :)
-* SOURCE
-*/
-
-int
-RB_HTML_Extra (FILE * dest_doc, int item_type, char *cur_char)
-{
- int res = 0;
- char link[1024];
-
- if (strncmp ("http://", cur_char, strlen ("http://")) == 0)
- {
- sscanf (cur_char, "%s", link);
- RB_Say ("found link %s\n", link);
- res = (strlen (link) - 1);
- fprintf (dest_doc, "<A HREF=\"%s\">%s</A>", link, link);
- }
- else if (strncmp ("href:", cur_char, strlen ("href:")) == 0)
- {
- /* handy in relative hyperlink paths, e.g. href:../../modulex/ */
- sscanf ((cur_char + strlen ("href:")), "%s", link);
- RB_Say ("found link %s\n", link);
- res = (strlen (link) + strlen ("href:") - 1);
- fprintf (dest_doc, "<A HREF=\"%s\">%s</A>", link, link);
- }
- else if (strncmp ("mailto:", cur_char, strlen ("mailto:")) == 0)
- {
- sscanf ((cur_char + strlen ("mailto:")), "%s", link);
- RB_Say ("found mail to %s\n", link);
- res = (strlen (link) + strlen ("mailto:") - 1);
- fprintf (dest_doc, "<A HREF=\"mailto:%s\">%s</A>", link, link);
- }
- else if ((extra_flags & C_MODE) && (item_type == SOURCE_ITEM) &&
- (strncmp ("/*", cur_char, 2) == 0))
- {
- /* start of C comment */
- fprintf (dest_doc, "<FONT COLOR = \"#FF0000\">/*");
- res = 1;
- }
- else if ((extra_flags & C_MODE) && (item_type == SOURCE_ITEM) &&
- (strncmp ("*/", cur_char, 2) == 0))
- {
- /* end of C comment */
- fprintf (dest_doc, "*/</FONT>");
- res = 1;
- }
- return res;
-}
-
-/**********/
-
-
-/****f* ROBODoc/RB_Generate_Index
- * NAME
- * RB_Generate_Index -- generate index file based on xref files.
- * SYNOPSIS
- * void RB_Generate_Index(FILE *dest, char *name)
- * FUNCTION
- * Create a master index file. It contains pointers to the
- * documentation generated for each source file, as well as all
- * "objects" found in the source files.
- ********
- */
-
-void
-RB_Generate_Index (FILE * dest, char *source)
-{
- RB_Slow_Sort_Links ();
-
- switch (output_mode)
- {
- case HTML:
- {
- if (document_title) {
- RB_Generate_Doc_Start (dest, source, document_title, 0);
- fprintf (dest, "<H1>%s</H1>\n", document_title);
- } else {
- RB_Generate_Doc_Start (dest, source, "Master Index File", 0);
- fprintf (dest, "<H1>Master Index File</H1>\n");
- }
- if (RB_Number_Of_Links (MAIN_HEADER, NULL))
- RB_Generate_Index_Table (dest, MAIN_HEADER, "Modules");
-// RB_Generate_Index_Table (dest, NO_HEADER, "Source Files");
- if (RB_Number_Of_Links (CLASS_HEADER, NULL))
- RB_Generate_Index_Table (dest, CLASS_HEADER, "Classes");
- if (RB_Number_Of_Links (METHOD_HEADER, NULL))
- RB_Generate_Index_Table (dest, METHOD_HEADER, "Methods");
- if (RB_Number_Of_Links (STRUCT_HEADER, NULL))
- RB_Generate_Index_Table (dest, STRUCT_HEADER, "Structures");
- if (RB_Number_Of_Links (FUNCTION_HEADER, NULL))
- RB_Generate_Index_Table (dest, FUNCTION_HEADER, "Functions");
- if (RB_Number_Of_Links (VARIABLE_HEADER, NULL))
- RB_Generate_Index_Table (dest, VARIABLE_HEADER, "Global Variables");
- if (RB_Number_Of_Links (CONSTANT_HEADER, NULL))
- RB_Generate_Index_Table (dest, CONSTANT_HEADER, "Constants");
- if (RB_Number_Of_Links (GENERIC_HEADER, NULL))
- RB_Generate_Index_Table (dest, GENERIC_HEADER, "Generic");
- if (RB_Number_Of_Links (INTERNAL_HEADER, NULL))
- RB_Generate_Index_Table (dest, INTERNAL_HEADER, "Internal");
- RB_Generate_Doc_End (dest, source);
- } break;
- case LATEX:
- {
- RB_Generate_Doc_Start (dest, source, "Master File", 0);
- RB_Generate_LaTeX_Includes (dest);
- RB_Generate_Doc_End (dest, source);
- }
- }
-}
-
-
-/****f* ROBODoc/Generate_LaTeX_Includes
- * NAME
- * Generate_LaTeX_Includes -- generate include commands
- * SYNOPSIS
- * void RB_Generate_LaTeX_Includes (FILE *dest)
- * FUNCTION
- * Generates a series of \include commands to include the
- * documentation generated for each source file into one
- * big file.
- ****
- */
-
-void
-RB_Generate_LaTeX_Includes (FILE *dest)
-{
- struct RB_link *cur_link;
- for (cur_link = first_link;
- cur_link;
- cur_link = cur_link->next_link) {
- {
- if (cur_link->type == NO_HEADER)
- fprintf (dest, "\\include{%s}\n", cur_link->label_name);
- }
- }
-}
-
-/****f* ROBODoc/RB_Generate_Index_Table
- * NAME
- * RB_Generate_Index --
- * SYNOPSIS
- * void RB_Generate_Index_Table(FILE *, int type, char *title)
- * RB_Generate_Index_Table(dest, type, title)
- * FUNCTION
- * Creates a table with index items of a particular type.
- * If the type is NO_HEADER, then the table is a table of
- * source files. In this case no link is added if the
- * source file did not contain any documentation.
- * INPUTS
- * dest -- output file
- * type -- kind of header index.
- * title -- title for the table
- * SOURCE
- */
-
-void
-RB_Generate_Index_Table (FILE * dest, int type, char *title)
-{
- struct RB_link *cur_link;
- int number_of_columns;
- int cur_column;
-
- number_of_columns = 60 / RB_Max_Name_Length (type, NULL);
-
- fprintf (dest, "<H2>%s</H2>\n", title);
- fprintf (dest, "<TABLE>\n");
- cur_column = 0;
- for (cur_link = first_link;
- cur_link;
- cur_link = cur_link->next_link)
- {
- if (cur_link->type == type)
- {
- if (cur_column == 0)
- {
- fprintf (dest, "<TR>\n");
- }
- if (type == NO_HEADER)
- {
- if (RB_Number_Of_Links (NO_HEADER, cur_link->file_name) > 1)
- {
- fprintf (dest,
- "<TD><A HREF=\"%s-%s.html\"><TT>%s</TT></A></TD>\n",
- RB_FilePartStart(cur_link->file_name),
- cur_link->label_name,
- cur_link->label_name);
- }
- else
- {
- fprintf (dest, "<TD>%s</TD>\n", cur_link->label_name);
- }
- }
- else
- {
- if (type == MAIN_HEADER)
- {
- fprintf (dest, "<TD><A HREF=\"%s.html\"><TT>%s</TT></A></TD>\n",
- RB_FilePartStart(cur_link->file_name),
- cur_link->label_name);
- }
- else
- {
- fprintf (dest, "<TD><A HREF=\"%s-%s.html\"><TT>%s</TT></A></TD>\n",
- RB_FilePartStart(cur_link->file_name),
- cur_link->label_name,
- cur_link->label_name);
- }
- };
- cur_column++;
- if (cur_column > number_of_columns)
- {
- fprintf (dest, "</TR>\n");
- cur_column = 0;
- }
- }
- }
- for (; cur_column <= number_of_columns;)
- {
- if (cur_column == 0)
- {
- fprintf (dest, "<TR>\n");
- }
- fprintf (dest, "<TD></TD>\n");
- cur_column++;
- }
- fprintf (dest, "</TR>\n");
- fprintf (dest, "</TABLE>\n");
-}
-
-/******* END RB_Generate_Index_Table *****/
-
-
-/****f* ROBODoc/RB_Number_Of_Links
- * NAME
- * RB_Number_Of_Links -- Count the number of links.
- * FUNCTION
- * Counts the number of links that are of a particular type
- * and that can be found in a particular file.
- * INPUTS
- * type -- the header type of the header the link is pointing to.
- * If NO_HEADER, all header types are counted.
- * file_name -- name of the file the link comes from, can be NULL, in
- * which case only the type is checked.
- * RESULT
- * number of links.
- ******
- */
-
-int
-RB_Number_Of_Links (int type, char *file_name)
-{
- struct RB_link *cur_link;
- int n = 0;
-
- for (cur_link = first_link;
- cur_link;
- cur_link = cur_link->next_link)
- {
- if (cur_link->type == type || (type == NO_HEADER))
- {
- if (file_name)
- {
- if (strcmp (file_name, cur_link->file_name) == 0)
- {
- n++;
- }
- }
- else
- {
- n++;
- }
- }
- }
-
- return n;
-}
-
-
-/****f* ROBODoc/RB_Max_Name_Length
- * NAME
- * RB_Max_Name_Length -- find longest label name.
- * FUNCTION
- * Find the length of the longest label name in a sub list
- * of the list with links. This is used to determine how
- * many columns can be displayed in a table.
- * The sublist is specified by the type of header the link
- * should point to, as well as by the name of the documentation
- * file.
- * EXAMPLE
- * RB_Max_Name_Length(CLASS_HEADER, "muppets.c.html")
- * longest label name in the list of links to class headers
- * in muppets.c.html.
- * RB_Max_Name_Length(CLASS_HEADER, NULL)
- * longest label name in the list of links to class headers.
- * INPUTS
- * type -- type of header
- * file_name -- file the header come from, can be NULL.
- * In which links from all files are used.
- * SOURCE
- */
-
-int
-RB_Max_Name_Length (int type, char *file_name)
-{
- struct RB_link *cur_link;
- int n = 1;
-
- for (cur_link = first_link;
- cur_link;
- cur_link = cur_link->next_link)
- {
- if (cur_link->type == type)
- {
- if (file_name)
- {
- if (strcmp (file_name, cur_link->file_name) == 0)
- {
- if (strlen (cur_link->label_name) > n)
- {
- n = strlen (cur_link->label_name);
- }
- }
- }
- else
- {
- if (strlen (cur_link->label_name) > n)
- {
- n = strlen (cur_link->label_name);
- }
- }
- }
- }
- return n;
-}
-
-/*********/
+++ /dev/null
-#ifndef ROBODOC_GENERATOR_H
-#define ROBODOC_GENERATOR_H
-
-void RB_Generate_Documentation (FILE *, char *, char *);
-void RB_Generate_Item_Doc (FILE *, char *, char *, char *, char *, int);
-char *RB_Generate_Item_Body (FILE *, char *, char *, char *, char *, int, int);
-void RB_Generate_Header_Name (FILE *, char *);
-void RB_Generate_Item_Name (FILE *, int);
-void RB_Generate_Doc_Start (FILE *, char *, char *, char);
-void RB_Generate_Doc_End (FILE *, char *);
-void RB_Generate_Header_Start (FILE *, struct RB_header *, const char *);
-void RB_Generate_Header_End (FILE *, struct RB_header *);
-int RB_HTML_Extra (FILE * dest_doc, int item_type, char *cur_char);
-void RB_Generate_Index (FILE * dest, char *name);
-void RB_Generate_LaTeX_Includes (FILE *dest);
-void RB_Generate_Index_Table (FILE * dest, int type, char *source);
-int RB_Max_Name_Length (int type, char *file_name);
-int RB_Number_Of_Links (int type, char *file_name);
-
-#endif /* ROBODOC_GENERATOR_H */
+++ /dev/null
-#include <stdio.h>
-#include <stddef.h>
-#include "robodoc.h"
-#include "headers.h"
-
-
-/****v* ROBODoc/header_markers [3.0h]
- * NAME
- * header_markers -- strings that mark the begin of a header.
- * FUNCTION
- * These specify what robodoc recognizes as the beginning
- * of a header.
- * SOURCE
- */
-
-char *header_markers[] =
-{
- "/****", /* C, C++ */
- "//****", /* C++ */
- "(****", /* Pascal, Modula-2, B52 */
- "{****", /* Pascal */
- ";****", /* M68K assembler */
- "****", /* M68K assembler */
- "C ****", /* Fortran */
- "REM ****", /* BASIC */
- "%****", /* LaTeX, TeX, Postscript */
- "#****", /* Tcl/Tk */
- " ****", /* COBOL */
- "--****", /* Occam */
- "<!--****", /* HTML Code */
- "<!---****", /* HTML Code, the three-dashed comment
- * tells the [server] pre-processor not
- * to send that comment with the HTML */
- "|****", /* GNU Assembler */
- "!!****", /* FORTAN 90 */
- NULL};
-
-/****/
-
-
-/****v* ROBODoc/remark_markers [3.0h]
- * NAME
- * remark_markers
- * FUNCTION
- * These specify what robodoc recognizes as a comment marker.
- * SOURCE
- */
-
-char *remark_markers[] =
-{
- " *", /* C, C++, Pascal, Modula-2 */
- "//", /* C++ */
- "*", /* C, C++, M68K assembler, Pascal, *
- * Modula-2 */
- ";*", /* M68K assembler */
- ";", /* M68K assembler */
- "C ", /* Fortran */
- "REM ", /* BASIC */
- "%", /* LaTeX, TeX, Postscript */
- "#", /* Tcl/Tk */
- " *", /* COBOL */
- "--", /* Occam */
- "|", /* GNU Assembler */
- "!!", /* FORTAN 90 */
- NULL};
-
-/****/
-
-/****v* ROBODoc/end_markers [3.0h]
- * NAME
- * end_markers -- strings that mark the end of a header.
- * FUNCTION
- * These specify what robodoc recognizes as the end of a
- * documentation header. In most cases this will be
- * "***" or " ***". If the header contains a SOURCE item
- * then the end of the source has to be marked, which
- * is when the other strings in this array are used.
- * SOURCE
- */
-
-char *end_markers[] =
-{
- "/***", /* C, C++ */
- "//***", /* C++ */
- " ***", /* C, C++, Pascal, Modula-2 */
- "{***", /* Pascal */
- "(***", /* Pascal, Modula-2, B52 */
- ";***", /* M68K assembler */
- "***", /* M68K assembler */
- "C ***", /* Fortran */
- "REM ***", /* BASIC */
- "%***", /* LaTeX, TeX, Postscript */
- "#***", /* Tcl/Tk */
- " ***", /* COBOL */
- "--***", /* Occam */
- "<!--***", /* HTML */
- "<!---***", /* HTML */
- "|***", /* GNU Assembler */
- "!!***", /* FORTAN 90 */
- NULL};
-
-/****/
-
-/****v* ROBODoc/RB_header_typenames
- * NAME
- * RB_header_typename
- * FUNCTION
- * Handy table to translate a header type number (see RB_header_types)
- * to an ascii string.
- *****
- */
-
-char *RB_header_type_names[] =
-{
- "none",
- "main",
- "generic",
- "internal",
- "function",
- "struct",
- "class",
- "method",
- "constant",
- "variable",
- "blank"
-};
-
-/****v* ROBODoc/first_header
- * NAME
- * first_header -- pointer to the first header in the list of headers.
- * SOURCE
- */
-
-struct RB_header *first_header = NULL;
-
-/*****/
-
-/****v* ROBODoc/last_header
- * NAME
- * last_header -- pointer to the last header in the list of headers.
- * SOURCE
- */
-
-struct RB_header *last_header = NULL;
-
-/******/
-
-/****v* ROBODoc/first_link
- * NAME
- * first_link -- pointer to the first link in the list of links.
- * SOURCE
- */
-
-struct RB_link *first_link = NULL;
-
-/*****/
-
-
-int header_index_size = 0;
-struct RB_header **header_index = NULL;
+++ /dev/null
-#ifndef ROBODOC_HEADERS_H
-#define ROBODOC_HEADERS_H
-
-/****d* ROBODoc/RB_header_types
- * NAME
- * RB_header_types -- symbolic constants for the header types.
- * SOURCE
- */
-
-enum
- {
- NO_HEADER = 0,
- MAIN_HEADER,
- GENERIC_HEADER,
- INTERNAL_HEADER,
- FUNCTION_HEADER,
- STRUCT_HEADER,
- CLASS_HEADER,
- METHOD_HEADER,
- CONSTANT_HEADER,
- VARIABLE_HEADER,
- BLANK_HEADER
- };
-
-/********/
-
-
-/****s* ROBODoc/RB_header [2.0]
- * NAME
- * RB_header -- header data structure
- * MODIFICATION HISTORY
- * 8. August 1995: Koessi
- * changed int version to char *version
- * ATTRIBUTES
- * next_header
- * prev_header
- * name --
- * version -- unused
- * type -- header type see RB_header_types
- * size --
- * function_name --
- * contents --
- * SOURCE
- */
-
-struct RB_header
- {
- struct RB_header *next_header;
- struct RB_header *prev_header;
- char *name;
- char *version;
- int type;
- int size;
- char *function_name;
- char *contents;
- };
-
-/*********/
-
-extern char *header_markers[];
-extern char *remark_markers[];
-extern char *end_markers[];
-extern char *RB_header_type_names[];
-extern struct RB_header *first_header;
-extern struct RB_header *last_header;
-extern struct RB_link *first_link;
-extern int header_index_size;
-extern struct RB_header **header_index;
-
-#endif /* ROBODOC_HEADERS_H */
-
-
+++ /dev/null
-#include <stddef.h>
-#include <string.h>
-#include <stdio.h>
-#include "robodoc.h"
-#include "items.h"
-
-/****v* ROBODoc/item_names [3.0g]
- * NAME
- * item_names
- * SYNOPSIS
- * char *item_names[]
- * FUNCTION
- * Defines the names of items that ROBODoc recognized as
- * items. For each name their is a corresponding
- * item type (see ItemType). So if you add a name here
- * you have to add an item type to. In addition you
- * have to add an item attribute (see item_attributes)
- * entry too.
- * AUTHOR
- * Koessi
- * SEE ALSO
- * RB_Get_Item_Type(), item_attributes, item_attr_names,
- * SOURCE
- */
-
-char *item_names[] =
-{
- NULL,
- "NAME",
- /* Item name + short description */
- "COPYRIGHT",
- /* who own the copyright : "(c) <year>-<year> by <company/person>" */
- "SYNOPSIS", "USAGE",
- /* how to use it */
- "FUNCTION", "DESCRIPTION", "PURPOSE",
- /* what does it */
- "AUTHOR",
- /* who wrote it */
- "CREATION DATE",
- /* when did the work start */
- "MODIFICATION HISTORY", "HISTORY",
- /* who done what changes when */
- "INPUTS", "ARGUMENTS", "OPTIONS", "PARAMETERS", "SWITCHES",
- /* what can we feed into it */
- "OUTPUT", "SIDE EFFECTS",
- /* what output will be made */
- "RESULT", "RETURN VALUE",
- /* what do we get returned */
- "EXAMPLE",
- /* a clear example of the items use */
- "NOTES",
- /* any annotations */
- "DIAGNOSTICS",
- /* diagnostical output */
- "WARNINGS", "ERRORS",
- /* warning & error-messages */
- "BUGS",
- /* known bugs */
- "TODO", "IDEAS",
- /* what to implement next & ideas */
- "PORTABILITY",
- /* where does it come from, where will it work */
- "SEE ALSO",
- /* references */
- "SOURCE",
- /* source code inclusion */
- "METHODS", "NEW METHODS",
- /* oop methods */
- "ATTRIBUTES", "NEW ATTRIBUTES",
- /* oop attributes */
- "TAGS",
- /* tagitem description */
- "COMMANDS",
- /* command description */
- "DERIVED FROM",
- /* oop super class */
- "DERIVED BY",
- /* oop sub class */
- "USES", "CHILDREN",
- /* what modules are used by this one */
- "USED BY", "PARENTS",
- /* which modules do use this */
- NULL,
-};
-
-/***********/
-
-
-/****v* ROBODoc/item_attributes [3.0h]
- * NAME
- * item_attributes -- attributes of the various items
- * FUNCTION
- * links each item type with a text attribute.
- * SEE ALSO
- * RB_Get_Item_Type(), item_names, item_attr_names
- * SOURCE
- */
-
-long item_attributes[NUMBER_OF_ITEMS] =
-{
- 0, /* NO_ITEM */
- ITEM_NAME_LARGE_FONT | TEXT_BODY_SHINE, /* NAME_ITEM */
- ITEM_NAME_LARGE_FONT, /* COPYRIGHT_ITEM */
- ITEM_NAME_LARGE_FONT | TEXT_BODY_SHINE, /* SYNOPSIS_ITEM */
- ITEM_NAME_LARGE_FONT, /* USAGE_ITEM */
- ITEM_NAME_LARGE_FONT, /* FUNCTION_ITEM */
- ITEM_NAME_LARGE_FONT | TEXT_BODY_DEFAULT, /* DESCRIPTION_ITEM */
- ITEM_NAME_LARGE_FONT, /* PURPOSE_ITEM */
- ITEM_NAME_LARGE_FONT | TEXT_BODY_BOLD, /* AUTHOR_ITEM */
- ITEM_NAME_LARGE_FONT | TEXT_BODY_BOLD, /* CREATION_DATE_ITEM */
- ITEM_NAME_LARGE_FONT, /* MODIFICATION_HISTORY_ITEM */
- ITEM_NAME_LARGE_FONT, /* HISTORY_ITEM */
- ITEM_NAME_LARGE_FONT, /* INPUT_ITEM */
- ITEM_NAME_LARGE_FONT, /* ARGUMENT_ITEM */
- ITEM_NAME_LARGE_FONT, /* OPTION_ITEM */
- ITEM_NAME_LARGE_FONT, /* PARAMETER_ITEM */
- ITEM_NAME_LARGE_FONT, /* SWITCH_ITEM */
- ITEM_NAME_LARGE_FONT, /* OUTPUT_ITEM */
- ITEM_NAME_LARGE_FONT, /* SIDE_EFFECTS_ITEM */
- ITEM_NAME_LARGE_FONT, /* RESULT_ITEM */
- ITEM_NAME_LARGE_FONT, /* RETURN_VALUE_ITEM */
- ITEM_NAME_LARGE_FONT | TEXT_BODY_SHINE, /* EXAMPLE_ITEM */
- ITEM_NAME_LARGE_FONT | TEXT_BODY_DEFAULT, /* NOTE_ITEM */
- ITEM_NAME_LARGE_FONT, /* DIAGNOSTICS_ITEM */
- ITEM_NAME_LARGE_FONT, /* WARNING_ITEM */
- ITEM_NAME_LARGE_FONT, /* ERROR_ITEM */
- ITEM_NAME_LARGE_FONT | TEXT_BODY_SHINE, /* BUGS_ITEM */
- ITEM_NAME_LARGE_FONT, /* TODO_ITEM */
- ITEM_NAME_LARGE_FONT, /* IDEAS_ITEM */
- ITEM_NAME_LARGE_FONT, /* PORTABILITY_ITEM */
- ITEM_NAME_LARGE_FONT, /* SEE_ALSO_ITEM */
- ITEM_NAME_LARGE_FONT | TEXT_BODY_SHINE, /* SOURCE_ITEM */
- ITEM_NAME_LARGE_FONT, /* METHODS_ITEM */
- ITEM_NAME_LARGE_FONT, /* NEW_METHODS_ITEM */
- ITEM_NAME_LARGE_FONT, /* ATTRIBUTES_ITEM */
- ITEM_NAME_LARGE_FONT, /* NEW_ATTRIBUTES_ITEM */
- ITEM_NAME_LARGE_FONT, /* TAGS_ITEM */
- ITEM_NAME_LARGE_FONT, /* COMMANDS_ITEM */
- ITEM_NAME_LARGE_FONT, /* DERIVED_FROM_ITEM */
- ITEM_NAME_LARGE_FONT, /* DERIVED_BY_ITEM */
- ITEM_NAME_LARGE_FONT, /* USES_ITEM */
- ITEM_NAME_LARGE_FONT, /* CHILDREN */
- ITEM_NAME_LARGE_FONT, /* USED_BY_ITEM */
- ITEM_NAME_LARGE_FONT, /* PARENTS */
- 0 /* OTHER_ITEM */
-};
-
-/**********/
-
-
-/****v* ROBODoc/item_attr_names [3.0j]
- * NAME
- * item_attr_names
- * SYNOPSIS
- * char *item_attr_names[]
- * FUNCTION
- * used for strcmp() in RB_Get_Item_Attr()
- * AUTHOR
- * Koessi
- * SEE ALSO
- * RB_Get_Item_Attr(), item_attributes, item_names
- * SOURCE
- */
-
-char *item_attr_names[] =
-{
-/* "NORMAL", */
- "LARGE", "ITALICS", "NONPROP", "SMALL", "BOLD",
- "UNDERLINE", "SHINE", "HIGHLIGHT", "DEFAULT",
-};
-
-/*************/
-
-
-/* ASCII AMIGAGUIDE HTML LATEX RTF */
-
-char *att_start_command[SIZE_ATTRIBUTES][SIZE_MODES] =
-{
- {"", "@{b}", "<FONT SIZE=\"+1\">", "{\\large ", "\\par\\fs28 "}, /* Large Font */
- {"", "@{i}", "<I>", "{\\it ", "\\i1 "}, /* Italics. */
- {"", "", "", "", ""}, /* NON-Proportional font. */
- {"", "", "<SMALL>", "{\\small ", "\\fs16 "}, /* Small Font. */
- {"", "@{b}", "<B>", "{\\bf ", "\\b1 "}, /* Bold. */
- {"", "@{u}", "<U>", "\\underline{", "\\ul1 "}, /* Underline */
- {"", "@{fg shine}", "<FONT FACE=\"courier\" size=\"3\">", "{\\em ", ""},/* Shine */
- {"", "@{fg highlight}", "<EM>", "{\\em ", ""}, /* Highlight */
- {"", "", "<FONT FACE=\"Helvetiva,Arial,Sans-serif\">", "", ""} /* Default */
-};
-
-char *att_stop_command[SIZE_ATTRIBUTES][SIZE_MODES] =
-{
- {"", "@{ub}", "</FONT>", "}", "\\fs20\\line "}, /* Large Font */
- {"", "@{ui}", "</I>", "}", "\\i0 "}, /* Italics. */
- {"", "", "", "", ""}, /* NON-Proportional font. */
- {"", "", "</SMALL>", "}", "\\fs20 "}, /* Small Font. */
- {"", "@{ub}", "</B>", "}", "\\b0 "}, /* Bold. */
- {"", "@{uu}", "</U>", "}", "\\ul0 "}, /* Underline */
- {"", "@{fg text}", "</FONT>", "}", ""}, /* Shine */
- {"", "@{fg text}", "</EM>", "}", ""}, /* Highlight */
- {"", "", "</FONT>", "", ""} /* Normal */
-};
-
-
-
-/****f* ROBODoc/RB_Get_Item_Type [3.0b]
- * NAME
- * RB_Get_Item_Type -- shortcut
- * SYNOPSIS
- * int RB_Get_Item_Type( char *cmp_name )
- * FUNCTION
- * return the item_type represented by the given string
- * INPUTS
- * char *cmp_name -- item_name to evaluate
- * RESULT
- * int -- the right item_type or NO_ITEM
- * NOTES
- * uses global char *item_names[]
- * AUTHOR
- * Koessi
- * SEE ALSO
- * RB_Analyse_Defaults_File(), RB_Get_Item_Attr()
- * SOURCE
- */
-
-int
-RB_Get_Item_Type (char *cmp_name)
-{
- int item_type;
-
- for (item_type = NAME_ITEM; item_type < OTHER_ITEM; ++item_type)
- {
- if (!strncmp (item_names[item_type], cmp_name,
- strlen (item_names[item_type])))
- return (item_type);
- }
- return (NO_ITEM);
-}
-
-/*** RB_Get_Item_Type ***/
-
-
-
-/****f* ROBODoc/RB_Get_Item_Attr [3.0b]
- *
- * NAME
- * RB_Get_Item_Attr -- shortcut
- * SYNOPSIS
- * int RB_Get_Item_Attr( char *cmp_name )
- * FUNCTION
- * return the item_attr represented by the given string
- * INPUTS
- * char *cmp_name -- item_attr_name to evaluate
- * RESULT
- * int -- the right item_attr or NULL
- * NOTES
- * uses global char *item_attr_names[]
- * AUTHOR
- * Koessi
- * SEE ALSO
- * RB_Analyse_Defaults_File(), RB_Get_Item_Type()
- * SOURCE
- */
-
-int
-RB_Get_Item_Attr (char *cmp_name)
-{
- int item_attr;
-
- for (item_attr = MAKE_LARGE; item_attr < SIZE_ATTRIBUTES; ++item_attr)
- if (!strcmp (item_attr_names[item_attr], cmp_name))
- return (item_attr);
- if (strcmp ("NORMAL", cmp_name))
- {
- fprintf (stderr, "%s: Warning unknown attribute [%s] in defaults file.\n",
- whoami, cmp_name);
- }
- return (MAKE_NORMAL);
-}
-
-/************/
+++ /dev/null
-
-
-
-#ifndef ROBODOC_ITEMS_H
-#define ROBODOC_ITEMS_H
-
-enum
- {
- MAKE_NORMAL = -1, MAKE_LARGE, MAKE_ITALICS, MAKE_NON_PROP, MAKE_SMALL,
- MAKE_BOLD, MAKE_UNDERLINE, MAKE_SHINE, MAKE_HIGH, MAKE_DEFAULT,
- SIZE_ATTRIBUTES
- };
-
-#define ITEM_NAME_LARGE_FONT (1<<0)
-#define TEXT_BODY_LARGE_FONT (1<<(MAKE_LARGE + 1))
-#define TEXT_BODY_ITALICS (1<<(MAKE_ITALICS + 1))
-#define TEXT_BODY_NON_PROP (1<<(MAKE_NON_PROP + 1))
-#define TEXT_BODY_SMALL_FONT (1<<(MAKE_SMALL + 1))
-#define TEXT_BODY_BOLD (1<<(MAKE_BOLD + 1))
-#define TEXT_BODY_UNDERLINE (1<<(MAKE_UNDERLINE + 1))
-#define TEXT_BODY_SHINE (1<<(MAKE_SHINE + 1))
-#define TEXT_BODY_HIGHLIGHT (1<<(MAKE_HIGH + 1))
-#define TEXT_BODY_DEFAULT (1<<(MAKE_DEFAULT + 1))
-
-
-/****** ROBODoc/ItemTypes *
- * NAME
- * ItemTypes -- enumeration of item types
- * FUNCTION
- * Give an unique number to each item type. This defines all item types that
- * are recognized by ROBODoc. The corresponding names (string) of each item
- * are defined in item_names. If you add an item here you also should
- * add an corresponding item name.
- * SOURCE
- */
-
-enum
- {
- NO_ITEM = 0,
- NAME_ITEM,
- COPYRIGHT_ITEM,
- SYNOPSIS_ITEM, USAGE_ITEM,
- FUNCTION_ITEM, DESCRIPTION_ITEM, PURPOSE_ITEM,
- AUTHOR_ITEM,
- CREATION_DATE_ITEM,
- MODIFICATION_HISTORY_ITEM, HISTORY_ITEM,
- INPUT_ITEM, ARGUMENT_ITEM, OPTION_ITEM, PARAMETER_ITEM, SWITCH_ITEM,
- OUTPUT_ITEM, SIDE_EFFECTS_ITEM,
- RESULT_ITEM, RETURN_VALUE_ITEM,
- EXAMPLE_ITEM,
- NOTE_ITEM,
- DIAGNOSTICS_ITEM,
- WARNING_ITEM, ERROR_ITEM,
- BUGS_ITEM,
- TODO_ITEM, IDEAS_ITEM,
- PORTABILITY_ITEM,
- SEE_ALSO_ITEM,
- SOURCE_ITEM,
- METHODS_ITEM, NEW_METHODS_ITEM,
- ATTRIBUTES_ITEM, NEW_ATTRIBUTES_ITEM,
- TAGS_ITEM,
- COMMANDS_ITEM,
- DERIVED_FROM_ITEM,
- DERIVED_BY_ITEM,
- USES_ITEM, CHILDREN_ITEM,
- USED_BY_ITEM, PARENTS_ITEM,
- OTHER_ITEM,
- NUMBER_OF_ITEMS
- };
-
-/****/
-
-extern char *item_names[];
-extern long item_attributes[NUMBER_OF_ITEMS];
-extern char *item_attr_names[];
-extern char *att_start_command[SIZE_ATTRIBUTES][SIZE_MODES];
-extern char *att_stop_command[SIZE_ATTRIBUTES][SIZE_MODES];
-
-int RB_Get_Item_Type (char *);
-int RB_Get_Item_Attr (char *cmp_name);
-
-
-#endif /* ROBODOC_ITEMS_H */
+++ /dev/null
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <ctype.h>
-#include "robodoc.h"
-#include "headers.h"
-#include "util.h"
-#include "links.h"
-#include "folds.h"
-
-
-FILE *xreffiles_file = NULL;
-FILE *xref_file = NULL;
-int link_index_size = 0;
-struct RB_link **link_index = NULL;
-
-/****f* ROBODoc/RB_Analyse_Xrefs [3.0b]
- * NAME
- * RB_Analyse_Xrefs -- scan the xref files.
- * SYNOPSIS
- * RB_Analyse_Xrefs (xreffiles_file)
- * RB_Analyse_Xrefs (FILE *)
- * FUNCTION
- * Scan the file xreffiles_file. This file contains the
- * names of one or more xref files. All the references in the
- * files are scaned and stored in a link list of the type
- * RB_link. These xref files can be generated with robodoc.
- * INPUTS
- * xreffiles_file - a file pointer to the file with xref file
- * names.
- * RESULT
- * none
- * BUGS
- * Might fail if there are syntax errors in one of the xref
- * files.
- * Bad use of feof() and fgets().
- * SEE ALSO
- * RB_Generate_xrefs, RB_Add_Link
- * SOURCE
- */
-
-void
-RB_Analyse_Xrefs (FILE * xreffiles_file)
-{
- while (!feof (xreffiles_file))
- {
- fgets (line_buffer, MAX_LINE_LEN, xreffiles_file);
- if (!feof (xreffiles_file))
- {
- char *cur_char;
-
- cur_char = line_buffer;
- find_eol;
- if (*cur_char == '\n')
- *cur_char = '\0';
- if (strlen (line_buffer) > 1)
- {
- for (cur_char--;
- (cur_char != line_buffer) && isspace (*cur_char);
- cur_char--)
- *cur_char = '\0';
- if ((xref_file = fopen (line_buffer, "r")) != NULL)
- {
- int xrefs_found = FALSE;
- int end_of_xrefs = FALSE;
-
- while (!feof (xref_file) && !xrefs_found)
- {
- fgets (line_buffer, MAX_LINE_LEN, xref_file);
- if (!feof (xref_file) && !strncmp ("XREF:",
- line_buffer, 5))
- xrefs_found = TRUE;
- }
-
- while (!feof (xref_file) && !end_of_xrefs)
- {
- fgets (line_buffer, MAX_LINE_LEN, xref_file);
- if (!feof (xref_file))
- {
- cur_char = line_buffer;
- find_quote;
- if (*cur_char == '\"')
- RB_Add_Link ();
- else
- end_of_xrefs = TRUE;
- }
- }
- fclose (xref_file);
- xref_file = NULL;
- }
- else
- RB_Panic ("could not open xref file \"%s\"\n", line_buffer);
- }
- }
- }
-}
-
-/*************/
-
-
-/****f* ROBODoc/RB_Slow_Sort_Links
- * NAME
- * RB_Slow_Sort_Links -- sort all links according to label name.
- ******
- */
-
-void
-RB_Slow_Sort_Links (void)
-{
- struct RB_link *cur_link, *unsorted_links, *bigger_link;
-
- if ((unsorted_links = first_link) != NULL)
- { /* additional check koessi */
- for (first_link = NULL;
- unsorted_links->next_link;)
- {
- for (bigger_link = unsorted_links,
- cur_link = bigger_link->next_link;
- cur_link;
- cur_link = cur_link->next_link)
- {
- if (strcmp (cur_link->label_name, bigger_link->label_name) > 0)
- bigger_link = cur_link;
- }
- RB_Remove_From_List ((struct RB_header **) &unsorted_links,
- (struct RB_header *) bigger_link);
- RB_Insert_In_List ((struct RB_header **) &first_link,
- (struct RB_header *) bigger_link);
- }
- RB_Insert_In_List ((struct RB_header **) &first_link,
- (struct RB_header *) unsorted_links);
- }
-}
-
-
-/****f* ROBODoc/RB_Add_Link [3.0b]
- * NAME
- * RB_Add_Link -- add a reference link to the list
- * SYNOPSIS
- * void RB_Add_Link ()
- * FUNCTION
- * Adds a reference from a xref file to the linked list
- * with references.
- * INPUTS
- * Uses the global variable line_buffer and first_link.
- * NOTES
- * Makes sneaky use of the function RB_Insert_In_List.
- * SEE ALSO
- * RB_Analyse_Xrefs, RB_link.
- * SOURCE
- */
-
-void
-RB_Add_Link ()
-{
- char *label_name, *file_name;
- struct RB_link *new_link;
- char *cur_char = line_buffer;
-
- find_quote;
- label_name = ++cur_char;
- find_quote;
- *cur_char++ = '\0';
- find_quote;
- file_name = ++cur_char;
- find_quote;
- *cur_char = '\0';
- ++cur_char;
-
- RB_Say ("adding xref link \"%s\"->\"%s\"\n", label_name, file_name);
-
- new_link = RB_Alloc_Link (label_name, file_name);
- new_link->type = atoi (cur_char);
- RB_Insert_In_List ((struct RB_header **) &first_link,
- (struct RB_header *) new_link);
-}
-
-/*** RB_Add_Link ***/
-
-
-
-/****f* ROBODoc/RB_Generate_xrefs [2.0]
- * NAME
- * RB_Generate_xrefs
- * SYNOPSIS
- * RB_Generate_xrefs (dest_doc, source_name, dest_name)
- *
- * RB_Generate_xrefs (FILE *, char *, char *)
- * FUNCTION
- * Generates a xref file for the document that has been
- * analysed by ROBODoc.
- * INPUTS
- * dest_doc - pointer to the file to which the xrefs will be
- * written.
- * source_name - pointer to the name of the document that has
- * been analysed by robodoc
- * dest_name - pointer to the name of the document robodoc will
- * write the documentation to.
- * first_header - global variable, the list with function
- * headers.
- * SOURCE
- */
-
-void
-RB_Generate_xrefs (FILE * dest_doc, char *source_name, char *dest_name)
-{
- struct RB_header *cur_header;
-
- fprintf (dest_doc, "/* XREF-File generated by ROBODoc v" VERSION
- " */\n");
- fprintf (dest_doc, "\nXREF:\n");
- fprintf (dest_doc, " \"%s\" \"%s\" 0\n", source_name, dest_name);
- for (cur_header = first_header;
- cur_header;
- cur_header = cur_header->next_header
- )
- {
- if (cur_header->function_name)
- fprintf (dest_doc, " \"%s\" \"%s\" %d\n",
- cur_header->function_name, dest_name, cur_header->type);
- }
- fprintf (dest_doc, "\n/* End of XREF-File */\n");
-}
-
-/*** RB_Generate_xrefs ***/
-
-
-
-/****f* ROBODoc/RB_Find_Link [3.0h]
- * NAME
- * RB_Find_Link -- try to match word with a link
- * SYNOPSIS
- * result = RB_Find_Link (word_begin, label_name, file_name)
- * int RB_Find_Link (char *, char **, char **)
- * FUNCTION
- * Searches for the given word in the list of links and
- * headers. There are three passes (or four, when the C option
- * is selected). Each pass uses a different definition of "word".
- * In the first pass it is any thing that ends with a 'space', a '.'
- * or a ','.
- * In the second pass it is any string that consists of alpha
- * numerics, '_', ':', '.', or '-'.
- * In the third pass (for C) it is any string that consists
- * of alpha numerics or '_'.
- * In the last pass it is any string that consists of alpha
- * numerics.
- * INPUTS
- * word_begin - pointer to a word (a string).
- * label_name - pointer to a pointer to a string
- * file_name - pointer to a pointer to a string
- * SIDE EFFECTS
- * label_name & file_name are modified
- * RESULT
- * label_name -- points to the label if a match was found,
- * NULL otherwise.
- * file_name -- points to the file name if a match was found,
- * NULL otherwise.
- * TRUE -- a match was found.
- * FALSE -- no match was found.
- * NOTES
- * This is a rather sensitive algorithm.
- * BUGS
- ******
- */
-
-int
-RB_Find_Link (char *word_begin, char **label_name, char **file_name)
-{
- char *cur_char, old_char;
- int low_index, high_index, cur_index, state, pass;
-
-
- for (pass = 0; pass < 4; pass++)
- {
-
- switch (pass)
- {
- case 0:
- {
- for (cur_char = word_begin;
- isalnum (*cur_char) || ispunct (*cur_char);
- cur_char++);
- if (((*(cur_char-1)) == ',') || ((*(cur_char-1)) == '.'))
- cur_char--;
- break;
- }
- case 1:
- {
- for (cur_char = word_begin;
- isalnum (*cur_char) || (*cur_char == '_') ||
- (*cur_char == '-') || (*cur_char == '.') ||
- (*cur_char == ':');
- cur_char++);
- break;
- }
- case 2:
- {
- if (extra_flags & C_MODE) {
- for (cur_char = word_begin;
- isalnum(*cur_char) || (*cur_char == '_');
- cur_char++);
- break;
- }
- else continue;
- }
- case 3:
- {
- for (cur_char = word_begin;
- isalnum (*cur_char);
- cur_char++);
- break;
- }
- }
-
- old_char = *cur_char;
- *cur_char = '\0'; /* End the word with a '\0' */
-/* RB_Say ("Testing \"%s\"\n", word_begin); */
-
- /* Search in header table */
- for (cur_index = 0, low_index = 0, high_index = header_index_size - 1;
- high_index >= low_index;)
- {
- cur_index = (high_index - low_index) / 2 + low_index;
- state = strcmp (word_begin, header_index[cur_index]->function_name);
- if (state < 0)
- high_index = cur_index - 1;
- else if (state > 0)
- low_index = cur_index + 1;
- else
- {
- *label_name = header_index[cur_index]->function_name;
- *file_name = NULL;
- RB_Say ("linking \"%s\"->\"%s\"\n", word_begin, *label_name);
- *cur_char = old_char;
- return (TRUE);
- }
- }
-
- /* Search in the link table */
- for (cur_index = 0, low_index = 0, high_index = link_index_size - 1;
- high_index >= low_index;)
- {
- cur_index = (high_index - low_index) / 2 + low_index;
- state = strcmp (word_begin, link_index[cur_index]->label_name);
- if (state < 0)
- {
- high_index = cur_index - 1;
- }
- else if (state == 0)
- {
- *label_name = link_index[cur_index]->label_name;
- *file_name = link_index[cur_index]->file_name;
- RB_Say ("linking \"%s\"->\"%s\" form \"%s\"\n",
- word_begin, *label_name, *file_name);
- *cur_char = old_char;
- return (TRUE);
- }
- else if (state > 0)
- {
- low_index = cur_index + 1;
- }
- }
- *cur_char = old_char;
- *file_name = NULL;
- *label_name = NULL;
- }
-
- return (FALSE);
-}
-
-
-
-
-
-/****f* ROBODoc/RB_Alloc_Link [2.01]
- * NAME
- * RB_Alloc_Link -- oop
- * SYNOPSIS
- * struct RB_link *RB_Alloc_Link( char *label_name, char *file_name )
- * FUNCTION
- * allocate struct + strings
- * INPUTS
- * char *label_name -- strings to copy into the link
- * char *file_name
- * RESULT
- * struct RB_link * -- ready-to-use
- * AUTHOR
- * Koessi
- * SEE ALSO
- * RB_StrDup(), RB_Free_Link()
- *******
- */
-
-struct RB_link *
-RB_Alloc_Link (char *label_name, char *file_name)
-{
- struct RB_link *new_link;
- if ((new_link = malloc (sizeof (struct RB_link))) != NULL)
- {
- memset (new_link, 0, sizeof (struct RB_link));
-
- if (file_name)
- new_link->file_name = RB_StrDup (file_name);
- if (label_name)
- new_link->label_name = RB_StrDup (label_name);
- }
- else
- RB_Panic ("out of memory! [Alloc Link]\n");
-
- return (new_link);
-}
-
-
-/****f* ROBODoc/RB_Free_Link [2.01]
- * NAME
- * RB_Free_Link -- oop
- * SYNOPSIS
- * void RB_Free_Link( struct RB_link *link )
- * FUNCTION
- * free struct + strings
- * INPUTS
- * struct RB_link *link
- * AUTHOR
- * Koessi
- * SEE ALSO
- * RB_Alloc_Link(), RB_Close_The_Shop()
- * SOURCE
- ******
- */
-
-void
-RB_Free_Link (struct RB_link *link)
-{
- if (link)
- {
- if (link->label_name)
- free (link->label_name);
- if (link->file_name)
- free (link->file_name);
- free (link);
- }
-}
+++ /dev/null
-
-
-#ifndef ROBODOC_LINKS_H
-#define ROBODOC_LINKS_H
-
-/****s* ROBODoc/RB_link [2.0e]
- * NAME
- * RB_link -- link data structure
- * PURPOSE
- * Structure to store links to the documentation of an component.
- * PROPERTIES
- * next_link
- * prev_link
- * label_name -- the label under which the component can be found.
- * file_name -- the file the component can be found in.
- * type -- the type of component (the header type).
- * SOURCE
- */
-
-struct RB_link
- {
- struct RB_link *next_link;
- struct RB_link *prev_link;
- char *label_name;
- char *file_name;
- int type;
- };
-
-/*********/
-
-extern FILE *xreffiles_file;
-extern FILE *xref_file;
-extern int link_index_size;
-extern struct RB_link **link_index;
-
-void RB_Analyse_Xrefs (FILE * xreffiles_file);
-void RB_Add_Link ();
-void RB_Generate_xrefs (FILE * dest_doc, char *source_name, char *dest_name);
-int RB_Find_Link (char *word_begin, char **label_name, char **file_name);
-struct RB_link *RB_Alloc_Link (char *label_name, char *file_name);
-void RB_Free_Link (struct RB_link *link);
-void RB_Slow_Sort_Links (void);
-
-#endif /* ROBODOC_LINKS_H */
+++ /dev/null
-## Process this file with automake to produce Makefile.in
-#
-#
-
-bin_PROGRAMS = robodoc
-robodoc_SOURCES = analyser.c analyser.h config.h folds.c folds.h \
- generator.c generator.h headers.c headers.h items.c items.h \
- links.c links.h robodoc.c robodoc.h util.c util.h
-
-
-###############################################################
-
-ROBODOC=./robodoc
-ROBOOPTS=C SORT -v
-BROWSER=netscape
-
-# Your source files.
-#
-SOURCES=analyser.c generator.c items.c util.c \
- folds.c headers.c links.c robodoc.c \
- analyser.h generator.h items.h util.h \
- folds.h headers.h links.h robodoc.h
-
-# The name of your Project
-#
-PROJECT=ROBODoc
-
-# The various documentation files, derived from the source files.
-# HTML
-#
-HTMLDOCS=$(SOURCES:=.html)
-HTMLXREFS=$(HTMLDOCS:.html=.html.xref)
-HTMLXREFSFILE=$(PROJECT)_html.xrefs
-# LATEX
-#
-LATEXDOCS=$(SOURCES:=.tex)
-LATEXXREFS=$(LATEXDOCS:.tex=.tex.xref)
-LATEXXREFSFILE=$(PROJECT)_tex.xrefs
-# ASCII
-#
-ASCIIDOCS=$(SOURCES:=.txt)
-# RTF
-#
-RTFDOCS=$(SOURCES:=.rtf)
-RTFXREFS=$(RTFDOCS:.rtf=.rtf.xref)
-RTFXREFSFILE=$(PROJECT)_rtf.xrefs
-
-# Some common targets
-xrefall: xrefhtml xreftex xrefrtf
-docall: html tex ascii rtf
-
-# Create the xref files for the various formats.
-xhtml: $(HTMLXREFSFILE)
-xtex: $(LATEXXREFSFILE)
-xrtf: $(RTFXREFSFILE)
-
-# Create the documentation files for the various formats.
-html: $(HTMLDOCS) $(PROJECT)_mi.html
-tex: $(LATEXDOCS) $(PROJECT)_mi.tex
-rtf: $(RTFDOCS)
-ascii: $(ASCIIDOCS)
-
-# master index file, currently works only for html and latex documentation.
-$(PROJECT)_mi.html: $(HTMLXREFSFILE)
- $(ROBODOC) $< $@ INDEX HTML TITLE "$(PROJECT) Master Index"
-
-$(PROJECT)_mi.tex: $(LATEXXREFSFILE)
- $(ROBODOC) $< $@ INDEX LATEX TITLE "$(PROJECT) API Reference"
-
-# create xrefs file (file with the names of all .xref files).
-$(HTMLXREFSFILE) : $(HTMLXREFS)
- /bin/ls $(HTMLXREFS) > $@
-$(LATEXXREFSFILE) : $(LATEXXREFS)
- /bin/ls $(LATEXXREFS) > $@
-$(RTFXREFSFILE) : $(RTFXREFS)
- /bin/ls $(RTFXREFS) > $@
-
-# Rule to create an .xref file from a source file for the various formats.
-%.html.xref : %
- $(ROBODOC) $< $(@:.xref=) $(ROBOOPTS) INTERNAL GENXREF $@
-%.tex.xref : %
- $(ROBODOC) $< $(@:.xref=) $(ROBOOPTS) INTERNAL GENXREF $@
-%.rtf.xref : %
- $(ROBODOC) $< $(@:.xref=) $(ROBOOPTS) INTERNAL GENXREF $@
-
-# Rule to create html documentation from a source file.
-%.html : %
- $(ROBODOC) $< $@ HTML $(ROBOOPTS) XREF $(HTMLXREFSFILE)
-
-# Rule to create latex documentation from a source file.
-# We do not include source items, and generate laxtex documents
-# than can be included in a master document.
-%.tex : %
- $(ROBODOC) $< $@ LATEX $(ROBOOPTS) NOSOURCE SINGLEDOC XREF $(LATEXXREFSFILE)
-
-# Rule to create ascii documentation from a source file.
-%.txt : %
- $(ROBODOC) $< $@ ASCII
-
-# Rule to create rtf documentation from a source file.
-%.rtf : %
- $(ROBODOC) $< $@ RTF $(ROBOOPTS) XREF $(RTFXREFSFILE)
-
-# Use netscape to view the master index file for our project.
-example: html
- $(BROWSER) $(PROJECT)_mi.html
-
-# Use the latex programs to generate a .dvi from the master index file
-# for our prokect. View this .dvi file with xdvi
-texview: tex
- latex $(PROJECT)_mi
- makeindex $(PROJECT)_mi
- latex $(PROJECT)_mi
- latex $(PROJECT)_mi
- dvips $(PROJECT)_mi.dvi -o $(PROJECT)_mi.ps
-
-# Clean-up the mess we made
-#
-myclean:
- rm -f $(HTMLXREFS)
- rm -f $(HTMLDOCS)
- rm -f $(LATEXXREFS)
- rm -f $(LATEXDOCS)
- rm -f $(PROJECT)_mi.* *.aux
- rm -f $(RTFXREFS)
- rm -f $(RTFDOCS)
- rm -f $(ASCIIDOCS)
- rm -f $(HTMLXREFSFILE)
- rm -f $(LATEXXREFSFILE)
- rm -f $(RTFXREFSFILE)
- rm -f robodoc makefile.in makefile
- rm -f *~ stamp-h stamp-h.in
- rm -f *.o *.tex *.toc *.dvi *.aux *.log *.ps
- rm -f masterindex.html
- rm -f testheaders.html
-
-tt:
- cp robodoc $(HOME)/Test
-
-
+++ /dev/null
-# makefile.in generated automatically by automake 1.4 from makefile.am
-
-# Copyright (C) 1994, 1995-8, 1999 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.
-
-#
-#
-
-
-SHELL = @SHELL@
-
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
-VPATH = @srcdir@
-prefix = @prefix@
-exec_prefix = @exec_prefix@
-
-bindir = @bindir@
-sbindir = @sbindir@
-libexecdir = @libexecdir@
-datadir = @datadir@
-sysconfdir = @sysconfdir@
-sharedstatedir = @sharedstatedir@
-localstatedir = @localstatedir@
-libdir = @libdir@
-infodir = @infodir@
-mandir = @mandir@
-includedir = @includedir@
-oldincludedir = /usr/include
-
-DESTDIR =
-
-pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-
-top_builddir = ..
-
-ACLOCAL = @ACLOCAL@
-AUTOCONF = @AUTOCONF@
-AUTOMAKE = @AUTOMAKE@
-AUTOHEADER = @AUTOHEADER@
-
-INSTALL = @INSTALL@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS)
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-transform = @program_transform_name@
-
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-CC = @CC@
-MAKEINFO = @MAKEINFO@
-PACKAGE = @PACKAGE@
-VERSION = @VERSION@
-
-bin_PROGRAMS = robodoc
-robodoc_SOURCES = analyser.c analyser.h config.h folds.c folds.h generator.c generator.h headers.c headers.h items.c items.h links.c links.h robodoc.c robodoc.h util.c util.h
-
-
-###############################################################
-
-ROBODOC = ./robodoc
-ROBOOPTS = C SORT -v
-BROWSER = netscape
-
-# Your source files.
-#
-SOURCES = analyser.c generator.c items.c util.c folds.c headers.c links.c robodoc.c analyser.h generator.h items.h util.h folds.h headers.h links.h robodoc.h
-
-
-# The name of your Project
-#
-PROJECT = ROBODoc
-
-# The various documentation files, derived from the source files.
-# HTML
-#
-HTMLDOCS = $(SOURCES:=.html)
-HTMLXREFS = $(HTMLDOCS:.html=.html.xref)
-HTMLXREFSFILE = $(PROJECT)_html.xrefs
-# LATEX
-#
-LATEXDOCS = $(SOURCES:=.tex)
-LATEXXREFS = $(LATEXDOCS:.tex=.tex.xref)
-LATEXXREFSFILE = $(PROJECT)_tex.xrefs
-# ASCII
-#
-ASCIIDOCS = $(SOURCES:=.txt)
-# RTF
-#
-RTFDOCS = $(SOURCES:=.rtf)
-RTFXREFS = $(RTFDOCS:.rtf=.rtf.xref)
-RTFXREFSFILE = $(PROJECT)_rtf.xrefs
-mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
-CONFIG_HEADER = config.h
-CONFIG_CLEAN_FILES =
-PROGRAMS = $(bin_PROGRAMS)
-
-
-DEFS = @DEFS@ -I. -I$(srcdir) -I.
-CPPFLAGS = @CPPFLAGS@
-LDFLAGS = @LDFLAGS@
-LIBS = @LIBS@
-robodoc_OBJECTS = analyser.o folds.o generator.o headers.o items.o \
-links.o robodoc.o util.o
-robodoc_LDADD = $(LDADD)
-robodoc_DEPENDENCIES =
-robodoc_LDFLAGS =
-CFLAGS = @CFLAGS@
-COMPILE = $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-CCLD = $(CC)
-LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(LDFLAGS) -o $@
-DIST_COMMON = ./stamp-h.in config.h.in makefile.am makefile.in
-
-
-DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
-
-TAR = gtar
-GZIP_ENV = --best
-SOURCES = $(robodoc_SOURCES)
-OBJECTS = $(robodoc_OBJECTS)
-
-all: all-redirect
-.SUFFIXES:
-.SUFFIXES: .S .c .o .s
-$(srcdir)/makefile.in: makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
- cd $(top_srcdir) && $(AUTOMAKE) --gnu --include-deps Source/makefile
-
-makefile: $(srcdir)/makefile.in $(top_builddir)/config.status
- cd $(top_builddir) \
- && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
-
-
-config.h: stamp-h
- @if test ! -f $@; then \
- rm -f stamp-h; \
- $(MAKE) stamp-h; \
- else :; fi
-stamp-h: $(srcdir)/config.h.in $(top_builddir)/config.status
- cd $(top_builddir) \
- && CONFIG_FILES= CONFIG_HEADERS=Source/config.h \
- $(SHELL) ./config.status
- @echo timestamp > stamp-h 2> /dev/null
-$(srcdir)/config.h.in: $(srcdir)/stamp-h.in
- @if test ! -f $@; then \
- rm -f $(srcdir)/stamp-h.in; \
- $(MAKE) $(srcdir)/stamp-h.in; \
- else :; fi
-$(srcdir)/stamp-h.in: $(top_srcdir)/configure.in $(ACLOCAL_M4)
- cd $(top_srcdir) && $(AUTOHEADER)
- @echo timestamp > $(srcdir)/stamp-h.in 2> /dev/null
-
-mostlyclean-hdr:
-
-clean-hdr:
-
-distclean-hdr:
- -rm -f config.h
-
-maintainer-clean-hdr:
-
-mostlyclean-binPROGRAMS:
-
-clean-binPROGRAMS:
- -test -z "$(bin_PROGRAMS)" || rm -f $(bin_PROGRAMS)
-
-distclean-binPROGRAMS:
-
-maintainer-clean-binPROGRAMS:
-
-install-binPROGRAMS: $(bin_PROGRAMS)
- @$(NORMAL_INSTALL)
- $(mkinstalldirs) $(DESTDIR)$(bindir)
- @list='$(bin_PROGRAMS)'; for p in $$list; do \
- if test -f $$p; then \
- echo " $(INSTALL_PROGRAM) $$p $(DESTDIR)$(bindir)/`echo $$p|sed 's/$(EXEEXT)$$//'|sed '$(transform)'|sed 's/$$/$(EXEEXT)/'`"; \
- $(INSTALL_PROGRAM) $$p $(DESTDIR)$(bindir)/`echo $$p|sed 's/$(EXEEXT)$$//'|sed '$(transform)'|sed 's/$$/$(EXEEXT)/'`; \
- else :; fi; \
- done
-
-uninstall-binPROGRAMS:
- @$(NORMAL_UNINSTALL)
- list='$(bin_PROGRAMS)'; for p in $$list; do \
- rm -f $(DESTDIR)$(bindir)/`echo $$p|sed 's/$(EXEEXT)$$//'|sed '$(transform)'|sed 's/$$/$(EXEEXT)/'`; \
- done
-
-.c.o:
- $(COMPILE) -c $<
-
-.s.o:
- $(COMPILE) -c $<
-
-.S.o:
- $(COMPILE) -c $<
-
-mostlyclean-compile:
- -rm -f *.o core *.core
-
-clean-compile:
-
-distclean-compile:
- -rm -f *.tab.c
-
-maintainer-clean-compile:
-
-robodoc: $(robodoc_OBJECTS) $(robodoc_DEPENDENCIES)
- @rm -f robodoc
- $(LINK) $(robodoc_LDFLAGS) $(robodoc_OBJECTS) $(robodoc_LDADD) $(LIBS)
-
-tags: TAGS
-
-ID: $(HEADERS) $(SOURCES) $(LISP)
- list='$(SOURCES) $(HEADERS)'; \
- unique=`for i in $$list; do echo $$i; done | \
- awk ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- here=`pwd` && cd $(srcdir) \
- && mkid -f$$here/ID $$unique $(LISP)
-
-TAGS: $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) $(LISP)
- tags=; \
- here=`pwd`; \
- list='$(SOURCES) $(HEADERS)'; \
- unique=`for i in $$list; do echo $$i; done | \
- awk ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- test -z "$(ETAGS_ARGS)config.h.in$$unique$(LISP)$$tags" \
- || (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags config.h.in $$unique $(LISP) -o $$here/TAGS)
-
-mostlyclean-tags:
-
-clean-tags:
-
-distclean-tags:
- -rm -f TAGS ID
-
-maintainer-clean-tags:
-
-distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir)
-
-subdir = Source
-
-distdir: $(DISTFILES)
- @for file in $(DISTFILES); do \
- d=$(srcdir); \
- if test -d $$d/$$file; then \
- cp -pr $$d/$$file $(distdir)/$$file; \
- else \
- test -f $(distdir)/$$file \
- || ln $$d/$$file $(distdir)/$$file 2> /dev/null \
- || cp -p $$d/$$file $(distdir)/$$file || :; \
- fi; \
- done
-
-info-am:
-info: info-am
-dvi-am:
-dvi: dvi-am
-check-am: all-am
-check: check-am
-installcheck-am:
-installcheck: installcheck-am
-all-recursive-am: config.h
- $(MAKE) $(AM_MAKEFLAGS) all-recursive
-
-install-exec-am: install-binPROGRAMS
-install-exec: install-exec-am
-
-install-data-am:
-install-data: install-data-am
-
-install-am: all-am
- @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-install: install-am
-uninstall-am: uninstall-binPROGRAMS
-uninstall: uninstall-am
-all-am: makefile $(PROGRAMS) config.h
-all-redirect: all-am
-install-strip:
- $(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install
-installdirs:
- $(mkinstalldirs) $(DESTDIR)$(bindir)
-
-
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
- -rm -f Makefile $(CONFIG_CLEAN_FILES)
- -rm -f config.cache config.log stamp-h stamp-h[0-9]*
-
-maintainer-clean-generic:
-mostlyclean-am: mostlyclean-hdr mostlyclean-binPROGRAMS \
- mostlyclean-compile mostlyclean-tags \
- mostlyclean-generic
-
-mostlyclean: mostlyclean-am
-
-clean-am: clean-hdr clean-binPROGRAMS clean-compile clean-tags \
- clean-generic mostlyclean-am
-
-clean: clean-am
-
-distclean-am: distclean-hdr distclean-binPROGRAMS distclean-compile \
- distclean-tags distclean-generic clean-am
-
-distclean: distclean-am
-
-maintainer-clean-am: maintainer-clean-hdr maintainer-clean-binPROGRAMS \
- maintainer-clean-compile maintainer-clean-tags \
- maintainer-clean-generic distclean-am
- @echo "This command is intended for maintainers to use;"
- @echo "it deletes files that may require special tools to rebuild."
-
-maintainer-clean: maintainer-clean-am
-
-.PHONY: mostlyclean-hdr distclean-hdr clean-hdr maintainer-clean-hdr \
-mostlyclean-binPROGRAMS distclean-binPROGRAMS clean-binPROGRAMS \
-maintainer-clean-binPROGRAMS uninstall-binPROGRAMS install-binPROGRAMS \
-mostlyclean-compile distclean-compile clean-compile \
-maintainer-clean-compile tags mostlyclean-tags distclean-tags \
-clean-tags maintainer-clean-tags distdir info-am info dvi-am dvi check \
-check-am installcheck-am installcheck all-recursive-am install-exec-am \
-install-exec install-data-am install-data install-am install \
-uninstall-am uninstall all-redirect all-am all installdirs \
-mostlyclean-generic distclean-generic clean-generic \
-maintainer-clean-generic clean mostlyclean distclean maintainer-clean
-
-
-# Some common targets
-xrefall: xrefhtml xreftex xrefrtf
-docall: html tex ascii rtf
-
-# Create the xref files for the various formats.
-xhtml: $(HTMLXREFSFILE)
-xtex: $(LATEXXREFSFILE)
-xrtf: $(RTFXREFSFILE)
-
-# Create the documentation files for the various formats.
-html: $(HTMLDOCS) $(PROJECT)_mi.html
-tex: $(LATEXDOCS) $(PROJECT)_mi.tex
-rtf: $(RTFDOCS)
-ascii: $(ASCIIDOCS)
-
-# master index file, currently works only for html and latex documentation.
-$(PROJECT)_mi.html: $(HTMLXREFSFILE)
- $(ROBODOC) $< $@ INDEX HTML TITLE "$(PROJECT) Master Index"
-
-$(PROJECT)_mi.tex: $(LATEXXREFSFILE)
- $(ROBODOC) $< $@ INDEX LATEX TITLE "$(PROJECT) API Reference"
-
-# create xrefs file (file with the names of all .xref files).
-$(HTMLXREFSFILE) : $(HTMLXREFS)
- /bin/ls $(HTMLXREFS) > $@
-$(LATEXXREFSFILE) : $(LATEXXREFS)
- /bin/ls $(LATEXXREFS) > $@
-$(RTFXREFSFILE) : $(RTFXREFS)
- /bin/ls $(RTFXREFS) > $@
-
-# Rule to create an .xref file from a source file for the various formats.
-%.html.xref : %
- $(ROBODOC) $< $(@:.xref=) $(ROBOOPTS) INTERNAL GENXREF $@
-%.tex.xref : %
- $(ROBODOC) $< $(@:.xref=) $(ROBOOPTS) INTERNAL GENXREF $@
-%.rtf.xref : %
- $(ROBODOC) $< $(@:.xref=) $(ROBOOPTS) INTERNAL GENXREF $@
-
-# Rule to create html documentation from a source file.
-%.html : %
- $(ROBODOC) $< $@ HTML $(ROBOOPTS) XREF $(HTMLXREFSFILE)
-
-# Rule to create latex documentation from a source file.
-# We do not include source items, and generate laxtex documents
-# than can be included in a master document.
-%.tex : %
- $(ROBODOC) $< $@ LATEX $(ROBOOPTS) NOSOURCE SINGLEDOC XREF $(LATEXXREFSFILE)
-
-# Rule to create ascii documentation from a source file.
-%.txt : %
- $(ROBODOC) $< $@ ASCII
-
-# Rule to create rtf documentation from a source file.
-%.rtf : %
- $(ROBODOC) $< $@ RTF $(ROBOOPTS) XREF $(RTFXREFSFILE)
-
-# Use netscape to view the master index file for our project.
-example: html
- $(BROWSER) $(PROJECT)_mi.html
-
-# Use the latex programs to generate a .dvi from the master index file
-# for our prokect. View this .dvi file with xdvi
-texview: tex
- latex $(PROJECT)_mi
- makeindex $(PROJECT)_mi
- latex $(PROJECT)_mi
- latex $(PROJECT)_mi
- dvips $(PROJECT)_mi.dvi -o $(PROJECT)_mi.ps
-
-# Clean-up the mess we made
-#
-myclean:
- rm -f $(HTMLXREFS)
- rm -f $(HTMLDOCS)
- rm -f $(LATEXXREFS)
- rm -f $(LATEXDOCS)
- rm -f $(PROJECT)_mi.* *.aux
- rm -f $(RTFXREFS)
- rm -f $(RTFDOCS)
- rm -f $(ASCIIDOCS)
- rm -f $(HTMLXREFSFILE)
- rm -f $(LATEXXREFSFILE)
- rm -f $(RTFXREFSFILE)
- rm -f robodoc makefile.in makefile
- rm -f *~ stamp-h stamp-h.in
- rm -f *.o *.tex *.toc *.dvi *.aux *.log *.ps
- rm -f masterindex.html
- rm -f testheaders.html
-
-tt:
- cp robodoc $(HOME)/Test
-
-# 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
-#****h* ROBODoc/Makefile.plain
-# NAME
-# Makefile.plain -- Plain makefile that does not need autoconf
-# SYNOPSIS
-# make robodoc
-# make html
-# make example
-# make count
-# make test
-# make clean
-# PURPOSE
-# The makefile for SAS C compiler v6.x and Dice, and GCC.
-# You can use it if you are on a non Unix system or a system
-# that does not support autoconfiguration.
-#
-#
-#
-# The following targets are the most useful for the user.
-#
-# robodoc - makes the robodc executable.
-# example - makes robodoc and shows you the autodocs
-# generated from the ROBODoc source code
-# using browser.
-# html - makes autodocs for robodoc in html format.
-#
-# Developers might try:
-# test -
-# count -
-# clean -
-# NOTES
-# This documentation is not complete. It is just a test to see
-# how to best use ROBODoc with make files.
-#
-#****
-#
-# $Id$
-#
-
-SHELL = /bin/sh
-.SUFFIXES:
-.SUFFIXES: .c .o
-
-#--------------------------------------
-# use DICE C under AmigaOS
-#--------------------------------------
-#CC = dcc
-#CFLAGS =
-
-#--------------------------------------
-# use gcc (optimising for AmigaOS)
-#--------------------------------------
-#CC = gcc
-#CFLAGS = -O2 -fstrength-reduce -s -m68020-40 -noixemul
-
-#--------------------------------------
-# use gcc (generic)
-#--------------------------------------
-
-CC = gcc
-CFLAGS = -Wall -ansi -pedantic
-LIBS=
-
-#
-#
-#
-
-BROWSER=netscape
-ROBODOC=./robodoc
-ETAGS=/usr/bin/etags
-EGREP=/bin/egrep
-RM=/bin/rm
-
-all: robodoc
-
-#--------------------------------------
-# sources for the robodoc executable
-#--------------------------------------
-
-SOURCES=analyser.c generator.c items.c util.c folds.c headers.c \
- links.c robodoc.c
-
-OBJECTS=analyser.o generator.o items.o util.o folds.o headers.o \
- links.o robodoc.o
-
-#****** makefile.plain/robodoc
-# NAME
-# robodoc --
-# NOTE
-# This assumes that you version of make knows how to make an .o file
-# out of an .c file.
-# SOURCE
-#
-
-robodoc : $(OBJECTS)
- $(CC) $(OBJECTS) -o robodoc $(LIBS)
-
-#****
-
-
-#****** makefile.plain/html
-# NAME
-# html -- ROBODoc HTML autodocs for ROBODoc
-# FUNCTION
-#
-#****
-
-DOCS=analyser.c.html generator.c.html items.c.html util.c.html \
- folds.c.html headers.c.html links.c.html robodoc.c.html \
- analyser.h.html generator.h.html items.h.html util.h.html \
- folds.h.html headers.h.html links.h.html robodoc.h.html
-
-XREF=$(DOCS:.html=.xref)
-
-XREFSFILE=robodoc.html.xrefs
-
-html : robodoc masterindex.html
-
-#
-# create xrefs file (file with the names of all .xref files).
-#
-robodoc.html.xrefs : $(XREF)
- /bin/ls *.xref > $@
-
-#
-# Rule to create an .xref file from a source file.
-#
-%.xref : %
- $(ROBODOC) $< $(@:.xref=.html) INTERNAL GENXREF $@
-
-#
-# Rule to create an .html file from a source file.
-#
-%.html : % $(XREFSFILE)
- $(ROBODOC) $< $@ HTML INTERNAL XREF $(XREFSFILE)
-
-
-masterindex.html : $(XREFSFILE) $(DOCS)
- $(ROBODOC) $(XREFSFILE) $@ INDEX HTML TITLE "ROBODoc Master Index"
-
-
-#****** makefile.plain/example
-# NAME
-# example -- create and show autodocs extracted from ROBODoc source.
-# FUNCTION
-#
-#****
-
-example : html
- $(BROWSER) masterindex.html
-
-#----------------------------
-# Development
-#----------------------------
-
-tags :
- $(ETAGS) *.c *.h
-
-#****** makefile.plain/count
-# NAME
-# count -- count the number of lines of the ROBODoc source.
-#****
-
-count :
- $(EGREP) -v -G "^ \*" *.c *.h | egrep -v -G "/\*" | wc
-
-
-#****** makefile.plain/test
-# NAME
-# test -- run some tests
-# FUNCTION
-# Runs robodoc on file with a number of different headers.
-#
-#****
-
-test : $(ROBODOC)
- $(ROBODOC) testheaders.c testheaders.html HTML -v
-
-
-#****** makefile.plain/clean
-# NAME
-# clean -- Clean up the mess we made.
-# FUNCTION
-# Cleans up the mess we made.
-#*****
-
-clean :
- $(RM) -f $(DOCS) $(XREF)
- $(RM) -f robodoc
- $(RM) -f *~
- $(RM) -f *.o *.tex *.toc *.dvi *.aux *.log *.ps
- $(RM) -f masterindex.html
- $(RM) -f testheaders.html
- $(RM) -f stamp-h* makefile.in config.h robodoc.html.xrefs
-
-#------------------------------
-# Construction of the makefile
-#------------------------------
-
-depend :
- makedepend -Y"" -f makefile.plain *.c *.h
-
-# DO NOT DELETE
-
-analyser.o: config.h.in robodoc.h headers.h items.h util.h folds.h links.h
-analyser.o: analyser.h
-folds.o: config.h.in folds.h robodoc.h
-generator.o: config.h.in robodoc.h headers.h items.h folds.h util.h links.h
-generator.o: generator.h analyser.h
-headers.o: config.h.in robodoc.h headers.h
-items.o: config.h.in robodoc.h items.h
-links.o: config.h.in headers.h robodoc.h util.h links.h
-robodoc.o: config.h.in robodoc.h folds.h headers.h items.h util.h links.h
-robodoc.o: analyser.h generator.h
-util.o: config.h.in robodoc.h links.h headers.h folds.h items.h util.h
-
+++ /dev/null
-/****h* Autodoc/ROBODoc [3.2]
- * NAME
- * ROBODoc -- AutoDoc formatter
- * COPYRIGHT
- * Copyright (C) 1994-2000 Frans Slothouber and Jacco van Weert.
- *
- * 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
- *
- * FUNCTION
- * ROBODoc is intended to be a replacement for the original AutoDocs
- * program. ROBODoc will extract the procedure comment headers
- * from a source file, and put them into a separate documentation file.
- * There are five different file output formats:
- * ASCII
- * HTML (HyperText Markup Langauge) -- mainly used on the Internet;
- * thus the files can be viewed with a normal HTML viewer/browser
- * AmigaGuide -- this format can be viewed by AmigaGuide (Amiga only)
- * LaTeX - as input to LaTeX to produce .dvi files
- * RTF (Rich Text Format) -- as input to the Help compiler (Windows only)
- * For further information read the documentation in the archive.
- * AUTHOR
- * Frans Slothouber: <fslothouber@acm.org>.
- * Source code and additional extensions from version 2.0 and up.
- *
- * Petteri Kettunen: <petterik@iki.fi>
- * Bug fixes, FOLD, C features.
- *
- * Jacco van Weert: <weertj@xs4all.nl>
- * Original idea and program.
- *
- * Bernd Koesling: <KOESSI@CHESSY.aworld.de>
- * Bug fixes, functional improvements, code cleanup.
- *
- * Anthon Pang: <apang@mindlink.net>
- * RTF support, Bug fixes.
- *
- * Thomas Aglassinger: <agi@sbox.tu-graz.ac.at>
- * Fixes and cleanup of HTML-output
- *
- * CREATION DATE
- * 20-Dec-94
- * MODIFICATION HISTORY
- * Modifications by Jacco van Weert.
- * 19-Jan-95 - v0.8: First test beta-version
- * 26-Jan-95 - v0.92: 2nd test beta-version
- * 2-Feb-95 - v0.93: Mungwall hit, solved.
- * When item headers, are also available
- * in body then parts are duplicated solved.
- * Mar-95 - v1.0a: Final version
- * 2-Apr-95 - v1.0b: Bug fixes
- * Procedure header search bug solved.
- * Print 'created procedure' text
- * 20-Apr-95 - v1.1a: INTERNALONLY option added.
- * Sort problem solved.
- * Modifications by FNC Slothouber.
- * 10-May-1995 - v2.0a * Program completely rewritten
- * * added SOURCE item and LaTeX output.
- * * added TAB converter.
- * 11-May-1995 - v2.0b * Accepts headers that start with
- * any sequence of non-spaces.
- * RoboDoc should work with any
- * type of programming language now.
- * 12-May-1995 - v2.0c * Bug fixes.
- * 15-May-1995 - v2.0d * New Defaults file.
- * * Added Verbose option.
- * 24-May-1995 - v2.0e * Fixed a bug that cause the
- * CleanUp Routine to lock up.
- * * Improved the HTML output,
- * should work faster now.
- * Modifications by Koessi
- * 01-Aug-1995 - v2.0? * more robust parsing, less enforcer-hits
- * * removed self-referencing links !
- * * remarked most changes with *koessi*
- * * added GoldEd-foldmarks
- * * compiled successfully with SAS-C 6.3
- * 07-Aug-1995 - * automated foldmarks "\***"
- * ! GoldEd's foldmarks == RoboDoc marker !
- * * quoted source parsing enhanced
- * 08-Aug-1995 - * a lot of while instead of for
- * * a lot of switch() instead of ifelse
- * * version defined
- * * RB_Say, RB_Panic now useable like printf()
- * new formats for nearly all output-strings
- * * char *whoami is global copy of argv[0]
- * * BOLD <- MAKE_LARGE && AMIGAGUIDE
- * * succesfully compiled&tested on HPUX
- * (HP9000/800)
- * * optimized listfunctions
- * * encapsulated header- and link-
- * allocating and freeing
- * * RB_Find_Function_Name() replaced
- * with RB_FilePart()
- * Modifications by FNC Slothouber.
- * 18-Aug-1995 - v3.0
- * o New scanner that searches for a set default markers
- * that define what is a comment or what is not and that
- * define what or what is not a header/end marker.
- * o Added Beast Support
- * 27-Aug-1995 - v3.0b
- * o Fixed a bug with the defaults file
- * o Improved search algorithm RoboDoc is now 5.8 times faster.
- * 06-Sep-1995 - v3.0c
- * o Bug fixes
- * 08-Oct-1995 - v3.0d
- * o Bug fixes
- * 04-Feb-1996 - v3.0e
- * o fixed the problem with the TOC that included links to headers that
- * were not selected. (i.e internal)
- * Modifications by apang
- * 08-Mar-1996 - v3.0f
- * o Cleaner build for Borland C++ 4.52
- * o Added more markers (C++, Pascal, Modula-2, COBOL)
- * o Added more item types/names
- * o Added #defines for the preamble (COMMENT_ROBODOC and
- * COMMENT_COPYRIGHT)
- * o BLANK_HEADER for detection of asterisk'd lines
- * o RB_Say() the GENERIC header warning instead of using printf()
- * o Indents SOURCE body in output
- * o ASCII respects the TOC flag; removed extraneous newline after
- * formfeed (so it's more like AutoDoc)
- * o HTML output fixed to handle '<', '>', and '&'
- * o LaTeX attributes and '%' handling added; fancied up the output a bit
- * o RTF support added
- * o Changed some fprintf()'s to fputc()'s for potentially lower overhead
- * o Fixed line eater bug
- * o More general fix to the TOC problem of including internal links
- * when it wasn't selected
- * Modifications by FNC Slothouber.
- * 01-April-1996 - v3.0h
- * o Added ';' to > and < so lynx also recognizes them.
- * o Fancied up the HTML output.
- * 10-July-1996 - v3.0i
- * o Bug Fix, Both the options INTERNAL and INTERNALONLY did not
- * work correctly.
- * Modifications by agi
- * 15-Dec-1997 - v3.0j
- * o cleaned the HTML-output, so it now conforms to the DTD for HTML-3.2
- * o TOC now is an ordered list (<OL> and <LI>)
- * o added "<!DOCTYPE..>"
- * o added quotes to values of some HTML-attributes
- * o more compatible implementation of the SGML-comment containing
- * copyright-info replaced all occurrences of <B><PRE>.. by <PRE><B>
- * o replaced <H2/3> by <H1/2>
- * o fixed two minor warnings reported by gcc -Wall
- * Modifications by FNC Slothouber.
- * 14-Aug-1998 - v3.0k * Tcl/Tk '#' handling added;
- * Feb-1999 - v3.0l * Added function to reverse the header list.
- * Modifications by Petteri Kettunen
- * Feb 1999 - v3.0m
- * o Changed background color to white
- * o Changed size of Table of Contents title. (H3 instead of H1)
- * o The reverse function also reversed the sorted header list,
- * fixed this.
- * Modifications by Petteri Kettunen
- * August 1999 - v3.0m+
- * o Support for folding in SOURCE items, HTML only.
- * o indent -kr
- * o Added options FOLD and C
- * Modifications by FNC Slothouber.
- * August 1999 - v3.1
- * o More documentation and a more informative usage() function.
- * o GPL-ed.
- * o robodoc -c prints licence
- * o removed a number of Source items from the documentation to reduce
- * the size of the robodoc.c.html file... no fun for people
- * to download a >100k file.
- * o removed the warning about not using a robodoc default file.
- * o indent -orig -i2 -nbc -ncdb -bad -bap
- * o Fixed the warnings.
- * o Fixed some occurrences of (evil cast)malloc (thou shalt not
- * cast malloc :)
- * o ROBODoc now returns EXIT_FAILURE or EXIT_SUCCESS, as defined
- * in <stdlib.h>
- * o Fixed a memory leak in RB_Analyse_Document()
- * Oct 1999 - v3.1b
- * o <A NAME="source code file name"> is generated at the beginning of
- * each document. A mention of the source code name in another
- * document creates a link to this name (provided you use xrefs).
- * o Moved most #defines and enums to robodoc.h
- * o Made ROBODoc more forgiving in reading the xrefs file. Empty
- * lines are allowed and also spaces at the end of a file name.
- * Nov 1999 - v3.1c -- From patches that I received from Stefan Kost
- * o renamed BEAST METHODS -> METHODS
- * o renamed BEAST ATTRIBUTES -> ATTRIBUTES
- * o added new items useful for object oriented programming; some of
- * these items are already used in os3.1 autodocs
- * TAGS, COMMANDS, DERIVED FROM, DERIVED BY, USES,
- * CHILDREN, USED BY, PARENTS, USAGE, PURPOSE
- * o commented the item names
- * o changed item-type enums to end all with _ITEM
- * o changed RB_Find_Link to accept names ending with '...'
- * o changed copyright comment to be a style-guide conform version string.
- * o changed RB_VER[] to be a style-guide conform version string
- * o changed AMIGA into _AMIGA, because the first one does not exists,
- * when compiling with NOANSI on SAS C/C++
- * Dec 1999 - v3.1d
- * o added new header types for, classes, methods, variables,
- * functions, strutures and constants. (Idea of Stefan Kost)
- * o added a command to create a master index file that contains
- * sorted pointers to all classes, methods, variables,
- * functions, strutures and constants.
- * Dec 1999 - v3.1e
- * o added markers for HTML.
- * o modified the RB_Find_Link() function to also words that include
- * "::". This is used for C++ methods.
- * o added a RB_Function_Name() function that correctly extracts the
- * function name (or the name of any other object that is documented)
- * from the header name. The old code used RB_FilePart which failed
- * on C++ method names.
- * o Fixed a core-dumping bug in RB_Set_Doc_Base()
- * Dec 1999 - v3.1f
- * o added RB_TimeStamp() to include time stamps in the documentation.
- * o Documentation is now generated in LaTeX2e format.
- * o added '|****' as begin marker, '|' as remark marker and '|***' as
- * end marker for GNU assembler support.
- * o ran ident on all source. Using the GNU standard now.
- * o Added new fold markers provided by Petteri
- * May 2000 - v3.2
- * o Using automake and autoconf.
- * o Added fixes to folding code Petteri.
- * o Added markers for FORTAN 90
- * June 2000 - V3.2.1
- * o Added patch from Simo Muinonen: This solved the following
- * problem:
- * When e.g. a field of a structured C variable (with an
- * underscore in its name) is referred to using the
- * point notation (e.g. "g_Status.tpstat"), the variable
- * name is not recognized as a separate keyword. This
- * can also happen when a keyword is in a comment at the
- * end of a sentence with an immediately following ".".
- * o Fixed the "stuctures" type in the master index file.
- * o Added mailto: support provided by Guillaume Etorre.
- * July 2000 - V3.2.2
- * o Added option SINGLEDOC
- * For LaTeX output this generates documentation without
- * the start and end headers. This way the generated file
- * can be included in a master file.
- * o Added master index file for LaTeX output. The documentation
- * gathered from several source files can now be included into
- * one big file.
- * o Added the option NOSOURCE. With this option the SOURCE item
- * is not included in the documentation.
- * o Added the TITLE option. This allows to set the title for
- * the master index file.
- * o Made the search for headermarkers case insensitve.
- * REM == Rem == rem
- * July 2000 - V3.2.3
- * o Fixed a bug that caused links of the type
- * "someword/anotherword," to be ignored, while
- * "someword/anotherword" was recognized.
- * Sep 2000
- * o Labels with identical names are now numbered.
- * Apr 2001
- * o The source file is opened "rb" this I hope will
- * make it possible to use Robodoc under windows.
- * (Thanks to Carlo Caminati)
- *
- * NOTES
- * Has been succesfully compiled:
- * On an Amiga with SAS/C, DICE C and gcc (Amiga 1200)
- * On a Sun Sparc Station with gcc (under SunOS 4.1)
- * On a Dec Alpha Station
- * Under HP/UX on a HP9000/800
- * Under IRIX
- * On a Linux box with gcc, Slackware, Redhat, and Debian 2.1.
- * BUGS
- * - HTML output is not Lynx friendly -- attributes are applied
- * to leading white space =P ... solution: fix Lynx >=)
- * - Can't get the escape character for @ to work in
- * AmigaGuide format.
- * - Horrible use of feof() and fgets()
- * Other bugs?
- * Catch them in a jar and send them to fslothouber@acm.org
- * Latest version can be found on
- * http://robodoc.sourceforge.net
- * http://www.xs4all.nl/~rfsber/Robo/
- * http://freshmeat.net/
- *
- ****/
-
-#include <stdlib.h>
-#include <stdio.h>
-#include <string.h>
-#include <ctype.h>
-#include "robodoc.h"
-#include "folds.h"
-#include "headers.h"
-#include "items.h"
-#include "util.h"
-#include "links.h"
-#include "analyser.h"
-#include "generator.h"
-
-#ifdef _AMIGA
-char RB_VER[] = "\0$VER: robodoc " VERSION " " __AMIGADATE__ " (c) by Maverick Software Development 1994-2001";
-#else
-char RB_VER[] = "$VER: robodoc " VERSION " (" __DATE__ ") (c) by Maverick Software Development 1994-2001";
-#endif
-
-
-/****v* ROBODoc/source
- * NAME
- * source -- source code file.
- * PURPOSE
- * Pointer to the file with source code.
- * NOTES
- * This is a global. It is however only used by main() and
- * RB_Close_The_Shop(). All other functions are passed a copy.
- *
- * It is a global so that the file can be closed by
- * RB_Close_The_Shop() when the program exits (normally or
- * abnormaly).
- *****
- */
-
-FILE *source = NULL;
-
-/****v* ROBODoc/documentation
- * NAME
- * documentation -- documentation file.
- * PURPOSE
- * Pointer to the file that will contain the documentation extracted
- * from the source code.
- * NOTES
- * This is a global. It is however only used by main() and
- * RB_Close_The_Shop(). All other functions are passed a copy.
- *
- * It is a global so that the file can be closed by
- * RB_Close_The_Shop() when the program exits (normally or
- * abnormaly).
- *****
- */
-
-FILE *documentation = NULL;
-
-
-/****v* ROBODoc/document_title
- * NAME
- * documentat_title -- title for the documentation.
- * PURPOSE
- * Used as the title for master index files or for latex documentation.
- *****
- */
-
-char *document_title = NULL;
-
-/****v* ROBODoc/output_mode [2.0]
- * NAME
- * output_mode -- the mode of output
- * FUNCTION
- * Controls which type of output will be generated.
- * SOURCE
- */
-
-int output_mode = ASCII;
-
-/*******/
-
-
-/****v* ROBODoc/course_of_action [2.0]
- * NAME
- * course_of_action
- * FUNCTION
- * Global Variable that defines the course of action.
- * SOURCE
- */
-
-int course_of_action = DO_MAKE_DOCUMENT;
-
-/*******/
-
-
-/****v* ROBODoc/line_buffer [2.0]
- * NAME
- * line_buffer -- global line buffer
- * FUNCTION
- * Temporary storage area for lines
- * that are read from an input file.
- * SOURCE
- */
-
-char line_buffer[MAX_LINE_LEN];
-
-/*******/
-
-
-/****v* ROBODoc/line_number [2.0]
- * NAME
- * line_number -- global line counter
- * PURPOSE
- * Keeps track of the number of lines that are read from the source file.
- * AUTHOR
- * Koessi
- * SOURCE
- */
-
-int line_number = 0;
-
-/*******/
-
-
-/****v* ROBODoc/use [3.0h]
- * NAME
- * use -- usage string
- * FUNCTION
- * Inform the user how to use ROBODoc.
- * AUTHOR
- * Koessi
- * SOURCE
- */
-
-char use[] =
-"ROBODoc Version " VERSION ", autodocs formatter ($Revision$)\n"
-"(c) 1994-2001 Frans Slothouber and Jacco van Weert\n"
-"robodoc comes with ABSOLUTELY NO WARRANTY.\n"
-"This is free software, and you are welcome to redistribute it\n"
-"under certain conditions; type `robodoc -c' for details.\n"
-"\n"
-"Usage:\n"
-" robodoc <source file> <documentation file> [options]\n"
-" or\n"
-" robodoc <xrefs file> <master index file> INDEX [options]\n"
-"\n"
-"You can use one or more of the following options:\n"
-" GENXREF <xref file> - to generate an xref file.\n"
-" XREF <xrefs file> - if you want to use xref files to create\n"
-" cross links.\n"
-" INDEX - create a master index file.\n"
-" TABSIZE <nr_sp> - convert each TAB to nr_sp of spaces.\n"
-" TOC - a table of contents will be generated.\n"
-" SORT - the headers will be sorted.\n"
-" -v - tell robodoc to tell you all about it.\n"
-" INTERNAL - headers marked internal will also be included.\n"
-" INTERNALONLY - only headers marked internal will be included.\n"
-" FOLD - enable folding if HTML output is selected.\n"
-" C - Use ANSI C grammar in source items (test, HTML only).\n"
-"The type of output is selected with one of the following switches:\n"
-" ASCII, GUIDE, HTML, LATEX, or RTF\n"
-"If no type is specified ASCII is used.\n"
-"The following abbreviations are also allowed:\n"
-" TOC = -t XREF = -x SORT = -s INTERNAL = -i \n"
-" GENXREF = -g INTERNALONLY = -io TABSIZE = -ts\n"
-"Example:\n"
-" robodoc simulator.c simulator.html HTML -v TOC SORT\n"
-"Authors/Contributors: Frans Slothouber <fslothouber@acm.org>,"
-" Jacco van Weert,\n"
-" Petteri Kettunen, Bernd Koesling, Thomas Aglassinger, Anthon Pang, and\n"
-" Stefan Kost\n"
-"For more information, and the lastest version:\n"
-" http://www.xs4all.nl/~rfsber/Robo/index.html\n"
-" Send bug reports to <fslothouber@acm.org>.\n";
-
-/********/
-
-
-/****v* ROBODoc/copying [3.1]
- * NAME
- * copying -- licence information
- * FUNCTION
- * inform the user how to copy me
- * AUTHOR
- * Frans
- *******
- */
-
-char copying[] =
-"\n"
-" Distributed under the GNU GENERAL PUBLIC LICENSE\n"
-" TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION\n"
-" See the source archive for a copy of the complete licence\n"
-" If you do not have it you can get it from\n"
-" http://freshmeat.net/appindex/1999/08/30/936003795.html\n";
-
-
-/* Global variables */
-
-char *whoami = NULL; /* me,myself&i */
-int tab_size = 8;
-char doc_base[1024]; /* PetteriK */
-
-
-/****f* ROBODoc/RB_Set_Doc_Base
- * NAME
- * RB_Set_Doc_Base -- get file name without extension.
- ******
- */
-
-void
-RB_Set_Doc_Base (char *path)
-{
- int ptr = 0, n = -1;
-
- while (path[ptr] != '\0')
- {
- if (path[ptr] == '.')
- {
- n = ptr;
- }
- ptr++;
- }
- if (n != -1)
- {
- strncpy (doc_base, path, n);
- }
- else
- {
- strcpy (doc_base, path);
- }
- RB_Say ("doc_base is \"%s\"\n", doc_base);
-}
-
-
-
-
-/****f* ROBODoc/main [2.0d]
- * NAME
- * main -- Entry point of ROBODoc
- * SYNOPSIS
- * main (int argc, char **argv)
- * FUNCTION
- * Get and parse the arguments.
- * Analyse document and generate the documentation.
- * SOURCE
- */
-
-int
-main (int argc, char **argv)
-{
- char *file_with_xrefs, *output_file_for_xrefs;
-
- whoami = argv[0]; /* global me,myself&i */
- if (argc < 2)
- {
- printf ("%s", use);
- }
- else if (argc < 3)
- {
- if (strcmp (argv[1], "-c") == 0)
- {
- printf ("%s", copying);
- }
- else
- {
- printf ("%s", use);
- }
- }
- else
- {
- RB_Analyse_Arguments (argc, argv, &file_with_xrefs,
- &output_file_for_xrefs);
-
- RB_Say ("Analysing Defaults File\n");
- RB_Analyse_Defaults_File ();
-
- RB_Say ("trying to open source file \"%s\"\n", argv[1]);
- if ((source = fopen (argv[1], "rb")) != NULL)
- {
- if (!(course_of_action & DO_INDEX))
- {
- RB_Say ("analysing source file \"%s\"\n", argv[1]);
- RB_Analyse_Document (source);
- RB_Number_Duplicate_Headers();
-
- if (course_of_action & DO_SORT)
- {
- RB_Say ("sorting headers\n");
- RB_Slow_Sort ();
- }
- else
- {
- RB_Reverse_List ();
- }
- if ((course_of_action & DO_USE_XREFS) && file_with_xrefs)
- {
- if ((xreffiles_file = fopen (file_with_xrefs, "r")) != NULL)
- {
- RB_Analyse_Xrefs (xreffiles_file);
- }
- else
- {
- RB_Panic ("can't open file with xref files \"%s\"\n",
- file_with_xrefs);
- }
- }
- }
- else
- { /* INDEX */
- if ((xreffiles_file = fopen (argv[1], "r")) != NULL)
- {
- RB_Analyse_Xrefs (xreffiles_file);
- }
- else
- {
- RB_Panic ("can't open file with xref files \"%s\"\n",
- argv[1]);
- }
- }
- if (course_of_action & DO_MAKE_DOCUMENT)
- {
- RB_Say ("trying to open destination file \"%s\"\n", argv[2]);
- if ((documentation = fopen (argv[2], "w")) != NULL)
- {
- RB_Say ("generating documentation\n");
- RB_Set_Doc_Base (argv[2]);
- RB_Generate_Documentation (documentation,
- RB_FilePart (argv[1]),
- RB_FilePart (argv[2]));
- fclose (documentation);
- documentation = NULL;
- }
- else
- RB_Panic ("can't open destination file \"%s\"\n", argv[2]);
- }
- else if ((course_of_action & DO_MAKE_XREFS)
- && output_file_for_xrefs)
- {
- RB_Say ("trying to open xref destination file \"%s\"\n",
- output_file_for_xrefs);
- if ((documentation = fopen (output_file_for_xrefs, "w")) != NULL)
- {
- RB_Say ("generating xref destination file \"%s\"\n",
- output_file_for_xrefs);
- RB_Generate_xrefs (documentation, argv[1], argv[2]);
- fclose (documentation);
- documentation = NULL;
- }
- else
- RB_Panic ("can't open xref destination file \"%s\"\n",
- output_file_for_xrefs);
- }
- else if (course_of_action & DO_INDEX)
- {
- if ((documentation = fopen (argv[2], "w")) != NULL)
- {
- RB_Generate_Index (documentation, argv[1]);
- fclose (documentation);
- documentation = NULL;
- }
- else
- {
- RB_Panic ("can't open destination file \"%s\"\n", argv[2]);
- }
- }
- }
- else
- RB_Panic ("can't open source file \"%s\"\n", argv[1]);
- }
- RB_Say ("Ready\n");
- RB_Close_The_Shop ();
- return EXIT_SUCCESS;
-}
-
-/*****/
-
-
-
-
-/****f* ROBODoc/RB_Analyse_Arguments [3.0h]
- * NAME
- * RB_Analyse_Arguments
- * SYNOPSIS
- * RB_Analyse_Arguments (argc, argv, file_with_xrefs,
- * output_file_for_xrefs)
- * RB_Analyse_Arguments (int, char **, char **, char **)
- * FUNCTION
- * Get and parse the arguments. This is a quite complex function.
- * It assumes that the first and second parameter are the
- * name of the source file and name of the documentation file
- * respectively. They are therefore skipped.
- * May modifie: output_mode, course_of_action, file_with_xrefs,
- * output_file_for_xrefs, document_title.
- * SOURCE
- */
-
-void
-RB_Analyse_Arguments (int argc, char **argv,
- char **file_with_xrefs,
- char **output_file_for_xrefs)
-{
- char **parameter;
- int parameter_nr;
-
- for (parameter_nr = argc - 3, parameter = argv + 3;
- parameter_nr > 0;
- parameter++, parameter_nr--)
- {
-
- if (!RB_Str_Case_Cmp (*parameter, "HTML"))
- output_mode = HTML;
- else if (!RB_Str_Case_Cmp (*parameter, "GUIDE"))
- output_mode = AMIGAGUIDE;
- else if (!RB_Str_Case_Cmp (*parameter, "LATEX"))
- output_mode = LATEX;
- else if (!RB_Str_Case_Cmp (*parameter, "ASCII"))
- output_mode = ASCII;
- else if (!RB_Str_Case_Cmp (*parameter, "RTF"))
- output_mode = RTF;
- else if (!RB_Str_Case_Cmp (*parameter, "FOLD"))
- extra_flags |= FOLD; /* PetteriK */
- else if (!RB_Str_Case_Cmp (*parameter, "C"))
- extra_flags |= C_MODE; /* PetteriK */
- else if (!RB_Str_Case_Cmp (*parameter, "SORT") ||
- !RB_Str_Case_Cmp (*parameter, "-S"))
- course_of_action |= DO_SORT;
- else if (!RB_Str_Case_Cmp (*parameter, "INDEX"))
- {
- course_of_action |= DO_INDEX;
- course_of_action &= ~DO_MAKE_DOCUMENT;
- }
- else if (!RB_Str_Case_Cmp (*parameter, "INTERNAL") ||
- !RB_Str_Case_Cmp (*parameter, "-I"))
- course_of_action |= DO_INCLUDE_INTERNAL;
- else if (!RB_Str_Case_Cmp (*parameter, "SINGLEDOC"))
- course_of_action |= DO_SINGLEDOC;
- else if (!RB_Str_Case_Cmp (*parameter, "NOSOURCE"))
- course_of_action |= DO_NOSOURCE;
- else if (!RB_Str_Case_Cmp (*parameter, "INTERNALONLY") ||
- !RB_Str_Case_Cmp (*parameter, "-IO"))
- course_of_action |= DO_INTERNAL_ONLY;
- else if (!RB_Str_Case_Cmp (*parameter, "TOC") ||
- !RB_Str_Case_Cmp (*parameter, "-T"))
- course_of_action |= DO_TOC;
- else if (!RB_Str_Case_Cmp (*parameter, "-V"))
- course_of_action |= DO_TELL;
- else if (!RB_Str_Case_Cmp (*parameter, "TITLE"))
- {
- if (--parameter_nr)
- {
- parameter++;
- document_title = *parameter;
- RB_Say ("TITLE=\"%s\"\n", *document_title);
- }
- else
- RB_Panic ("you must specify a title with the TITLE option\n");
- }
- else if (!RB_Str_Case_Cmp (*parameter, "XREF") ||
- !RB_Str_Case_Cmp (*parameter, "-X"))
- {
- if (--parameter_nr)
- {
- parameter++;
- *file_with_xrefs = *parameter;
- RB_Say ("XREF=\"%s\"\n", *file_with_xrefs);
- course_of_action |= DO_USE_XREFS;
- }
- else
- RB_Panic ("you must specify a xref file with the XREF option\n");
- }
- else if (!RB_Str_Case_Cmp (*parameter, "TABSIZE") ||
- !RB_Str_Case_Cmp (*parameter, "-TS"))
- {
- if (--parameter_nr)
- {
- parameter++;
- tab_size = atoi (*parameter);
- }
- else
- {
- RB_Panic ("you must specify the number of spaces with the"
- " TABSIZE option\n");
- }
- }
- else if (!RB_Str_Case_Cmp (*parameter, "GENXREF") ||
- !RB_Str_Case_Cmp (*parameter, "-G"))
- {
- if (--parameter_nr)
- {
- ++parameter;
- *output_file_for_xrefs = *parameter;
- RB_Say ("GENXREF=\"%s\"\n", *output_file_for_xrefs);
- course_of_action |= DO_MAKE_XREFS;
- course_of_action &= ~DO_MAKE_DOCUMENT;
- }
- else
- RB_Panic ("you must specify a xref file with the GENXREF option\n");
- }
- else
- {
- RB_Panic ("unknown option %s\n", *parameter);
- }
- }
- if ((course_of_action & DO_USE_XREFS) &&
- (output_mode == ASCII) &&
- !(course_of_action & DO_INDEX))
- {
- printf ("%s: WARNING, you can not use xrefs when you generate\n"
- "\t\tdocumentation in ASCII [discarding switch]\n",
- argv[0]);
- course_of_action &= ~DO_USE_XREFS;
- }
- if (course_of_action & DO_INDEX)
- {
- if ((output_mode != LATEX) && (output_mode != HTML)) {
- RB_Panic ("you can only use the INDEX option in combination with LATEX or HTML\n");
- }
- }
-}
-
-/******/
-
-
-
-/****i* ROBODoc/RB_Close_The_Shop [3.0b]
- * NAME
- * RB_Close_The_Shop -- free resources.
- * SYNOPSIS
- * void RB_Close_The_Shop ()
- * FUNCTION
- * Frees all resources used by robodoc.
- * SEE ALSO
- * RB_Free_Header(), RB_Free_Link()
- * SOURCE
- */
-
-void
-RB_Close_The_Shop (void)
-{
- struct RB_header *cur_header, *tmp_header;
- struct RB_link *cur_link, *tmp_link;
-
- if (source)
- fclose (source);
- if (documentation)
- fclose (documentation);
- if (xreffiles_file)
- fclose (xreffiles_file);
- if (xref_file)
- fclose (xref_file);
-
- for (cur_header = first_header; cur_header;)
- {
- tmp_header = cur_header->next_header;
- RB_Free_Header (cur_header);
- cur_header = tmp_header;
- }
-
- for (cur_link = first_link; cur_link;)
- {
- tmp_link = cur_link->next_link;
- RB_Free_Link (cur_link);
- cur_link = tmp_link;
- }
-
- if (header_index)
- free (header_index);
- if (link_index)
- free (link_index);
-}
-
-/******/
+++ /dev/null
-/*
- * ROBODoc - a documentation extraction program for several languages.
- *
- * Copyright (C) 1994-1999 Frans Slothouber and Jacco van Weert.
- * 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
- *
- */
-
-#ifdef HAVE_CONFIG_H
-#include "config.h"
-#endif
-
-#ifndef VERSION
-#define VERSION "unknown"
-#endif
-
-#define COMMENT_ROBODOC \
- "Generated with ROBODoc Version " VERSION " (" __DATE__ ")\n"
-#define COMMENT_COPYRIGHT\
- "ROBODoc (c) 1994-2001 by Frans Slothouber and Jacco van Weert.\n"
-
-#define DO_SORT (1<<0)
-#define DO_MAKE_XREFS (1<<1)
-#define DO_USE_XREFS (1<<2)
-#define DO_TOC (1<<3)
-#define DO_MAKE_DOCUMENT (1<<4)
-#define DO_INCLUDE_INTERNAL (1<<5)
-#define DO_INTERNAL_ONLY (1<<6)
-#define DO_TELL (1<<7)
-#define DO_INDEX (1<<8)
-#define DO_SINGLEDOC (1<<9)
-#define DO_NOSOURCE (1<<10)
-
-/* Output Modes */
-
-enum
- {
- ASCII = 0, AMIGAGUIDE, HTML, LATEX, RTF, SIZE_MODES
- };
-
-/* Reserved for Future Use */
-
-enum
- {
- ANSI, GNUINFO, TROFF, XML
- };
-
-/* Evil macros !! */
-
-#define skip_while(cond) { for (;*cur_char && (cond);cur_char++) ; }
-#define find_eol { for (;*cur_char && *cur_char!='\n';cur_char++) ; }
-#define find_quote { for (;*cur_char && *cur_char!='\"';cur_char++) ; }
-
-#ifndef FALSE
-#define FALSE 0
-#endif
-
-#ifndef TRUE
-#define TRUE 1
-#endif
-
-/* Prototypes */
-
-void RB_Analyse_Arguments (int, char **, char **, char **);
-void RB_Set_Doc_Base (char *path);
-void RB_Close_The_Shop (void);
-
-
-#define MAX_LINE_LEN 512
-
-extern char *whoami;
-extern char *document_title;
-extern int output_mode;
-extern int course_of_action;
-extern int tab_size;
-extern char doc_base[1024]; /* PetteriK */
-extern int line_number;
-extern char line_buffer[MAX_LINE_LEN];
+++ /dev/null
-#include <stdio.h>
-#include <stdlib.h>
-#include <stdio.h>
-#include <ctype.h>
-#include <stdlib.h>
-#include <string.h>
-#include <stdarg.h> /* for RB_Say() */
-
-#include "robodoc.h"
-#include "links.h"
-#include "headers.h"
-#include "folds.h"
-#include "items.h"
-#include "util.h"
-#include "time.h"
-
-
-
-
-/****f* ROBODoc/RB_FilePart [2.0x]
- * NAME
- * RB_FilePart
- * SYNOPSIS
- * char *RB_FilePart(char *file_name)
- * FUNCTION
- * return the basename (like Amiga/Dos/FilePart())
- * NOTES
- * koessi
- * SEE ALSO
- * SOURCE
- */
-
-char *
-RB_FilePart (char *file_name)
-{
- char *cur_char;
- char c;
-
- if ((cur_char = file_name) != NULL)
- {
- for (; (c = *cur_char) != '\0'; ++cur_char)
- {
- if ((c == '/') || (c == ':'))
- {
- ++cur_char;
- while ('/' == *cur_char)
- ++cur_char;
-
- if (*cur_char)
- file_name = cur_char;
- }
- }
- }
- return (file_name);
-}
-
-/* Same except remove trailing dot (.). -Pekka */
-char *
-RB_FilePartStart (char *file_name)
-{
- char *cur_char;
- char c;
-
- if ((cur_char = file_name) != NULL)
- {
- for (; (c = *cur_char) != '\0'; ++cur_char)
- {
- if ((c == '/') || (c == ':'))
- {
- ++cur_char;
- while ('/' == *cur_char)
- ++cur_char;
-
- if (*cur_char)
- file_name = cur_char;
- }
- }
- }
-
- if (strchr(file_name, '.'))
- *strchr(file_name, '.') = '\0';
-
- return (file_name);
-}
-
-/*** RB_File_Part ***/
-
-
-
-/****f* ROBODoc/RB_Analyse_Defaults_File [3.0b]
- * NAME
- * RB_Analyse_Defaults_file -- read default from defaults file
- * SYNOPSIS
- * RB_Analyse_Defaults_file
- * FUNCTION
- * Read the default vaules from the default file.
- * NOTES
- * FS: The use of while (!feof(defaults_file)) {
- * is wrong here. Should check return value of
- * fgets().
- * SOURCE
- */
-
-void
-RB_Analyse_Defaults_File ()
-{
- FILE *defaults_file;
-
- /* defaults file in working directory? */
- defaults_file = fopen ("robodoc.defaults", "r");
- if (defaults_file == NULL)
- {
- /* try again from the directory from
- which this application was started */
-#ifdef _MSC_VER
- /* windows */
- char path[_MAX_PATH], *c;
-
- strcpy (path, whoami);
- if ((c = strrchr (path, '\\')) != NULL)
- {
- *c = '\0';
- strcat (path, "\\");
- }
- strcat (path, "robodoc.defaults");
- defaults_file = fopen (path, "r");
-#else
- /* non-windows ... to be done */
-#endif /* _MSC_VER */
- }
- if (defaults_file != NULL)
- {
- while (!feof (defaults_file))
- {
- char *cur_char;
-
- *line_buffer = '\0';
-
- fgets (line_buffer, MAX_LINE_LEN, defaults_file);
-
- if (*line_buffer != '\n')
- {
- int item_type;
-
- item_type = RB_Get_Item_Type (line_buffer);
- if (item_type != NO_ITEM)
- {
- char *values;
-
- item_attributes[item_type] = ITEM_NAME_LARGE_FONT;
-
- cur_char = line_buffer + strlen (item_names[item_type]);
- for (; *cur_char && isspace (*cur_char); cur_char++);
-
- while (*cur_char)
- {
- for (values = cur_char;
- *cur_char && !isspace (*cur_char);
- cur_char++);
- if (*cur_char)
- {
- int item_attr;
-
- *cur_char = '\0';
- item_attr = RB_Get_Item_Attr (values);
- if (item_attr != MAKE_NORMAL)
- {
- RB_Say ("Default: %s = %s\n",
- item_names[item_type],
- item_attr_names[item_attr]);
- item_attributes[item_type] |=
- (1 << (item_attr + 1));
- }
- }
- for (cur_char++; *cur_char && isspace (*cur_char);
- cur_char++);
- }
- }
- }
- }
- fclose (defaults_file);
- }
-/* else { printf("%s: WARNING, robodoc.defaults file was not found.\n",
- * whoami); printf("\t\tyou should really use one.\n"); } */
-}
-
-/**********/
-
-
-
-/****f* ROBODoc/RB_Skip_Remark_Marker [2.0e]
- * NAME
- * RB_Skip_Remark_Marker
- * SYNOPSIS
- * text = RB_Skip_Remark_Marker (line_buffer)
- * char * char *
- * FUNCTION
- * Scan and search for a recognized remark marker; skip past the
- * marker to the body of the text
- * NOTE
- * This should be in generator.c
- * SOURCE
- */
-
-char *
-RB_Skip_Remark_Marker (char *line_buffer)
-{
- int marker, found;
- char *cur_char, *cur_mchar;
-
- found = FALSE;
- cur_char = NULL;
- for (marker = 0;
- ((cur_mchar = remark_markers[marker]) != NULL) && !found;
- marker++)
- {
- for (found = TRUE, cur_char = line_buffer;
- *cur_mchar && *cur_char && found;
- cur_mchar++, cur_char++)
- {
- if (tolower(*cur_mchar) != tolower(*cur_char))
- found = FALSE;
- }
- }
- return (cur_char);
-}
-
-/**************/
-
-
-
-
-/****f* ROBODoc/RB_Slow_Sort [2.0]
- * NAME
- * RB_Slow_Sort -- sort list of headers alphabetically
- * SYNOPSIS
- * RB_Slow_Sort ()
- * FUNCTION
- * Sorts the list of headers according to the header name
- * in alphabetically fashion.
- * NOTES
- * This isn't a particularly speedy way of sorting.
- * SOURCE
- */
-
-void
-RB_Slow_Sort (void)
-{
- struct RB_header *cur_header, *unsorted_headers, *bigger_header;
-
- if ((unsorted_headers = first_header) != NULL)
- { /* additional
- * check *koessi */
- for (first_header = NULL;
- unsorted_headers->next_header;)
- {
- for (bigger_header = unsorted_headers,
- cur_header = bigger_header->next_header;
- cur_header;
- cur_header = cur_header->next_header)
- {
- if (strcmp (cur_header->name, bigger_header->name) > 0)
- bigger_header = cur_header;
- }
- RB_Remove_From_List (&unsorted_headers, bigger_header);
- RB_Insert_In_List (&first_header, bigger_header);
- }
- RB_Insert_In_List (&first_header, unsorted_headers);
- }
-}
-
-/*********/
-
-
-/****f* ROBODoc/RB_Insert_In_List [2.0]
- * NAME
- * RB_Insert_In_List -- Insert a header in a list.
- * SYNOPSIS
- * RB_Insert_In_List (anchor,new_header)
- *
- * RB_Insert_In_List (struct RB_header **, struct RB_header *)
- * FUNCTION
- * Insert a node in a doubly linked list.
- * INPUTS
- * anchor - pointer to the first node in the list.
- * new_header - node to be inserted.
- * MODIFICATION HISTORY
- * 8. August 1995 -- optimized by koessi
- * NOTES
- *
- * SOURCE
- */
-
-void
-RB_Insert_In_List (struct RB_header **anchor,
- struct RB_header *new_header)
-{
- struct RB_header *old_header;
-
- if ((old_header = *anchor) != NULL)
- old_header->prev_header = new_header;
- new_header->next_header = old_header;
- new_header->prev_header = NULL;
- *anchor = new_header;
-}
-
-/*** RB_Insert_In_List ***/
-
-/****f* ROBODoc/RB_Reverse_List [2.0]
- * NAME
- * RB_Reverse_List -- Insert a header in a list.
- * SYNOPSIS
- * RB_Reverse_List (void)
- * FUNCTION
- *
- * INPUTS
- *
- * MODIFICATION HISTORY
- *
- * NOTES
- *
- * SOURCE
- */
-
-void
-RB_Reverse_List (void)
-{
- struct RB_header *cur_header;
- struct RB_header *temp_header;
-
- for (cur_header = first_header;
- cur_header;
- )
- {
- first_header = cur_header;
- temp_header = cur_header->next_header;
- cur_header->next_header = cur_header->prev_header;
- cur_header->prev_header = temp_header;
- cur_header = temp_header;
- }
-}
-
-/*** ***/
-
-
-/****f* ROBODoc/RB_Remove_From_List [2.0]
- * NAME
- * RB_Remove_From_List -- remove a header from a list.
- * SYNOPSIS
- * RB_Remove_From_List (anchor, old_header)
- * RB_Remove_From_List (struct RB_header **, struct RB_header *)
- * MODIFICATION HISTORY
- * 8. August 1995 -- optimized by koessi
- * SOURCE
- */
-
-void
-RB_Remove_From_List (struct RB_header **anchor,
- struct RB_header *old_header)
-{
- struct RB_header *next_header = old_header->next_header;
- struct RB_header *prev_header = old_header->prev_header;
-
- if (next_header)
- next_header->prev_header = prev_header;
- if (prev_header)
- prev_header->next_header = next_header;
- else
- *anchor = next_header;
-}
-
-/********/
-
-
-/****f* ROBODoc/RB_Alloc_Header [2.01]
- * NAME
- * RB_Alloc_Header -- oop
- * SYNOPSIS
- * struct RB_header *RB_Alloc_Header( void )
- * FUNCTION
- * allocate the struct RB_header
- * RESULT
- * struct RB_header * -- all attributes/pointers set to zero
- * AUTHOR
- * Koessi
- * SEE ALSO
- * RB_Free_Header()
- * SOURCE
- */
-
-struct RB_header *
-RB_Alloc_Header (void)
-{
- struct RB_header *new_header;
-
- if ((new_header = malloc (sizeof (struct RB_header))) != NULL)
- memset (new_header, 0, sizeof (struct RB_header));
- else
- RB_Panic ("out of memory! [Alloc Header]\n");
- return (new_header);
-}
-
-/********/
-
-
-/****f* ROBODoc/RB_Free_Header [2.01]
- * NAME
- * RB_Free_Header -- oop
- * SYNOPSIS
- * void RB_Free_Header( struct RB_header *header )
- * FUNCTION
- * free struct RB_header and associated strings
- * INPUTS
- * struct RB_header *header -- this one
- * AUTHOR
- * Koessi
- * SEE ALSO
- * RB_Alloc_Header(), RB_Close_The_Shop()
- * SOURCE
- */
-
-void
-RB_Free_Header (struct RB_header *header)
-{
- if (header)
- {
- if (header->version)
- free (header->version);
- if (header->name)
- free (header->name);
- if (header->contents)
- free (header->contents);
- free (header);
- }
-}
-
-/************/
-
-
-/****i* ROBODoc/RB_WordLen [2.01]
- * NAME
- * RB_WordLen -- like strlen
- * SYNOPSIS
- * int RB_WordLen( char *str )
- * FUNCTION
- * get the amount of bytes until next space
- * INPUTS
- * char *str -- the word
- * RESULT
- * int -- length of the next word or 0
- * AUTHOR
- * Koessi
- * SEE ALSO
- * RB_Find_Header_Name()
- * SOURCE
- */
-
-int
-RB_WordLen (char *str)
-{
- int len;
- char c;
-
- for (len = 0; ((c = *str) != '\0') && !isspace (c) && (c != '\n');
- ++str, ++len);
- return (len);
-}
-
-/*** RB_WordLen ***/
-
-
-/****i* ROBODoc/RB_StrDup [2.01]
- * NAME
- * RB_StrDup
- * SYNOPSIS
- * char *RB_StrDup( char *str )
- * FUNCTION
- * duplicate the given string
- * INPUTS
- * char *str -- source
- * RESULT
- * char * -- destination
- * AUTHOR
- * Koessi
- * SOURCE
- */
-
-char *
-RB_StrDup (char *str)
-{
- char *dupstr;
- if ((dupstr = malloc ((strlen (str) + 1) * sizeof (char))) != NULL)
- strcpy (dupstr, str);
- else
- RB_Panic ("out of memory! [StrDup]\n");
- return (dupstr);
-}
-
-/*** RB_StrDup ***/
-
-
-/****f* ROBODoc/RB_CookStr [3.0h]
- * NAME
- * RB_CookStr
- * SYNOPSIS
- * char *RB_CookStr( char *str )
- * FUNCTION
- * duplicate the given string, massaging it for the current output_mode
- * INPUTS
- * char *str -- source
- * RESULT
- * char * -- destination
- * AUTHOR
- * apang
- * NOTES
- * Doesn't try/need to be as aggressive as RB_Generate_Item_Body()
- * SOURCE
- */
-
-char *
-RB_CookStr (char *str)
-{
- static char work_buf[MAX_LINE_LEN];
- char *cptr, c;
- int i;
-
- cptr = work_buf;
- switch (output_mode)
- {
- case LATEX:
- for (i = 0; ((c = *str++) != '\0') && (i < (MAX_LINE_LEN - 1));)
- {
- i++;
- if (c == '_')
- {
- if (i < (MAX_LINE_LEN - 1))
- {
- *cptr++ = '\\';
- *cptr++ = '_';
- i++;
- }
- else
- {
- break;
- }
- }
- else
- {
- *cptr++ = c;
- }
- }
- break;
-
- case RTF:
- for (; (c = *str++) != '\0';)
- {
- if (isalnum (c) || c == '.' || c == '_')
- {
- *cptr++ = c;
- }
- }
- break;
-
- default:
- return RB_StrDup (str);
- }
-
- *cptr = '\0';
- return RB_StrDup (work_buf);
-}
-
-/*** RB_CookStr ***/
-
-
-/****f* ROBODoc/RB_Say [2.01]
- * NAME
- * RB_Say -- varargs
- * SYNOPSIS
- * void RB_Say( char *what, char *why, ... )
- * FUNCTION
- * say what's going on
- * INPUTS
- * char *format -- formatstring
- * ... -- parameters
- * AUTHOR
- * Koessi
- * SOURCE
- */
-
-void
-RB_Say (char *format,...)
-{
- va_list ap;
-
- if (course_of_action & DO_TELL)
- {
- va_start (ap, format);
- printf ("%s: ", whoami);
- vprintf (format, ap);
- va_end (ap);
- }
-}
-
-/*** RB_Say ***/
-
-
-/****f* ROBODoc/RB_Panic [2.01]
- * NAME
- * RB_Panic -- free resources and shut down
- * SYNOPSIS
- * void RB_Panic( char *format, char *why, ... )
- * FUNCTION
- * Print error message.
- * Frees all resources used by robodoc.
- * Terminates program
- * INPUTS
- * char *format -- formatstring
- * ... -- parameters
- * AUTHOR
- * Koessi
- * SOURCE
- */
-
-void
-RB_Panic (char *format,...)
-{
- va_list ap;
-
- va_start (ap, format);
- printf ("%s: FATAL ERROR - [line %d]\n", whoami, line_number);
- printf ("%s: %s\n%s: ", whoami, line_buffer, whoami);
- vprintf (format, ap);
- printf ("%s: closing down...\n", whoami);
- va_end (ap);
- RB_Close_The_Shop ();
- exit (EXIT_FAILURE);
-}
-
-/*** RB_Panic ***/
-
-
-
-
-/****f* ROBODoc/RB_Str_Case_Cmp
- * NAME
- * RB_Str_Case_Cmp
- * SYNOPSIS
- * int RB_Str_Case_Cmp(char *, char *)
- * result = RB_Str_Case_Cmp(s, t)
- * FUNCTION
- * Compare two strings, regardless of the case of the characters.
- * RESULT
- * 0 s == t
- * -1 s < t
- * 1 s > t
- * SOURCE
- */
-
-int
-RB_Str_Case_Cmp (char *s, char *t)
-{
- for (; tolower (*s) == tolower (*t); s++, t++)
- if (*s == '\0')
- return 0;
- return (int) (tolower (*s) - tolower (*t));
-}
-
-/*********/
-
-
-/****f* ROBODoc/RB_TimeStamp
- * NAME
- * RB_TimeStamp -- print a time stamp
- *****
- */
-
-void
-RB_TimeStamp (FILE * f)
-{
- time_t ttp;
- char timeBuffer[255];
-
- time (&ttp);
- strftime (timeBuffer, 255, "%a %b %d %H:%M:%S %Y\n", localtime (&ttp));
- fprintf (f, "%s", timeBuffer);
-}
+++ /dev/null
-
-
-
-
-
-
-
-#ifndef ROBODOC_UTIL_H
-#define ROBODOC_UTIL_H
-
-char *RB_FilePart (char *);
-void RB_Analyse_Defaults_File (void);
-char *RB_Skip_Remark_Marker (char *line_buffer);
-void RB_Slow_Sort (void);
-void RB_Reverse_List (void);
-void RB_Insert_In_List (struct RB_header **, struct RB_header *);
-void RB_Remove_From_List (struct RB_header **, struct RB_header *);
-struct RB_header *RB_Alloc_Header (void);
-void RB_Free_Header (struct RB_header *);
-int RB_WordLen (char *);
-char *RB_StrDup (char *);
-char *RB_CookStr (char *);
-void RB_Say (char *,...);
-void RB_Panic (char *,...);
-void RB_Close_The_Shop (void);
-int RB_Str_Case_Cmp (char *s, char *t);
-void RB_TimeStamp (FILE * f);
-
-
-#endif /* ROBODOC_UTIL_H */
+++ /dev/null
-My wish list:
-
-o Add XML output
-o Improve the support for LaTeX. Instead of a lot of
- individual documents robodoc should create one big
- book with documentation.
-o Fix the man page so that it also looks good with tkMan
-
+++ /dev/null
-# generated automatically by aclocal 1.7 -*- Autoconf -*-
-
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002
-# 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.
-
-# Like AC_CONFIG_HEADER, but automatically create stamp file. -*- Autoconf -*-
-
-# Copyright 1996, 1997, 2000, 2001 Free Software Foundation, Inc.
-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
-# 02111-1307, USA.
-
-AC_PREREQ([2.52])
-
-# serial 6
-
-# AM_CONFIG_HEADER is obsolete. It has been replaced by AC_CONFIG_HEADERS.
-AU_DEFUN([AM_CONFIG_HEADER], [AC_CONFIG_HEADERS($@)])
-
-# Do all the work for Automake. -*- Autoconf -*-
-
-# 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.
-
-# Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002
-# Free Software Foundation, Inc.
-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
-# 02111-1307, USA.
-
-# serial 8
-
-# There are a few dirty hacks below to avoid letting `AC_PROG_CC' be
-# written in clear, in which case automake, when reading aclocal.m4,
-# will think it sees a *use*, and therefore will trigger all it's
-# C support machinery. Also note that it means that autoscan, seeing
-# CC etc. in the Makefile, will ask for an AC_PROG_CC use...
-
-
-AC_PREREQ([2.54])
-
-# Autoconf 2.50 wants to disallow AM_ names. We explicitly allow
-# the ones we care about.
-m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl
-
-# 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_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl
- AC_REQUIRE([AC_PROG_INSTALL])dnl
-# test to see if srcdir already configured
-if test "`cd $srcdir && pwd`" != "`pwd`" &&
- test -f $srcdir/config.status; then
- AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
-fi
-
-# test whether we have cygpath
-if test -z "$CYGPATH_W"; then
- if (cygpath --version) >/dev/null 2>/dev/null; then
- CYGPATH_W='cygpath -w'
- else
- CYGPATH_W=echo
- fi
-fi
-AC_SUBST([CYGPATH_W])
-
-# Define the identity of the package.
-dnl Distinguish between old-style and new-style calls.
-m4_ifval([$2],
-[m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl
- AC_SUBST([PACKAGE], [$1])dnl
- AC_SUBST([VERSION], [$2])],
-[_AM_SET_OPTIONS([$1])dnl
- AC_SUBST([PACKAGE], [AC_PACKAGE_TARNAME])dnl
- AC_SUBST([VERSION], [AC_PACKAGE_VERSION])])dnl
-
-_AM_IF_OPTION([no-define],,
-[AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package])
- AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])])dnl
-
-# Some tools Automake needs.
-AC_REQUIRE([AM_SANITY_CHECK])dnl
-AC_REQUIRE([AC_ARG_PROGRAM])dnl
-AM_MISSING_PROG(ACLOCAL, aclocal-${am__api_version})
-AM_MISSING_PROG(AUTOCONF, autoconf)
-AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version})
-AM_MISSING_PROG(AUTOHEADER, autoheader)
-AM_MISSING_PROG(MAKEINFO, makeinfo)
-AM_MISSING_PROG(AMTAR, tar)
-AM_PROG_INSTALL_SH
-AM_PROG_INSTALL_STRIP
-# 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
-
-_AM_IF_OPTION([no-dependencies],,
-[AC_PROVIDE_IFELSE([AC_PROG_CC],
- [_AM_DEPENDENCIES(CC)],
- [define([AC_PROG_CC],
- defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl
-AC_PROVIDE_IFELSE([AC_PROG_CXX],
- [_AM_DEPENDENCIES(CXX)],
- [define([AC_PROG_CXX],
- defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl
-])
-])
-
-
-# When config.status generates a header, we must update the stamp-h file.
-# This file resides in the same directory as the config header
-# that is generated. The stamp files are numbered to have different names.
-
-# Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the
-# loop where config.status creates the headers, so we can generate
-# our stamp files there.
-AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK],
-[_am_stamp_count=`expr ${_am_stamp_count-0} + 1`
-echo "timestamp for $1" >`AS_DIRNAME([$1])`/stamp-h[]$_am_stamp_count])
-
-# Copyright 2002 Free Software Foundation, Inc.
-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
-
-# AM_AUTOMAKE_VERSION(VERSION)
-# ----------------------------
-# Automake X.Y traces this macro to ensure aclocal.m4 has been
-# generated from the m4 files accompanying Automake X.Y.
-AC_DEFUN([AM_AUTOMAKE_VERSION],[am__api_version="1.7"])
-
-# AM_SET_CURRENT_AUTOMAKE_VERSION
-# -------------------------------
-# Call AM_AUTOMAKE_VERSION so it can be traced.
-# This function is AC_REQUIREd by AC_INIT_AUTOMAKE.
-AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
- [AM_AUTOMAKE_VERSION([1.7])])
-
-# Helper functions for option handling. -*- Autoconf -*-
-
-# Copyright 2001, 2002 Free Software Foundation, Inc.
-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
-# 02111-1307, USA.
-
-# serial 2
-
-# _AM_MANGLE_OPTION(NAME)
-# -----------------------
-AC_DEFUN([_AM_MANGLE_OPTION],
-[[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])])
-
-# _AM_SET_OPTION(NAME)
-# ------------------------------
-# Set option NAME. Presently that only means defining a flag for this option.
-AC_DEFUN([_AM_SET_OPTION],
-[m4_define(_AM_MANGLE_OPTION([$1]), 1)])
-
-# _AM_SET_OPTIONS(OPTIONS)
-# ----------------------------------
-# OPTIONS is a space-separated list of Automake options.
-AC_DEFUN([_AM_SET_OPTIONS],
-[AC_FOREACH([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])])
-
-# _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET])
-# -------------------------------------------
-# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise.
-AC_DEFUN([_AM_IF_OPTION],
-[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])])
-
-#
-# Check to make sure that the build environment is sane.
-#
-
-# Copyright 1996, 1997, 2000, 2001 Free Software Foundation, Inc.
-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
-# 02111-1307, USA.
-
-# serial 3
-
-# AM_SANITY_CHECK
-# ---------------
-AC_DEFUN([AM_SANITY_CHECK],
-[AC_MSG_CHECKING([whether build environment is sane])
-# Just in case
-sleep 1
-echo timestamp > conftest.file
-# Do `set' in a subshell so we don't clobber the current shell's
-# arguments. Must try -L first in case configure is actually a
-# symlink; some systems play weird games with the mod time of symlinks
-# (eg FreeBSD returns the mod time of the symlink's containing
-# directory).
-if (
- set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null`
- if test "$[*]" = "X"; then
- # -L didn't work.
- set X `ls -t $srcdir/configure conftest.file`
- fi
- rm -f conftest.file
- if test "$[*]" != "X $srcdir/configure conftest.file" \
- && test "$[*]" != "X conftest.file $srcdir/configure"; then
-
- # If neither matched, then we have a broken ls. This can happen
- # if, for instance, CONFIG_SHELL is bash and it inherits a
- # broken ls alias from the environment. This has actually
- # happened. Such a system could not be considered "sane".
- AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken
-alias in your environment])
- fi
-
- test "$[2]" = conftest.file
- )
-then
- # Ok.
- :
-else
- AC_MSG_ERROR([newly created file is older than distributed files!
-Check your system clock])
-fi
-AC_MSG_RESULT(yes)])
-
-# -*- Autoconf -*-
-
-
-# Copyright 1997, 1999, 2000, 2001 Free Software Foundation, Inc.
-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
-# 02111-1307, USA.
-
-# serial 3
-
-# AM_MISSING_PROG(NAME, PROGRAM)
-# ------------------------------
-AC_DEFUN([AM_MISSING_PROG],
-[AC_REQUIRE([AM_MISSING_HAS_RUN])
-$1=${$1-"${am_missing_run}$2"}
-AC_SUBST($1)])
-
-
-# AM_MISSING_HAS_RUN
-# ------------------
-# Define MISSING if not defined so far and test if it supports --run.
-# If it does, set am_missing_run to use it, otherwise, to nothing.
-AC_DEFUN([AM_MISSING_HAS_RUN],
-[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
-test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing"
-# Use eval to expand $SHELL
-if eval "$MISSING --run true"; then
- am_missing_run="$MISSING --run "
-else
- am_missing_run=
- AC_MSG_WARN([`missing' script is too old or missing])
-fi
-])
-
-# AM_AUX_DIR_EXPAND
-
-# Copyright 2001 Free Software Foundation, Inc.
-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
-# 02111-1307, USA.
-
-# 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.
-
-# Rely on autoconf to set up CDPATH properly.
-AC_PREREQ([2.50])
-
-AC_DEFUN([AM_AUX_DIR_EXPAND], [
-# expand $ac_aux_dir to an absolute path
-am_aux_dir=`cd $ac_aux_dir && pwd`
-])
-
-# AM_PROG_INSTALL_SH
-# ------------------
-# Define $install_sh.
-
-# Copyright 2001 Free Software Foundation, Inc.
-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
-# 02111-1307, USA.
-
-AC_DEFUN([AM_PROG_INSTALL_SH],
-[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
-install_sh=${install_sh-"$am_aux_dir/install-sh"}
-AC_SUBST(install_sh)])
-
-# AM_PROG_INSTALL_STRIP
-
-# Copyright 2001 Free Software Foundation, Inc.
-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
-# 02111-1307, USA.
-
-# One issue with vendor `install' (even GNU) is that you can't
-# specify the program used to strip binaries. This is especially
-# annoying in cross-compiling environments, where the build's strip
-# is unlikely to handle the host's binaries.
-# Fortunately install-sh will honor a STRIPPROG variable, so we
-# always use install-sh in `make install-strip', and initialize
-# STRIPPROG with the value of the STRIP variable (set by the user).
-AC_DEFUN([AM_PROG_INSTALL_STRIP],
-[AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
-# Installed binaries are usually stripped using `strip' when the user
-# run `make install-strip'. However `strip' might not be the right
-# tool to use in cross-compilation environments, therefore Automake
-# will honor the `STRIP' environment variable to overrule this program.
-dnl Don't test for $cross_compiling = yes, because it might be `maybe'.
-if test "$cross_compiling" != no; then
- AC_CHECK_TOOL([STRIP], [strip], :)
-fi
-INSTALL_STRIP_PROGRAM="\${SHELL} \$(install_sh) -c -s"
-AC_SUBST([INSTALL_STRIP_PROGRAM])])
-
-# serial 4 -*- Autoconf -*-
-
-# Copyright 1999, 2000, 2001 Free Software Foundation, Inc.
-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
-# 02111-1307, USA.
-
-
-# There are a few dirty hacks below to avoid letting `AC_PROG_CC' be
-# written in clear, in which case automake, when reading aclocal.m4,
-# will think it sees a *use*, and therefore will trigger all it's
-# C support machinery. Also note that it means that autoscan, seeing
-# CC etc. in the Makefile, will ask for an AC_PROG_CC use...
-
-
-
-# _AM_DEPENDENCIES(NAME)
-# ----------------------
-# See how the compiler implements dependency checking.
-# NAME is "CC", "CXX", "GCJ", or "OBJC".
-# We try a few techniques and use that to set a single cache variable.
-#
-# We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was
-# modified to invoke _AM_DEPENDENCIES(CC); we would have a circular
-# dependency, and given that the user is not expected to run this macro,
-# just rely on AC_PROG_CC.
-AC_DEFUN([_AM_DEPENDENCIES],
-[AC_REQUIRE([AM_SET_DEPDIR])dnl
-AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl
-AC_REQUIRE([AM_MAKE_INCLUDE])dnl
-AC_REQUIRE([AM_DEP_TRACK])dnl
-
-ifelse([$1], CC, [depcc="$CC" am_compiler_list=],
- [$1], CXX, [depcc="$CXX" am_compiler_list=],
- [$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc'],
- [$1], GCJ, [depcc="$GCJ" am_compiler_list='gcc3 gcc'],
- [depcc="$$1" am_compiler_list=])
-
-AC_CACHE_CHECK([dependency style of $depcc],
- [am_cv_$1_dependencies_compiler_type],
-[if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
- # We make a subdir and do the tests there. Otherwise we can end up
- # making bogus files that we don't know about and never remove. For
- # instance it was reported that on HP-UX the gcc test will end up
- # making a dummy file named `D' -- because `-MD' means `put the output
- # in D'.
- mkdir conftest.dir
- # Copy depcomp to subdir because otherwise we won't find it if we're
- # using a relative directory.
- cp "$am_depcomp" conftest.dir
- cd conftest.dir
-
- am_cv_$1_dependencies_compiler_type=none
- if test "$am_compiler_list" = ""; then
- am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp`
- fi
- for depmode in $am_compiler_list; do
- # 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.
- echo '#include "conftest.h"' > conftest.c
- echo 'int i;' > conftest.h
- echo "${am__include} ${am__quote}conftest.Po${am__quote}" > confmf
-
- case $depmode in
- nosideeffect)
- # after this tag, mechanisms are not by side-effect, so they'll
- # only be used when explicitly requested
- if test "x$enable_dependency_tracking" = xyes; then
- continue
- else
- break
- fi
- ;;
- none) break ;;
- esac
- # We check with `-c' and `-o' for the sake of the "dashmstdout"
- # mode. It turns out that the SunPro C++ compiler does not properly
- # handle `-M -o', and we need to detect this.
- if depmode=$depmode \
- source=conftest.c object=conftest.o \
- depfile=conftest.Po tmpdepfile=conftest.TPo \
- $SHELL ./depcomp $depcc -c conftest.c -o conftest.o >/dev/null 2>&1 &&
- grep conftest.h conftest.Po > /dev/null 2>&1 &&
- ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
- am_cv_$1_dependencies_compiler_type=$depmode
- break
- 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],
-[rm -f .deps 2>/dev/null
-mkdir .deps 2>/dev/null
-if test -d .deps; then
- DEPDIR=.deps
-else
- # MS-DOS does not allow filenames that begin with a dot.
- DEPDIR=_deps
-fi
-rmdir .deps 2>/dev/null
-AC_SUBST([DEPDIR])
-])
-
-
-# AM_DEP_TRACK
-# ------------
-AC_DEFUN([AM_DEP_TRACK],
-[AC_ARG_ENABLE(dependency-tracking,
-[ --disable-dependency-tracking Speeds up one-time builds
- --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])
-])
-
-# Generate code to set up dependency tracking. -*- Autoconf -*-
-
-# Copyright 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
-# 02111-1307, USA.
-
-#serial 2
-
-# _AM_OUTPUT_DEPENDENCY_COMMANDS
-# ------------------------------
-AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
-[for mf in $CONFIG_FILES; do
- # Strip MF so we end up with the name of the file.
- mf=`echo "$mf" | sed -e 's/:.*$//'`
- # Check whether this is an Automake generated Makefile or not.
- # We used to match only the files named `Makefile.in', but
- # some people rename them; so instead we look at the file content.
- # Grep'ing the first line is not enough: some people post-process
- # each Makefile.in and add a new line on top of each file to say so.
- # So let's grep whole file.
- if grep '^#.*generated by automake' $mf > /dev/null 2>&1; then
- dirpart=`AS_DIRNAME("$mf")`
- else
- continue
- fi
- grep '^DEP_FILES *= *[[^ @%:@]]' < "$mf" > /dev/null || continue
- # Extract the definition of DEP_FILES from the Makefile without
- # running `make'.
- DEPDIR=`sed -n -e '/^DEPDIR = / s///p' < "$mf"`
- test -z "$DEPDIR" && continue
- # When using ansi2knr, U may be empty or an underscore; expand it
- U=`sed -n -e '/^U = / s///p' < "$mf"`
- test -d "$dirpart/$DEPDIR" || mkdir "$dirpart/$DEPDIR"
- # 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 -e '
- /^DEP_FILES = .*\\\\$/ {
- s/^DEP_FILES = //
- :loop
- s/\\\\$//
- p
- n
- /\\\\$/ b loop
- p
- }
- /^DEP_FILES = / s/^DEP_FILES = //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"])
-])
-
-# Check to see how 'make' treats includes. -*- Autoconf -*-
-
-# Copyright (C) 2001, 2002 Free Software Foundation, Inc.
-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
-# 02111-1307, USA.
-
-# serial 2
-
-# AM_MAKE_INCLUDE()
-# -----------------
-# Check to see how make treats includes.
-AC_DEFUN([AM_MAKE_INCLUDE],
-[am_make=${MAKE-make}
-cat > confinc << 'END'
-doit:
- @echo done
-END
-# If we don't find an include directive, just comment out the code.
-AC_MSG_CHECKING([for style of include used by $am_make])
-am__include="#"
-am__quote=
-_am_result=none
-# First try GNU make style include.
-echo "include confinc" > confmf
-# We grep out `Entering directory' and `Leaving directory'
-# messages which can occur if `w' ends up in MAKEFLAGS.
-# In particular we don't look at `^make:' because GNU make might
-# be invoked under some other name (usually "gmake"), in which
-# case it prints its new name instead of `make'.
-if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then
- am__include=include
- am__quote=
- _am_result=GNU
-fi
-# Now try BSD make style include.
-if test "$am__include" = "#"; then
- echo '.include "confinc"' > confmf
- if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then
- am__include=.include
- am__quote="\""
- _am_result=BSD
- fi
-fi
-AC_SUBST(am__include)
-AC_SUBST(am__quote)
-AC_MSG_RESULT($_am_result)
-rm -f confinc confmf
-])
-
-# AM_CONDITIONAL -*- Autoconf -*-
-
-# Copyright 1997, 2000, 2001 Free Software Foundation, Inc.
-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
-# 02111-1307, USA.
-
-# serial 5
-
-AC_PREREQ(2.52)
-
-# AM_CONDITIONAL(NAME, SHELL-CONDITION)
-# -------------------------------------
-# Define a conditional.
-AC_DEFUN([AM_CONDITIONAL],
-[ifelse([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])],
- [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl
-AC_SUBST([$1_TRUE])
-AC_SUBST([$1_FALSE])
-if $2; then
- $1_TRUE=
- $1_FALSE='#'
-else
- $1_TRUE='#'
- $1_FALSE=
-fi
-AC_CONFIG_COMMANDS_PRE(
-[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then
- AC_MSG_ERROR([conditional "$1" was never defined.
-Usually this means the macro was only invoked conditionally.])
-fi])])
-
+++ /dev/null
-#! /bin/sh
-# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.54.
-#
-# Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, 2002
-# Free Software Foundation, Inc.
-# This configure script is free software; the Free Software Foundation
-# gives unlimited permission to copy, distribute and modify it.
-## --------------------- ##
-## M4sh Initialization. ##
-## --------------------- ##
-
-# Be Bourne compatible
-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
- emulate sh
- NULLCMD=:
- # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
- # is contrary to our usage. Disable this feature.
- alias -g '${1+"$@"}'='"$@"'
-elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then
- set -o posix
-fi
-
-# Support unset when possible.
-if (FOO=FOO; unset FOO) >/dev/null 2>&1; then
- as_unset=unset
-else
- as_unset=false
-fi
-
-
-# Work around bugs in pre-3.0 UWIN ksh.
-$as_unset ENV MAIL MAILPATH
-PS1='$ '
-PS2='> '
-PS4='+ '
-
-# NLS nuisances.
-for as_var in LANG LANGUAGE LC_ALL LC_COLLATE LC_CTYPE LC_NUMERIC LC_MESSAGES LC_TIME
-do
- if (set +x; test -n "`(eval $as_var=C; export $as_var) 2>&1`"); then
- eval $as_var=C; export $as_var
- else
- $as_unset $as_var
- fi
-done
-
-# Required to use basename.
-if expr a : '\(a\)' >/dev/null 2>&1; then
- as_expr=expr
-else
- as_expr=false
-fi
-
-if (basename /) >/dev/null 2>&1 && test "X`basename / 2>&1`" = "X/"; then
- as_basename=basename
-else
- as_basename=false
-fi
-
-
-# Name of the executable.
-as_me=`$as_basename "$0" ||
-$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
- X"$0" : 'X\(//\)$' \| \
- X"$0" : 'X\(/\)$' \| \
- . : '\(.\)' 2>/dev/null ||
-echo X/"$0" |
- sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/; q; }
- /^X\/\(\/\/\)$/{ s//\1/; q; }
- /^X\/\(\/\).*/{ s//\1/; q; }
- s/.*/./; q'`
-
-
-# PATH needs CR, and LINENO needs CR and PATH.
-# Avoid depending upon Character Ranges.
-as_cr_letters='abcdefghijklmnopqrstuvwxyz'
-as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
-as_cr_Letters=$as_cr_letters$as_cr_LETTERS
-as_cr_digits='0123456789'
-as_cr_alnum=$as_cr_Letters$as_cr_digits
-
-# The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
- echo "#! /bin/sh" >conftest.sh
- echo "exit 0" >>conftest.sh
- chmod +x conftest.sh
- if (PATH="/nonexistent;."; conftest.sh) >/dev/null 2>&1; then
- PATH_SEPARATOR=';'
- else
- PATH_SEPARATOR=:
- fi
- rm -f conftest.sh
-fi
-
-
- as_lineno_1=$LINENO
- as_lineno_2=$LINENO
- as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
- test "x$as_lineno_1" != "x$as_lineno_2" &&
- test "x$as_lineno_3" = "x$as_lineno_2" || {
- # Find who we are. Look in the path if we contain no path at all
- # relative or not.
- case $0 in
- *[\\/]* ) as_myself=$0 ;;
- *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
-done
-
- ;;
- esac
- # We did not find ourselves, most probably we were run as `sh COMMAND'
- # in which case we are not to be found in the path.
- if test "x$as_myself" = x; then
- as_myself=$0
- fi
- if test ! -f "$as_myself"; then
- { echo "$as_me: error: cannot find myself; rerun with an absolute path" >&2
- { (exit 1); exit 1; }; }
- fi
- case $CONFIG_SHELL in
- '')
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for as_base in sh bash ksh sh5; do
- case $as_dir in
- /*)
- if ("$as_dir/$as_base" -c '
- as_lineno_1=$LINENO
- as_lineno_2=$LINENO
- as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
- test "x$as_lineno_1" != "x$as_lineno_2" &&
- test "x$as_lineno_3" = "x$as_lineno_2" ') 2>/dev/null; then
- $as_unset BASH_ENV || test "${BASH_ENV+set}" != set || { BASH_ENV=; export BASH_ENV; }
- $as_unset ENV || test "${ENV+set}" != set || { ENV=; export ENV; }
- CONFIG_SHELL=$as_dir/$as_base
- export CONFIG_SHELL
- exec "$CONFIG_SHELL" "$0" ${1+"$@"}
- fi;;
- esac
- done
-done
-;;
- esac
-
- # Create $as_me.lineno as a copy of $as_myself, but with $LINENO
- # uniformly replaced by the line number. The first 'sed' inserts a
- # line-number line before each line; the second 'sed' does the real
- # work. The second script uses 'N' to pair each line-number line
- # with the numbered line, and appends trailing '-' during
- # substitution so that $LINENO is not a special case at line end.
- # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the
- # second 'sed' script. Blame Lee E. McMahon for sed's syntax. :-)
- sed '=' <$as_myself |
- sed '
- N
- s,$,-,
- : loop
- s,^\(['$as_cr_digits']*\)\(.*\)[$]LINENO\([^'$as_cr_alnum'_]\),\1\2\1\3,
- t loop
- s,-$,,
- s,^['$as_cr_digits']*\n,,
- ' >$as_me.lineno &&
- chmod +x $as_me.lineno ||
- { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2
- { (exit 1); exit 1; }; }
-
- # Don't try to exec as it changes $[0], causing all sort of problems
- # (the dirname of $[0] is not the place where we might find the
- # original and so on. Autoconf is especially sensible to this).
- . ./$as_me.lineno
- # Exit status is that of the last command.
- exit
-}
-
-
-case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in
- *c*,-n*) ECHO_N= ECHO_C='
-' ECHO_T=' ' ;;
- *c*,* ) ECHO_N=-n ECHO_C= ECHO_T= ;;
- *) ECHO_N= ECHO_C='\c' ECHO_T= ;;
-esac
-
-if expr a : '\(a\)' >/dev/null 2>&1; then
- as_expr=expr
-else
- as_expr=false
-fi
-
-rm -f conf$$ conf$$.exe conf$$.file
-echo >conf$$.file
-if ln -s conf$$.file conf$$ 2>/dev/null; then
- # We could just check for DJGPP; but this test a) works b) is more generic
- # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04).
- if test -f conf$$.exe; then
- # Don't use ln at all; we don't have any links
- as_ln_s='cp -p'
- else
- as_ln_s='ln -s'
- fi
-elif ln conf$$.file conf$$ 2>/dev/null; then
- as_ln_s=ln
-else
- as_ln_s='cp -p'
-fi
-rm -f conf$$ conf$$.exe conf$$.file
-
-if mkdir -p . 2>/dev/null; then
- as_mkdir_p=:
-else
- as_mkdir_p=false
-fi
-
-as_executable_p="test -f"
-
-# Sed expression to map a string onto a valid CPP name.
-as_tr_cpp="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="sed y%*+%pp%;s%[^_$as_cr_alnum]%_%g"
-
-
-# IFS
-# We need space, tab and new line, in precisely that order.
-as_nl='
-'
-IFS=" $as_nl"
-
-# CDPATH.
-$as_unset CDPATH
-
-
-# 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`
-
-exec 6>&1
-
-#
-# Initializations.
-#
-ac_default_prefix=/usr/local
-ac_config_libobj_dir=.
-cross_compiling=no
-subdirs=
-MFLAGS=
-MAKEFLAGS=
-SHELL=${CONFIG_SHELL-/bin/sh}
-
-# Maximum number of lines to put in a shell here document.
-# This variable seems obsolete. It should probably be removed, and
-# only ac_max_sed_lines should be used.
-: ${ac_max_here_lines=38}
-
-# Identity of this package.
-PACKAGE_NAME=
-PACKAGE_TARNAME=
-PACKAGE_VERSION=
-PACKAGE_STRING=
-PACKAGE_BUGREPORT=
-
-ac_unique_file="Source/robodoc.h"
-# Factoring default headers for most tests.
-ac_includes_default="\
-#include <stdio.h>
-#if HAVE_SYS_TYPES_H
-# include <sys/types.h>
-#endif
-#if HAVE_SYS_STAT_H
-# include <sys/stat.h>
-#endif
-#if STDC_HEADERS
-# include <stdlib.h>
-# include <stddef.h>
-#else
-# if HAVE_STDLIB_H
-# include <stdlib.h>
-# endif
-#endif
-#if HAVE_STRING_H
-# if !STDC_HEADERS && HAVE_MEMORY_H
-# include <memory.h>
-# endif
-# include <string.h>
-#endif
-#if HAVE_STRINGS_H
-# include <strings.h>
-#endif
-#if HAVE_INTTYPES_H
-# include <inttypes.h>
-#else
-# if HAVE_STDINT_H
-# include <stdint.h>
-# endif
-#endif
-#if HAVE_UNISTD_H
-# include <unistd.h>
-#endif"
-
-ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CYGPATH_W PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO AMTAR install_sh STRIP ac_ct_STRIP INSTALL_STRIP_PROGRAM AWK SET_MAKE CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT DEPDIR am__include am__quote AMDEP_TRUE AMDEP_FALSE AMDEPBACKSLASH CCDEPMODE am__fastdepCC_TRUE am__fastdepCC_FALSE CPP EGREP LIBOBJS LTLIBOBJS'
-ac_subst_files=''
-
-# Initialize some variables set by options.
-ac_init_help=
-ac_init_version=false
-# The variables have the same names as the options, with
-# dashes changed to underlines.
-cache_file=/dev/null
-exec_prefix=NONE
-no_create=
-no_recursion=
-prefix=NONE
-program_prefix=NONE
-program_suffix=NONE
-program_transform_name=s,x,x,
-silent=
-site=
-srcdir=
-verbose=
-x_includes=NONE
-x_libraries=NONE
-
-# Installation directory options.
-# These are left unexpanded so users can "make install exec_prefix=/foo"
-# and all the variables that are supposed to be based on exec_prefix
-# by default will actually change.
-# Use braces instead of parens because sh, perl, etc. also accept them.
-bindir='${exec_prefix}/bin'
-sbindir='${exec_prefix}/sbin'
-libexecdir='${exec_prefix}/libexec'
-datadir='${prefix}/share'
-sysconfdir='${prefix}/etc'
-sharedstatedir='${prefix}/com'
-localstatedir='${prefix}/var'
-libdir='${exec_prefix}/lib'
-includedir='${prefix}/include'
-oldincludedir='/usr/include'
-infodir='${prefix}/info'
-mandir='${prefix}/man'
-
-ac_prev=
-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
-
- ac_optarg=`expr "x$ac_option" : 'x[^=]*=\(.*\)'`
-
- # Accept the important Cygnus configure options, so we can diagnose typos.
-
- case $ac_option in
-
- -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 | --data | --dat | --da)
- ac_prev=datadir ;;
- -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \
- | --da=*)
- datadir=$ac_optarg ;;
-
- -disable-* | --disable-*)
- ac_feature=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
- # Reject names that are not valid shell variable names.
- expr "x$ac_feature" : ".*[^-_$as_cr_alnum]" >/dev/null &&
- { echo "$as_me: error: invalid feature name: $ac_feature" >&2
- { (exit 1); exit 1; }; }
- ac_feature=`echo $ac_feature | sed 's/-/_/g'`
- eval "enable_$ac_feature=no" ;;
-
- -enable-* | --enable-*)
- ac_feature=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
- # Reject names that are not valid shell variable names.
- expr "x$ac_feature" : ".*[^-_$as_cr_alnum]" >/dev/null &&
- { echo "$as_me: error: invalid feature name: $ac_feature" >&2
- { (exit 1); exit 1; }; }
- ac_feature=`echo $ac_feature | sed 's/-/_/g'`
- case $ac_option in
- *=*) ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`;;
- *) ac_optarg=yes ;;
- esac
- eval "enable_$ac_feature='$ac_optarg'" ;;
-
- -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
- | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
- | --exec | --exe | --ex)
- ac_prev=exec_prefix ;;
- -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
- | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
- | --exec=* | --exe=* | --ex=*)
- exec_prefix=$ac_optarg ;;
-
- -gas | --gas | --ga | --g)
- # Obsolete; use --with-gas.
- with_gas=yes ;;
-
- -help | --help | --hel | --he | -h)
- ac_init_help=long ;;
- -help=r* | --help=r* | --hel=r* | --he=r* | -hr*)
- ac_init_help=recursive ;;
- -help=s* | --help=s* | --hel=s* | --he=s* | -hs*)
- ac_init_help=short ;;
-
- -host | --host | --hos | --ho)
- ac_prev=host_alias ;;
- -host=* | --host=* | --hos=* | --ho=*)
- host_alias=$ac_optarg ;;
-
- -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 ;;
-
- -localstatedir | --localstatedir | --localstatedi | --localstated \
- | --localstate | --localstat | --localsta | --localst \
- | --locals | --local | --loca | --loc | --lo)
- ac_prev=localstatedir ;;
- -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
- | --localstate=* | --localstat=* | --localsta=* | --localst=* \
- | --locals=* | --local=* | --loca=* | --loc=* | --lo=*)
- 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 ;;
-
- -q | -quiet | --quiet | --quie | --qui | --qu | --q \
- | -silent | --silent | --silen | --sile | --sil)
- silent=yes ;;
-
- -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
- ac_prev=sbindir ;;
- -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
- | --sbi=* | --sb=*)
- sbindir=$ac_optarg ;;
-
- -sharedstatedir | --sharedstatedir | --sharedstatedi \
- | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
- | --sharedst | --shareds | --shared | --share | --shar \
- | --sha | --sh)
- ac_prev=sharedstatedir ;;
- -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
- | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
- | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
- | --sha=* | --sh=*)
- sharedstatedir=$ac_optarg ;;
-
- -site | --site | --sit)
- ac_prev=site ;;
- -site=* | --site=* | --sit=*)
- site=$ac_optarg ;;
-
- -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
- ac_prev=srcdir ;;
- -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
- srcdir=$ac_optarg ;;
-
- -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
- | --syscon | --sysco | --sysc | --sys | --sy)
- ac_prev=sysconfdir ;;
- -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
- | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
- sysconfdir=$ac_optarg ;;
-
- -target | --target | --targe | --targ | --tar | --ta | --t)
- ac_prev=target_alias ;;
- -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
- target_alias=$ac_optarg ;;
-
- -v | -verbose | --verbose | --verbos | --verbo | --verb)
- verbose=yes ;;
-
- -version | --version | --versio | --versi | --vers | -V)
- ac_init_version=: ;;
-
- -with-* | --with-*)
- ac_package=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
- # Reject names that are not valid shell variable names.
- expr "x$ac_package" : ".*[^-_$as_cr_alnum]" >/dev/null &&
- { echo "$as_me: error: invalid package name: $ac_package" >&2
- { (exit 1); exit 1; }; }
- ac_package=`echo $ac_package| sed 's/-/_/g'`
- case $ac_option in
- *=*) ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`;;
- *) ac_optarg=yes ;;
- esac
- eval "with_$ac_package='$ac_optarg'" ;;
-
- -without-* | --without-*)
- ac_package=`expr "x$ac_option" : 'x-*without-\(.*\)'`
- # Reject names that are not valid shell variable names.
- expr "x$ac_package" : ".*[^-_$as_cr_alnum]" >/dev/null &&
- { echo "$as_me: error: invalid package name: $ac_package" >&2
- { (exit 1); exit 1; }; }
- ac_package=`echo $ac_package | sed 's/-/_/g'`
- eval "with_$ac_package=no" ;;
-
- --x)
- # Obsolete; use --with-x.
- with_x=yes ;;
-
- -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
- | --x-incl | --x-inc | --x-in | --x-i)
- ac_prev=x_includes ;;
- -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
- | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
- x_includes=$ac_optarg ;;
-
- -x-libraries | --x-libraries | --x-librarie | --x-librari \
- | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
- ac_prev=x_libraries ;;
- -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
- | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
- x_libraries=$ac_optarg ;;
-
- -*) { echo "$as_me: error: unrecognized option: $ac_option
-Try \`$0 --help' for more information." >&2
- { (exit 1); exit 1; }; }
- ;;
-
- *=*)
- ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='`
- # Reject names that are not valid shell variable names.
- expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null &&
- { echo "$as_me: error: invalid variable name: $ac_envvar" >&2
- { (exit 1); exit 1; }; }
- ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`
- eval "$ac_envvar='$ac_optarg'"
- export $ac_envvar ;;
-
- *)
- # FIXME: should be removed in autoconf 3.0.
- echo "$as_me: WARNING: you should use --build, --host, --target" >&2
- expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
- echo "$as_me: WARNING: invalid host type: $ac_option" >&2
- : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}
- ;;
-
- esac
-done
-
-if test -n "$ac_prev"; then
- ac_option=--`echo $ac_prev | sed 's/_/-/g'`
- { echo "$as_me: error: missing argument to $ac_option" >&2
- { (exit 1); exit 1; }; }
-fi
-
-# Be sure to have absolute paths.
-for ac_var in exec_prefix prefix
-do
- eval ac_val=$`echo $ac_var`
- case $ac_val in
- [\\/$]* | ?:[\\/]* | NONE | '' ) ;;
- *) { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2
- { (exit 1); exit 1; }; };;
- esac
-done
-
-# Be sure to have absolute paths.
-for ac_var in bindir sbindir libexecdir datadir sysconfdir sharedstatedir \
- localstatedir libdir includedir oldincludedir infodir mandir
-do
- eval ac_val=$`echo $ac_var`
- case $ac_val in
- [\\/$]* | ?:[\\/]* ) ;;
- *) { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2
- { (exit 1); exit 1; }; };;
- esac
-done
-
-# There might be people who depend on the old broken behavior: `$host'
-# used to hold the argument of --host etc.
-# FIXME: To remove some day.
-build=$build_alias
-host=$host_alias
-target=$target_alias
-
-# FIXME: To remove some day.
-if test "x$host_alias" != x; then
- if test "x$build_alias" = x; then
- cross_compiling=maybe
- echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host.
- If a cross compiler is detected then cross compile mode will be used." >&2
- elif test "x$build_alias" != "x$host_alias"; then
- cross_compiling=yes
- fi
-fi
-
-ac_tool_prefix=
-test -n "$host_alias" && ac_tool_prefix=$host_alias-
-
-test "$silent" = yes && exec 6>/dev/null
-
-
-# Find the source files, if location was not specified.
-if test -z "$srcdir"; then
- ac_srcdir_defaulted=yes
- # Try the directory containing this script, then its parent.
- ac_confdir=`(dirname "$0") 2>/dev/null ||
-$as_expr X"$0" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$0" : 'X\(//\)[^/]' \| \
- X"$0" : 'X\(//\)$' \| \
- X"$0" : 'X\(/\)' \| \
- . : '\(.\)' 2>/dev/null ||
-echo X"$0" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
- /^X\(\/\/\)[^/].*/{ s//\1/; q; }
- /^X\(\/\/\)$/{ s//\1/; q; }
- /^X\(\/\).*/{ s//\1/; q; }
- s/.*/./; q'`
- srcdir=$ac_confdir
- if test ! -r $srcdir/$ac_unique_file; then
- srcdir=..
- fi
-else
- ac_srcdir_defaulted=no
-fi
-if test ! -r $srcdir/$ac_unique_file; then
- if test "$ac_srcdir_defaulted" = yes; then
- { echo "$as_me: error: cannot find sources ($ac_unique_file) in $ac_confdir or .." >&2
- { (exit 1); exit 1; }; }
- else
- { echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2
- { (exit 1); exit 1; }; }
- fi
-fi
-(cd $srcdir && test -r ./$ac_unique_file) 2>/dev/null ||
- { echo "$as_me: error: sources are in $srcdir, but \`cd $srcdir' does not work" >&2
- { (exit 1); exit 1; }; }
-srcdir=`echo "$srcdir" | sed 's%\([^\\/]\)[\\/]*$%\1%'`
-ac_env_build_alias_set=${build_alias+set}
-ac_env_build_alias_value=$build_alias
-ac_cv_env_build_alias_set=${build_alias+set}
-ac_cv_env_build_alias_value=$build_alias
-ac_env_host_alias_set=${host_alias+set}
-ac_env_host_alias_value=$host_alias
-ac_cv_env_host_alias_set=${host_alias+set}
-ac_cv_env_host_alias_value=$host_alias
-ac_env_target_alias_set=${target_alias+set}
-ac_env_target_alias_value=$target_alias
-ac_cv_env_target_alias_set=${target_alias+set}
-ac_cv_env_target_alias_value=$target_alias
-ac_env_CC_set=${CC+set}
-ac_env_CC_value=$CC
-ac_cv_env_CC_set=${CC+set}
-ac_cv_env_CC_value=$CC
-ac_env_CFLAGS_set=${CFLAGS+set}
-ac_env_CFLAGS_value=$CFLAGS
-ac_cv_env_CFLAGS_set=${CFLAGS+set}
-ac_cv_env_CFLAGS_value=$CFLAGS
-ac_env_LDFLAGS_set=${LDFLAGS+set}
-ac_env_LDFLAGS_value=$LDFLAGS
-ac_cv_env_LDFLAGS_set=${LDFLAGS+set}
-ac_cv_env_LDFLAGS_value=$LDFLAGS
-ac_env_CPPFLAGS_set=${CPPFLAGS+set}
-ac_env_CPPFLAGS_value=$CPPFLAGS
-ac_cv_env_CPPFLAGS_set=${CPPFLAGS+set}
-ac_cv_env_CPPFLAGS_value=$CPPFLAGS
-ac_env_CPP_set=${CPP+set}
-ac_env_CPP_value=$CPP
-ac_cv_env_CPP_set=${CPP+set}
-ac_cv_env_CPP_value=$CPP
-
-#
-# 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 this package 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 \`..']
-
-_ACEOF
-
- cat <<_ACEOF
-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]
- --datadir=DIR read-only architecture-independent data [PREFIX/share]
- --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]
- --infodir=DIR info documentation [PREFIX/info]
- --mandir=DIR man documentation [PREFIX/man]
-_ACEOF
-
- cat <<\_ACEOF
-
-Program names:
- --program-prefix=PREFIX prepend PREFIX to installed program names
- --program-suffix=SUFFIX append SUFFIX to installed program names
- --program-transform-name=PROGRAM run sed PROGRAM on installed program names
-_ACEOF
-fi
-
-if test -n "$ac_init_help"; then
-
- cat <<\_ACEOF
-
-Optional Features:
- --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
- --enable-FEATURE[=ARG] include FEATURE [ARG=yes]
- --disable-dependency-tracking Speeds up one-time builds
- --enable-dependency-tracking Do not reject slow dependency extractors
-
-Some influential environment variables:
- 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>
- CPPFLAGS C/C++ preprocessor flags, e.g. -I<include dir> if you have
- headers in a nonstandard directory <include dir>
- CPP C preprocessor
-
-Use these variables to override the choices made by `configure' or to help
-it to find libraries and programs with nonstandard names/locations.
-
-_ACEOF
-fi
-
-if test "$ac_init_help" = "recursive"; then
- # If there are subdirs, report their specific --help.
- ac_popdir=`pwd`
- for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue
- test -d $ac_dir || continue
- ac_builddir=.
-
-if test "$ac_dir" != .; then
- ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
- # A "../" for each directory in $ac_dir_suffix.
- ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'`
-else
- ac_dir_suffix= ac_top_builddir=
-fi
-
-case $srcdir in
- .) # No --srcdir option. We are building in place.
- ac_srcdir=.
- if test -z "$ac_top_builddir"; then
- ac_top_srcdir=.
- else
- ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'`
- fi ;;
- [\\/]* | ?:[\\/]* ) # Absolute path.
- ac_srcdir=$srcdir$ac_dir_suffix;
- ac_top_srcdir=$srcdir ;;
- *) # Relative path.
- ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix
- ac_top_srcdir=$ac_top_builddir$srcdir ;;
-esac
-# Don't blindly perform a `cd "$ac_dir"/$ac_foo && pwd` since $ac_foo can be
-# absolute.
-ac_abs_builddir=`cd "$ac_dir" && cd $ac_builddir && pwd`
-ac_abs_top_builddir=`cd "$ac_dir" && cd ${ac_top_builddir}. && pwd`
-ac_abs_srcdir=`cd "$ac_dir" && cd $ac_srcdir && pwd`
-ac_abs_top_srcdir=`cd "$ac_dir" && cd $ac_top_srcdir && pwd`
-
- cd $ac_dir
- # Check for guested configure; otherwise get Cygnus style configure.
- if test -f $ac_srcdir/configure.gnu; then
- echo
- $SHELL $ac_srcdir/configure.gnu --help=recursive
- elif test -f $ac_srcdir/configure; then
- echo
- $SHELL $ac_srcdir/configure --help=recursive
- elif test -f $ac_srcdir/configure.ac ||
- test -f $ac_srcdir/configure.in; then
- echo
- $ac_configure --help
- else
- echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2
- fi
- cd $ac_popdir
- done
-fi
-
-test -n "$ac_init_help" && exit 0
-if $ac_init_version; then
- cat <<\_ACEOF
-
-Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, 2002
-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 0
-fi
-exec 5>config.log
-cat >&5 <<_ACEOF
-This file contains any messages produced by compilers while
-running configure, to aid debugging if configure makes a mistake.
-
-It was created by $as_me, which was
-generated by GNU Autoconf 2.54. Invocation command line was
-
- $ $0 $@
-
-_ACEOF
-{
-cat <<_ASUNAME
-## --------- ##
-## Platform. ##
-## --------- ##
-
-hostname = `(hostname || uname -n) 2>/dev/null | sed 1q`
-uname -m = `(uname -m) 2>/dev/null || echo unknown`
-uname -r = `(uname -r) 2>/dev/null || echo unknown`
-uname -s = `(uname -s) 2>/dev/null || echo unknown`
-uname -v = `(uname -v) 2>/dev/null || echo unknown`
-
-/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown`
-/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown`
-
-/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown`
-/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown`
-/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown`
-hostinfo = `(hostinfo) 2>/dev/null || echo unknown`
-/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown`
-/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown`
-/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown`
-
-_ASUNAME
-
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- echo "PATH: $as_dir"
-done
-
-} >&5
-
-cat >&5 <<_ACEOF
-
-
-## ----------- ##
-## Core tests. ##
-## ----------- ##
-
-_ACEOF
-
-
-# Keep a trace of the command line.
-# Strip out --no-create and --no-recursion so they do not pile up.
-# Also quote any args containing shell meta-characters.
-ac_configure_args=
-ac_sep=
-for ac_arg
-do
- case $ac_arg in
- -no-create | --no-create | --no-creat | --no-crea | --no-cre \
- | --no-cr | --no-c | -n ) continue ;;
- -no-recursion | --no-recursion | --no-recursio | --no-recursi \
- | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
- continue ;;
- *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?\"\']*)
- ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
- esac
- ac_configure_args="$ac_configure_args$ac_sep'$ac_arg'"
- # Get rid of the leading space.
- ac_sep=" "
-done
-
-# When interrupted or exit'd, cleanup temporary files, and complete
-# config.log. We remove comments because anyway the quotes in there
-# would cause problems or look ugly.
-# WARNING: Be sure not to use single quotes in there, as some shells,
-# such as our DU 5.0 friend, will then `close' the trap.
-trap 'exit_status=$?
- # Save into config.log some information that might help in debugging.
- {
- echo
-
- cat <<\_ASBOX
-## ---------------- ##
-## Cache variables. ##
-## ---------------- ##
-_ASBOX
- echo
- # The following way of writing the cache mishandles newlines in values,
-{
- (set) 2>&1 |
- case `(ac_space='"'"' '"'"'; set | grep ac_space) 2>&1` in
- *ac_space=\ *)
- sed -n \
- "s/'"'"'/'"'"'\\\\'"'"''"'"'/g;
- s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='"'"'\\2'"'"'/p"
- ;;
- *)
- sed -n \
- "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p"
- ;;
- esac;
-}
- echo
-
- cat <<\_ASBOX
-## ----------------- ##
-## Output variables. ##
-## ----------------- ##
-_ASBOX
- echo
- for ac_var in $ac_subst_vars
- do
- eval ac_val=$`echo $ac_var`
- echo "$ac_var='"'"'$ac_val'"'"'"
- done | sort
- echo
-
- if test -n "$ac_subst_files"; then
- cat <<\_ASBOX
-## ------------- ##
-## Output files. ##
-## ------------- ##
-_ASBOX
- echo
- for ac_var in $ac_subst_files
- do
- eval ac_val=$`echo $ac_var`
- echo "$ac_var='"'"'$ac_val'"'"'"
- done | sort
- echo
- fi
-
- if test -s confdefs.h; then
- cat <<\_ASBOX
-## ----------- ##
-## confdefs.h. ##
-## ----------- ##
-_ASBOX
- echo
- sed "/^$/d" confdefs.h | sort
- echo
- fi
- test "$ac_signal" != 0 &&
- echo "$as_me: caught signal $ac_signal"
- echo "$as_me: exit $exit_status"
- } >&5
- rm -f core core.* *.core &&
- rm -rf conftest* confdefs* conf$$* $ac_clean_files &&
- exit $exit_status
- ' 0
-for ac_signal in 1 2 13 15; do
- trap 'ac_signal='$ac_signal'; { (exit 1); exit 1; }' $ac_signal
-done
-ac_signal=0
-
-# confdefs.h avoids OS command line length limits that DEFS can exceed.
-rm -rf conftest* confdefs.h
-# AIX cpp loses on an empty file, so make sure it contains at least a newline.
-echo >confdefs.h
-
-# Predefined preprocessor variables.
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_NAME "$PACKAGE_NAME"
-_ACEOF
-
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_TARNAME "$PACKAGE_TARNAME"
-_ACEOF
-
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_VERSION "$PACKAGE_VERSION"
-_ACEOF
-
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_STRING "$PACKAGE_STRING"
-_ACEOF
-
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT"
-_ACEOF
-
-
-# Let the site file select an alternate cache file if it wants to.
-# Prefer explicitly selected file to automatically selected ones.
-if test -z "$CONFIG_SITE"; then
- if test "x$prefix" != xNONE; then
- CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site"
- else
- CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site"
- fi
-fi
-for ac_site_file in $CONFIG_SITE; do
- if test -r "$ac_site_file"; then
- { echo "$as_me:$LINENO: loading site script $ac_site_file" >&5
-echo "$as_me: loading site script $ac_site_file" >&6;}
- sed 's/^/| /' "$ac_site_file" >&5
- . "$ac_site_file"
- fi
-done
-
-if test -r "$cache_file"; then
- # Some versions of bash will fail to source /dev/null (special
- # files actually), so we avoid doing that.
- if test -f "$cache_file"; then
- { echo "$as_me:$LINENO: loading cache $cache_file" >&5
-echo "$as_me: loading cache $cache_file" >&6;}
- case $cache_file in
- [\\/]* | ?:[\\/]* ) . $cache_file;;
- *) . ./$cache_file;;
- esac
- fi
-else
- { echo "$as_me:$LINENO: creating cache $cache_file" >&5
-echo "$as_me: creating cache $cache_file" >&6;}
- >$cache_file
-fi
-
-# Check that the precious variables saved in the cache have kept the same
-# value.
-ac_cache_corrupted=false
-for ac_var in `(set) 2>&1 |
- sed -n 's/^ac_env_\([a-zA-Z_0-9]*\)_set=.*/\1/p'`; do
- eval ac_old_set=\$ac_cv_env_${ac_var}_set
- eval ac_new_set=\$ac_env_${ac_var}_set
- eval ac_old_val="\$ac_cv_env_${ac_var}_value"
- eval ac_new_val="\$ac_env_${ac_var}_value"
- case $ac_old_set,$ac_new_set in
- set,)
- { echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
-echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;}
- ac_cache_corrupted=: ;;
- ,set)
- { echo "$as_me:$LINENO: error: \`$ac_var' was not set in the previous run" >&5
-echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;}
- ac_cache_corrupted=: ;;
- ,);;
- *)
- if test "x$ac_old_val" != "x$ac_new_val"; then
- { echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5
-echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
- { echo "$as_me:$LINENO: former value: $ac_old_val" >&5
-echo "$as_me: former value: $ac_old_val" >&2;}
- { echo "$as_me:$LINENO: current value: $ac_new_val" >&5
-echo "$as_me: current value: $ac_new_val" >&2;}
- ac_cache_corrupted=:
- fi;;
- esac
- # Pass precious variables to config.status.
- if test "$ac_new_set" = set; then
- case $ac_new_val in
- *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?\"\']*)
- ac_arg=$ac_var=`echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
- *) ac_arg=$ac_var=$ac_new_val ;;
- esac
- case " $ac_configure_args " in
- *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy.
- *) ac_configure_args="$ac_configure_args '$ac_arg'" ;;
- esac
- fi
-done
-if $ac_cache_corrupted; then
- { echo "$as_me:$LINENO: error: changes in the environment can compromise the build" >&5
-echo "$as_me: error: changes in the environment can compromise the build" >&2;}
- { { echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5
-echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;}
- { (exit 1); exit 1; }; }
-fi
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- ac_config_headers="$ac_config_headers Source/config.h"
-
-
-am__api_version="1.7"
-ac_aux_dir=
-for ac_dir in $srcdir $srcdir/.. $srcdir/../..; do
- if test -f $ac_dir/install-sh; then
- ac_aux_dir=$ac_dir
- ac_install_sh="$ac_aux_dir/install-sh -c"
- break
- elif test -f $ac_dir/install.sh; then
- ac_aux_dir=$ac_dir
- ac_install_sh="$ac_aux_dir/install.sh -c"
- break
- elif test -f $ac_dir/shtool; then
- ac_aux_dir=$ac_dir
- ac_install_sh="$ac_aux_dir/shtool install -c"
- break
- fi
-done
-if test -z "$ac_aux_dir"; then
- { { echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." >&5
-echo "$as_me: error: cannot find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." >&2;}
- { (exit 1); exit 1; }; }
-fi
-ac_config_guess="$SHELL $ac_aux_dir/config.guess"
-ac_config_sub="$SHELL $ac_aux_dir/config.sub"
-ac_configure="$SHELL $ac_aux_dir/configure" # This should be Cygnus configure.
-
-# 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"
-# ./install, which can be erroneously created by make from ./install.sh.
-echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5
-echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6
-if test -z "$INSTALL"; then
-if test "${ac_cv_path_install+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- # Account for people who put trailing slashes in PATH elements.
-case $as_dir/ in
- ./ | .// | /cC/* | \
- /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \
- /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 $as_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then
- if test $ac_prog = install &&
- grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
- # AIX install. It has an incompatible calling convention.
- :
- elif test $ac_prog = install &&
- grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
- # program-specific install script used by HP pwplus--don't use.
- :
- else
- ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c"
- break 3
- fi
- fi
- done
- done
- ;;
-esac
-done
-
-
-fi
- if test "${ac_cv_path_install+set}" = set; then
- INSTALL=$ac_cv_path_install
- else
- # As a last resort, use the slow shell script. We don't cache a
- # path for INSTALL within a source directory, because that will
- # break other packages using the cache if that directory is
- # removed, or if the path is relative.
- INSTALL=$ac_install_sh
- fi
-fi
-echo "$as_me:$LINENO: result: $INSTALL" >&5
-echo "${ECHO_T}$INSTALL" >&6
-
-# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
-# It thinks the first close brace ends the variable substitution.
-test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
-
-test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}'
-
-test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
-
-echo "$as_me:$LINENO: checking whether build environment is sane" >&5
-echo $ECHO_N "checking whether build environment is sane... $ECHO_C" >&6
-# Just in case
-sleep 1
-echo timestamp > conftest.file
-# Do `set' in a subshell so we don't clobber the current shell's
-# arguments. Must try -L first in case configure is actually a
-# symlink; some systems play weird games with the mod time of symlinks
-# (eg FreeBSD returns the mod time of the symlink's containing
-# directory).
-if (
- set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null`
- if test "$*" = "X"; then
- # -L didn't work.
- set X `ls -t $srcdir/configure conftest.file`
- fi
- rm -f conftest.file
- if test "$*" != "X $srcdir/configure conftest.file" \
- && test "$*" != "X conftest.file $srcdir/configure"; then
-
- # If neither matched, then we have a broken ls. This can happen
- # if, for instance, CONFIG_SHELL is bash and it inherits a
- # broken ls alias from the environment. This has actually
- # happened. Such a system could not be considered "sane".
- { { echo "$as_me:$LINENO: error: ls -t appears to fail. Make sure there is not a broken
-alias in your environment" >&5
-echo "$as_me: error: ls -t appears to fail. Make sure there is not a broken
-alias in your environment" >&2;}
- { (exit 1); exit 1; }; }
- fi
-
- test "$2" = conftest.file
- )
-then
- # Ok.
- :
-else
- { { echo "$as_me:$LINENO: error: newly created file is older than distributed files!
-Check your system clock" >&5
-echo "$as_me: error: newly created file is older than distributed files!
-Check your system clock" >&2;}
- { (exit 1); exit 1; }; }
-fi
-echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
-test "$program_prefix" != NONE &&
- program_transform_name="s,^,$program_prefix,;$program_transform_name"
-# Use a double $ so make ignores it.
-test "$program_suffix" != NONE &&
- program_transform_name="s,\$,$program_suffix,;$program_transform_name"
-# Double any \ or $. echo might interpret backslashes.
-# By default was `s,x,x', remove it if useless.
-cat <<\_ACEOF >conftest.sed
-s/[\\$]/&&/g;s/;s,x,x,$//
-_ACEOF
-program_transform_name=`echo $program_transform_name | sed -f conftest.sed`
-rm conftest.sed
-
-
-# expand $ac_aux_dir to an absolute path
-am_aux_dir=`cd $ac_aux_dir && pwd`
-
-test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing"
-# Use eval to expand $SHELL
-if eval "$MISSING --run true"; then
- am_missing_run="$MISSING --run "
-else
- am_missing_run=
- { echo "$as_me:$LINENO: WARNING: \`missing' script is too old or missing" >&5
-echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;}
-fi
-
-for ac_prog in gawk mawk nawk awk
-do
- # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-if test "${ac_cv_prog_AWK+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$AWK"; then
- ac_cv_prog_AWK="$AWK" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_AWK="$ac_prog"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-
-fi
-fi
-AWK=$ac_cv_prog_AWK
-if test -n "$AWK"; then
- echo "$as_me:$LINENO: result: $AWK" >&5
-echo "${ECHO_T}$AWK" >&6
-else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-
- test -n "$AWK" && break
-done
-
-echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \${MAKE}" >&5
-echo $ECHO_N "checking whether ${MAKE-make} sets \${MAKE}... $ECHO_C" >&6
-set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y,./+-,__p_,'`
-if eval "test \"\${ac_cv_prog_make_${ac_make}_set+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.make <<\_ACEOF
-all:
- @echo 'ac_maketemp="${MAKE}"'
-_ACEOF
-# GNU make sometimes prints "make[1]: Entering...", which would confuse us.
-eval `${MAKE-make} -f conftest.make 2>/dev/null | grep temp=`
-if test -n "$ac_maketemp"; then
- eval ac_cv_prog_make_${ac_make}_set=yes
-else
- eval ac_cv_prog_make_${ac_make}_set=no
-fi
-rm -f conftest.make
-fi
-if eval "test \"`echo '$ac_cv_prog_make_'${ac_make}_set`\" = yes"; then
- echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
- SET_MAKE=
-else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
- SET_MAKE="MAKE=${MAKE-make}"
-fi
-
- # test to see if srcdir already configured
-if test "`cd $srcdir && pwd`" != "`pwd`" &&
- test -f $srcdir/config.status; then
- { { echo "$as_me:$LINENO: error: source directory already configured; run \"make distclean\" there first" >&5
-echo "$as_me: error: source directory already configured; run \"make distclean\" there first" >&2;}
- { (exit 1); exit 1; }; }
-fi
-
-# test whether we have cygpath
-if test -z "$CYGPATH_W"; then
- if (cygpath --version) >/dev/null 2>/dev/null; then
- CYGPATH_W='cygpath -w'
- else
- CYGPATH_W=echo
- fi
-fi
-
-
-# Define the identity of the package.
- PACKAGE=robodoc
- VERSION=3.2.3
-
-
-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"}
-
-
-AMTAR=${AMTAR-"${am_missing_run}tar"}
-
-install_sh=${install_sh-"$am_aux_dir/install-sh"}
-
-# Installed binaries are usually stripped using `strip' when the user
-# run `make install-strip'. However `strip' might not be the right
-# tool to use in cross-compilation environments, therefore Automake
-# will honor the `STRIP' environment variable to overrule this program.
-if test "$cross_compiling" != no; then
- if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
-set dummy ${ac_tool_prefix}strip; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-if test "${ac_cv_prog_STRIP+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$STRIP"; then
- ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_STRIP="${ac_tool_prefix}strip"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-
-fi
-fi
-STRIP=$ac_cv_prog_STRIP
-if test -n "$STRIP"; then
- echo "$as_me:$LINENO: result: $STRIP" >&5
-echo "${ECHO_T}$STRIP" >&6
-else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-
-fi
-if test -z "$ac_cv_prog_STRIP"; then
- ac_ct_STRIP=$STRIP
- # Extract the first word of "strip", so it can be a program name with args.
-set dummy strip; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$ac_ct_STRIP"; then
- ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_ac_ct_STRIP="strip"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-
- test -z "$ac_cv_prog_ac_ct_STRIP" && ac_cv_prog_ac_ct_STRIP=":"
-fi
-fi
-ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
-if test -n "$ac_ct_STRIP"; then
- echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5
-echo "${ECHO_T}$ac_ct_STRIP" >&6
-else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-
- STRIP=$ac_ct_STRIP
-else
- STRIP="$ac_cv_prog_STRIP"
-fi
-
-fi
-INSTALL_STRIP_PROGRAM="\${SHELL} \$(install_sh) -c -s"
-
-# We need awk for the "check" target. The system "awk" is bad on
-# some platforms.
-
-
-
-
-echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \${MAKE}" >&5
-echo $ECHO_N "checking whether ${MAKE-make} sets \${MAKE}... $ECHO_C" >&6
-set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y,./+-,__p_,'`
-if eval "test \"\${ac_cv_prog_make_${ac_make}_set+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.make <<\_ACEOF
-all:
- @echo 'ac_maketemp="${MAKE}"'
-_ACEOF
-# GNU make sometimes prints "make[1]: Entering...", which would confuse us.
-eval `${MAKE-make} -f conftest.make 2>/dev/null | grep temp=`
-if test -n "$ac_maketemp"; then
- eval ac_cv_prog_make_${ac_make}_set=yes
-else
- eval ac_cv_prog_make_${ac_make}_set=no
-fi
-rm -f conftest.make
-fi
-if eval "test \"`echo '$ac_cv_prog_make_'${ac_make}_set`\" = yes"; then
- echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
- SET_MAKE=
-else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
- SET_MAKE="MAKE=${MAKE-make}"
-fi
-
-
-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
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-if test "${ac_cv_prog_CC+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&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 $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_CC="${ac_tool_prefix}gcc"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
- echo "$as_me:$LINENO: result: $CC" >&5
-echo "${ECHO_T}$CC" >&6
-else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}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
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&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 $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_ac_ct_CC="gcc"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-
-fi
-fi
-ac_ct_CC=$ac_cv_prog_ac_ct_CC
-if test -n "$ac_ct_CC"; then
- echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
-echo "${ECHO_T}$ac_ct_CC" >&6
-else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-
- CC=$ac_ct_CC
-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
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-if test "${ac_cv_prog_CC+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&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 $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_CC="${ac_tool_prefix}cc"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
- echo "$as_me:$LINENO: result: $CC" >&5
-echo "${ECHO_T}$CC" >&6
-else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-
-fi
-if test -z "$ac_cv_prog_CC"; then
- ac_ct_CC=$CC
- # Extract the first word of "cc", so it can be a program name with args.
-set dummy cc; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&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 $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_ac_ct_CC="cc"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-
-fi
-fi
-ac_ct_CC=$ac_cv_prog_ac_ct_CC
-if test -n "$ac_ct_CC"; then
- echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
-echo "${ECHO_T}$ac_ct_CC" >&6
-else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-
- CC=$ac_ct_CC
-else
- CC="$ac_cv_prog_CC"
-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
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-if test "${ac_cv_prog_CC+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&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 $as_executable_p "$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"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-
-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
- echo "$as_me:$LINENO: result: $CC" >&5
-echo "${ECHO_T}$CC" >&6
-else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-
-fi
-if test -z "$CC"; then
- if test -n "$ac_tool_prefix"; then
- for ac_prog in cl
- 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
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-if test "${ac_cv_prog_CC+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&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 $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
- echo "$as_me:$LINENO: result: $CC" >&5
-echo "${ECHO_T}$CC" >&6
-else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-
- test -n "$CC" && break
- done
-fi
-if test -z "$CC"; then
- ac_ct_CC=$CC
- for ac_prog in cl
-do
- # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&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 $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_ac_ct_CC="$ac_prog"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-
-fi
-fi
-ac_ct_CC=$ac_cv_prog_ac_ct_CC
-if test -n "$ac_ct_CC"; then
- echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
-echo "${ECHO_T}$ac_ct_CC" >&6
-else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-
- test -n "$ac_ct_CC" && break
-done
-
- CC=$ac_ct_CC
-fi
-
-fi
-
-
-test -z "$CC" && { { echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH" >&5
-echo "$as_me: error: no acceptable C compiler found in \$PATH" >&2;}
- { (exit 1); exit 1; }; }
-
-# Provide some information about the compiler.
-echo "$as_me:$LINENO:" \
- "checking for C compiler version" >&5
-ac_compiler=`set X $ac_compile; echo $2`
-{ (eval echo "$as_me:$LINENO: \"$ac_compiler --version </dev/null >&5\"") >&5
- (eval $ac_compiler --version </dev/null >&5) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }
-{ (eval echo "$as_me:$LINENO: \"$ac_compiler -v </dev/null >&5\"") >&5
- (eval $ac_compiler -v </dev/null >&5) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }
-{ (eval echo "$as_me:$LINENO: \"$ac_compiler -V </dev/null >&5\"") >&5
- (eval $ac_compiler -V </dev/null >&5) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }
-
-cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
-#include "confdefs.h"
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-ac_clean_files_save=$ac_clean_files
-ac_clean_files="$ac_clean_files a.out a.exe"
-# 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.
-echo "$as_me:$LINENO: checking for C compiler default output" >&5
-echo $ECHO_N "checking for C compiler default output... $ECHO_C" >&6
-ac_link_default=`echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
-if { (eval echo "$as_me:$LINENO: \"$ac_link_default\"") >&5
- (eval $ac_link_default) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; then
- # Find the output, starting from the most likely. This scheme is
-# not robust to junk in `.', hence go to wildcards (a.*) only as a last
-# resort.
-
-# Be careful to initialize this variable, since it used to be cached.
-# Otherwise an old cache value of `no' led to `EXEEXT = no' in a Makefile.
-ac_cv_exeext=
-for ac_file in a_out.exe a.exe conftest.exe a.out conftest a.* conftest.*; do
- test -f "$ac_file" || continue
- case $ac_file in
- *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.o | *.obj ) ;;
- a.out ) # We found the default executable, but exeext='' is most
- # certainly right.
- break;;
- *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
- # FIXME: I believe we export ac_cv_exeext for Libtool --akim.
- export ac_cv_exeext
- break;;
- * ) break;;
- esac
-done
-else
- echo "$as_me: failed program was:" >&5
-cat conftest.$ac_ext >&5
-{ { echo "$as_me:$LINENO: error: C compiler cannot create executables
-check \`config.log' for details." >&5
-echo "$as_me: error: C compiler cannot create executables
-check \`config.log' for details." >&2;}
- { (exit 77); exit 77; }; }
-fi
-
-ac_exeext=$ac_cv_exeext
-echo "$as_me:$LINENO: result: $ac_file" >&5
-echo "${ECHO_T}$ac_file" >&6
-
-# Check the compiler produces executables we can run. If not, either
-# the compiler is broken, or we cross compile.
-echo "$as_me:$LINENO: checking whether the C compiler works" >&5
-echo $ECHO_N "checking whether the C compiler works... $ECHO_C" >&6
-# FIXME: These cross compiler hacks should be removed for Autoconf 3.0
-# If not cross compiling, check that we can run a simple program.
-if test "$cross_compiling" != yes; then
- if { ac_try='./$ac_file'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- cross_compiling=no
- else
- if test "$cross_compiling" = maybe; then
- cross_compiling=yes
- else
- { { echo "$as_me:$LINENO: error: cannot run C compiled programs.
-If you meant to cross compile, use \`--host'." >&5
-echo "$as_me: error: cannot run C compiled programs.
-If you meant to cross compile, use \`--host'." >&2;}
- { (exit 1); exit 1; }; }
- fi
- fi
-fi
-echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
-
-rm -f a.out a.exe conftest$ac_cv_exeext
-ac_clean_files=$ac_clean_files_save
-# Check the compiler produces executables we can run. If not, either
-# the compiler is broken, or we cross compile.
-echo "$as_me:$LINENO: checking whether we are cross compiling" >&5
-echo $ECHO_N "checking whether we are cross compiling... $ECHO_C" >&6
-echo "$as_me:$LINENO: result: $cross_compiling" >&5
-echo "${ECHO_T}$cross_compiling" >&6
-
-echo "$as_me:$LINENO: checking for suffix of executables" >&5
-echo $ECHO_N "checking for suffix of executables... $ECHO_C" >&6
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; 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 | *.o | *.obj ) ;;
- *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
- export ac_cv_exeext
- break;;
- * ) break;;
- esac
-done
-else
- { { echo "$as_me:$LINENO: error: cannot compute suffix of executables: cannot compile and link" >&5
-echo "$as_me: error: cannot compute suffix of executables: cannot compile and link" >&2;}
- { (exit 1); exit 1; }; }
-fi
-
-rm -f conftest$ac_cv_exeext
-echo "$as_me:$LINENO: result: $ac_cv_exeext" >&5
-echo "${ECHO_T}$ac_cv_exeext" >&6
-
-rm -f conftest.$ac_ext
-EXEEXT=$ac_cv_exeext
-ac_exeext=$EXEEXT
-echo "$as_me:$LINENO: checking for suffix of object files" >&5
-echo $ECHO_N "checking for suffix of object files... $ECHO_C" >&6
-if test "${ac_cv_objext+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
-#include "confdefs.h"
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.o conftest.obj
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; then
- for ac_file in `(ls conftest.o conftest.obj; ls conftest.*) 2>/dev/null`; do
- case $ac_file in
- *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg ) ;;
- *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'`
- break;;
- esac
-done
-else
- echo "$as_me: failed program was:" >&5
-cat conftest.$ac_ext >&5
-{ { echo "$as_me:$LINENO: error: cannot compute suffix of object files: cannot compile" >&5
-echo "$as_me: error: cannot compute suffix of object files: cannot compile" >&2;}
- { (exit 1); exit 1; }; }
-fi
-
-rm -f conftest.$ac_cv_objext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: $ac_cv_objext" >&5
-echo "${ECHO_T}$ac_cv_objext" >&6
-OBJEXT=$ac_cv_objext
-ac_objext=$OBJEXT
-echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5
-echo $ECHO_N "checking whether we are using the GNU C compiler... $ECHO_C" >&6
-if test "${ac_cv_c_compiler_gnu+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
-#include "confdefs.h"
-
-int
-main ()
-{
-#ifndef __GNUC__
- choke me
-#endif
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_compiler_gnu=yes
-else
- echo "$as_me: failed program was:" >&5
-cat conftest.$ac_ext >&5
-ac_compiler_gnu=no
-fi
-rm -f conftest.$ac_objext conftest.$ac_ext
-ac_cv_c_compiler_gnu=$ac_compiler_gnu
-
-fi
-echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5
-echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6
-GCC=`test $ac_compiler_gnu = yes && echo yes`
-ac_test_CFLAGS=${CFLAGS+set}
-ac_save_CFLAGS=$CFLAGS
-CFLAGS="-g"
-echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5
-echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6
-if test "${ac_cv_prog_cc_g+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
-#include "confdefs.h"
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_prog_cc_g=yes
-else
- echo "$as_me: failed program was:" >&5
-cat conftest.$ac_ext >&5
-ac_cv_prog_cc_g=no
-fi
-rm -f conftest.$ac_objext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5
-echo "${ECHO_T}$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
-echo "$as_me:$LINENO: checking for $CC option to accept ANSI C" >&5
-echo $ECHO_N "checking for $CC option to accept ANSI C... $ECHO_C" >&6
-if test "${ac_cv_prog_cc_stdc+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_cv_prog_cc_stdc=no
-ac_save_CC=$CC
-cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
-#include "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;
-}
-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
-# Don't try gcc -ansi; that turns off useful extensions and
-# breaks some systems' header files.
-# AIX -qlanglvl=ansi
-# Ultrix and OSF/1 -std1
-# HP-UX 10.20 and later -Ae
-# HP-UX older versions -Aa -D_HPUX_SOURCE
-# SVR4 -Xc -D__EXTENSIONS__
-for ac_arg in "" -qlanglvl=ansi -std1 -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
-do
- CC="$ac_save_CC $ac_arg"
- rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_prog_cc_stdc=$ac_arg
-break
-else
- echo "$as_me: failed program was:" >&5
-cat conftest.$ac_ext >&5
-fi
-rm -f conftest.$ac_objext
-done
-rm -f conftest.$ac_ext conftest.$ac_objext
-CC=$ac_save_CC
-
-fi
-
-case "x$ac_cv_prog_cc_stdc" in
- x|xno)
- echo "$as_me:$LINENO: result: none needed" >&5
-echo "${ECHO_T}none needed" >&6 ;;
- *)
- echo "$as_me:$LINENO: result: $ac_cv_prog_cc_stdc" >&5
-echo "${ECHO_T}$ac_cv_prog_cc_stdc" >&6
- CC="$CC $ac_cv_prog_cc_stdc" ;;
-esac
-
-# Some people use a C++ compiler to compile C. Since we use `exit',
-# in C++ we need to declare it. In case someone uses the same compiler
-# for both compiling C and C++ we need to have the C++ compiler decide
-# the declaration of exit, since it's the most demanding environment.
-cat >conftest.$ac_ext <<_ACEOF
-#ifndef __cplusplus
- choke me
-#endif
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- for ac_declaration in \
- ''\
- '#include <stdlib.h>' \
- 'extern "C" void std::exit (int) throw (); using std::exit;' \
- 'extern "C" void std::exit (int); using std::exit;' \
- 'extern "C" void exit (int) throw ();' \
- 'extern "C" void exit (int);' \
- 'void exit (int);'
-do
- cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
-#include "confdefs.h"
-#include <stdlib.h>
-$ac_declaration
-int
-main ()
-{
-exit (42);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- :
-else
- echo "$as_me: failed program was:" >&5
-cat conftest.$ac_ext >&5
-continue
-fi
-rm -f conftest.$ac_objext conftest.$ac_ext
- cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
-#include "confdefs.h"
-$ac_declaration
-int
-main ()
-{
-exit (42);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- break
-else
- echo "$as_me: failed program was:" >&5
-cat conftest.$ac_ext >&5
-fi
-rm -f conftest.$ac_objext conftest.$ac_ext
-done
-rm -f conftest*
-if test -n "$ac_declaration"; then
- echo '#ifdef __cplusplus' >>confdefs.h
- echo $ac_declaration >>confdefs.h
- echo '#endif' >>confdefs.h
-fi
-
-else
- echo "$as_me: failed program was:" >&5
-cat conftest.$ac_ext >&5
-fi
-rm -f conftest.$ac_objext 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
-rm -f .deps 2>/dev/null
-mkdir .deps 2>/dev/null
-if test -d .deps; then
- DEPDIR=.deps
-else
- # MS-DOS does not allow filenames that begin with a dot.
- DEPDIR=_deps
-fi
-rmdir .deps 2>/dev/null
-
-
- ac_config_commands="$ac_config_commands depfiles"
-
-
-am_make=${MAKE-make}
-cat > confinc << 'END'
-doit:
- @echo done
-END
-# If we don't find an include directive, just comment out the code.
-echo "$as_me:$LINENO: checking for style of include used by $am_make" >&5
-echo $ECHO_N "checking for style of include used by $am_make... $ECHO_C" >&6
-am__include="#"
-am__quote=
-_am_result=none
-# First try GNU make style include.
-echo "include confinc" > confmf
-# We grep out `Entering directory' and `Leaving directory'
-# messages which can occur if `w' ends up in MAKEFLAGS.
-# In particular we don't look at `^make:' because GNU make might
-# be invoked under some other name (usually "gmake"), in which
-# case it prints its new name instead of `make'.
-if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then
- am__include=include
- am__quote=
- _am_result=GNU
-fi
-# Now try BSD make style include.
-if test "$am__include" = "#"; then
- echo '.include "confinc"' > confmf
- if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then
- am__include=.include
- am__quote="\""
- _am_result=BSD
- fi
-fi
-
-
-echo "$as_me:$LINENO: result: $_am_result" >&5
-echo "${ECHO_T}$_am_result" >&6
-rm -f confinc confmf
-
-# Check whether --enable-dependency-tracking or --disable-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=
-
-echo "$as_me:$LINENO: checking dependency style of $depcc" >&5
-echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6
-if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&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
-
- 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
- for depmode in $am_compiler_list; do
- # 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.
- echo '#include "conftest.h"' > conftest.c
- echo 'int i;' > conftest.h
- echo "${am__include} ${am__quote}conftest.Po${am__quote}" > confmf
-
- case $depmode in
- nosideeffect)
- # after this tag, mechanisms are not by side-effect, so they'll
- # only be used when explicitly requested
- if test "x$enable_dependency_tracking" = xyes; then
- continue
- else
- break
- fi
- ;;
- none) break ;;
- esac
- # We check with `-c' and `-o' for the sake of the "dashmstdout"
- # mode. It turns out that the SunPro C++ compiler does not properly
- # handle `-M -o', and we need to detect this.
- if depmode=$depmode \
- source=conftest.c object=conftest.o \
- depfile=conftest.Po tmpdepfile=conftest.TPo \
- $SHELL ./depcomp $depcc -c conftest.c -o conftest.o >/dev/null 2>&1 &&
- grep conftest.h conftest.Po > /dev/null 2>&1 &&
- ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
- am_cv_CC_dependencies_compiler_type=$depmode
- break
- fi
- done
-
- cd ..
- rm -rf conftest.dir
-else
- am_cv_CC_dependencies_compiler_type=none
-fi
-
-fi
-echo "$as_me:$LINENO: result: $am_cv_CC_dependencies_compiler_type" >&5
-echo "${ECHO_T}$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
-
-
-
-
-
-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
-echo "$as_me:$LINENO: checking how to run the C preprocessor" >&5
-echo $ECHO_N "checking how to run the C preprocessor... $ECHO_C" >&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
- echo $ECHO_N "(cached) $ECHO_C" >&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.
- # 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 >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
-#include "confdefs.h"
-#include <assert.h>
- Syntax error
-_ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } >/dev/null; then
- if test -s conftest.err; then
- ac_cpp_err=$ac_c_preproc_warn_flag
- else
- ac_cpp_err=
- fi
-else
- ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
- :
-else
- echo "$as_me: failed program was:" >&5
- cat conftest.$ac_ext >&5
- # Broken: fails on valid input.
-continue
-fi
-rm -f conftest.err conftest.$ac_ext
-
- # OK, works on sane cases. Now check whether non-existent headers
- # can be detected and how.
- cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
-#include "confdefs.h"
-#include <ac_nonexistent.h>
-_ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } >/dev/null; then
- if test -s conftest.err; then
- ac_cpp_err=$ac_c_preproc_warn_flag
- else
- ac_cpp_err=
- fi
-else
- ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
- # Broken: success on invalid input.
-continue
-else
- echo "$as_me: failed program was:" >&5
- cat conftest.$ac_ext >&5
- # 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
-echo "$as_me:$LINENO: result: $CPP" >&5
-echo "${ECHO_T}$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.
- # 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 >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
-#include "confdefs.h"
-#include <assert.h>
- Syntax error
-_ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } >/dev/null; then
- if test -s conftest.err; then
- ac_cpp_err=$ac_c_preproc_warn_flag
- else
- ac_cpp_err=
- fi
-else
- ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
- :
-else
- echo "$as_me: failed program was:" >&5
- cat conftest.$ac_ext >&5
- # Broken: fails on valid input.
-continue
-fi
-rm -f conftest.err conftest.$ac_ext
-
- # OK, works on sane cases. Now check whether non-existent headers
- # can be detected and how.
- cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
-#include "confdefs.h"
-#include <ac_nonexistent.h>
-_ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } >/dev/null; then
- if test -s conftest.err; then
- ac_cpp_err=$ac_c_preproc_warn_flag
- else
- ac_cpp_err=
- fi
-else
- ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
- # Broken: success on invalid input.
-continue
-else
- echo "$as_me: failed program was:" >&5
- cat conftest.$ac_ext >&5
- # 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
- { { echo "$as_me:$LINENO: error: C preprocessor \"$CPP\" fails sanity check" >&5
-echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check" >&2;}
- { (exit 1); exit 1; }; }
-fi
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-echo "$as_me:$LINENO: checking for egrep" >&5
-echo $ECHO_N "checking for egrep... $ECHO_C" >&6
-if test "${ac_cv_prog_egrep+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if echo a | (grep -E '(a|b)') >/dev/null 2>&1
- then ac_cv_prog_egrep='grep -E'
- else ac_cv_prog_egrep='egrep'
- fi
-fi
-echo "$as_me:$LINENO: result: $ac_cv_prog_egrep" >&5
-echo "${ECHO_T}$ac_cv_prog_egrep" >&6
- EGREP=$ac_cv_prog_egrep
-
-
-echo "$as_me:$LINENO: checking for ANSI C header files" >&5
-echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6
-if test "${ac_cv_header_stdc+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
-#include "confdefs.h"
-#include <stdlib.h>
-#include <stdarg.h>
-#include <string.h>
-#include <float.h>
-
-_ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } >/dev/null; then
- if test -s conftest.err; then
- ac_cpp_err=$ac_c_preproc_warn_flag
- else
- ac_cpp_err=
- fi
-else
- ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
- ac_cv_header_stdc=yes
-else
- echo "$as_me: failed program was:" >&5
- cat conftest.$ac_ext >&5
- ac_cv_header_stdc=no
-fi
-rm -f conftest.err conftest.$ac_ext
-
-if test $ac_cv_header_stdc = yes; then
- # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
- cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
-#include "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 >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
-#include "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 >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
-#include "confdefs.h"
-#include <ctype.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))
- exit(2);
- exit (0);
-}
-_ACEOF
-rm -f conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- :
-else
- echo "$as_me: program exited with status $ac_status" >&5
-echo "$as_me: failed program was:" >&5
-cat conftest.$ac_ext >&5
-( exit $ac_status )
-ac_cv_header_stdc=no
-fi
-rm -f core core.* *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
-fi
-fi
-fi
-echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5
-echo "${ECHO_T}$ac_cv_header_stdc" >&6
-if test $ac_cv_header_stdc = yes; then
-
-cat >>confdefs.h <<\_ACEOF
-#define STDC_HEADERS 1
-_ACEOF
-
-fi
-
-
-echo "$as_me:$LINENO: checking for an ANSI C-conforming const" >&5
-echo $ECHO_N "checking for an ANSI C-conforming const... $ECHO_C" >&6
-if test "${ac_cv_c_const+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
-#include "confdefs.h"
-
-int
-main ()
-{
-/* FIXME: Include the comments suggested by Paul. */
-#ifndef __cplusplus
- /* Ultrix mips cc rejects this. */
- typedef int charset[2];
- const charset x;
- /* SunOS 4.1.1 cc rejects this. */
- char const *const *ccp;
- char **p;
- /* NEC SVR4.0.2 mips cc rejects this. */
- struct point {int x, y;};
- static struct point const zero = {0,0};
- /* AIX XL C 1.02.0.0 rejects this.
- It does not let you subtract one const X* pointer from another in
- an arm of an if-expression whose if-part is not a constant
- expression */
- const char *g = "string";
- ccp = &g + (g ? g-g : 0);
- /* HPUX 7.0 cc rejects these. */
- ++ccp;
- p = (char**) ccp;
- ccp = (char const *const *) p;
- { /* SCO 3.2v4 cc rejects this. */
- char *t;
- char const *s = 0 ? (char *) 0 : (char const *) 0;
-
- *t++ = 0;
- }
- { /* Someone thinks the Sun supposedly-ANSI compiler will reject this. */
- int x[] = {25, 17};
- const int *foo = &x[0];
- ++foo;
- }
- { /* Sun SC1.0 ANSI compiler rejects this -- but not the above. */
- typedef const int *iptr;
- iptr p = 0;
- ++p;
- }
- { /* AIX XL C 1.02.0.0 rejects this saying
- "k.c", line 2.27: 1506-025 (S) Operand must be a modifiable lvalue. */
- struct s { int j; const int *ap[3]; };
- struct s *b; b->j = 5;
- }
- { /* ULTRIX-32 V3.1 (Rev 9) vcc rejects this */
- const int foo = 10;
- }
-#endif
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_c_const=yes
-else
- echo "$as_me: failed program was:" >&5
-cat conftest.$ac_ext >&5
-ac_cv_c_const=no
-fi
-rm -f conftest.$ac_objext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: $ac_cv_c_const" >&5
-echo "${ECHO_T}$ac_cv_c_const" >&6
-if test $ac_cv_c_const = no; then
-
-cat >>confdefs.h <<\_ACEOF
-#define const
-_ACEOF
-
-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=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
-#include "confdefs.h"
-$ac_includes_default
-
-#include <$ac_header>
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_Header=yes"
-else
- echo "$as_me: failed program was:" >&5
-cat conftest.$ac_ext >&5
-eval "$as_ac_Header=no"
-fi
-rm -f conftest.$ac_objext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
-if test `eval echo '${'$as_ac_Header'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-
-done
-
-
-echo "$as_me:$LINENO: checking for size_t" >&5
-echo $ECHO_N "checking for size_t... $ECHO_C" >&6
-if test "${ac_cv_type_size_t+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
-#include "confdefs.h"
-$ac_includes_default
-int
-main ()
-{
-if ((size_t *) 0)
- return 0;
-if (sizeof (size_t))
- return 0;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_type_size_t=yes
-else
- echo "$as_me: failed program was:" >&5
-cat conftest.$ac_ext >&5
-ac_cv_type_size_t=no
-fi
-rm -f conftest.$ac_objext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: $ac_cv_type_size_t" >&5
-echo "${ECHO_T}$ac_cv_type_size_t" >&6
-if test $ac_cv_type_size_t = yes; then
- :
-else
-
-cat >>confdefs.h <<_ACEOF
-#define size_t unsigned
-_ACEOF
-
-fi
-
-
-
-for ac_func in strftime
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
-#include "confdefs.h"
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below. */
-#include <assert.h>
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-char (*f) ();
-
-int
-main ()
-{
-/* 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_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-f = $ac_func;
-#endif
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-cat conftest.$ac_ext >&5
-eval "$as_ac_var=no"
-fi
-rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-else
- # strftime is in -lintl on SCO UNIX.
-echo "$as_me:$LINENO: checking for strftime in -lintl" >&5
-echo $ECHO_N "checking for strftime in -lintl... $ECHO_C" >&6
-if test "${ac_cv_lib_intl_strftime+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-lintl $LIBS"
-cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
-#include "confdefs.h"
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char strftime ();
-int
-main ()
-{
-strftime ();
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_lib_intl_strftime=yes
-else
- echo "$as_me: failed program was:" >&5
-cat conftest.$ac_ext >&5
-ac_cv_lib_intl_strftime=no
-fi
-rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_intl_strftime" >&5
-echo "${ECHO_T}$ac_cv_lib_intl_strftime" >&6
-if test $ac_cv_lib_intl_strftime = yes; then
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_STRFTIME 1
-_ACEOF
-
-LIBS="-lintl $LIBS"
-fi
-
-fi
-done
-
-
-for ac_func in vprintf
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
-#include "confdefs.h"
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below. */
-#include <assert.h>
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-char (*f) ();
-
-int
-main ()
-{
-/* 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_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-f = $ac_func;
-#endif
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-cat conftest.$ac_ext >&5
-eval "$as_ac_var=no"
-fi
-rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-echo "$as_me:$LINENO: checking for _doprnt" >&5
-echo $ECHO_N "checking for _doprnt... $ECHO_C" >&6
-if test "${ac_cv_func__doprnt+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
-#include "confdefs.h"
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char _doprnt (); below. */
-#include <assert.h>
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char _doprnt ();
-char (*f) ();
-
-int
-main ()
-{
-/* 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__doprnt) || defined (__stub____doprnt)
-choke me
-#else
-f = _doprnt;
-#endif
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_func__doprnt=yes
-else
- echo "$as_me: failed program was:" >&5
-cat conftest.$ac_ext >&5
-ac_cv_func__doprnt=no
-fi
-rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: $ac_cv_func__doprnt" >&5
-echo "${ECHO_T}$ac_cv_func__doprnt" >&6
-if test $ac_cv_func__doprnt = yes; then
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_DOPRNT 1
-_ACEOF
-
-fi
-
-fi
-done
-
-
-
-for ac_func in strstr
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
-#include "confdefs.h"
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below. */
-#include <assert.h>
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-char (*f) ();
-
-int
-main ()
-{
-/* 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_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-f = $ac_func;
-#endif
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-cat conftest.$ac_ext >&5
-eval "$as_ac_var=no"
-fi
-rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
-
- ac_config_files="$ac_config_files makefile Docs/makefile Source/makefile"
-cat >confcache <<\_ACEOF
-# This file is a shell script that caches the results of configure
-# tests run on this system so they can be shared between configure
-# scripts and configure runs, see configure's option --config-cache.
-# It is not useful on other systems. If it contains results you don't
-# want to keep, you may remove or edit it.
-#
-# config.status only pays attention to the cache file if you give it
-# the --recheck option to rerun configure.
-#
-# `ac_cv_env_foo' variables (set or unset) will be overridden when
-# loading this file, other *unset* `ac_cv_foo' will be assigned the
-# following values.
-
-_ACEOF
-
-# The following way of writing the cache mishandles newlines in values,
-# but we know of no workaround that is simple, portable, and efficient.
-# So, don't put newlines in cache variables' values.
-# Ultrix sh set writes to stderr and can't be redirected directly,
-# and sets the high bit in the cache file unless we assign to the vars.
-{
- (set) 2>&1 |
- case `(ac_space=' '; set | grep ac_space) 2>&1` in
- *ac_space=\ *)
- # `set' does not quote correctly, so add quotes (double-quote
- # substitution turns \\\\ into \\, and sed turns \\ into \).
- sed -n \
- "s/'/'\\\\''/g;
- s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p"
- ;;
- *)
- # `set' quotes correctly as required by POSIX, so do not add quotes.
- sed -n \
- "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p"
- ;;
- esac;
-} |
- sed '
- t clear
- : clear
- s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/
- t end
- /^ac_cv_env/!s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
- : end' >>confcache
-if cmp -s $cache_file confcache; then :; else
- if test -w $cache_file; then
- test "x$cache_file" != "x/dev/null" && echo "updating cache $cache_file"
- cat confcache >$cache_file
- else
- echo "not updating unwritable cache $cache_file"
- fi
-fi
-rm -f confcache
-
-test "x$prefix" = xNONE && prefix=$ac_default_prefix
-# Let make expand exec_prefix.
-test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
-
-# VPATH may cause trouble with some makes, so we remove $(srcdir),
-# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and
-# trailing colons and then remove the whole line if VPATH becomes empty
-# (actually we leave an empty line to preserve line numbers).
-if test "x$srcdir" = x.; then
- ac_vpsub='/^[ ]*VPATH[ ]*=/{
-s/:*\$(srcdir):*/:/;
-s/:*\${srcdir}:*/:/;
-s/:*@srcdir@:*/:/;
-s/^\([^=]*=[ ]*\):*/\1/;
-s/:*$//;
-s/^[^=]*=[ ]*$//;
-}'
-fi
-
-DEFS=-DHAVE_CONFIG_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_i=`echo "$ac_i" |
- sed 's/\$U\././;s/\.o$//;s/\.obj$//'`
- # 2. Add them.
- ac_libobjs="$ac_libobjs $ac_i\$U.$ac_objext"
- ac_ltlibobjs="$ac_ltlibobjs $ac_i"'$U.lo'
-done
-LIBOBJS=$ac_libobjs
-
-LTLIBOBJS=$ac_ltlibobjs
-
-
-if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then
- { { echo "$as_me:$LINENO: error: conditional \"AMDEP\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"AMDEP\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
- { (exit 1); exit 1; }; }
-fi
-if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then
- { { echo "$as_me:$LINENO: error: conditional \"am__fastdepCC\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"am__fastdepCC\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
- { (exit 1); exit 1; }; }
-fi
-
-: ${CONFIG_STATUS=./config.status}
-ac_clean_files_save=$ac_clean_files
-ac_clean_files="$ac_clean_files $CONFIG_STATUS"
-{ echo "$as_me:$LINENO: creating $CONFIG_STATUS" >&5
-echo "$as_me: creating $CONFIG_STATUS" >&6;}
-cat >$CONFIG_STATUS <<_ACEOF
-#! $SHELL
-# Generated by $as_me.
-# Run this file to recreate the current configuration.
-# Compiler output produced by configure, useful for debugging
-# configure, is in config.log if it exists.
-
-debug=false
-SHELL=\${CONFIG_SHELL-$SHELL}
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF
-## --------------------- ##
-## M4sh Initialization. ##
-## --------------------- ##
-
-# Be Bourne compatible
-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
- emulate sh
- NULLCMD=:
- # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
- # is contrary to our usage. Disable this feature.
- alias -g '${1+"$@"}'='"$@"'
-elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then
- set -o posix
-fi
-
-# Support unset when possible.
-if (FOO=FOO; unset FOO) >/dev/null 2>&1; then
- as_unset=unset
-else
- as_unset=false
-fi
-
-
-# Work around bugs in pre-3.0 UWIN ksh.
-$as_unset ENV MAIL MAILPATH
-PS1='$ '
-PS2='> '
-PS4='+ '
-
-# NLS nuisances.
-for as_var in LANG LANGUAGE LC_ALL LC_COLLATE LC_CTYPE LC_NUMERIC LC_MESSAGES LC_TIME
-do
- if (set +x; test -n "`(eval $as_var=C; export $as_var) 2>&1`"); then
- eval $as_var=C; export $as_var
- else
- $as_unset $as_var
- fi
-done
-
-# Required to use basename.
-if expr a : '\(a\)' >/dev/null 2>&1; then
- as_expr=expr
-else
- as_expr=false
-fi
-
-if (basename /) >/dev/null 2>&1 && test "X`basename / 2>&1`" = "X/"; then
- as_basename=basename
-else
- as_basename=false
-fi
-
-
-# Name of the executable.
-as_me=`$as_basename "$0" ||
-$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
- X"$0" : 'X\(//\)$' \| \
- X"$0" : 'X\(/\)$' \| \
- . : '\(.\)' 2>/dev/null ||
-echo X/"$0" |
- sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/; q; }
- /^X\/\(\/\/\)$/{ s//\1/; q; }
- /^X\/\(\/\).*/{ s//\1/; q; }
- s/.*/./; q'`
-
-
-# PATH needs CR, and LINENO needs CR and PATH.
-# Avoid depending upon Character Ranges.
-as_cr_letters='abcdefghijklmnopqrstuvwxyz'
-as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
-as_cr_Letters=$as_cr_letters$as_cr_LETTERS
-as_cr_digits='0123456789'
-as_cr_alnum=$as_cr_Letters$as_cr_digits
-
-# The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
- echo "#! /bin/sh" >conftest.sh
- echo "exit 0" >>conftest.sh
- chmod +x conftest.sh
- if (PATH="/nonexistent;."; conftest.sh) >/dev/null 2>&1; then
- PATH_SEPARATOR=';'
- else
- PATH_SEPARATOR=:
- fi
- rm -f conftest.sh
-fi
-
-
- as_lineno_1=$LINENO
- as_lineno_2=$LINENO
- as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
- test "x$as_lineno_1" != "x$as_lineno_2" &&
- test "x$as_lineno_3" = "x$as_lineno_2" || {
- # Find who we are. Look in the path if we contain no path at all
- # relative or not.
- case $0 in
- *[\\/]* ) as_myself=$0 ;;
- *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
-done
-
- ;;
- esac
- # We did not find ourselves, most probably we were run as `sh COMMAND'
- # in which case we are not to be found in the path.
- if test "x$as_myself" = x; then
- as_myself=$0
- fi
- if test ! -f "$as_myself"; then
- { { echo "$as_me:$LINENO: error: cannot find myself; rerun with an absolute path" >&5
-echo "$as_me: error: cannot find myself; rerun with an absolute path" >&2;}
- { (exit 1); exit 1; }; }
- fi
- case $CONFIG_SHELL in
- '')
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for as_base in sh bash ksh sh5; do
- case $as_dir in
- /*)
- if ("$as_dir/$as_base" -c '
- as_lineno_1=$LINENO
- as_lineno_2=$LINENO
- as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
- test "x$as_lineno_1" != "x$as_lineno_2" &&
- test "x$as_lineno_3" = "x$as_lineno_2" ') 2>/dev/null; then
- $as_unset BASH_ENV || test "${BASH_ENV+set}" != set || { BASH_ENV=; export BASH_ENV; }
- $as_unset ENV || test "${ENV+set}" != set || { ENV=; export ENV; }
- CONFIG_SHELL=$as_dir/$as_base
- export CONFIG_SHELL
- exec "$CONFIG_SHELL" "$0" ${1+"$@"}
- fi;;
- esac
- done
-done
-;;
- esac
-
- # Create $as_me.lineno as a copy of $as_myself, but with $LINENO
- # uniformly replaced by the line number. The first 'sed' inserts a
- # line-number line before each line; the second 'sed' does the real
- # work. The second script uses 'N' to pair each line-number line
- # with the numbered line, and appends trailing '-' during
- # substitution so that $LINENO is not a special case at line end.
- # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the
- # second 'sed' script. Blame Lee E. McMahon for sed's syntax. :-)
- sed '=' <$as_myself |
- sed '
- N
- s,$,-,
- : loop
- s,^\(['$as_cr_digits']*\)\(.*\)[$]LINENO\([^'$as_cr_alnum'_]\),\1\2\1\3,
- t loop
- s,-$,,
- s,^['$as_cr_digits']*\n,,
- ' >$as_me.lineno &&
- chmod +x $as_me.lineno ||
- { { echo "$as_me:$LINENO: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&5
-echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2;}
- { (exit 1); exit 1; }; }
-
- # Don't try to exec as it changes $[0], causing all sort of problems
- # (the dirname of $[0] is not the place where we might find the
- # original and so on. Autoconf is especially sensible to this).
- . ./$as_me.lineno
- # Exit status is that of the last command.
- exit
-}
-
-
-case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in
- *c*,-n*) ECHO_N= ECHO_C='
-' ECHO_T=' ' ;;
- *c*,* ) ECHO_N=-n ECHO_C= ECHO_T= ;;
- *) ECHO_N= ECHO_C='\c' ECHO_T= ;;
-esac
-
-if expr a : '\(a\)' >/dev/null 2>&1; then
- as_expr=expr
-else
- as_expr=false
-fi
-
-rm -f conf$$ conf$$.exe conf$$.file
-echo >conf$$.file
-if ln -s conf$$.file conf$$ 2>/dev/null; then
- # We could just check for DJGPP; but this test a) works b) is more generic
- # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04).
- if test -f conf$$.exe; then
- # Don't use ln at all; we don't have any links
- as_ln_s='cp -p'
- else
- as_ln_s='ln -s'
- fi
-elif ln conf$$.file conf$$ 2>/dev/null; then
- as_ln_s=ln
-else
- as_ln_s='cp -p'
-fi
-rm -f conf$$ conf$$.exe conf$$.file
-
-if mkdir -p . 2>/dev/null; then
- as_mkdir_p=:
-else
- as_mkdir_p=false
-fi
-
-as_executable_p="test -f"
-
-# Sed expression to map a string onto a valid CPP name.
-as_tr_cpp="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="sed y%*+%pp%;s%[^_$as_cr_alnum]%_%g"
-
-
-# IFS
-# We need space, tab and new line, in precisely that order.
-as_nl='
-'
-IFS=" $as_nl"
-
-# CDPATH.
-$as_unset CDPATH
-
-exec 6>&1
-
-# Open the log real soon, to keep \$[0] and so on meaningful, and to
-# report actual input values of CONFIG_FILES etc. instead of their
-# values after options handling. Logging --version etc. is OK.
-exec 5>>config.log
-{
- echo
- sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX
-## Running $as_me. ##
-_ASBOX
-} >&5
-cat >&5 <<_CSEOF
-
-This file was extended by $as_me, which was
-generated by GNU Autoconf 2.54. Invocation command line was
-
- CONFIG_FILES = $CONFIG_FILES
- CONFIG_HEADERS = $CONFIG_HEADERS
- CONFIG_LINKS = $CONFIG_LINKS
- CONFIG_COMMANDS = $CONFIG_COMMANDS
- $ $0 $@
-
-_CSEOF
-echo "on `(hostname || uname -n) 2>/dev/null | sed 1q`" >&5
-echo >&5
-_ACEOF
-
-# Files that config.status was made for.
-if test -n "$ac_config_files"; then
- echo "config_files=\"$ac_config_files\"" >>$CONFIG_STATUS
-fi
-
-if test -n "$ac_config_headers"; then
- echo "config_headers=\"$ac_config_headers\"" >>$CONFIG_STATUS
-fi
-
-if test -n "$ac_config_links"; then
- echo "config_links=\"$ac_config_links\"" >>$CONFIG_STATUS
-fi
-
-if test -n "$ac_config_commands"; then
- echo "config_commands=\"$ac_config_commands\"" >>$CONFIG_STATUS
-fi
-
-cat >>$CONFIG_STATUS <<\_ACEOF
-
-ac_cs_usage="\
-\`$as_me' instantiates files from templates according to the
-current configuration.
-
-Usage: $0 [OPTIONS] [FILE]...
-
- -h, --help print this help, then exit
- -V, --version print version number, then exit
- -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
- --header=FILE[:TEMPLATE]
- instantiate the configuration header FILE
-
-Configuration files:
-$config_files
-
-Configuration headers:
-$config_headers
-
-Configuration commands:
-$config_commands
-
-Report bugs to <bug-autoconf@gnu.org>."
-_ACEOF
-
-cat >>$CONFIG_STATUS <<_ACEOF
-ac_cs_version="\\
-config.status
-configured by $0, generated by GNU Autoconf 2.54,
- with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\"
-
-Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001
-Free Software Foundation, Inc.
-This config.status script is free software; the Free Software Foundation
-gives unlimited permission to copy, distribute and modify it."
-srcdir=$srcdir
-INSTALL="$INSTALL"
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF
-# If no file are specified by the user, then we need to provide default
-# value. By we need to know if files were specified by the user.
-ac_need_defaults=:
-while test $# != 0
-do
- case $1 in
- --*=*)
- ac_option=`expr "x$1" : 'x\([^=]*\)='`
- ac_optarg=`expr "x$1" : 'x[^=]*=\(.*\)'`
- ac_shift=:
- ;;
- -*)
- ac_option=$1
- ac_optarg=$2
- ac_shift=shift
- ;;
- *) # This is not an option, so the user has probably given explicit
- # arguments.
- ac_option=$1
- ac_need_defaults=false;;
- esac
-
- case $ac_option in
- # Handling of the options.
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF
- -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
- echo "running $SHELL $0 " $ac_configure_args " --no-create --no-recursion"
- exec $SHELL $0 $ac_configure_args --no-create --no-recursion ;;
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF
- --version | --vers* | -V )
- echo "$ac_cs_version"; exit 0 ;;
- --he | --h)
- # Conflict between --help and --header
- { { echo "$as_me:$LINENO: error: ambiguous option: $1
-Try \`$0 --help' for more information." >&5
-echo "$as_me: error: ambiguous option: $1
-Try \`$0 --help' for more information." >&2;}
- { (exit 1); exit 1; }; };;
- --help | --hel | -h )
- echo "$ac_cs_usage"; exit 0 ;;
- --debug | --d* | -d )
- debug=: ;;
- --file | --fil | --fi | --f )
- $ac_shift
- CONFIG_FILES="$CONFIG_FILES $ac_optarg"
- ac_need_defaults=false;;
- --header | --heade | --head | --hea )
- $ac_shift
- CONFIG_HEADERS="$CONFIG_HEADERS $ac_optarg"
- ac_need_defaults=false;;
-
- # This is an error.
- -*) { { echo "$as_me:$LINENO: error: unrecognized option: $1
-Try \`$0 --help' for more information." >&5
-echo "$as_me: error: unrecognized option: $1
-Try \`$0 --help' for more information." >&2;}
- { (exit 1); exit 1; }; } ;;
-
- *) ac_config_targets="$ac_config_targets $1" ;;
-
- esac
- shift
-done
-
-_ACEOF
-
-cat >>$CONFIG_STATUS <<_ACEOF
-#
-# INIT-COMMANDS section.
-#
-
-AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"
-
-_ACEOF
-
-
-
-cat >>$CONFIG_STATUS <<\_ACEOF
-for ac_config_target in $ac_config_targets
-do
- case "$ac_config_target" in
- # Handling of arguments.
- "makefile" ) CONFIG_FILES="$CONFIG_FILES makefile" ;;
- "Docs/makefile" ) CONFIG_FILES="$CONFIG_FILES Docs/makefile" ;;
- "Source/makefile" ) CONFIG_FILES="$CONFIG_FILES Source/makefile" ;;
- "depfiles" ) CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;;
- "Source/config.h" ) CONFIG_HEADERS="$CONFIG_HEADERS Source/config.h" ;;
- *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5
-echo "$as_me: error: invalid argument: $ac_config_target" >&2;}
- { (exit 1); exit 1; }; };;
- esac
-done
-
-# If the user did not use the arguments to specify the items to instantiate,
-# then the envvar interface is used. Set only those that are not.
-# We use the long form for the default assignment because of an extremely
-# bizarre bug on SunOS 4.1.3.
-if $ac_need_defaults; then
- test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files
- test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers
- test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands
-fi
-
-# Create a temporary directory, and hook for its removal unless debugging.
-$debug ||
-{
- trap 'exit_status=$?; rm -rf $tmp && exit $exit_status' 0
- trap '{ (exit 1); exit 1; }' 1 2 13 15
-}
-
-# Create a (secure) tmp directory for tmp files.
-: ${TMPDIR=/tmp}
-{
- tmp=`(umask 077 && mktemp -d -q "$TMPDIR/csXXXXXX") 2>/dev/null` &&
- test -n "$tmp" && test -d "$tmp"
-} ||
-{
- tmp=$TMPDIR/cs$$-$RANDOM
- (umask 077 && mkdir $tmp)
-} ||
-{
- echo "$me: cannot create a temporary directory in $TMPDIR" >&2
- { (exit 1); exit 1; }
-}
-
-_ACEOF
-
-cat >>$CONFIG_STATUS <<_ACEOF
-
-#
-# CONFIG_FILES section.
-#
-
-# No need to generate the scripts if there are no CONFIG_FILES.
-# This happens for instance when ./config.status config.h
-if test -n "\$CONFIG_FILES"; then
- # Protect against being on the right side of a sed subst in config.status.
- sed 's/,@/@@/; s/@,/@@/; s/,;t t\$/@;t t/; /@;t t\$/s/[\\\\&,]/\\\\&/g;
- s/@@/,@/; s/@@/@,/; s/@;t t\$/,;t t/' >\$tmp/subs.sed <<\\CEOF
-s,@SHELL@,$SHELL,;t t
-s,@PATH_SEPARATOR@,$PATH_SEPARATOR,;t t
-s,@PACKAGE_NAME@,$PACKAGE_NAME,;t t
-s,@PACKAGE_TARNAME@,$PACKAGE_TARNAME,;t t
-s,@PACKAGE_VERSION@,$PACKAGE_VERSION,;t t
-s,@PACKAGE_STRING@,$PACKAGE_STRING,;t t
-s,@PACKAGE_BUGREPORT@,$PACKAGE_BUGREPORT,;t t
-s,@exec_prefix@,$exec_prefix,;t t
-s,@prefix@,$prefix,;t t
-s,@program_transform_name@,$program_transform_name,;t t
-s,@bindir@,$bindir,;t t
-s,@sbindir@,$sbindir,;t t
-s,@libexecdir@,$libexecdir,;t t
-s,@datadir@,$datadir,;t t
-s,@sysconfdir@,$sysconfdir,;t t
-s,@sharedstatedir@,$sharedstatedir,;t t
-s,@localstatedir@,$localstatedir,;t t
-s,@libdir@,$libdir,;t t
-s,@includedir@,$includedir,;t t
-s,@oldincludedir@,$oldincludedir,;t t
-s,@infodir@,$infodir,;t t
-s,@mandir@,$mandir,;t t
-s,@build_alias@,$build_alias,;t t
-s,@host_alias@,$host_alias,;t t
-s,@target_alias@,$target_alias,;t t
-s,@DEFS@,$DEFS,;t t
-s,@ECHO_C@,$ECHO_C,;t t
-s,@ECHO_N@,$ECHO_N,;t t
-s,@ECHO_T@,$ECHO_T,;t t
-s,@LIBS@,$LIBS,;t t
-s,@INSTALL_PROGRAM@,$INSTALL_PROGRAM,;t t
-s,@INSTALL_SCRIPT@,$INSTALL_SCRIPT,;t t
-s,@INSTALL_DATA@,$INSTALL_DATA,;t t
-s,@CYGPATH_W@,$CYGPATH_W,;t t
-s,@PACKAGE@,$PACKAGE,;t t
-s,@VERSION@,$VERSION,;t t
-s,@ACLOCAL@,$ACLOCAL,;t t
-s,@AUTOCONF@,$AUTOCONF,;t t
-s,@AUTOMAKE@,$AUTOMAKE,;t t
-s,@AUTOHEADER@,$AUTOHEADER,;t t
-s,@MAKEINFO@,$MAKEINFO,;t t
-s,@AMTAR@,$AMTAR,;t t
-s,@install_sh@,$install_sh,;t t
-s,@STRIP@,$STRIP,;t t
-s,@ac_ct_STRIP@,$ac_ct_STRIP,;t t
-s,@INSTALL_STRIP_PROGRAM@,$INSTALL_STRIP_PROGRAM,;t t
-s,@AWK@,$AWK,;t t
-s,@SET_MAKE@,$SET_MAKE,;t t
-s,@CC@,$CC,;t t
-s,@CFLAGS@,$CFLAGS,;t t
-s,@LDFLAGS@,$LDFLAGS,;t t
-s,@CPPFLAGS@,$CPPFLAGS,;t t
-s,@ac_ct_CC@,$ac_ct_CC,;t t
-s,@EXEEXT@,$EXEEXT,;t t
-s,@OBJEXT@,$OBJEXT,;t t
-s,@DEPDIR@,$DEPDIR,;t t
-s,@am__include@,$am__include,;t t
-s,@am__quote@,$am__quote,;t t
-s,@AMDEP_TRUE@,$AMDEP_TRUE,;t t
-s,@AMDEP_FALSE@,$AMDEP_FALSE,;t t
-s,@AMDEPBACKSLASH@,$AMDEPBACKSLASH,;t t
-s,@CCDEPMODE@,$CCDEPMODE,;t t
-s,@am__fastdepCC_TRUE@,$am__fastdepCC_TRUE,;t t
-s,@am__fastdepCC_FALSE@,$am__fastdepCC_FALSE,;t t
-s,@CPP@,$CPP,;t t
-s,@EGREP@,$EGREP,;t t
-s,@LIBOBJS@,$LIBOBJS,;t t
-s,@LTLIBOBJS@,$LTLIBOBJS,;t t
-CEOF
-
-_ACEOF
-
- cat >>$CONFIG_STATUS <<\_ACEOF
- # Split the substitutions into bite-sized pieces for seds with
- # small command number limits, like on Digital OSF/1 and HP-UX.
- ac_max_sed_lines=48
- ac_sed_frag=1 # Number of current file.
- ac_beg=1 # First line for current file.
- ac_end=$ac_max_sed_lines # Line after last line for current file.
- ac_more_lines=:
- ac_sed_cmds=
- while $ac_more_lines; do
- if test $ac_beg -gt 1; then
- sed "1,${ac_beg}d; ${ac_end}q" $tmp/subs.sed >$tmp/subs.frag
- else
- sed "${ac_end}q" $tmp/subs.sed >$tmp/subs.frag
- fi
- if test ! -s $tmp/subs.frag; then
- ac_more_lines=false
- else
- # The purpose of the label and of the branching condition is to
- # speed up the sed processing (if there are no `@' at all, there
- # is no need to browse any of the substitutions).
- # These are the two extra sed commands mentioned above.
- (echo ':t
- /@[a-zA-Z_][a-zA-Z_0-9]*@/!b' && cat $tmp/subs.frag) >$tmp/subs-$ac_sed_frag.sed
- if test -z "$ac_sed_cmds"; then
- ac_sed_cmds="sed -f $tmp/subs-$ac_sed_frag.sed"
- else
- ac_sed_cmds="$ac_sed_cmds | sed -f $tmp/subs-$ac_sed_frag.sed"
- fi
- ac_sed_frag=`expr $ac_sed_frag + 1`
- ac_beg=$ac_end
- ac_end=`expr $ac_end + $ac_max_sed_lines`
- fi
- done
- if test -z "$ac_sed_cmds"; then
- ac_sed_cmds=cat
- fi
-fi # test -n "$CONFIG_FILES"
-
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF
-for ac_file in : $CONFIG_FILES; do test "x$ac_file" = x: && continue
- # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
- case $ac_file in
- - | *:- | *:-:* ) # input from stdin
- cat >$tmp/stdin
- ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
- ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
- *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
- ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
- * ) ac_file_in=$ac_file.in ;;
- esac
-
- # Compute @srcdir@, @top_srcdir@, and @INSTALL@ for subdirectories.
- ac_dir=`(dirname "$ac_file") 2>/dev/null ||
-$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$ac_file" : 'X\(//\)[^/]' \| \
- X"$ac_file" : 'X\(//\)$' \| \
- X"$ac_file" : 'X\(/\)' \| \
- . : '\(.\)' 2>/dev/null ||
-echo X"$ac_file" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
- /^X\(\/\/\)[^/].*/{ s//\1/; q; }
- /^X\(\/\/\)$/{ s//\1/; q; }
- /^X\(\/\).*/{ s//\1/; q; }
- s/.*/./; q'`
- { if $as_mkdir_p; then
- mkdir -p "$ac_dir"
- else
- as_dir="$ac_dir"
- as_dirs=
- while test ! -d "$as_dir"; do
- as_dirs="$as_dir $as_dirs"
- as_dir=`(dirname "$as_dir") 2>/dev/null ||
-$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$as_dir" : 'X\(//\)[^/]' \| \
- X"$as_dir" : 'X\(//\)$' \| \
- X"$as_dir" : 'X\(/\)' \| \
- . : '\(.\)' 2>/dev/null ||
-echo X"$as_dir" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
- /^X\(\/\/\)[^/].*/{ s//\1/; q; }
- /^X\(\/\/\)$/{ s//\1/; q; }
- /^X\(\/\).*/{ s//\1/; q; }
- s/.*/./; q'`
- done
- test ! -n "$as_dirs" || mkdir $as_dirs
- fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5
-echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;}
- { (exit 1); exit 1; }; }; }
-
- ac_builddir=.
-
-if test "$ac_dir" != .; then
- ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
- # A "../" for each directory in $ac_dir_suffix.
- ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'`
-else
- ac_dir_suffix= ac_top_builddir=
-fi
-
-case $srcdir in
- .) # No --srcdir option. We are building in place.
- ac_srcdir=.
- if test -z "$ac_top_builddir"; then
- ac_top_srcdir=.
- else
- ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'`
- fi ;;
- [\\/]* | ?:[\\/]* ) # Absolute path.
- ac_srcdir=$srcdir$ac_dir_suffix;
- ac_top_srcdir=$srcdir ;;
- *) # Relative path.
- ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix
- ac_top_srcdir=$ac_top_builddir$srcdir ;;
-esac
-# Don't blindly perform a `cd "$ac_dir"/$ac_foo && pwd` since $ac_foo can be
-# absolute.
-ac_abs_builddir=`cd "$ac_dir" && cd $ac_builddir && pwd`
-ac_abs_top_builddir=`cd "$ac_dir" && cd ${ac_top_builddir}. && pwd`
-ac_abs_srcdir=`cd "$ac_dir" && cd $ac_srcdir && pwd`
-ac_abs_top_srcdir=`cd "$ac_dir" && cd $ac_top_srcdir && pwd`
-
-
- case $INSTALL in
- [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;;
- *) ac_INSTALL=$ac_top_builddir$INSTALL ;;
- esac
-
- if test x"$ac_file" != x-; then
- { echo "$as_me:$LINENO: creating $ac_file" >&5
-echo "$as_me: creating $ac_file" >&6;}
- rm -f "$ac_file"
- fi
- # Let's still pretend it is `configure' which instantiates (i.e., don't
- # use $as_me), people would be surprised to read:
- # /* config.h. Generated by config.status. */
- if test x"$ac_file" = x-; then
- configure_input=
- else
- configure_input="$ac_file. "
- fi
- configure_input=$configure_input"Generated from `echo $ac_file_in |
- sed 's,.*/,,'` by configure."
-
- # First look for the input files in the build tree, otherwise in the
- # src tree.
- ac_file_inputs=`IFS=:
- for f in $ac_file_in; do
- case $f in
- -) echo $tmp/stdin ;;
- [\\/$]*)
- # Absolute (can't be DOS-style, as IFS=:)
- test -f "$f" || { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5
-echo "$as_me: error: cannot find input file: $f" >&2;}
- { (exit 1); exit 1; }; }
- echo $f;;
- *) # Relative
- if test -f "$f"; then
- # Build tree
- echo $f
- elif test -f "$srcdir/$f"; then
- # Source tree
- echo $srcdir/$f
- else
- # /dev/null tree
- { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5
-echo "$as_me: error: cannot find input file: $f" >&2;}
- { (exit 1); exit 1; }; }
- fi;;
- esac
- done` || { (exit 1); exit 1; }
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF
- sed "$ac_vpsub
-$extrasub
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF
-:t
-/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
-s,@configure_input@,$configure_input,;t t
-s,@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,@top_builddir@,$ac_top_builddir,;t t
-s,@abs_top_builddir@,$ac_abs_top_builddir,;t t
-s,@INSTALL@,$ac_INSTALL,;t t
-" $ac_file_inputs | (eval "$ac_sed_cmds") >$tmp/out
- rm -f $tmp/stdin
- if test x"$ac_file" != x-; then
- mv $tmp/out $ac_file
- else
- cat $tmp/out
- rm -f $tmp/out
- fi
-
-done
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF
-
-#
-# CONFIG_HEADER section.
-#
-
-# These sed commands are passed to sed as "A NAME B NAME C VALUE D", where
-# NAME is the cpp macro being defined and VALUE is the value it is being given.
-#
-# ac_d sets the value in "#define NAME VALUE" lines.
-ac_dA='s,^\([ ]*\)#\([ ]*define[ ][ ]*\)'
-ac_dB='[ ].*$,\1#\2'
-ac_dC=' '
-ac_dD=',;t'
-# ac_u turns "#undef NAME" without trailing blanks into "#define NAME VALUE".
-ac_uA='s,^\([ ]*\)#\([ ]*\)undef\([ ][ ]*\)'
-ac_uB='$,\1#\2define\3'
-ac_uC=' '
-ac_uD=',;t'
-
-for ac_file in : $CONFIG_HEADERS; do test "x$ac_file" = x: && continue
- # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
- case $ac_file in
- - | *:- | *:-:* ) # input from stdin
- cat >$tmp/stdin
- ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
- ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
- *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
- ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
- * ) ac_file_in=$ac_file.in ;;
- esac
-
- test x"$ac_file" != x- && { echo "$as_me:$LINENO: creating $ac_file" >&5
-echo "$as_me: creating $ac_file" >&6;}
-
- # First look for the input files in the build tree, otherwise in the
- # src tree.
- ac_file_inputs=`IFS=:
- for f in $ac_file_in; do
- case $f in
- -) echo $tmp/stdin ;;
- [\\/$]*)
- # Absolute (can't be DOS-style, as IFS=:)
- test -f "$f" || { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5
-echo "$as_me: error: cannot find input file: $f" >&2;}
- { (exit 1); exit 1; }; }
- echo $f;;
- *) # Relative
- if test -f "$f"; then
- # Build tree
- echo $f
- elif test -f "$srcdir/$f"; then
- # Source tree
- echo $srcdir/$f
- else
- # /dev/null tree
- { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5
-echo "$as_me: error: cannot find input file: $f" >&2;}
- { (exit 1); exit 1; }; }
- fi;;
- esac
- done` || { (exit 1); exit 1; }
- # Remove the trailing spaces.
- sed 's/[ ]*$//' $ac_file_inputs >$tmp/in
-
-_ACEOF
-
-# Transform confdefs.h into two sed scripts, `conftest.defines' and
-# `conftest.undefs', that substitutes the proper values into
-# config.h.in to produce config.h. The first handles `#define'
-# templates, and the second `#undef' templates.
-# And first: Protect against being on the right side of a sed subst in
-# config.status. Protect against being in an unquoted here document
-# in config.status.
-rm -f conftest.defines conftest.undefs
-# Using a here document instead of a string reduces the quoting nightmare.
-# Putting comments in sed scripts is not portable.
-#
-# `end' is used to avoid that the second main sed command (meant for
-# 0-ary CPP macros) applies to n-ary macro definitions.
-# See the Autoconf documentation for `clear'.
-cat >confdef2sed.sed <<\_ACEOF
-s/[\\&,]/\\&/g
-s,[\\$`],\\&,g
-t clear
-: clear
-s,^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*\)\(([^)]*)\)[ ]*\(.*\)$,${ac_dA}\1${ac_dB}\1\2${ac_dC}\3${ac_dD},gp
-t end
-s,^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\)$,${ac_dA}\1${ac_dB}\1${ac_dC}\2${ac_dD},gp
-: end
-_ACEOF
-# If some macros were called several times there might be several times
-# the same #defines, which is useless. Nevertheless, we may not want to
-# sort them, since we want the *last* AC-DEFINE to be honored.
-uniq confdefs.h | sed -n -f confdef2sed.sed >conftest.defines
-sed 's/ac_d/ac_u/g' conftest.defines >conftest.undefs
-rm -f confdef2sed.sed
-
-# This sed command replaces #undef with comments. This is necessary, for
-# example, in the case of _POSIX_SOURCE, which is predefined and required
-# on some systems where configure will not decide to define it.
-cat >>conftest.undefs <<\_ACEOF
-s,^[ ]*#[ ]*undef[ ][ ]*[a-zA-Z_][a-zA-Z_0-9]*,/* & */,
-_ACEOF
-
-# Break up conftest.defines because some shells have a limit on the size
-# of here documents, and old seds have small limits too (100 cmds).
-echo ' # Handle all the #define templates only if necessary.' >>$CONFIG_STATUS
-echo ' if grep "^[ ]*#[ ]*define" $tmp/in >/dev/null; then' >>$CONFIG_STATUS
-echo ' # If there are no defines, we may have an empty if/fi' >>$CONFIG_STATUS
-echo ' :' >>$CONFIG_STATUS
-rm -f conftest.tail
-while grep . conftest.defines >/dev/null
-do
- # Write a limited-size here document to $tmp/defines.sed.
- echo ' cat >$tmp/defines.sed <<CEOF' >>$CONFIG_STATUS
- # Speed up: don't consider the non `#define' lines.
- echo '/^[ ]*#[ ]*define/!b' >>$CONFIG_STATUS
- # Work around the forget-to-reset-the-flag bug.
- echo 't clr' >>$CONFIG_STATUS
- echo ': clr' >>$CONFIG_STATUS
- sed ${ac_max_here_lines}q conftest.defines >>$CONFIG_STATUS
- echo 'CEOF
- sed -f $tmp/defines.sed $tmp/in >$tmp/out
- rm -f $tmp/in
- mv $tmp/out $tmp/in
-' >>$CONFIG_STATUS
- sed 1,${ac_max_here_lines}d conftest.defines >conftest.tail
- rm -f conftest.defines
- mv conftest.tail conftest.defines
-done
-rm -f conftest.defines
-echo ' fi # grep' >>$CONFIG_STATUS
-echo >>$CONFIG_STATUS
-
-# Break up conftest.undefs because some shells have a limit on the size
-# of here documents, and old seds have small limits too (100 cmds).
-echo ' # Handle all the #undef templates' >>$CONFIG_STATUS
-rm -f conftest.tail
-while grep . conftest.undefs >/dev/null
-do
- # Write a limited-size here document to $tmp/undefs.sed.
- echo ' cat >$tmp/undefs.sed <<CEOF' >>$CONFIG_STATUS
- # Speed up: don't consider the non `#undef'
- echo '/^[ ]*#[ ]*undef/!b' >>$CONFIG_STATUS
- # Work around the forget-to-reset-the-flag bug.
- echo 't clr' >>$CONFIG_STATUS
- echo ': clr' >>$CONFIG_STATUS
- sed ${ac_max_here_lines}q conftest.undefs >>$CONFIG_STATUS
- echo 'CEOF
- sed -f $tmp/undefs.sed $tmp/in >$tmp/out
- rm -f $tmp/in
- mv $tmp/out $tmp/in
-' >>$CONFIG_STATUS
- sed 1,${ac_max_here_lines}d conftest.undefs >conftest.tail
- rm -f conftest.undefs
- mv conftest.tail conftest.undefs
-done
-rm -f conftest.undefs
-
-cat >>$CONFIG_STATUS <<\_ACEOF
- # Let's still pretend it is `configure' which instantiates (i.e., don't
- # use $as_me), people would be surprised to read:
- # /* config.h. Generated by config.status. */
- if test x"$ac_file" = x-; then
- echo "/* Generated by configure. */" >$tmp/config.h
- else
- echo "/* $ac_file. Generated by configure. */" >$tmp/config.h
- fi
- cat $tmp/in >>$tmp/config.h
- rm -f $tmp/in
- if test x"$ac_file" != x-; then
- if cmp -s $ac_file $tmp/config.h 2>/dev/null; then
- { echo "$as_me:$LINENO: $ac_file is unchanged" >&5
-echo "$as_me: $ac_file is unchanged" >&6;}
- else
- ac_dir=`(dirname "$ac_file") 2>/dev/null ||
-$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$ac_file" : 'X\(//\)[^/]' \| \
- X"$ac_file" : 'X\(//\)$' \| \
- X"$ac_file" : 'X\(/\)' \| \
- . : '\(.\)' 2>/dev/null ||
-echo X"$ac_file" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
- /^X\(\/\/\)[^/].*/{ s//\1/; q; }
- /^X\(\/\/\)$/{ s//\1/; q; }
- /^X\(\/\).*/{ s//\1/; q; }
- s/.*/./; q'`
- { if $as_mkdir_p; then
- mkdir -p "$ac_dir"
- else
- as_dir="$ac_dir"
- as_dirs=
- while test ! -d "$as_dir"; do
- as_dirs="$as_dir $as_dirs"
- as_dir=`(dirname "$as_dir") 2>/dev/null ||
-$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$as_dir" : 'X\(//\)[^/]' \| \
- X"$as_dir" : 'X\(//\)$' \| \
- X"$as_dir" : 'X\(/\)' \| \
- . : '\(.\)' 2>/dev/null ||
-echo X"$as_dir" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
- /^X\(\/\/\)[^/].*/{ s//\1/; q; }
- /^X\(\/\/\)$/{ s//\1/; q; }
- /^X\(\/\).*/{ s//\1/; q; }
- s/.*/./; q'`
- done
- test ! -n "$as_dirs" || mkdir $as_dirs
- fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5
-echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;}
- { (exit 1); exit 1; }; }; }
-
- rm -f $ac_file
- mv $tmp/config.h $ac_file
- fi
- else
- cat $tmp/config.h
- rm -f $tmp/config.h
- fi
-_am_stamp_count=`expr ${_am_stamp_count-0} + 1`
-echo "timestamp for $ac_file" >`(dirname $ac_file) 2>/dev/null ||
-$as_expr X$ac_file : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X$ac_file : 'X\(//\)[^/]' \| \
- X$ac_file : 'X\(//\)$' \| \
- X$ac_file : 'X\(/\)' \| \
- . : '\(.\)' 2>/dev/null ||
-echo X$ac_file |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
- /^X\(\/\/\)[^/].*/{ s//\1/; q; }
- /^X\(\/\/\)$/{ s//\1/; q; }
- /^X\(\/\).*/{ s//\1/; q; }
- s/.*/./; q'`/stamp-h$_am_stamp_count
-done
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF
-
-#
-# CONFIG_COMMANDS section.
-#
-for ac_file in : $CONFIG_COMMANDS; do test "x$ac_file" = x: && continue
- ac_dest=`echo "$ac_file" | sed 's,:.*,,'`
- ac_source=`echo "$ac_file" | sed 's,[^:]*:,,'`
- ac_dir=`(dirname "$ac_dest") 2>/dev/null ||
-$as_expr X"$ac_dest" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$ac_dest" : 'X\(//\)[^/]' \| \
- X"$ac_dest" : 'X\(//\)$' \| \
- X"$ac_dest" : 'X\(/\)' \| \
- . : '\(.\)' 2>/dev/null ||
-echo X"$ac_dest" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
- /^X\(\/\/\)[^/].*/{ s//\1/; q; }
- /^X\(\/\/\)$/{ s//\1/; q; }
- /^X\(\/\).*/{ s//\1/; q; }
- s/.*/./; q'`
- ac_builddir=.
-
-if test "$ac_dir" != .; then
- ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
- # A "../" for each directory in $ac_dir_suffix.
- ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'`
-else
- ac_dir_suffix= ac_top_builddir=
-fi
-
-case $srcdir in
- .) # No --srcdir option. We are building in place.
- ac_srcdir=.
- if test -z "$ac_top_builddir"; then
- ac_top_srcdir=.
- else
- ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'`
- fi ;;
- [\\/]* | ?:[\\/]* ) # Absolute path.
- ac_srcdir=$srcdir$ac_dir_suffix;
- ac_top_srcdir=$srcdir ;;
- *) # Relative path.
- ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix
- ac_top_srcdir=$ac_top_builddir$srcdir ;;
-esac
-# Don't blindly perform a `cd "$ac_dir"/$ac_foo && pwd` since $ac_foo can be
-# absolute.
-ac_abs_builddir=`cd "$ac_dir" && cd $ac_builddir && pwd`
-ac_abs_top_builddir=`cd "$ac_dir" && cd ${ac_top_builddir}. && pwd`
-ac_abs_srcdir=`cd "$ac_dir" && cd $ac_srcdir && pwd`
-ac_abs_top_srcdir=`cd "$ac_dir" && cd $ac_top_srcdir && pwd`
-
-
- { echo "$as_me:$LINENO: executing $ac_dest commands" >&5
-echo "$as_me: executing $ac_dest commands" >&6;}
- case $ac_dest in
- depfiles ) test x"$AMDEP_TRUE" != x"" || for mf in $CONFIG_FILES; do
- # Strip MF so we end up with the name of the file.
- mf=`echo "$mf" | sed -e 's/:.*$//'`
- # Check whether this is an Automake generated Makefile or not.
- # We used to match only the files named `Makefile.in', but
- # some people rename them; so instead we look at the file content.
- # Grep'ing the first line is not enough: some people post-process
- # each Makefile.in and add a new line on top of each file to say so.
- # So let's grep whole file.
- if grep '^#.*generated by automake' $mf > /dev/null 2>&1; then
- dirpart=`(dirname "$mf") 2>/dev/null ||
-$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$mf" : 'X\(//\)[^/]' \| \
- X"$mf" : 'X\(//\)$' \| \
- X"$mf" : 'X\(/\)' \| \
- . : '\(.\)' 2>/dev/null ||
-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
- grep '^DEP_FILES *= *[^ #]' < "$mf" > /dev/null || continue
- # Extract the definition of DEP_FILES from the Makefile without
- # running `make'.
- DEPDIR=`sed -n -e '/^DEPDIR = / s///p' < "$mf"`
- test -z "$DEPDIR" && continue
- # When using ansi2knr, U may be empty or an underscore; expand it
- U=`sed -n -e '/^U = / s///p' < "$mf"`
- test -d "$dirpart/$DEPDIR" || mkdir "$dirpart/$DEPDIR"
- # 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 -e '
- /^DEP_FILES = .*\\\\$/ {
- s/^DEP_FILES = //
- :loop
- s/\\\\$//
- p
- n
- /\\\\$/ b loop
- p
- }
- /^DEP_FILES = / s/^DEP_FILES = //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=`(dirname "$file") 2>/dev/null ||
-$as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$file" : 'X\(//\)[^/]' \| \
- X"$file" : 'X\(//\)$' \| \
- X"$file" : 'X\(/\)' \| \
- . : '\(.\)' 2>/dev/null ||
-echo X"$file" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
- /^X\(\/\/\)[^/].*/{ s//\1/; q; }
- /^X\(\/\/\)$/{ s//\1/; q; }
- /^X\(\/\).*/{ s//\1/; q; }
- s/.*/./; q'`
- { if $as_mkdir_p; then
- mkdir -p $dirpart/$fdir
- else
- as_dir=$dirpart/$fdir
- as_dirs=
- while test ! -d "$as_dir"; do
- as_dirs="$as_dir $as_dirs"
- as_dir=`(dirname "$as_dir") 2>/dev/null ||
-$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$as_dir" : 'X\(//\)[^/]' \| \
- X"$as_dir" : 'X\(//\)$' \| \
- X"$as_dir" : 'X\(/\)' \| \
- . : '\(.\)' 2>/dev/null ||
-echo X"$as_dir" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
- /^X\(\/\/\)[^/].*/{ s//\1/; q; }
- /^X\(\/\/\)$/{ s//\1/; q; }
- /^X\(\/\).*/{ s//\1/; q; }
- s/.*/./; q'`
- done
- test ! -n "$as_dirs" || mkdir $as_dirs
- fi || { { echo "$as_me:$LINENO: error: cannot create directory $dirpart/$fdir" >&5
-echo "$as_me: error: cannot create directory $dirpart/$fdir" >&2;}
- { (exit 1); exit 1; }; }; }
-
- # echo "creating $dirpart/$file"
- echo '# dummy' > "$dirpart/$file"
- done
-done
- ;;
- esac
-done
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF
-
-{ (exit 0); exit 0; }
-_ACEOF
-chmod +x $CONFIG_STATUS
-ac_clean_files=$ac_clean_files_save
-
-
-# configure is writing to config.log, and then calls config.status.
-# config.status does its own redirection, appending to config.log.
-# Unfortunately, on DOS this fails, as config.log is still kept open
-# by configure, so config.status won't be able to write to it; its
-# output is simply discarded. So we exec the FD to /dev/null,
-# effectively closing config.log, so it can be properly (re)opened and
-# appended to by config.status. When coming back to configure, we
-# need to make the FD available again.
-if test "$no_create" != yes; then
- ac_cs_success=:
- exec 5>/dev/null
- $SHELL $CONFIG_STATUS || ac_cs_success=false
- exec 5>>config.log
- # Use ||, not &&, to avoid exiting from the if with $? = 1, which
- # would make configure fail if this is the last instruction.
- $ac_cs_success || { (exit 1); exit 1; }
-fi
-
-
+++ /dev/null
-dnl Process this file with autoconf to produce a configure script.
-
-AC_INIT(Source/robodoc.h)
-
-AM_CONFIG_HEADER(Source/config.h)
-
-AM_INIT_AUTOMAKE(robodoc, 3.2.3)
-
-AC_PROG_MAKE_SET
-
-dnl Checks for programs.
-AC_PROG_CC
-
-dnl Checks for libraries.
-
-dnl Checks for header files.
-AC_HEADER_STDC
-
-dnl Checks for typedefs, structures, and compiler characteristics.
-AC_C_CONST
-AC_TYPE_SIZE_T
-
-dnl Checks for library functions.
-AC_FUNC_STRFTIME
-AC_FUNC_VPRINTF
-AC_CHECK_FUNCS(strstr)
-
-AC_OUTPUT(makefile Docs/makefile Source/makefile)
-
+++ /dev/null
-#!/bin/sh
-#
-# install - install a program, script, or datafile
-# This comes from X11R5 (mit/util/scripts/install.sh).
-#
-# Copyright 1991 by the Massachusetts Institute of Technology
-#
-# Permission to use, copy, modify, distribute, and sell this software and its
-# documentation for any purpose is hereby granted without fee, provided that
-# the above copyright notice appear in all copies and that both that
-# copyright notice and this permission notice appear in supporting
-# documentation, and that the name of M.I.T. not be used in advertising or
-# publicity pertaining to distribution of the software without specific,
-# written prior permission. M.I.T. makes no representations about the
-# suitability of this software for any purpose. It is provided "as is"
-# without express or implied warranty.
-#
-# Calling this script install-sh is preferred over install.sh, to prevent
-# `make' implicit rules from creating a file called install from it
-# when there is no Makefile.
-#
-# This script is compatible with the BSD install script, but was written
-# from scratch. It can only install one file at a time, a restriction
-# shared with many OS's install programs.
-
-
-# set DOITPROG to echo to test this script
-
-# Don't use :- since 4.3BSD and earlier shells don't like it.
-doit="${DOITPROG-}"
-
-
-# put in absolute paths if you don't have them in your path; or use env. vars.
-
-mvprog="${MVPROG-mv}"
-cpprog="${CPPROG-cp}"
-chmodprog="${CHMODPROG-chmod}"
-chownprog="${CHOWNPROG-chown}"
-chgrpprog="${CHGRPPROG-chgrp}"
-stripprog="${STRIPPROG-strip}"
-rmprog="${RMPROG-rm}"
-mkdirprog="${MKDIRPROG-mkdir}"
-
-transformbasename=""
-transform_arg=""
-instcmd="$mvprog"
-chmodcmd="$chmodprog 0755"
-chowncmd=""
-chgrpcmd=""
-stripcmd=""
-rmcmd="$rmprog -f"
-mvcmd="$mvprog"
-src=""
-dst=""
-dir_arg=""
-
-while [ x"$1" != x ]; do
- case $1 in
- -c) instcmd="$cpprog"
- shift
- continue;;
-
- -d) dir_arg=true
- shift
- continue;;
-
- -m) chmodcmd="$chmodprog $2"
- shift
- shift
- continue;;
-
- -o) chowncmd="$chownprog $2"
- shift
- shift
- continue;;
-
- -g) chgrpcmd="$chgrpprog $2"
- shift
- shift
- continue;;
-
- -s) stripcmd="$stripprog"
- shift
- continue;;
-
- -t=*) transformarg=`echo $1 | sed 's/-t=//'`
- shift
- continue;;
-
- -b=*) transformbasename=`echo $1 | sed 's/-b=//'`
- shift
- continue;;
-
- *) if [ x"$src" = x ]
- then
- src=$1
- else
- # this colon is to work around a 386BSD /bin/sh bug
- :
- dst=$1
- fi
- shift
- continue;;
- esac
-done
-
-if [ x"$src" = x ]
-then
- echo "install: no input file specified"
- exit 1
-else
- true
-fi
-
-if [ x"$dir_arg" != x ]; then
- dst=$src
- src=""
-
- if [ -d $dst ]; then
- instcmd=:
- chmodcmd=""
- else
- instcmd=mkdir
- fi
-else
-
-# Waiting for this to be detected by the "$instcmd $src $dsttmp" command
-# might cause directories to be created, which would be especially bad
-# if $src (and thus $dsttmp) contains '*'.
-
- if [ -f $src -o -d $src ]
- then
- true
- else
- echo "install: $src does not exist"
- exit 1
- fi
-
- if [ x"$dst" = x ]
- then
- echo "install: no destination specified"
- exit 1
- else
- true
- fi
-
-# If destination is a directory, append the input filename; if your system
-# does not like double slashes in filenames, you may need to add some logic
-
- if [ -d $dst ]
- then
- dst="$dst"/`basename $src`
- else
- true
- fi
-fi
-
-## this sed command emulates the dirname command
-dstdir=`echo $dst | sed -e 's,[^/]*$,,;s,/$,,;s,^$,.,'`
-
-# Make sure that the destination directory exists.
-# this part is taken from Noah Friedman's mkinstalldirs script
-
-# Skip lots of stat calls in the usual case.
-if [ ! -d "$dstdir" ]; then
-defaultIFS='
-'
-IFS="${IFS-${defaultIFS}}"
-
-oIFS="${IFS}"
-# Some sh's can't handle IFS=/ for some reason.
-IFS='%'
-set - `echo ${dstdir} | sed -e 's@/@%@g' -e 's@^%@/@'`
-IFS="${oIFS}"
-
-pathcomp=''
-
-while [ $# -ne 0 ] ; do
- pathcomp="${pathcomp}${1}"
- shift
-
- if [ ! -d "${pathcomp}" ] ;
- then
- $mkdirprog "${pathcomp}"
- else
- true
- fi
-
- pathcomp="${pathcomp}/"
-done
-fi
-
-if [ x"$dir_arg" != x ]
-then
- $doit $instcmd $dst &&
-
- if [ x"$chowncmd" != x ]; then $doit $chowncmd $dst; else true ; fi &&
- if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dst; else true ; fi &&
- if [ x"$stripcmd" != x ]; then $doit $stripcmd $dst; else true ; fi &&
- if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dst; else true ; fi
-else
-
-# If we're going to rename the final executable, determine the name now.
-
- if [ x"$transformarg" = x ]
- then
- dstfile=`basename $dst`
- else
- dstfile=`basename $dst $transformbasename |
- sed $transformarg`$transformbasename
- fi
-
-# don't allow the sed command to completely eliminate the filename
-
- if [ x"$dstfile" = x ]
- then
- dstfile=`basename $dst`
- else
- true
- fi
-
-# Make a temp file name in the proper directory.
-
- dsttmp=$dstdir/#inst.$$#
-
-# Move or copy the file name to the temp name
-
- $doit $instcmd $src $dsttmp &&
-
- trap "rm -f ${dsttmp}" 0 &&
-
-# 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 $instcmd $src $dsttmp" command.
-
- if [ x"$chowncmd" != x ]; then $doit $chowncmd $dsttmp; else true;fi &&
- if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dsttmp; else true;fi &&
- if [ x"$stripcmd" != x ]; then $doit $stripcmd $dsttmp; else true;fi &&
- if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dsttmp; else true;fi &&
-
-# Now rename the file to the real destination.
-
- $doit $rmcmd -f $dstdir/$dstfile &&
- $doit $mvcmd $dsttmp $dstdir/$dstfile
-
-fi &&
-
-
-exit 0
+++ /dev/null
-## Process this file with automake to produce Makefile.in
-
-#
-# Information for automake
-#
-
-AUTOMAKE_OPTIONS = dist-zip
-
-SUBDIRS = Docs Source
-
-exampledir = $(prefix)/examples/$(PACKAGE)-$(VERSION)
-
-docdir = $(prefix)/doc/$(PACKAGE)-$(VERSION)
-doc_DATA = AUTHORS COPYING ChangeLog INSTALL NEWS README
-
-EXTRA_DIST = \
- Docs/robodoc.1 \
- Docs/robodoc.m4 \
- Docs/robodoc.html \
- Docs/general.m4 \
- Docs/example.c \
- Docs/tocgen.m4 \
- Docs/example_makefile \
- Docs/main.css \
- Examples/C/prog1.c \
- Examples/C/prog2.c \
- Examples/C/prog1.c.html \
- Examples/C/prog2.c.html \
- Examples/C/makefile \
- Examples/CPP/muppets.h \
- Examples/CPP/muppets.cpp \
- Examples/CPP/masterindex.html \
- Examples/CPP/muppets.h.html \
- Examples/CPP/muppets.cpp.html \
- Examples/CPP/makefile \
- Headers/assembler.sample \
- Headers/basic.sample \
- Headers/c.sample \
- Headers/cpp.sample \
- Headers/fortan.sample \
- Headers/html.sample \
- Headers/tcl.sample \
- Source/makefile.plain
-
-#
-# End of automake stuff
-#
-
-
-myclean:
- rm -f *~
- rm -f makefile.in
- rm -f *.tar.gz *.zip
- rm -f *.log aclocal.m4 config.cache
- rm -f install-sh
- rm -f mkinstalldirs
- rm -f missing makefile
- rm -f configure config.status
- $(MAKE) -f makefile.am -C Docs myclean
- $(MAKE) -f makefile.am -C Source myclean
- $(MAKE) -C Examples myclean
-
-Docs/robodoc.html :
- $(MAKE) -C Docs robodoc.html
-
-Examples/C/prog1.c.html :
- $(MAKE) -C Examples/C prog1.c.html
-
-Examples/C/prog2.c.html :
- $(MAKE) -C Examples/C prog2.c.html
-
-Examples/CPP/masterindex.html :
- $(MAKE) -C Examples/CPP masterindex.html
-
-Examples/CPP/muppets.h.html :
- $(MAKE) -C Examples/CPP muppets.h.html
-
-Examples/CPP/muppets.cpp.html :
- $(MAKE) -C Examples/CPP muppets.cpp.html
-
-#
-#
-#
-
-docall:
- $(MAKE) -C Source html
-
+++ /dev/null
-# makefile.in generated by automake 1.7 from makefile.am.
-# @configure_input@
-
-# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002
-# 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@
-
-#
-# Information for automake
-#
-
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
-VPATH = @srcdir@
-pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-top_builddir = .
-
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-INSTALL = @INSTALL@
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-ACLOCAL = @ACLOCAL@
-AMDEP_FALSE = @AMDEP_FALSE@
-AMDEP_TRUE = @AMDEP_TRUE@
-AMTAR = @AMTAR@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-LDFLAGS = @LDFLAGS@
-LIBS = @LIBS@
-LTLIBOBJS = @LTLIBOBJS@
-MAKEINFO = @MAKEINFO@
-OBJEXT = @OBJEXT@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_VERSION = @PACKAGE_VERSION@
-PATH_SEPARATOR = @PATH_SEPARATOR@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-STRIP = @STRIP@
-VERSION = @VERSION@
-ac_ct_CC = @ac_ct_CC@
-ac_ct_STRIP = @ac_ct_STRIP@
-am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
-am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
-am__include = @am__include@
-am__quote = @am__quote@
-bindir = @bindir@
-build_alias = @build_alias@
-datadir = @datadir@
-exec_prefix = @exec_prefix@
-host_alias = @host_alias@
-includedir = @includedir@
-infodir = @infodir@
-install_sh = @install_sh@
-libdir = @libdir@
-libexecdir = @libexecdir@
-localstatedir = @localstatedir@
-mandir = @mandir@
-oldincludedir = @oldincludedir@
-prefix = @prefix@
-program_transform_name = @program_transform_name@
-sbindir = @sbindir@
-sharedstatedir = @sharedstatedir@
-sysconfdir = @sysconfdir@
-target_alias = @target_alias@
-
-AUTOMAKE_OPTIONS = dist-zip
-
-SUBDIRS = Docs Source
-
-exampledir = $(prefix)/examples/$(PACKAGE)-$(VERSION)
-
-docdir = $(prefix)/doc/$(PACKAGE)-$(VERSION)
-doc_DATA = AUTHORS COPYING ChangeLog INSTALL NEWS README
-
-EXTRA_DIST = \
- Docs/robodoc.1 \
- Docs/robodoc.m4 \
- Docs/robodoc.html \
- Docs/general.m4 \
- Docs/example.c \
- Docs/tocgen.m4 \
- Docs/example_makefile \
- Docs/main.css \
- Examples/C/prog1.c \
- Examples/C/prog2.c \
- Examples/C/prog1.c.html \
- Examples/C/prog2.c.html \
- Examples/C/makefile \
- Examples/CPP/muppets.h \
- Examples/CPP/muppets.cpp \
- Examples/CPP/masterindex.html \
- Examples/CPP/muppets.h.html \
- Examples/CPP/muppets.cpp.html \
- Examples/CPP/makefile \
- Headers/assembler.sample \
- Headers/basic.sample \
- Headers/c.sample \
- Headers/cpp.sample \
- Headers/fortan.sample \
- Headers/html.sample \
- Headers/tcl.sample \
- Source/makefile.plain
-
-subdir = .
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
-CONFIG_HEADER = $(top_builddir)/Source/config.h
-CONFIG_CLEAN_FILES =
-DIST_SOURCES =
-DATA = $(doc_DATA)
-
-
-RECURSIVE_TARGETS = info-recursive dvi-recursive pdf-recursive \
- ps-recursive install-info-recursive uninstall-info-recursive \
- all-recursive install-data-recursive install-exec-recursive \
- installdirs-recursive install-recursive uninstall-recursive \
- check-recursive installcheck-recursive
-DIST_COMMON = README AUTHORS COPYING ChangeLog INSTALL NEWS TODO \
- aclocal.m4 configure configure.in install-sh makefile.am \
- makefile.in missing mkinstalldirs
-DIST_SUBDIRS = $(SUBDIRS)
-all: all-recursive
-
-.SUFFIXES:
-
-am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
- configure.lineno
-$(srcdir)/makefile.in: makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu makefile
-makefile: $(srcdir)/makefile.in $(top_builddir)/config.status
- cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)
-
-$(top_builddir)/config.status: $(srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- $(SHELL) ./config.status --recheck
-$(srcdir)/configure: $(srcdir)/configure.in $(ACLOCAL_M4) $(CONFIGURE_DEPENDENCIES)
- cd $(srcdir) && $(AUTOCONF)
-
-$(ACLOCAL_M4): configure.in
- cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
-uninstall-info-am:
-docDATA_INSTALL = $(INSTALL_DATA)
-install-docDATA: $(doc_DATA)
- @$(NORMAL_INSTALL)
- $(mkinstalldirs) $(DESTDIR)$(docdir)
- @list='$(doc_DATA)'; for p in $$list; do \
- if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- f="`echo $$p | sed -e 's|^.*/||'`"; \
- echo " $(docDATA_INSTALL) $$d$$p $(DESTDIR)$(docdir)/$$f"; \
- $(docDATA_INSTALL) $$d$$p $(DESTDIR)$(docdir)/$$f; \
- done
-
-uninstall-docDATA:
- @$(NORMAL_UNINSTALL)
- @list='$(doc_DATA)'; for p in $$list; do \
- f="`echo $$p | sed -e 's|^.*/||'`"; \
- echo " rm -f $(DESTDIR)$(docdir)/$$f"; \
- rm -f $(DESTDIR)$(docdir)/$$f; \
- done
-
-# This directory's subdirectories are mostly independent; you can cd
-# into them and run `make' without going through this Makefile.
-# To change the values of `make' variables: instead of editing Makefiles,
-# (1) if the variable is set in `config.status', edit `config.status'
-# (which will cause the Makefiles to be regenerated when you run `make');
-# (2) otherwise, pass the desired values on the `make' command line.
-$(RECURSIVE_TARGETS):
- @set fnord $$MAKEFLAGS; amf=$$2; \
- dot_seen=no; \
- target=`echo $@ | sed s/-recursive//`; \
- list='$(SUBDIRS)'; for subdir in $$list; do \
- echo "Making $$target in $$subdir"; \
- if test "$$subdir" = "."; then \
- dot_seen=yes; \
- local_target="$$target-am"; \
- else \
- local_target="$$target"; \
- fi; \
- (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
- || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
- done; \
- if test "$$dot_seen" = "no"; then \
- $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
- fi; test -z "$$fail"
-
-mostlyclean-recursive clean-recursive distclean-recursive \
-maintainer-clean-recursive:
- @set fnord $$MAKEFLAGS; amf=$$2; \
- dot_seen=no; \
- case "$@" in \
- distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
- *) list='$(SUBDIRS)' ;; \
- esac; \
- rev=''; for subdir in $$list; do \
- if test "$$subdir" = "."; then :; else \
- rev="$$subdir $$rev"; \
- fi; \
- done; \
- rev="$$rev ."; \
- target=`echo $@ | sed s/-recursive//`; \
- for subdir in $$rev; do \
- echo "Making $$target in $$subdir"; \
- if test "$$subdir" = "."; then \
- local_target="$$target-am"; \
- else \
- local_target="$$target"; \
- fi; \
- (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
- || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
- done && test -z "$$fail"
-tags-recursive:
- list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
- done
-ctags-recursive:
- list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
- done
-
-ETAGS = etags
-ETAGSFLAGS =
-
-CTAGS = ctags
-CTAGSFLAGS =
-
-tags: TAGS
-
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- mkid -fID $$unique
-
-TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- here=`pwd`; \
- list='$(SUBDIRS)'; for subdir in $$list; do \
- if test "$$subdir" = .; then :; else \
- test -f $$subdir/TAGS && tags="$$tags -i $$here/$$subdir/TAGS"; \
- fi; \
- done; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- test -z "$(ETAGS_ARGS)$$tags$$unique" \
- || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique
-
-ctags: CTAGS
-CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- here=`pwd`; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
- || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
-
-GTAGS:
- here=`$(am__cd) $(top_builddir) && pwd` \
- && cd $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) $$here
-
-distclean-tags:
- -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-
-top_distdir = .
-distdir = $(PACKAGE)-$(VERSION)
-
-am__remove_distdir = \
- { test ! -d $(distdir) \
- || { find $(distdir) -type d ! -perm -200 -exec chmod u+w {} ';' \
- && rm -fr $(distdir); }; }
-
-GZIP_ENV = --best
-distuninstallcheck_listfiles = find . -type f -print
-distcleancheck_listfiles = find . -type f -print
-
-distdir: $(DISTFILES)
- $(am__remove_distdir)
- mkdir $(distdir)
- $(mkinstalldirs) $(distdir)/Docs $(distdir)/Examples/C $(distdir)/Examples/CPP $(distdir)/Headers $(distdir)/Source
- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
- list='$(DISTFILES)'; for file in $$list; do \
- case $$file in \
- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
- esac; \
- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test "$$dir" != "$$file" && test "$$dir" != "."; then \
- dir="/$$dir"; \
- $(mkinstalldirs) "$(distdir)$$dir"; \
- else \
- dir=''; \
- fi; \
- if test -d $$d/$$file; then \
- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
- fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
- else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
- || exit 1; \
- fi; \
- done
- list='$(SUBDIRS)'; for subdir in $$list; do \
- if test "$$subdir" = .; then :; else \
- test -d $(distdir)/$$subdir \
- || mkdir $(distdir)/$$subdir \
- || exit 1; \
- (cd $$subdir && \
- $(MAKE) $(AM_MAKEFLAGS) \
- top_distdir="$(top_distdir)" \
- distdir=../$(distdir)/$$subdir \
- distdir) \
- || exit 1; \
- fi; \
- done
- -find $(distdir) -type d ! -perm -777 -exec chmod a+rwx {} \; -o \
- ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \
- ! -type d ! -perm -400 -exec chmod a+r {} \; -o \
- ! -type d ! -perm -444 -exec $(SHELL) $(install_sh) -c -m a+r {} {} \; \
- || chmod -R a+r $(distdir)
-dist-gzip: distdir
- $(AMTAR) chof - $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
- $(am__remove_distdir)
-
-dist-zip: distdir
- -rm -f $(distdir).zip
- zip -rq $(distdir).zip $(distdir)
- $(am__remove_distdir)
-
-dist dist-all: distdir
- $(AMTAR) chof - $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
- -rm -f $(distdir).zip
- zip -rq $(distdir).zip $(distdir)
- $(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
- $(am__remove_distdir)
- GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(AMTAR) xf -
- chmod -R a-w $(distdir); chmod a+w $(distdir)
- mkdir $(distdir)/=build
- mkdir $(distdir)/=inst
- chmod a-w $(distdir)
- dc_install_base=`$(am__cd) $(distdir)/=inst && pwd` \
- && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \
- && $(mkinstalldirs) $$dc_destdir \
- && 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" \
- && ({ $(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-gzip \
- && rm -f $(distdir).tar.gz \
- && $(MAKE) $(AM_MAKEFLAGS) distcleancheck
- $(am__remove_distdir)
- @echo "$(distdir).tar.gz is ready for distribution" | \
- sed 'h;s/./=/g;p;x;p;x'
-distuninstallcheck:
- cd $(distuninstallcheck_dir) \
- && test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \
- || { echo "ERROR: files left after uninstall:" ; \
- if test -n "$(DESTDIR)"; then \
- echo " (check DESTDIR support)"; \
- fi ; \
- $(distuninstallcheck_listfiles) ; \
- exit 1; } >&2
-distcleancheck: distclean
- if test '$(srcdir)' = . ; then \
- echo "ERROR: distcleancheck can only run from a VPATH build" ; \
- exit 1 ; \
- fi
- test `$(distcleancheck_listfiles) | wc -l` -eq 0 \
- || { echo "ERROR: files left in build directory after distclean:" ; \
- $(distcleancheck_listfiles) ; \
- exit 1; } >&2
-check-am: all-am
-check: check-recursive
-all-am: makefile $(DATA)
-installdirs: installdirs-recursive
-installdirs-am:
- $(mkinstalldirs) $(DESTDIR)$(docdir)
-
-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_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
- -rm -f Makefile $(CONFIG_CLEAN_FILES)
-
-maintainer-clean-generic:
- @echo "This command is intended for maintainers to use"
- @echo "it deletes files that may require special tools to rebuild."
-clean: clean-recursive
-
-clean-am: clean-generic mostlyclean-am
-
-distclean: distclean-recursive
- -rm -f $(am__CONFIG_DISTCLEAN_FILES)
-distclean-am: clean-am distclean-generic distclean-tags
-
-dvi: dvi-recursive
-
-dvi-am:
-
-info: info-recursive
-
-info-am:
-
-install-data-am: install-docDATA
-
-install-exec-am:
-
-install-info: install-info-recursive
-
-install-man:
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-recursive
- -rm -f $(am__CONFIG_DISTCLEAN_FILES)
- -rm -rf autom4te.cache
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-recursive
-
-mostlyclean-am: mostlyclean-generic
-
-pdf: pdf-recursive
-
-pdf-am:
-
-ps: ps-recursive
-
-ps-am:
-
-uninstall-am: uninstall-docDATA uninstall-info-am
-
-uninstall-info: uninstall-info-recursive
-
-.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am check check-am clean \
- clean-generic clean-recursive ctags ctags-recursive dist \
- dist-all dist-gzip dist-zip distcheck distclean \
- distclean-generic distclean-recursive distclean-tags \
- distcleancheck distdir distuninstallcheck dvi dvi-am \
- dvi-recursive info info-am info-recursive install install-am \
- install-data install-data-am install-data-recursive \
- install-docDATA install-exec install-exec-am \
- install-exec-recursive install-info install-info-am \
- install-info-recursive install-man install-recursive \
- install-strip installcheck installcheck-am installdirs \
- installdirs-am installdirs-recursive maintainer-clean \
- maintainer-clean-generic maintainer-clean-recursive mostlyclean \
- mostlyclean-generic mostlyclean-recursive pdf pdf-am \
- pdf-recursive ps ps-am ps-recursive tags tags-recursive \
- uninstall uninstall-am uninstall-docDATA uninstall-info-am \
- uninstall-info-recursive uninstall-recursive
-
-
-#
-# End of automake stuff
-#
-
-myclean:
- rm -f *~
- rm -f makefile.in
- rm -f *.tar.gz *.zip
- rm -f *.log aclocal.m4 config.cache
- rm -f install-sh
- rm -f mkinstalldirs
- rm -f missing makefile
- rm -f configure config.status
- $(MAKE) -f makefile.am -C Docs myclean
- $(MAKE) -f makefile.am -C Source myclean
- $(MAKE) -C Examples myclean
-
-Docs/robodoc.html :
- $(MAKE) -C Docs robodoc.html
-
-Examples/C/prog1.c.html :
- $(MAKE) -C Examples/C prog1.c.html
-
-Examples/C/prog2.c.html :
- $(MAKE) -C Examples/C prog2.c.html
-
-Examples/CPP/masterindex.html :
- $(MAKE) -C Examples/CPP masterindex.html
-
-Examples/CPP/muppets.h.html :
- $(MAKE) -C Examples/CPP muppets.h.html
-
-Examples/CPP/muppets.cpp.html :
- $(MAKE) -C Examples/CPP muppets.cpp.html
-
-#
-#
-#
-
-docall:
- $(MAKE) -C Source html
-# 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
-# Common stub for a few missing GNU programs while installing.
-# Copyright (C) 1996, 1997 Free Software Foundation, Inc.
-# Franc,ois Pinard <pinard@iro.umontreal.ca>, 1996.
-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
-# 02111-1307, USA.
-
-if test $# -eq 0; then
- echo 1>&2 "Try \`$0 --help' for more information"
- exit 1
-fi
-
-case "$1" in
-
- -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
-
-Supported PROGRAM values:
- aclocal touch file \`aclocal.m4'
- autoconf touch file \`configure'
- autoheader touch file \`config.h.in'
- automake touch all \`Makefile.in' files
- bison create \`y.tab.[ch]', if possible, from existing .[ch]
- flex create \`lex.yy.c', if possible, from existing .c
- lex create \`lex.yy.c', if possible, from existing .c
- makeinfo touch the output file
- yacc create \`y.tab.[ch]', if possible, from existing .[ch]"
- ;;
-
- -v|--v|--ve|--ver|--vers|--versi|--versio|--version)
- echo "missing - GNU libit 0.0"
- ;;
-
- -*)
- echo 1>&2 "$0: Unknown \`$1' option"
- echo 1>&2 "Try \`$0 --help' for more information"
- exit 1
- ;;
-
- aclocal)
- echo 1>&2 "\
-WARNING: \`$1' is missing on your system. You should only need it if
- you modified \`acinclude.m4' or \`configure.in'. 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 missing on your system. You should only need it if
- you modified \`configure.in'. 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 missing on your system. You should only need it if
- you modified \`acconfig.h' or \`configure.in'. 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.in`
- 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 missing on your system. You should only need it if
- you modified \`Makefile.am', \`acinclude.m4' or \`configure.in'.
- 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
- ;;
-
- bison|yacc)
- echo 1>&2 "\
-WARNING: \`$1' is missing on your system. You should only need it if
- you modified a \`.y' file. You may need the \`Bison' package
- in order for those modifications to take effect. You can get
- \`Bison' from any GNU archive site."
- rm -f y.tab.c y.tab.h
- if [ $# -ne 1 ]; then
- eval LASTARG="\${$#}"
- case "$LASTARG" in
- *.y)
- SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'`
- if [ -f "$SRCFILE" ]; then
- cp "$SRCFILE" y.tab.c
- fi
- SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'`
- if [ -f "$SRCFILE" ]; then
- cp "$SRCFILE" y.tab.h
- fi
- ;;
- esac
- fi
- if [ ! -f y.tab.h ]; then
- echo >y.tab.h
- fi
- if [ ! -f y.tab.c ]; then
- echo 'main() { return 0; }' >y.tab.c
- fi
- ;;
-
- lex|flex)
- echo 1>&2 "\
-WARNING: \`$1' is missing on your system. You should only need it if
- you modified a \`.l' file. You may need the \`Flex' package
- in order for those modifications to take effect. You can get
- \`Flex' from any GNU archive site."
- rm -f lex.yy.c
- if [ $# -ne 1 ]; then
- eval LASTARG="\${$#}"
- case "$LASTARG" in
- *.l)
- SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'`
- if [ -f "$SRCFILE" ]; then
- cp "$SRCFILE" lex.yy.c
- fi
- ;;
- esac
- fi
- if [ ! -f lex.yy.c ]; then
- echo 'main() { return 0; }' >lex.yy.c
- fi
- ;;
-
- makeinfo)
- echo 1>&2 "\
-WARNING: \`$1' is missing on your system. 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."
- file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'`
- if test -z "$file"; then
- file=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'`
- file=`sed -n '/^@setfilename/ { s/.* \([^ ]*\) *$/\1/; p; q; }' $file`
- fi
- touch $file
- ;;
-
- *)
- echo 1>&2 "\
-WARNING: \`$1' is needed, and you do not seem to have it handy on your
- system. 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 prerequirements 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
+++ /dev/null
-#! /bin/sh
-# mkinstalldirs --- make directory hierarchy
-# Author: Noah Friedman <friedman@prep.ai.mit.edu>
-# Created: 1993-05-16
-# Public domain
-
-# $Id$
-
-errstatus=0
-
-for file
-do
- set fnord `echo ":$file" | sed -ne 's/^:\//#/;s/^://;s/\// /g;s/^#/\//;p'`
- shift
-
- pathcomp=
- for d
- do
- pathcomp="$pathcomp$d"
- case "$pathcomp" in
- -* ) pathcomp=./$pathcomp ;;
- esac
-
- if test ! -d "$pathcomp"; then
- echo "mkdir $pathcomp"
-
- mkdir "$pathcomp" || lasterr=$?
-
- if test ! -d "$pathcomp"; then
- errstatus=$lasterr
- fi
- fi
-
- pathcomp="$pathcomp/"
- done
-done
-
-exit $errstatus
-
-# mkinstalldirs ends here