]> https://gitweb.dealii.org/ - dealii-svn.git/commitdiff
kdoc removed
authorguido <guido@0785d39b-7218-0410-832d-ea1e28bc413d>
Thu, 26 Aug 2004 07:58:43 +0000 (07:58 +0000)
committerguido <guido@0785d39b-7218-0410-832d-ea1e28bc413d>
Thu, 26 Aug 2004 07:58:43 +0000 (07:58 +0000)
git-svn-id: https://svn.dealii.org/trunk@9583 0785d39b-7218-0410-832d-ea1e28bc413d

27 files changed:
deal.II/doc/auto/.cvsignore [deleted file]
deal.II/doc/auto/Makefile.in [deleted file]
deal.II/doc/auto/cvs-backlog/.cvsignore [deleted file]
deal.II/doc/auto/kdoc/.cvsignore [deleted file]
deal.II/doc/auto/kdoc/Makefile.in [deleted file]
deal.II/doc/auto/kdoc/base/.cvsignore [deleted file]
deal.II/doc/auto/kdoc/basic/.cvsignore [deleted file]
deal.II/doc/auto/kdoc/dof/.cvsignore [deleted file]
deal.II/doc/auto/kdoc/grid/.cvsignore [deleted file]
deal.II/doc/auto/kdoc/lac/.cvsignore [deleted file]
deal.II/doc/auto/kdoc/multigrid/.cvsignore [deleted file]
deal.II/doc/auto/kdoc/numerics/.cvsignore [deleted file]
deal.II/doc/auto/kdoc/transport/.cvsignore [deleted file]
deal.II/doc/auto/latex/.cvsignore [deleted file]
deal.II/doc/auto/latex/docxx.sty [deleted file]
deal.II/doc/auto/latex/footer.tex [deleted file]
deal.II/doc/auto/latex/header.tex [deleted file]
deal.II/doc/auto/scripts/addclasses_db.pl [deleted file]
deal.II/doc/auto/scripts/cvs2html [deleted file]
deal.II/doc/auto/scripts/index.pl [deleted file]
deal.II/doc/auto/scripts/kdoc/Ast.pm [deleted file]
deal.II/doc/auto/scripts/kdoc/kdoc [deleted file]
deal.II/doc/auto/scripts/kdoc/kdocHTML.pm [deleted file]
deal.II/doc/auto/scripts/kdoc/kdocMan.pm [deleted file]
deal.II/doc/auto/scripts/kdoc/kdocTeX.pm [deleted file]
deal.II/doc/auto/scripts/process-tex [deleted file]
deal.II/doc/auto/scripts/validate-xrefs.pl [deleted file]

