From 89f2a610a5ca245dcc19dc7e95b49ff664c3b66a Mon Sep 17 00:00:00 2001 From: Dimitri van Heesch Date: Sun, 15 Jul 2001 17:11:26 +0000 Subject: Release-1.2.8-20010715 --- INSTALL | 4 +- README | 4 +- VERSION | 2 +- addon/doxywizard/doxywizard.pro.in | 2 + doc/config.doc | 35 +- doc/diagrams.doc | 6 +- doc/faq.doc | 16 + doc/install.doc | 45 ++- doc/language.doc | 229 ++++++++++-- doc/language.tpl | 221 ++++++++++-- doc/lists.doc | 4 +- doc/maintainers.txt | 2 +- doc/preprocessing.doc | 2 +- doc/starting.doc | 2 +- doc/translator.pl | 7 +- make.bat | 23 +- packages/rpm/doxygen.spec | 2 +- src/classdef.cpp | 281 ++++++++++++--- src/classdef.h | 58 ++- src/code.l | 2 +- src/config.h | 2 +- src/config.l | 2 +- src/constexp.h | 8 +- src/constexp.l | 36 +- src/constexp.y | 6 +- src/cppvalue.cpp | 16 +- src/cppvalue.h | 14 +- src/declinfo.l | 2 +- src/defargs.l | 2 +- src/definition.cpp | 6 +- src/definition.h | 6 +- src/doc.l | 4 +- src/dot.cpp | 158 +++++---- src/dot.h | 2 + src/doxygen.cpp | 707 +++++++++++++++++++++++++++++++------ src/doxygen.h | 2 +- src/filedef.h | 4 +- src/ftvhelp.cpp | 5 +- src/groupdef.h | 4 +- src/htmlgen.cpp | 29 +- src/index.cpp | 66 +++- src/libdoxygen.pro.in | 1 + src/memberdef.cpp | 70 +++- src/memberdef.h | 12 +- src/namespacedef.h | 4 +- src/packagedef.h | 4 +- src/pre.l | 4 +- src/rtfgen.cpp | 4 +- src/scanner.l | 14 +- src/tagreader.cpp | 62 +++- src/translator.cpp | 84 +++++ src/translator.h | 81 +---- src/translator_en.h | 33 +- src/translator_fr.h | 287 ++++++++++++++- src/util.cpp | 70 +++- src/util.h | 2 + wintools/make.pl | 1 + 57 files changed, 2211 insertions(+), 550 deletions(-) create mode 100644 src/translator.cpp diff --git a/INSTALL b/INSTALL index 8d0aea4..65fc18a 100644 --- a/INSTALL +++ b/INSTALL @@ -1,6 +1,6 @@ -DOXYGEN Version 1.2.8-20010617 +DOXYGEN Version 1.2.8-20010715 Please read the installation section of the manual for instructions. -------- -Dimitri van Heesch (17 June 2001) +Dimitri van Heesch (15 July 2001) diff --git a/README b/README index c1ad955..6f75adb 100644 --- a/README +++ b/README @@ -1,4 +1,4 @@ -DOXYGEN Version 1.2.8_20010617 +DOXYGEN Version 1.2.8_20010715 Please read INSTALL for compilation instructions. @@ -17,4 +17,4 @@ to subscribe to the lists or to visit the archives. Enjoy, -Dimitri van Heesch (dimitri@stack.nl) (17 June 2001) +Dimitri van Heesch (dimitri@stack.nl) (15 July 2001) diff --git a/VERSION b/VERSION index c80d976..42b337b 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -1.2.8-20010617 +1.2.8-20010715 diff --git a/addon/doxywizard/doxywizard.pro.in b/addon/doxywizard/doxywizard.pro.in index 53847c2..3e96901 100644 --- a/addon/doxywizard/doxywizard.pro.in +++ b/addon/doxywizard/doxywizard.pro.in @@ -50,4 +50,6 @@ MOC_DIR = moc # extra C++ compiler options TMAKE_CXXFLAGS += -DDOXYWIZARD +win32:TMAKE_CXXFLAGS += -I. -DQT_DLL +win32:TMAKE_LIBS = $(QTDIR)\lib\qtmain.lib $(QTDIR)\lib\qt-mt230nc.lib user32.lib gdi32.lib comdlg32.lib imm32.lib ole32.lib uuid.lib wsock32.lib diff --git a/doc/config.doc b/doc/config.doc index 8a4a2f3..bf5bac2 100644 --- a/doc/config.doc +++ b/doc/config.doc @@ -18,13 +18,12 @@ \subsection config_format Format -A configuration file is a free-form ASCII text file with a structure that -is similar to that of a Makefile. It is parsed by \c doxygen. -The file may contain tabs and newlines for formatting purposes. -The statements in the file are case-sensitive. +A configuration file is a free-form ASCII text file with a structure +that is similar to that of a Makefile, default name \c Doxyfile. It is +parsed by \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 \# character and end at the end of the -line. +Comments begin with the \# character and end at the end of the line. The file essentially consists of a list of assignment statements. Each statement consists of a \c TAG_NAME written in capitals, @@ -905,9 +904,17 @@ EXTRA_PACKAGES = times If the \c PDF_HYPERLINKS tag is set to \c YES, the \f$\mbox{\LaTeX}\f$ that is generated is prepared for conversion to PDF (using ps2pdf). The PDF file will - contain links (just like the HTML output) instead of page references + contain links (just like the HTML output) instead of page references. This makes the output suitable for online browsing using a PDF viewer. +\anchor cfg_latex_pdflatex +
\c USE_PDFLATEX
+ \addindex LATEX_PDFLATEX + + If the \c LATEX_PDFLATEX tag is set to \c YES, doxygen will use + pdflatex to generate the PDF file directly from the \f$\mbox{\LaTeX}\f$ + files. + \anchor cfg_latex_batchmode
\c LATEX_BATCHMODE
\addindex LATEX_BATCHMODE @@ -1000,7 +1007,7 @@ EXTRA_PACKAGES = times \anchor cfg_man_links
\c MAN_LINKS
- \addindex MAN_LINKS + \addindex MAN_LINKs If the \c MAN_LINKS tag is set to \c YES and doxygen generates man output, then it will generate one additional man file for each entity documented in the real man page(s). These additional files only source the real man page, @@ -1054,7 +1061,7 @@ EXTRA_PACKAGES = times are defined before the preprocessor is started (similar to the -D option of gcc). The argument of the tag is a list of macros of the form: name or name=definition (no spaces). - If the definition and the = are omitted =1 is assumed. + If the definition and the "=" are omitted, "=1" is assumed. \anchor cfg_expand_as_defined
\c EXPAND_AS_DEFINED
@@ -1125,7 +1132,7 @@ TAGFILES = file1=loc1 "file2 = loc2" ... \addindex HAVE_DOT If you set the \c HAVE_DOT tag to \c YES then doxygen will assume the dot tool is available from the path. This tool is part of - Graphviz, a graph + Graphviz, a graph visualization toolkit from AT&T and Lucent Bell Labs. The other options in this section have no effect if this option is set to \c NO (the default) @@ -1198,6 +1205,12 @@ TAGFILES = file1=loc1 "file2 = loc2" ... generate a legend page explaining the meaning of the various boxes and arrows in the dot generated graphs. +\anchor cfg_dot_cleanup +
\c DOT_CLEANUP
+ \addindex DOT_CLEANUP + This tag can be used to ?? cleanup any mess DOT left behind? + If left blank, "NO" is assumed. + \subsection config_search Search engine options \anchor cfg_searchengine @@ -1333,7 +1346,7 @@ INCLUDE_PATH = $(QTDIR)/include RECURSIVE = YES \endverbatim -For the Qt-2.1 sources I recommand to use the following settings: +For the Qt-2.1 sources I recommend to use the following settings: \verbatim PROJECT_NAME = Qt PROJECT_NUMBER = 2.1 diff --git a/doc/diagrams.doc b/doc/diagrams.doc index a89b878..d283ed2 100644 --- a/doc/diagrams.doc +++ b/doc/diagrams.doc @@ -16,13 +16,13 @@ */ /*! \page diagrams Graphs and diagrams - Doxygen has build-in support to generate inheritance diagrams for C++ + Doxygen has built-in support to generate inheritance diagrams for C++ classes. Doxygen can use the "dot" tool from graphviz 1.5 to generate more advanced diagrams & graphs. Graphviz is an open-sourced, cross-platform graph drawing toolkit from AT&T and Lucent Bell Labs and - can be found at http://www.research.att.com/sw/tools/graphviz/ + can be found at http://www.graphviz.org/ If you have the "dot" tool available in the path, you can set \ref cfg_have_dot "HAVE_DOT" to \c YES in the configuration file to @@ -39,7 +39,7 @@
  • if \ref cfg_class_graph "CLASS_GRAPH" is set to \c YES, a graph will be generated for each documented class showing the direct and indirect inheritance relations. This disables the - generation of the build-in class inheritance diagrams. + generation of the built-in class inheritance diagrams.
  • if \ref cfg_include_graph "INCLUDE_GRAPH" is set to \c YES, an include dependency graph is generated for each documented file that includes at least one other file. This feature is currently supported for HTML and RTF diff --git a/doc/faq.doc b/doc/faq.doc index f20dfc0..4fb9a63 100644 --- a/doc/faq.doc +++ b/doc/faq.doc @@ -197,6 +197,22 @@ converted it into an empty file (with >16K of newlines). Another case where this might happen is if you have lines in your code with more than 16K characters. +
  • How did doxygen get it's name? + +Doxygen got its name from playing with the words +documentation and generator. + +\verbatim +documentation -> docs -> dox +generator -> gen +\endverbatim + +At the time I was looking into lex and yacc, where a lot of things start with +"yy", so the "y" slipped in and made things pronouncable. + +I realized later that doxygen could also be read as Dimitri's oxygen, +which could be seen as something I need to live :-) + \htmlonly diff --git a/doc/install.doc b/doc/install.doc index 2d0de5f..557df69 100644 --- a/doc/install.doc +++ b/doc/install.doc @@ -18,8 +18,8 @@ \addindex installation First go to the -download page -\latexonly({\tt http://www.stack.nl/$\sim$dimitri/doxygen/download.html})\endlatexonly +download page +\latexonly({\tt http://www.doxygen.org/download.html})\endlatexonly to get the latest distribution, if you did not have it already. This section is divided into the following subsections: @@ -37,14 +37,14 @@ This section is divided into the following subsections: If you downloaded the source distribution, you need at least the following to build the executable:
      -
    • The GNU tools +
    • The GNU tools flex, bison and make \addindex flex \addindex bison \addindex make
    • In order to generate a Makefile for your platform, you need - perl + \latexonly(see {\tt http://www.perl.com/})\endlatexonly. \addindex perl
    @@ -58,10 +58,12 @@ tools should be installed. \addindex Qt This is needed to build the GUI front-end.
  • A \f$\mbox{\LaTeX}\f$ distribution: for instance - teTeX 1.0.
    + teTeX 1.0.
    + \latexonly(see {\tt http://www.tug.org/})\endlatexonly. This is needed for generating LaTeX, Postscript, and PDF output. -
  • +
  • the Graph visualization toolkit version 1.5
    + \latexonly(see {\tt http://www.graphviz.org/})\endlatexonly. Needed for the include dependency graphs, the graphical inheritance graphs, and the collaboration graphs.
  • The ghostscript interpreter. @@ -231,7 +233,7 @@ If you are compiling for HP-UX with aCC and you get this error: \endverbatim If that does not help, try removing ce_parse.cpp and let - bison rebuilt it (this worked for me). + bison rebuild it (this worked for me). If you are compiling for Digital Unix, the same problem can be solved (according to Barnard Schmallhof) by replacing the following in @@ -239,7 +241,8 @@ ce_parse.cpp: \verbatim #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) #include \endverbatim @@ -247,7 +250,8 @@ ce_parse.cpp: \verbatim #else /* not GNU C. */ - #if (!defined (__STDC__) && defined (sparc)) || defined (__sparc__) || defined (__sparc) || defined (__sgi) || defined (__osf__) + #if (!defined (__STDC__) && defined (sparc)) || defined (__sparc__) \ + || defined (__sparc) || defined (__sgi) || defined (__osf__) #include \endverbatim @@ -261,8 +265,10 @@ ce_parse.cpp: #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) +-#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__) @@ -283,8 +289,10 @@ Compiling the \c doxygen binary went ok, but while linking doxytag lot of link errors, like these: \verbatim -QList::__vtbl /home/dimitri/doxygen/objects/SunWS_cache/CC_obj_6/6c3eO4IogMT2vrlGCQUQ.o -[Hint: try checking whether the first non-inlined, non-pure virtual function of class QList is defined] +QList::__vtbl /home/dimitri/doxygen/ +objects/SunWS_cache/CC_obj_6/6c3eO4IogMT2vrlGCQUQ.o +[Hint: try checking whether the first non-inlined, non-pure +virtual function of class QList is defined] \endverbatim These are generated because the compiler is confused about the object sharing @@ -326,6 +334,11 @@ 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. +On some platforms (such as OpenBSD) using some versions of gcc with +-O2 can lead to eating all memory during the compilation of files +such as config.cpp. As a workaround use --debug as a configure option +or omit the -O2 for the particular files in the Makefile. + \subsection install_src_windows Compiling from source on Windows Currently, I have only compiled doxygen for Windows using Microsoft's @@ -353,7 +366,7 @@ Here is what is required: variables (if you did not select to do this automatically during installation). - Borland C++ or MINGW (see http://www.mingw.org) are also supported. + Borland C++ or MINGW (see http://www.mingw.org/) are also supported.
  • Perl 5.0 or higher for Windows. This can be downloaded from: http://www.ActiveState.com/Products/ActivePerl/ @@ -439,7 +452,7 @@ Here is what is required: objects and bin manually in the root of the distribution before compiling. -
  • +
  • the Graph visualization toolkit version 1.5
    Needed for the include dependency graphs, the graphical inheritance graphs, and the collaboration graphs. diff --git a/doc/language.doc b/doc/language.doc index 2ddb450..d97ed69 100644 --- a/doc/language.doc +++ b/doc/language.doc @@ -21,9 +21,9 @@

    Support for multiple languages

    -Doxygen has support for multiple languages. This means -that the text fragments that doxygen generates can changed into languages -other than English (the default) at configuration time. +Doxygen has built-in support for multiple languages. This means +that the text fragments that doxygen generates can be produced in +languages other than English (the default) at configuration time.

    Currently (version unknown), 23 languages are supported (sorted alphabetically): @@ -34,7 +34,7 @@ Polish, Portuguese, Romanian, Russian, Slovak, Slovene, Spanish, and Swedish. The table of information related to the supported languages follows. -It is sorted by language alphabetically. The Status column +It is sorted by language alphabetically. The Status column was generated from sources and shows approximately the last version when the translator was updated.

    @@ -103,7 +103,7 @@ when the translator was updated. French Xavier Outhier xavier.outhier@NOSPAM.anfdata.cz - 1.2.0 + up-to-date German @@ -167,7 +167,7 @@ when the translator was updated. Slovak - Stanislav Kudlac + Stanislav Kudláč qwerty1@NOSPAM.pobox.sk 1.2.7 @@ -217,7 +217,7 @@ when the translator was updated. \hline Finnish & Olli Korhonen & {\tt Olli.Korhonen@ccc.fi} & 1.0.0 \\ \hline - French & Xavier Outhier & {\tt xavier.outhier@anfdata.cz} & 1.2.0 \\ + French & Xavier Outhier & {\tt xavier.outhier@anfdata.cz} & up-to-date \\ \hline German & Jens Seidel & {\tt jensseidel@users.sourceforge.net} & up-to-date \\ & Jens Breitenstein & {\tt Jens.Breitenstein@tlc.de} & \\ @@ -241,7 +241,7 @@ when the translator was updated. \hline Russian & Alexandr Chelpanov & {\tt cav@cryptopro.ru} & up-to-date \\ \hline - Slovak & Stanislav Kudlac & {\tt qwerty1@pobox.sk} & 1.2.7 \\ + Slovak & Stanislav Kudl\'{a}\v{c} & {\tt qwerty1@pobox.sk} & 1.2.7 \\ \hline Slovene & Matjaz Ostroversnik & {\tt matjaz.ostroversnik@zrs-tk.si} & 1.1.5 \\ \hline @@ -274,7 +274,7 @@ Just follow these steps: is already working on support for that language, you will be assigned as the maintainer for the language.

  • Create a copy of translator_en.h and name it - translator_.h + translator_.h I'll use xx in the rest of this document.
  • Edit language.cpp: Add a @@ -298,7 +298,8 @@ Just follow these steps:
  • In the member idLanguage() change "english" into the name of the your language (use lower case characters only). Depending on the language you may also wish to change the member functions - latexLanguageSupportCommand() and idLanguageCharset(). + latexLanguageSupportCommand(), idLanguageCharset() and others + (you will recognize them when you start the work).
  • Edit all the strings that are returned by the member functions that start with tr. Try to match punctuation and capitals! @@ -306,7 +307,7 @@ Just follow these steps: