From b12b7063e268e5cdf4f2dcd871c2447efa64e5c3 Mon Sep 17 00:00:00 2001 From: Dimitri van Heesch Date: Sun, 5 Nov 2000 19:00:55 +0000 Subject: Release-1.2.3-20001105 --- INSTALL | 4 ++-- README | 4 ++-- VERSION | 2 +- addon/configgen/Makefile.in | 4 ++-- addon/doxywizard/Makefile.in | 4 ++-- addon/xmlread/Makefile.in | 4 ++-- configure | 2 -- doc/external.doc | 8 ++++---- doc/index.doc | 2 +- packages/rpm/doxygen.spec | 2 +- qtools/Makefile.in | 4 ++-- src/Makefile.in | 12 ++++++------ src/diagram.cpp | 6 ++++-- src/doxygen.cpp | 45 +++++++++++++++++++++----------------------- src/filedef.h | 3 ++- src/index.cpp | 32 +++++++++++++++---------------- src/memberdef.cpp | 1 + src/scanner.l | 2 +- 18 files changed, 70 insertions(+), 71 deletions(-) diff --git a/INSTALL b/INSTALL index 740a762..198b0ba 100644 --- a/INSTALL +++ b/INSTALL @@ -1,6 +1,6 @@ -DOXYGEN Version 1.2.3 +DOXYGEN Version 1.2.3-20001105 Please read the installation section of the manual for instructions. -------- -Dimitri van Heesch (30 October 2000) +Dimitri van Heesch (05 November 2000) diff --git a/README b/README index 21c9314..85f85ee 100644 --- a/README +++ b/README @@ -1,4 +1,4 @@ -DOXYGEN Version 1.2.3 +DOXYGEN Version 1.2.3-20001105 Please read INSTALL for compilation instructions. @@ -7,4 +7,4 @@ The latest version of doxygen can be obtained at Enjoy, -Dimitri van Heesch (30 October 2000) +Dimitri van Heesch (05 November 2000) diff --git a/VERSION b/VERSION index 0495c4a..6f864e2 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -1.2.3 +1.2.3-20001105 diff --git a/addon/configgen/Makefile.in b/addon/configgen/Makefile.in index aa8dd7a..a58d145 100644 --- a/addon/configgen/Makefile.in +++ b/addon/configgen/Makefile.in @@ -16,7 +16,7 @@ all: Makefile.configgen config.h config.l $(MAKE) -f Makefile.configgen $@ Makefile.configgen: configgen.pro - $(PERL) $(TMAKE) configgen.pro >Makefile.configgen + export TMAKEPATH=$(TMAKEPATH) ; $(PERL) $(TMAKE) configgen.pro >Makefile.configgen config.h: $(CFGGEN_DIR)/configgen config_templ.h $(CFGGEN_DIR)/configgen config_templ.h >config.h @@ -28,7 +28,7 @@ $(CFGGEN_DIR)/configgen: Makefile.configgen configgen.cpp $(MAKE) -f Makefile.configgen tmake: - $(PERL) $(TMAKE) configgen.pro >Makefile.configgen + export TMAKEPATH=$(TMAKEPATH) ; $(PERL) $(TMAKE) configgen.pro >Makefile.configgen install: $(CP) config.l config.h ../../src diff --git a/addon/doxywizard/Makefile.in b/addon/doxywizard/Makefile.in index 4e8779b..243d68c 100644 --- a/addon/doxywizard/Makefile.in +++ b/addon/doxywizard/Makefile.in @@ -18,7 +18,7 @@ all: $(CFGGENBIN_DIR)/configgen config.h config.l doxywizard.cpp doxywizard.h \ $(MAKE) -f Makefile.doxywizard $@ Makefile.doxywizard: doxywizard.pro doxywizard.t - $(PERL) $(TMAKE) doxywizard.pro >Makefile.doxywizard + export TMAKEPATH=$(TMAKEPATH) ; $(PERL) $(TMAKE) doxywizard.pro >Makefile.doxywizard config.l: $(CFGGENBIN_DIR)/configgen $(CFGGENSRC_DIR)/config_templ.l $(CFGGENBIN_DIR)/configgen $(CFGGENSRC_DIR)/config_templ.l >config.l @@ -36,7 +36,7 @@ $(CFGGENBIN_DIR)/configgen: $(CFGGENSRC_DIR)/configgen.cpp $(MAKE) -C $(CFGGENSRC_DIR) tmake: - $(PERL) $(TMAKE) doxywizard.pro >Makefile.doxywizard + export TMAKEPATH=$(TMAKEPATH) ; $(PERL) $(TMAKE) doxywizard.pro >Makefile.doxywizard clean: Makefile.doxywizard $(MAKE) -f Makefile.doxywizard clean diff --git a/addon/xmlread/Makefile.in b/addon/xmlread/Makefile.in index ae31a26..723887e 100644 --- a/addon/xmlread/Makefile.in +++ b/addon/xmlread/Makefile.in @@ -5,8 +5,8 @@ distclean: clean $(RM) -f Makefile.xmlread tmake: - $(PERL) $(TMAKE) xmlread.pro >Makefile.xmlread + export TMAKEPATH=$(TMAKEPATH) ; $(PERL) $(TMAKE) xmlread.pro >Makefile.xmlread Makefile.xmlread: xmlread.pro - $(PERL) $(TMAKE) xmlread.pro >Makefile.xmlread + export TMAKEPATH=$(TMAKEPATH) ; $(PERL) $(TMAKE) xmlread.pro >Makefile.xmlread diff --git a/configure b/configure index 7105cfb..9a4fb65 100755 --- a/configure +++ b/configure @@ -337,8 +337,6 @@ VERSION = `cat VERSION` INSTALL = $f_prefix INSTTOOL = $f_insttool DOXYDOCS = .. - -export TMAKEPATH EOF if test "$f_dot" != NO; then diff --git a/doc/external.doc b/doc/external.doc index 01c275f..640768a 100644 --- a/doc/external.doc +++ b/doc/external.doc @@ -25,7 +25,7 @@ reasons to not include all sources for these with every run of doxygen: You may want to link to these pages instead of generating the documentation in your local output directory.
Compilation speed:
External projects typically have a different update - frequency form your own project. It does not make much sense to let doxygen + frequency from your own project. It does not make much sense to let doxygen parse the sources for these external project over and over again, even if nothing has changed.
Memory:
For very large source trees, letting doxygen parse all sources @@ -50,7 +50,7 @@ you should specify the name of the tag files after the \ref cfg_tagfiles "TAGFILES" option in the configuration file. A tag file does not contain information about where the external documentation -is located. This could be a directory or URL. So when you include a tag +is located. This could be a directory or an URL. So when you include a tag file you have to specify where the external documentation is located. There are two ways to do this:
@@ -89,7 +89,7 @@ The directory structure looks as follows: \endverbatim \par -Then relevate parts of the configuration files look as follows: +Then the relevant parts of the configuration files look as follows: \par proj.cfg: \verbatim @@ -115,7 +115,7 @@ can use the \ref doxytag_usage "doxytag" tool to extract a tag file from the generated HTML sources. This tool depends on the particular structure of the generated output and on some special markers that are generated by doxygen. Since this type of extraction is brittle and error prone I -suggest to only use this approach if there is no alternative. The +suggest you to only use this approach if there is no alternative. The doxytag tool may even become obsolete in the future. \htmlonly diff --git a/doc/index.doc b/doc/index.doc index 682d921..621efa0 100644 --- a/doc/index.doc +++ b/doc/index.doc @@ -68,7 +68,7 @@ It can help you in three ways: for this manual). -Doxygen is developed on Linux, +Doxygen is developed under Linux, but is set-up to be highly portable. As a result, it runs on most other UNIX flavors as well. Furthermore, an executable for Windows 9x/NT is also available. diff --git a/packages/rpm/doxygen.spec b/packages/rpm/doxygen.spec index 1410ae0..f218c99 100644 --- a/packages/rpm/doxygen.spec +++ b/packages/rpm/doxygen.spec @@ -1,5 +1,5 @@ Name: doxygen -Version: 1.2.3 +Version: 1.2.3-20001105 Summary: documentation system for C, C++ and IDL Release: 1 Source0: doxygen-%{version}.src.tar.gz diff --git a/qtools/Makefile.in b/qtools/Makefile.in index 730d6b2..ae5bec9 100644 --- a/qtools/Makefile.in +++ b/qtools/Makefile.in @@ -17,10 +17,10 @@ all: Makefile.qtools Makefile $(MAKE) -f Makefile.qtools $@ Makefile.qtools: qtools.pro - $(PERL) $(TMAKE) qtools.pro >Makefile.qtools + export TMAKEPATH=$(TMAKEPATH) ; $(PERL) $(TMAKE) qtools.pro >Makefile.qtools tmake: - $(PERL) $(TMAKE) qtools.pro >Makefile.qtools + export TMAKEPATH=$(TMAKEPATH) ; $(PERL) $(TMAKE) qtools.pro >Makefile.qtools clean: Makefile.qtools $(MAKE) -f Makefile.qtools clean diff --git a/src/Makefile.in b/src/Makefile.in index cd4138d..586b439 100644 --- a/src/Makefile.in +++ b/src/Makefile.in @@ -20,18 +20,18 @@ all: Makefile.doxygen Makefile.doxytag Makefile.doxysearch Makefile $(MAKE) -f Makefile.doxysearch $@ Makefile.doxygen: doxygen.pro doxygen.t - $(PERL) $(TMAKE) doxygen.pro >Makefile.doxygen + export TMAKEPATH=$(TMAKEPATH) ; $(PERL) $(TMAKE) doxygen.pro >Makefile.doxygen Makefile.doxytag: doxytag.pro doxytag.t - $(PERL) $(TMAKE) doxytag.pro >Makefile.doxytag + export TMAKEPATH=$(TMAKEPATH) ; $(PERL) $(TMAKE) doxytag.pro >Makefile.doxytag Makefile.doxysearch: doxysearch.pro - $(PERL) $(TMAKE) doxysearch.pro >Makefile.doxysearch + export TMAKEPATH=$(TMAKEPATH) ; $(PERL) $(TMAKE) doxysearch.pro >Makefile.doxysearch tmake: - $(PERL) $(TMAKE) doxygen.pro >Makefile.doxygen - $(PERL) $(TMAKE) doxytag.pro >Makefile.doxytag - $(PERL) $(TMAKE) doxysearch.pro >Makefile.doxysearch + export TMAKEPATH=$(TMAKEPATH) ; $(PERL) $(TMAKE) doxygen.pro >Makefile.doxygen + export TMAKEPATH=$(TMAKEPATH) ; $(PERL) $(TMAKE) doxytag.pro >Makefile.doxytag + export TMAKEPATH=$(TMAKEPATH) ; $(PERL) $(TMAKE) doxysearch.pro >Makefile.doxysearch clean: Makefile.doxygen Makefile.doxytag Makefile.doxysearch $(MAKE) -f Makefile.doxygen clean diff --git a/src/diagram.cpp b/src/diagram.cpp index 4808565..517433a 100644 --- a/src/diagram.cpp +++ b/src/diagram.cpp @@ -1235,13 +1235,15 @@ void ClassDiagram::writeFigure(QTextStream &output,const char *path, if (Config::usePDFLatexFlag) { QCString epstopdfCmd(4096); - epstopdfCmd.sprintf("epstopdf \"%s.eps\" -outfile=\"%s.pdf\"", - epsBaseName.data(),epsBaseName.data()); + //epstopdfCmd.sprintf("epstopdf \"%s.eps\" -outfile=\"%s.pdf\"", + // epsBaseName.data(),epsBaseName.data()); + //printf("Converting eps using `%s'\n",epstopdfCmd.data()); if (iSystem(epstopdfCmd)!=0) { err("Error: Problems running epstopdf. Check your TeX installation!\n"); return; } + printf("done\n"); } } diff --git a/src/doxygen.cpp b/src/doxygen.cpp index 6d390b5..6c268cf 100644 --- a/src/doxygen.cpp +++ b/src/doxygen.cpp @@ -1717,14 +1717,16 @@ static void buildMemberList(Entry *root) ) { // see if we need to create a new member - found=nsName==rnsName || // members are in the same namespace - ((fd!=0 && // no external reference + found=(nd && rnd && nsName==rnsName) || // members are in the same namespace + ((fd!=0 && // no external reference and fd->absFilePath()==root->fileName // prototype in the same file ) || - md->getGroupDef()!=0 // member is part of a group + md->getGroupDef()!=0 // member is part of a group ); // otherwise, allow a duplicate global member with the same argument list + //printf("combining function with prototype found=%d `%s'<->`%s'!\n", + // found,fd->absFilePath().data(),root->fileName.data()); // merge members documentation and properties mergeArguments(root->argList,md->argumentList()); if (!md->documentation() && !root->doc.isEmpty()) @@ -1963,12 +1965,16 @@ static void transferFunctionDocumentation() if (md->isPrototype()) mdec=md; if (md->isFunction() && !md->isStatic() && !md->isPrototype()) mdef=md; } + //printf("mdef=(%p,%s) mdec=(%p,%s)\n", + // mdef, mdef ? mdef->name().data() : "", + // mdec, mdec ? mdec->name().data() : ""); if (mdef && mdec && matchArguments(mdef->argumentList(),mdec->argumentList()) ) /* match found */ { //printf("Found member %s: def in %s and dec in %s\n", - // mn->memberName(),mdef->getFileDef()->name(),mdec->getFileDef()->name()); + // mn->memberName(),mdef->getFileDef()->name().data(), + // mdec->getFileDef()->name().data()); /* copy documentation between function definition and declaration */ if (mdec->briefDescription()) @@ -2520,6 +2526,8 @@ static void addMemberDocs(Entry *root, } else { + //printf("Adding docs md->docs=`%s' root->docs=`%s'!\n", + // md->documentation().data(),root->doc.data()); // documentation outside a compound overrides the documentation inside it if ( /* !md->isStatic() && !root->stat && do not replace doc of a static */ ( @@ -5118,29 +5126,19 @@ static void copyStyleSheet() static void readFiles(BufStr &output) { QCString *s=inputFiles.first(); -// char *p=output.data(); while (s) { QCString fileName=*s; - //int fileSize=fi->fileInfo()->size(); int fileNameSize=fileName.length(); - //int streamLength=fileSize+fileNameSize+4; - - //QCString fileText(streamLength); // add begin filename marker -// *p++=0x06; output.addChar(0x06); // copy filename -// memcpy(p,fileName.data(),fileNameSize); -// p+=fileNameSize; output.addArray(fileName.data(),fileNameSize); // add end filename marker -// *p++=0x06; output.addChar(0x06); -// *p++='\n'; // to make ^ work while scanning the first line of a file! output.addChar('\n'); if (Config::preprocessingFlag) { @@ -5158,10 +5156,7 @@ static void readFiles(BufStr &output) s=inputFiles.next(); //printf("-------> adding new line\n"); } -// *p++='\0'; output.addChar(0); - //printf("Output after preprocessing:\n---------\n%s\n----------\n",output.data()); - //printf("Final length = %d\n",p-output.data()); } //---------------------------------------------------------------------------- @@ -5177,7 +5172,8 @@ static int readDir(QFileInfo *fi, QStrList *patList, QStrList *exclPatList, StringList *resultList, - StringDict *resultDict + StringDict *resultDict, + bool errorIfNotExist ) { QDir dir((const char *)fi->absFilePath()); @@ -5193,7 +5189,7 @@ static int readDir(QFileInfo *fi, { if (exclDict==0 || exclDict->find(cfi->absFilePath())==0) { // file should not be excluded - if (!cfi->exists() || !cfi->isReadable()) + if ((!cfi->exists() || !cfi->isReadable()) && errorIfNotExist) { err("Error: source %s is not a readable file or directory... skipping.\n",cfi->absFilePath().data()); } @@ -5233,7 +5229,7 @@ static int readDir(QFileInfo *fi, { cfi->setFile(cfi->absFilePath()); totalSize+=readDir(cfi,fnList,fnDict,exclDict, - patList,exclPatList,resultList,resultDict); + patList,exclPatList,resultList,resultDict,errorIfNotExist); } } ++it; @@ -5288,7 +5284,8 @@ static int readFileOrDirectory(const char *s, QStrList *patList, QStrList *exclPatList, StringList *resultList, - StringDict *resultDict + StringDict *resultDict, + bool errorIfNotExist=TRUE ) { QFileInfo fi(s); @@ -5297,7 +5294,7 @@ static int readFileOrDirectory(const char *s, { if (exclDict==0 || exclDict->find(fi.absFilePath())==0) { - if (!fi.exists() || !fi.isReadable()) + if ((!fi.exists() || !fi.isReadable()) && errorIfNotExist) { err("Error: source %s is not a readable file or directory... skipping.\n",s); } @@ -5333,7 +5330,7 @@ static int readFileOrDirectory(const char *s, } else if (fi.isDir()) // readable dir totalSize+=readDir(&fi,fnList,fnDict,exclDict,patList, - exclPatList,resultList,resultDict); + exclPatList,resultList,resultDict,errorIfNotExist); } } return totalSize; @@ -5725,7 +5722,7 @@ int main(int argc,char **argv) while (s) { readFileOrDirectory(s,0,0,0,&Config::filePatternList, - 0,0,&excludeNameDict); + 0,0,&excludeNameDict,FALSE); s=Config::excludeSources.next(); } diff --git a/src/filedef.h b/src/filedef.h index dea9e73..fe3a761 100644 --- a/src/filedef.h +++ b/src/filedef.h @@ -124,7 +124,8 @@ class FileDef : public Definition //void setGenerateSource(bool b) { isSource=b; } bool generateSourceFile() const { return !isReference() && - (Config::sourceBrowseFlag || Config::verbatimHeaderFlag); + (Config::sourceBrowseFlag || Config::verbatimHeaderFlag) && + name().right(4)!=".doc" && name().right(4)!=".txt"; } void addIncludeDependency(FileDef *fd,const char *incName,bool local); diff --git a/src/index.cpp b/src/index.cpp index 383b41f..41f8636 100644 --- a/src/index.cpp +++ b/src/index.cpp @@ -631,23 +631,23 @@ void writeNamespaceIndex(OutputList &ol) if (nd->isLinkableInProject()) { ol.writeStartAnnoItem("namespace",nd->getOutputFileBase(),0,nd->name()); - ol.docify(" ("); if (!nd->briefDescription().isEmpty()) { + ol.docify(" ("); OutputList briefOutput(&ol); parseDoc(briefOutput, nd->getDefFileName(),nd->getDefLine(), nd->name(),0, abbreviate(nd->briefDescription(),nd->name())); ol+=briefOutput; + ol.docify(")"); } - else - { - ol.startEmphasis(); - parseText(ol,theTranslator->trNoDescriptionAvailable()); - ol.endEmphasis(); - } - ol.docify(")"); + //else + //{ + // ol.startEmphasis(); + // parseText(ol,theTranslator->trNoDescriptionAvailable()); + // ol.endEmphasis(); + //} ol.writeEndAnnoItem(nd->getOutputFileBase()); if (hasHtmlHelp) { @@ -707,23 +707,23 @@ void writeAnnotatedClassList(OutputList &ol) default: type="interface"; break; } ol.writeStartAnnoItem(type,cd->getOutputFileBase(),0,cd->displayName()); - ol.docify(" ("); if (!cd->briefDescription().isEmpty()) { + ol.docify(" ("); OutputList briefOutput(&ol); parseDoc(briefOutput, cd->getDefFileName(),cd->getDefLine(), cd->name(),0, abbreviate(cd->briefDescription(),cd->name())); ol+=briefOutput; + ol.docify(")"); } - else - { - ol.startEmphasis(); - parseText(ol,theTranslator->trNoDescriptionAvailable()); - ol.endEmphasis(); - } - ol.docify(")"); + //else + //{ + // ol.startEmphasis(); + // parseText(ol,theTranslator->trNoDescriptionAvailable()); + // ol.endEmphasis(); + //} ol.writeEndAnnoItem(cd->getOutputFileBase()); if (Config::generateHtml && Config::htmlHelpFlag) { diff --git a/src/memberdef.cpp b/src/memberdef.cpp index 7a20e12..662a8f3 100644 --- a/src/memberdef.cpp +++ b/src/memberdef.cpp @@ -189,6 +189,7 @@ static void writeTemplatePrefix(OutputList &ol,ArgumentList *al,bool br=TRUE) while (a) { ol.docify(a->type); + ol.docify(" "); ol.docify(a->name); if (a->defval.length()!=0) { diff --git a/src/scanner.l b/src/scanner.l index 5d8484e..abf1b26 100644 --- a/src/scanner.l +++ b/src/scanner.l @@ -1309,7 +1309,7 @@ TITLE [tT][iI][tT][lL][eE] if ( *yytext == ',' ) { int i=oldType.length(); - while (i>0 && (oldType[i-1]=='*' || oldType[i-1]==' ')) i--; + while (i>0 && (oldType[i-1]=='*' || oldType[i-1]=='&' || oldType[i-1]==' ')) i--; current->type = oldType.left(i); current->doc = oldDocs; } -- cgit v0.12