diff --git a/deal.II/doc/auto/.cvsignore b/deal.II/doc/auto/.cvsignore
deleted file mode 100644 (file)
index f3c7a7c..0000000
+++ /dev/null
@@ -1 +0,0 @@
-Makefile
diff --git a/deal.II/doc/auto/Makefile.in b/deal.II/doc/auto/Makefile.in
deleted file mode 100644 (file)
index 486dca0..0000000
+++ /dev/null
@@ -1,143 +0,0 @@
-# Makefile,v 1.8 1999/04/15 17:36:14 wolf Exp
-
-
-# Let ./configure insert whether MG shall be documented
-DOCXX     = @docxx@
-
-
-# specify which are the include files that a specific documentation libary
-# depends upon
-kdoc.base     = $(shell echo ../../base/include/base/*.h)
-kdoc.lac      = $(shell echo ../../lac/include/lac/*.h)
-kdoc.grid     = $(shell echo ../../deal.II/include/grid/*.h)
-kdoc.dof      = $(shell echo ../../deal.II/include/dofs/*.h) \
-                $(shell echo ../../deal.II/include/fe/*.h)
-kdoc.numerics = $(shell echo ../../deal.II/include/numerics/*.h)
-kdoc.multigrid= $(shell echo ../../deal.II/include/multigrid/*.h)
-
-# for latex-output, we join the different libraries of the
-# deal.II library into just one file
-kdoc.dealII = $(kdoc.grid) $(kdoc.dof) $(kdoc.numerics)
-
-# include global paths and variables
-include ../../common/Make.global_options
-
-
-
-# by default: make library doc and generate an index of all names
-default: kdoc kdoc/names.html
-
-# alternatively: do the above and also generate a backlog of CVS
-# changes in the last 100 days
-all: default cvslog
-
-
-#################################################################################
-##  targets for cvslog generated HTML output    
-#################################################################################
-
-cvslog:
-       cd ../.. ; $(PERL) doc/auto/scripts/cvs2html -o doc/auto/cvs-backlog/newdeal -a -k -D 100
-
-
-
-#################################################################################
-##  targets for kdoc generated HTML output    
-#################################################################################
-
-# Make in kdoc subdirectory
-
-kdoc:
-       @cd kdoc ; $(MAKE)
-
-# Will not work for kdoc2
-
-kdoc/names.html: kdoc
-       @cd kdoc ; $(PERL) ../scripts/index.pl *.kdoc > names.html
-
-
-
-
-#################################################################################
-##  targets for DOC++ generated latex output    
-#################################################################################
-
-# generate the input file for doc++
-%.doc++: Makefile
-       @echo $(kdoc.$(subst .doc++,,$(subst latex/,,$@)))  | \
-        $(PERL) -pi -e 's# #\n#g;  s#\.\./\.\./#//\@Include: ../../../#g;' > \
-        $@
-
-
-# generate one of the latex-output files; this needs the respective
-# include file for DOC++
-#
-# delete the .doc++ files immediately again, since they are no more 
-# used and since this forces make to re-make the .tex-file each time
-# we ask for it; the right way to do so would be to use dependencies,
-# but it is hard to compute them from the '%'-sign used in the rule
-ifeq ($(DOCXX),)
-%.tex:
-       @echo ---------------------------------------------
-       @echo "Doc++ was not found at ./configure time!"
-       @echo "Can't generate printable documentation."
-       @echo ---------------------------------------------
-       false
-else
-%.tex: %.doc++
-       $(DOCXX) -p -t -u -o $@ -ep a4wide $<
-       rm $^
-endif
-
-
-# generate temporary files from the doc++-latex-output which have
-# headers and footers stripped and label names replaced by something
-# file dependent
-%.tex1: %.tex
-       cat $<                           | \
-        $(PERL) scripts/process-tex        | \
-        $(PERL) -pi -e 's/cxx\./$(basename $(notdir $@)).cxx./g;' > $@
-
-latex/deal_II_technical_reference.tex: latex/base.tex1 latex/lac.tex1 latex/dealII.tex1
-       @cat latex/header.tex                              > $@
-       @echo "\\\\chapter{Base library}"                 >> $@
-       @echo "\\\\def\\\\presentlib{base}"               >> $@
-       @cat latex/base.tex1                              >> $@
-       @echo "\\\\chapter{Linear algebra library}"       >> $@
-       @echo "\\\\def\\\\presentlib{lac}"                >> $@
-       @cat latex/lac.tex1                               >> $@
-       @echo "\\\\chapter{deal.II library}"              >> $@
-       @echo "\\\\def\\\\presentlib{dealII}"             >> $@
-       @cat latex/dealII.tex1                            >> $@
-       @cat latex/footer.tex                             >> $@
-       rm $^
-
-
-
-# generate the latex-processed files from these
-%.dvi: %.tex
-       cd latex ; latex $(notdir $<)
-       cd latex ; latex $(notdir $<)
-       -rm $(subst .tex,.log,$<)
-       -rm $(subst .tex,.aux,$<)
-       -rm $(subst .tex,.toc,$<)
-
-
-# generate postscript files from a latex output file
-%.ps: %.dvi
-       cd latex ; dvips $(notdir $<) -o $(notdir $@)
-
-
-
-
-#################################################################################
-##  administrativa
-#################################################################################
-clean:
-       -rm -f kdoc/names.html kdoc/*.kdoc kdoc/*/*.html cvs-backlog/*.html \
-               latex/base.* latex/lac.* latex/dealII.* \
-                latex/deal_II_technical_reference.* \
-               *.doc++
-
-
-.PHONY: default all kdoc $(kdoc.library-files) $(kdoc.library-files.rerun) doc++ clean
diff --git a/deal.II/doc/auto/cvs-backlog/.cvsignore b/deal.II/doc/auto/cvs-backlog/.cvsignore
deleted file mode 100644 (file)
index 2d19fc7..0000000
+++ /dev/null
@@ -1 +0,0 @@
-*.html
diff --git a/deal.II/doc/auto/kdoc/.cvsignore b/deal.II/doc/auto/kdoc/.cvsignore
deleted file mode 100644 (file)
index 13c297c..0000000
+++ /dev/null
@@ -1 +0,0 @@
-*.kdoc names.html multigrid Makefile
diff --git a/deal.II/doc/auto/kdoc/Makefile.in b/deal.II/doc/auto/kdoc/Makefile.in
deleted file mode 100644 (file)
index 93d8662..0000000
+++ /dev/null
@@ -1,109 +0,0 @@
-############################################################
-# $Id$
-############################################################
-
-D           = @DEAL2_DIR@
-multigrid   = @enablemultigrid@
-kdocdir     = @kdocdir@
-kdocversion = @kdocversion@
-
-
-include $D/common/Make.global_options
-
-ifeq ($(kdocversion),1)
-KDOCFLAGS=-I$(kdocdir) $(kdocdir)/kdoc -a -p -L $D/doc/auto/kdoc
-else
-KDOCFLAGS=-I$(kdocdir) $(kdocdir)/kdoc -a -q --private \
-          --html-logo ../../../pictures/deal.II_3.0_1.150.jpg \
-          --libdir $D/doc/auto/kdoc --name
-endif
-
-kdoc.base     = $(shell echo $D/base/include/base/*.h)
-kdoc.lac      = $(shell echo $D/lac/include/lac/*.h)
-kdoc.grid     = $(shell echo $D/deal.II/include/grid/*.h)
-kdoc.dof      = $(shell echo $D/deal.II/include/dofs/*.h) \
-                $(shell echo $D/deal.II/include/fe/*.h)
-kdoc.numerics = $(shell echo $D/deal.II/include/numerics/*.h)
-kdoc.multigrid= $(shell echo $D/deal.II/include/multigrid/*.h)
-
-
-# specify the names of the resulting doc libraries
-kdoc.library-files = base.kdoc         \
-                     lac.kdoc          \
-                     grid.kdoc         \
-                     dof.kdoc          \
-                     numerics.kdoc     \
-                     multigrid.kdoc
-
-kdoc: kdoc-installed $(kdoc.library-files)
-
-
-# check whether kdoc is already installed. if not, then try to do
-# so. also install afresh if not up-to-date with the sources
-kdoc-installed:
-       cd $(kdocdir:kdoc/bin=kdoc) ; $(MAKE)
-
-
-
-# now for the generation of the documentation of the sublibraries.
-# first let kdoc generate the whole thing, then loop over all output
-# files and cut some paths in the output to a reasonable
-# length. before everything else, make sure that kdoc is installed
-
-base.kdoc:      kdoc-installed base-html-files      base-fix-files
-lac.kdoc:       kdoc-installed lac-html-files       lac-fix-files
-grid.kdoc:      kdoc-installed grid-html-files      grid-fix-files
-dof.kdoc:       kdoc-installed dof-html-files       dof-fix-files
-numerics.kdoc:  kdoc-installed numerics-html-files  numerics-fix-files
-multigrid.kdoc: kdoc-installed multigrid-html-files multigrid-fix-files
-
-
-# description of how to make the output of kdoc: first list which
-# files each output dir depends upon, then state the general rule of
-# how to make the output. let everything depend on kdoc being already
-# installed (we need to re-state this dependency here as we could
-# otherwise get problems when using parallel builds)
-#
-# note that when running kdoc, we discard the forward-declarations
-# file as this brings kdoc into trouble
-base-html-files:      kdoc-installed $(kdoc.base)
-lac-html-files:       kdoc-installed $(kdoc.lac)
-grid-html-files:      kdoc-installed $(kdoc.grid)
-dof-html-files:       kdoc-installed $(kdoc.dof)
-numerics-html-files:  kdoc-installed $(kdoc.numerics)
-multigrid-html-files: kdoc-installed $(kdoc.multigrid)
-%-html-files:
-       @$(PERL) $(KDOCFLAGS) $(subst -html-files,,$@) \
-                              --outputdir $(subst -html-files,,$@) \
-                             $(filter-out %forward_declarations.h, $(^:kdoc-installed=))
-
-
-# now how to fix the files:
-# fix the #include<...> directives to only contain the 
-# paths that are needed inside the programs instead of the global
-# paths
-#
-# also fix include paths in the files header-list.htmlbase-fix-files: base-html-files
-%-fix-files:
-       @echo Fixing include paths
-       @for htmlfile in $(subst -fix-files,,$@)/*html ; do \
-           $(PERL) -pi -e 's,(#include &lt;<A HREF=\"[^\"]+\">)$D/?[^/]+/include/,$$1,g; \
-                         s,<h1>Source: $D/?(.*)</h1>,<h1>Source: $$1</h1>,g;' "$$htmlfile" ;\
-       done
-       @for htmlfile in $(subst -fix-files,,$@)/header-list.html $(subst -fix-files,,$@)/all-globals.html ; do \
-           case "$$htmlfile" in \
-             *header-list*) \
-                       $(PERL) -pi -e 's,<TH>$D/?[^/]+/include/(.*?) - $D/?[^/]+/include/(.*?)</TH>,<TH>$$1 - $$2</TH>,g; \
-                                    s,(<A HREF=\"[^\"]+\">)$D/?[^/]+/include/,$$1,g;' \
-                               "$$htmlfile" ;\
-                       ;; \
-             *all-globals*) \
-                       $(PERL) -pi -e 's,(<A HREF=\"[^\"]+\">)$D/?[^/]+/include/,$$1,g;' \
-                               "$$htmlfile" ;\
-                       ;; \
-             *) \
-                       echo "*******Unknown file $$htmlfile? Something must have gone wrong!*********" ; \
-                       ;; \
-           esac ; \
-       done
-
diff --git a/deal.II/doc/auto/kdoc/base/.cvsignore b/deal.II/doc/auto/kdoc/base/.cvsignore
deleted file mode 100644 (file)
index 2d19fc7..0000000
+++ /dev/null
@@ -1 +0,0 @@
-*.html
diff --git a/deal.II/doc/auto/kdoc/basic/.cvsignore b/deal.II/doc/auto/kdoc/basic/.cvsignore
deleted file mode 100644 (file)
index 2d19fc7..0000000
+++ /dev/null
@@ -1 +0,0 @@
-*.html
diff --git a/deal.II/doc/auto/kdoc/dof/.cvsignore b/deal.II/doc/auto/kdoc/dof/.cvsignore
deleted file mode 100644 (file)
index 2d19fc7..0000000
+++ /dev/null
@@ -1 +0,0 @@
-*.html
diff --git a/deal.II/doc/auto/kdoc/grid/.cvsignore b/deal.II/doc/auto/kdoc/grid/.cvsignore
deleted file mode 100644 (file)
index 2d19fc7..0000000
+++ /dev/null
@@ -1 +0,0 @@
-*.html
diff --git a/deal.II/doc/auto/kdoc/lac/.cvsignore b/deal.II/doc/auto/kdoc/lac/.cvsignore
deleted file mode 100644 (file)
index 2d19fc7..0000000
+++ /dev/null
@@ -1 +0,0 @@
-*.html
diff --git a/deal.II/doc/auto/kdoc/multigrid/.cvsignore b/deal.II/doc/auto/kdoc/multigrid/.cvsignore
deleted file mode 100644 (file)
index 2d19fc7..0000000
+++ /dev/null
@@ -1 +0,0 @@
-*.html
diff --git a/deal.II/doc/auto/kdoc/numerics/.cvsignore b/deal.II/doc/auto/kdoc/numerics/.cvsignore
deleted file mode 100644 (file)
index 2d19fc7..0000000
+++ /dev/null
@@ -1 +0,0 @@
-*.html
diff --git a/deal.II/doc/auto/kdoc/transport/.cvsignore b/deal.II/doc/auto/kdoc/transport/.cvsignore
deleted file mode 100644 (file)
index 2d19fc7..0000000
+++ /dev/null
@@ -1 +0,0 @@
-*.html
diff --git a/deal.II/doc/auto/latex/.cvsignore b/deal.II/doc/auto/latex/.cvsignore
deleted file mode 100644 (file)
index 73d8437..0000000
+++ /dev/null
@@ -1 +0,0 @@
-deal_II_technical_reference.*
\ No newline at end of file
diff --git a/deal.II/doc/auto/latex/docxx.sty b/deal.II/doc/auto/latex/docxx.sty
deleted file mode 100644 (file)
index dedf958..0000000
+++ /dev/null
@@ -1,1042 +0,0 @@
-%  docxx.sty
-%
-%  Copyright (c) 1996, 2000 Roland Wunderling, Malte Zoeckler
-%  Copyright (c) 1999 Dragos Acostachioaie
-%
-%  This file is part of DOC++.
-%
-%  DOC++ 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., 675 Mass Ave, Cambridge, MA 02139, USA.
-%
-%
-% Switch off special characters except {}\ for the rest of the text.
-%
-\def\cxxtilde{{\tt\~\relax}}
-\addtolength{\parskip}{6pt}
-
-\catcode`\,=\active%
-\def,{\char`\,\penalty-8\ }
-%\def,{++ }
-\catcode`\,=12
-
-\def\<{{\tt <}}
-\def\>{{\tt >}}
-\def\TEX{}
-\def\cxxExceptionsStr{}
-\def\cxxParameterStr{}
-\def\cxxReturnStr{}
-\def\cxxSeeStr{}
-\def\cxxAuthorStr{}
-\def\cxxVersionStr{}
-\def\cxxFileStr{}
-\def\cxxExceptions#1{\def\cxxExceptionsStr{#1}}
-\def\cxxParameter#1{\def\cxxParameterStr{#1}}
-\def\cxxReturn#1{\def\cxxReturnStr{#1}}
-\def\cxxSee#1{\def\cxxSeeStr{#1}}
-\def\cxxAuthor#1{\def\cxxAuthorStr{#1}}
-\def\cxxVersion#1{\def\cxxVersionStr{#1}}
-\def\cxxFile#1{\def\cxxFileStr{#1}}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%
-% Define \ 3...\ 3 to do verbatim listing
-%
-\catcode`\\ 4=\active
-\catcode`\\ 3=\active
-{\obeyspaces\gdef {\ }}
-
-\def\ccverbatim{\strut\begingroup
-            \catcode`\\=12 \catcode`\{=12
-            \catcode`\}=12 \catcode`\$=12
-            \catcode`\&=12 \catcode`\#=12
-            \catcode`\%=12 \catcode`\~=12
-            \catcode`\_=12 \catcode`\^=12
-            \catcode`\|=12 \catcode`\/=12
-            \obeyspaces\tt}
-\def\ 3{\let\par=\endgraf \ccverbatim \parskip=0pt \ccfinish}
-{\catcode`\\ 4=0 \ 4catcode`\ 4\=12
-\ 4gdef\ 4ccfinish#1\ 3{#1\ 4endgroup}}
-
-%
-% Definition of structuring comands.
-%
-\newcommand{\Section}[1]{\section{#1}}
-\newcommand{\SubSection}[1]{\subsection{#1}}
-\newcommand{\SubSubSection}[1]{\subsubsection{#1}}
-\newcommand{\Paragraph}[1]{\paragraph{#1}}
-
-\newcommand{\Ref}[1]{{\bf #1} ($\rightarrow$ \ref{#1})}
-\newcommand{\URL}[2][]{%
-   \def\name{#1}%
-   \def\empty{}%
-   \ifx\name\empty%
-        {\tt #2}%
-   \else%
-        #1 ({\tt #2})%
-   \fi%
-}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%
-% printing line #1 of code #2
-%
-\newdimen\cxxcodewidth
-\cxxcodewidth=\textwidth
-\advance\cxxcodewidth by -21pt
-
-\def\cxxCodeLine#1#2{%
-{\hbox to 20pt{\tiny\hss#1}\parbox[t]{\cxxcodewidth}{\small#2}}%
-}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%
-% environment for listing manual entries
-%
-\newdimen\cxxIdWidth
-\newdimen\cxxTypeWidth
-\newdimen\cxxProtoWidth
-\newdimen\cxxMemoWidth
-\newdimen\cxxPageWidth
-
-\cxxIdWidth=0.1\textwidth
-\cxxTypeWidth=0.15\textwidth
-\cxxProtoWidth=0.25\textwidth
-\cxxMemoWidth=0.43\textwidth
-
-\cxxPageWidth=\textwidth
-\advance\cxxPageWidth by-\cxxIdWidth
-\advance\cxxPageWidth by-\cxxTypeWidth
-\advance\cxxPageWidth by-\cxxProtoWidth
-\advance\cxxPageWidth by-\cxxMemoWidth
-
-\newdimen\cxxProtoMemoWidth
-\cxxProtoMemoWidth=\cxxProtoWidth
-\advance\cxxProtoMemoWidth by\cxxMemoWidth
-
-\def\cxxStrut{\vrule width0pt height0pt depth9pt}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% 1: type
-% 2: name
-% 3: args
-% 4: memo
-% 5: id
-\def\cxxitem#1#2#3#4#5{\noindent{%
-    \setbox5\hbox{#5 }%
-    \ifdim\wd5>\cxxIdWidth%
-        \setbox5\hbox{\hbox to \cxxIdWidth{\hss#5}}%
-    \else
-        \setbox5\hbox{\hbox to \cxxIdWidth{#5\hss}}%
-    \fi%
-    \setbox1\hbox{{%
-        \catcode`\&=4%
-        \catcode`\_=8%
-        \def\ 3{\ccverbatim \ccfinish}#1%
-    }}%
-    \setbox2\hbox{{%
-        \catcode`\&=4%
-        \catcode`\_=8%
-        \def\ 3{\ccverbatim \ccfinish}\textbf{#2} #3%
-    }}%
-    \setbox4\hbox{\parbox[t]{\cxxMemoWidth}{{%
-        \raggedright\sloppy%
-        \catcode`\&=4%
-        \catcode`\_=8%
-        \def\ 3{\ccverbatim \ccfinish}{\em #4}
-        \cxxStrut%
-        \def\page{#5}%
-        \ifx\page\empty%
-            \hss%
-        \else%
-            \ \dotfill%
-            \hbox to 0pt{\hbox to \cxxPageWidth{\hss%
-                \pageref{\presentlib.cxx.#5}%
-            }\hss}%
-        \fi%
-    }}}%
-    %
-    \ifdim\wd1>\cxxTypeWidth%
-        \hbox to \hsize{\unhbox5\hbox to \cxxTypeWidth{\unhbox1\hss}\hss}\\\nopagebreak%
-        \setbox5\hbox{\hskip\cxxIdWidth}%
-        \setbox1\hbox{\hskip\cxxTypeWidth}%
-    \else%
-        \setbox1\hbox{\hbox to \cxxTypeWidth{\unhbox1\hss}}%
-    \fi%
-    \ifdim\wd2>\cxxProtoWidth%
-        \ifdim\wd2<\cxxProtoMemoWidth%
-            \def\tmp{#4}%
-            \ifx\tmp\empty%
-                \def\tmp{#5}%
-                \ifx\tmp\empty%
-                    \hbox to \hsize{\unhbox5\unhbox1\unhbox2\hss\cxxStrut}\\%
-                \else%
-                    \hbox to \hsize{\unhbox5\unhbox1\unhbox2
-                        \dotfill\hbox to \cxxPageWidth{\hss\pageref{\presentlib.cxx.#5}}%
-                        \cxxStrut}\\%
-                \fi%
-            \else%
-                \hbox to \hsize{\unhbox5\unhbox1\unhbox2\hss}\\\nopagebreak%
-                \hbox to \hsize{%
-                    \hskip\cxxIdWidth%
-                    \hskip\cxxTypeWidth%
-                    \hskip\cxxProtoWidth%
-                    \unhbox4\hss%
-                }\\%
-            \fi%
-        \else%
-            \hbox to \hsize{%
-                \unhbox5%
-                \unhbox1%
-                \parbox[t]{\cxxProtoMemoWidth}{%
-                    \setbox255\hbox{\textbf{#2} (}%
-                    \hangindent=\wd255\hangafter=1%
-                    \raggedright\sloppy%
-                    {\catcode`\&=4\catcode`\_=8%
-                        \def\ 3{\ccverbatim \ccfinish}\textbf{#2} #3\strut}%
-                }\hss%
-            }\\\nopagebreak%
-            \hbox to \hsize{%
-                \hskip\cxxIdWidth%
-                \hskip\cxxTypeWidth%
-                \hskip\cxxProtoWidth%
-                \unhbox4\hss%
-            }\\%
-        \fi%
-    \else%
-        \hbox to \hsize{%
-            \unhbox5%
-            \unhbox1%
-            \hbox to \cxxProtoWidth{\unhbox2\hss}%
-            \unhbox4\hss%
-        }\\%
-    \fi%
-}}
-
-
-\newdimen\cxxtypestart
-\cxxtypestart=0.05\textwidth
-%\advance\cxxtypestart by \labelsep
-
-\newdimen\cxxnamestart
-\cxxnamestart=\cxxtypestart
-\advance\cxxnamestart by 0.25\textwidth
-
-\newdimen\cxxargsstart
-\cxxargsstart=\cxxnamestart
-\advance\cxxargsstart by 0.2\textwidth
-\newdimen\cxxargswidth
-\cxxargswidth=\textwidth
-\advance\cxxargswidth by -\cxxargsstart
-\advance\cxxargswidth by -\spaceskip
-
-\newdimen\cxxmemostart
-\cxxmemostart=\cxxargsstart
-\advance\cxxmemostart by 0.12\textwidth
-
-\newenvironment{cxxlist}[1]{
-\begingroup
-\catcode`\,=\active%
-\paragraph{#1}\strut\smallskip\\
-}{
-\endgroup
-}
-
-\newenvironment{cxxnames}{\begin{cxxlist}{Names}}{\end{cxxlist}}
-\newenvironment{cxxpublic}{\begin{cxxlist}{Public Members}}{\end{cxxlist}}
-\newenvironment{cxxprivate}{\begin{cxxlist}{Private Members}}{\end{cxxlist}}
-\newenvironment{cxxprotected}{\begin{cxxlist}{Protected Members}}{\end{cxxlist}}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%
-%       Numbered Frame box
-%
-\newlength{\cxxBoxLen}%
-\newlength{\cxxBoxHt}%
-\newlength{\cxxBoxDp}%
-\newlength{\cxxSideHt}%
-\newlength{\cxxSideLen}%
-\newlength{\cxxTitleLen}%
-\def\empty{}
-\def\idPos{1cm}
-
-%
-% box with id and name [optional width]
-%
-\newcommand{\aBox}[3][1pt]{{%
-\small%
-\def\width{#1}%
-\def\num{#2}%
-\def\name{#3}%
-\setbox0\hbox{\hskip\width{ \strut\name\strut} \hskip\width}%
-%
-\setlength{\cxxBoxLen}{\wd0}%
-\addtolength{\cxxBoxLen}{\width}%
-\addtolength{\cxxBoxLen}{\width}%
-\setbox2\hbox{\normalsize\strut\rule{\cxxBoxLen}{\width}}%
-%
-\ifx\num\empty%
-    \setbox1\hbox{\strut}%
-\else%
-    \setbox1\hbox{\rule{\idPos}{\width} { \sf\bf\strut #2 } }%
-\fi%
-\addtolength{\cxxBoxLen}{-\wd1}%
-\setbox1\hbox{\unhbox1\rule{\cxxBoxLen}{\width}}%
-%
-\setlength{\cxxSideHt}{\dp0}%
-\addtolength{\cxxSideHt}{\width}%
-\setlength{\cxxSideLen}{\dp0}%
-\addtolength{\cxxSideLen}{\ht0}%
-\addtolength{\cxxSideLen}{\dp1}%
-\addtolength{\cxxSideLen}{\width}%
-\addtolength{\cxxSideLen}{\width}%
-\setbox3\hbox{\hbox to 0pt{\hss\rule[-\cxxSideHt]{\width}{\cxxSideLen}}}%
-\setbox4\hbox{\hbox to 0pt{\rule[-\cxxSideHt]{\width}{\cxxSideLen}\hss}}%
-%
-\setlength{\cxxBoxHt}{\dp1}%
-\addtolength{\cxxBoxHt}{1pt}%
-\setlength{\cxxBoxDp}{\ht2}%
-\addtolength{\cxxBoxDp}{-\width}%
-\addtolength{\cxxBoxDp}{1pt}%
-%
-\setlength{\cxxBoxLen}{\ht3}%
-\addtolength{\cxxBoxLen}{\ht1}%
-%
-\vbox to \cxxBoxLen{%
-\hbox{\unhbox1}%
-\vskip-\cxxBoxHt%
-\hbox{\hskip\width\unhbox3\unhbox0\unhbox4}%
-%\vskip-\ht2%
-\vskip-\cxxBoxDp%
-\hbox{\unhbox2}%
-\vss%
-}%
-}}
-
-%
-% box with id and name [optional width] of size #4
-%
-\newcommand{\sizeBox}[4][3pt]{{%
-    \setbox0\hbox{ }%
-    \setlength{\cxxSideLen}{#4}%
-    \addtolength{\cxxSideLen}{-\wd0}%
-    \addtolength{\cxxSideLen}{-\wd0}%
-    \addtolength{\cxxSideLen}{-#1}%
-    \addtolength{\cxxSideLen}{-#1}%
-    \addtolength{\cxxSideLen}{-#1}%
-    \addtolength{\cxxSideLen}{-#1}%
-    \aBox[#1]{#2}{\hbox to \cxxSideLen{#3}}%
-}}
-
-%
-% centered box with id and name [optional width] of size #4
-%
-\newcommand{\cBox}[4][3pt]{{%
-\setbox0\hbox{\aBox[#1]{#2}{#3}}%
-\ifdim\wd0<#4%
-    \sizeBox[#1]{#2}{\hss#3\hss}{#4}%
-\else%
-    \setlength{\cxxSideLen}{\wd0}%
-    \advance\cxxSideLen by -#4%
-    \hskip -0.5\cxxSideLen%
-    \unhbox0%
-\fi%
-}}
-
-%
-% right expanding box with id and name [optional width] of size at least #4
-%
-\newcommand{\rBox}[4][3pt]{{%
-\setbox0\hbox{\aBox[#1]{#2}{#3}\hss}%
-\ifdim\wd0>#4%
-    \unhbox0%
-\else%
-    \sizeBox[#1]{#2}{\hss#3\hss}{#4}%
-\fi%
-}}
-
-%
-% left expanding box with id and name [optional width] of size at least #4
-%
-\newcommand{\lBox}[4][3pt]{{%
-\setbox0\hbox{\aBox[#1]{#2}{#3}\hss}%
-\ifdim\wd0>#4%
-    \setlength{\cxxSideLen}{\wd0}%
-    \advance\cxxSideLen by -#4%
-    \hskip -\cxxSideLen%
-    \unhbox0%
-\else%
-    \sizeBox[#1]{#2}{\hss#3\hss}{#4}%
-\fi%
-}}
-
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%
-%       Pagestyle for documentation.
-%
-\newsavebox{\cxxHeadName}
-\newcommand{\ps@docxx}{%
-    \renewcommand{\@oddhead}{\headlinetext}%
-    \renewcommand{\@evenhead}{\headlinetext}%
-    \renewcommand{\@oddfoot}{\footlinetext}%
-    \renewcommand{\@evenfoot}{\footlinetext}%
-}
-\newcommand{\makeHeadLine}[2]{
-    \global\sbox{\cxxHeadName}{\vbox to 0pt{\vss%
-        \hbox to \textwidth{%
-            \hbox to 0pt{\strut\hbox to 1cm{\hss}\quad#1\hss}%
-            \hfil#2\hfil%
-        }%
-        \vskip 1pt%
-        \hbox to \textwidth{\hrulefill}%
-    }}%
-}
-\newcommand{\headlinetext}{\usebox{\cxxHeadName}}
-\providecommand{\cxxCopyright}{%
-    \vtop{%
-        \hbox to \textwidth{{
-            \tiny\sf This page was generated with the help of DOC++
-        \hss}}%
-        \vskip -20pt
-        \hbox to \textwidth{
-            \hbox{{\tiny\sf http://www.linuxsupportline.com/~doc++ }}
-        \hss}%
-    }%
-}
-\def\footlinetext{\hbox to \textwidth{
-    \vtop{%
-        \hbox to \textwidth{\hrulefill}%
-        \vskip -20pt%
-        \cxxCopyright%
-    }%
-    \hss\vtop{\vskip 10pt\hbox{\today\hspace*{3cm}\textrm{\thepage} }}
-}}
-\pagestyle{docxx}
-
-\def\cxxTitle#1#2#3#4#5{\noindent{%
-    \thispagestyle{empty}
-    \vfill
-    \begin{center}
-    \Huge\bf
-    \catcode`\&=4%
-    \catcode`\_=8%
-    \def\ 3{\ccverbatim \ccfinish}#1%
-    \strut\\
-    \def\ 3{\ccverbatim \ccfinish}#2%
-    \strut\\
-    \def\ 3{\ccverbatim \ccfinish}#3%
-    \strut\\
-    \end{center}
-    \if\cxxVersionStr\empty%
-    \else%
-        \begin{center}
-        \small\sf
-        --- Version \cxxVersionStr\ ---
-        \end{center}
-        \global\def\cxxVersionStr{}
-    \fi
-    \vfill
-    \large
-    \begin{center}
-    \Large\em
-    \def\ 3{\ccverbatim \ccfinish}#4%
-    \end{center}
-    \vfill
-    \if\cxxAuthorStr\empty%
-    \else%
-        \begin{center}
-        \sf\cxxAuthorStr
-        \end{center}
-        \global\def\cxxAuthorStr{}
-        \vfill
-    \fi
-    \pagebreak
-    \makeHeadLine{}{#2}
-}}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%
-%       environment for contents
-%
-\newcounter{cxxContentsDepth}
-\setcounter{cxxContentsDepth}{0}
-\newdimen\cxxContentsLengthIncr
-\cxxContentsLengthIncr=18pt
-\newdimen\cxxContentsLength
-\cxxContentsLength=\textwidth
-\advance\cxxContentsLength by -\cxxContentsLengthIncr
-
-\makeHeadLine{}{Contents}
-
-\newenvironment{cxxContents}{
-    \ifcase \value{cxxContentsDepth}
-        \vskip 40pt
-        \hbox to \hsize{\hskip 8pt\hskip\cxxContentsLengthIncr\Huge\bf Contents\hss}
-        \vskip 40pt
-        \bf
-    \else                                       % >1
-        \rm
-    \fi
-    \begingroup
-    \addtocounter{cxxContentsDepth}{1}
-    \advance\cxxContentsLengthIncr by  8pt
-    \advance\cxxContentsLength     by -\cxxContentsLengthIncr
-}{
-    \addtocounter{cxxContentsDepth}{-1}
-    \advance\cxxContentsLength     by  \cxxContentsLengthIncr
-    \advance\cxxContentsLengthIncr by  -8pt
-    \ifcase \value{cxxContentsDepth}
-        \vskip 12pt
-    \or 
-        \vskip 9pt
-    \else
-        \vskip 3pt
-    \fi
-    \endgroup
-}
-
-\newcommand{\cxxContentsEntry}[3]{{
-    \def\emtpty{}
-    \def\memo{#3}
-    \ifx\memo\empty
-        \setbox0\hbox{\parbox[t]{\cxxContentsLength}{\strut#2 \dotfill }}
-    \else
-        \setbox0\hbox{\parbox[t]{\cxxContentsLength}{\strut#2 --- {\em #3} \dotfill }}
-    \fi
-    \setbox1\hbox{\vtop{\vskip\dp0\vskip-\ht0\vskip-1.5pt\hbox to 20pt{\hss\rm \pageref{\presentlib.cxx.#1}}}}
-    \hbox to \textwidth{%
-        \hss\hbox to \cxxContentsLengthIncr{#1\hss}%
-        \unhbox0\unhbox1%
-    }
-}}
-
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%
-%       environment for class graph
-%
-\newdimen\cxxClassGraphShift
-\newdimen\cxxClassGraphLength
-\newdimen\cxxClassGraphHeight
-\newdimen\cxxClassGraphDepth
-\newdimen\cxxClassGraphTotV
-\setlength{\cxxClassGraphLength}{0.23\hsize}
-\setlength{\cxxClassGraphShift}{30pt}
-\setbox0\vbox{\aBox[5pt]{\strut}{\strut}}
-\setlength{\cxxClassGraphHeight}{\ht0}
-\setlength{\cxxClassGraphDepth}{\dp0}
-\addtolength{\cxxClassGraphDepth}{10pt}
-\setlength{\cxxClassGraphTotV}{\dp0}
-\addtolength{\cxxClassGraphTotV}{\ht0}
-
-\newenvironment{cxxInheritance}{
-    \par\medskip
-    \begingroup
-    \newcommand{\cxxCGSpace}[1]{%
-        \vtop to \cxxClassGraphTotV{\hbox to \cxxClassGraphShift{%
-            \vrule width0pt height \cxxClassGraphHeight depth \cxxClassGraphDepth%
-        ##1}}%
-    }
-    \newcommand{\cxxSlashHline}{%
-        \vrule width 0.1\cxxClassGraphShift height 3.5pt depth -3pt%
-        \vrule width 0.1\cxxClassGraphShift height 0pt depth 0pt%
-        \vrule width 0.1\cxxClassGraphShift height 3.5pt depth -3pt%
-        \vrule width 0.1\cxxClassGraphShift height 0pt depth 0pt%
-        \vrule width 0.1\cxxClassGraphShift height 3.5pt depth -3pt%
-    }
-    \newcommand{\cxxDotHline}{%
-        \vrule width 0.06\cxxClassGraphShift height 3.5pt depth -3pt%
-        \vrule width 0.05\cxxClassGraphShift height 0pt depth 0pt%
-        \vrule width 0.06\cxxClassGraphShift height 3.5pt depth -3pt%
-        \vrule width 0.05\cxxClassGraphShift height 0pt depth 0pt%
-        \vrule width 0.06\cxxClassGraphShift height 3.5pt depth -3pt%
-        \vrule width 0.05\cxxClassGraphShift height 0pt depth 0pt%
-        \vrule width 0.06\cxxClassGraphShift height 3.5pt depth -3pt%
-        \vrule width 0.05\cxxClassGraphShift height 0pt depth 0pt%
-        \vrule width 0.06\cxxClassGraphShift height 3.5pt depth -3pt%
-    }
-    \newcommand{\cxxHline}{%
-        \vrule width 0.5\cxxClassGraphShift height 3.5pt depth -3pt%
-    }
-    \newcommand{\cxxVup}{\hbox to 0pt{\hss%
-        \vrule width 0.5pt height \cxxClassGraphHeight depth -3pt%
-    \hss}}
-    \newcommand{\cxxVlow}{\hbox to 0pt{\hss%
-        \vtop to 0pt{\vskip-3pt%
-            \hbox{\vrule width 0.5pt height 13pt depth \cxxClassGraphDepth}%
-        \vss}%
-    \hss}}
-    \newcommand{\cxxLinkUp}{\hbox to 0pt{\hss\hskip 0.5\cxxClassGraphShift%
-        \raise0.7\cxxClassGraphHeight\hbox to 0pt{\hss\textbf{\symbol{94}}\hss}}}%
-    \newcommand{\cxxLinkDown}{\hbox to 0pt{\hss\hskip 0.5\cxxClassGraphShift%
-        \raise-0.6\cxxClassGraphHeight\vbox to 0pt{%
-            \hbox to 0pt{\hss\textbf{$\lor$}\hss}\vss}}}%
-    \newcommand{\cxxLinkLeft}{\hbox to 0pt{\hss\hskip 0.0\cxxClassGraphShift%
-        \raise0.0\cxxClassGraphHeight\hbox to 0pt{\textbf{\tt\<}\hss}}}%
-    \newcommand{\cxxLinkRight}{\hbox to 0pt{\hss\hskip 1.0\cxxClassGraphShift%
-        \raise0.0\cxxClassGraphHeight\hbox to 0pt{\hss\textbf{\tt\>}}}}%
-    \newcommand{\cxxInheritanceEntry}[5][]{
-        \hbox to \hsize{\hss%
-            \vrule width0pt height \cxxClassGraphHeight depth \cxxClassGraphDepth%
-            ##2%
-            \def\tmp{##1}%
-            \ifx\tmp\empty%
-                \def\tmp{##5}%
-                \ifx\tmp\empty%
-                    \rBox[1pt]{##3}{##4}{0.24\hsize}%
-                \else%
-                    \lBox[1pt]{##3}{##4}{0.24\hsize}%
-                \fi%
-            \else%
-                \cBox[2pt]{##3}{##4}{0.24\hsize}%
-            \fi%
-            ##5\hfill%
-        }\vskip-1pt
-    }
-    \newcommand{\cxxNone}{\cxxCGSpace{\hss}}
-    \newcommand{\cxxLong}{\cxxCGSpace{\hss\cxxVup\cxxVlow\hss}}
-%
-    \newcommand{\cxxPubLeft}{\cxxCGSpace{\cxxHline\cxxVup\cxxVlow\hss}}
-    \newcommand{\cxxProLeft}{\cxxCGSpace{\cxxSlashHline\cxxVup\cxxVlow\hss}}
-    \newcommand{\cxxPriLeft}{\cxxCGSpace{\cxxDotHline\cxxVup\cxxVlow\hss}}
-    \newcommand{\cxxPubleft}{\cxxCGSpace{\cxxHline\cxxVlow\hss}}
-    \newcommand{\cxxProleft}{\cxxCGSpace{\cxxSlashHline\cxxVlow\hss}}
-    \newcommand{\cxxPrileft}{\cxxCGSpace{\cxxDotHline\cxxVlow\hss}}
-    \newcommand{\cxxLastPubLeft}{\cxxCGSpace{\cxxHline%
-                        \cxxVup\cxxLinkDown\cxxVlow\hss}}
-    \newcommand{\cxxLastProLeft}{\cxxCGSpace{\cxxSlashHline%
-                        \cxxVup\cxxLinkDown\cxxVlow\hss}}
-    \newcommand{\cxxLastPriLeft}{\cxxCGSpace{\cxxDotHline%
-                        \cxxVup\cxxLinkDown\cxxVlow\hss}}
-    \newcommand{\cxxLastPubleft}{\cxxCGSpace{\cxxHline%
-                        \cxxVlow\cxxLinkDown\hss}}
-    \newcommand{\cxxLastProleft}{\cxxCGSpace{\cxxSlashHline%
-                        \cxxVlow\cxxLinkDown\hss}}
-    \newcommand{\cxxLastPrileft}{\cxxCGSpace{\cxxDotHline%
-                                \cxxVlow\cxxLinkDown\hss}}
-    \newcommand{\cxxLinkPubLeft}{\cxxCGSpace{\cxxLinkLeft\cxxHline\cxxVup\cxxVlow\hss}}
-    \newcommand{\cxxLinkProLeft}{\cxxCGSpace{\cxxLinkLeft\cxxSlashHline%
-                                \cxxVup\cxxVlow\hss}}
-    \newcommand{\cxxLinkPriLeft}{\cxxCGSpace{\cxxLinkLeft\cxxDotHline%
-                                \cxxVup\cxxVlow\hss}}
-    \newcommand{\cxxLinkPubleft}{\cxxCGSpace{\cxxLinkLeft\cxxHline\cxxVlow\hss}}
-    \newcommand{\cxxLinkProleft}{\cxxCGSpace{\cxxLinkLeft\cxxSlashHline\cxxVlow\hss}}
-    \newcommand{\cxxLinkPrileft}{\cxxCGSpace{\cxxLinkLeft\cxxDotHline\cxxVlow\hss}}
-%
-    \newcommand{\cxxPubRight}{\cxxCGSpace{\hss\cxxVup\cxxVlow\cxxHline}}
-    \newcommand{\cxxProRight}{\cxxCGSpace{\hss\cxxVup\cxxVlow\cxxSlashHline}}
-    \newcommand{\cxxPriRight}{\cxxCGSpace{\hss\cxxVup\cxxVlow\cxxDotHline}}
-    \newcommand{\cxxPubright}{\cxxCGSpace{\hss\cxxVup\cxxHline}}
-    \newcommand{\cxxProright}{\cxxCGSpace{\hss\cxxVup\cxxSlashHline}}
-    \newcommand{\cxxPriright}{\cxxCGSpace{\hss\cxxVup\cxxDotHline}}
-
-    \newcommand{\cxxLinkPubRight}{\cxxCGSpace{\hss\cxxVup\cxxVlow\cxxHline\cxxLinkRight}}
-    \newcommand{\cxxLinkProRight}{\cxxCGSpace{\hss\cxxVup\cxxVlow%
-                                   \cxxSlashHline\cxxLinkRight}}
-    \newcommand{\cxxLinkPriRight}{\cxxCGSpace{\hss\cxxVup\cxxVlow%
-                                   \cxxDotHline\cxxLinkRight}}
-    \newcommand{\cxxLinkPubright}{\cxxCGSpace{\hss\cxxVup\cxxHline\cxxLinkRight}}
-    \newcommand{\cxxLinkProright}{\cxxCGSpace{\hss\cxxVup\cxxSlashHline\cxxLinkRight}}
-    \newcommand{\cxxLinkPriright}{\cxxCGSpace{\hss\cxxVup\cxxDotHline\cxxLinkRight}}
-
-    \newcommand{\cxxFirstPubRight}{\cxxCGSpace{\hss\cxxVup\cxxLinkUp\cxxVlow\cxxHline}}
-    \newcommand{\cxxFirstProRight}{\cxxCGSpace{\hss\cxxVup\cxxLinkUp\cxxVlow%
-                                   \cxxSlashHline}}
-    \newcommand{\cxxFirstPriRight}{\cxxCGSpace{\hss\cxxVup\cxxLinkUp\cxxVlow\cxxDotHline}}
-    \newcommand{\cxxFirstPubright}{\cxxCGSpace{\hss\cxxVup\cxxLinkUp\cxxHline}}
-    \newcommand{\cxxFirstProright}{\cxxCGSpace{\hss\cxxVup\cxxLinkUp\cxxSlashHline}}
-    \newcommand{\cxxFirstPriright}{\cxxCGSpace{\hss\cxxVup\cxxLinkUp\cxxDotHline}}
-}{
-    \endgroup
-}
-
-\newenvironment{cxxClassGraph}{
-    \begin{cxxInheritance}
-    \newcommand{\cxxClassGraphEntry}[4]{
-        \hbox to \hsize{\hss%
-            \vrule width0pt height \cxxClassGraphHeight depth \cxxClassGraphDepth%
-            ##1%
-            \def\tmp{##4}%
-            \rBox[1pt]{##2}{##3}{0.24\hsize}%
-            ##4%
-            \hskip\cxxClassGraphShift\dotfill%
-            \hbox to \cxxClassGraphShift{\hss\pageref{\presentlib.cxx.##2}}%
-        }\vskip-1pt
-    }
-    \newcommand{\cxxClassGraphEntryUnknownPackage}[3]{
-        \hbox to \hsize{\hss%
-            \vrule width0pt height \cxxClassGraphHeight depth \cxxClassGraphDepth%
-            ##1%
-            \def\tmp{##3}%
-            \rBox[1pt]{}{##2}{0.24\hsize}%
-            ##3%
-            \hskip\cxxClassGraphShift\hfill%
-        }\vskip-1pt
-    }
-    \clearpage
-    \pagebreak\strut
-    \makeHeadLine{}{Class Graph}
-    \vskip 20pt
-    \hbox to \hsize{\Huge\bf \quad Class Graph\hss}
-    \vskip 40pt
-}
-{
-    \end{cxxInheritance}
-}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%
-% environment for generic manual entries
-% arguments are:
-%       #1      type
-%       #2      name
-%       #3      args
-%       #4      memo
-%       #5      number
-%
-\newdimen\cxxgenericstart
-\cxxgenericstart=\labelwidth
-\advance\cxxgenericstart by \labelsep
-\newdimen\cxxgenericwidth
-\cxxgenericwidth=\textwidth
-\advance\cxxgenericwidth by -\cxxgenericstart
-
-\newcounter{cxxDepth}
-\setcounter{cxxDepth}{0}
-
-\newlength{\cxxSize}
-\newenvironment{cxxgeneric}[5]{
-%
-%       some local definitions
-%
-    \def\empty{}
-    \def\type{#1}
-    \def\args{#3}
-    \def\memo{#4}
-    \def\id  {#5}
-%
-%       pagebreak ?
-%
-\ifcase \value{cxxDepth}
-        \clearpage                      %  0
-        \pagebreak
-        \makeHeadLine{#5}{#2}
-        \setlength{\cxxSize}{2pt}
-\or                                     %  1
-        \strut\bigskip\bigskip\goodbreak%
-        \setlength{\cxxSize}{1pt}
-\else                                   % >2
-        \strut\bigskip\bigskip\goodbreak%
-        \setlength{\cxxSize}{0.5pt}
-\fi
-\addtocounter{cxxDepth}{1}
-%
-%       write synopsis
-%
-\setbox0\hbox{ }%
-\setbox1\hbox{\strut\large #1 {\bf#2} }%
-\setbox3\hbox{\strut\large #1 {\bf#2} #3}%
-%
-% box with id and name [optional width] over entire page width
-%
-\setlength{\cxxSideLen}{\hsize}%
-\addtolength{\cxxSideLen}{-4\cxxSize}%
-\addtolength{\cxxSideLen}{-2\wd0}%
-\setlength{\cxxTitleLen}{\cxxSideLen}%
-\addtolength{\cxxTitleLen}{-8\wd0}%
-\hbox{\aBox[\cxxSize]{\id}{\vbox{\vskip 1.5\parskip%
-    \hbox to \cxxSideLen{\strut%
-        \hbox to 4\wd0{}%
-        \ifdim\wd3<\cxxTitleLen%
-            \parbox[b]{\cxxTitleLen}{%
-                \begin{raggedright}
-                \noindent\large #1 {\bf#2} #3
-                \end{raggedright}
-            }
-        \else%
-            \ifdim\wd1>0.7\cxxTitleLen%
-                \parbox[b]{\cxxTitleLen}{%
-                    \begin{raggedright}
-                    \noindent\large #1 {\bf#2} #3
-                    \end{raggedright}
-                }
-            \else%
-                \addtolength{\cxxTitleLen}{-\wd1}%
-                \unhbox1%
-                \parbox[t]{\cxxTitleLen}{%
-                    \advance\lineskip 7pt%
-                    \begin{raggedright}
-                    \noindent\large\strut #3
-                    \end{raggedright}
-                }
-            \fi%
-        \fi%
-        \hss\strut%
-    }\vskip\parskip}%
-}}
-% \parbox[b]{\cxxSideLen}{\begingroup
-%       \catcode`\&=12%
-%       \catcode`\_=12%
-%       \begin{flushleft}
-%           \quad\large%
-%           \ifx\type\empty
-%               \ifx\args\empty
-%                   \strut{\bf #2}\\
-%               \else
-%                   \strut{\bf #2}\ \args
-%               \fi
-%           \else
-%               \strut\type\ {\bf #2}\ \args
-%           \fi
-%       \end{flushleft}
-% \endgroup}}}%
-\ifx\memo\empty\else
-    \vskip 10pt
-    \begin{flushright}
-        \it\memo
-    \end{flushright}
-\fi
-\label{\presentlib.cxx.\id}
-\begingroup
-\def\cxxExceptionsStr{}
-\def\cxxParameterStr{}
-\def\cxxReturnStr{}
-\def\cxxSeeStr{}
-\def\cxxAuthorStr{}
-\def\cxxVersionStr{}
-\def\cxxFileStr{}
-\def\cxxExceptions##1{\def\cxxExceptionsStr{##1}}
-\def\cxxParameter##1{\def\cxxParameterStr{##1}}
-\def\cxxReturn##1{\def\cxxReturnStr{##1}}
-\def\cxxSee##1{\def\cxxSeeStr{##1}}
-\def\cxxAuthor##1{\def\cxxAuthorStr{##1}}
-\def\cxxVersion##1{\def\cxxVersionStr{##1}}
-\def\cxxFile##1{\def\cxxFileStr{##1}}
-}{
-\endgroup
-\addtocounter{cxxDepth}{-1}
-}
-
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%
-% environment for function manual entries
-% arguments are:
-%       #1      type
-%       #2      name
-%       #3      args
-%       #4      memo
-%       #5      number
-%
-\newenvironment{cxxfunction}[5]{
-\begin{cxxgeneric}{#1}{#2}{#3}{#4}{#5}
-\renewenvironment{cxxnames}{\begin{cxxlist}{Arguments}}{\end{cxxlist}}
-}{
-\end{cxxgeneric}
-}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%
-% environment for manual entries
-% arguments are:
-%       #1      type
-%       #2      name
-%       #3      args
-%       #4      memo
-%       #5      number
-%
-\newenvironment{cxxentry}[5]{
-\begin{cxxgeneric}{#1}{#2}{#3}{#4}{#5}}{\end{cxxgeneric}}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%
-% environment for union manual entries
-% arguments are:
-%       #1      type
-%       #2      name
-%       #3      args
-%       #4      memo
-%       #5      number
-%
-\newenvironment{cxxunion}[5]{
-\begin{cxxgeneric}{#1}{#2}{#3}{#4}{#5}
-\renewenvironment{cxxnames}{\begin{cxxlist}{Members}}{\end{cxxlist}}
-}{
-\end{cxxgeneric}
-}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%
-% environment for typedef manual entries
-% arguments are:
-%       #1      type
-%       #2      name
-%       #3      args
-%       #4      memo
-%       #5      number
-%
-\newenvironment{cxxtypedef}[5]{
-\begin{cxxgeneric}{#1}{#2}{}{#4}{#5}
-\renewenvironment{cxxnames}{\begin{cxxlist}{Members}}{\end{cxxlist}}
-}{
-\end{cxxgeneric}
-}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%
-% environment for macro manual entries
-% arguments are:
-%       #1      type
-%       #2      name
-%       #3      args
-%       #4      memo
-%       #5      number
-%
-\newenvironment{cxxmacro}[5]{
-\begin{cxxgeneric}{\#define}{#2}{#3}{#4}{#5}}{\end{cxxgeneric}}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%
-% environment for class manual entries
-% arguments are:
-%       #1      type
-%       #2      name
-%       #3      args
-%       #4      memo
-%       #5      number
-%
-\newenvironment{cxxclass}[5]{
-\begin{cxxgeneric}{#1}{#2}{#3}{#4}{#5}}{\end{cxxgeneric}}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%
-% environment for namespace manual entries
-% arguments are:
-%       #1      type
-%       #2      name
-%       #3      args
-%       #4      memo
-%       #5      number
-%
-\newenvironment{cxxnamespace}[5]{
-\begin{cxxgeneric}{#1}{#2}{#3}{#4}{#5}}{\end{cxxgeneric}}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%
-% environment for interface manual entries
-% arguments are:
-%       #1      type
-%       #2      name
-%       #3      args
-%       #4      memo
-%       #5      number
-%
-\newenvironment{cxxinterface}[5]{
-\begin{cxxgeneric}{#1}{#2}{#3}{#4}{#5}}{\end{cxxgeneric}}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%
-% environment for variable manual entries
-% arguments are:
-%       #1      type
-%       #2      name
-%       #3      args
-%       #4      memo
-%       #5      number
-%
-\newenvironment{cxxvariable}[5]{
-\begin{cxxgeneric}{#1}{#2}{#3}{#4}{#5}
-\renewenvironment{cxxnames}{\begin{cxxlist}{Names}}{\end{cxxlist}}
-}{
-\end{cxxgeneric}
-}
-
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%
-% environment for documentation
-%
-\newenvironment{cxxdocumentation}{
-%
-% switch on special characters for documentation section
-%
-\begingroup
-\catcode`\&=4
-\catcode`\_=8
-}{
-\endgroup
-}
-
-\newenvironment{cxxdoc}{
-%
-% switch on special characters for documentation section
-%
-\begin{cxxdocumentation}
-\strut\\\noindent%
-}{
-\smallskip
-\def\empty{}%
-\ifx\cxxReturnStr\empty\else
-    \noindent\hbox to 0.3\textwidth{{\bf Return Value:}\hss}%
-    \parbox[t]{0.7\textwidth}{\cxxReturnStr}\\
-\fi
-\ifx\cxxParameterStr\empty\else
-    \noindent\hbox to 0.3\textwidth{{\bf Parameters:}\hss}%
-    \parbox[t]{0.7\textwidth}{\cxxParameterStr}\\
-\fi
-\ifx\cxxExceptionsStr\empty\else
-    \noindent\hbox to 0.3\textwidth{{\bf Exceptions:}\hss}%
-    \parbox[t]{0.7\textwidth}{\cxxExceptionsStr}\\
-\fi
-\ifx\cxxSeeStr\empty\else
-    \noindent\hbox to 0.3\textwidth{{\bf See Also:}\hss}%
-    \parbox[t]{0.7\textwidth}{\cxxSeeStr}\\
-\fi
-\ifx\cxxAuthorStr\empty\else
-    \noindent\hbox to 0.3\textwidth{{\bf Author:}\hss}%
-    \parbox[t]{0.7\textwidth}{\cxxAuthorStr}\\
-\fi
-\ifx\cxxVersionStr\empty\else
-    \noindent\hbox to 0.3\textwidth{{\bf Version:}\hss}%
-    \parbox[t]{0.7\textwidth}{\cxxVersionStr}\\
-\fi
-\ifx\cxxFileStr\empty\else
-    \noindent\hbox to 0.3\textwidth{{\bf File:}\hss}%
-    \parbox[t]{0.7\textwidth}{\cxxFileStr}\\
-\fi
-\end{cxxdocumentation}
-}
-
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%
-% environment for commented listing
-% arguments are:
-%       #1      Section title
-%
-\newenvironment{cxximplementation}[1]{
-\goodbreak
-\begin{cxxdocumentation}
-}{
-\end{cxxdocumentation}
-}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\def\cxxCodeLine#1{
-\strut\hbox to 20pt{\tiny\hss #1}\small
-%\advance\leftmargin by 20pt
-%\advance\textwidth by -20pt
-\ccverbatim \parskip=0pt \cxxCodeFinish}
-{\catcode`\\ 4=0 \ 4catcode`\ 4\=12
-\ 4gdef\ 4cxxCodeFinish#1\ 3{\ 4hbox{#1}\ 4endgroup}}
diff --git a/deal.II/doc/auto/latex/footer.tex b/deal.II/doc/auto/latex/footer.tex
deleted file mode 100644 (file)
index 0c43671..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-\end{document}
-
-%%% Local Variables: 
-%%% mode: latex
-%%% TeX-master: t
-%%% End: 
diff --git a/deal.II/doc/auto/latex/header.tex b/deal.II/doc/auto/latex/header.tex
deleted file mode 100644 (file)
index 99fa074..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-\documentclass{report}
-\usepackage{a4wide}
-\usepackage{graphicx}
-\usepackage{times}
-%\def\presentlib{}
-\usepackage{docxx}
-\setcounter{tocdepth}{0}
-\begin{document}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%titlepage
-
-% this is what docxx.sty uses for headlines. disable
-% it for the titlepage
-\sbox{\cxxHeadName}{}
-
-\vspace*{3cm}
-
-\begin{center}
-  \textbf{\texttt{\Huge deal.II}}
-
-
-\vspace*{1cm}
-
-\textbf{\huge Differential Equations Analysis Library}
-
-\vspace*{1cm}
-
-\textbf{\LARGE Technical Reference}
-
-\vspace*{1cm}
-
-  {\Large \textsf{base}, \textsf{lac} and \texttt{deal.II} libraries}
-
-\vspace*{1.5cm}
-
-\includegraphics[width=.8\textwidth]{../../pictures/deal.eps}
-\end{center}
-
-
-\tableofcontents
diff --git a/deal.II/doc/auto/scripts/addclasses_db.pl b/deal.II/doc/auto/scripts/addclasses_db.pl
deleted file mode 100644 (file)
index c691322..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-#!/usr/local/bin/perl
-
-# Update Postgres database entries from kdoc sources
-
-use DBI;
-
-$db = DBI->connect("DBI:Pg:dbname=deal",undef,undef);
-
-die $DBI::errstr if (!$db);
-
-print "Connected\n";
-
-$db->do("UPDATE classes SET persistent=FALSE;")
-    || die $db->errstr;
-
-while(<>)
-{
-    next unless(/=/);
-    next if (/\#/);
-    s/=.*//g;
-    chop;
-    print $_, " ";
-
-    # Try to find class name
-
-    $sth = $db->prepare("UPDATE classes set persistent=TRUE where name = '$_';")
-       || die $db->errstr;
-    $sth->execute || die $sth->errstr;
-
-    $rows = $sth->rows;
-    $sth->finish;
-
-    # Insert name if it did not exist.
-
-    if ($rows == 0)
-    {
-       print "insert";
-       
-       $db->do("INSERT INTO classes ( name, display, persistent, manually ) values ( '$_', TRUE, TRUE, FALSE);")|| die $db->errstr;;
-    }
-    print "\n";
-}
diff --git a/deal.II/doc/auto/scripts/cvs2html b/deal.II/doc/auto/scripts/cvs2html
deleted file mode 100644 (file)
index 2b20b20..0000000
+++ /dev/null
@@ -1,1785 +0,0 @@
-#!/usr/bin/perl
-#
-# Perl program to transform the 'cvs log' output to HTML
-#
-# Perl program to transform the 'cvs log' output to HTML.
-# The HTML output will show the revision log history,
-# differences between versions and enable a flexible
-# configuration of the amount of information the user
-# like to see from the CVS repository.
-# cvs2html can be used for any type of cvs archive.
-
-#
-# ** Note that the first line might be wrong depending **
-# ** on the location of your perl program.             **
-# ** The program requires:                             **
-# **             perl version 5.003 or newer           **
-#
-# cvs2html should run on any Unix compatible machine
-# with the above programs.
-# Test machine: Linux RedHat 7.2 with Perl 5.6.0
-#
-# Usage :
-#
-#  type cvs2html with no arguments to display basic help
-#  or type cvs2html -h to get more help
-
-# Changelog
-# Ver  Date        Who did it            What happened
-# -------------------------------------------------------------------------
-# 1.94 2002-06-25  Magnus Ahlman        Added a option argument -R CVS Reposity
-#                                       specified in the cvsweb.conf
-#                                       so you can integrate with cvsweb
-#
-# 1.93 2002-05-25  John Hardin           Patch against freezing problem
-#                                        with cvs log would report "nothing
-#                                        known about"
-#
-# 1.92 2002-03-25  Anna Jonna            Typos removed
-#                  Armannsdottir       
-#
-# 1.91 2002-01-13  Jacob Sparre Andersen Major overhaul of the code
-#                  and Peter Toft        in order to generate HTML 4.0
-#                                        compliant code. Many bugs corrected.
-#
-# 1.90 2001-09-07  Stefan Kost           A few "cosmetical" corrections.
-#
-# 1.89 2001-09-06  Stefan Kost           * "back to main" links in chronofile
-#                                          only if frames==1
-#                                        * subs html_header/html_footer
-#                                        * $cvs2html_diff is now called $diffdirname
-#                                          (in preparation for more subdirs)
-#                                          and defaults to just "diff"
-#                                        * sub cvsrootinfo (with extended infos)
-#                                        * the ususal cosmetical fixes here and there
-#                                        * both halfs of diff output are now
-#                                          delimited by a small gap
-#                                        * entries in __rf-files are now sorted
-#
-# 1.88 2001-09-04  Peter Toft            Kim Schulz means that that 
-#                                        text in line 748 (previously 744) 
-#                                        was adequite. Updated.
-#
-# 1.87 2001-08-30  Laurent Besson        Bagged two bugs!!
-#                  Stefan Kost           * fixed empty output
-#                                        * copyright footer looks the same
-#                                          for all pages
-#                                        * chrono-file back-links go to
-#                                          "top" frame
-#
-# 1.86 2001-08-26  Stefan Kost           Handling of verbosity level update
-#
-# 1.85 2001-08-24  Stefan Kost           * handles "cvs connection refused"
-#                                        * find_alldirs, find_subdirs do not
-#                                          follow symlinks
-#                                        * new option -V <verbosity level>
-#                                        * cleaned up code indentation
-#                                        * more comments
-#
-# 1.84 2001-07-14  Peter Toft            Added links in the cronological file
-#                                        to the main page and removed a
-#                                        debug-printout statement.
-#
-# 1.83 2001-06-28  Grzegorz Pawelczak    Patch to handle branches (fix)
-#
-# 1.82 2001-06-22  Grzegorz Pawelczak    Patch to handle branches
-#
-# 1.81 2001-06-18  David Carson          Minor update - added support
-#                                        for underscore in author-field
-#
-# 1.80 2001-05-31  Peter V. Pretsch      Fixed the problem with missing
-#                                        right frames
-#
-# 1.79 2000-12-27  Peter Toft            Peter made error in the Changelog :-)
-#
-# 1.78 2000-12-27  Peter Toft            Error in making diff-directories
-#                                        corrected. Example included in help-
-#                                        description.
-#                                        Changed mkdir to perl-command.
-#
-# 1.77 2000-12-15  Peter Toft            Hack to avoid generating the
-#                                        same diff-files over and over again.
-#                                        Renaming of the diff-files.
-#                                        Dumping the diff-files in a
-#                                        separate subdir.
-#
-# 1.76 2000-11-30  Jody Lewis            Typo; The parent links in the
-#                                        lower left frame were incorrect
-#
-# 1.75 2000-11-04  Kirby Vandivort       URL of cvs2html changed
-#
-# 1.73 2000-11-02  Peter Toft            Clean up - deleted an old status line
-#
-# 1.72 2000-10-28  Peter Toft            If basename() or dirname() adds
-#                                        a \n code, then cvs2html malfunctions
-#                                        This should solve the problem.
-#
-# 1.71 2000-10-26  Peter Toft            Minor clean-up
-#
-# 1.70 2000-10-26  Jon Berndt            Documentation problem -L option
-#                  Peter Toft            -L/-E option was not working
-#                                        Redefined -L and dumped the -E option
-#
-# 1.69 2000-09-29  Robert Merkle         Support for users with 0-9
-#                                        in name
-#
-# 1.68 2000-09-20  Wolfgang Bangerth     Patch to avoid HTML syntax
-#                                        problems and link error.
-#
-# 1.67 2000-08-21  Kirby Vandivort       Update to cvs2html to fix html
-#                                        markup display in cvs comments
-#
-# 1.66 2000-08-11  Kirby Vandivort       Added support for an
-#                                        parameter -P controlled location
-#                                        of cvs
-#
-# 1.65 2000-06-24  Peter Toft            Added support for filenames
-#                                        containing whitespaces -
-#                                        requested by John Stone
-#
-# 1.64 2000-06-11  Peter Toft            Better documentation in the start
-#                                        of the program
-#
-# ---- ----------  --------------------  -------------------------------
-#
-# This program is protected by the GPL, and all modifications of
-# general interest can be emailed to Peter Toft <pto@sslug.dk>
-#
-# The GPL can be found at http://www.gnu.org/copyleft/gpl.html
-#
-# Other people that have contributed directly or indirectly to cvs2html
-#  Henner Zeller <zeller@think.de>
-#  Henning Niss <hniss@diku.dk>
-#  Henrik Carlquist <Henrik.Carlqvist@dynamics.saab.se>
-#  Tim Bradshaw <tfb@cley.com>
-#  David Miller
-#  David Carson <DCarson@extremenetworks.com>
-#  Finn Aarup Nielsen <fn@imm.dtu.dk>
-#  Michael Krause <mkrause@teuto.net>
-#  Jim Phillips <jim@ks.uiuc.edu>
-#  Jon S. Berndt <jsb@hal-pc.org>
-#  Edward S. Marshall <emarshal@logic.net>
-#  Curtis L. Olson <curt@me.umn.edu>
-#  Aubrey Jaffer <jaffer@colorage.com>
-#  Mark Cooke <mpc@star.sr.bham.ac.uk>
-#  Carlo Wood <carlo@runaway.xs4all.nl>
-#  Kirby Vandivort <kvandivo@ks.uiuc.edu>
-#  Dag Brück <dag@Dynasim.se>
-#  Wolfgang Bangerth <wolfgang.bangerth@iwr.uni-heidelberg.de>
-#  Robert Merkle <r.merkle@siep.shell.com>
-#  Jody Lewis <jody.lewis@philips.com>
-#  Peter V. Pretsch <pvp@pe.dk>
-#  Grzegorz Pawelczak <gpawel@adlex.com>
-#  Stefan Kost <st_kost@gmx.de>
-#  Anna Jonna Armannsdottir <a@sleepy.dk>
-#  John Hardin <johnh@aproposretail.com>
-#  Magnus Ahlman <magnus.ahlman@eds.com>
-
-#
-# Copyright under GPL 1997 - 2002 by
-# Peter Toft (pto@sslug.dk) + the persons above
-#
-# Join the cvs2html mailing list <sslug-cvs2html@sslug.dk>
-# by sending an email to <sslug-cvs2html-subscribe@sslug.dk>,
-# the contents of this mails is of no matter.
-# You will receive an email than you need to reply to.
-#
-# If you want to unsubscribe from the list - write a mail to
-# <sslug-cvs2html-unsubscribe@sslug.dk>, and reply to the mail you get.
-# In case of problems contact <pto@sslug.dk>
-#
-# The URL of cvs2html is:
-
-$URL = "http://cvs.sslug.dk/cvs2html";
-
-$cvs2html_version='$Id$';
-
-require 'getopts.pl';
-require 'ctime.pl';
-
-use File::Basename;
-use File::Find;
-
-if($cvs2html_version =~ /^\$Id\: (\w+?),v (\d+?\.\d+?) /i) {
-  $version=$2;
-}
-else {
-  $version="?.?";
-}
-
-# get options from cfgfile
-
-# now get the options. The ones with a colon means the an extra argument follows.
-# all options given will override the ones specified in cfgfile
-&Getopts('R:r:abc:C:d:efhkl:n:N:s:vo:D:E:L:O:w:i:pP:V:');
-
-###############################################################
-# graphic related default variables that you can change
-###############################################################
-
-# Default width of the left frame in pixels. Also changed by -w option
-$leftframewidth = 150;
-
-# Default splitratio of the left frame in percent. Also changed by -s option
-$leftsplitratio = "70%";
-
-# Default cell color
-$cellcolor = "#c7c7c7";
-
-# Default filename cell color
-$filenamecellcolor = "#7777FF";
-
-# Default background color gray
-$backcolor = "#AAAAAA";
-
-# Default background for the difference cells
-$differencebackground = "#BBBBBB";
-
-# Colors and font to show the diff type of code changes when using -a
-$diffcolorHeading    ='#999999';     # color of 'Line'-heading of each diffed file
-$diffcolorEmpty      ='#999999';     # color of 'empty' lines
-$diffcolorNormal     ='#BBBBBB';     # color of 'unchanged' ('equal') lines
-$diffcolorRemove     ='#FF9999';     # Removed line(s) (left)  (empty)
-$diffcolorChange     ='#99FF99';     # Added line(s)   (empty) (right)
-$diffcolorDarkChange ='#77AA77';     # lines, which are empty on the left/right
-$diffcolorAdd        ='#AAAAFF';     # Changed line(s) (     both    )
-# just uncomment if you don't want any font-changes
-#$difffontface        ="Arial,Helvetica";
-$difffontface        ="Courier,Courier New";
-$difffontsize        ="-1";
-
-###############################################################
-# other default variables that you can change
-###############################################################
-
-# Set $kkon ="-kk" if you permanently want to hide keyword substitutions
-# when making diff-files.
-$kkon = "";
-
-# Set $whitespace = "-w" if you want to ignore white space changes
-# in diff
-$whitespace="-w";
-
-# The timedifference in seconds which we consider as the same
-# commit time
-$commit_smalltimedifference = 10;
-
-# default CVS location (default assumes in path)
-$cvsLocation="cvs";
-
-# warnings if omitting generating of diff-files
-$diffwarning = 0;
-
-# sub dir name for diff-files
-$diffdirname = "diff";
-
-###############################################################
-# Subfunctions
-###############################################################
-
-#html helper
-sub html_footer {
-  my ($stradd)=@_;
-
-  if(!defined($stradd)){ $stradd=""; }
-  (undef,$min,$hour,$mday,$mon,$year,undef,undef,undef) = localtime(time);
-  $struser=getlogin;
-  $strdate=sprintf "%4d-%02d-%02d %2d:%02d",$year+1900, $mon+1, $mday,$hour,$min;
-
-  $ret="<hr>\n";
-  $ret.="<center><font size=\"-1\">\n";
-  $ret.="File made using version $version of ";
-  $ret.="<a href=\"$URL\" target=\"_new\">cvs2html</a> by ";
-  $ret.="$struser at $strdate  $revisionlimitertext $stradd";
-  $ret.="</font></center>\n";
-  return($ret);
-}
-
-sub html_header {
-  my ($title)=@_;
-
-  $ret="<\!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">\n
-<html>\n<head>\n<title>";
-  if(defined($title) && length($title)>0) {
-       $ret.="$title";
-  }
-  else {
-       $ret.="cvs2html";
-  }
-  $ret.="</title>\n</head>\n";
-  if ($opt_i) {
-       $ret.="<body background=\"$opt_i\">\n";
-  } else {
-       $ret.="<body bgcolor=\"$backcolor\">\n";
-  }
-  if(defined($title) && length($title)>0) {
-       $ret.="<h2 align=\"center\">$title</h2>\n<hr>\n";
-  }
-  return($ret);
-}
-
-sub cvsrootinfo {
-  # the two tables are needed for proper layout
-  $ret="<table border=\"0\" cellpadding=\"1\" cellspacing=\"1\" align=\"center\" bgcolor=\"$cellcolor\" width=\"100%\">\n";
-  $ret.="<tr>\n";
-  $ret.="<td width=\"15%\" align=\"right\"><b>Protocol:</b></td><td width=\"35%\">$protocol</td>\n";
-  $ret.="<td width=\"15%\" align=\"right\"><b>    User:</b></td><td width=\"35%\">$cvsuser</td>\n";
-  $ret.="</tr>\n<tr>\n";
-  $ret.="<td width=\"15%\" align=\"right\"><b> Machine:</b></td><td width=\"35%\">$machine</td>\n";
-  $ret.="<td width=\"15%\" align=\"right\"><b> CVSROOT:</b></td><td width=\"35%\">$cvsroot</td>\n";
-  $ret.="</tr>\n";
-  $ret.="</table><hr>\n";
-  return($ret);
-}
-
-#function to help sort
-sub sorter{
-  $chronotimesince0[$a] <=> $chronotimesince0[$b];
-}
-
-#Function to close the main file
-sub closemainfile {
-  # Print date & copyright info in the last part of the HTML document
-  $stradd="";
-  if ($cutdate>"00000000") {
-    $stradd.=" leaving out any log message prior to $cutyearformat2";
-  }
-  if (($opt_n>0) && ($opt_a)) {
-    $stradd.=" and only showing the $opt_n latest version differences";
-  }
-  print OUTFILE html_footer($stradd);
-
-  # Lets wrap up OUTFILE
-  print OUTFILE "</body>\n";
-  print OUTFILE "</html>\n";
-
-  close(OUTFILE);
-}
-
-# Function to show how the function is used. Called if no options are given.
-sub shorthelp {
-  print "*** CVS2HTML ***\nA Perl program to transform the 'cvs log' output to HTML.\n";
-
-  print "Usage of cvs2html\n\n";
-  print "cvs2html [-a [-b][-k]] [-n NUMDIF] [-l/-L FTPHOME]\n";
-  print "         [-e] [-f] [-d \"MMM DD [YYYY]\"] [-D DD] [-i IMAGE] [-h]\n";
-  print "         [-v] [-w FRAMEWIDTH] [-s PERCENTAGE] [-N MAXCHRONO]\n";
-  print "         [-rREV1:REV2] [-c/-C CFILENAME] -O/o HTMLNAME\n";
-  print "         [-P CVSPATH] [-V VERBOSITY]\n [-R CVSWEB ROOT ";
-
-  print "\n\nTry: cvs2html -help\n";
-}
-
-sub showhelp {
-  print "\n";
-
-  print " cvs2html -O foo\n";
-  print " outputs html files foo.html and alike for each subdirectory\n";
-  print " Note that if foo is a directory the files are stored there\n";
-  print " using the name of the repository as the base filename.\n";
-  print "\n";
-
-  print " cvs2html -O foo -v\n";
-  print " which outputs a html file to the file foo.html including\n";
-  print " information about the CVSROOT setting.\n";
-  print "\n";
-
-  print " Using -o instead of -O, frames will be made for easy control.\n";
-  print "\n";
-
-  print " If -e is specified the log messages are printed\n";
-  print " in courier (non-proportional) font.\n";
-  print "\n";
-
-  print " If -c CFILENAME is specified a chronological sorted list of all log\n";
-  print " entries will be saved in CFILENAME (CFILENAME is a full html filename)\n";
-  print " Use -C CFILENAME instead of -c to do reverse sort of the log file.\n";
-  print " Add -p to include cvs log information into the CFILENAME.\n\n";
-
-  print " If -a is specified additional fields and files are generated\n";
-  print " containing differences betweeen versions\n";
-  print " in a xdiff-like side by side manner.\n";
-  print " The -n NUMDIF will only output the lastest NUMDIF diff files.\n";
-  print " The -N MAXCHRONO will only show the last MAXCHRONO file changes\n";
-  print " in the chronological list of changes.\n";
-  print "\n";
-
-  print " if -b is specified in addition to diff-mode\n";
-  print " spcaces are used as breakpoint to wrap the text\n";
-  print " so the two columns don't exceed the total width\n";
-  print " If -k is specified in addition to diff-mode\n";
-  print " changes in lines caused by CVS-keyword substition\n";
-  print " are ignored.\n";
-
-  print " If an option -l ftphome is given links to the files relative\n";
-  print " to the URL ftphome is made. Use -L ftphtmlhome to do the same as\n";
-  print " -l, but substitutes file extension with .html\n";
-  print "\n";
-
-  print " If an option -d \"month day year\" is given (year optional) any\n";
-  print " log message prior to that date is omitted. The three first \n";
-  print " letters of the name of the month is used, e.g., Jun 5.\n";
-  print " A -D DD option will drop any log DD days ago or earlier\n";
-  print "\n";
-
-  print " If an option -rREVISIONTAG1:REVISIONTAG2 is given, then\n";
-  print " the log messages are only shown between those revision\n";
-  print " REVISIONTAG1 and REVISIONTAG2. If a file was not tagged\n";
-  print " then the whole revision story of the file will be shown.\n";
-  print "\n";
-
-  print " If -o and -w FRAMEWIDTH is used the left frame will have\n";
-  print " FRAMEWIDTH pixels. Add -f when using the -o option to \n";
-  print " generate individual log files for each file.\n";
-  print " Use -s PERCENTAGE to set width of the fraction of the left\n";
-  print " bar in percentage.\n";
-  print "\n";
-
-  print " Use -i IMAGE to replace the background with file specified as IMAGE\n";
-  print "\n";
-
-  print " Use -P CVSPATH to specify an explicit location cvs.  The\n";
-  print " default value is simply 'cvs', which means that cvs is in your\n";
-  print " path.\n";
-  print "\n";
-
-  print " Use -V VERBOSITY to make cvs2html report what it is doing. A\n";
-  print " value of 0 means be quiet and bigger numbers means more output.\n";
-  print " This is especially useful, when something went wrong.\n";
-  print "\n";
-
-  print " Use -R CVSWEBROOT to make reports intergrated with cvsweb.\n";
-  print " The argument should be the symbolic_name in cvsweb.conf.\n";
-
-  print " The html file also contains anchors, if a file foo.html\n";
-  print " containing a file e.g., foofoo.m is generated then it is\n";
-  print " possible to search http://CORRECT_URL/foo.html#foofoo.m\n";
-  print "\n";
-
-  print " Example :\n";
-  print " cvs2html  -l http://cvs.sslug.dk/linuxbog -f -p \\\\ \n";
-  print "   -o cvs2html/index.html -v -a -b -n 6 -C crono.html\n";
-  print " makes cvs2html/ with individual log data for each file \n";
-  print " with links relative to \"http://cvs.sslug.dk/linuxbog\"\n";
-  print " and creates a chronological log file \"crono.html\".\n";
-  print "\n";
-
-  print " cvs2html with no arguments displays this help\n";
-  print " Peter Toft et al, Technical University of Denmark, 1997\n";
-  exit(0);
-}
-
-# This function will set the date after which the log info is shown.
-# Any log info before the date is NOT shown.
-sub date_control {
-  %months= (
-            'Jan','01',
-            'Feb','02',
-            'Mar','03',
-            'Apr','04',
-            'May','05',
-            'Jun','06',
-            'Jul','07',
-            'Aug','08',
-            'Sep','09',
-            'Oct','10',
-            'Nov','11',
-            'Dec','12',
-            );
-
-
-  &ctime(time) =~/^(\w+) (\w+) (\d+) (\d+):(\d+):(\d+) (\d+)$/;
-
-  $currentyear=$7;
-
-  if (($opt_d)||($opt_D)) {
-    if ($opt_d) {
-      ($cutmonthtxt,$cutdatetxt,$cutyeartxt)= $opt_d =~ /^(\w+) (\d+) (\d+)$/;
-    }
-    if ($opt_D) {
-      $cd = localtime(time-3600*24*$opt_D);
-      $cd =~ /^(\w+) (\w+)[ ]*(\d+)[ ]*(\d+):(\d+):(\d+) (\d+)$/;
-      $cutyeartxt = $7;
-      $cutmonthtxt = $2;
-      $cutdatetxt = $3;
-    }
-
-    if (length($cutyeartxt)==0) {
-      ($cutmonthtxt,$cutdatetxt)= $opt_d =~ /^(\w+) (\d+)$/;
-      $cutyeartxt=$currentyear;
-    }
-    $cutyearformat2="$cutmonthtxt $cutdatetxt $cutyeartxt";
-       
-    if (length($cutdatetxt)==1) {
-      $cutdatetxt="0".$cutdatetxt;
-    }
-    $m=$months{$cutmonthtxt};
-    if (length($m)==0) {
-      print "The option -d \"month day [year]\" was used with a wrong month ($cutmonthtxt).\n";
-      print "First three letters is used\n";
-      exit(0);
-    }
-    $cutdate = $cutyeartxt.$m.$cutdatetxt;
-  }
-  else {
-    $cutdate = "00000000";
-  }
-  # Anything before year 0000 - I dont think so...........
-}
-
-# Function to read the next line from cvslogarray
-sub getnextline {
-  $lineno++;
-  if($lineno<=scalar(@cvslogarray)) {
-       # DEBUG
-       #print STDOUT "    cvslogarray[$lineno]=$cvslogarray[$lineno]";
-       # DEBUG
-       return($cvslogarray[$lineno]);
-  }
-  else {
-       return(undef);
-  }
-}
-
-sub flush_diff_rows ($$$$) {
-    local $j;
-    my ($leftColRef,$rightColRef,$leftRow,$rightRow) = @_;
-    if ($state eq "PreChangeRemove") {          # we just got remove-lines before
-      for ($j = 0 ; $j < $leftRow; $j++) {
-          print DIFFFILE "<tr><td bgcolor=\"$diffcolorRemove\">@$leftColRef[$j]</td>";
-                 print DIFFFILE "<td bgcolor=\"$backcolor\">&nbsp;</td>";
-          print DIFFFILE "<td bgcolor=\"$diffcolorEmpty\">&nbsp;</td></tr>\n";
-      }
-    }
-    elsif ($state eq "PreChange") {             # state eq "PreChange"
-      # we got removes with subsequent adds
-      for ($j = 0; $j < $leftRow || $j < $rightRow ; $j++) {  # dump out both cols
-          print DIFFFILE "<tr>";
-          if ($j < $leftRow) { print DIFFFILE "<td bgcolor=\"$diffcolorChange\">@$leftColRef[$j]</td>"; }
-          else { print DIFFFILE "<td bgcolor=\"$diffcolorDarkChange\">&nbsp;</td>"; }
-                 print DIFFFILE "<td bgcolor=\"$backcolor\">&nbsp;</td>";
-          if ($j < $rightRow) { print DIFFFILE "<td bgcolor=\"$diffcolorChange\">@$rightColRef[$j]</td>"; }
-          else { print DIFFFILE "<td bgcolor=\"$diffcolorDarkChange\">&nbsp;</td>"; }
-          print DIFFFILE "</tr>\n";
-      }
-    }
-}
-# Function to generate diff-files
-sub generate_diff_file {
-  local ( $ii,$difftxt,@diffar );
-  $diffname = $outdirname.'/'.$diffdirname.'/'."diff$convdir\_$filename\_$oldrevnumber\_$revnumber.html";
-
-  stat($diffname);
-  if (-e _) {
-    if ($diffwarning == 1) {
-      print "WARNING; cvs2html does not generate $diffname\n";
-    }
-  }
-  else {
-    @listhtmlnames = (@listhtmlnames,$diffname);
-    open(DIFFFILE,">$diffname") or die "Error: Could not open ; $diffname";
-    print DIFFFILE html_header("Difference for $currentdir/$filename from version $revnumber to $oldrevnumber");
-    if ($opt_k) {
-      $kkon = "-kk";
-    }
-    @diffar = `$cvsLocation diff $kkon $whitespace -u -r $revnumber -r $oldrevnumber $currentdir/$filename\n`;
-
-    print DIFFFILE "<table border=0 cellspacing=0 cellpadding=0 width=\"100%\">\n";
-    print DIFFFILE "<tr bgcolor=\"#ffffff\"><th width=\"50%\">version $revnumber</th><th bgcolor=\"$backcolor\">&nbsp;</th><th width=\"50%\">version $oldrevnumber</th></tr>";
-
-       $fs="<font";
-       if(defined($difffontface) && length($difffontface)>0) {
-         $fs.=" face=\"$difffontface\"";
-       }
-       if(defined($difffontsize) && length($difffontsize)>0) {
-         $fs.=" size=\"$difffontsize\"";
-       }
-       $fs.=">";
-    $fe="</font>";
-
-    $leftRow = 0;
-    $rightRow = 0;
-
-    # the first 8 lines are garbage for us
-    for ($ii=8;$ii<=$#diffar;$ii++) {
-      chop($difftxt = $diffar[$ii]);
-      if ($difftxt =~ /^@@/) {
-        ($oldline,$newline) = $difftxt =~ /@@ \-([0-9]+).*\+([0-9]+).*@@/;
-        print DIFFFILE "<tr bgcolor=\"$diffcolorHeading\"><td width=\"50%\">";
-        print DIFFFILE "<table width=\"100%\" border=0 cellpadding=5><tr><td><b>Line $oldline</b></td></tr></table>";
-        print DIFFFILE "</td><td bgcolor=\"$backcolor\">&nbsp;</td><td width=\"50%\">";
-        print DIFFFILE "<table width=\"100%\" border=0 cellpadding=5><tr><td><b>Line $newline</b></td></tr></table>";
-        print DIFFFILE "</td></tr>\n";
-        $state = "dump";
-        $leftRow = 0;
-        $rightRow = 0;
-      }
-      else {
-        ($diffcode,$rest) = $difftxt =~ /^([-+ ])(.*)/;
-        $_= $rest;
-########
-# quote special characters
-# according to RFC 1866,Hypertext Markup Language 2.0,
-# 9.7.1. Numeric and Special Graphic Entity Set
-# (Hen)
-#######
-               s/&/&amp;/g;
-               s/\"/&quot;/g;
-               s/</&lt;/g;
-               s/>/&gt;/g;
-
-               # replace <tab> and <space>
-               if ($opt_b) {
-                 # make every other space 'breakable'
-                 s/        /&nbsp; &nbsp; &nbsp; &nbsp; /g;    # <tab>
-                 s/   /&nbsp; &nbsp;/g;                        # 3 * <space>
-                 s/  /&nbsp; /g;                               # 2 * <space>
-                 # leave single space as it is
-               }
-               else {
-                 s/        /&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/g;
-                 s/ /&nbsp;/g;
-               }
-
-               # Add fontface, size
-               $_ = "$fs&nbsp;$_$fe";
-
-               #########
-               # little state machine to parse unified-diff output (Hen, zeller@think.de)
-               # in order to get some nice 'ediff'-mode output
-               # states:
-               #  "dump"             - just dump the value
-               #  "PreChangeRemove"  - we began with '-' .. so this could be the start of a 'change' area or just remove
-               #  "PreChange"        - okey, we got several '-' lines and moved to '+' lines -> this is a change block
-               ##########
-
-               if ($diffcode eq '+') {
-                 if ($state eq "dump") {  # 'change' never begins with '+': just dump out value
-                       print DIFFFILE "<tr><td bgcolor=\"$diffcolorEmpty\">&nbsp;</td><td bgcolor=\"$backcolor\">&nbsp;</td><td bgcolor=\"$diffcolorAdd\">$_</td></tr>\n";
-                 }
-                 else {                   # we got minus before
-                       $state = "PreChange";
-                       $rightCol[$rightRow++] = $_;
-                 }
-               }
-               elsif ($diffcode eq '-') {
-                 $state = "PreChangeRemove";
-                 $leftCol[$leftRow++] = $_;
-               }
-        else {  # empty diffcode
-                 flush_diff_rows \@leftCol, \@rightCol, $leftRow, $rightRow;
-                 print DIFFFILE "<tr><td bgcolor=\"$diffcolorNormal\">$_</td><td bgcolor=\"$backcolor\">&nbsp;</td><td bgcolor=\"$diffcolorNormal\">$_</td></tr>\n";
-                 $state = "dump";
-                 $leftRow = 0;
-                 $rightRow = 0;
-               }
-      }
-    }
-    flush_diff_rows \@leftCol, \@rightCol, $leftRow, $rightRow;
-    print DIFFFILE "</table>";
-
-    # print legend
-    print DIFFFILE "<br><hr><table border=0><tr><td>";
-    print DIFFFILE "Legend:<br><table border=0 cellspacing=0 cellpadding=1>\n";
-    print DIFFFILE "<tr><td align=center bgcolor=\"$diffcolorRemove\">$fs"."line(s) removed in v.$revnumber"."$fe</td><td bgcolor=\"$diffcolorEmpty\">$fs"."&nbsp;"."$fe</td></tr>";
-    print DIFFFILE "<tr bgcolor=\"$diffcolorChange\"><td align=center colspan=2>$fs"."line(s) changed"."$fe</td></tr>";
-    print DIFFFILE "<tr><td bgcolor=\"$diffcolorEmpty\">$fs"."&nbsp;"."$fe</td><td align=center bgcolor=\"$diffcolorAdd\">$fs"."line(s) added in v.$oldrevnumber"."$fe</td></tr>";
-    print DIFFFILE "</table></td></tr></table>\n";
-
-    print DIFFFILE html_footer("");
-    print DIFFFILE "</body>\n</html>\n";
-    close(DIFFFILE);
-  }
-}
-
-sub find_alldirs {
-  my @dirs = ();
-  find(
-       sub {
-         if (-d && ! -l && ! /CVS$/) {
-           if ($File::Find::dir eq "." && $_ eq ".") {
-             push @dirs, "./";
-           }
-           else {
-             push @dirs, "$File::Find::dir/$_";
-           }
-         }
-       }, '.'
-         );
-
-  @dirs = map { $_ . "\n" } @dirs;
-
-  return @dirs;
-}
-
-sub find_subdirs {
-  my $currentdir = shift;
-
-  my @dirs = ();
-  finddepth(
-            sub {
-              if (-d && ! -l && ! /CVS$/ && $File::Find::dir eq $currentdir) {
-                if ( ! ($File::Find::dir eq $currentdir && $_ eq ".") ) {
-                  push @dirs, "$File::Find::dir/$_";
-                }
-              }
-            }, $currentdir
-                  );
-
-  @dirs = map { $_ . "\n" } @dirs;
-
-  return @dirs;
-}
-
-sub kill_log_header {
-  @llcvslog = ();
-  $headerstill = -1;
-  foreach $ii (0 .. ($#lcvslog-1)) {
-    if ($headerstill == 0) {
-      @llcvslog = (@llcvslog,$lcvslog[$ii]);
-    }
-    else {
-      $headerstill = $headerstill - 1;
-      if ($lcvslog[$ii] =~ '----------------------------') {
-               $headerstill = 2;
-      }
-    }
-  }
-}
-
-#############################################################
-# Lets set up the basics
-#############################################################
-
-# Always enforce restrictions on dates. If no date is given
-# a very early one is used.
-date_control;
-
-# Set the width of the left frame.
-# Default value has been set above.
-if ($opt_w) {
-  $leftframewidth = $opt_w;
-}
-
-# Set the splitratio of the left frame.
-# Default value has been set above.
-if ($opt_s) {
-  $leftsplitratio = $opt_s;
-}
-
-# I want help!
-if ($opt_h) {
-  shorthelp;
-  showhelp;
-  exit(0);
-}
-
-# The user must give a filename for the HTML-file(s)
-if ((!(($opt_O) || ($opt_o))) || (($opt_O) && ($opt_o))) {
-  shorthelp;
-  print "\nMade by Peter Toft (pto\@sslug.dk).\ncvs2html is protected by the GPL.\n";
-  exit(0);
-}
-
-$dochrono="";
-if($opt_c) {
-  $dochrono=$opt_c;
-}
-if($opt_C) {
-  $dochrono=$opt_C;
-}
-
-
-# Is -c followed by a "valid" filename ?
-if (length($dochrono)>5) {
-  $chronooutname = $dochrono;
-}
-else {
-  $chronooutname = "cvs2html_chrono_log.html";
-}
-
-# Want to write to a file with frames?
-if ($opt_o) {
-  $frames = 1;
-  $outname = $opt_o;
-}
-
-# Do you want to limit to certain revisions
-$revisionlimiter="";
-$revisionlimitertext="";
-$starttag="";
-if ($opt_r) {
-  $revisionlimiter = "-r".$opt_r;
-  $revisionlimitertext=" and only showing data between revisions $opt_r";
-  if ($opt_r =~ /^(\S*):(\S*)/) {
-    $starttag=$1;
-    $endtag=$2;
-  }
-  $revisionlimiter_end = "-r:".$endtag;
-  $revisionlimiter_startonly = "-r".$starttag;
-}
-
-# Want to write to a file without frames?
-if ($opt_O) {
-  $frames = 0;
-  $outname = $opt_O;
-}
-
-$linkrel = "";
-# Want to link to external file
-if ($opt_l) {
-  $linkrel = $opt_l;
-}
-
-# Explicit path to cvs
-if ($opt_P) {
-  $cvsLocation = $opt_P;
-}
-
-# Get the environment variable CVSROOT for this CVS repository
-open(INFILE,"<./CVS/Root") or die "Error: The file ./CVS/Root is missing  - this directory does not seem to be under CVS-control.";
-($fullcvsroot) = <INFILE> =~/^(.*)$/;
-close INFILE;
-
-# Split CVSROOT in machine and dir if possible.
-@spl = split(':',$fullcvsroot);
-if ($#spl == 3) {
-# @spl[0] is empty because client/server root starts with ':' -> ":pserver" or ":ext"
-    $protocol =$spl[1]; # client/server
-    ($cvsuser,$machine) = split('@',$spl[2]);
-    $cvsroot = $spl[3];
-}
-elsif ($#spl == 1) {
-    $protocol = "rsh/ssh";
-    ($cvsuser,$machine) = split('@',$spl[0]);
-    $cvsroot = $spl[1];
-}
-else {
-    $protocol = "local";
-    $cvsuser = "";
-    $machine =  "localhost";
-    $cvsroot = $spl[0];
-}
-
-# Get the name of the repository
-open(INFILE,"<./CVS/Repository")  or die "Error: The file ./CVS/Repository is missing.";
-
-#($rootdir) = <INFILE> =~/^\Q$fullcvsroot\E(.*)$/;
-($rootdir) = <INFILE>;
-$rootdir = basename($rootdir);
-($rootdir) = $rootdir =~ /^(.*)$/;
-
-close INFILE;
-
-# Strip a .html from the outname if any (pasted on later)
-($outnamem) = $outname =~ /^(.*)\.html$/;
-if (length($outnamem)>0) {
-  $outname = $outnamem;
-}
-
-# If an outputname is a directory a file named after the repository
-# is generated (and others if using frames).
-if (-d $outname) {
-  $outname = $outname."/".$rootdir;
-}
-
-# Split the outname from a possible directory full path
-$outfilename = basename($outname);
-$outdirname = dirname($outname);
-
-($outfilename) = $outfilename =~ /^(.*)$/;
-($outdirname) = $outdirname =~ /^(.*)$/;
-$fulldiffdirname = $outdirname."/".$diffdirname;
-
-mkdir($outdirname,0775);
-mkdir($fulldiffdirname,0775);
-
-if(defined($opt_V) && $opt_V>0) { print STDOUT "Processing \#1 $currentdir\n"; }
-
-# Get all dirs to search
-@entirealldirs = find_alldirs();
-
-# Only pass along subdirectories that are under version control
-@alldirs = ();
-foreach $dir (@entirealldirs) {
-    chop($dir);
-    if ( -d "$dir/CVS" ) {
-        if(defined($opt_V) && $opt_V>1) { print STDOUT "  $dir\n"; }
-        push(@alldirs, "$dir\n");
-    }
-}
-
-if ($frames == 1) {
-  # Write the start of the left lower frame if more than one dir
-  if (($#alldirs > 0) || ($dochrono)) {
-    $llname = $outdirname.'/'.$outfilename."__lfl.html";
-    open(OUTFILE3,">$llname") or die "Error: The file $llname could not be opened.";
-    @listhtmlnames = (@listhtmlnames,$llname);
-       print OUTFILE3 html_header("");
-
-    if ($dochrono) {
-      print OUTFILE3 "<table border=0 cellspacing=1 cellpadding=3 bgcolor=\"$cellcolor\" width=\"100%\">\n";
-      $coutref = $outdirname."/".$chronooutname;
-      print OUTFILE3 '<tr><td><a href="'.$chronooutname.'" target="rf"><FONT SIZE="-1">Chronological Log'."</font></a></td></tr>\n";
-      print OUTFILE3 "</table><br>\n";
-    }
-
-    print OUTFILE3 "<h3 align=center>Dirs</h3>\n";
-    print OUTFILE3 "<table border=0 cellspacing=1 cellpadding=3 bgcolor=\"$cellcolor\" width=\"100%\">";
-
-    for ($ii=0;$ii<=$#alldirs;$ii++) {
-      $alldirs[$ii] =~ /^\.(.*)$/;
-      $dir = $1;
-      $showdir = "[$rootdir]$dir";
-      $refname = $dir;
-
-      $refname =~ tr/\//_/;
-
-      if (length($refname) == 1) {
-        $refname = $outfilename;
-      }
-      else {
-        $refname = $outfilename.$refname;
-      }
-      print OUTFILE3 '<tr><td><a href="'.$refname.'.html" target="_top"><FONT SIZE="-1">'.$showdir."</font></a></td></tr>\n";
-    }
-    print OUTFILE3 "</table>\n";
-    print OUTFILE3 "</body>\n";
-    print OUTFILE3 "</html>\n";
-
-    close(OUTFILE3);
-  }
-}
-
-if ($dochrono) {
-  $chronocounter = -1;
-  @chronoindex=();
-  @chronoauthor=();
-  @chrononame=();
-  @chronotimesince0=();
-  @chronoversion=();
-  @chronoshowtime=();
-  @chronolinknames=();
-}
-
-#############################################################
-# Lets go for each of the directories
-#############################################################
-for ($dd=0;$dd<=$#alldirs;$dd++) {
-  # Initialization
-  @otherdnames = ();
-  $lineno = -1;
-  $foundbadone = 0;
-  $fnumber = 1;
-
-  # Where are we ?
-  # $convdir is the current dir where all / are converted to _
-  ($currentdir) = $alldirs[$dd] =~ /^\.\/(.*)$/;
-  $convdir = $currentdir;
-  $convdir =~ tr/\//_/;
-  if (length($currentdir)==0) {
-    $currentdirformat2 ="";
-    $currentdir='.';
-    $convdir = "";
-  }
-  else {
-    $currentdirformat2 = $currentdir."/";
-    $convdir = '_'.$convdir;
-  }
-  if(defined($opt_V) && $opt_V>0) { print STDOUT "Processing \#2 $currentdir\n"; }
-
-  @entiresubdirs = find_subdirs($currentdir);
-  @subdirs = ();
-  foreach $dir (@entiresubdirs) {
-    chop($dir);
-    if ( -d "$dir/CVS" ) {
-         if(defined($opt_V) && $opt_V>1) { print STDOUT "  $dir\n"; }
-         push(@subdirs, "$dir\n");
-       }
-  }
-
-  if ($frames == 1) {
-       $llname = $outdirname.'/'.$outfilename.$convdir."__lfl.html";
-       open(OUTFILE3,">$llname") or die "Error: The file $llname could not be opened.";
-       @listhtmlnames = (@listhtmlnames,$llname);
-       print OUTFILE3 html_header("");
-       
-       if ($dochrono) {
-         print OUTFILE3 "<table border=0 cellspacing=1 cellpadding=3 bgcolor=\"$cellcolor\" width=\"100%\">";
-         $coutref = $outdirname."/".$chronooutname;
-         print OUTFILE3 '<tr><td><a href="'.$chronooutname.'" target="rf"><font size="-1">Chronological Log'."</font></a></td></tr>\n";
-         print OUTFILE3 "</table><br>\n";
-       }
-       
-       if ($#subdirs>=0 || $currentdir ne '.') {
-         print OUTFILE3 "<h3 align=center>Sub Dirs</h3>\n";
-         print OUTFILE3 "<table border=0 cellspacing=1 cellpadding=3 bgcolor=\"$cellcolor\" width=\"100%\">";
-
-         if($currentdir eq '.') {
-               # No parent directory to top
-         }
-         else {
-               $showdir = ".. Parent Dir";
-               $up = dirname ($currentdir);
-               ($up) = $up =~ /^(.*)$/;
-
-               if ($up eq ".") {
-                 $refname = "/";
-               }
-               else {
-                 $refname = "/$up";
-               }
-               $refname =~ tr/\//_/;
-               if (length($refname) == 1) {
-                 $refname = $outfilename;
-               }
-               else {
-                 $refname = $outfilename.$refname;
-               }
-               print OUTFILE3 '<tr><td><a href="'.$refname.'.html" target="_top"><FONT SIZE="-1">'.$showdir."</font></a></td></tr>\n";
-         }
-         for ($ii=0;$ii<=$#subdirs;$ii++) {
-               $subdirs[$ii] =~ /^\.(.*)$/;
-               $dir = $1;
-               $up = dirname ($subdirs[$ii]);
-               ($up) = $up =~ /^(.*)$/;
-               $up = basename ($up);
-               ($up) = $up =~ /^(.*)$/;
-               $down = basename ($subdirs[$ii]);
-               ($down) = $down =~ /^(.*)$/;
-               $dir = "/$down";
-               if ($up eq ".\n") {
-                 $showdir = "[$rootdir]$dir";
-               }
-               else {
-                 $showdir = "[$up]$dir";
-               }
-
-               if($currentdir eq '.') {
-                 $refname = $dir;
-               }
-               else {
-                 $refname = "/$currentdir$dir";
-               }
-               $refname =~ tr/\//_/;
-               if (length($refname) == 1) {
-                 $refname = $outfilename;
-               }
-               else {
-                 $refname = $outfilename.$refname;
-               }
-
-               print OUTFILE3 '<tr><td><a href="'.$refname.'.html"  target="_top"><FONT SIZE="-1">'.$showdir."</font></a></td></tr>\n";
-         }
-         print OUTFILE3 "</TABLE><br>\n";
-       }
-       print OUTFILE3 "</body>\n";
-       print OUTFILE3 "</html>\n";
-
-       close(OUTFILE3);
-  }
-
-  # Should the output have frames then make left lower frame.
-  if ($frames == 1) {
-    # Write the start of the left upper frame
-    $luname = $outdirname.'/'.$outfilename.$convdir."__lfu.html";
-    open(OUTFILE2,">$luname") or die "Error: The file $luname could not be opened.";
-    @listhtmlnames = (@listhtmlnames,$luname);
-       print OUTFILE2 html_header("");
-       print OUTFILE2 "<h3 align=\"center\">Log History</h3>\n";
-    print OUTFILE2 "<table border=0 cellspacing=1 cellpadding=3 bgcolor=\"$cellcolor\" width=\"100%\">";
-       %outfile2lines=();
-  }
-
-  # Should the output have frames ?
-  if ($frames == 1) {
-    $mainname = $outdirname.'/'.$outfilename.$convdir.".html";
-
-    # Write the start of the main html file
-    open(OUTFILE4,">$mainname") or die "Error: The file $mainname could not be opened.";
-    @listhtmlnames = (@listhtmlnames,$mainname);
-    print OUTFILE4 "<\!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Frameset//EN\" \"http://www.w3.org/TR/html4/frameset.dtd\">\n<html>\n";
-    print OUTFILE4 "<head><title>CVS2HTML</title></head>\n";
-    print OUTFILE4 "<frameset cols=\"$leftframewidth,*\">\n";
-    # only do the left lower frame if subdirs found
-
-    if (($#alldirs > 0)  || ($dochrono)) {
-      print OUTFILE4 "<frameset rows=\"".$leftsplitratio.",*\">\n";
-      print OUTFILE4 "<frame scrolling=auto src=\"".$outfilename.$convdir."__lfu.html\" name=\"lfu\">\n";
-      print OUTFILE4 "<frame scrolling=auto src=\"".$outfilename.$convdir."__lfl.html\" name=\"lfl\">\n";
-#      print OUTFILE4 "<frame scrolling=auto src=\"$outfilename"."__lfl.html\" name=\"lfl\">\n";
-      print OUTFILE4 "</frameset>\n";
-    }
-    else {
-      print OUTFILE4 "<frame scrolling=auto src=\"$outfilename".$convdir."__lfu.html\" name=\"lfu\">\n";
-    }
-    # Do right frame link
-    print OUTFILE4 "<frame scrolling=auto src=\"$outfilename".$convdir."__rf.html\" name=\"rf\">\n";
-    print OUTFILE4 "<noframes>\n";
-    print OUTFILE4 "<h2 align=center>CVS Directories</h2>\n<hr>\n<br>\n";
-  }
-
-  if(defined($opt_V) && $opt_V>0) { print STDOUT "Getting cvs-entries\n"; }
-
-  $cvsnames = "";
-  @cvsnameslist = ();
-  $Entryfilename = $currentdir."/CVS/Entries";
-
-  open(NAMEFILE,"<$Entryfilename");
-  $contin = 1;
-  $nooffiles = 0;
-  while ($contin ==1) {
-    $namlin = <NAMEFILE>;
-    ($readnameline) = $namlin =~ /^\/([ a-zA-Z0-9-+_\.(...)]*)\/.*$/;
-    $_ = $readnameline;
-    s/ /~/g;
-    $readnameline = $_;
-    if (length($namlin)>0) {
-      if (length($readnameline)>0) {
-        $nooffiles++;
-        $cvsnames = $cvsnames." ".$currentdir.'/'.$readnameline;
-        push @cvsnameslist, $currentdir.'/'.$readnameline;
-      }
-    }
-    else {
-      $contin=0;
-    }
-  }
-  close(NAMEFILE);
-
-  # Check for an empty Log (if, e.g., the directory does not contain files
-  # registered with CVS).
-  if (length ($cvsnames) <= 0) {
-       print STDERR "Error 4 : Doing $currentdir: Log is empty.\n";
-       # We really should make a file here I think
-       if ($frames == 1) {
-         $rfoutname = $outdirname.'/'.$outfilename.$convdir."__rf.html";
-         open(OUTFILE,">$rfoutname") or die "Error: Could not open $rfoutname\n.";
-         @listhtmlnames = (@listhtmlnames,$rfoutname);
-       }
-       $fnumber=2;
-       if (length($currentdir)==1) {
-         print OUTFILE html_header("--- $rootdir ---");
-       }
-       else {
-         print OUTFILE html_header("--- $rootdir/$currentdir ---");
-       }
-       
-       if ($opt_v) { print OUTFILE cvsrootinfo(); }
-       print OUTFILE html_footer("");
-       print OUTFILE "</body></html>\n";
-       
-       # Lets open the main file and process
-       if ($frames == 1) {
-         $rfoutname = $outdirname.'/'.$outfilename.$convdir.$fname."__rf.html";
-         open(OUTFILE,">$rfoutname") or die "Error: Could not open $rfoutname\n.";
-         @listhtmlnames = (@listhtmlnames,$rfoutname);
-       }
-       else {
-         $mainoutname = $outdirname.'/'.$outfilename.$convdir.$fname.".html";
-         open(OUTFILE,">$mainoutname") or die "Error: Could not open $mainoutname\n.";
-         @listhtmlnames = (@listhtmlnames,$mainoutname);
-       }
-       $fnumber=2;
-       if (length($currentdir)==1) {
-         print OUTFILE html_header("--- $rootdir ---");
-       }
-       else {
-         print OUTFILE html_header("--- $rootdir/$currentdir ---");
-       }
-       print OUTFILE "<center>This directory is empty</center>\n";
-       closemainfile;
-  }
-  next if (length ($cvsnames) <= 0); # Log is empty so proceed to next directory
-
-  if(defined($opt_V) && $opt_V>0) { print STDOUT "Retrieving logdata\n"; }
-
-  $_ = join ('" "', sort (split ' ', $cvsnames));
-  s/~/ /g;
-  $cvsnames = '"'.$_.'"';
-  @cvslogarray = ();
-
-# it would be nice to have just one cvs log <file_1> <file_2> ... <file_n>
-# the filter out invalid branch blocs and re-request them
-# for this I would need to know how this message looks like
-
-  foreach $cvsnamesentry (@cvsnameslist) {
-       if(defined($opt_V) && $opt_V>1) { print STDOUT "  $cvsnamesentry\n"; }
-    @cvslogarray_sub = `$cvsLocation log $revisionlimiter $cvsnamesentry 2>&1 `;
-    if ($cvslogarray_sub[0] =~ /connection refused/i) {
-         print STDERR "Error 3 : connection to cvs refused for \"$cvsnamesentry\"\n";
-         @cvslogarray_sub = ();
-         last;
-       }
-    if ($cvslogarray_sub[0] =~ /invalid branch or revision pair/i) {
-      # the end tag was probably the first rev in a branch and "cvs log"
-      # does not tolerate such combination, it needs special handling
-      # retry with '-r:endtag'
-      print "retrying with $revisionlimiter_end\n";
-      @cvslogarray_sub_branch = `$cvsLocation log $revisionlimiter_end $cvsnamesentry`;
-      @cvslogarray_sub_trunk = `$cvsLocation log $revisionlimiter_startonly $cvsnamesentry`;
-      # find index of log entry separator line in @cvslogarray_sub_trunk
-      $trunk_log_line = 0;
-      while ( $trunk_log_line <=  $#cvslogarray_sub_trunk and
-                         ! ($cvslogarray_sub_trunk[$trunk_log_line] =~ /^--------*$/) ){
-               $trunk_log_line++;
-      }
-      # combine both logs
-      @cvslogarray_sub = (@cvslogarray_sub_branch[0 .. $#cvslogarray_sub_branch-1],
-                                                 @cvslogarray_sub_trunk[$trunk_log_line .. $#cvslogarray_sub_trunk]);
-    }
-    push @cvslogarray, @cvslogarray_sub;
-  }
-
-  if(defined($opt_V) && $opt_V>0) { print STDOUT "Processing logdata\n"; }
-
-  $line = getnextline;
-
-  # skip lines starting with "?"
-  while ($line =~ /^\? (.*)$/) {
-    $foundbadone = 1 ;
-    $line = getnextline;
-  }
-
-  while ($line) {
-    if ($opt_n>0) {
-      $nodiff = $opt_n;
-    }
-    else {
-      $nodiff = -1;
-    }
-    $oldrevnumber=0;
-    if ($line =~ /^\? (.*)/) {
-      print STDERR "The file \"$1\" is not part of cvs\n";
-      $line = getnextline;
-    }
-    $line = getnextline;
-
-       # skip lines starting with "?"
-    while ($line =~ /^\? (.*)$/) {
-      $foundbadone = 1 ;
-      $line = getnextline;
-    }
-
-       # found a filename (ends on ",v")
-    if ($line =~ /^.*: (.*),v$/) {
-      $line = getnextline;
-      ($lfilename) = $line =~ /^.*: (.*)$/;
-
-      ($filename) = $lfilename =~ (/^.*\/([ a-zA-Z0-9-+_\.(...)]*)$/);
-      if (length($filename) == 0) {
-        $filename = $lfilename;
-      }
-
-      if (length($filename) == 0) {
-        print STDERR "Error 2 in processing the output of cvs log in $currentdir\n";
-        print STDERR $line;
-      }
-         else {
-               if(defined($opt_V) && $opt_V>1) { print STDOUT "  $filename\n"; }
-         }
-      $printfilename = 0;
-      $onlist = 0;
-    }
-    else  {
-      print STDERR "Error 1 in processing the output of cvs log in $currentdir\n";
-      print STDERR $line;
-      print STDERR "\n";
-      if ($line =~ /nothing known about/) {
-        print STDERR "No log info for file.\n";
-        last;
-      }
-    }
-
-    # Find the next separator...
-    while ($line and !($line =~ /^symbolic names:/) and !($line =~ /^--------*$/) and !($line =~ /^========*$/)) {
-      $line = getnextline;
-    }
-
-    # Find the revision of the startrevision if any:
-    $startrevision="";
-    if ($line =~ /^symbolic names:/) {
-      $line = getnextline;
-      while (!($line =~ /^[a-z]/)) {
-               if ($line =~ /[         ]*(\S*): (\S*)$/) {
-                 if ($1 eq $starttag) {
-                       $startrevision=$2;
-                 }
-               }
-        $line = getnextline;
-      }
-      # Find the next separator...
-      while (!($line =~ /^--------*$/) and !($line =~ /^========*$/)) {
-               $line = getnextline;
-      }
-    }
-
-    $newfile=0;
-
-    # If the separator is a new file separator, flag it.
-    if ($line =~ /^========*$/) {
-      $newfile = 1;
-      # FIXME: We still need to create a index~<filename>__rf.html
-         if ($frames == 1) {
-               $rfoutname = $outdirname.'/'.$outfilename.$convdir."__rf.html";
-               open(OUTFILE,">$rfoutname") or die "Error: Could not open $rfoutname\n.";
-               @listhtmlnames = (@listhtmlnames,$rfoutname);
-         }
-         $fnumber=2;
-         if (length($currentdir)==1) {
-               print OUTFILE html_header("--- $rootdir ---");
-         }
-         else {
-               print OUTFILE html_header("--- $rootdir/$currentdir ---");
-         }
-         if ($opt_v) { print OUTFILE cvsrootinfo(); }
-         print OUTFILE html_footer("");
-         print OUTFILE "</body></html>\n";
-
-      # This just skips over this file.
-    }
-
-       if(defined($opt_V) && $opt_V>2) { print STDOUT "    Getting metadata\n"; }
-
-    $leftfill = 0;
-    $line = getnextline;
-
-    while ($newfile==0) {
-      if ($line =~ /revision (\S*)/) {
-        $revnumber=$1;
-      }
-      else {
-        $revnumber = "[Error_in_revnumber]";
-      }
-
-      $line = getnextline;
-
-      if ($line =~ /date: (...................)/) {
-        $revdate = $1;
-      }
-      else {
-        $revdate = "[Error_in_revdate]";
-      }
-
-      if ($line =~ /author: ([a-zA-Z0-9_]*);/) {
-        $author = $1;
-      }
-      else {
-        $author = "[Error_in_author]";
-      }
-
-      if ($line =~ /lines: ([+\-0-9 ]*)$/) {
-        $changelines = $1;
-      }
-      else {
-        $changelines = "None";
-      }
-
-      $line = getnextline;
-
-      if ($line =~ /branches: (.*)/) {
-        $line = getnextline;
-      }
-
-      ($rd1,$rd2,$rd3,$rdrest) = $revdate =~ /^(\d+)\/(\d+)\/(\d+) (.*)$/;
-      $revdateformat2 = $rd1.$rd2.$rd3;
-      ($rt1,$rt2,$rt3) = $rdrest =~/(\d+)\:(\d+)\:(\d+)/;
-
-      $revdateformat3 = 3600*$rt1+60*$rt2+$rt3+86400*$revdateformat2;
-      $printfilename = $printfilename + 1;
-
-      $fname="";
-      if ($opt_f) {
-        $fname = '~'.$filename;
-      }
-      if ((($fnumber == 1) || ($opt_f)) && ($printfilename==1)) {
-        if (($opt_f) && ($fnumber==1)){
-          $rfoutname = $outdirname.'/'.$outfilename.$convdir."__rf.html";
-          open(OUTFILE,">$rfoutname") or die "Error: Could not open $rfoutname\n.";
-          @listhtmlnames = (@listhtmlnames,$rfoutname);
-                 if (length($currentdir)==1) {
-                       print OUTFILE html_header("--- $rootdir ---");
-                 }
-                 else {
-                       print OUTFILE html_header("--- $rootdir/$currentdir ---");
-                 }
-          print OUTFILE "<h3>Select entries from the left panel to get to the cvs log information for the files</h3>\n";
-                 print OUTFILE html_footer("");
-          print OUTFILE "</body>\n</html>\n";
-          close(OUTFILE);
-        }
-
-        # Lets open the main file and process
-        if ($frames == 1) {
-          $rfoutname = $outdirname.'/'.$outfilename.$convdir.$fname."__rf.html";
-          open(OUTFILE,">$rfoutname") or die "Error: Could not open $rfoutname\n.";
-          @listhtmlnames = (@listhtmlnames,$rfoutname);
-        }
-        else {
-          $mainoutname = $outdirname.'/'.$outfilename.$convdir.$fname.".html";
-          open(OUTFILE,">$mainoutname") or die "Error: Could not open $mainoutname\n.";
-          @listhtmlnames = (@listhtmlnames,$mainoutname);
-        }
-        $fnumber=2;
-               if (length($currentdir)==1) {
-                 print OUTFILE html_header("--- $rootdir ---");
-               }
-               else {
-                 print OUTFILE html_header("--- $rootdir/$currentdir ---");
-               }
-               if ($opt_v) { print OUTFILE cvsrootinfo(); }
-      }
-
-      $needthisrevision = 0;
-      if (($revdateformat2 >= $cutdate) and ($revnumber ne $startrevision)) {
-        $needthisrevision = 1;
-      }
-
-      if ( $needthisrevision or $needthisdiffonly ) {
-               if (($onlist == 0) && ($printfilename == 1)) {
-                 print OUTFILE "<a name=\"$filename\">\n</a>\n";
-                 print OUTFILE "<table border=0 cellspacing=1 cellpadding=3 bgcolor=\"$cellcolor\" width=\"100%\">\n";
-                 print OUTFILE "<tr>\n";
-                 print OUTFILE "<td colspan=4 bgcolor=\"$filenamecellcolor\"><b><font size=\"+1\">\n";
-
-                 $cdir = "";
-                 if (length($currentdir)>1) {
-                       $cdir = '/'.$currentdir;
-                 }
-
-                 $Ls = "";
-                 $Le = "";
-                 if ($opt_L) {
-                       ($flname,$ext) = $filename =~ /^([a-zA-Z0-9+-_]*)\.([a-zA-Z0-9]*)$/;
-                       if (length($ext)==0) {
-                         $flname = $filename;
-                       }
-                       $Ls = "<a href=\"$opt_L$cdir/$flname".".html\" target=\"_top\">";
-                       $Le = "</a>\n";
-                 }
-                 print OUTFILE $Ls."Filename".$Le.": ";
-
-                 $Ls = "";
-                 $Le = "";
-                 if (($opt_l) && ($opt_R)) {
-                       $Ls = "<a href=\"$opt_l$cdir/$filename/\?cvsroot\=$opt_R\">";
-                       $Le = "</a>\n";
-                 } elsif (($opt_l) && (! opt_R)) {
-                       $Ls = "<a href=\"$opt_l$cdir/$filename\">";
-                       $Le = "</a>\n";
-                 }
-                       
-                 print OUTFILE $Ls.$filename.$Le;
-                 print OUTFILE "</font></B><br></td></tr>\n";
-               }
-        $onlist = 1;
-        if (($opt_o) && ($leftfill == 0)) {
-          if ($opt_f) {
-            $chronolinker = $outfilename.$convdir.'~'.$filename.'__rf.html';
-          }
-          else {
-            $chronolinker = $outfilename.$convdir.'__rf.html#'.$filename;
-          }
-                 # justcollect, we'll output them sorted on filename
-                 $outfile2lines{$filename}="<tr><td><a href=\"$chronolinker\" target=\"rf\"><font size=\"-1\">$filename</font></a></td></tr>\n";
-          $leftfill=2;
-        }
-        if (($opt_a) && ($oldrevnumber!=0) && ($nodiff!=0)) {
-          print OUTFILE "<tr><td colspan=4 bgcolor=\"$differencebackground\"><i>Show difference between <a href=\"$diffdirname/diff$convdir\_$filename\_$oldrevnumber\_$revnumber.html\">Revision $revnumber and $oldrevnumber </a></i>\n";
-          generate_diff_file;
-          $nodiff--;
-        }
-        $oldrevnumber=$revnumber;
-               if ( $needthisrevision==0 ) {
-                 $needthisdiffonly = 0;
-               }
-               if ( $needthisrevision!=0 ) {
-                 if (($opt_a) && ($nodiff!=0)) {
-                       $needthisdiffonly = 1;
-                 }
-                 print OUTFILE "<tr><td><b>Revision $revnumber</b><td>$author\n";
-                 print OUTFILE "<td>$revdate";
-                 if (length($changelines)<2) {
-                       print OUTFILE "<td>None\n";
-                 }
-                 else {
-                       print OUTFILE "<td>$changelines\n";
-                 }
-                 print OUTFILE "<tr><td colspan=4>\n";
-                 if ($dochrono) {
-                       $chronocounter++;
-                       $nams = $currentdirformat2.$filename;
-                       @chronoindex = (@chronoindex,$chronocounter);
-                       @chrononame = (@chrononame,$nams);
-                       @chronoauthor = (@chronoauthor,$author);
-                       @chronoversion = (@chronoversion,$revnumber);
-                       @chronoshowtime = (@chronoshowtime,$revdate);
-                       @chronotimesince0 = (@chronotimesince0,$revdateformat3);
-                       @chronolinknames = (@chronolinknames,$chronolinker);
-                 }
-               }
-      }
-
-      # While more log read and process
-      $morelog=1;
-      while ($morelog==1) {
-        if ($line =~ /^----------*$/) {
-          $morelog=0;
-        }
-        else {
-          if ($line =~ /^========*$/) {
-            $newfile=1;
-            $morelog=0;
-          }
-          else {
-            $_=$line;
-            s/&/&amp;/g;
-            s/\"/&quot;/g;
-            s/</&lt;/g;
-            s/>/&gt;/g;
-            $line=$_;
-            if ($line =~ /^(.*)$/) {
-              if (($revdateformat2 >= $cutdate) and ($revnumber ne $startrevision)) {
-                if ($opt_e) {
-                  print OUTFILE "<code>$1</code><br>\n";
-                }
-                else {
-                  print OUTFILE "$1<br>\n";
-                }
-              }
-            }
-          }
-        }
-        $line = getnextline;
-      }
-      print OUTFILE "\n";
-    }
-
-    if ($onlist==1) {
-      print OUTFILE "</table><br>\n";
-    }
-    if ($onlist==0) {
-      @otherdnames = (@otherdnames,$filename);
-    }
-    if ($opt_f) {
-      closemainfile;
-    }
-  }
-
-  if (!$opt_f) {
-    closemainfile;
-  }
-
-  if ($opt_o) {
-       # output all filenames sorted
-       foreach $key (sort { lc($a) cmp lc($b) } keys %outfile2lines) {
-         print OUTFILE2 $outfile2lines{$key}
-       }
-    print OUTFILE2 "</table><br>\n";
-  }
-  if (($opt_o) && ($nooffiles == $#otherdnames+1)) {
-    print OUTFILE2 "No file revisions.<br>\n";
-  }
-  if (($#otherdnames>=0) && ($opt_o)) {
-    print OUTFILE2 "<br><hr><h3 align=center>Unchanged</h3>\n";
-    if ($#otherdnames>=0) {
-      print OUTFILE2 "<table border=0 cellspacing=1 cellpadding=3 bgcolor=\"$cellcolor\" width=\"100%\">\n";
-      for ($ii=0;$ii<=$#otherdnames;$ii++) {
-               print OUTFILE2 "<tr><td><font size=\"-1\">$otherdnames[$ii]</font></td></tr>\n";
-      }
-      print OUTFILE2 "</table><br>\n";
-       }
-    else {
-      print OUTFILE2 "All files have revisions.<br>\n";
-    }
-  }
-
-  # Lets wrap up OUTFILE2
-  if ($opt_o) {
-    print OUTFILE2 "</body>\n";
-    print OUTFILE2 "</html>\n";
-    close(OUTFILE2);
-  }
-
-  # Found a bad one....... This should NOT happen
-  if ($foundbadone == 1) {
-    print STDERR "\ncvs2html found some files that was no part of CVS\n\n";
-  }
-
-  if ($frames == 1) {
-    print OUTFILE4 "<table border=0 cellspacing=1 cellpadding=3 bgcolor=\"$cellcolor\" width=\"100%\">\n";
-
-    for ($ddd=0;$ddd<=$#alldirs;$ddd++) {
-      ($currentdir) = $alldirs[$ddd] =~ /^\.\/(.*)$/;
-      $convdir = $currentdir;
-      $convdir =~ tr/\//_/;
-      if (length($currentdir)==0) {
-        $currentdir='.';
-        $convdir = "";
-      }
-      else {
-        $convdir = '_'.$convdir;
-      }
-
-      chop($ldir = $alldirs[$ddd]);
-      if (length($ldir) == 2) {
-        $ldir ="";
-      }
-      print OUTFILE4 "<tr><td><a href=\"".$outfilename.$convdir."__lfu.html\">[$rootdir]$ldir</a></td></tr>\n";
-    }
-    print OUTFILE4 "</table><br>\n";
-  }
-
-  print OUTFILE4 html_footer("");
-  print OUTFILE4 "</noframes>\n";
-  print OUTFILE4 "</frameset>\n";
-  print OUTFILE4 "</html>\n";
-  close(OUTFILE4);
-}
-
-if ($dochrono) {
-  $coutref = $outdirname."/".$chronooutname;
-  open(CHRONOFILE,">$coutref");
-
-  if(defined($opt_V) && $opt_V>0) { print STDOUT "Generate chrono file\n"; }
-
-  print CHRONOFILE html_header("CVS time sorted logs");
-  if ($frames == 0) {
-       print CHRONOFILE '<a href="'.$outfilename.'.html" target="_top">Back to main page</a><p>';
-  }
-
-
-  #print "Sorting the logfiles\r";
-  @cindex = sort sorter @chronoindex;
-  #print "Done sorting the logfiles\n";
-
-  if ($frames == 1) {
-    print CHRONOFILE "<table border=\"0\" width=\"100%\" bgcolor=\"$cellcolor\" cellspacing=\"1\" cellpadding=\"3\">";
-    printf(CHRONOFILE "<tr><td><b>%s</b></td> <td><b>%s</b></td> <td><b>%s</b></td>  <td><b>%s</b></td></tr>\n","Time       ","Revision","Author","Filename");
-  }
-  else {
-    printf(CHRONOFILE "<br><tr><br>\n%20s %8s %10s %s<br><hr>\n","Time       ","Revision","Author","Filename");
-  }
-
-  $cclim = $chronocounter;
-  $cindexlow=0;
-  if ($opt_N>0) {
-    if ($opt_N-1<$chronocounter) {
-      $cclim = $opt_N-1;
-      $cindexlow = $chronocounter+1-$opt_N;
-      $cctxt = " and only the last $opt_N changes are shown.";
-    }
-  }
-
-  if ($cindexlow<0) {
-    $cindexlow=0;
-  }
-
-  if ($opt_p) {
-    for ($ii=$cindexlow;$ii<=$chronocounter;$ii++) {
-      if ($opt_c) {
-               $cind = $ii;
-      }
-      else {
-               $cind = $chronocounter-$ii+$cindexlow;
-      }
-      $index = $cindex[$cind];
-
-         if(defined($opt_V) && $opt_V>1) { print STDOUT "  $chrononame[$index]\n"; }
-
-      @lcvslog = `$cvsLocation log -N -r$chronoversion[$index] "$chrononame[$index]"`;
-      @llcvslog = ();
-      $headerstill = -1;
-      foreach $jj (0 .. ($#lcvslog-1)) {
-               if ($headerstill == 0) {
-                 $_=$lcvslog[$jj];
-                 s/&/&amp;/g;
-                 s/\"/&quot;/g;
-                 s/</&lt;/g;
-                 s/>/&gt;/g;
-                 @llcvslog = (@llcvslog,$_);
-               }
-               else {
-                 $headerstill = $headerstill - 1;
-                 if ($lcvslog[$jj] =~ '----------------------------') {
-                       $headerstill = 2;
-                 }
-               }
-      }
-      $lcvslogar[$index] = join('<br>',@llcvslog);
-      if (length($lcvslogar[$index])<2) {
-               $lcvslogar[$index] = "<i>(Empty log)</i>";
-      }
-    }
-  }
-  for ($ii=$cindexlow;$ii<=$chronocounter;$ii++) {
-    if ($opt_c) {
-      $cind = $ii;
-      $cind2 = $ii+1;
-    }
-    else {
-      $cind = $chronocounter-$ii+$cindexlow;
-      $cind2 = $cind-1;
-    }
-    $index = $cindex[$cind];
-    $index2 = $cindex[$cind2];
-    $ccc = '<A HREF="'.$chronolinknames[$index].'">'.$chrononame[$index]."</a>";
-    if ($frames==0) {
-      printf(CHRONOFILE "%20s %8s %10s %s<br>\n",$chronoshowtime[$index],$chronoversion[$index],$chronoauthor[$index],$ccc);
-    }
-    else {
-      printf(CHRONOFILE "<tr><td><b>%s</b></td> <td>%s</td> <td>%s</td> <td>%s</td></tr>\n",$chronoshowtime[$index],$chronoversion[$index],$chronoauthor[$index],$ccc);
-      if ($opt_p) {
-       if ($ii == $chronocounter){
-         printf(CHRONOFILE "<tr><td COLSPAN=4>\n");
-         print CHRONOFILE  $lcvslogar[$index];
-         printf(CHRONOFILE "</td></tr>\n");
-       }
-       elsif (($lcvslogar[$index] ne $lcvslogar[$index2]) || (abs($chronotimesince0[$index]-$chronotimesince0[$index2]))>$commit_smalltimedifference) {
-         printf(CHRONOFILE "<tr><td COLSPAN=4>\n");
-         print CHRONOFILE  $lcvslogar[$index];
-         printf(CHRONOFILE "</td></tr>\n");
-       }
-      }
-    }
-  }
-
-  if ($frames == 1) {
-    print CHRONOFILE "</table>\n";
-  }
-  else {
-    print CHRONOFILE "<hr>\n";
-  }
-
-  if ($frames == 0) {
-       print CHRONOFILE '<p><a href="'.$outfilename.'.html" target="_top">Back to main page</a><p>';
-  }
-
-
-  $stradd="";
-  if ($cutdate>"00000000") {
-    $stradd.=" leaving out any log message prior to $cutyearformat2 $revisionlimitertext";
-  }
-  print CHRONOFILE html_footer($stradd.$cctxt);
-  #Wrap up the file
-  print CHRONOFILE "\n</body>\n</html>\n";
-
-  close(CHRONOFILE);
-# We must report that a new file has been made
-  @listhtmlnames = (@listhtmlnames,$coutref);
-}
-
-# Print status about which files have been generated
-#  all diffs are under *_diff/ directory
-#  files ending on "__rf" are those displayed in the right frame (the ones showing the revision history)
-#  files ending on "__lfu" are those displayed in the upper part of the left frame
-#  files ending on "__lfl" are those displayed in the lower part of the left frame
-#
-if(defined($opt_V) && $opt_V>0) {
-  print STDOUT "cvs2html has generated the following files :\n";
-  @ll=sort(@listhtmlnames);
-  for ($ff=0;$ff<=$#listhtmlnames;$ff++) {
-       print "  $ll[$ff]\n";
-  }
-  print "\n";
-}
diff --git a/deal.II/doc/auto/scripts/index.pl b/deal.II/doc/auto/scripts/index.pl
deleted file mode 100644 (file)
index c2cddbf..0000000
+++ /dev/null
@@ -1,51 +0,0 @@
-@entries = ();
-
-while(<>)
-{
-    next if (m/DeclException/);
-    chop;
-    s/\</\&lt\;/g;
-    s/\>/\&gt\;/g;
-    if (m/(.+)=([^=]+)=?$/)
-    {
-       @n = split "::", $1;
-
-       $entry = pop @n;
-       while ($#n>=0)
-       {
-           $entry .= "+" . pop @n;
-       }
-       $entry .= ',' . $2 . ',' . $library;
-       push @entries, $entry;
-    }
-    else
-    {
-       $library = $_;
-    }
-}
-
-print << 'EOT'
-<HTML><HEAD><TITLE>DEAL Name Index</TITLE></HEAD>
-<BODY><H1>Name Index of DEAL</H1><hr>
-Remark: Lowercase is sorted behind uppercase and destructors are isolated at
-the end.
-<hr>
-<TABLE CELLPADDING=5 CELLSPACING=0 RULES=ROWS BORDER=2>
-<TR><TH WIDTH=300><B>function/class</B><TH ALIGN=CENTER WIDTH=300><B>in class</B></TR>
-</TABLE>
-EOT
-    ;
-foreach $entry (sort @entries)
-{
-    @l = split ",", $entry;
-    @c = split '\+', @l[0];
-    @f = split "#", @l[1];
-
-    print '<TABLE CELLPADDING=5 CELLSPACING=0 RULES=ROWS BORDER=2>';
-    print "\n<TR><TH ALIGN=left WIDTH=300><A HREF = \"$l[2]/@f[0]\">@c[0]</A><TD WIDTH=300>@c[1]</TR></TABLE>\n";
-}
-print << 'EOT'
-</BODY>
-</HTML>
-EOT
-    ;
diff --git a/deal.II/doc/auto/scripts/kdoc/Ast.pm b/deal.II/doc/auto/scripts/kdoc/Ast.pm
deleted file mode 100644 (file)
index 74d4a15..0000000
+++ /dev/null
@@ -1,93 +0,0 @@
-package Ast;
-
-#-----------------------------------------------------------------------------
-# This package is used  to create a simple Abstract Syntax tree. Each node
-# in the AST is an associative array and supports two kinds of properties -
-# scalars and lists of scalars.
-# See SchemParser.pm for an example of usage.
-#                                                               ... Sriram
-#-----------------------------------------------------------------------------
-
-sub BEGIN {
-       $currLevel = 0;
-       $indent = " " x 2;
-}
-
-# Constructor 
-# e.g AST::New ("personnel")
-# Stores the argument in a property called astNodeName whose sole purpose
-# is to support Print()
-
-sub New {
-       my ($this) = {"astNodeName" => $_[0]};
-       bless ($this);
-       return $this;
-}
-
-# Add a property to this object
-# $astNode->AddProp("className", "Employee");
-
-sub AddProp {
-       my ($this) = $_[0];
-       $this->{$_[1]} = $_[2];
-}
-
-# Equivalent to AddProp, except the property name is associated
-# with a list of values
-# $classAstNode->AddProp("attrList", $attrAstNode);
-
-sub AddPropList {
-       my ($this) = $_[0];
-       if (! exists $this->{$_[1]}) {
-               $this->{$_[1]} = [];
-       }
-       push (@{$this->{$_[1]}}, $_[2]);
-}
-
-# Returns a list of all the property names of this object
-sub GetProps {
-       my ($this) = $_[0];
-       return keys %{$this};
-}
-
-sub Visit {
-    # Converts each of this AstNode's properties into global variables.
-    # The global variables are introduced into package "main"
-    # At the same time, a piece of code is  formed to undo this work above -
-    # $endCode essentially contains the values of these global variables
-    # before  they are mangled. endCode gets pushed into a stack (endCodes),
-    # which is unwound by UnVisit().
-
-    local ($this, $pack) = @_;
-
-
-    $code = ""; $endCode = "";
-
-
-
-    foreach $k (keys %{$this}) {
-
-       $glob = $pack."::".$k;
-
-       if ( defined $$glob ) {
-
-               if ( ${$glob} ne "" ) {
-                       $$glob =~ s/\'/\\\'/g; 
-               }
-
-           $endCode .= '$'.$pack.'::'.$k. " = '".$$glob."';";
-       } else {
-           $endCode .= '$'.$pack . "::". $k . ' = "";';
-       }
-       $code .= '$'.$pack . "::" . $k . "= \$this->{\"$k\"};";
-    }
-    push (@endCodes, $endCode);
-    eval($code) if $code;
-}
-
-sub UnVisit {
-    $code = pop(@endCodes);
-    eval($code) if ($code);
-}
-
-1;
diff --git a/deal.II/doc/auto/scripts/kdoc/kdoc b/deal.II/doc/auto/scripts/kdoc/kdoc
deleted file mode 100644 (file)
index 6675053..0000000
+++ /dev/null
@@ -1,1308 +0,0 @@
-#!/usr/local/bin/perl
-
-# Documentation generator. 
-# Torben Weis (weis@kde.org) and Sirtaj Kang (taj@kde.org)
-# $Id$
-
-#    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., 675 Mass Ave, Cambridge, MA 02139, USA.
-
-###########################################################
-#
-# Global Variables
-#
-###########################################################
-
-# system options
-require 5.000;
-
-$PREFIX="/usr/local";
-push( @INC, $PREFIX."/share/kdoc");
-
-require Ast;
-
-# User options
-
-$dontDoPrivate = 1;
-$strictParser  = 0;
-$documentAll   = 1;
-$docDeprecated = 1;
-$docInternal   = 1;
-$debug         = 0;
-$docPath       = ".";
-$urlBase       = "";
-$libPath       = ".";
-$lib           = "";
-$genHTML       = 0;
-$genTeX                = 0;
-$genMan                = 0;
-$quiet         = 0;
-
-# running environment
-($version = '$Version$') =~ s/:\s*//g;
-
-$version =~ s/Version//g;
-
-$thisHost      = `uname -n`;   chop $thisHost;
-$user          = `whoami`;     chop $user;
-
-$generatedByText= 'Documentation generated by '.$user. '@'.
-               $thisHost.' on '.`date`;
-
-$libPath       = $ENV{'KDOCLIBS'} if $ENV{'KDOCLIBS'} ne "";
-
-# globals - for method
-
-$exceptions    = "";
-%paramDesc     = ();
-$paramName     = "";
-$paramText     = "";
-$retText       = "";
-$see           = "";
-$text          = "";
-$methInternal  = 0;
-$methDeprecated = 0;
-
-# for class 
-$class                 = "";
-$classAuthor           = "";
-$classDeprecated       = 0;
-$classInternal         = 0;
-$classSee              = "";
-$classShortText                = "";
-$classShortTextSet     = 0;
-$classText             = "";
-$classVersion          = "";
-$classInherits         = "";
-$classAbstract         = 0;
-$classTmplArgs         = "";
-
-%classRef              = (); # KDOC reference file
-%classSource           = (); # tracks headers given a class name
-%classNode             = (); # tracks nodes given a class name
-@headerList            = (); # list of processed header files
-
-$filename              = ""; # Current file being processed
-
-# index of stuff that shouldn't flag referencing errors
-# (not currently used)
-
-%noErr = ();
-$noErr{ "void" } = 1;
-$noErr{ "int" } = 1;
-$noErr{ "uint" } = 1;
-$noErr{ "uchar" } = 1;
-$noErr{ "short" } = 1;
-$noErr{ "ushort" } = 1;
-$noErr{ "unsignedint" } = 1;
-$noErr{ "unsignedchar" } = 1;
-$noErr{ "unsignedshort" } = 1;
-$noErr{ "float" } = 1;
-$noErr{ "double" } = 1;
-$noErr{ "short" } = 1;
-$noErr{ "char" } = 1;
-$noErr{ "unsigned" } = 1;
-$noErr{ "bool" } = 1;
-$noErr{ "long" } = 1;
-$noErr{ "string" } = 1;
-
-# for main
-
-$i = 0;
-@myargs = @ARGV;
-
-%children = ();
-%parents = ();
-
-# "<>" is the root of all classes.
-$children{"<>"} = "";
-$parents{"<>"} = "<>";
-
-$rootNode = Ast::New("ROOT");
-
-####
-#
-# Function addClass
-#      Inserts a class into the hierarchy
-####
-
-sub addClass
-{
-       my($parent, $child) = @_;
-
-       $parents{ $child } = $parent;
-
-       $children{ $parent } = $child.";".$children{ $parent };
-
-       $children{ $child } = "" if !defined $children{ $child };
-}
-
-###########################################################
-#
-# Function
-#  readLibrary
-#
-###########################################################
-
-sub readLibrary
-{
-    my( $libname ) = @_;
-    my( $prefix );
-    my( $libFull );
-
-    $libFull = $libPath."/".$libname.".kdoc";
-
-    open( IMP, "$libFull" ) 
-       || die "Could not open ".$libFull." for reading\n";
-
-    # the first line of a library contains the base url under
-    # which is was stored (using the -u flag at invokation of
-    # kdoc)
-    $prefix = <IMP>;
-    chop $prefix;
-
-    # However, there is one problem: kdoc references other symbols
-    # relative to the files of the library it is working on and that
-    # will not be in the present directory but somewhere else.
-    # Therefore $prefix is relative to the present directory, while
-    # the files of the present library will go to $docPath; we
-    # therefore need to modify $prefix for the number of subdirectories
-    # in $docPath. That scheme will fail, however, if $docPath is an
-    # absolute path, if $prefix is an absolute path or if $docPath
-    # contains "../". I (WB) am not proficient enough to invent a
-    # workaround
-
-    foreach ( split "/", $prefix)
-    {
-       $prefix = "../" . $prefix;
-    }
-    if ( ! ( $prefix =~ /\/$/) )
-    {
-       $prefix .= "/";
-    }
-
-    while ( <IMP> )
-    {
-       chop;
-       if ( /^(.*)=(.*)$/ )
-       {
-           $classRef{ $1 } = $prefix . "$2";
-       }
-       if( /^(\w+)=/ ) {
-               # add classes to external list
-               $classSource{ $1 } = $libname;
-       }
-    }
-
-    close( IMP );
-}
-
-###########################################################
-#
-# Function
-#  processClass
-#
-###########################################################
-
-sub processClass
-{
-    my( $end );
-
-# New Ast Node for class
-
-    $classNode = Ast::New( $class );
-
-# use first line of text as short text if we have none yet.
-    if( $classShortText eq "" && $classText ne "" ) {
-           $_ = $classText;
-           /((\s|\w|[^.\n])*)\.*/;
-           $classShortText = $1." ";
-           $classShortTextSet = 1;
-    }
-
-
-
-# work out ancestors
-    $_ = $classInherits;
-    tr/\:\{//d;
-    s/protected//g;
-    s/private//g;
-    s/public//g;
-    s/virtual//g;
-
-    if ( !( /^\s*$/ ) )
-    {
-           foreach $c ( split /,/, $_ )
-           {
-                   $c =~ s/\s//g;
-                           addClass( $c, $class );
-
-                   $inheritNode = Ast::New($c);
-                   $classNode->AddPropList( "Ancestors", $inheritNode );
-           }
-
-    }
-    else {
-           addClass( "<>", $class );   
-    }
-
-# process the rest of the class declaration
-
-    while ( <IN> )
-    {
-       next if /^\s*$/g;
-       
-# parse out // comments, except where in a string or 
-       s#//.*$##g unless m#"[^"]+".*//# || m#^\s*///#;
-
-
-       # if we find a "template <whatever>" on a single line,
-        # concatenate it with the next line
-        if ( /^\s*(template\s*<(([-\w,_\s]|<([-\w,+\s])+>)+)>\s*)\n/ ) {
-           $_ = $1 . " " . <IN>;
-       }
-
-       $line = $_;
-
-       if ( /^\s*\}\s*;\s*(\/\/.*)?$/ )
-       {
-# end of class declaration
-# dump all stored stuff to file
-
-               print "CLASS END: $class\n" if $debug;
-
-               if( ($classInternal == 0 || $docInternal )
-                               && ( $classDeprecated == 0 || $docDeprecated ) ) {
-
-                       # add class to list only if it is expected to be
-                       # documented
-
-                       addReference( $classNode->{"astNodeName"}, 
-                               $classNode->{"astNodeName"}.".html" );
-
-                       print "Added $class to tree\n" if $debug;
-
-                       $rootNode->AddPropList( "classes", $classNode );
-
-                       $filename =~ s/^\s+$//g;
-                       $classAuthor =~ s/^\s+$//g;
-                       $classVersion =~ s/^\s+$//g;
-                       $classText =~ s/^\s+$//g;
-                       $classSee =~ s/^\s+$//g;
-
-                       $classNode->AddProp( "Author",          $classAuthor );
-                       $classNode->AddProp( "ClassSee",        $classSee );
-                       $classNode->AddProp( "ClassShort",      $classShortText );
-                       $classNode->AddProp( "Deprecated",      $classDeprecated );
-                       $classNode->AddProp( "Description",     $classText );
-                       $classNode->AddProp( "Header",          $filename );
-                       $classNode->AddProp( "Internal",        $classInternal );
-                       $classNode->AddProp( "TmplArgs",        $classTmplArgs );
-                       $classNode->AddProp( "Version",         $classVersion );
-
-               }
-
-               resetClassDoc();
-
-               return;
-       }
-       elsif ( /^\s*public\s*:\s*$/ && $access ne "public" )
-       {
-               $access = "public";
-       }
-       elsif ( /^\s*protected\s*:\s*$/ && $access ne "protected" )
-       {
-               $access = "protected";
-       }
-       elsif ( /^\s*private\s*:\s*$/ && $access ne "private" )
-       {
-               $access = "private";
-       }
-       elsif ( /^\s*signals\s*:\s*$/ && $access ne "signals" )
-       {
-               $access = "signals";
-       }
-       elsif ( /^\s*protected\s+slots\s*:\s*$/ && $access ne "protected_slots" )
-       {
-               $access = "protected_slots";
-       }
-       elsif ( /^\s*public\s+slots\s*:\s*$/ && $access ne "public_slots" )
-       {
-               $access = "public_slots";
-       }
-       elsif ( /^\s*private\s+slots\s*:\s*$/ && $access ne "private_slots" )
-       {
-               $access = "private_slots";
-       }
-
-       #### Preprocessor directive
-
-       elsif( /^\s*#[\w\.-_]+/ ) {
-
-               print "CPP: $_\n" if $debug;
-
-               # skip lines carried on with \
-               while( /\\\s*$/ ) {
-                       if( !($_ = <IN>) ) {
-                               die "Bad Finish";
-                       }
-                       print "CPP: Skipped: $_" if $debug;
-               }
-       }
-
-       #### Typedef
-
-       elsif( /^\s*typedef\s+(.*[&\*\s])\s*([\w-:_]+)\s*(\[[^\]]*\])*;\s*$/ ) {
-           #                  1        2           3             4
-           # 1: type name, possibly more than one
-           # 2: name of new type
-           # 3: possible array declaration(s)
-           # 4: anything else
-               print "TYPED: $2: $1\n" if $debug;
-
-               if( ( $methInternal == 0 || $docInternal)
-                       && ($methDeprecated == 0  || $docDeprecated) ) {
-
-                       addReference( $class."::".$2, $class.".html#".$2 );
-
-                       $newNode = Ast::New( $2 );
-
-                       $classNode->AddPropList( $access, $newNode );
-
-                       $newNode->AddProp( "Keyword", "typedef" );
-                       $newNode->AddProp( "Description", $text );
-                       $newNode->AddProp( "See", $see );
-                       $newNode->AddProp( "MethInternal", $methInternal );
-                       $newNode->AddProp( "MethDeprecated", $methDeprecated );
-
-                       $newNode->AddProp( "Type", $1 );
-                       $newNode->AddProp( "Array", $3 );
-               }
-
-               resetMemberDoc();
-       }
-
-       #### Enum
-
-       elsif ( /^\s*enum\s+([\w_]*)\s*\{(.*)(\/\/.*)?/ )
-       {
-               $enum = $1;
-               $tmp = $2;
-               $args = "";
-
-               # collect constants till } is found
-
-               while ( !($tmp =~ /\}/) )
-               {
-                       $args = $args . $tmp;
-                       $tmp = <IN>;
-               }
-
-               $_ = $tmp;
-               /^(.*)\}/;
-               $args = $args . $1;
-
-
-               # update Ast node
-
-               if( ( !$methInternal || $docInternal)
-                       && (!$methDeprecated || $docDeprecated) ) {
-
-                       addReference( $class."::".$enum, $class.".html#".$enum );
-
-                       $see =~ s/^\s*$//g;
-                       $text =~ s/^\s*$//g;
-                       $args =~ s/^\s*$//g;
-
-                       $newNode = Ast::New( $enum );
-                       $classNode->AddPropList( $access, $newNode );
-                       $newNode->AddProp( "Keyword", "enum" );
-                       $newNode->AddProp( "Description", $text );
-                       $newNode->AddProp( "See", $see );
-                       $newNode->AddProp( "Constants", $args );
-                       $newNode->AddProp( "MethInternal", $methInternal );
-                       $newNode->AddProp( "MethDeprecated", $methDeprecated );
-               }
-
-               resetMemberDoc();
-       }
-
-       #### parse out Q_OBJECT macro
-       elsif ( /^\s*Q_OBJECT[^\w]+(\/\/.*)?/ ) {
-               # dont do anything
-       }
-
-
-       #### Variables
-       elsif ( /^[^\(]*$/ && /^(?:[\w_\:\s]+(?:<(?:(?:[-\w,_\s]|<(?:[-\w,+\s])+>)+)>)?(?:::)?)[\&\s*]+[\w_]+\s*(\[[^\]]*\])*\s*;\s*(\/\/.*)?$/ )
-           #       1               2                                                            3      4           5                 6
-           # 1: variable declarations have no ()
-           # 2: data type, possibly several words as in 'unsigned int' and
-           #    maybe containing templates <...> and ::
-           # 3: reference pointer or at least a space before variable name
-           # 4: variable name
-           # 5: array declaration
-           # 6: spaces and or comments
-       {
-           $str = $_;
-           
-           # split variable declaration:
-           # $1 = data type
-           # $2 = reference or pointer (why are there two \s's?)
-           # $3 = variable name
-           # $4 = array declaration
-           $str =~ /^(.+)([\s&\s\*])([\w_]+)\s*((\[[^\]]*\])*)\s*;\s*$/;
-           $var               = $3;
-           $rest              = $1.$2;
-           $array_declaration = $4;
-
-       
-           if( ( !$methInternal || $docInternal)
-                           && (!$methDeprecated || $docDeprecated) ) {
-
-                   addReference( $class."::".$var, $class.".html#".$var );
-
-                   $rest =~ s/^\s*$//g;
-                   $see =~ s/^\s*$//g;
-                   $text =~ s/^\s*$//g;
-
-                   $newNode = Ast::New( $var );
-                   $classNode->AddPropList( $access, $newNode );
-                   $newNode->AddProp( "Keyword", "property" );
-                   $newNode->AddProp( "Type", $rest );
-                   $newNode->AddProp( "Array", $array_declaration);
-                   $newNode->AddProp( "Description", $text );
-                   $newNode->AddProp( "See", $see );
-                   $newNode->AddProp( "MethInternal", $methInternal );
-                   $newNode->AddProp( "MethDeprecated", $methDeprecated );
-           }
-
-           resetMemberDoc();
-       }
-
-
-       #### Nested class
-       
-       elsif ( /^\s*(class|struct)/ ) {
-               # TODO: Implement nested classes
-               # Till then, find end of declaration
-               print "NESTED $_\n" if $debug;
-
-               if( !/;/ )
-               {
-# probably unterminated as yet
-                       print "\nNESTED begin (for $methodName): $_\n" 
-                               if $debug == 1;
-                       $foundMemberEnd = 0;
-                       $lookingFor = ";";
-                       $depth = 0;
-
-                       while( $foundMemberEnd == 0 ) {
-
-                               if( /\{/ ) {
-                                       $depth += countReg( $_, "\{" );
-                                       $lookingFor = "\}";
-                               }
-
-                               print "NESTED '$lookingFor': $_\n" if $debug == 1;
-
-                               if ( /$lookingFor/ ) 
-                               {
-                                       $depth -= countReg( $_, $lookingFor );
-
-                                       $foundMemberEnd = 1 if $depth <= 0;
-                               }
-
-                               if ($foundMemberEnd == 0 ) {
-                                       $_ = <IN>;
-                                       s#//.*$##g;
-                               }
-                       }
-               }
-       }
-       elsif ( m#^\s*///\s*(.*)#  && $strictParser == 0 ) {
-               # DOC++ style "///" single-line member doccer
-               # will be used only if no other documentation exists.
-
-               resetMemberDoc();
-
-               $text = $1;
-
-               print "DOCXX-STYLE: $text\n" if $debug != 0;
-       }
-
-       elsif ( /^\s*\/\// )
-       {
-               # parse out comment
-               print "C++ comment: $_" if $debug != 0;
-       }
-
-       elsif ( /^\s*\/\*\*+\s*(.*)\*+\/\s*/ && $strictParser == 0 ) {
-               # single-line "/**..*/" type doc line
-               # not allowed by the spec but we'll let it pass 
-               # if we're being lenient.
-
-               resetMemberDoc();
-
-               $text           = $1;
-               print "ONELINE: $text\n" if $debug == 1;
-       }
-
-       elsif( /^\s*\/\*[^*]/ ) {
-               # (multiline) comment
-               while( !/\*\// ) {
-                       # skip lines till we find its end
-                       $_ = <IN>;
-               }
-       }
-
-       elsif ( /^\s*\/\*\*+\s*(.*)/ ) {
-       # member documentation begins
-               processMemberDoc();
-       }
-
-       #### Member Function
-
-       elsif ( /^\s*([^\(]*)\s+([^\s\(]+)\s*\((.*)(\/\/.*)?$/ ) 
-       {
-           # note that the return type may contain
-           # template <whatever>!
-               processMethod( $1, $2, $3 );
-       }
-
-    }
-
-} # processClass
-sub processMethod {
-
-       my( $returnType, $methodName, $rest ) = @_;
-
-
-
-
-# ensure that everything after the operator keyword goes into the
-# member name and not the return type
-
-       if( $returnType =~ /operator/ ) {
-               $returnType =~ s/(operator.*)//g;
-               $methodName = $1." ".$methodName;
-       }
-
-# special case: if we have operator(), then the operator keyword got
-# matched into methodName, the first "(" was thrown away and $rest
-# contains ") (argumentlist)..."
-        if( ($methodName =~ /^operator$/) && ($rest =~ /^\)/) ) {
-           $methodName .= " ()";
-           $rest =~ s/^\)\s*\(//;
-       }
-
-# ensure that "*" is part of return type
-
-       if( $methodName =~ /^\s*([\*|\&]+)(.*)$/ ) {
-               $returnType = $returnType.$1;
-               $methodName = $2;
-       }
-
-## Read the parameters ($3 onward)
-
-       $params = "";
-
-       # Find end of params
-       while ( !($rest =~ /^[^)]*\)(.*)(\/\/.*)?$/) )
-       {
-               print "SEARCHING: $rest\n" if $debug == 1;
-               $params = $params . $rest;
-               ($rest = <IN>) =~ s#//.*$##g;
-       }
-
-       $rest =~ s#//.*$##g;
-       $_ = $rest;
-       /^([^\)]*)\)(.*)/;
-
-       # include all parameters before )
-       $params .= $1;
-       my($restOfLine) = $2;
-
-       my($constness) = "";
-
-       if( $restOfLine =~ /^\s*const/ ) {
-               $constness = "const";
-       }
-
-# need to skip inline function if it is there, or if the
-# end of declaration is staggered for some other reason.
-
-       if( ! /\)[\s\w=]*;/ )
-       {
-# probably unterminated as yet
-               print "\nINLINE begin (for $methodName): $_\n" if $debug == 1;
-
-               $_ = $rest;
-               $foundMemberEnd = 0;
-               $lookingFor = ";";
-               $depth = 0;
-
-               while( $foundMemberEnd == 0 ) {
-
-                       if( /\{/ ) {
-                               $depth += countReg( $_, "\{" );
-                               $lookingFor = "\}";
-                       }
-
-                       print "INLINE '$lookingFor': $_\n" if $debug == 1;
-
-                       if ( /$lookingFor/ ) 
-                       {
-                               $depth -= countReg( $_, $lookingFor );
-
-                               $foundMemberEnd = 1 if $depth <= 0;
-                       }
-
-                       if ($foundMemberEnd == 0 ) {
-                               $_ = <IN>;
-                               s#//.*$##g;
-                       }
-               }
-       }
-
-       # Register if not internal or deprecated
-
-       if( ( !$methInternal || $docInternal)
-                       && (!$methDeprecated || $docDeprecated) ) {
-
-               $returnType     =~ s/^\s*$//g;
-               $see            =~ s/^\s*$//g;
-               $text           =~ s/^\s*$//g;
-               $retText        =~ s/^\s*$//g;
-               $params         =~ s/^\s*$//g;
-               $constness      =~ s/^\s*$//g;
-
-               addReference( $class."::".$methodName, $class.".html#".$methodName );
-
-               $newNode = Ast::New( $methodName );
-               $classNode->AddPropList( $access, $newNode );
-
-               $newNode->AddProp( "ReturnType", $returnType );
-               $newNode->AddProp( "Const", $constness );
-               $newNode->AddProp( "Parameters", $params );
-               $newNode->AddProp( "Keyword", "method" );
-               $newNode->AddProp( "Description", $text );
-               $newNode->AddProp( "Returns", $retText );
-               $newNode->AddProp( "See", $see );
-               $newNode->AddProp( "Exceptions", $exceptions );
-               $newNode->AddProp( "MethInternal", $methInternal );
-               $newNode->AddProp( "MethDeprecated", $methDeprecated );
-
-               foreach $param ( keys %paramDesc ) {
-                       $paramNode = Ast::New( $param );
-                       ($desc = $paramDesc{$param}) =~ s/^\s*$//g;
-                               $paramNode->AddProp("Description", $desc );
-
-                       $newNode->AddPropList( "ParamDoc", $paramNode );
-               }
-       }
-
-       resetMemberDoc();
-} # processMethod
-
-#
-# Processes a doc comment
-# 
-
-sub processMemberDoc
-{
-       my( $endDocBlock )      = 0;
-       my( $paramFlag )        = 0;
-       my( $retFlag )          = 0;
-
-       resetMemberDoc();
-
-       $lastLineBlank = 0;
-
-# allow documentation on first line only if
-# we're being lenient.
-
-       if( $strictParser == 0 ) {
-               $text = $1;
-       }
-       else {
-               $text = "";
-       }
-
-       $endDocBlock = 0;
-
-       while ( $endDocBlock == 0 ) {
-               $_ = <IN>;
-               $line = $_;
-
-               if ( $paramFlag == 1 ) {
-
-                       if ( /^\s*\**\s*\@/ || /^\s*\**\s*\*\// ) {
-#parameter ends.
-                               $paramDesc{ $paramName } = $paramText;
-                               $paramFlag = 0;
-                       }
-                       else {
-                               /^\s*\**(.*)$/;
-                               $paramText .= $1."\n";
-                               $_ = "";
-                       }
-               }
-               elsif ( $retFlag == 1 ) {
-                       if ( /^\s*\**\s*\@/ || /^\s*\**\s*\*\// ) {
-                               $retFlag = 0;
-                       }
-                       else {
-                               /^\s*\*+(.*)$/;
-                               $retText .= "\n$1";
-                               $_ = "";
-                       }
-               }
-
-               if ( /^\s*(.*)\*+\// ) {
-# end of member documentation
-                       $endDocBlock = 1;
-               }
-               elsif ( /^(.*)\*+\/\s*$/ && ($strictParser == 0) ) {
-# end of member documentation, with extraneous
-# space before end tag
-# only used if we're being lenient.
-
-                       $text = $text .  $_ . '\n';
-
-                       $endDocBlock = 1;
-
-                       print "BAD MEMBER END: $_\n" if $debug == 1;
-               }
-               elsif ( /^\s*\**\s*\@param\s+([^\s]+)\s(.*)$/ ) {
-# "@param"
-                       $paramName = $1;
-                       $paramText = $2;
-
-                       $paramFlag = 1;
-               }
-               elsif ( /^\s*\**\s*\@return\s+(.*)/ ) {
-# "@return"
-
-                       $retText = $1;
-                       $retFlag = 1;
-               }
-               elsif( /^\s*\**\s*\@internal/ ) {
-# "@internal"
-                       $methInternal = 1;
-               }
-               elsif( /^\s*\**\s*\@deprecated/ ) {
-# "@deprecated"
-                       $methDeprecated = 1;
-               }
-               elsif ( /^\s*\**\s*\@exception\s+([:#\w_~]+)/ ) {
-# "@exception"
-                       $exceptions .= $1;
-               }
-               elsif ( /^\s*\**\s*\@see\s+([:#\w_~]+)/ ) {
-# "@see"
-                       $see .= ", " if $see ne "";
-
-                       $c = $1;
-                       $see .= $c;
-               }
-               elsif( /^\s*\**\s*\@(short|author|version)/ ) {
-# ignore tags that cannot exist in
-# member doc
-               }
-               elsif ( /^\s*\**\s*(.*)$/ ) {
-# normal member documentation text,
-# " * blah blah"
-                       $text = $text. $1 . "\n";
-               } # if
-       } # while still in doc block
-} # processMemberDoc
-   
-###########################################################
-#
-# Function
-#  processFile #
-###########################################################
-
-sub processFile
-{
-       while ( <IN> )
-       {
-           $line = $_;
-
-               next if /^\s*$/;
-       
-               if( m#^\s*/\*[^*]# ) {
-# skip multiline comment started with /* (but only one asterisk!)
-                       while( !/\*\// ) {
-                               $_ = <IN>;
-                       }
-               }
-               elsif ( m#^\s*/\*\*+\s*(.*)\*/\s*# && ($strictParser == 0) ) {
-                       # single-line "/**..*/" type doc line
-                       # not allowed by the spec but we'll let it pass 
-                       # if we're being lenient.
-                       resetMemberDoc();
-                       $classText = $1;
-                       $classShortText = $1;
-                       print "ONELINE classdoc: $text\n" if $debug == 1;
-               }
-               elsif( /^\s*#[\w\.-_]+/ ) {
-                       #### Preprocessor directive
-                       print "CPP: $_\n" if $debug;
-
-                       # skip lines carried on with \
-                       while( /\\\s*$/ ) {
-                               if( !($_ = <IN>) ) {
-                                       die "Bad Finish";
-                               }
-                               print "CPP: Skipped: $_" if $debug;
-                       }
-               }
-           elsif ( /^\s*\/\*\*+\s*(.*)$/ )
-           {
-               # start of class doc comment
-               $classSee = "";
-               $classText = "";
-               $classShortText = "";
-               $lastLineBlank = 0;
-
-               $classText = $1 if( $strictParser == 0 );
-
-               $end = 0;
-               while ( $end == 0 )
-               {
-                   $_ = <IN>;
-                   $line = $_;
-
-                   if ( /^\s*\*\// )
-                   {
-                       # end of documentation, assume class
-                       # declaration is next.
-                       $end = 1;
-                   }
-                   elsif ( /^(.*)\*+\/\s*$/ && ($strictParser == 0) ) 
-                   {
-                       # end of class documentation, with extraneous
-                       # space before end tag
-                       # only used if we are being lenient.
-
-                       $text = $text .  $1 . '\n';
-
-                       $end = 1;
-
-                       print "BAD CLASSDOC END: $_\n" if $debug == 1;
-                   }
-                   elsif ( /^\s*\**\s*\@see\s+([#\w_~]+)/ )
-                   {
-                       # @see
-                       if ( $classSee ne "" )
-                       {
-                           $classSee .= ", ";
-                       }
-                       $c = $1;
-                       $classSee .= $c;
-                   }
-                   elsif ( /^\s*\*?\s*\@author\s+(.*)/ )
-                   {
-                       # @author
-                       $classAuthor .= $1 . " ";
-                   }
-                   elsif ( /^\s*\**\s*\@version\s+(.*)/ )
-                   {
-                       # @version
-                       $classVersion .= $1 . " ";
-                   }
-                   elsif ( /^\s*\**\s*\@short\s+(.*)/ )
-                   {
-                       # @short
-                       $classShortText .= $1 . " ";
-                   }
-                   elsif ( /^\s*\**\s*\@deprecated/ )
-                   {
-                       # @deprecated
-                       $classDeprecated = 1;
-                   }
-                   elsif ( /^\s*\**\s*\@internal/ )
-                   {
-                       # @internal
-                       $classInternal = 1;
-                   }
-                   elsif ( /^\s*\**(.*)$/ )
-                   {
-                       # normal documentation text
-                       $lead = $1;
-
-                       # check for asterisk
-                       if ( /^\s*\*+/ ) {
-                               $classText .= $lead. "\n";
-                       }
-                       else {
-                               # preserve leading space.
-                               $classText .= $_. "\n";
-                       }
-                   }
-               }
-                $_ = <IN>;
-               $line = $_;
-                              
-           } # documentation if
-
-           if ( /^(\s*template\s*<(([-\w,_\s]|<([-\w,+\s])+>)+)>)/ ) {
-                   $classTmplArgs = $2;
-
-                   ($resetme = $1);
-                   $resetme =~ s/([\W])/\\$1/g;
-
-                   s/$resetme//g;
-           }
-
-           if ( !(/;/) && /^\s*(class|struct)\s+([-\w_]+)(.*)$/ )
-           {
-
-# class declaration begins.
-
-               #TODO: skip class if it doesn't have documentation
-               #and we aren't documenting NULL classes.
-
-                   $class = $2;
-                   ($classInherits = $3) =~ s#//.*##g;
-
-                       # handle template-instantiation class
-                   if($classInherits =~
-                           /^\s*(<([-\w,_\s]|<([-\w,+\s])+>)+>)/) {
-                           $class .= $1;
-                           $class =~ s/\s+//g;
-                   }
-
-                   $classInherits =~ s/<([-\w,_\s]|<([-\w,+\s])+>)+>//g;
-
-                   print "\n   $class " unless $quiet;
-
-# set default visibility
-               if( $1 eq "class" ) {
-                       $access = "private";
-               } else {
-                       $access = "public";
-               }
-       
-# process everything in the class
-                   processClass();
-           }
-
-       } # outer file while
-
-       close( IN );
-}
-
-#
-#
-#
-
-sub addReference
-{
-       my( $target, $pointer) = @_;
-
-       print KDOC $target."=".$pointer."\n";
-       $classRef{ $target } = $pointer;
-}
-
-# Reset the documentation variables for a class member.
-
-sub resetMemberDoc
-{
-    $exceptions        = "";
-    %paramDesc = ();
-    $paramName = "";
-    $paramText = "";
-    $retText   = "";
-    $see       = "";
-    $text      = "";
-    $methInternal = 0;
-    $methDeprecated=0;
-}
-
-#
-# Reset the documentation variables for a class.
-#
-sub resetClassDoc
-{
-       $classAuthor    = "";
-       $classDeprecated= 0;
-       $classInternal  = 0;
-       $classSee       = "";
-       $classShortText = "";
-       $classShortTextSet = 0;
-       $classTmplArgs  = "";
-       $classAbstract  = 0;
-       $classText      = "";
-       $classVersion   = "";
-}
-
-# Counts the number of times a regular expression occurs in a string
-
-sub countReg
-{
-       my( $str, $regexp ) = @_;
-       my( $count ) = 0;
-
-       while( $str =~ /$regexp/ ) {
-               $count++;
-               
-               $str =~ s/$regexp//;    
-       }
-
-       return $count;
-}
-
-#
-# Display usage and quit with an error code.
-#
-
-sub usage
-{
-die<<EOF;
-
-KDOC:  The KDE Class Documentation Tool for C++, $version
-       Torben Weis <weis\@kde.org>, Sirtaj Kang <taj\@kde.org>
-
-Usage:
-       kdoc [-a] [-M][-H][-T] [-a][-e][-i][-p][-q] [-L<lib-path>] 
-               [-d<outdir>] [-u <base URL>] <library> <header>...
-               [-l<lib> ... ]
-
-       -T      Generate LaTeX documentation.
-       -M      Generate man pages.
-
-       -H      Generate HTML documentation (default).
-       -d<dir> Directory for HTML and LaTeX output.
-       -u<url> Base path/url by which this library will be accessed.
-       
-       -a      Document methods/classes without explicit doc comment.
-       -e      Skip deprecated methods and classes (\@deprecated tag)
-       -i      Skip classes marked internal (\@internal tag)
-       -p      Document private members.
-       -q      Proceed quietly (display errors only)
-
-       -L<dir> Path to kdoc libraries. Default is current dir, or
-               \$KDOCLIBS if it is set.
-
-       <library> The name of the kdoc library to create.
-       <headers> C++ headers to process.
-
-       -l<lib> Cross reference these libraries.
-EOF
-}
-
-sub bumpArg
-{
-       return $1 if $1 ne "";
-       my($real);
-
-       $i = $i + 1;
-
-       $real = $myargs[ $i ];
-       $myargs[ $i ] = "-".$myargs[ $i ];
-
-
-       return $real;
-}
-
-
-#
-# Calls dumpDoc for each format for which output was requested.
-#
-sub generateDocs
-{
-
-       if( $genHTML == 0 && $genTeX == 0 && $genMan == 0)
-       {
-               $genHTML = 1;
-               require kdocHTML;
-       }
-
-       if( $genHTML != 0 ) {
-               kdocHTML::dumpDoc( $name, $rootNode, $docPath );
-       }
-
-       if( $genTeX != 0 ) {
-               kdocTeX::dumpDoc( $name, $rootNode, $docPath );
-       }
-
-       if( $genMan != 0 ) {
-               kdocMan::dumpDoc( $name, $rootNode, $docPath );
-       }
-
-       print "Done.\n" unless $quiet;
-}
-
-###########################################################
-#
-# Main
-#
-###########################################################
-
-if ( $#ARGV == -1 )
-{
-       die "kdoc: No arguments. Type 'kdoc -h' for help.\n";
-}
-
-#
-# process switches and args #
-#
-
-$libFoundAt = -1;
-
-$i = 0;
-
-while( $i <=$#myargs )
-{
-    $filename = $myargs[ $i ];
-    if ( $filename =~ /^-d(.*)$/ ) {
-
-       $docPath = bumpArg();
-    }
-    elsif ( $filename =~ /^-u(.*)$/ ) {
-       $urlBase= bumpArg();
-    }
-    elsif ( $filename =~ /^-L(.*)$/ ) {
-       $libPath = bumpArg();           
-    }
-    elsif ( $filename =~ /^-l(.*)$/ ) {
-       readLibrary( bumpArg() );
-    }
-    elsif ( $filename =~ /^-a/ ) {
-       $documentAll = 1;
-    }
-    elsif ( $filename =~ /^-M/ ) {
-           $genMan = 1;
-           require kdocMan;
-    }
-    elsif ( $filename =~ /^-T/ ) {
-           $genTeX = 1;
-           require kdocTeX;
-    }
-    elsif ( $filename =~ /^-H/ ) {
-           $genHTML = 1;
-           require kdocHTML;
-    }
-    elsif ( $filename =~ /^-e/ ) {
-       $docDeprecated = 0; 
-    }
-    elsif ( $filename =~ /^-D/ ) {
-       $debug = 1; 
-    }
-    elsif ( $filename =~ /^-i/ ) {
-       $docInternal = 0; 
-    }
-    elsif ( $filename =~ /^-p/ ) {
-       $dontDoPrivate = 0;
-    }
-    elsif ( $filename =~ /^-q/ ) {
-       $quiet = 1;
-    }
-    elsif( $filename =~ /^-v(.*)/  ) {
-       die "kdoc: $version (c) Torben Weis, Sirtaj S. Kang\n";
-    }
-    elsif( $filename =~ /^-h/ || $filename =~ /^--help/ )
-    {
-       usage();
-    }
-    elsif( $filename =~ /^-(.*)/ ) {
-       die "kdoc: -$1 is an unsupported option. Type kdoc -h for help.\n";
-    }
-    elsif( $lib eq "" ) {
-       $lib = $filename;
-       $libFoundAt = $i;
-    }
-
-    $i = $i + 1;
-}
-
-$urlBase = $docPath if $urlBase eq "";
-
-usage() if $lib eq "";
-
-#parse out path name for printed libName
-( $name = $lib ) =~ s#.*/##g;
-
-$lib = $libPath."/".$lib.".kdoc";
-
-open( KDOC, ">$lib" ) || die "Could not open $lib for writing\n";
-print KDOC "$urlBase\n";
-
-
-# check document output path
-
-if( !(-d $docPath))
-{
-       if( system("mkdir $docPath") ) {
-               close ( KDOC );
-               unlink( $lib );
-               die "Document path '$docPath' doesn't exist and it couldn't\n".
-                       "be created.\n";
-       }
-}
-
-#
-# process each file
-#
-
-foreach $i (0..$#myargs)
-{
-    $filename = $myargs[ $i ];
-    if ( $filename =~ /^-(.*)$/ )
-    {
-#option... don't process       
-    }
-    elsif( $i != $libFoundAt )
-    {
-       print "Processing $filename:" unless $quiet;
-       push( @headerList, $filename );
-       open( IN, $filename ) || die "Could not open $filename for input\n";
-
-       processFile();
-
-       print "\n" unless $quiet;
-
-       close( IN );
-    }
-}
-
-
-close( KDOC );
-
-# reparent all parentless classes to root.
-
-$rootNode->Visit("main");
-
-if( defined $classes ) {
-
-       foreach $class ( @{$classes} )
-       {
-               $className = $class->{"astNodeName"};
-
-               if ( !defined $parents{ $parents{$className} }) {
-                       addClass( "<>", $parents{$className} );
-               }
-       }
-}
-
-Ast::UnVisit();
-
-generateDocs();
-
-# file ends
diff --git a/deal.II/doc/auto/scripts/kdoc/kdocHTML.pm b/deal.II/doc/auto/scripts/kdoc/kdocHTML.pm
deleted file mode 100644 (file)
index 4e866d5..0000000
+++ /dev/null
@@ -1,939 +0,0 @@
-#    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., 675 Mass Ave, Cambridge, MA 02139, USA.
-package kdocHTML;
-
-## KDOC HTML output
-#
-# From main:
-# children classRef classSource dontDoPrivate 
-# generatedByText headerList quiet
-
-require Ast;
-
-BEGIN 
-{
-       $lib = "";
-       $outputdir = ".";
-       $linkRef = 0;
-       $modname = "kdocHTML";
-       %classList = ();
-}
-
-
-sub dumpDoc
-{
-       $genText = $main::generatedByText;
-
-       ($lib, $root, $outputdir) = @_;
-
-       print "Generating HTML documentation.\n" unless $main::quiet;
-       writeList();
-       writeHier();
-       writeHeaderList();
-
-       print "Generating HTMLized headers.\n" unless $main::quiet;
-       foreach $header ( @main::headerList ) {
-               markupCxxHeader( $header );
-       }
-}
-
-sub writeHeaderList
-{
-
-       open(HDRIDX, ">$outputdir/header-list.html") 
-       || die "Couldn't create $outputdir/header-list.html\n";
-
-       print HDRIDX<<EOF;
-<HTML><HEAD><TITLE>$lib Header Index</TITLE></HEAD><BODY bgcolor="#ffffff">
-       <H1>$lib Header Index</H1>
-<p>
-[<A HREF="index.html">Index</A>] [<A HREF="hier.html">Hierarchy</A>] [Headers]
-</p>
-<HR>
-<UL>
-EOF
-
-       foreach $header ( sort @main::headerList ) {
-               $_ = $header;
-# convert dashes to double dash, convert path to dash
-               s/-/--g/g;
-               s/\/|\./-/g;
-               
-               # never let a file name start with a '-' sign, since this makes
-               # some programs think the file name really was a parameter to the
-               # program. Filenames starting with '-' usually happen if you let
-               # kdoc work on files like '../../include/foo/bar.h', given the
-               # above substitution rules. Therefore: if a filename starts with
-               # '-', prepend a '_'
-               s/^-/_-/;
-
-               print HDRIDX  "\t<LI><A HREF=\"$_.html\">$header</A></LI>\n";
-       }
-print HDRIDX "</UL>\n<HR>\n<address>$genText",
-                       "</address>\n</BODY>\n</HTML>\n";
-}
-
-sub escape
-{
-       my( $str ) = @_;
-
-       $str =~ s/&/\&amp;/g;
-       $str =~ s/</\&lt;/g;
-       $str =~ s/>/\&gt;/g;
-       $str =~ s/"/\&quot;/g;
-
-       return $str;
-}
-
-# In file names, we don't want to have the special characters be
-# replaced by the rules '>' -> '&gt;' etc., so we revert the
-# replacement. The reason is that when giving Netscape the tag
-# <a href="abc&lt;2&gt;.html"> xyz </a>, it looks for the file
-# "abc<2>.html". Strange, eh? We'd like to replace filenames
-# back to the original names, which is not a good idea also, since
-# filenames containing <>&" are no good. Therefore, we stay with
-# the HTML tags, but replace the '&' and ';' by ',' which should
-# not be a character which appears in class and file names, but
-# which has no special meaning for the shell either.
-sub filenameUnescape
-{
-       my( $str ) = @_;
-
-       $str =~ s/\&amp;/,amp,/g;
-       $str =~ s/\&lt;/,lt,/g;
-       $str =~ s/\&gt;/,gt,/g;
-       $str =~ s/\&quot;/,quot,/g;
-
-       return $str;
-}
-
-sub writeList()
-{
-
-       $root->Visit( $modname );
-
-       foreach $class ( @{$classes} )
-       {
-               $classList{ $class->{'astNodeName'} } = $class;
-       }
-
-       open ( LIBIDX, ">".$outputdir."/index.html" )
-               || die "Couldn't write to ".$outputdir."/index.html" ;
-
-       print LIBIDX<<EOF;
-<HTML><HEAD><TITLE>$lib Class Index</TITLE></HEAD><BODY bgcolor="#ffffff">
-       <H1>$lib Class Index</H1>
-<p>
-[Index] [<A HREF="hier.html">Hierarchy</A>] [<A HREF="header-list.html">Headers</A>]
-</p>
-<HR>
-<TABLE BORDER="0" WIDTH="100%">
-EOF
-
-       foreach $className ( sort keys %classList ) {
-               $class = $classList { $className };
-
-               $class->Visit( $modname );
-
-               $className = $astNodeName;
-
-               # escape special characters in class names (e.g. <>&)
-               # however, we need to unescape them when using the
-               # class name as a file name
-               $astNodeName = escape( $astNodeName );
-
-               print LIBIDX "<TR><TD ALIGN=\"LEFT\" VALIGN=\"TOP\">",
-               "<a href=\"", filenameUnescape($astNodeName), ".html\">",
-               $astNodeName, "</a></TD>\n", "\t<TD>", 
-               makeReferencedText( $ClassShort ), "</TD></TR>\n";      
-
-               writeClass();
-
-               Ast::UnVisit();
-               
-       }
-
-       Ast::UnVisit();
-
-print LIBIDX<<EOF;
-</TABLE>
-<HR>
-<TABLE WIDTH="100%" BORDER="0">
-<TR>
-<TD ALIGN="LEFT" VALIGN="TOP"><address>$genText</address></TD>
-<TD ALIGN="RIGHT" VALIGN="TOP">
-<b>K</b><i>doc</i>
-</TD>
-</TR>
-</TABLE>
-</BODY></HTML>
-EOF
-
-}
-
-###########################################################
-#
-# Function
-#  makeReferencedText( text )
-#
-###########################################################
-
-sub makeReferencedText
-{
-    local( $t ) = @_;
-
-    while ( $t =~ /(\@ref\s+)([\w_\#~\d\:]+\W)/ )
-    {##
-       $pat = $1.$2;
-       $ref = $2;
-       chop $ref;
-       $repl = findClassReference( $ref ) . " ";
-       $pat =~ s/\(/\\(/g;
-       $pat =~ s/\)/\\)/g;
-       $t =~ s/$pat/$repl/;
-    }
-
-    $t =~ s/</&lt;/g;
-    $t =~ s/>/&gt;/g;
-    $t =~ s/&lt;\/p&gt;&lt;p&gt;/<\/p><p>/g;
-    $t =~ s/\#([^\#]*)\#/<CODE>$1<\/CODE>/g;
-    $t =~ s/\\begin\{verbatim\}/<pre>/g;
-    $t =~ s/\\end\{verbatim\}/<\/pre>/g;
-    $t =~ s/\\begin\{itemize\}/<UL>/g;
-    $t =~ s/\\end\{itemize\}/<\/UL>/g;
-    $t =~ s/\\item/<LI>/g;
-    $t =~ s/\{\\bf([^}]*)}/<b>$1<\/b>/g;
-    $t =~ s/\\section\{([^}]*)\}/<H3>$1<\/H3>/g;
-    $t =~ s/\\subsection\{([^}]*)\}/<H4>$1<\/H4>/g;
-    $t =~ s/\\subsubsection\{([^}]*)\}/<H5>$1<\/H5>/g;
-
-#while($t =~ m/(\#([^\#]*)\#)/)
-#{
-#    $full = $1;
-#    $text = $2;
-#    $text =~ s/</&lt;/g;
-#    $text =~ s/>/&gt;/g;
-#    $text =~ s/\&/&amp;/g;
-#    $t =~ s/$full/<CODE>$text<\/CODE>/;
-#}
-    return $t;
-}
-
-###########################################################
-#
-# Function
-#  findClassReference( class )
-#
-###########################################################
-
-sub findClassReference
-{
-    my( $c ) = @_;
-    my( $old );
-
-
-    if ( $c eq "" ) { return ""; }
-    if ( $c eq "#" ) { return "#"; }
-
-       $c =~ s/\#/::/g;
-
-    $old = $c;
-
-    if ( $c =~ /^\s*(\#|::)(.*)$/ )
-    {
-       $c = "$className\:\:$2";
-       $pref = $1;
-       $old =~ s/$pref//;
-    }
-
-    if ( !defined $main::classRef{ $c } )
-    {
-       if ( !defined $main::noErr{ $c } )
-       {
-#          print main::ERROUT "$filename: '$c' undefined Reference\n\n"; 
-       }
-       return $c;
-    }
-    else
-    {
-       if ( $c =~ /\:\:/ )
-       {
-           return "<a href=\"".escape($main::classRef{ $c })."\">".
-               escape($old)."</a>";
-       }
-       else
-       {
-           return "<a href=\"".escape($main::classRef{ $c })."\">".
-               escape($c)."</a>";
-       }
-    }
-}
-
-#############
-# 
-# writeHier -- Write HTML Class Hierarchy
-#
-#############
-
-sub writeHier
-{
-
-open( HIER, ">".$outputdir."/hier.html" ) 
-       ||die "Cannot write to $outputdir/hier.html";
-
-print HIER <<EOF;
-<HTML><HEAD><TITLE>$lib Class Hierarchy</TITLE></HEAD>
-<BODY BGCOLOR="#ffffff">
-<H1>$lib Class Hierarchy</H1>
-<p>
-[<A HREF="index.html">Index</A>] [Hierarchy] [<A HREF="header-list.html">Headers</A>] 
-</p>
-<HR>
-EOF
-
-printHierarchy( "<>" );
-
-print HIER<<EOF;
-<HR>
-<TABLE WIDTH="100%" BORDER="0">
-<TR>
-<TD ALIGN="LEFT" VALIGN="TOP"><address>$genText</address></TD>
-<TD ALIGN="RIGHT" VALIGN="TOP">
-<b>K</b><i>doc</i>
-</TD>
-</TR>
-</TABLE>
-</BODY></HTML>
-EOF
-
-### here we are!!
-    # build a list of parents and children for each class
-    # use it to generate a tree of classes suitable for
-    # a tree view of the inheritance lattice
-
-    # we may not use the %classList for the children information
-    # since some classes are parents but not in %classList (those
-    # classes that are found as base classes but are not documented
-    # within this module
-#    my (%kids);
-#    my (%parents);
-#    my (%classLevel);
-#    my ($classNames);
-#
-#    foreach $className (keys %main::children)
-#    {
-#      $kids{$className} = $main::children{$className};
-#    }
-#
-#    foreach $className (keys %kids)
-#    {
-#      foreach $c (split /;/, $main::children{$className})
-#      {
-#          $parents{$c} = $parents{$c} . $className . ";"
-#              if !($className eq "<>");
-#      }
-#    }
-#
-#    # build a list of all class names, irrespective of whether
-#    # they are documented or not.
-#    foreach $class (keys %kids, keys %parents, keys %classList)
-#    {
-#      $classNames = $classNames . $class . ";"
-#          if (! ($classNames =~ /$class;/) &&
-#              ! ($class eq "<>"));
-#    }
-#
-#
-#    # now evaluate the list to get the proper hierarchy level
-#    # for each class. Loop until all classes are processed,
-#    # which may take some iterations since a class can only
-#    # be processed if all of its parents have been processed
-#    my ($unprocessedClasses);
-#    my ($classLevel);
-#    my ($maxParentLevel);
-#    $unprocessedClasses = 1;
-#    while ($unprocessedClasses == 1)
-#    {
-#      $unprocessedClasses = 0;
-#      foreach $class (split /;/, $classNames)
-#      {
-#          if (! defined $classLevel{$class})
-#          {
-#              # if class has no children or no parents: assign
-#              # level zero. for classes with no parents, this
-#              # decision may later be revised
-#              if ((! $parents{$class}) ||
-#                  (! defined $parents{$class}))
-#              {
-#                  $classLevel{$class} = 0;
-#              }
-#              else
-#              {
-#                  foreach $parent (split /;/, $parents{$class})
-#                  {
-#                      # find the maximum level any of the
-#                      # children has
-#                      $maxParentLevel = 0;
-#
-#                      # if the parent has not been processed,
-#                      # then don't do so for this class also
-#                      if (! defined $classLevel{$parent})
-#                      {
-#                          $unprocessedClasses = 1;
-#                          last;
-#                      }
-#                      else
-#                      {
-#                          if ($classLevel{$parent} > $maxParentLevel)
-#                          {
-#                              $maxParentLevel = $classLevel{$parent};
-#                          }
-#                      }
-#                      $classLevel{$class} = $maxParentLevel+1;
-#                  }
-#              }
-#          }
-#      }
-#    }
-#
-#
-#    foreach $class (sort split /;/, $classNames )
-#    {
-#      print "--> ", $class, ": $classLevel{$class} <c=", $kids{$class}, "><p=",
-#      $parents{$class}, ">\n";
-#
-#    }
-}
-
-
-######
-#
-# Dump the hierarchy for a particular class
-#
-######
-
-sub printHierarchy
-{
-       my( $className ) = @_;
-
-       print HIER "\t<LI>", findClassReference($className),"\n" 
-               if $className ne "<>";
-
-       if( defined $main::classSource{ $className } ) {
-               print HIER "<small> (",$main::classSource{$className},")</small>\n";
-       }
-
-       if ( defined $main::children{$className} ) {
-       
-               print HIER "\t<UL>\n";
-
-               foreach $kid ( sort split /;/, $main::children{$className} )
-               {
-                       printHierarchy( $kid );
-               }
-               print HIER "\t</UL>\n";
-                }
-
-        print HIER "\t</LI>" if $className ne "<>";
-}
-
-# #############
-#
-# Write out the documentation for a single class.
-#
-# #############
-
-sub writeClass()
-{
-       open( CLASS, ">" .
-              $outputdir."/".filenameUnescape($astNodeName) .
-              ".html"
-            ) || die "Couldn't write to file " .
-                     $outputdir."/".filenameUnescape($astNodeName).".html";
-
-       print CLASS<<EOF;
-<HTML><HEAD><TITLE>$astNodeName Class</TITLE></HEAD>
-<BODY bgcolor="#ffffff\">\n
-<H1>$astNodeName Class Reference</H1>
-<p>
-[<A HREF="index.html">$lib Index</A>] [<A HREF="hier.html">$lib Hierarchy</A>]
-[<A HREF="header-list.html">Headers</A>]
-</p>
-<HR>
-EOF
-       
-       print CLASS "<h3>This class is Deprecated.</h3>\n" if $Deprecated;
-       print CLASS "<h3>Internal class - general use not recommended.</h3>\n" 
-               if $Internal;
-
-       print CLASS "<P>", makeReferencedText( $ClassShort ),
-                       "  <a href=\"#short\">More...</a></P>\n" 
-                       if $ClassShort ne "";
-
-       $_ = $Header;
-       s/-/--/g;
-       s/\/|\./-/g;
-
-        # never let a file name start with a '-' sign, since this makes
-        # some programs think the file name really was a parameter to the
-        # program. Filenames starting with '-' usually happen if you let
-        # kdoc work on files like '../../include/foo/bar.h', given the
-        # above substitution rules. Therefore: if a filename starts with
-        # '-', prepend a '_'
-        s/^-/_-/;
-    
-       $escapedpath = $_;
-
-# include file
-
-       print CLASS<<EOF;
-<P>
-<code>
-       #include &lt;<a href=\"$escapedpath.html\">$Header</a>&gt;
-</code>\n
-</P>
-EOF
-
-
-# Template
-
-       if( $class->{ "TmplArgs" } ne "" ) {
-
-               print CLASS "\n<p>Template Form: <code>",
-               "template &lt; ", escape( $class->{ "TmplArgs" }), 
-               " &gt; $astNodeName</code> </p>\n";
-       }
-
-# Inheritance
-       my ( $pcount ) = 0;
-
-       if( defined $class->{ "Ancestors" } ) {
-               print CLASS "\n<P>\nInherits: ";
-               
-               foreach $foreparent ( @{$Ancestors} ) {
-                       print CLASS ", " if $pcount != 0;
-                       $pcount = 1;
-
-                       print CLASS findClassReference( 
-                               $foreparent->{"astNodeName"} );
-
-                       if( defined $main::classSource{$foreparent->{
-                                       "astNodeName"}} ) {
-                               print CLASS " (",$main::classSource{
-                                       $foreparent->{"astNodeName"}},")";
-                       }
-               }
-
-               print CLASS "\n<\P>";
-       }
-
-# Now list members.
-
-       $linkRef = 0;
-
-       listMethods( "Public Members", $public );
-       listMethods( "Public Slots", $public_slots );
-       listMethods( "Protected Members", $protected );
-       listMethods( "Protected Slots", $protected_slots );
-       listMethods( "Signals", $signals );
-
-       if( $main::dontDoPrivate == 0 ) {
-               listMethods( "Private Members", $private );
-               listMethods( "Private Slots", $private_slots );
-       }
-print CLASS<<EOF;
-<HR>
-EOF
-
-# Dump Description.
-       Ast::UnVisit();
-       $class->Visit($modname);
-       writeClassDescription();
-
-# Document members.
-       
-       $linkRef = 0;
-
-       writeMemberDoc( "public",       $public );
-       writeMemberDoc( "public slot",  $public_slots );
-       writeMemberDoc( "protected",    $protected );
-       writeMemberDoc( "protected slot", $protected_slots );
-       writeMemberDoc( "signal", $signals );
-
-       if( $main::dontDoPrivate == 0 ) {
-               writeMemberDoc( "private", $private );
-               writeMemberDoc( "private slot", $private_slots );
-       }
-
-# File Generation info
-       print CLASS "<HR>\n<TABLE WIDTH=\"100%\">",
-                       "<TR><TD ALIGN=\"left\" VALIGN=\"top\">\n";
-
-       if( $Author ne "" || $Version ne "" ) {
-               print CLASS "\n<UL>";
-
-               print CLASS "<LI><I>Author</I>: ", escape($Author), "</LI>\n"
-                       if $Author ne "";
-
-               print CLASS "<LI><I>Version</I>: ", escape($Version), "</LI>\n"
-                       if $Version ne "";
-               print CLASS "<LI>$genText</LI>\n";
-
-               print CLASS "</UL>";
-       } else {
-               print CLASS "<address>$genText<address>\n";
-       }
-
-            print CLASS<<EOF;
-</TD><TD ALIGN="RIGHT" VALIGN="TOP">
-<b>K</b><i>doc</i>
-</TD>
-</TR></TABLE></BODY></HTML>\n
-EOF
-
-}
-
-######
-# Lists all methods of a particular visibility.
-#####
-
-sub listMethods()
-{
-       my( $desc, $members ) = @_;
-       
-       return if !defined $members || $#{$members} == -1;
-
-print CLASS<<EOF;
-
-<H2>$desc</H2>
-<UL>
-EOF
-
-       foreach $member ( @{$members} ) {
-               $member->Visit($modname);
-
-               print CLASS "<LI>";
-
-               if( $Description eq "" && $See eq "" ) {
-                       $link = "name=\"";
-               } else {
-                       $link = "href=\"\#";
-               }
-
-               if( $Keyword eq "property" ) {
-                       print CLASS escape($Type), 
-                               "<b><a ",$link,"ref$linkRef\">",
-                               escape($astNodeName), "</a></b>",
-                               escape($Array),
-                               "\n";
-               }
-               elsif( $Keyword eq "method" ) {
-                       print CLASS escape($ReturnType),
-                               " <b><a ", $link, "ref$linkRef\">",
-                               escape($astNodeName), "</a></b> (",
-                               escape($Parameters),
-                               ") ",$Const,"\n";
-               }
-               elsif( $Keyword eq "enum" ) {
-                       print CLASS "enum <b><a ", $link, "ref$linkRef\">",
-                               escape($astNodeName),"</a></b> {",
-                               escape($Constants),"}\n";
-               }
-               elsif( $Keyword eq "typedef" ) {
-                       print CLASS "typedef ", escape($Type), " <b><a ", $link, 
-                               "ref$linkRef\">", escape($astNodeName),
-                               "</a>", escape($Array), "</b>";
-               }
-
-               print CLASS "</LI>\n";
-
-               $linkRef += 1;
-
-               Ast::UnVisit();
-       }
-
-print CLASS<<EOF;
-</UL>
-EOF
-
-}
-
-sub writeClassDescription
-{
-       my( $term ) = "";
-       my( $once ) = 0;
-
-       if( $Description ne "" ) {
-               print CLASS "<H2><a name=\"short\">Detailed Description</a>",
-                       "</H2>\n<P>\n";
-
-               $term = "<HR>\n";
-
-               $Description =~ s/\n(\s*\n)+/\n<\/p><p>\n/g;
-
-               print CLASS "\n", makeReferencedText($Description) ,"\n</P>";
-       }
-       
-       if( $ClassSee ne "" ) {
-               print CLASS "<p><b>See Also</b>: ";
-
-               $once = 0;
-               $term = "<HR>" if $term eq "";
-
-               foreach $item ( split /[\s,]+/, $ClassSee ) {
-
-                       if( $once ) { print CLASS ", "; } 
-                       else { $once = 1; }
-
-                       print CLASS findClassReference( $item ); 
-               }
-
-               print CLASS "</p>\n";
-       }
-
-       print CLASS $term if $term ne "";
-}
-
-sub writeMemberDoc
-{
-       my( $visibility, $node ) = @_;
-       my( $once ) = 0;
-       my( $myvis ) = "";
-
-       return if !defined $node || $#{$node} == -1 ;
-
-       foreach $member ( @{$node} ) {
-               $member->Visit($modname);
-
-               if( $Description eq "" && $See eq "" ) {
-                       $linkRef++;
-                       Ast::UnVisit();
-                       next;
-               }
-                       
-               if( $Keyword eq "property" ) {
-                       print CLASS "<H4><b>",refString(escape($Type)),
-                       "<a name=\"ref",$linkRef,"\"></a>",
-                       "<a name=\"",$astNodeName,"\">",
-                       escape($astNodeName), "</a>",
-                       refString(escape($Array)),
-                       "   </b><font color=gray><code>[", $visibility, "]</code>",
-                       "</font></H4>\n";       
-               }
-               elsif( $Keyword eq "method" ) {
-                       $myvis = $visibility;
-
-                       if ( $ReturnType =~ /virtual/ ) {
-                               $myvis .= " virtual";
-                               $ReturnType =~ s/\s*virtual\s*//g;
-                       }
-
-                       if ( $ReturnType =~ /static/ ) {
-                               $myvis .= " static";
-                               $ReturnType =~ s/\s*static\s*//g;
-                       }
-
-                       print CLASS "<H4><b>",
-                       refString(escape($ReturnType)), 
-                       " <a name=\"ref",$linkRef,"\"></a>", 
-                       "<a name=\"",$astNodeName,"\">", 
-                       escape($astNodeName), "</a>(",
-                       refString(escape($Parameters)),
-                       ") $Const </b><font color=gray>",
-                       "<code>[", $myvis, "]</code></font></H4>\n";
-               }
-               elsif( $Keyword eq "enum" ) {
-                       print CLASS "<H4><b>enum <a name=\"ref", 
-                       $linkRef,"\"></a>",
-                       "<a name=\"",$astNodeName, "\"></a>",
-                       escape($astNodeName), " (",
-                       $Constants,") </b><font color=gray>",
-                       "<code>[", $visibility, "]</code></font></H4>\n";
-               }
-               elsif( $Keyword eq "typedef" ) {
-                       print CLASS "<H4><b>typedef ",refString(escape($Type)),
-                       " <a name=\"ref", $linkRef,"\"></a>",
-                       escape($astNodeName),
-                       refString(escape($Array)),
-                       "  </b><font color=gray>",
-                       "<code>[", $visibility, "]</code></font></H4>";
-               }
-
-               print CLASS "<p><strong>Deprecated member.</strong></p>\n" 
-                       if $MethDeprecated;
-               print CLASS "<p><strong>For internal use only.</strong></p>\n" 
-                       if $MethInternal;
-
-               $Description =~ s/\n(\s*\n)+/\n<\/p><p>\n/g;
-
-               print CLASS "<p>",makeReferencedText($Description),"</p>\n";
-               
-
-               if( $Keyword eq "method" ) {
-
-                       if( $#{$ParamDoc} != -1 ) {
-                               print CLASS "<dl><dt><b>Parameters</b>:<dd>\n",
-                                       "<table width=\"100%\" border=\"0\">\n";
-
-                               foreach $parameter ( @{$ParamDoc} ) {
-                                       print CLASS 
-                                       "<tr><td align=\"left\" valign=\"top\">\n",
-                                       $parameter->{"astNodeName"};
-
-                                       print CLASS
-                                       "</td><td align=\"left\" valign=\"top\">\n",
-                                       makeReferencedText(
-                                       $parameter->{"Description"}),
-                                       "</td></tr>\n";
-                               }
-
-                               print CLASS "</table>\n</dl>\n";
-
-                       }
-
-                       print CLASS "<dl><dt><b>Returns</b>:<dd>\n",
-                               makeReferencedText( $Returns ),
-                               "</dl>\n" if $Returns ne "";
-
-                       print CLASS "<dl><dt><b>Throws</b>:<dd>\n",
-                               makeReferencedText( $Exceptions ),
-                               "</dl>\n" if $Exceptions ne "";
-               }
-
-       if( $See ne "" ) {
-               print CLASS "<dl><dt><b>See Also</b>:<dd>";
-
-               $once = 0;
-
-               foreach $item ( split /[\s,]+/, $See ) {
-
-                       if( $once ) { print CLASS ", "; } 
-                       else { $once = 1; }
-
-                       print CLASS findClassReference( $item ); 
-               }
-
-               print CLASS "</dl>\n";
-       }
-
-       print CLASS $term if $term ne "";
-
-               Ast::UnVisit();
-
-               $linkRef++;
-       }
-}
-
-#
-# Check and markup words that are in the symbol table.
-# Use sparingly, since EVERY WORD is looked up in the table.
-#
-
-sub refString
-{
-       my( $source ) = @_;
-
-       foreach $werd ( split /[^\w><]+/, $source ) {
-
-               $ref = findClassReference( $werd );
-               if( $ref ne $werd ) {
-                       $source =~ s/$werd/$ref/g;
-               }
-       }
-
-       return $source;
-}
-
-######################################################################
-# markupCxxHeader -- Converts the header into a semi-fancy HTML doc
-######################################################################
-
-$outputFilename = "";
-
-# tokens
-#$nonIdentifier="[^\w]+";
-#$keywords="if|union|class|struct|operator|for|while|do|goto|new|delete|friend|typedef|return|switch|const|inline|asm|sizeof|virtual|static";
-#$types="void|int|long|float|double|unsigned|char|bool|short";
-
-# styles
-#$keywordStyle="strong";
-#$typeStyle="u";
-#$stringStyle="i";
-
-# Takes the path to a C++ source file,
-# spits out a marked-up and cross-referenced HTML file.
-
-sub markupCxxHeader
-{
-       my( $filename ) = @_;
-       $className = "";
-       my( $reference );
-       my( @inheritance );
-       my( $word );
-
-       open( HFILE, $filename ) || die "Couldn't open $filename to read.\n";
-
-       $_ = $filename;
-       # convert dashes to double dash, convert path to dash
-       s/-/--g/g;
-       s/\/|\./-/g;
-
-        # never let a file name start with a '-' sign, since this makes
-        # some programs think the file name really was a parameter to the
-        # program. Filenames starting with '-' usually happen if you let
-        # kdoc work on files like '../../include/foo/bar.h', given the
-        # above substitution rules. Therefore: if a filename starts with
-        # '-', prepend a '_'
-        s/^-/_-/;
-
-       $outputFilename = $_;
-       $outputFilename = $outputdir."/".$outputFilename;
-
-       open( HTMLFILE, ">$outputFilename.html" ) 
-               || die "Couldn't open $outputFilename to read.\n";
-
-       print HTMLFILE "<HTML>\n<HEAD><TITLE>$outputFilename</TITLE></HEAD>\n".
-               "<BODY BGCOLOR=\"#ffffff\">\n<PRE>";
-
-       while( <HFILE> )
-       {
-
-               s/</\&lt;/g;
-               s/>/\&gt;/g;
-               s/"/\&quot;/g;
-
-               if( /^\s*(template.*\s+)?(class|struct)/ ) {
-                       $_ = refString($_);
-               }
-
-               print HTMLFILE;
-       }
-
-       print HTMLFILE "</PRE>\n<HR>\n<address>$genText",
-                       "</address>\n</BODY>\n</HTML>\n";
-}
-
-#sub Linkize
-#{
-#      my( $str ) = @_;
-#
-#      $str =~ s/ /%20/g;
-#      $str =~ s/</%3C/g;
-#      $str =~ s/>/%3E/g;
-#
-#      return $str;
-#}
-
-1;
-
diff --git a/deal.II/doc/auto/scripts/kdoc/kdocMan.pm b/deal.II/doc/auto/scripts/kdoc/kdocMan.pm
deleted file mode 100644 (file)
index 0a82f75..0000000
+++ /dev/null
@@ -1,379 +0,0 @@
-#      kdocMan -- man page output for kdoc.
-#      Copyright(c) 1998, Sirtaj Singh Kang (taj@kde.org).
-
-#      $Id$
-
-#    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., 675 Mass Ave, Cambridge, MA 02139, USA.
-
-package kdocMan;
-
-require Ast;
-
-BEGIN {
-       $modname   = "kdocMan";
-       $outputdir = ".";
-       $genText   = "";
-       $className = "";
-}
-
-sub dumpDoc
-{
-       ( $lib, $root, $outputdir ) = @_;
-
-       print "Generating man pages.\n" unless $main::quiet;
-       $genText = $main::generatedByText;
-       $datestamp = `date +%D`;
-       chop $datestamp;
-
-       writeIndex();
-       writeClasses();
-}
-
-sub writeIndex()
-{
-       @classNames     = ();
-       %classNodes     = ();
-
-       foreach $class ( @{$root->{'classes'}} ) {
-               push( @classNames, $class->{'astNodeName'} );
-               $classNodes{ $class->{'astNodeName'} } = $class;
-       }
-
-       @classNames = sort @classNames;
-
-       open( MANPAGE, ">$outputdir/$lib.1$lib" ) 
-               || die "Couldn't write to $outputdir/$lib.1$lib\n";
-
-print MANPAGE<<EOF;
-.TH $lib 1 "$datestamp" "KDOC"
-.SH NAME
-$lib - C++ Class Library
-.SH SYNOPSIS
-The $lib library consists of the following classes:
-.PP
-EOF
-       writeHierarchy("<>");
-
-print MANPAGE<<EOF;    
-.SH DESCRIPTION
-EOF
-
-       foreach $class ( @classNames ) {
-               $short = $classNodes{$class}->{ "ClassShort" };
-
-               print MANPAGE "\n.TP 4\n.BI \"$class\"\n$short\n.PP\n";
-       }
-
-
-print MANPAGE<<EOF;
-.SH AUTHOR
-$genText
-.PP
-EOF
-       close MANPAGE;
-
-}
-
-sub writeClasses
-{
-       foreach $classNode ( @{$root->{'classes'}} ) {
-               $classNode->Visit( $modname );
-               $className=$astNodeName;
-               writeClass();
-               Ast::UnVisit();
-       }
-}
-
-sub writeClass
-{
-       ($fname = $astNodeName) =~ tr/[A-Z]/[a-z]/;
-       $fname .= ".3$lib";
-
-       $className = $astNodeName;
-       $Description = makeReferencedText( $Description );
-       $Description =~ s/\n\s+/\n/g;
-
-       open ( CLASSMAN, ">$outputdir/$fname" )
-               || die "couldn't open $outputdir/$fname for writing.\n";
-       
-       open( REDIR, ">$outputdir/$astNodeName.3$lib" )
-               ||die "couldn't open $outputdir/$astNodeName.3$lib ".
-               " for writing.\n";
-
-       print REDIR ".so $fname\n";
-       close REDIR;
-
-
-print CLASSMAN<<EOF;
-.TH $className 3 "$datestamp\" "KDOC" "$lib Class Library"
-.SH NAME
-$className - $ClassShort
-
-.SH SYNOPSIS 
-#include <$Header>
-
-EOF
-
-# Internal or Deprecated
-
-print ".ti +1c\n.b \"Deprecated Class\"\n" if $Deprecated; 
-print ".ti +1c\n.b \"Internal use only\"\n" if $Internal; 
-
-
-print CLASSMAN<<EOF;
-Inherits: 
-EOF
-
-# Inheritance list
-       my($pcount) = 0;
-       if (defined @{$Ancestors} ) {
-               foreach $foreparent ( @{$Ancestors} ) {
-                       print CLASSMAN ", " if $pcount != 0;
-                       $pcount = 1;
-
-                       print CLASSMAN $foreparent->{"astNodeName"};
-
-                       if( defined $main::classSource{
-                               $foreparent->{"astNodeName"}} ) {
-                               print CLASSMAN " (",
-                               $main::classSource{$foreparent->{"astNodeName"}},")";
-                       }
-               }
-       }
-       else {
-               print CLASSMAN "nothing";
-       }
-
-print CLASSMAN<<EOF;
-
-.PP
-EOF
-       listMembers( "Public Members", $public );
-        listMembers( "Public Slots", $public_slots );
-        listMembers( "Protected Members", $protected );
-        listMembers( "Protected Slots", $protected_slots );
-        listMembers( "Signals", $signals );
-
-       if( $main::dontDoPrivate == 0 ) {
-                listMembers( "Private Members", $private );
-                listMembers( "Private Slots", $private_slots );
-        } 
-                                   
-
-print CLASSMAN<<EOF;
-
-.SH DESCRIPTION
-$Description
-.SH MEMBER DOCUMENTATION
-EOF
-
-       documentMembers( $public );
-        documentMembers( $public_slots );
-        documentMembers( $protected );
-        documentMembers( $protected_slots );
-        documentMembers( $signals );
-
-       if( $main::dontDoPrivate == 0 ) {
-                documentMembers( $private );
-                documentMembers( $private_slots );
-        } 
-
-       if( $ClassSee ne "" ) {
-               $ClassSee = ", ".$ClassSee
-       }
-
-print CLASSMAN<<EOF;
-.SH "SEE ALSO"
-$lib(1)$ClassSee
-EOF
-
-print CLASSMAN<<EOF;
-.SH AUTHOR
-EOF
-
-       if( ! ($Author =~ /^\s*$/) ) {
-               print CLASSMAN "$Author\n.PP\n";
-       }
-
-print CLASSMAN<<EOF;
-$genText
-.SH VERSION
-$Version
-EOF
-
-       close CLASSMAN;
-}
-
-sub writeHierarchy
-{
-        local( $node ) = @_;
-        local( @kids );
-
-# Display class
-       if( $node ne "<>" ) {
-               print MANPAGE "$node";
-               if( defined $main::classSource{ $node } ) {
-                       print MANPAGE " (from ",$main::classSource{$node},")";
-               }
-               print MANPAGE "\n";
-       }
-
-# Recurse for each child class
-        if ( defined $main::children{$node} ) {
-               print MANPAGE ".in +1c\n";
-                foreach $kid ( sort split /;/, $main::children{$node} )
-                {
-                       print MANPAGE ".br\n";
-                        writeHierarchy( $kid );
-                }
-
-               print MANPAGE ".in -1c\n";
-         }
-}
-sub makeReferencedText
-{
-       my( $str ) = @_;
-
-       $str =~ s/\@ref(\s+[-:#\w\._]+)/\n.BI "$1"\n/g;
-
-       return $str;
-}
-
-sub listMembers
-{
-       my( $access, $nodelist ) = @_;
-       my( $node );
-
-       return if !defined $nodelist || $#{$nodelist} == -1;
-
-print CLASSMAN<<EOF;
-.PP
-.BI "$access"
-.in +2c
-EOF
-       
-       foreach $node ( @{$nodelist} ) {
-               $node->Visit( $modname );
-
-               print CLASSMAN ".ti -1c\n";
-
-               if( $Keyword eq "property" ) {
-                       $Type =~ s/^\s+//g;
-                       $Type =~ s/\s+$//g;
-                       print CLASSMAN ".BI \"$Type $astNodeName\"\n.br\n";
-               }
-               elsif( $Keyword eq "method" ) {
-                       $ReturnType =~ s/^\s+//g;
-                       $ReturnType =~ s/\s+$//g;
-                       $ReturnType .= " " if $ReturnType ne "";
-
-                       print CLASSMAN ".BI \"$ReturnType$astNodeName ",
-                       "($Parameters) $Const\"\n.br\n";
-               }
-               elsif( $Keyword eq "enum" ) {
-                       print CLASSMAN ".BI \"",
-                       "enum $astNodeName {$Constants}\"\n.br\n";
-               }
-               elsif( $Keyword eq "typedef" ) {
-                       print CLASSMAN ".BI \"",
-                       "typedef $astNodeName\"\n.br\n";
-               }
-               Ast::UnVisit();
-       }
-
-print CLASSMAN<<EOF;
-.in -2c
-EOF
-}
-
-sub documentMembers
-{
-       my( $nodelist ) = @_;
-
-       return if !defined $nodelist || $#{$nodelist} == -1;
-
-       foreach $member ( @{$nodelist} ) {
-               $member->Visit( $modname );
-               if( $Description eq "" && $See eq "" ) {
-                       Ast::UnVisit();
-                       next;
-               }
-
-               if( $Keyword eq "property" ) {
-                       $Type =~ s/^\s+//g;
-                       print CLASSMAN ".SH \"$Type $className","::",
-                               "$astNodeName\"\n";
-               }
-               elsif( $Keyword eq "method" ) {
-                       $ReturnType =~ s/^\s+//g;
-                       $ReturnType =~ s/\s+$//g;
-                       $ReturnType .= " " if $ReturnType ne "";
-
-                       print CLASSMAN ".SH \"$ReturnType$className",
-                               "::","$astNodeName ","($Parameters) $Const\"\n";
-               }
-               elsif( $Keyword eq "enum" ) {
-                       print CLASSMAN ".SH \"",
-                               "enum $className","::",
-                               "$astNodeName {$Constants}\"\n";
-               }
-               elsif( $Keyword eq "typedef" ) {
-                       print CLASSMAN ".SH \"", "typedef $className",
-                               "::","$astNodeName\"\n";
-               }
-
-# Internal or Deprecated
-
-               print ".ti +1c\n.b \"Deprecated member\"\n" if $MethDeprecated; 
-               print ".ti +1c\n.b \"Internal use only\"\n" if $MethInternal; 
-
-# Description
-               print CLASSMAN makeReferencedText($Description),
-                       "\n.br\n" if $Description ne "";
-
-# Parameters
-               if( $Keyword eq "method" ) {
-                       if( $#{$ParamDoc} != -1 ) {
-                               print CLASSMAN "\n.br\n.in +1c\n",
-                                       "Parameters\n.in +1c\n.";
-                               
-                               foreach $parameter ( @{$ParamDoc} ) {
-print CLASSMAN ".br\n.BI \"", $parameter->{"astNodeName"}, 
-       "\"\n.in +1c\n",
-               $parameter->{"Description"}, "\n.in -1c\n";
-                               }
-print CLASSMAN<<EOF;
-.in -1c
-.in -1c
-EOF
-                       }
-
-                       print CLASSMAN ".in +1c\nReturns\n.in +1c\n",
-                               "$Returns\n.in -1c\n.in -1c\n" if $Returns ne "";
-                       print CLASSMAN ".in +1c\nThrows\n.in +1c\n",
-                               "$Exceptions\n.in -1c\n.in -1c\n" 
-                               if $Exceptions ne "";
-               }
-
-               print CLASSMAN ".in +1c\nSee Also\n.in +1c\n$See\n",
-                       ".in -1c\n.in -1c\n" if $See ne "";
-
-               Ast::UnVisit();
-       }
-}
-
-1;
diff --git a/deal.II/doc/auto/scripts/kdoc/kdocTeX.pm b/deal.II/doc/auto/scripts/kdoc/kdocTeX.pm
deleted file mode 100644 (file)
index 15cc821..0000000
+++ /dev/null
@@ -1,291 +0,0 @@
-#    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., 675 Mass Ave, Cambridge, MA 02139, USA.
-package kdocTeX;
-
-require Ast;
-
-## LaTeX Output.
-# Peeks in main: quiet, version, classSource
-
-BEGIN {
-       $modname = "kdocTeX";
-}
-
-sub dumpDoc {
-       my( $name, $nodem $outputdir ) = @_;
-
-       print "Generating LaTeX documentation.\n" unless $main::quiet;
-
-       open(TEX,"> $outputdir/$name.tex") 
-               || die "Couldn't create $outputdir/".$name.".tex.\n";
-
-       print TEX<<EOF;
-\\documentclass[12pt]\{article\}
-\\usepackage\{a4\}
-\\usepackage\{makeidx\}
-\\title\{$name Library Index\}
-\\date\{\\today\}
-\\def\\mtl{{\\tt\\~\\relax}}
-\\author{Generated with KDOC $main::version}
-\\makeindex
-\\begin\{document\}
-\\maketitle
-\\pagestyle\{headings\}
-\\tableofcontents
-\\newpage
-\\sloppy
-EOF
-
-       $node->Visit($modname);
-
-       foreach $class ( @{$classes} )  {
-
-               $class->Visit($modname);
-
-               $inPre = 0;
-               $doc = "";
-
-               foreach $line ( split /\n/, $Description ) {
-                       if( $line =~ /<(pre|PRE)>/ ) {
-                               $inPre = 1;
-                               $doc .= "\\begin{verbatim}\n";
-                               next;
-                       }
-                       if( $line =~ m#</(pre|PRE)># ) {
-                               $inPre = 0;
-                               $doc .= "\\end{verbatim}\n";
-                               next;
-                       }
-                       if( !$inPre ) {
-                               $line =~ s/\@ref(\s*(#|::))?//g;
-                               $line =~ s/([~#\$\\\&%#_\{\}])/\\$1/g;
-                               $line =~ s/<(code|pre)>/\\texttt\{/g;
-                               $line =~ s/<\/(code|pre)>/}/g;
-                               $line =~ s/([<>])/\\texttt\{$1\} /g;
-                               $line =~ s/~/\\texttt{~}\\relax /g;
-                       }
-
-                       $doc .= $line."\n";
-               }
-
-               $ClassName = escape( $astNodeName );
-               $Header =  escape( $Header );
-               $ClassSee = escape( $ClassSee );
-
-               print TEX<<EOF;
-\\section[$ClassName]\{\\emph\{$ClassName\} class reference \\small\\sf ($Header)\}
-\\vspace{-0.6cm}
-\\hrulefill
-\\index\{$ClassName\}
-EOF
-
-               if( $class->{ "TmplArgs" } ne "" ) {
-                       print TEX "\\begin{description}\n", 
-                               "\\item{template form:}",
-                               "\\texttt{template <", escape( $class->{ "TmplArgs" } ),
-                               "> ",
-                                $ClassName, "}\n";
-
-                       print TEX "\\end{description}\n";
-               }
-
-               if( defined $class->{ "Ancestors" } ){
-                       print TEX "\\begin{description}\n",
-                       "\\item{inherits:}";
-
-                       foreach $ancestor ( @{$Ancestors} ) {
-                               $ancName = $ancestor->{"astNodeName"};
-
-                               $str = " ".$ancName;
-
-                               if( defined $main::classSource{ $ancName } ) {
-                                       $str .="(".$main::classSource{$ancName}.
-                                                       ")";
-                               }
-
-                               print TEX escape( $str ),"\n";
-                       }
-
-                       print TEX "\\end{description}\n";
-               }
-
-
-               if( $Author ne "" || $Version ne "" || $ClassShort ne "" 
-                               || $ClassSee ne "" ) {
-                       print TEX "\\begin{description}\n";
-
-                       print TEX "\\item[Description:] ", escape( $ClassShort ),"\n"
-                               if $ClassShort ne "";
-                       print TEX "\\item[Version:] ", escape( $Version ),"\n"
-                               if $Version ne "";
-
-                       print TEX "\\item[Author:] ", escape( $Author ),"\n"
-                               if $Author ne "";               
-
-                       print TEX "\\item[See Also:] ", escape( $ClassSee ),"\n"
-                               if $ClassSee ne "";             
-
-                       print TEX "\\end{description}\n";
-               }
-
-               print TEX "$doc\n\n" if $Description ne "";
-
-               dumpMembers( "public members", $public ) 
-                       if defined $class->{"public"};
-               dumpMembers( "public slots", $public_slots )
-                       if defined $class->{"public_slots"};
-               dumpMembers( "protected members", $protected )
-                       if defined $class->{"protected"};
-               dumpMembers( "protected slots", $protected_slots )
-                       if defined $class->{"protected_slots"};
-               dumpMembers( "signals", $signals )
-                       if defined $class->{"signals"};
-
-               if( $main::dontDoPrivate == 0 ) {
-                       dumpMembers( "private members", $private )
-                               if defined $class->{"private"};
-                       dumpMembers( "private slots", $private_slots )
-                               if defined $class->{"private_slots"};
-               }
-
-               Ast::UnVisit();
-       }
-
-       Ast::UnVisit();
-
-       print TEX "\\printindex\n\\end{document}\n";
-
-}
-
-sub dumpMembers
-{
-       my( $access, $nodes ) = @_;
-
-       print TEX "\\subsection{$access}\n";
-
-       foreach $member ( @{$nodes} ) {
-
-               $member->Visit($modname);
-               
-               $inPre = 0;
-               $doc = "";
-
-               foreach $line ( split /\n/, $Description ) {
-                       if( $line =~ /<(pre|PRE)>/ ) {
-                               $inPre = 1;
-                               $doc .= "\\begin{verbatim}\n";
-                               next;
-                       }
-                       if( $line =~ /<\/(pre|PRE)>/ ) {
-                               $inPre = 0;
-                               $doc .= "\\end{verbatim}\n";
-                               next;
-                       }
-                       if( !$inPre ) {
-                               $line =~ s/\@ref(\s*(#|::))?//g;
-                               $line =~ s/([~#\$\\\&%#_\{\}])/\\$1/g;
-                               $line =~ s/<(code|pre)>/\\texttt\{/g;
-                               $line =~ s/<\/(code|pre)>/}/g;
-                               $line =~ s/([<>])/\\texttt\{$1\} /g;
-                               $line =~ s/~/\\texttt{~}\\relax /g;
-                       }
-
-                       $doc .= $line."\n";
-               }
-
-               $astNodeName = escape( $astNodeName );
-
-
-               print TEX<<EOF;
-\\subsubsection*{$ClassName\:\:$astNodeName}
-\\vspace{-0.65cm}
-\\hrulefill
-\\index{$ClassName!$astNodeName}
-\\index{$astNodeName!$ClassName}
-\\begin{flushleft}
-EOF
-
-               if( $Keyword eq "method" ) {
-                       $ReturnType = escape( $ReturnType );
-                       $Parameters = escape( $Parameters );
-                       $Parameters =~ s/\n+/ /g;
-
-                       print TEX "\\texttt{$ReturnType$astNodeName(",
-                               "$Parameters)$Const;}\n";
-               }
-               elsif ( $Keyword eq "property" ) {
-                       $Type = escape( $Type );
-                       print TEX "\\texttt{$Type$astNodeName;}\n";
-               }
-               elsif ( $Keyword eq "typedef" ) {
-                       $Type = escape( $Type );
-                       print TEX "\\texttt{$Type$astNodeName;}\n";
-               }
-               elsif ( $Keyword eq "enum" ) {
-                       $Constants = escape( $Constants );
-                       $Constants =~ s/\n+/ /g;
-
-                       print TEX<<EOF
-\\texttt{enum $astNodeName\\{
-$Constants
-\\};}
-
-EOF
-               }
-
-               print TEX<<EOF;
-\\end{flushleft}
-
-$doc
-
-EOF
-               if ( $Keyword eq "method" && 
-                       ($Returns ne "" || $Exceptions ne "") ) {
-
-                       if ( $Returns ne "" ) {
-                               $Returns = escape ( $Returns );
-                               print TEX<<EOF;
-\\begin{description}
-\\item[Returns:] $Returns
-\\end{description}
-EOF
-                       }
-
-                       if ( $Exceptions ne "" ) {
-                               $Exceptions = escape ( $Exceptions );
-                               print TEX<<EOF;
-\\begin{description}
-\\item[Throws:] $Exceptions
-\\end{description}
-EOF
-                       }
-
-               }
-               Ast::UnVisit();
-       }
-}
-
-sub escape
-{
-       my( $str ) = @_;
-
-       $str =~ s/\@ref\s+//g;
-       $str =~ s/([#\$\\\&%#_\{\}])/\\$1/g;
-       $str =~ s/([<>]+)/\\texttt\{$1\}/g;
-       $str =~ s/~/\\mtl /g;
-
-       return $str;
-}
-
-1;
diff --git a/deal.II/doc/auto/scripts/process-tex b/deal.II/doc/auto/scripts/process-tex
deleted file mode 100644 (file)
index 0555338..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-while (<>) {
-    goto END_HEADER  if /begin.document./;
-}
-
-
-END_HEADER:
-
-while (<>) {
-    print unless (/end\{document\}/);
-}
diff --git a/deal.II/doc/auto/scripts/validate-xrefs.pl b/deal.II/doc/auto/scripts/validate-xrefs.pl
deleted file mode 100644 (file)
index 30b7bf9..0000000
+++ /dev/null
@@ -1,104 +0,0 @@
-# $Id$
-# Check whether references in HTML files are valid or 
-# point to non-existing files/links/etc
-#
-# Author: Wolfgang Bangerth, 2000
-
-
-# set this to 1 if you want verbose output
-$debug = 0;
-
-foreach $filename (@ARGV) {
-    open IN, $filename
-        or die "---Can't open file `$filename'\n";
-
-    print "File: $filename\n" if $debug;
-    while (<IN>) {
-        # first find all hrefs
-        while ( /<\s*a\s+href=\"?(.*?)[\s\"]/gi ) {
-           # then decide whether they are relevant for 
-            # our purpose
-           $link = $1;
-    
-           if ( $link =~ /^mailto|http:\/\//i ) {
-               # link is external. don't check it
-               print "external link: $link\n" if $debug;
-               next;
-           }
-           elsif ( $link =~ /^#(.*)/ )
-           {
-               # this is a reference within this file. try to 
-               # find its anchor
-               $internal_ref = $1;
-               print "internal reference: $link\n" if $debug;
-           
-               open IN2, $filename;
-               $found = 0;
-               while ( <IN2> ) {
-                   while ( /<a name=\"?(.*?)[\s\"]/gi ) {
-                       if ( $1 eq $internal_ref) {
-                           print "                    found.\n" if $debug;
-                           $found = 1;
-                           last;
-                       }
-                   }
-               }
-               
-               die "---Internal reference `$internal_ref' not found in file $filename\n"
-                   unless $found;
-               next;
-           }
-           elsif ( $link =~ /^(.*?)#(.*)/ )
-           {
-               # this is a reference within another file. try to 
-               # find its anchor
-               $external_file = $1;
-               $external_ref = $2;
-
-               # if the file name was prepended with http: (but is a local file, 
-               # so no double-slash), then split off http:
-               $external_file =~ s/^http://g;
-
-               print "external reference: $link\n" if $debug;
-               
-               open IN2, $external_file;
-               $found = 0;
-               while ( <IN2> ) {
-                   while ( /<a name=\"?(.*?)[\s\"]/gi ) {
-                       if ( $1 eq $external_ref) {
-                           print "                    found.\n" if $debug;
-                           $found = 1;
-                           last;
-                       }
-                   }
-               }
-               
-               die "---External reference `$external_file#$external_ref' not found in file $filename\n"
-                   unless $found;
-               next;
-           }
-           else {
-               # this must now be a regular file which is
-               # referenced. the file must be local
-
-               # if the file name was prepended with http: (but is a local file, 
-               # so no double-slash), then split off http:
-               $link =~ s/^http://g;
-
-               die "---Local file `$link' not found in file `$filename'\n"
-                   unless ((-r $link) && (-f $link));
-           }
-       }
-
-       # check whether references to images are valid
-       while ( /img\s+src=\"?(.*?)[\s\"]/gi ) {
-           # check whether the file for the image is present
-           $link = $1;
-
-           die "---Local image `$link' not found in file `$filename'\n"
-               unless ((-r $link) && (-f $link));
-       }
-   }
-}
-
-print "---- All local links found to be ok.\n";

In the beginning the Universe was created. This has made a lot of people very angry and has been widely regarded as a bad move.

Douglas Adams


Typeset in Trocchi and Trocchi Bold Sans Serif.