From a54eecdf4b3c961ff41bc5d3ea6f21713e08f903 Mon Sep 17 00:00:00 2001 From: Dimitri van Heesch Date: Wed, 15 Dec 1999 19:36:24 +0000 Subject: mods for doxygen-0.49-991003 --- INSTALL | 70 ++++++-- Makefile.in | 28 +-- README | 4 +- VERSION | 2 +- configure | 66 +++++--- doc/Doxyfile | 16 +- doc/Makefile.in | 12 ++ doc/Makefile.latex | 18 +- doc/Makefile.win.in | 13 ++ doc/commands.doc | 124 +++++++++++++- doc/config.doc | 215 +++++++++++++++++++++-- doc/doxygen.sty | 13 ++ doc/doxygen_manual.tex | 22 ++- doc/doxygen_usage.doc | 6 +- doc/faq.doc | 20 ++- doc/index.doc | 7 +- doc/language.doc | 29 ++++ doc/output.doc | 48 ++++++ doc/starting.doc | 12 +- doc/trouble.doc | 4 +- examples/Makefile.in | 2 +- src/classdef.cpp | 38 +++-- src/classdef.h | 10 +- src/code.l | 6 +- src/config.h | 4 + src/config.l | 62 ++++++- src/declinfo.l | 4 +- src/definition.cpp | 14 ++ src/definition.h | 14 +- src/doxygen.cpp | 402 +++++++++++++++++++++++++++++-------------- src/doxygen.h | 1 + src/entry.cpp | 2 + src/entry.h | 3 + src/filedef.cpp | 14 +- src/filename.h | 1 + src/formula.h | 1 + src/groupdef.cpp | 17 +- src/htmlgen.cpp | 45 ++++- src/htmlgen.h | 28 +-- src/index.cpp | 201 +++++++++++++++++----- src/index.h | 1 + src/language.cpp | 4 + src/latexgen.cpp | 272 +++++++++++++++++++++-------- src/latexgen.h | 27 +-- src/mangen.cpp | 8 +- src/mangen.h | 20 ++- src/memberdef.cpp | 171 ++++++++++++------- src/memberdef.h | 6 +- src/membergroup.cpp | 4 +- src/memberlist.cpp | 4 +- src/membername.h | 2 + src/namespacedef.cpp | 8 +- src/namespacedef.h | 2 + src/outputgen.h | 21 ++- src/outputlist.cpp | 8 +- src/outputlist.h | 48 +++--- src/pre.l | 4 +- src/scanner.l | 191 +++++++++++++++++---- src/section.h | 1 + src/tag.l | 2 +- src/translator.h | 25 ++- src/translator_es.h | 2 +- src/translator_fr.h | 452 ++++++++++++++++++++++++++++++++++++++++++++++--- src/translator_it.h | 49 +++++- src/translator_nl.h | 49 ++++++ src/translator_se.h | 73 ++++++-- src/util.cpp | 88 +++++++--- src/util.h | 6 +- 68 files changed, 2516 insertions(+), 630 deletions(-) create mode 100644 doc/output.doc diff --git a/INSTALL b/INSTALL index 2ba7798..9f4d753 100644 --- a/INSTALL +++ b/INSTALL @@ -1,4 +1,4 @@ -DOXYGEN Version 0.49-990901 +DOXYGEN Version 0.49-991003 CONTENTS -------- @@ -8,14 +8,15 @@ CONTENTS * HTML related problems * LaTeX related problems * HP-UX / Digital UNIX problems + * gcc 2.7.2.x related problems INSTALLATION INSTRUCTIONS FOR UNIX: ----------------------------------- 1. Unpack the archive, unless you already have: - gunzip doxygen-0.49-990901.src.tar.gz # uncompress the archive - tar xf doxygen-0.49-990901.src.tar # unpack it + gunzip doxygen-0.49-991003.src.tar.gz # uncompress the archive + tar xf doxygen-0.49-991003.src.tar # unpack it 2. Run the configure script: @@ -26,6 +27,9 @@ INSTALLATION INSTRUCTIONS FOR UNIX: interpreter. It will report what it finds. Use configure --help to see how to override or change the default or detected settings. + If you have downloaded the binary distribution, you can proceed + with step 6 now. + 3. Compile the program by running make: make @@ -34,14 +38,14 @@ INSTALLATION INSTRUCTIONS FOR UNIX: doxytag, and doxysearch) should be available in the bin directory of the distribution. -5. Generate the user manual (optional, will also be done in step 6). +4. Generate the user manual (optional, will also be done in step 6). make docs - to let doxygen generate the HTML and LaTeX documentation. + To let doxygen generate the HTML and LaTeX documentation. (you will need the stream editor `sed' for this) - make ps +5. make ps to generate a postscript version of the manual. (you will need latex and dvips for this) @@ -58,14 +62,17 @@ INSTALLATION INSTRUCTIONS FOR UNIX: make install - Binaries are install to the directory /bin - Documentation and examples to the directory /share/doxygen + Binaries are installed in the directory /bin + Documentation and examples in the directory /doc/doxygen + + defaults to /usr but can be changed with the --prefix + option of the configure script. INSTALLATION INSTRUCTIONS FOR WINDOWS: -------------------------------------- Currently, only Microsoft Visual C++ (version 5.0) is supported. -(For other platforms you may need to edit the perl script in wintools/make.pl +(For other compilers you may need to edit the perl script in wintools/make.pl a bit). Let me know what you had to change if you got Doxygen working with another windows compiler. @@ -80,9 +87,10 @@ You will need to install the windows/dos versions of following tools: - Qt-1.xx (Qt-2.xx should also work, but I didn't test it for Windows) (Hint: only the tools section is required, so you can use the free X-windows version as well!) + You can get it at http://www.troll.no - Microsoft Visual C++ (I only tested with version 5.0). Use the vcvars32.bat to set the environment variables - (if not selected to do this automatically during installation). + (if you did not select to do this automatically during installation). - To generate LaTeX documentation or formulas in HTML you need the tools: latex, dvips and gswin32 To get these working under Windows install the fpTeX distribution @@ -96,15 +104,17 @@ You will need to install the windows/dos versions of following tools: `objects' and `bin' manually in the root of the distribution before compiling. -Make sure all tools are accessible from the command-line (add them to the -PATH environment if needed). +Open a dos box. +Make sure all tools (i.e. nmake, latex, gswin32, dvips, sed, flex, bison, +cl, rm and perl), are accessible from the command-line (add them to the +PATH environment variable if needed). -Open a dos box, goto the doxygen root dir and type: +goto the doxygen root dir and type: make.bat This should build the executables doxygen.exe, doxytag.exe, and doxysearch.exe -(The compiler should not produce any warnings or errors). +(The compiler should not produce any serious warnings or errors). To build the examples type: @@ -125,8 +135,8 @@ The manual should now be here latex/doxygen_manual.ps KNOWN CONFIGURATION PROBLEMS QT RELATED PROBLEMS: -- Qt-2.01 contains a bug that - +- Qt-2.01 contains a bug that makes some special characters appear as + question marks (?) in the HTML output. HTML RELATED PROBLEMS: - the indent continuously increases. @@ -168,7 +178,31 @@ HP-UX / DIGITAL UNIX PROBLEMS: defined (__sparc) || defined (__sgi) || defined (__osf__) #include - This seems to be a problem with bison, but I don't know how to fix it. + Alternatively, one could fix the problem at the bison side. + Here is patch for bison.simple (provided by Andre Johansen): + +------------------------------------------------------------------------------ +--- bison.simple~ Tue Nov 18 11:45:53 1997 ++++ bison.simple Mon Jan 26 15:10:26 1998 +@@ -27,7 +27,7 @@ + #ifdef __GNUC__ + #define alloca __builtin_alloca + #else /* not GNU C. */ +-#if (!defined (__STDC__) && defined (sparc)) || defined (__sparc__) || defined (__sparc) || defined (__sgi) ++#if (!defined (__STDC__) && defined (sparc)) || defined (__sparc__) || defined (__sparc) || defined (__sgi) || defined (__alpha) + #include + #else /* not sparc */ + #if defined (MSDOS) && !defined (__TURBOC__) +------------------------------------------------------------------------------ + +GCC 2.7.2.X PROBLEMS + +Old versions of the GNU compiler have problems with constant strings +containing characters with ascii codes >127. Therefore the compiler will +fail to compile some of the translator_xx.h files. +A workaround, if you are planning to use the English translation only, +is to configure doxygen with the --english-only option. + ----------------------------------------------------------------------------- That's it! @@ -180,4 +214,4 @@ The latest version of doxygen can be obtained at Enjoy, -Dimitri van Heesch (01 September 1999) +Dimitri van Heesch (03 October 1999) diff --git a/Makefile.in b/Makefile.in index 4555685..15e5caf 100644 --- a/Makefile.in +++ b/Makefile.in @@ -19,17 +19,18 @@ distclean: clean install: $(INSTTOOL) -d $(INSTALL)/bin - $(INSTTOOL) -d $(INSTALL)/share/doxygen/doc - $(INSTTOOL) -d $(INSTALL)/share/doxygen/examples + $(INSTTOOL) -d $(INSTALL)/doc/doxygen + $(INSTTOOL) -d $(INSTALL)/doc/doxygen $(INSTTOOL) -m 755 bin/doxy* $(INSTALL)/bin - cp -r doc $(INSTALL)/share/doxygen - cp -r examples $(INSTALL)/share/doxygen - echo "DOXYGEN = $(INSTALL)" > $(INSTALL)/share/doxygen/doc/Makefile - echo "DOXYDOCS = $(INSTALL)/share/doxygen" >> $(INSTALL)/share/doxygen/doc/Makefile - echo "VERSION = $(VERSION)" >> $(INSTALL)/share/doxygen/doc/Makefile - cat doc/Makefile.in >> $(INSTALL)/share/doxygen/doc/Makefile - cd $(INSTALL)/share/doxygen/examples ; $(MAKE) - cd $(INSTALL)/share/doxygen/doc ; $(MAKE) + cp -r doc $(INSTALL)/doc/doxygen + cp -r examples $(INSTALL)/doc/doxygen + echo "DOXYGEN = $(INSTALL)" > $(INSTALL)/doc/doxygen/doc/Makefile + echo "DOXYDOCS = .." >> $(INSTALL)/doc/doxygen/doc/Makefile + echo "VERSION = $(VERSION)" >> $(INSTALL)/doc/doxygen/doc/Makefile + cat doc/Makefile.in >> $(INSTALL)/doc/doxygen/doc/Makefile + cd $(INSTALL)/doc/doxygen/examples ; $(MAKE) + cd $(INSTALL)/doc/doxygen/doc ; $(MAKE) + rm -rf $(INSTALL)/doc/doxygen/doc docs: FORCE cd examples ; $(MAKE) @@ -38,10 +39,13 @@ docs: FORCE ps: docs cd latex ; $(MAKE) +pdf: docs + cd latex ; $(MAKE) + archive: distclean tar zcvf dx`date +%y%m%d`.tgz tmake doc wintools examples bin objects \ - src configure Makefile.in Makefile.win.in INSTALL make.bat \ - LANGUAGE.HOWTO LICENSE PLATFORMS VERSION + src configure configure.bin Makefile.in Makefile.win.in INSTALL \ + make.bat LANGUAGE.HOWTO LICENSE PLATFORMS VERSION src/version.cpp: Makefile echo "char versionString[]=\"$(VERSION)\";" > src/version.cpp diff --git a/README b/README index 40f4bb0..5f0b489 100644 --- a/README +++ b/README @@ -1,4 +1,4 @@ -DOXYGEN Version 0.49-990901 +DOXYGEN Version 0.49-991003 Please read INSTALL for compilation instructions. @@ -7,4 +7,4 @@ The latest version of doxygen can be obtained at Enjoy, -Dimitri van Heesch (01 September 1999) +Dimitri van Heesch (03 October 1999) diff --git a/VERSION b/VERSION index fe12281..9709962 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -0.49-990901 +0.49-991003 diff --git a/configure b/configure index 0abdb00..c14212c 100755 --- a/configure +++ b/configure @@ -21,10 +21,11 @@ f_shared=YES f_make=NO f_perl=NO f_plf_auto=NO -f_prefix=/usr/local +f_prefix=/usr f_insttool=install +f_english=NO -while test -n "$1"; do +while test -n "$1"; do case $1 in --prefix) shift; f_prefix=$1 @@ -41,6 +42,9 @@ while test -n "$1"; do --debug) f_debug=YES ;; + --english-only) + f_english=YES + ;; --platform) shift; f_platform=$1 ;; @@ -68,33 +72,35 @@ done if test "$f_help" = y; then cat </dev/null | grep GNU`"; then + make_prog="$j/$i" + break 2 + fi fi done done @@ -281,18 +289,24 @@ RM = rm -f VERSION = `cat VERSION` INSTALL = $f_prefix INSTTOOL = $f_insttool -DOXYDOCS = $PWD +DOXYDOCS = .. export TMAKEPATH EOF touch .tmakeconfig if test "$f_shared" = NO; then -cat > .tmakeconfig <> .tmakeconfig <> .tmakeconfig << EOF +TMAKE_CXXFLAGS = -DENGLISH_ONLY +EOF +fi + for i in Makefile.in src/Makefile.in examples/Makefile.in doc/Makefile.in ; do SRC=$i DST=`echo $i|sed 's%\(.*\).in$%\1%'` diff --git a/doc/Doxyfile b/doc/Doxyfile index 859702b..c7f9138 100644 --- a/doc/Doxyfile +++ b/doc/Doxyfile @@ -1,3 +1,16 @@ +# +# $Id$ +# +# Copyright (C) 1997-1999 by Dimitri van Heesch. +# +# Permission to use, copy, modify, and distribute this software and its +# documentation under the terms of the GNU General Public License is hereby +# granted. No representations are made about the suitability of this software +# for any purpose. It is provided "as is" without express or implied warranty. +# See the GNU General Public License for more details. +# +# All output generated with Doxygen is not covered by this license. + PROJECT_NAME = OUTPUT_DIRECTORY = .. HTML_HEADER = @@ -14,7 +27,7 @@ ENABLE_PREPROCESSING = NO INPUT = index.doc install.doc starting.doc faq.doc trouble.doc \ history.doc features.doc \ doxygen_usage.doc doxytag_usage.doc doxysearch_usage.doc \ - installdox_usage.doc autolink.doc \ + installdox_usage.doc output.doc autolink.doc \ config.doc commands.doc htmlcmds.doc language.doc FILE_PATTERNS = *.cpp *.h *.doc EXAMPLE_PATH = ../examples @@ -29,3 +42,4 @@ DOC_URL = DOC_ABSPATH = BIN_ABSPATH = /usr/local/bin/ EXT_DOC_PATHS = +PDF_HYPERLINKS = YES diff --git a/doc/Makefile.in b/doc/Makefile.in index 3b2d01c..29a3151 100644 --- a/doc/Makefile.in +++ b/doc/Makefile.in @@ -1,3 +1,15 @@ +# +# $Id$ +# +# Copyright (C) 1997-1999 by Dimitri van Heesch. +# +# Permission to use, copy, modify, and distribute this software and its +# documentation under the terms of the GNU General Public License is hereby +# granted. No representations are made about the suitability of this software +# for any purpose. It is provided "as is" without express or implied warranty. +# See the GNU General Public License for more details. +# +# All output generated with Doxygen is not covered by this license. all: FORCE DOXYGEN_DOCDIR=$(DOXYDOCS); \ diff --git a/doc/Makefile.latex b/doc/Makefile.latex index 7ab03a3..bd902df 100644 --- a/doc/Makefile.latex +++ b/doc/Makefile.latex @@ -1,4 +1,20 @@ -all: doxygen_manual.ps +# +# $Id$ +# +# Copyright (C) 1997-1999 by Dimitri van Heesch. +# +# Permission to use, copy, modify, and distribute this software and its +# documentation under the terms of the GNU General Public License is hereby +# granted. No representations are made about the suitability of this software +# for any purpose. It is provided "as is" without express or implied warranty. +# See the GNU General Public License for more details. +# +# All output generated with Doxygen is not covered by this license. + +all: doxygen_manual.pdf + +doxygen_manual.pdf: doxygen_manual.ps + ps2pdf doxygen_manual.ps doxygen_manual.pdf doxygen_manual.ps: doxygen_manual.dvi dvips -o doxygen_manual.ps doxygen_manual.dvi diff --git a/doc/Makefile.win.in b/doc/Makefile.win.in index e870a81..ed64837 100644 --- a/doc/Makefile.win.in +++ b/doc/Makefile.win.in @@ -1,3 +1,16 @@ +# +# $Id$ +# +# Copyright (C) 1997-1999 by Dimitri van Heesch. +# +# Permission to use, copy, modify, and distribute this software and its +# documentation under the terms of the GNU General Public License is hereby +# granted. No representations are made about the suitability of this software +# for any purpose. It is provided "as is" without express or implied warranty. +# See the GNU General Public License for more details. +# +# All output generated with Doxygen is not covered by this license. + all: FORCE set DOXYGEN_DOCDIR=file:///$(DOXYGEN) set VERSION=$(VERSION) diff --git a/doc/commands.doc b/doc/commands.doc index 5965aaf..d391c2c 100644 --- a/doc/commands.doc +++ b/doc/commands.doc @@ -70,12 +70,14 @@ documentation:
  • \refitem cmdfile \file
  • \refitem cmdfn \fn
  • \refitem cmdhtmlonly \htmlonly +
  • \refitem cmdimage \image
  • \refitem cmdinclude \include
  • \refitem cmdingroup \ingroup
  • \refitem cmdinternal \internal
  • \refitem cmdlatexonly \latexonly
  • \refitem cmdline \line
  • \refitem cmdlink \link +
  • \refitem cmdmainpage \mainpage
  • \refitem cmdnamespace \namespace
  • \refitem cmdoverload \overload
  • \refitem cmdpage \page @@ -84,6 +86,7 @@ documentation:
  • \refitem cmdref \ref
  • \refitem cmdrelates \relates
  • \refitem cmdreturn \return +
  • \refitem cmdretval \retval
  • \refitem cmdsa \sa
  • \refitem cmdsection \section
  • \refitem cmdskip \skip @@ -287,6 +290,38 @@ Doxygen. Unrecognized commands are treated as normal text. All text after a \c \internal command is ignored.
    +\subsection cmdmainpage \mainpage [(title)] + + \addindex \mainpage + + If the \\mainpage command is placed in a comment block the + block is used to customize the index page (in HTML) or + the first chapter (in \f$\mbox{\LaTeX}\f$). + + The title argument is optional and replaces the default title that + doxygen normally generates. + + Here is an example: +\verbatim +/*! \mainpage My Personal Index Page + * + * \section intro Introduction + * + * This is the introduction. + * + * \section install Installation + * + * \subsection step1 Step 1: Opening the box + * + * etc... + */ +\endverbatim + + \sa section \ref cmdsection "\\section", + section \ref cmdsubsection "\\subsection" and + section \ref cmdpage "\\page". + +
    \subsection cmdnamespace \namespace \addindex \namespace @@ -338,6 +373,15 @@ Doxygen. Unrecognized commands are treated as normal text. Click here for the corresponding HTML documentation that is generated by Doxygen. \endhtmlonly + + \par notice: + The \ argument consists of a combination of letters and number + digits. If you wish to use upper case letters (e.g. \c MYPAGE1), or + mixed case letters (e.g. \c MyPage1) in the \ argument, you + should set \c CASE_SENSE_NAMES to \c YES. However, this is advisable + only if your file system is case sensitive. Otherwise (and for better + portability) you should use all lower case letters (e.g. \c mypage1) + for \ in all references to the page. \sa section \ref cmdsection "\\section", section \ref cmdsubsection "\\subsection", and section @@ -543,6 +587,23 @@ Doxygen. Unrecognized commands are treated as normal text. \sa Section \ref cmdjdreturn "@return". + +
    +\subsection cmdretval \retval { description } + + \addindex \retval + Starts a return value for a function with name + \. Followed by a description of the return value. + The text of the paragraph that forms the description has no special + internal structure. All visual enhancement commands may be used inside the + paragraph. + Multiple adjacent \\retval commands will be joined into a single paragraph. + Each return value description will start on a new line. + The \\retval description ends when a blank line or some other + sectioning command is encountered. + + \sa Section \ref cmdjdretval "@retval". +
    \subsection cmdsa \sa { references } @@ -690,11 +751,17 @@ Doxygen. Unrecognized commands are treated as normal text. \addindex \dontinclude This command can be used to parse a source file without actually - including it. Any class and member declarations inside the code + verbatim including it in the documentation (as the \\include command does). + This is useful if you want to divide the source file into smaller pieces and + add documentation between the pieces. + Source files or directories can be specified using the \c EXAMPLE_PATH tag + of Doxygen's configuration file. + + The class and member declarations and definitions inside the code fragment are `remembered' during the parsing of the comment block that contained the \\dontinclude command. - For line by line description of source files, one or more lines + For line by line descriptions of source files, one or more lines of the example can be displayed using the \\line, \\skip, \\skipline, and \\until commands. An internal pointer is used for these commands. The \\dontinclude command sets the pointer to the first line of the example. @@ -717,8 +784,8 @@ Doxygen. Unrecognized commands are treated as normal text. \addindex \include This command can be used to include a source file as a block of code. The command takes the name of an include file as an argument. - Include files or directories can be specified using the - \c INCLUDE_PATH tag of Doxygen's configuration file. + Source files or directories can be specified using the + \c EXAMPLE_PATH tag of Doxygen's configuration file. Using the \\include command is equivalent to inserting the file into the documentation block and surrounding it @@ -728,10 +795,9 @@ Doxygen. Unrecognized commands are treated as normal text. duplication in case of example blocks that consist of multiple source and header files. - For line by line description of source files, one or more lines - of the example can be displayed using the \\line, \\skip, \\skipline, and - \\until commands. An internal pointer is used for these command. The - \\include command sets the pointer to the first line of the example. + For a line by line description of a source files use the + \\dontinclude command in combination with the \\line, \\skip, \\skipline, + and \\until commands. \sa section \ref cmdexample "\\example" and \ref cmddontinclude "\\dontinclude". @@ -967,6 +1033,45 @@ Doxygen. Unrecognized commands are treated as normal text. \ref cmdlatexonly "\\latexonly".
    +\subsection cmdimage \image [=] + + \addindex \image + Inserts an image into the documentation. This command is format + specific, so if you want to insert an image for more than one + format you'll have to repeat this command for each format. + + The first argument specifies the output format. Currently, the + following values are supported: \c html and \c latex. + + The second argument specifies the path and file name of the image. + If a relative path is used, this will be relative to the directory to + which the output of the particular format is written. + For the html format you may also + specify an URL. If the name contains spaces you'll have to put + quotes (") around it. + + The third argument can be used to specify the width or height of the + image. This is only useful for \f$\mbox{\LaTeX}\f$ output + (i.e. format=latex). \c sizeindication can be either + \c width or \c height. The size should be a valid + size specifier in \f$\mbox{\LaTeX}\f$ (for example 10cm or + 6in). + +\verbatim + /*! Here is a snapshot of my new application: + * \image html ../images/application.jpg + * \image latex ../images/application.eps width=10cm + */ +\endverbatim + + \warning The image format for HTML is limited to what your + browser supports. For \f$\mbox{\LaTeX}\f$ the image format + must be an encapsulated postscipt (eps). +

    + Doxygen does not check if an image exists or if it is in + the correct format. So \e you have to make sure this is the case! + +
    \subsection cmdlatexonly \latexonly \addindex \latexonly @@ -1078,6 +1183,9 @@ The following command JavaDoc command are support. \subsection cmdjdreturn @return { description of the return value } \addindex @return Equivalent to \\return (see section \ref cmdreturn "\\return"). +\subsection cmdjdretval @retval { return value description } + \addindex @retval + Equivalent to \\retval (see section \ref cmdretval "\\retval"). \subsection cmdjdsee @see { references } \addindex @see Equivalent to \\sa (see section \ref cmdsa "\\sa"). diff --git a/doc/config.doc b/doc/config.doc index f238ad1..66eb694 100644 --- a/doc/config.doc +++ b/doc/config.doc @@ -25,7 +25,7 @@ recursive-descent parser that is built into \c doxygen. The file may contain tabs and newlines for formatting purposes. The statements in the file are case-sensitive. Comments may be placed anywhere within the file (except within quotes). -Comments begin with the \c # character and end at the end of the +Comments begin with the \# character and end at the end of the line. The file essentially consists of a list of assignment statements. @@ -38,11 +38,95 @@ as the last character of a line. Environment variables can expanded using the pattern \c $(ENV_VARIABLE_NAME). The configuration options can be divided into several categories. -Below is a list of tags that are recognized for each category. +Below is an alphabetical index of the tags that are recognized +followed by the descriptions of the tags grouped by category. + +\htmlonly + +
      +\endhtmlonly +\latexonly +\footnotesize +\begin{multicols}{3} +\begin{CompactList} +\endlatexonly +
    • \refitem cfg_allexternals ALLEXTERNALS +
    • \refitem cfg_alphabetical_index ALPHABETICAL_INDEX +
    • \refitem cfg_bin_abspath BIN_ABSPATH +
    • \refitem cfg_brief_member_desc BRIEF_MEMBER_DESC +
    • \refitem cfg_case_sense_names CASE_SENSE_NAMES +
    • \refitem cfg_cgi_name CGI_NAME +
    • \refitem cfg_cgi_url CGI_URL +
    • \refitem cfg_class_diagrams CLASS_DIAGRAMS +
    • \refitem cfg_compact_latex COMPACT_LATEX +
    • \refitem cfg_disable_index DISABLE_INDEX +
    • \refitem cfg_doc_abspath DOC_ABSPATH +
    • \refitem cfg_doc_url DOC_URL +
    • \refitem cfg_enable_preprocessing ENABLE_PREPROCESSING +
    • \refitem cfg_example_path EXAMPLE_PATH +
    • \refitem cfg_exclude EXCLUDE +
    • \refitem cfg_exclude_patterns EXCLUDE_PATTERNS +
    • \refitem cfg_expand_only_predef EXPAND_ONLY_PREDEF +
    • \refitem cfg_ext_doc_paths EXT_DOC_PATHS +
    • \refitem cfg_extra_packages EXTRA_PACKAGES +
    • \refitem cfg_extract_all EXTRACT_ALL +
    • \refitem cfg_extract_private EXTRACT_PRIVATE +
    • \refitem cfg_file_patterns FILE_PATTERNS +
    • \refitem cfg_full_path_names FULL_PATH_NAMES +
    • \refitem cfg_generate_html GENERATE_HTML +
    • \refitem cfg_generate_htmlhelp GENERATE_HTMLHELP +
    • \refitem cfg_generate_latex GENERATE_LATEX +
    • \refitem cfg_generate_man GENERATE_MAN +
    • \refitem cfg_generate_tagfile GENERATE_TAGFILE +
    • \refitem cfg_hide_undoc_classes HIDE_UNDOC_CLASSES +
    • \refitem cfg_hide_undoc_members HIDE_UNDOC_MEMBERS +
    • \refitem cfg_html_align_members HTML_ALIGN_MEMBERS +
    • \refitem cfg_html_footer HTML_FOOTER +
    • \refitem cfg_html_header HTML_HEADER +
    • \refitem cfg_html_output HTML_OUTPUT +
    • \refitem cfg_include_path INCLUDE_PATH +
    • \refitem cfg_inherit_docs INHERIT_DOCS +
    • \refitem cfg_inline_info INLINE_INFO +
    • \refitem cfg_input INPUT +
    • \refitem cfg_input_filter INPUT_FILTER +
    • \refitem cfg_internal_docs INTERNAL_DOCS +
    • \refitem cfg_javadoc_autobrief JAVADOC_AUTOBRIEF +
    • \refitem cfg_latex_header LATEX_HEADER +
    • \refitem cfg_latex_output LATEX_OUTPUT +
    • \refitem cfg_macro_expansion MACRO_EXPANSION +
    • \refitem cfg_man_extension MAN_EXTENSION +
    • \refitem cfg_man_output MAN_OUTPUT +
    • \refitem cfg_output_directory OUTPUT_DIRECTORY +
    • \refitem cfg_output_language OUTPUT_LANGUAGE +
    • \refitem cfg_paper_type PAPER_TYPE +
    • \refitem cfg_perl_path PERL_PATH +
    • \refitem cfg_predefined PREDEFINED +
    • \refitem cfg_project_name PROJECT_NAME +
    • \refitem cfg_project_number PROJECT_NUMBER +
    • \refitem cfg_quiet QUIET +
    • \refitem cfg_recursive RECURSIVE +
    • \refitem cfg_repeat_brief REPEAT_BRIEF +
    • \refitem cfg_search_includes SEARCH_INCLUDES +
    • \refitem cfg_searchengine SEARCHENGINE +
    • \refitem cfg_source_browser SOURCE_BROWSER +
    • \refitem cfg_strip_from_path STRIP_FROM_PATH +
    • \refitem cfg_tagfiles TAGFILES +
    • \refitem cfg_verbatim_headers VERBATIM_HEADERS +
    • \refitem cfg_warnings WARNINGS +\htmlonly +
    +
    +\endhtmlonly +\latexonly +\end{CompactList} +\end{multicols} +\normalsize +\endlatexonly \subsection config_general General options
    +\anchor cfg_project_name
    \c PROJECT_NAME
    \addindex PROJECT_NAME The \c PROJECT_NAME tag is a single word (or a sequence of words @@ -50,12 +134,14 @@ Below is a list of tags that are recognized for each category. documentation is generated. This name is used in the title of most generated pages and in a few other places. +\anchor cfg_project_number
    \c PROJECT_NUMBER
    \addindex PROJECT_NUMBER The \c PROJECT_NUMBER tag can be used to enter a project or revision number. This could be handy for archiving the generated documentation or if some version control system is used. +\anchor cfg_output_directory
    \c OUTPUT_DIRECTORY
    \addindex OUTPUT_DIRECTORY The \c OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) @@ -63,6 +149,7 @@ Below is a list of tags that are recognized for each category. If a relative path is entered, it will be relative to the location where doxygen was started. If left blank the current directory will be used. +\anchor cfg_output_language
    \c OUTPUT_LANGUAGE
    \addindex OUTPUT_LANGUAGE The \c OUTPUT_LANGUAGE tag is used to specify the language in which all @@ -71,6 +158,7 @@ Below is a list of tags that are recognized for each category. The default language is English, other supported languages are: Dutch, French, Italian, Czech, Swedish, German and Japanese. +\anchor cfg_quiet
    \c QUIET
    \addindex QUIET The \c QUIET tag can be used to turn on/off the messages that are generated @@ -78,6 +166,7 @@ Below is a list of tags that are recognized for each category. where \c YES implies that the messages are off. If left blank \c NO is used. +\anchor cfg_warnings
    \c WARNINGS
    \addindex WARNINGS The \c WARNINGS tag can be used to turn on/off the warning messages that are @@ -86,6 +175,7 @@ Below is a list of tags that are recognized for each category. \b Tip: Turn warnings on while writing the documentation. +\anchor cfg_disable_index
    \c DISABLE_INDEX
    \addindex DISABLE_INDEX If you want full control over the layout of the generated HTML pages it @@ -94,6 +184,7 @@ Below is a list of tags that are recognized for each category. top of each page. A value of NO (the default) enables the index and the value YES disables it. +\anchor cfg_extract_all
    \c EXTRACT_ALL
    \addindex EXTRACT_ALL If the \c EXTRACT_ALL tag is set to \c YES all classes and functions will be @@ -102,11 +193,13 @@ Below is a list of tags that are recognized for each category. \b Notice: This will also disable the warnings about undocumented members that are normally produced when \c WARNINGS is set to \c YES +\anchor cfg_extract_private
    \c EXTRACT_PRIVATE
    \addindex EXTRACT_PRIVATE If the \c EXTRACT_PRIVATE tag is set to \c YES all documentation for private members will be extracted as well. +\anchor cfg_hide_undoc_members
    \c HIDE_UNDOC_MEMBERS
    \addindex HIDE_UNDOC_MEMBERS If the \c HIDE_UNDOC_MEMBERS tag is set to \c YES, Doxygen will hide all @@ -114,6 +207,7 @@ Below is a list of tags that are recognized for each category. If set to \c NO (the default) these members will be included in the various overviews, but no documentation section is generated. +\anchor cfg_hide_undoc_classes
    \c HIDE_UNDOC_CLASSES
    \addindex HIDE_UNDOC_CLASSES If the \c HIDE_UNDOC_CLASSESS tag is set to \c YES, Doxygen will hide all @@ -121,6 +215,7 @@ Below is a list of tags that are recognized for each category. If set to \c NO (the default) these classes will be included in the various overviews. +\anchor cfg_brief_member_desc
    \c BRIEF_MEMBER_DESC
    \addindex BRIEF_MEMBER_DESC If the \c BRIEF_MEMBER_DESC tag is set to \c YES (the default) Doxygen will @@ -128,6 +223,7 @@ Below is a list of tags that are recognized for each category. the file and class documentation (similar to JavaDoc). Set to NO to disable this. +\anchor cfg_internal_docs
    \c INTERNAL_DOCS
    \addindex INTERNAL_DOCS The \c INTERNAL_DOCS tag determines if documentation @@ -135,6 +231,7 @@ Below is a list of tags that are recognized for each category. to \c NO (the default) then the documentation will be excluded. Set it to \c YES to include the internal documentation. +\anchor cfg_repeat_brief
    \c REPEAT_BRIEF
    \addindex REPEAT_BRIEF If the \c REPEAT_BRIEF tag is set to \c YES (the default) Doxygen will @@ -145,12 +242,14 @@ Below is a list of tags that are recognized for each category. If both \c HIDE_UNDOC_MEMBERS and \c BRIEF_MEMBER_DESC are set to \c NO, the brief descriptions will be completely suppressed. +\anchor cfg_full_path_names
    \c FULL_PATH_NAMES
    \addindex FULL_PATH_NAMES If the \c FULL_PATH_NAMES tag is set to \c YES Doxygen will prepend the full path before files name in the file list and in the header files. If set to NO the shortest path that makes the file name unique will be used +\anchor cfg_strip_from_path
    \c STRIP_FROM_PATH
    \addindex STRIP_FROM_PATH If the \c FULL_PATH_NAMES tag is set to \c YES then the \c STRIP_FROM_PATH tag @@ -158,18 +257,21 @@ Below is a list of tags that are recognized for each category. only done if one of the specified strings matches the left-hand part of the path. +\anchor cfg_class_diagrams
    \c CLASS_DIAGRAMS
    \addindex CLASS_DIAGRAMS If the \c CLASS_DIAGRAMS tag is set to \c YES (the default) Doxygen will - generate a class diagram (in Html and LaTeX) for classes with base or + generate a class diagram (in Html and \f$\mbox{\LaTeX}\f$) for classes with base or super classes. Setting the tag to \c NO turns the diagrams off. +\anchor cfg_source_browser
    \c SOURCE_BROWSER
    \addindex SOURCE_BROWSER If the \c SOURCE_BROWSER tag is set to \c YES than the body of a member or function will be appended as a block of code to the documentation of. that member or function. +\anchor cfg_case_sense_names
    \c CASE_SENSE_NAMES
    \addindex CASE_SENSE_NAMES If the \c CASE_SENSE_NAMES tag is set to \c NO (the default) then Doxygen @@ -178,25 +280,40 @@ Below is a list of tags that are recognized for each category. classes or files whose names only differ in case and if your file system supports case sensitive file names. +\anchor cfg_verbatim_headers
    \c VERBATIM_HEADERS
    \addindex VERBATIM_HEADERS - If the VERBATIM_HEADERS tag is set the YES (the default) then Doxygen\n"; - will generate a verbatim copy of the header file for each class for\n"; - which an include is specified. Set to NO to disable this.\n"; + If the \c VERBATIM_HEADERS tag is set the \c YES (the default) then Doxygen + will generate a verbatim copy of the header file for each class for + which an include is specified. Set to NO to disable this. \sa Section \ref cmdclass "\\class". +\anchor cfg_javadoc_autobrief
    \c JAVADOC_AUTOBRIEF
    \addinex JAVADOC_AUTOBRIEF - If the JAVADOC_NO_AUTOBRIEF is set to YES (the default) then Doxygen + If the \c JAVADOC_NO_AUTOBRIEF is set to \c YES (the default) then Doxygen will interpret the first line (until the first dot) of a JavaDoc-style comment as the brief description. If set to NO, the Javadoc-style will behave just like the Qt-style comments. +\anchor cfg_inherit_docs +
    \c INHERIT_DOCS
    + \addindex INHERIT_DOCS + If the \c INHERIT_DOCS tag is set to \c YES (the default) then an undocumented + member inherits the documentation from any documented member that it + reimplements. + +\anchor cfg_inline_info +
    INLINE_INFO
    + If the \c INLINE_INFO tag is set to \c YES (the default) then a tag [inline] + is inserted in the documentation for inline members. +
    \subsection config_input Input related options
    +\anchor cfg_input
    \c INPUT
    \addindex INPUT The \c INPUT tag is used to specify the files and/or directories that contain @@ -206,6 +323,7 @@ Below is a list of tags that are recognized for each category. \b Notice: This tag (and only this tag) is \e required. +\anchor cfg_file_patterns
    \c FILE_PATTERNS
    \addindex FILE_PATTERNS If the value of the \c INPUT tag contains directories, you can use the @@ -214,31 +332,35 @@ Below is a list of tags that are recognized for each category. in the directories. If left blank all files are included (i.e. wildcard *). +\anchor cfg_recursive
    \c RECURSIVE
    \addindex RECURSIVE The \c RECURSIVE tag can be used to specify whether or not subdirectories should be searched for input files as well. Possible values are \c YES and \c NO. If left blank \c NO is used. +\anchor cfg_exclude
    \c EXCLUDE
    \addindex EXCLUDE The \c EXCLUDE tag can be used to specify files and/or directories that should excluded from the \c INPUT source files. This way you can easily exclude a subdirectory from a directory tree whose root is specified with the \c INPUT tag. +\anchor cfg_exclude_patterns
    \c EXCLUDE_PATTERNS
    \addindex EXCLUDE_PATTERNS If the value of the INPUT tag contains directories, you can use the \c EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude certain files from those directories. - +\anchor cfg_example_path
    \c EXAMPLE_PATH
    \addindex EXAMPLE_PATH The \c EXAMPLE_PATH tag can be used to specify one or more files or directories that contain example code fragments that are included (see the \\include command in section \ref cmdinclude "\\include"). +\anchor cfg_input_filter
    \c INPUT_FILTER
    \addindex INPUT_FILTER The \c INPUT_FILTER tag can be used to specify a program that doxygen should @@ -257,17 +379,20 @@ Below is a list of tags that are recognized for each category. \subsection html_output HTML related options
    +\anchor cfg_generate_html
    \c GENERATE_HTML
    \addindex GENERATE_HTML If the \c GENERATE_HTML tag is set to \c YES (the default) Doxygen will generate HTML output +\anchor cfg_html_output
    \c HTML_OUTPUT
    \addindex HTML_OUTPUT The \c HTML_OUTPUT tag is used to specify where the HTML docs will be put. If a relative path is entered the value of \c OUTPUT_DIRECTORY will be put in front of it. If left blank `html' will be used as the default path. +\anchor cfg_html_header
    \c HTML_HEADER
    \addindex HTML_HEADER The \c HTML_HEADER tag can be used to specify a user defined HTML @@ -289,6 +414,7 @@ Below is a list of tags that are recognized for each category. Doxygen will replace them by respectively the title of the page, the current date and time, or only the current date. +\anchor cfg_html_footer
    \c HTML_FOOTER
    \addindex HTML_FOOTER The \c HTML_FOOTER tag can be used to specify a user defined HTML footer for @@ -305,6 +431,7 @@ Below is a list of tags that are recognized for each category. Doxygen will replace them by respectively the title of the page, the current date and time, or only the current date. +\anchor cfg_html_align_members
    \c HTML_ALIGN_MEMBERS
    If the \c HTML_ALIGN_MEMBERS tag is set to \c YES, the members of classes, @@ -315,6 +442,7 @@ NO a bullet list will be used. Setting this tag to NO will become obsolete in the future, since I only intent to support and test the aligned representation. +\anchor cfg_generate_htmlhelp
    \c GENERATE_HTMLHELP
    If the \c GENERATE_HTMLHELP tag is set to \c YES, @@ -337,6 +465,7 @@ and you can search for words in the documentation (which basically renders \c doxysearch obsolete on Windows). The HTML workshop also contains a viewer for compressed HTML files. +\anchor cfg_alphabetical_index
    \c ALPHABETICAL_INDEX
    If the \c ALPHABETICAL_INDEX tag is set to \c YES, an alphabetical index @@ -348,23 +477,28 @@ a lot of classes, structs, unions or interfaces. \subsection latex_output LaTeX related options
    +\anchor cfg_generate_latex
    \c GENERATE_LATEX
    \addindex GENERATE_LATEX If the \c GENERATE_LATEX tag is set to \c YES (the default) Doxygen will generate Latex output. +\anchor cfg_latex_output
    \c LATEX_OUTPUT
    \addindex LATEX_OUTPUT - The \c LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put. + The \c LATEX_OUTPUT tag is used to specify where the \f$\mbox{\LaTeX}\f$ + docs will be put. If a relative path is entered the value of \c OUTPUT_DIRECTORY will be put in front of it. If left blank `latex' will be used as the default path. +\anchor cfg_compact_latex
    \c COMPACT_LATEX
    \addindex COMPACT_LATEX If the \c COMPACT_LATEX tag is set to \c YES Doxygen generates more compact - LaTeX documents. This may be useful for small projects and may help to + \f$\mbox{\LaTeX}\f$ documents. This may be useful for small projects and may help to save some trees in general. +\anchor cfg_paper_type
    \c PAPER_TYPE
    \addindex PAPER_TYPE The PAPER_TYPE tag can be used to set the paper type that is used @@ -378,25 +512,64 @@ a lot of classes, structs, unions or interfaces. If left blank a4wide will be used. +\anchor cfg_extra_packages
    \c EXTRA_PACKAGES
    \addindex EXTRA_PACKAGES - The EXTRA_PACKAGES tag can be used to specify one or more LaTeX - package names that should be included in the LaTeX output. + The EXTRA_PACKAGES tag can be used to specify one or more \f$\mbox{\LaTeX}\f$ + package names that should be included in the \f$\mbox{\LaTeX}\f$ output. To get the times font for instance you can specify \verbatim EXTRA_PACKAGES = times \endverbatim If left blank no extra packages will be included. + +\anchor cfg_latex_header +
    \c LATEX_HEADER
    + \addindex LATEX_HEADER + The \c LATEX_HEADER tag can be used to specify a personal \f$\mbox{\LaTeX}\f$ + header for the generated latex document. The header should contain everything + until the first chapter. If it is left blank doxygen will generate a + standard header, which looks as follows for the default + configuration settings: + +\verbatim +\documentclass[a4paper]{book} +\usepackage{a4wide} +\usepackage{makeidx} +\usepackage{fancyheadings} +\usepackage{epsfig} +\usepackage{float} +\usepackage{doxygen} +\makeindex +\setcounter{tocdepth}{1} +\setlength{\footrulewidth}{0.4pt} +\begin{document} +\title{Reference Manual} +\author{Generated by Doxygen} +\date{Thu Sep 30 19:58:32 1999} +\maketitle +\pagenumbering{roman} +\clearemptydoublepage +\tableofcontents +\clearemptydoublepage +\pagenumbering{arabic} +\endverbatim + + \par Notice: + Only use a user defined header if you know what you are doing! +
    \subsection man_output Man page related options
    +\anchor cfg_generate_man
    \c GENERATE_MAN
    \addindex GENERATE_MAN If the \c GENERATE_MAN tag is set to \c YES (the default) Doxygen will generate man pages for classes and files. +\anchor cfg_man_output
    \c MAN_OUTPUT
    \addindex MAN_OUTPUT The \c MAN_OUTPUT tag is used to specify where the man pages will be put. @@ -405,6 +578,7 @@ EXTRA_PACKAGES = times A directory man3 will be created inside the directory specified by \c MAN_OUTPUT. +\anchor cfg_man_extension
    \c MAN_EXTENSION
    \addindex MAX_EXTENSION The MAN_EXTENSION tag determines the extension that is added to @@ -414,29 +588,34 @@ EXTRA_PACKAGES = times \subsection config_prepro Preprocessor related options
    +\anchor cfg_enable_preprocessing
    \c ENABLE_PREPROCESSING
    \addindex ENABLE_PREPROCESSING If the \c ENABLE_PREPROCESSING tag is set to \c YES (the default) Doxygen will evaluate all C-preprocessor directives found in the sources and include files. +\anchor cfg_macro_expansion
    \c MACRO_EXPANSION
    \addindex MACRO_EXPANSION If the \c MACRO_EXPANSION tag is set to \c YES Doxygen will expand all macro names in the source code. If set to \c NO (the default) only conditional compilation will be performed. +\anchor cfg_search_includes
    \c SEARCH_INCLUDES
    \addindex SEARCH_INCLUDES If the \c SEARCH_INCLUDES tag is set to \c YES (the default) the includes files in the \c INCLUDE_PATH (see below) will be search if a \#include is found. +\anchor cfg_include_path
    \c INCLUDE_PATH
    \addindex INCLUDE_PATH The \c INCLUDE_PATH tag can be used to specify one or more directories that contain include files that are not input files but should be processed by the preprocessor. +\anchor cfg_predefined
    \c PREDEFINED
    \addindex PREDEFINED The \c PREDEFINED tag can be used to specify one or more macro names that @@ -445,6 +624,7 @@ EXTRA_PACKAGES = times name or name=definition (no spaces). If the definition and the = are omitted =1 is assumed. +\anchor cfg_expand_only_predef
    \c EXPAND_ONLY_PREDEF
    \addindex EXPAND_ONLY_PREDEF If the \c EXPAND_ONLY_PREDEF and \c MACRO_EXPANSION tags are both set to YES @@ -456,6 +636,7 @@ EXTRA_PACKAGES = times \subsection config_extref External reference options
    +\anchor cfg_tagfiles
    \c TAGFILES
    \addindex TAGFILES The \c TAGFILES tag can be used to specify one or more tagfiles. @@ -467,6 +648,7 @@ EXTRA_PACKAGES = times in the directory in which doxygen is run, you must also specify the path to the tagfile here. +\anchor cfg_generate_tagfile
    \c GENERATE_TAGFILE
    \addindex GENERATE_TAGFILE When a file name is specified after \c GENERATE_TAGFILE, doxygen will create @@ -474,12 +656,14 @@ EXTRA_PACKAGES = times See section \ref doxytag_usage for more information about the usage of tag files. +\anchor cfg_allexternals
    \c ALLEXTERNALS
    \addindex ALLEXTERNALS if the \c ALLEXTERNALS tag is set to \c YES all external class will be listed in the class index. If set to \c NO only the inherited external classes will be listed. +\anchor cfg_perl_path
    \c PERL_PATH
    \addindex PERL_PATH The \c PERL_PATH should be the absolute path and name of the perl script @@ -489,6 +673,7 @@ EXTRA_PACKAGES = times \subsection config_search Search engine options
    +\anchor cfg_searchengine
    \c SEARCHENGINE
    \addindex SEARCHENGINE The \c SEARCHENGINE tag specifies whether or not a @@ -496,18 +681,21 @@ EXTRA_PACKAGES = times If set to \c NO or left blank, the values of all other tags in this section will be ignored. +\anchor cfg_cgi_name
    \c CGI_NAME
    \addindex CGI_NAME The \c CGI_NAME tag should be the name of the CGI script that starts the search engine (doxysearch) with the correct parameters. A script with this name will be generated by doxygen. +\anchor cfg_cgi_url
    \c CGI_URL
    \addindex CGI_URL The \c CGI_URL tag should be the absolute URL to the directory where the cgi binaries are located. See the documentation of your http daemon for details. +\anchor cfg_doc_url
    \c DOC_URL
    \addindex DOC_URL The \c DOC_URL tag should be the absolute URL to the directory where the @@ -515,17 +703,20 @@ EXTRA_PACKAGES = times documentation, with file:// prepended to it, will be used. This is correct for local viewing only. +\anchor cfg_doc_abspath
    \c DOC_ABSPATH
    \addindex DOC_ABSPATH The \c DOC_ABSPATH tag should be the absolute path to the directory where the documentation is located. If left blank the directory on the local machine will be used. +\anchor cfg_bin_abspath
    \c BIN_ABSPATH
    \addindex BIN_ABSPATH The \c BIN_ABSPATH tag must point to the directory where the doxysearch binary is installed. +\anchor cfg_ext_doc_paths
    \c EXT_DOC_PATHS
    \addindex EXT_DOC_PATHS The \c EXT_DOC_PATHS tag can be used to specify one or more paths to diff --git a/doc/doxygen.sty b/doc/doxygen.sty index 33835f0..5e53104 100644 --- a/doc/doxygen.sty +++ b/doc/doxygen.sty @@ -1,3 +1,16 @@ +% +% $Id$ +% +% Copyright (C) 1997-1999 by Dimitri van Heesch. +% +% Permission to use, copy, modify, and distribute this software and its +% documentation under the terms of the GNU General Public License is hereby +% granted. No representations are made about the suitability of this software +% for any purpose. It is provided "as is" without express or implied warranty. +% See the GNU General Public License for more details. +% +% All output generated with Doxygen is not covered by this license. + \NeedsTeXFormat{LaTeX2e} \ProvidesPackage{doxygen} \RequirePackage{calc} diff --git a/doc/doxygen_manual.tex b/doc/doxygen_manual.tex index bb8d599..01223c4 100644 --- a/doc/doxygen_manual.tex +++ b/doc/doxygen_manual.tex @@ -1,10 +1,29 @@ -\documentclass[a4paper]{article} +% +% $Id$ +% +% Copyright (C) 1997-1999 by Dimitri van Heesch. +% +% Permission to use, copy, modify, and distribute this software and its +% documentation under the terms of the GNU General Public License is hereby +% granted. No representations are made about the suitability of this software +% for any purpose. It is provided "as is" without express or implied warranty. +% See the GNU General Public License for more details. +% +% All output generated with Doxygen is not covered by this license. + +\documentclass[a4paper,ps2pdf]{article} \usepackage{a4wide} \usepackage{makeidx} \usepackage{fancyheadings} \usepackage{epsf} \usepackage{doxygen} \usepackage{multicol} +\usepackage{times} +\usepackage[backref=true, + pagebackref=true, + colorlinks=true, + linkcolor=blue + ]{hyperref} \makeindex \setcounter{tocdepth}{1} \setlength{\footrulewidth}{0.4pt} @@ -35,6 +54,7 @@ Written by Dimitri van Heesch\\[2ex] \input{doxytag_usage} \input{doxysearch_usage} \input{installdox_usage} +\input{output} \input{autolink} \input{config} \input{commands} diff --git a/doc/doxygen_usage.doc b/doc/doxygen_usage.doc index e6fee75..b9f98b3 100644 --- a/doc/doxygen_usage.doc +++ b/doc/doxygen_usage.doc @@ -41,7 +41,11 @@ doxygen \endverbatim -If you also want a search engine to be generated, you should look +The \c -s option is optional and can be used suppress the description that +doxygen normally generates for each tag. Try to use this option if you send +me configuration files! + +If you also want to use the search engine, you should look at section \ref doxysearch_usage. */ diff --git a/doc/faq.doc b/doc/faq.doc index c730289..3d936fe 100644 --- a/doc/faq.doc +++ b/doc/faq.doc @@ -18,12 +18,19 @@
    1. How do get information on the index page in HTML?

      -There is no real support for title pages at the moment. But you can -override the default index page, by using the following comment block: +You should use the \\mainpage command inside a comment block like this: \verbatim -/*! \page index My Personal Index Page +/*! \mainpage My Personal Index Page * - * This is my index personal index page. + * \section intro Introduction + * + * This is the introduction. + * + * \section install Installation + * + * \subsection step1 Step 1: Opening the box + * + * etc... */ \endverbatim @@ -44,6 +51,11 @@ around the blocks that should be hidden and put: \endverbatim in the config file then all blocks should be skipped by Doxygen as long as PREPROCESSING = YES. + +

    2. How can I make doxygen ignore nasty macro's? + +Look at section \ref preprocessing for the answer. +
    */ diff --git a/doc/index.doc b/doc/index.doc index 7a321db..dc12600 100644 --- a/doc/index.doc +++ b/doc/index.doc @@ -41,7 +41,8 @@ All output generated by Doxygen is not covered by this license. Doxygen is a documentation system for C and C++. It can generate an on-line class browser (in HTML) and/or an off-line reference manual (in \f$\mbox{\LaTeX}\f$) from a set -of documented source files. The documentation is extracted directly from the +of documented source files. There is also some support for generating +man pages. The documentation is extracted directly from the sources. Doxygen is developed on a Linux platform, but it runs on most other UNIX flavors as well. An executable for Windows 95/NT is also available. @@ -78,6 +79,8 @@ The second part forms a reference manual:
  • Section \ref doxysearch_usage shows how to use the \c doxysearch program.
  • Section \ref installdox_usage shows how to use the \c installdox script that is generated by Doxygen if you use tag files. +
  • Section \ref output shows how to generate the various output formats + supported by Doxygen.
  • Section \ref autolink shows how to put links to files, classes, and members in the documentation.
  • Section \ref config shows how to fine-tune doxygen, so it @@ -177,6 +180,8 @@ Matthias Baas, Walter Mueller, William van Dieten, Joshua Jensen, +Patrick Aberts, +Jacques Tremblay, and many others for suggestions, patches and bug reports. */ diff --git a/doc/language.doc b/doc/language.doc index f05dce3..2440a08 100644 --- a/doc/language.doc +++ b/doc/language.doc @@ -152,6 +152,31 @@ Here is a list of the languages and their current maintainers: + Finnish + + + Olli Korhonen + + + + Olli.Korhonen@ccc.fi + + + + + Russian + + + Vladimir Vodolazkiy + + + + voldemarus@geocities.com + + + + + Dutch @@ -192,6 +217,10 @@ Here is a list of the languages and their current maintainers: \hline Spanish & Francisco Oltra Thennet & {\tt foltra@puc.cl} \\ \hline + Finish & Olli Korhonen & {\tt Olli.Korhonen@ccc.fi} \\ + \hline + Russian & Vladimir Vodolazkiy & {\tt voldemarus@geocities.com} \\ + \hline Dutch & Dimitri van Heesch & {\tt dimitri@stack.nl} \\ \hline \end{tabular} diff --git a/doc/output.doc b/doc/output.doc new file mode 100644 index 0000000..1e8da9e --- /dev/null +++ b/doc/output.doc @@ -0,0 +1,48 @@ +/****************************************************************************** + * + * $Id$ + * + * Copyright (C) 1997-1999 by Dimitri van Heesch. + * + * Permission to use, copy, modify, and distribute this software and its + * documentation under the terms of the GNU General Public License is hereby + * granted. No representations are made about the suitability of this software + * for any purpose. It is provided "as is" without express or implied warranty. + * See the GNU General Public License for more details. + * + * All output generated with Doxygen is not covered by this license. + * + */ +/*! \page output.html + +\section output Output Formats + +\addindex output formats + +The following output formats are \e directly supported by doxygen: +
    +
    HTML +
    Generated if GENERATE_HTML is set to YES in the configuration file. +
    \f$\mbox{\LaTeX}\f$ +
    Generated if GENERATE_LATEX is set to YES in the configuration file. +
    Man pages +
    Generated if GENERATE_MAN is set to YES in the configuration file. +
    + +The following output formats are \e indirectly supported by doxygen: +
    +
    Compressed HTML (a.k.a. Windows 98 help) +
    Generated by Microsoft's HTML Help workshop from the HTML output if + \c GENERATE_HTMLHELP is set to \c YES. +
    Postscript +
    Generated from the \f$\mbox{\LaTeX}\f$ output by + running make ps in the output directory. + For the best results \c PDF_HYPERLINKS should be set to \c NO. +
    PDF\htmlonly    \endhtmlonly +
    Generated from the \f$\mbox{\LaTeX}\f$ output by + running make pdf in the output directory. + In order to get hyperlinks in the pdf file, + \c PDF_HYPERLINKS should be set to \c YES. +
    + +*/ diff --git a/doc/starting.doc b/doc/starting.doc index bbb23bd..e89f717 100644 --- a/doc/starting.doc +++ b/doc/starting.doc @@ -203,7 +203,7 @@ The one-line comments should contain a brief description, whereas the multi-line comment blocks contain a more detailed description. The brief descriptions are included in the member overview of a class, namespace or file and are printed using a small italic font -(this description can be omitted by setting \c BRIEF_MEMBER_DESC to \c NO in +(this description can be omitted by setting \c BRIEF_STDMETHOD_DESC to \c NO in the config file). By default the brief descriptions are also the first sentence of the detailed description (this can be changed by setting the \c REPEAT_BRIEF tag to \c NO). @@ -443,7 +443,7 @@ after preprocessing becomes: \endverbatim Notice that doxygen will now expand \e all macro definitions -(recursively if needed). This is often too much, therefore doxygen also +(recursively if needed). This is often too much. Therefore, doxygen also allows you to expand only those defines that you explicitly specify. For this you have to set the \c EXPAND_ONLY_PREDEF tag to \c YES and specify the macro definitions after the \c PREDEFINED tag. @@ -462,9 +462,9 @@ of an abstract base class called \c IUnknown: /*! The IUnknown interface */ DECLARE_INTERFACE(IUnknown) { - MEMBER(HRESULT,QueryInterface) (THIS_ REFIID iid, void **ppv) PURE; - MEMBER(ULONG,AddRef) (THIS) PURE; - MEMBER(ULONG,Release) (THIS) PURE; + STDMETHOD(HRESULT,QueryInterface) (THIS_ REFIID iid, void **ppv) PURE; + STDMETHOD(ULONG,AddRef) (THIS) PURE; + STDMETHOD(ULONG,Release) (THIS) PURE; }; \endverbatim @@ -479,7 +479,7 @@ ENABLE_PREPROCESSING = YES MACRO_EXPANSION = YES EXPAND_ONLY_PREDEF = YES PREDEFINED = "DECLARE_INTERFACE(name)=class name" \ - "MEMBER(result,name)=virtual result name" \ + "STDMETHOD(result,name)=virtual result name" \ "PURE= = 0" \ THIS_= \ THIS= \ diff --git a/doc/trouble.doc b/doc/trouble.doc index 5f130ec..f02914b 100644 --- a/doc/trouble.doc +++ b/doc/trouble.doc @@ -48,8 +48,8 @@ int *(a[20]); \endverbatim then doxygen will remove the braces and correctly parse the result. -
  • Not all names in code fragments that are include in the documentation - are replaced by links (for instance when using SOURCE_BROWSER = YES). +
  • Not all names in code fragments that are included in the documentation + are replaced by links (for instance when using \c SOURCE_BROWSER = \c YES). For a part this is because the code parser isn't smart enough at the moment. I'll try to improve this in the future. But even with these improvements not everthing can be properly linked to the corresponding diff --git a/examples/Makefile.in b/examples/Makefile.in index fcf7c83..5bff80e 100644 --- a/examples/Makefile.in +++ b/examples/Makefile.in @@ -75,7 +75,7 @@ autolink/html/index.html: autolink.cpp autolink.cfg tag/html/index.html: tag.cpp tag.cfg $(DOXYGEN)/bin/doxygen tag.cfg - sed -e "1,1s.perl.$(PERL).g" tag/html/installdox >tag/html/installdox.perl + sed -e "1,1s#perl#$(PERL)#g" tag/html/installdox >tag/html/installdox.perl cd tag/html ; $(PERL) installdox.perl -lexample.tag@../../example/html restypedef/html/index.html: restypedef.cpp restypedef.cfg diff --git a/src/classdef.cpp b/src/classdef.cpp index 5d7c980..457a06b 100644 --- a/src/classdef.cpp +++ b/src/classdef.cpp @@ -232,11 +232,11 @@ void ClassDef::writeDocumentation(OutputList &ol) } pageTitle+=pageType+" Reference"; startFile(ol,fileName,pageTitle); - startTitle(ol); + startTitle(ol,getOutputFileBase()); //ol.docify(name()+" "+pageType.right(pageType.length()-1)+" "); //parseText(ol,theTranslator->trReference()); parseText(ol,theTranslator->trCompoundReference(name(),compType)); - endTitle(ol,name()); + endTitle(ol,getOutputFileBase(),name()); // write brief description OutputList briefOutput(&ol); @@ -694,9 +694,9 @@ void ClassDef::writeMemberList(OutputList &ol) // do not generate Latex output ol.disableAllBut(OutputGenerator::Html); startFile(ol,memListFileName,theTranslator->trMemberList()); - startTitle(ol); + startTitle(ol,0); parseText(ol,name()+" "+theTranslator->trMemberList()); - endTitle(ol,0); + endTitle(ol,0,0); parseText(ol,theTranslator->trThisIsTheListOfAllMembers()); ol.writeObjectLink(getReference(),fileName,0,name()); parseText(ol,theTranslator->trIncludingInheritedMembers()); @@ -746,7 +746,8 @@ void ClassDef::writeMemberList(OutputList &ol) ol.writeListItem(); ol.writeObjectLink(cd->getReference(),cd->getOutputFileBase(), md->anchor(),name); - if ( md->isFunction() || md->isSignal() || md->isSlot() ) + if ( md->isFunction() || md->isSignal() || md->isSlot() || + (md->isFriend() && md->argsString())) ol.docify(md->argsString()); else if (md->isEnumerate()) parseText(ol," "+theTranslator->trEnumName()); @@ -786,7 +787,8 @@ void ClassDef::writeMemberList(OutputList &ol) memberWritten=TRUE; } if ((protect!=Public || md->isStatic() || virt!=Normal || - md->isFriend() || md->isRelated() + md->isFriend() || md->isRelated() || + (md->isInline() && Config::inlineInfoFlag) ) && memberWritten) { @@ -797,6 +799,8 @@ void ClassDef::writeMemberList(OutputList &ol) else if (md->isRelated()) sl.append("related"); else { + if (Config::inlineInfoFlag && md->isInline()) + sl.append("inline"); if (protect==Protected) sl.append("protected"); else if (protect==Private) sl.append("private"); if (virt==Virtual) sl.append("virtual"); @@ -831,11 +835,11 @@ void ClassDef::writeIncludeFile(OutputList &ol) //printf("incFile=%s\n",incFile->absFilePath().data()); ol.disableAllBut(OutputGenerator::Html); startFile(ol,fileName+"-include",name()+" Include File"); - startTitle(ol); + startTitle(ol,0); QCString n=incName.copy(); if (incName.isNull()) n=incFile->name(); parseText(ol,n); - endTitle(ol,0); + endTitle(ol,0,0); parseText(ol,theTranslator->trVerbatimText(incFile->name())); ol.writeRuler(); ol.startCodeFragment(); @@ -992,15 +996,25 @@ bool ClassDef::hasNonReferenceSuperClass() // htmlHelp->decContentsDepth(); //} -void ClassDef::writeDeclaration(OutputList &ol) +void ClassDef::writeDeclaration(OutputList &ol,MemberDef *md) { //ol.insertMemberAlign(); + //printf("ClassName=`%s'\n",name().data()); switch(compType) { - case Class: ol.docify("class {"); break; - case Struct: ol.docify("struct {"); break; - default: ol.docify("union {"); break; + case Class: ol.docify("class"); break; + case Struct: ol.docify("struct"); break; + default: ol.docify("union"); break; } + int ri=name().findRev("::"); + if (ri==-1) ri=name().length(); + QCString cn=name().right(name().length()-ri-2); + if (!cn.isEmpty() && cn.at(0)!='@' && md) + { + ol.docify(" "); + ol.writeObjectLink(0,0,md->anchor(),cn); + } + ol.docify(" {"); ol.endMemberItem(FALSE,0,0,FALSE); // TODO: pass correct group parameters // insert members of this class diff --git a/src/classdef.h b/src/classdef.h index ed2aa9d..afdcffb 100644 --- a/src/classdef.h +++ b/src/classdef.h @@ -39,6 +39,7 @@ class BaseClassList; class MemberInfoList; class MemberInfoDict; class NamespaceDef; +class MemberDef; class ClassDef : public Definition { @@ -76,7 +77,7 @@ class ClassDef : public Definition void writeMemberList(OutputList &ol); void writeIncludeFile(OutputList &ol); //void writeMembersToContents(); - void writeDeclaration(OutputList &ol); + void writeDeclaration(OutputList &ol,MemberDef *md); bool addExample(const char *anchor,const char *name, const char *file); bool hasExamples(); //void writeExample(OutputList &ol); @@ -84,9 +85,9 @@ class ClassDef : public Definition Protection protection() const { return prot; } /*! a link to this class is possible within this project */ bool isLinkableInProject() - { int i = name().findRev("::"); - if (i==-1) i=0; else i+=2; - return !name().isEmpty() && name().at(i)!='@' && + { //int i = name().findRev("::"); + //if (i==-1) i=0; else i+=2; + return !name().isEmpty() && name().find('@')==-1 && (prot!=Private || Config::extractPrivateFlag) && hasDocumentation() && !isReference(); } @@ -167,6 +168,7 @@ struct BaseClassDef class BaseClassList : public QList { public: + ~BaseClassList() {} int compareItems(GCI item1,GCI item2) { ClassDef *c1=((BaseClassDef *)item1)->classDef; diff --git a/src/code.l b/src/code.l index 962b328..2a60f6c 100644 --- a/src/code.l +++ b/src/code.l @@ -213,7 +213,10 @@ static bool getLink(const char *className, // exampleFile.data()); if (md->addExample(anchor,exampleName,exampleFile)) { + bool latexEnabled = result.isEnabled(OutputGenerator::Latex); + if (latexEnabled) result.disable(OutputGenerator::Latex); result.writeAnchor(anchor); + if (latexEnabled) result.enable(OutputGenerator::Latex); anchorCount++; } } @@ -222,6 +225,7 @@ static bool getLink(const char *className, if (d) { + //printf("d->getOutputBase()=`%s' name=`%s'\n",d->getOutputFileBase().data(),md->name().data()); result.writeCodeLink(d->getReference(),d->getOutputFileBase(), md->anchor(),memberName); return TRUE; @@ -384,7 +388,7 @@ ID [a-z_A-Z][a-z_A-Z0-9]* if ((fd=findFileDef(&inputNameDict,yytext,ambig)) && fd->isLinkable()) { - code->writeCodeLink(0,fd->getOutputFileBase(),0,yytext); + code->writeCodeLink(fd->getReference(),fd->getOutputFileBase(),0,yytext); } else { diff --git a/src/config.h b/src/config.h index 9d04582..2bc8ce5 100644 --- a/src/config.h +++ b/src/config.h @@ -39,6 +39,7 @@ struct Config static QCString manOutputDir; // the directory to put the man pages static QCString outputLanguage; // the output language static QCString headerFile; // the name of the personal HTML header + static QCString latexHeaderFile; // the name of the personal LaTeX header static QCString footerFile; // the name of the personal HTML footer static QCString cgiName; // the name of the CGI binary static QCString cgiURL; // the absolute URL to the CGI binary @@ -91,6 +92,9 @@ struct Config static bool autoBriefFlag; // javadoc comments behaves as Qt comments. static bool htmlHelpFlag; // should html help files be generated? static bool alphaIndexFlag; // should an alphabetical index be generated? + static bool pdfHyperFlag; // generate latex prepared creating hyperlinked pdfs. + static bool inheritDocsFlag; // inheritance of documentation enabled? + static bool inlineInfoFlag; // show info about inline members? }; #endif diff --git a/src/config.l b/src/config.l index 515de4d..1e420c2 100644 --- a/src/config.l +++ b/src/config.l @@ -71,6 +71,7 @@ QCString Config::latexOutputDir; QCString Config::manOutputDir; QCString Config::outputLanguage; QCString Config::headerFile; +QCString Config::latexHeaderFile; QCString Config::footerFile; QCString Config::cgiName; QCString Config::cgiURL; @@ -111,6 +112,7 @@ bool Config::caseSensitiveNames = FALSE; bool Config::includeSourceFlag = FALSE; bool Config::htmlHelpFlag = FALSE; bool Config::alphaIndexFlag = FALSE; +bool Config::pdfHyperFlag = FALSE; bool Config::autoBriefFlag = TRUE; bool Config::warningFlag = TRUE; bool Config::generateHtml = TRUE; @@ -123,6 +125,8 @@ bool Config::classDiagramFlag = TRUE; bool Config::repeatBriefFlag = TRUE; bool Config::verbatimHeaderFlag = TRUE; bool Config::htmlAlignMemberFlag = TRUE; +bool Config::inheritDocsFlag = TRUE; +bool Config::inlineInfoFlag = TRUE; /* ----------------------------------------------------------------- * @@ -180,6 +184,7 @@ static int yyread(char *buf,int max_size) "LATEX_OUTPUT"[ \t]*"=" { BEGIN(GetString); s=&Config::latexOutputDir; } "HTML_HEADER"[ \t]*"=" { BEGIN(GetString); s=&Config::headerFile; } "HTML_FOOTER"[ \t]*"=" { BEGIN(GetString); s=&Config::footerFile; } +"LATEX_HEADER"[ \t]*"=" { BEGIN(GetString); s=&Config::latexHeaderFile; } "CGI_NAME"[ \t]*"=" { BEGIN(GetString); s=&Config::cgiName; } "CGI_URL"[ \t]*"=" { BEGIN(GetString); s=&Config::cgiURL; } "DOC_URL"[ \t]*"=" { BEGIN(GetString); s=&Config::docURL; } @@ -232,6 +237,9 @@ static int yyread(char *buf,int max_size) "JAVADOC_AUTOBRIEF"[ \t]*"=" { BEGIN(GetBool); b=&Config::autoBriefFlag; } "GENERATE_HTMLHELP"[ \t]*"=" { BEGIN(GetBool); b=&Config::htmlHelpFlag; } "ALPHABETICAL_INDEX"[ \t]*"=" { BEGIN(GetBool); b=&Config::alphaIndexFlag; } +"PDF_HYPERLINKS"[ \t]*"=" { BEGIN(GetBool); b=&Config::pdfHyperFlag; } +"INHERIT_DOCS"[ \t]*"=" { BEGIN(GetBool); b=&Config::inheritDocsFlag; } +"INLINE_INFO"[ \t]*"=" { BEGIN(GetBool); b=&Config::inlineInfoFlag; } [a-z_A-Z0-9]+ { err("Warning: ignoring unknown tag `%s' at line %d\n",yytext,yyLineNr); } \n { yyLineNr++; BEGIN(Start); } \n { @@ -375,6 +383,7 @@ void Config::init() Config::manOutputDir ="man"; Config::outputLanguage = "English"; Config::headerFile.resize(0); + Config::latexHeaderFile.resize(0); Config::footerFile.resize(0); Config::cgiName = "search.cgi"; Config::cgiURL.resize(0); @@ -415,6 +424,7 @@ void Config::init() Config::includeSourceFlag = FALSE; Config::htmlHelpFlag = FALSE; Config::alphaIndexFlag = FALSE; + Config::pdfHyperFlag = FALSE; Config::warningFlag = TRUE; Config::generateHtml = TRUE; Config::generateLatex = TRUE; @@ -427,6 +437,8 @@ void Config::init() Config::verbatimHeaderFlag = TRUE; Config::htmlAlignMemberFlag = TRUE; Config::autoBriefFlag = TRUE; + Config::inheritDocsFlag = TRUE; + Config::inlineInfoFlag = TRUE; } void writeTemplateConfig(QFile *f,bool sl) @@ -636,7 +648,7 @@ void writeTemplateConfig(QFile *f,bool sl) if (!sl) { t << "\n"; - t << "# If the JAVADOC_NO_AUTOBRIEF is set to YES (the default) then Doxygen\n"; + t << "# If the JAVADOC_AUTOBRIEF tag is set to YES (the default) then Doxygen\n"; t << "# will interpret the first line (until the first dot) of a JavaDoc-style\n"; t << "# comment as the brief description. If set to NO, the Javadoc-style will\n"; t << "# behave just like the Qt-style comments.\n"; @@ -646,6 +658,23 @@ void writeTemplateConfig(QFile *f,bool sl) if (!sl) { t << "\n"; + t << "# if the INHERIT_DOCS tag is set to YES (the default) then an undocumented\n"; + t << "# member inherits the documentation from any documented member that it\n"; + t << "# reimplements.\n"; + t << "\n"; + } + t << "INHERIT_DOCS = YES\n"; + if (!sl) + { + t << "\n"; + t << "# if the INLINE_INFO tag is set to YES (the default) then a tag [inline]\n"; + t << "# is inserted in the documentation for inline members.\n"; + t << "\n"; + } + t << "INLINE_INFO = YES\n"; + if (!sl) + { + t << "\n"; } t << "#---------------------------------------------------------------------------\n"; t << "# configuration options related to the input files\n"; @@ -841,6 +870,26 @@ void writeTemplateConfig(QFile *f,bool sl) if (!sl) { t << "\n"; + t << "# The LATEX_HEADER tag can be used to specify a personal LaTeX header for \n"; + t << "# the generated latex document. The header should contain everything until\n"; + t << "# the first chapter. If it is left blank doxygen will generate a \n"; + t << "# standard header. Notice: only use this tag if you know what you are doing!\n"; + t << "\n"; + } + t << "LATEX_HEADER =\n"; + if (!sl) + { + t << "\n"; + t << "# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated\n"; + t << "# is prepared for conversion to pdf (using ps2pdf). The pdf file will\n"; + t << "# contain links (just like the HTML output) instead of page references\n"; + t << "# This makes the output suitable for online browsing using a pdf viewer.\n"; + t << "\n"; + } + t << "PDF_HYPERLINKS = NO\n"; + if (!sl) + { + t << "\n"; } t << "#---------------------------------------------------------------------------\n"; t << "# configuration options related to the man page output\n"; @@ -1177,6 +1226,17 @@ void checkConfig() exit(1); } } + // Test to see if LaTeX header is valid + if (Config::latexHeaderFile.length()>0) + { + QFileInfo fi(Config::latexHeaderFile); + if (!fi.exists()) + { + err("Error: tag LATEX_HEADER: header file `%s' " + "does not exist\n",Config::latexHeaderFile.data()); + exit(1); + } + } // check include path char *s=Config::includePath.first(); while (s) diff --git a/src/declinfo.l b/src/declinfo.l index df5c2ea..c071192 100644 --- a/src/declinfo.l +++ b/src/declinfo.l @@ -171,11 +171,11 @@ ID [a-z_A-Z][a-z_A-Z0-9]*